From 6c1617aac42ff2a7fdb6c4449cb7a64f8309bd1c Mon Sep 17 00:00:00 2001 From: KDR Date: Wed, 22 Jul 2026 15:13:43 -0700 Subject: [PATCH] feat: iconik connector, metadata collections, and source metadata search (sync spec v0.7.11) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Regenerated from spec v0.7.11 (cloudglue/cloudglue-api-spec#105) and bumped to 0.7.18. NOTE: the working branch was rebuilt on top of origin/main — the previous local checkout was based 9 commits back (missing the v0.7.9/v0.7.10 syncs); the regenerated cloudglue/sdk tree was carried over intact. Generated (cloudglue/sdk): - IconikSourceMetadata model; SourceMetadata oneOf and the connector/ source enums now cover iconik - New sync_file_source_metadata endpoint (POST /files/{file_id}/sync) - include_metadata query param on describe/transcribe get+list, collection media-description/rich-transcript listings, and segmentation describes; Describe/Transcribe responses gain a file object - SearchFilter.source_metadata and the doc_lexical search modality - 'metadata' collection_type Wrapper (cloudglue/client + package): - files.sync_source_metadata(file_id) for the new endpoint - include_metadata plumbed through describe/transcribe/segmentations/ collections methods (9 endpoints) - Search.create_filter gains source_metadata_filters (SearchFilterCriteria) - collection_type docstrings cover 'metadata' (and fix a stale enum) - IconikSourceMetadata re-exported at top level - data-connectors docstrings: per-connector matrices include iconik Verified against the live API: 14/14 checks across iconik listing/lookup/ title_search, metadata-collection create+index of grain+iconik URLs, source-metadata refresh (isinstance checks), doc_lexical + source_metadata-filtered search, and the include_metadata toggle. --- cloudglue/__init__.py | 2 + cloudglue/client/resources/collections.py | 27 +- cloudglue/client/resources/data_connectors.py | 20 +- cloudglue/client/resources/describe.py | 8 + cloudglue/client/resources/files.py | 28 ++ cloudglue/client/resources/search.py | 21 +- cloudglue/client/resources/segmentations.py | 4 + cloudglue/client/resources/transcribe.py | 19 +- cloudglue/sdk/README.md | 4 +- cloudglue/sdk/__init__.py | 3 +- cloudglue/sdk/api/chat_api.py | 2 +- cloudglue/sdk/api/collections_api.py | 70 ++++- cloudglue/sdk/api/data_connectors_api.py | 26 +- cloudglue/sdk/api/deep_search_api.py | 2 +- cloudglue/sdk/api/describe_api.py | 53 +++- cloudglue/sdk/api/extract_api.py | 2 +- cloudglue/sdk/api/face_detection_api.py | 2 +- cloudglue/sdk/api/face_match_api.py | 2 +- cloudglue/sdk/api/file_segments_api.py | 2 +- cloudglue/sdk/api/files_api.py | 269 +++++++++++++++++- cloudglue/sdk/api/frames_api.py | 2 +- cloudglue/sdk/api/response_api.py | 2 +- cloudglue/sdk/api/search_api.py | 2 +- cloudglue/sdk/api/segmentations_api.py | 19 +- cloudglue/sdk/api/segments_api.py | 2 +- cloudglue/sdk/api/share_api.py | 2 +- cloudglue/sdk/api/tags_api.py | 2 +- cloudglue/sdk/api/thumbnails_api.py | 2 +- cloudglue/sdk/api/transcribe_api.py | 38 ++- cloudglue/sdk/api/webhooks_api.py | 2 +- cloudglue/sdk/api_client.py | 2 +- cloudglue/sdk/configuration.py | 4 +- cloudglue/sdk/exceptions.py | 2 +- cloudglue/sdk/models/__init__.py | 3 +- cloudglue/sdk/models/add_collection_file.py | 8 +- .../models/add_you_tube_collection_file.py | 2 +- cloudglue/sdk/models/chapter.py | 2 +- cloudglue/sdk/models/chat_completion_list.py | 2 +- .../models/chat_completion_list_data_inner.py | 2 +- ...ompletion_list_data_inner_choices_inner.py | 2 +- .../chat_completion_list_data_inner_usage.py | 2 +- .../sdk/models/chat_completion_payload.py | 2 +- .../sdk/models/chat_completion_request.py | 2 +- .../models/chat_completion_request_filter.py | 2 +- ...at_completion_request_filter_file_inner.py | 2 +- ...ompletion_request_filter_metadata_inner.py | 2 +- ...pletion_request_filter_video_info_inner.py | 2 +- .../sdk/models/chat_completion_response.py | 2 +- .../chat_completion_response_choices_inner.py | 2 +- ..._response_choices_inner_citations_inner.py | 2 +- ...s_inner_citations_inner_all_of_end_time.py | 2 +- ...ons_inner_all_of_relevant_sources_inner.py | 2 +- ...inner_citations_inner_all_of_start_time.py | 2 +- .../models/chat_completion_response_usage.py | 2 +- cloudglue/sdk/models/chat_message.py | 2 +- cloudglue/sdk/models/collection.py | 6 +- cloudglue/sdk/models/collection_delete.py | 2 +- .../sdk/models/collection_describe_config.py | 2 +- .../sdk/models/collection_entities_list.py | 2 +- .../collection_entities_list_data_inner.py | 2 +- ...ollection_entities_list_data_inner_data.py | 2 +- ..._data_inner_data_segment_entities_inner.py | 2 +- .../sdk/models/collection_extract_config.py | 2 +- .../collection_face_detection_config.py | 2 +- ...etection_config_frame_extraction_config.py | 2 +- ..._frame_extraction_config_uniform_config.py | 2 +- ...face_detection_config_thumbnails_config.py | 2 +- cloudglue/sdk/models/collection_file.py | 2 +- .../sdk/models/collection_file_delete.py | 2 +- cloudglue/sdk/models/collection_file_list.py | 2 +- .../models/collection_file_segmentation.py | 2 +- cloudglue/sdk/models/collection_list.py | 2 +- .../collection_media_descriptions_list.py | 2 +- ...tion_media_descriptions_list_data_inner.py | 12 +- ...media_descriptions_list_data_inner_data.py | 2 +- .../collection_rich_transcripts_list.py | 2 +- ...ection_rich_transcripts_list_data_inner.py | 12 +- ...n_rich_transcripts_list_data_inner_data.py | 2 +- .../models/collection_transcribe_config.py | 2 +- cloudglue/sdk/models/collection_update.py | 2 +- .../sdk/models/create_deep_search_request.py | 4 +- ...eate_deep_search_request_knowledge_base.py | 2 +- .../create_file_frame_extraction_request.py | 2 +- .../create_file_segmentation_request.py | 2 +- .../sdk/models/create_response_request.py | 4 +- .../models/create_response_request_input.py | 2 +- .../models/create_shareable_asset_request.py | 2 +- .../sdk/models/create_video_tag_request.py | 2 +- cloudglue/sdk/models/data_connector.py | 6 +- cloudglue/sdk/models/data_connector_file.py | 2 +- .../sdk/models/data_connector_file_list.py | 2 +- .../models/data_connector_file_metadata.py | 2 +- cloudglue/sdk/models/data_connector_list.py | 2 +- cloudglue/sdk/models/deep_search.py | 2 +- cloudglue/sdk/models/deep_search_error.py | 2 +- .../sdk/models/deep_search_kb_collections.py | 2 +- .../sdk/models/deep_search_kb_default.py | 2 +- cloudglue/sdk/models/deep_search_kb_files.py | 2 +- cloudglue/sdk/models/deep_search_list.py | 2 +- cloudglue/sdk/models/deep_search_list_item.py | 2 +- cloudglue/sdk/models/deep_search_result.py | 2 +- .../models/deep_search_search_query_plan.py | 2 +- cloudglue/sdk/models/deep_search_usage.py | 2 +- .../sdk/models/default_segmentation_config.py | 2 +- .../sdk/models/delete_deep_search_result.py | 2 +- .../sdk/models/delete_describe200_response.py | 2 +- .../sdk/models/delete_extract200_response.py | 2 +- .../delete_face_detection200_response.py | 2 +- .../models/delete_face_match200_response.py | 2 +- .../delete_frame_extraction200_response.py | 2 +- .../sdk/models/delete_response_result.py | 2 +- .../models/delete_segmentation200_response.py | 2 +- .../sdk/models/delete_segments200_response.py | 2 +- .../delete_shareable_asset200_response.py | 2 +- .../sdk/models/delete_tag200_response.py | 2 +- cloudglue/sdk/models/describe.py | 12 +- cloudglue/sdk/models/describe_config.py | 2 +- cloudglue/sdk/models/describe_data.py | 2 +- ...cribe_data_all_of_segment_summary_inner.py | 2 +- .../sdk/models/describe_describe_config.py | 2 +- cloudglue/sdk/models/describe_list.py | 2 +- cloudglue/sdk/models/describe_output.py | 2 +- cloudglue/sdk/models/describe_output_part.py | 2 +- cloudglue/sdk/models/detected_face.py | 2 +- .../sdk/models/dropbox_source_metadata.py | 2 +- .../dropbox_source_metadata_media_info.py | 2 +- .../models/entity_backed_knowledge_config.py | 2 +- .../sdk/models/entity_collection_config.py | 2 +- cloudglue/sdk/models/error.py | 2 +- cloudglue/sdk/models/extract.py | 2 +- .../sdk/models/extract_chapters_inner.py | 2 +- cloudglue/sdk/models/extract_data.py | 2 +- .../extract_data_segment_entities_inner.py | 2 +- .../sdk/models/extract_extract_config.py | 2 +- cloudglue/sdk/models/extract_list.py | 2 +- cloudglue/sdk/models/extract_shots_inner.py | 2 +- cloudglue/sdk/models/face_bounding_box.py | 2 +- cloudglue/sdk/models/face_detection.py | 2 +- cloudglue/sdk/models/face_detection_data.py | 2 +- .../models/face_detection_list_response.py | 2 +- ...ace_detection_list_response_all_of_data.py | 2 +- .../sdk/models/face_detection_request.py | 2 +- cloudglue/sdk/models/face_group_result.py | 2 +- cloudglue/sdk/models/face_match.py | 2 +- cloudglue/sdk/models/face_match_data.py | 2 +- .../sdk/models/face_match_list_response.py | 2 +- .../face_match_list_response_all_of_data.py | 2 +- cloudglue/sdk/models/face_match_request.py | 2 +- cloudglue/sdk/models/face_match_result.py | 2 +- cloudglue/sdk/models/face_search_result.py | 2 +- cloudglue/sdk/models/file.py | 6 +- cloudglue/sdk/models/file_delete.py | 2 +- cloudglue/sdk/models/file_entities.py | 2 +- cloudglue/sdk/models/file_face_detections.py | 2 +- .../file_face_detections_faces_inner.py | 2 +- ...etections_faces_inner_face_bounding_box.py | 2 +- cloudglue/sdk/models/file_list.py | 2 +- cloudglue/sdk/models/file_media_info.py | 2 +- cloudglue/sdk/models/file_search_result.py | 2 +- cloudglue/sdk/models/file_segment.py | 2 +- .../sdk/models/file_segment_list_response.py | 2 +- .../sdk/models/file_segmentation_config.py | 2 +- cloudglue/sdk/models/file_update.py | 2 +- cloudglue/sdk/models/file_video_info.py | 2 +- cloudglue/sdk/models/frame_extraction.py | 2 +- .../sdk/models/frame_extraction_config.py | 2 +- cloudglue/sdk/models/frame_extraction_data.py | 2 +- .../frame_extraction_data_frames_inner.py | 2 +- cloudglue/sdk/models/frame_extraction_list.py | 2 +- .../frame_extraction_list_data_inner.py | 2 +- .../frame_extraction_thumbnails_config.py | 2 +- .../models/frame_extraction_uniform_config.py | 2 +- cloudglue/sdk/models/gong_source_metadata.py | 2 +- .../gong_source_metadata_parties_inner.py | 2 +- .../gong_source_metadata_topics_inner.py | 2 +- .../gong_source_metadata_trackers_inner.py | 2 +- .../models/google_drive_source_metadata.py | 2 +- ...ive_source_metadata_last_modifying_user.py | 2 +- ...ogle_drive_source_metadata_owners_inner.py | 2 +- ...ve_source_metadata_video_media_metadata.py | 2 +- cloudglue/sdk/models/grain_source_metadata.py | 2 +- ...n_source_metadata_ai_action_items_inner.py | 2 +- ...metadata_ai_action_items_inner_assignee.py | 2 +- .../grain_source_metadata_ai_summary.py | 2 +- .../grain_source_metadata_calendar_event.py | 2 +- .../models/grain_source_metadata_hubspot.py | 2 +- .../grain_source_metadata_meeting_type.py | 2 +- ...rain_source_metadata_participants_inner.py | 2 +- .../grain_source_metadata_teams_inner.py | 2 +- .../sdk/models/iconik_source_metadata.py | 176 ++++++++++++ cloudglue/sdk/models/keyframe_config.py | 2 +- .../sdk/models/knowledge_base_collections.py | 2 +- .../sdk/models/knowledge_base_default.py | 2 +- cloudglue/sdk/models/knowledge_base_files.py | 2 +- .../sdk/models/list_video_tags_response.py | 2 +- cloudglue/sdk/models/media_description.py | 12 +- cloudglue/sdk/models/narrative_config.py | 2 +- cloudglue/sdk/models/new_collection.py | 8 +- .../models/new_collection_describe_config.py | 2 +- .../models/new_collection_extract_config.py | 2 +- .../new_collection_face_detection_config.py | 2 +- .../new_collection_transcribe_config.py | 2 +- cloudglue/sdk/models/new_describe.py | 8 +- .../new_describe_all_of_participants.py | 2 +- cloudglue/sdk/models/new_extract.py | 2 +- cloudglue/sdk/models/new_segments.py | 2 +- cloudglue/sdk/models/new_transcribe.py | 8 +- cloudglue/sdk/models/pagination_response.py | 2 +- .../sdk/models/recall_source_metadata.py | 2 +- cloudglue/sdk/models/response.py | 2 +- cloudglue/sdk/models/response_annotation.py | 2 +- cloudglue/sdk/models/response_error.py | 2 +- .../sdk/models/response_input_content.py | 2 +- .../sdk/models/response_input_message.py | 2 +- .../sdk/models/response_knowledge_base.py | 2 +- cloudglue/sdk/models/response_list.py | 2 +- cloudglue/sdk/models/response_list_item.py | 2 +- .../sdk/models/response_output_content.py | 2 +- .../sdk/models/response_output_message.py | 2 +- .../sdk/models/response_tool_definition.py | 2 +- cloudglue/sdk/models/response_usage.py | 2 +- cloudglue/sdk/models/rich_transcript.py | 12 +- cloudglue/sdk/models/search_filter.py | 16 +- .../sdk/models/search_filter_criteria.py | 2 +- .../sdk/models/search_filter_file_inner.py | 2 +- .../models/search_filter_metadata_inner.py | 2 +- .../models/search_filter_video_info_inner.py | 2 +- cloudglue/sdk/models/search_request.py | 8 +- .../sdk/models/search_request_source_image.py | 2 +- cloudglue/sdk/models/search_response.py | 8 +- cloudglue/sdk/models/search_response_list.py | 2 +- .../models/search_response_list_data_inner.py | 8 +- .../models/search_response_results_inner.py | 2 +- cloudglue/sdk/models/search_tag_response.py | 2 +- cloudglue/sdk/models/segment.py | 2 +- cloudglue/sdk/models/segment_describe.py | 2 +- cloudglue/sdk/models/segment_describe_data.py | 2 +- .../sdk/models/segment_describe_json_data.py | 2 +- .../models/segment_describe_list_response.py | 2 +- .../models/segment_describe_markdown_data.py | 2 +- .../models/segment_describe_output_entry.py | 2 +- .../models/segment_describe_speech_entry.py | 2 +- cloudglue/sdk/models/segment_group_result.py | 2 +- cloudglue/sdk/models/segment_search_result.py | 2 +- .../segment_search_result_keyframes_inner.py | 2 +- .../segment_search_result_scene_text_inner.py | 2 +- .../segment_search_result_speech_inner.py | 2 +- ..._search_result_visual_description_inner.py | 2 +- cloudglue/sdk/models/segmentation.py | 2 +- cloudglue/sdk/models/segmentation_config.py | 2 +- cloudglue/sdk/models/segmentation_data.py | 2 +- .../segmentation_data_segments_inner.py | 2 +- cloudglue/sdk/models/segmentation_list.py | 2 +- .../sdk/models/segmentation_list_item.py | 2 +- .../sdk/models/segmentation_manual_config.py | 2 +- ...gmentation_manual_config_segments_inner.py | 2 +- .../segmentation_shot_detector_config.py | 2 +- .../sdk/models/segmentation_uniform_config.py | 2 +- cloudglue/sdk/models/segments.py | 2 +- cloudglue/sdk/models/segments_list.py | 2 +- cloudglue/sdk/models/segments_list_item.py | 2 +- cloudglue/sdk/models/shareable_asset.py | 2 +- .../models/shareable_asset_list_response.py | 2 +- cloudglue/sdk/models/shot.py | 2 +- cloudglue/sdk/models/shot_config.py | 2 +- cloudglue/sdk/models/source_image.py | 2 +- cloudglue/sdk/models/source_metadata.py | 34 ++- .../sdk/models/source_metadata_response.py | 2 +- cloudglue/sdk/models/speech_output_part.py | 2 +- .../sync_data_connector_file_request.py | 4 +- .../sdk/models/sync_file_from_url_request.py | 2 +- cloudglue/sdk/models/thumbnail.py | 2 +- cloudglue/sdk/models/thumbnail_list.py | 2 +- cloudglue/sdk/models/thumbnails_config.py | 2 +- cloudglue/sdk/models/transcribe.py | 12 +- cloudglue/sdk/models/transcribe_data.py | 2 +- ...cribe_data_all_of_segment_summary_inner.py | 2 +- cloudglue/sdk/models/transcribe_list.py | 2 +- .../models/transcribe_transcribe_config.py | 2 +- .../sdk/models/update_describe_request.py | 2 +- .../sdk/models/update_file_segment_request.py | 2 +- .../models/update_shareable_asset_request.py | 2 +- .../sdk/models/update_video_tag_request.py | 2 +- cloudglue/sdk/models/video_tag.py | 2 +- cloudglue/sdk/models/webhook.py | 2 +- .../sdk/models/webhook_create_request.py | 2 +- .../sdk/models/webhook_delete_response.py | 2 +- cloudglue/sdk/models/webhook_events.py | 2 +- cloudglue/sdk/models/webhook_list.py | 2 +- .../sdk/models/webhook_update_request.py | 2 +- cloudglue/sdk/models/word_timestamp.py | 2 +- cloudglue/sdk/models/zoom_source_metadata.py | 2 +- ...m_source_metadata_recording_files_inner.py | 2 +- cloudglue/sdk/rest.py | 2 +- pyproject.toml | 2 +- spec | 2 +- 296 files changed, 1146 insertions(+), 368 deletions(-) create mode 100644 cloudglue/sdk/models/iconik_source_metadata.py diff --git a/cloudglue/__init__.py b/cloudglue/__init__.py index ecd853a9..8ce32f0a 100644 --- a/cloudglue/__init__.py +++ b/cloudglue/__init__.py @@ -25,6 +25,7 @@ from cloudglue.sdk.models.google_drive_source_metadata import GoogleDriveSourceMetadata from cloudglue.sdk.models.dropbox_source_metadata import DropboxSourceMetadata from cloudglue.sdk.models.gong_source_metadata import GongSourceMetadata +from cloudglue.sdk.models.iconik_source_metadata import IconikSourceMetadata # Export key classes at the module level for clean imports __all__ = [ @@ -45,4 +46,5 @@ "GoogleDriveSourceMetadata", "DropboxSourceMetadata", "GongSourceMetadata", + "IconikSourceMetadata", ] diff --git a/cloudglue/client/resources/collections.py b/cloudglue/client/resources/collections.py index 62d4949c..e4e7e21a 100644 --- a/cloudglue/client/resources/collections.py +++ b/cloudglue/client/resources/collections.py @@ -41,7 +41,11 @@ def create( """Create a new collection. Args: - collection_type: Type of collection ('entities', 'rich-transcripts', 'media-descriptions', 'face-analysis') + collection_type: Type of collection ('entities', 'rich-transcripts', 'media-descriptions', + 'face-analysis', 'metadata'). 'metadata' collections index connector source metadata + and user metadata into file-level search documents WITHOUT downloading or processing + the media — free to index, no processing configs, supports google-drive, dropbox, + zoom, gong, recall, grain, and iconik URLs. name: Name of the collection (must be unique) description: Optional description of the collection extract_config: Optional configuration for extraction processing @@ -117,7 +121,8 @@ def list( offset: Number of collections to skip order: Field to sort by ('created_at'). Defaults to 'created_at' sort: Sort direction ('asc', 'desc'). Defaults to 'desc' - collection_type: Filter by collection type ('video', 'audio', 'image', 'text') + collection_type: Filter by collection type ('entities', 'rich-transcripts', + 'media-descriptions', 'face-analysis', 'metadata') Returns: The typed CollectionList object with collections and metadata @@ -415,6 +420,7 @@ def get_rich_transcripts( start_time_seconds: Optional[float] = None, end_time_seconds: Optional[float] = None, response_format: Optional[str] = None, + include_metadata: Optional[bool] = None, ): """Get the rich transcript of a video in a collection. @@ -424,6 +430,8 @@ def get_rich_transcripts( start_time_seconds: The start time in seconds to filter the rich transcript end_time_seconds: The end time in seconds to filter the rich transcript response_format: The format of the response, one of 'json' or 'markdown' (json by default) + include_metadata: When true, include the file's `metadata` and `source_metadata` + on the response's `file` object. Returns: The typed RichTranscript object with video rich transcript data @@ -434,7 +442,7 @@ def get_rich_transcripts( try: # Use the standard method to get a properly typed object response = self.api.get_transcripts( - collection_id=collection_id, file_id=file_id, start_time_seconds=start_time_seconds, end_time_seconds=end_time_seconds, response_format=response_format + collection_id=collection_id, file_id=file_id, start_time_seconds=start_time_seconds, end_time_seconds=end_time_seconds, response_format=response_format, include_metadata=include_metadata ) return response except ApiException as e: @@ -543,6 +551,7 @@ def list_rich_transcripts( added_before: Optional[str] = None, added_after: Optional[str] = None, response_format: Optional[str] = None, + include_metadata: Optional[bool] = None, ): """List all rich transcription data for files in a collection. @@ -557,6 +566,8 @@ def list_rich_transcripts( added_before: Filter files added before a specific date (YYYY-MM-DD format), in UTC timezone added_after: Filter files added after a specific date (YYYY-MM-DD format), in UTC timezone response_format: Format for the response + include_metadata: When true, include each file's `metadata` and `source_metadata` + on the `file` object of each entry. Returns: Collection rich transcripts list response @@ -574,6 +585,7 @@ def list_rich_transcripts( added_before=added_before, added_after=added_after, response_format=response_format, + include_metadata=include_metadata, ) return response except ApiException as e: @@ -594,6 +606,7 @@ def get_media_descriptions( include_word_timestamps: Optional[bool] = None, include_chapters: Optional[bool] = None, include_shots: Optional[bool] = None, + include_metadata: Optional[bool] = None, ): """Get the media descriptions of a video in a collection. @@ -607,6 +620,8 @@ def get_media_descriptions( include_word_timestamps: When true, include word-level timestamps on speech entries. Not available for YouTube sources. Only applies when response_format=json. include_chapters: When true, include narrative chapters in the response (when segmentation strategy is 'narrative') include_shots: When true, include shot boundaries in the response (when segmentation strategy is 'shot-detector') + include_metadata: When true, include the file's `metadata` and `source_metadata` + on the response's `file` object. Returns: The typed MediaDescription object with video media description data @@ -617,7 +632,7 @@ def get_media_descriptions( try: # Use the standard method to get a properly typed object response = self.api.get_media_descriptions( - collection_id=collection_id, file_id=file_id, start_time_seconds=start_time_seconds, end_time_seconds=end_time_seconds, response_format=response_format, include_thumbnails=include_thumbnails, include_word_timestamps=include_word_timestamps, include_chapters=include_chapters, include_shots=include_shots + collection_id=collection_id, file_id=file_id, start_time_seconds=start_time_seconds, end_time_seconds=end_time_seconds, response_format=response_format, include_thumbnails=include_thumbnails, include_word_timestamps=include_word_timestamps, include_chapters=include_chapters, include_shots=include_shots, include_metadata=include_metadata ) return response except ApiException as e: @@ -635,6 +650,7 @@ def list_media_descriptions( added_before: Optional[str] = None, added_after: Optional[str] = None, response_format: Optional[str] = None, + include_metadata: Optional[bool] = None, ): """List all media description data for files in a collection. @@ -649,6 +665,8 @@ def list_media_descriptions( added_before: Filter files added before a specific date (YYYY-MM-DD format), in UTC timezone added_after: Filter files added after a specific date (YYYY-MM-DD format), in UTC timezone response_format: Format for the response + include_metadata: When true, include each file's `metadata` and `source_metadata` + on the `file` object of each entry. Returns: Collection media descriptions list response @@ -666,6 +684,7 @@ def list_media_descriptions( added_before=added_before, added_after=added_after, response_format=response_format, + include_metadata=include_metadata, ) return response except ApiException as e: diff --git a/cloudglue/client/resources/data_connectors.py b/cloudglue/client/resources/data_connectors.py index 89bfddeb..bcd2b3d8 100644 --- a/cloudglue/client/resources/data_connectors.py +++ b/cloudglue/client/resources/data_connectors.py @@ -72,8 +72,8 @@ def list_files( filter parameters they were issued under. var_from: Start date for filtering (YYYY-MM-DD, inclusive UTC day bound). Supported by Grain, Zoom, Recall, Google Drive, - Dropbox, and Gong (Zoom and Gong default to a 6-month lookback - when omitted); ignored for S3/GCS. + Dropbox, Gong, and Iconik (Zoom and Gong default to a 6-month + lookback when omitted); ignored for S3/GCS. to: End date for filtering (YYYY-MM-DD). Same per-connector support as `var_from`. folder_id: Google Drive folder ID to list contents of. Applies to Google Drive connectors only. @@ -81,8 +81,9 @@ def list_files( bucket: Bucket name. Required for S3 and GCS connectors. prefix: Key prefix filter. Applies to S3 and GCS connectors only. title_search: Case-insensitive title filter. Supported by Grain, - Zoom, Google Drive, Dropbox, and Gong; ignored for Recall (no - title is available when listing) and S3/GCS. + Zoom, Google Drive, Dropbox, Gong, and Iconik (full-text title + search); ignored for Recall (no title is available when + listing) and S3/GCS. team: Team filter. Applies to Grain connectors only. See the [Grain documentation](https://developers.grain.com/#recording-filter) for more details. meeting_type: Meeting type filter. Applies to Grain connectors only. See the [Grain documentation](https://developers.grain.com/#recording-filter) for more details. @@ -118,8 +119,8 @@ def get_source_metadata(self, connector_id: str, url: str): Returns provider-specific metadata (recording/call/file details) for a single file in a connected data source, without importing it. - Supported for Grain, Zoom, Recall, Google Drive, Dropbox, and Gong - connectors. S3/GCS raise a CloudglueError with status 501 (plain + Supported for Grain, Zoom, Recall, Google Drive, Dropbox, Gong, and + Iconik connectors. S3/GCS raise a CloudglueError with status 501 (plain object stores have no richer metadata); a 502 is raised when the upstream provider's response can't be validated. @@ -151,12 +152,13 @@ def sync_file(self, connector_id: str, url: str): Imports the file at the given connector URI, returning the resulting Cloudglue file (creating it if it does not already exist). Idempotent: syncing the same URI returns the existing file. For Grain, Zoom, - Recall, Google Drive, Dropbox, and Gong the file's `source_metadata` - is populated from the provider. + Recall, Google Drive, Dropbox, Gong, and Iconik the file's + `source_metadata` is populated from the provider. Besides the connector URIs emitted by `list_files()` (`s3://`, `gs://`, `gdrive://file/`, `dropbox://`, `zoom://`, - `grain://recording/`, ...), the server resolves these share links + `grain://recording/`, `iconik://asset/`, ...), the server + resolves these share links via the connector's OAuth: - Google Drive share links (`drive.google.com/file/d/`, `/open?id=`) diff --git a/cloudglue/client/resources/describe.py b/cloudglue/client/resources/describe.py index 5a27b7d8..53c5a8ba 100644 --- a/cloudglue/client/resources/describe.py +++ b/cloudglue/client/resources/describe.py @@ -121,6 +121,7 @@ def get( include_word_timestamps: Optional[bool] = None, include_chapters: Optional[bool] = None, include_shots: Optional[bool] = None, + include_metadata: Optional[bool] = None, ): """Get the status and data of a media description job. @@ -137,6 +138,8 @@ def get( include_word_timestamps: When true, include word-level timestamps on speech entries. Not available for YouTube sources. Only applies when response_format=json. include_chapters: When true, include narrative chapters in the response (when segmentation strategy is 'narrative') include_shots: When true, include shot boundaries in the response (when segmentation strategy is 'shot-detector') + include_metadata: When true, include the file's `metadata` and `source_metadata` + on the response's `file` object. Returns: The typed Describe job object with current status and data (if completed). @@ -156,6 +159,7 @@ def get( include_word_timestamps=include_word_timestamps, include_chapters=include_chapters, include_shots=include_shots, + include_metadata=include_metadata, ) return response except ApiException as e: @@ -173,6 +177,7 @@ def list( response_format: Optional[str] = None, url: Optional[str] = None, include_data: Optional[bool] = None, + include_metadata: Optional[bool] = None, ): """List all media description jobs with optional filtering. @@ -186,6 +191,8 @@ def list( url: Filter description jobs by the input URL used for description. include_data: Include the data in the response. If false, the response will only include the job information and not the data to minimize the response size. + include_metadata: When true, include each file's `metadata` and `source_metadata` + on the `file` object of each job. Returns: The typed DescribeList object with array of describe jobs. @@ -204,6 +211,7 @@ def list( response_format=response_format, url=url, include_data=include_data, + include_metadata=include_metadata, ) return response except ApiException as e: diff --git a/cloudglue/client/resources/files.py b/cloudglue/client/resources/files.py index 25e791ab..e2c378b4 100644 --- a/cloudglue/client/resources/files.py +++ b/cloudglue/client/resources/files.py @@ -423,6 +423,34 @@ def get(self, file_id: str): except Exception as e: raise CloudglueError(str(e)) + def sync_source_metadata(self, file_id: str): + """Refresh a connector file's source metadata. + + Re-fetches the file's `source_metadata` live from its data connector + (google-drive, dropbox, zoom, gong, recall, grain, or iconik) and + updates the stored value. If the file belongs to any metadata + collections, their search documents are re-indexed with the refreshed + metadata. Works for both metadata-only and fully ingested connector + files. Free — no media is downloaded or processed. + + Args: + file_id: The ID of the connector-backed file to refresh. + + Returns: + The file object with refreshed `source_metadata`. + + Raises: + CloudglueError: If the file has no connector URI, the source does + not support metadata lookup, or the account has no connector + of that type (400), or the file is not found (404). + """ + try: + return self.api.sync_file_source_metadata(file_id=file_id) + except ApiException as e: + raise CloudglueError(str(e), e.status, e.data, e.headers, e.reason) + except Exception as e: + raise CloudglueError(str(e)) + def delete(self, file_id: str): """Delete a file. diff --git a/cloudglue/client/resources/search.py b/cloudglue/client/resources/search.py index c158f17a..6ba128bd 100644 --- a/cloudglue/client/resources/search.py +++ b/cloudglue/client/resources/search.py @@ -7,6 +7,7 @@ from cloudglue.sdk.models.search_request import SearchRequest from cloudglue.sdk.models.search_filter import SearchFilter +from cloudglue.sdk.models.search_filter_criteria import SearchFilterCriteria from cloudglue.sdk.models.search_filter_metadata_inner import SearchFilterMetadataInner from cloudglue.sdk.models.search_filter_file_inner import SearchFilterFileInner from cloudglue.sdk.models.search_filter_video_info_inner import SearchFilterVideoInfoInner @@ -117,6 +118,7 @@ def create_filter( metadata_filters: Optional[List[Dict[str, Any]]] = None, video_info_filters: Optional[List[Dict[str, Any]]] = None, file_filters: Optional[List[Dict[str, Any]]] = None, + source_metadata_filters: Optional[List[Dict[str, Any]]] = None, ) -> SearchFilter: """Create a search filter using simple dictionaries. @@ -133,7 +135,15 @@ def create_filter( video_info_filters: List of video info filter dictionaries. Same structure as metadata_filters, plus optional 'scope' ('file' or 'segment'). Defaults to 'file'. file_filters: List of file filter dictionaries (same structure, without scope) - + source_metadata_filters: List of connector source-metadata filter dictionaries + (same structure, without scope — file scope only). Paths address the + connector-provided `source_metadata` object, e.g. 'topic' (zoom), + 'title' (gong/grain/iconik), 'participants.name' (grain), + 'parties.email' (gong), 'name' (google-drive/dropbox), + 'media_type' (iconik), or 'iconik_metadata.' (iconik + custom metadata-view fields, use ContainsAny for list fields). + Paths through arrays of objects match when ANY element matches. + Returns: SearchFilter object @@ -166,11 +176,18 @@ def create_filter( file_objs = [ SearchFilterFileInner(**f) for f in file_filters ] - + + source_metadata_objs = None + if source_metadata_filters: + source_metadata_objs = [ + SearchFilterCriteria(**f) for f in source_metadata_filters + ] + return SearchFilter( metadata=metadata_objs, video_info=video_info_objs, file=file_objs, + source_metadata=source_metadata_objs, ) def search( diff --git a/cloudglue/client/resources/segmentations.py b/cloudglue/client/resources/segmentations.py index fa082742..793e1515 100644 --- a/cloudglue/client/resources/segmentations.py +++ b/cloudglue/client/resources/segmentations.py @@ -392,6 +392,7 @@ def list_describes( response_format: Optional[str] = None, limit: Optional[int] = None, offset: Optional[int] = None, + include_metadata: Optional[bool] = None, ): """List describe jobs for a segmentation. @@ -404,6 +405,8 @@ def list_describes( response_format: Output format for the describe data ('json' or 'markdown') limit: Number of items to return (max 100) offset: Offset from the start of the list + include_metadata: When true, include each file's `metadata` and `source_metadata` + on the `file` object of each job. Returns: DescribeList containing describe jobs for the segmentation @@ -418,6 +421,7 @@ def list_describes( response_format=response_format, limit=limit, offset=offset, + include_metadata=include_metadata, ) return response except ApiException as e: diff --git a/cloudglue/client/resources/transcribe.py b/cloudglue/client/resources/transcribe.py index 1bdeeb31..d0468990 100644 --- a/cloudglue/client/resources/transcribe.py +++ b/cloudglue/client/resources/transcribe.py @@ -86,12 +86,19 @@ def create( raise CloudglueError(str(e)) # TODO (kdr): asyncio version of this - def get(self, job_id: str, response_format: Optional[str] = None): + def get( + self, + job_id: str, + response_format: Optional[str] = None, + include_metadata: Optional[bool] = None, + ): """Get the current state of a transcribe job. Args: job_id: The unique identifier of the transcribe job. response_format: The format of the response, one of 'json' or 'markdown' (json by default) + include_metadata: When true, include the file's `metadata` and `source_metadata` + on the response's `file` object. Returns: The typed Transcribe job object with status and data. @@ -101,7 +108,11 @@ def get(self, job_id: str, response_format: Optional[str] = None): """ try: # Use the standard method to get a properly typed object - response = self.api.get_transcribe(job_id=job_id, response_format=response_format) + response = self.api.get_transcribe( + job_id=job_id, + response_format=response_format, + include_metadata=include_metadata, + ) return response except ApiException as e: raise CloudglueError(str(e), e.status, e.data, e.headers, e.reason) @@ -117,6 +128,7 @@ def list( created_after: Optional[str] = None, response_format: Optional[str] = None, url: Optional[str] = None, + include_metadata: Optional[bool] = None, ): """List transcribe jobs. @@ -128,6 +140,8 @@ def list( created_after: Filter by jobs created after a specific date, YYYY-MM-DD format in UTC. response_format: The format of the response, one of 'json' or 'markdown' (json by default) url: Filter by jobs with a specific URL. + include_metadata: When true, include each file's `metadata` and `source_metadata` + on the `file` object of each job. Returns: A list of transcribe jobs. @@ -144,6 +158,7 @@ def list( created_after=created_after, response_format=response_format, url=url, + include_metadata=include_metadata, ) except ApiException as e: raise CloudglueError(str(e), e.status, e.data, e.headers, e.reason) diff --git a/cloudglue/sdk/README.md b/cloudglue/sdk/README.md index c7565cc3..6b355104 100644 --- a/cloudglue/sdk/README.md +++ b/cloudglue/sdk/README.md @@ -3,7 +3,7 @@ API for Cloudglue This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: -- API version: 0.7.10 +- API version: 0.7.11 - Package version: 1.0.0 - Generator version: 7.12.0 - Build package: org.openapitools.codegen.languages.PythonClientCodegen @@ -165,6 +165,7 @@ Class | Method | HTTP request | Description *FilesApi* | [**list_file_tags**](docs/FilesApi.md#list_file_tags) | **GET** /files/{file_id}/tags | List tags for a file *FilesApi* | [**list_files**](docs/FilesApi.md#list_files) | **GET** /files | List files that have been uploaded to Cloudglue *FilesApi* | [**sync_file_from_url**](docs/FilesApi.md#sync_file_from_url) | **POST** /files/sync | Sync a public URL into a file +*FilesApi* | [**sync_file_source_metadata**](docs/FilesApi.md#sync_file_source_metadata) | **POST** /files/{file_id}/sync | Refresh a file's connector source metadata *FilesApi* | [**update_file**](docs/FilesApi.md#update_file) | **PUT** /files/{file_id} | Update a file *FilesApi* | [**update_file_segment**](docs/FilesApi.md#update_file_segment) | **PUT** /files/{file_id}/segments/{segment_id} | Update a file segment *FilesApi* | [**upload_file**](docs/FilesApi.md#upload_file) | **POST** /files | Upload a video, audio, or image file that can be used with Cloudglue services @@ -367,6 +368,7 @@ Class | Method | HTTP request | Description - [GrainSourceMetadataMeetingType](docs/GrainSourceMetadataMeetingType.md) - [GrainSourceMetadataParticipantsInner](docs/GrainSourceMetadataParticipantsInner.md) - [GrainSourceMetadataTeamsInner](docs/GrainSourceMetadataTeamsInner.md) + - [IconikSourceMetadata](docs/IconikSourceMetadata.md) - [KeyframeConfig](docs/KeyframeConfig.md) - [KnowledgeBaseCollections](docs/KnowledgeBaseCollections.md) - [KnowledgeBaseDefault](docs/KnowledgeBaseDefault.md) diff --git a/cloudglue/sdk/__init__.py b/cloudglue/sdk/__init__.py index d1b89c22..05611313 100644 --- a/cloudglue/sdk/__init__.py +++ b/cloudglue/sdk/__init__.py @@ -7,7 +7,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -205,6 +205,7 @@ from cloudglue.sdk.models.grain_source_metadata_meeting_type import GrainSourceMetadataMeetingType from cloudglue.sdk.models.grain_source_metadata_participants_inner import GrainSourceMetadataParticipantsInner from cloudglue.sdk.models.grain_source_metadata_teams_inner import GrainSourceMetadataTeamsInner +from cloudglue.sdk.models.iconik_source_metadata import IconikSourceMetadata from cloudglue.sdk.models.keyframe_config import KeyframeConfig from cloudglue.sdk.models.knowledge_base_collections import KnowledgeBaseCollections from cloudglue.sdk.models.knowledge_base_default import KnowledgeBaseDefault diff --git a/cloudglue/sdk/api/chat_api.py b/cloudglue/sdk/api/chat_api.py index 79f1a90c..b4d0e9c9 100644 --- a/cloudglue/sdk/api/chat_api.py +++ b/cloudglue/sdk/api/chat_api.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/api/collections_api.py b/cloudglue/sdk/api/collections_api.py index 905cf9cc..fff2f87a 100644 --- a/cloudglue/sdk/api/collections_api.py +++ b/cloudglue/sdk/api/collections_api.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -2760,6 +2760,7 @@ def get_media_descriptions( include_word_timestamps: Annotated[Optional[StrictBool], Field(description="When true, include a words array on each speech entry with word-level start_time and end_time. Not available for YouTube sources. Only applies when response_format=json.")] = None, include_chapters: Annotated[Optional[StrictBool], Field(description="Include narrative chapters in the response (when segmentation strategy is 'narrative')")] = None, include_shots: Annotated[Optional[StrictBool], Field(description="Include shot boundaries in the response (when segmentation strategy is 'shot-detector')")] = None, + include_metadata: Annotated[Optional[StrictBool], Field(description="Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2797,6 +2798,8 @@ def get_media_descriptions( :type include_chapters: bool :param include_shots: Include shot boundaries in the response (when segmentation strategy is 'shot-detector') :type include_shots: bool + :param include_metadata: Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`. + :type include_metadata: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -2830,6 +2833,7 @@ def get_media_descriptions( include_word_timestamps=include_word_timestamps, include_chapters=include_chapters, include_shots=include_shots, + include_metadata=include_metadata, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2866,6 +2870,7 @@ def get_media_descriptions_with_http_info( include_word_timestamps: Annotated[Optional[StrictBool], Field(description="When true, include a words array on each speech entry with word-level start_time and end_time. Not available for YouTube sources. Only applies when response_format=json.")] = None, include_chapters: Annotated[Optional[StrictBool], Field(description="Include narrative chapters in the response (when segmentation strategy is 'narrative')")] = None, include_shots: Annotated[Optional[StrictBool], Field(description="Include shot boundaries in the response (when segmentation strategy is 'shot-detector')")] = None, + include_metadata: Annotated[Optional[StrictBool], Field(description="Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2903,6 +2908,8 @@ def get_media_descriptions_with_http_info( :type include_chapters: bool :param include_shots: Include shot boundaries in the response (when segmentation strategy is 'shot-detector') :type include_shots: bool + :param include_metadata: Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`. + :type include_metadata: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -2936,6 +2943,7 @@ def get_media_descriptions_with_http_info( include_word_timestamps=include_word_timestamps, include_chapters=include_chapters, include_shots=include_shots, + include_metadata=include_metadata, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2972,6 +2980,7 @@ def get_media_descriptions_without_preload_content( include_word_timestamps: Annotated[Optional[StrictBool], Field(description="When true, include a words array on each speech entry with word-level start_time and end_time. Not available for YouTube sources. Only applies when response_format=json.")] = None, include_chapters: Annotated[Optional[StrictBool], Field(description="Include narrative chapters in the response (when segmentation strategy is 'narrative')")] = None, include_shots: Annotated[Optional[StrictBool], Field(description="Include shot boundaries in the response (when segmentation strategy is 'shot-detector')")] = None, + include_metadata: Annotated[Optional[StrictBool], Field(description="Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3009,6 +3018,8 @@ def get_media_descriptions_without_preload_content( :type include_chapters: bool :param include_shots: Include shot boundaries in the response (when segmentation strategy is 'shot-detector') :type include_shots: bool + :param include_metadata: Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`. + :type include_metadata: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -3042,6 +3053,7 @@ def get_media_descriptions_without_preload_content( include_word_timestamps=include_word_timestamps, include_chapters=include_chapters, include_shots=include_shots, + include_metadata=include_metadata, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -3073,6 +3085,7 @@ def _get_media_descriptions_serialize( include_word_timestamps, include_chapters, include_shots, + include_metadata, _request_auth, _content_type, _headers, @@ -3132,6 +3145,10 @@ def _get_media_descriptions_serialize( _query_params.append(('include_shots', include_shots)) + if include_metadata is not None: + + _query_params.append(('include_metadata', include_metadata)) + # process the header parameters # process the form parameters # process the body parameter @@ -3179,6 +3196,7 @@ def get_transcripts( end_time_seconds: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="End time in seconds to filter out results by")] = None, modalities: Optional[List[StrictStr]] = None, include_word_timestamps: Annotated[Optional[StrictBool], Field(description="When true, include a words array on each speech entry with word-level start_time and end_time. Not available for YouTube sources. Only applies when response_format=json.")] = None, + include_metadata: Annotated[Optional[StrictBool], Field(description="Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3210,6 +3228,8 @@ def get_transcripts( :type modalities: List[str] :param include_word_timestamps: When true, include a words array on each speech entry with word-level start_time and end_time. Not available for YouTube sources. Only applies when response_format=json. :type include_word_timestamps: bool + :param include_metadata: Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`. + :type include_metadata: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -3240,6 +3260,7 @@ def get_transcripts( end_time_seconds=end_time_seconds, modalities=modalities, include_word_timestamps=include_word_timestamps, + include_metadata=include_metadata, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -3273,6 +3294,7 @@ def get_transcripts_with_http_info( end_time_seconds: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="End time in seconds to filter out results by")] = None, modalities: Optional[List[StrictStr]] = None, include_word_timestamps: Annotated[Optional[StrictBool], Field(description="When true, include a words array on each speech entry with word-level start_time and end_time. Not available for YouTube sources. Only applies when response_format=json.")] = None, + include_metadata: Annotated[Optional[StrictBool], Field(description="Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3304,6 +3326,8 @@ def get_transcripts_with_http_info( :type modalities: List[str] :param include_word_timestamps: When true, include a words array on each speech entry with word-level start_time and end_time. Not available for YouTube sources. Only applies when response_format=json. :type include_word_timestamps: bool + :param include_metadata: Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`. + :type include_metadata: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -3334,6 +3358,7 @@ def get_transcripts_with_http_info( end_time_seconds=end_time_seconds, modalities=modalities, include_word_timestamps=include_word_timestamps, + include_metadata=include_metadata, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -3367,6 +3392,7 @@ def get_transcripts_without_preload_content( end_time_seconds: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="End time in seconds to filter out results by")] = None, modalities: Optional[List[StrictStr]] = None, include_word_timestamps: Annotated[Optional[StrictBool], Field(description="When true, include a words array on each speech entry with word-level start_time and end_time. Not available for YouTube sources. Only applies when response_format=json.")] = None, + include_metadata: Annotated[Optional[StrictBool], Field(description="Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3398,6 +3424,8 @@ def get_transcripts_without_preload_content( :type modalities: List[str] :param include_word_timestamps: When true, include a words array on each speech entry with word-level start_time and end_time. Not available for YouTube sources. Only applies when response_format=json. :type include_word_timestamps: bool + :param include_metadata: Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`. + :type include_metadata: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -3428,6 +3456,7 @@ def get_transcripts_without_preload_content( end_time_seconds=end_time_seconds, modalities=modalities, include_word_timestamps=include_word_timestamps, + include_metadata=include_metadata, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -3456,6 +3485,7 @@ def _get_transcripts_serialize( end_time_seconds, modalities, include_word_timestamps, + include_metadata, _request_auth, _content_type, _headers, @@ -3503,6 +3533,10 @@ def _get_transcripts_serialize( _query_params.append(('include_word_timestamps', include_word_timestamps)) + if include_metadata is not None: + + _query_params.append(('include_metadata', include_metadata)) + # process the header parameters # process the form parameters # process the body parameter @@ -4224,6 +4258,7 @@ def list_collection_media_descriptions( added_after: Annotated[Optional[date], Field(description="Filter files added after a specific date (YYYY-MM-DD format), in UTC timezone")] = None, response_format: Annotated[Optional[StrictStr], Field(description="Format for the response")] = None, modalities: Optional[List[StrictStr]] = None, + include_metadata: Annotated[Optional[StrictBool], Field(description="Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4259,6 +4294,8 @@ def list_collection_media_descriptions( :type response_format: str :param modalities: :type modalities: List[str] + :param include_metadata: Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`. + :type include_metadata: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -4291,6 +4328,7 @@ def list_collection_media_descriptions( added_after=added_after, response_format=response_format, modalities=modalities, + include_metadata=include_metadata, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -4326,6 +4364,7 @@ def list_collection_media_descriptions_with_http_info( added_after: Annotated[Optional[date], Field(description="Filter files added after a specific date (YYYY-MM-DD format), in UTC timezone")] = None, response_format: Annotated[Optional[StrictStr], Field(description="Format for the response")] = None, modalities: Optional[List[StrictStr]] = None, + include_metadata: Annotated[Optional[StrictBool], Field(description="Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4361,6 +4400,8 @@ def list_collection_media_descriptions_with_http_info( :type response_format: str :param modalities: :type modalities: List[str] + :param include_metadata: Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`. + :type include_metadata: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -4393,6 +4434,7 @@ def list_collection_media_descriptions_with_http_info( added_after=added_after, response_format=response_format, modalities=modalities, + include_metadata=include_metadata, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -4428,6 +4470,7 @@ def list_collection_media_descriptions_without_preload_content( added_after: Annotated[Optional[date], Field(description="Filter files added after a specific date (YYYY-MM-DD format), in UTC timezone")] = None, response_format: Annotated[Optional[StrictStr], Field(description="Format for the response")] = None, modalities: Optional[List[StrictStr]] = None, + include_metadata: Annotated[Optional[StrictBool], Field(description="Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4463,6 +4506,8 @@ def list_collection_media_descriptions_without_preload_content( :type response_format: str :param modalities: :type modalities: List[str] + :param include_metadata: Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`. + :type include_metadata: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -4495,6 +4540,7 @@ def list_collection_media_descriptions_without_preload_content( added_after=added_after, response_format=response_format, modalities=modalities, + include_metadata=include_metadata, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -4525,6 +4571,7 @@ def _list_collection_media_descriptions_serialize( added_after, response_format, modalities, + include_metadata, _request_auth, _content_type, _headers, @@ -4600,6 +4647,10 @@ def _list_collection_media_descriptions_serialize( _query_params.append(('modalities', modalities)) + if include_metadata is not None: + + _query_params.append(('include_metadata', include_metadata)) + # process the header parameters # process the form parameters # process the body parameter @@ -4649,6 +4700,7 @@ def list_collection_rich_transcripts( added_after: Annotated[Optional[date], Field(description="Filter files added after a specific date (YYYY-MM-DD format), in UTC timezone")] = None, response_format: Annotated[Optional[StrictStr], Field(description="Format for the response")] = None, modalities: Optional[List[StrictStr]] = None, + include_metadata: Annotated[Optional[StrictBool], Field(description="Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4684,6 +4736,8 @@ def list_collection_rich_transcripts( :type response_format: str :param modalities: :type modalities: List[str] + :param include_metadata: Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`. + :type include_metadata: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -4716,6 +4770,7 @@ def list_collection_rich_transcripts( added_after=added_after, response_format=response_format, modalities=modalities, + include_metadata=include_metadata, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -4751,6 +4806,7 @@ def list_collection_rich_transcripts_with_http_info( added_after: Annotated[Optional[date], Field(description="Filter files added after a specific date (YYYY-MM-DD format), in UTC timezone")] = None, response_format: Annotated[Optional[StrictStr], Field(description="Format for the response")] = None, modalities: Optional[List[StrictStr]] = None, + include_metadata: Annotated[Optional[StrictBool], Field(description="Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4786,6 +4842,8 @@ def list_collection_rich_transcripts_with_http_info( :type response_format: str :param modalities: :type modalities: List[str] + :param include_metadata: Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`. + :type include_metadata: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -4818,6 +4876,7 @@ def list_collection_rich_transcripts_with_http_info( added_after=added_after, response_format=response_format, modalities=modalities, + include_metadata=include_metadata, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -4853,6 +4912,7 @@ def list_collection_rich_transcripts_without_preload_content( added_after: Annotated[Optional[date], Field(description="Filter files added after a specific date (YYYY-MM-DD format), in UTC timezone")] = None, response_format: Annotated[Optional[StrictStr], Field(description="Format for the response")] = None, modalities: Optional[List[StrictStr]] = None, + include_metadata: Annotated[Optional[StrictBool], Field(description="Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4888,6 +4948,8 @@ def list_collection_rich_transcripts_without_preload_content( :type response_format: str :param modalities: :type modalities: List[str] + :param include_metadata: Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`. + :type include_metadata: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -4920,6 +4982,7 @@ def list_collection_rich_transcripts_without_preload_content( added_after=added_after, response_format=response_format, modalities=modalities, + include_metadata=include_metadata, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -4950,6 +5013,7 @@ def _list_collection_rich_transcripts_serialize( added_after, response_format, modalities, + include_metadata, _request_auth, _content_type, _headers, @@ -5025,6 +5089,10 @@ def _list_collection_rich_transcripts_serialize( _query_params.append(('modalities', modalities)) + if include_metadata is not None: + + _query_params.append(('include_metadata', include_metadata)) + # process the header parameters # process the form parameters # process the body parameter diff --git a/cloudglue/sdk/api/data_connectors_api.py b/cloudglue/sdk/api/data_connectors_api.py index b15edb96..6355680e 100644 --- a/cloudglue/sdk/api/data_connectors_api.py +++ b/cloudglue/sdk/api/data_connectors_api.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -340,13 +340,13 @@ def list_data_connector_files( id: Annotated[StrictStr, Field(description="The ID of the data connector")], limit: Annotated[Optional[Annotated[int, Field(le=100, strict=True, ge=1)]], Field(description="Maximum number of files to return (1-100)")] = None, page_token: Annotated[Optional[StrictStr], Field(description="Opaque cursor for pagination. Use the `next_page_token` from a previous response. Tokens are only valid with the same filter parameters they were issued under.")] = None, - var_from: Annotated[Optional[date], Field(description="Start date for filtering (YYYY-MM-DD, inclusive UTC day bound). Native for Zoom and Gong (call start; both default to a 6-month lookback when omitted), Grain and Recall (recording start/created time), and Google Drive (createdTime); matched while listing for Dropbox (client_modified). Ignored for S3/GCS.")] = None, + var_from: Annotated[Optional[date], Field(description="Start date for filtering (YYYY-MM-DD, inclusive UTC day bound). Native for Zoom and Gong (call start; both default to a 6-month lookback when omitted), Grain and Recall (recording start/created time), iconik (asset date_created), and Google Drive (createdTime); matched while listing for Dropbox (client_modified). Ignored for S3/GCS.")] = None, to: Annotated[Optional[date], Field(description="End date for filtering (YYYY-MM-DD, inclusive UTC day bound). Same per-connector support as `from`. Ignored for S3/GCS.")] = None, folder_id: Annotated[Optional[StrictStr], Field(description="Google Drive folder ID to list contents of. Applies to Google Drive connectors only.")] = None, path: Annotated[Optional[StrictStr], Field(description="Dropbox folder path to list contents of (default: root). Applies to Dropbox connectors only.")] = None, bucket: Annotated[Optional[StrictStr], Field(description="Bucket name. Required for S3 and GCS connectors.")] = None, prefix: Annotated[Optional[StrictStr], Field(description="Key prefix filter. Applies to S3 and GCS connectors only.")] = None, - title_search: Annotated[Optional[StrictStr], Field(description="Case-insensitive title filter. Native for Grain (title_search) and Google Drive (name contains); matched while listing for Zoom (topic), Gong (call title), and Dropbox (filename). Ignored for Recall (no title is available when listing) and S3/GCS.")] = None, + title_search: Annotated[Optional[StrictStr], Field(description="Case-insensitive title filter. Native for Grain (title_search), Google Drive (name contains), and iconik (full-text title search); matched while listing for Zoom (topic), Gong (call title), and Dropbox (filename). Ignored for Recall (no title is available when listing) and S3/GCS.")] = None, team: Annotated[Optional[StrictStr], Field(description="Team filter. Applies to Grain connectors only. See the [Grain documentation](https://developers.grain.com/#recording-filter) for more details.")] = None, meeting_type: Annotated[Optional[StrictStr], Field(description="Meeting type filter. Applies to Grain connectors only. See the [Grain documentation](https://developers.grain.com/#recording-filter) for more details.")] = None, _request_timeout: Union[ @@ -372,7 +372,7 @@ def list_data_connector_files( :type limit: int :param page_token: Opaque cursor for pagination. Use the `next_page_token` from a previous response. Tokens are only valid with the same filter parameters they were issued under. :type page_token: str - :param var_from: Start date for filtering (YYYY-MM-DD, inclusive UTC day bound). Native for Zoom and Gong (call start; both default to a 6-month lookback when omitted), Grain and Recall (recording start/created time), and Google Drive (createdTime); matched while listing for Dropbox (client_modified). Ignored for S3/GCS. + :param var_from: Start date for filtering (YYYY-MM-DD, inclusive UTC day bound). Native for Zoom and Gong (call start; both default to a 6-month lookback when omitted), Grain and Recall (recording start/created time), iconik (asset date_created), and Google Drive (createdTime); matched while listing for Dropbox (client_modified). Ignored for S3/GCS. :type var_from: date :param to: End date for filtering (YYYY-MM-DD, inclusive UTC day bound). Same per-connector support as `from`. Ignored for S3/GCS. :type to: date @@ -384,7 +384,7 @@ def list_data_connector_files( :type bucket: str :param prefix: Key prefix filter. Applies to S3 and GCS connectors only. :type prefix: str - :param title_search: Case-insensitive title filter. Native for Grain (title_search) and Google Drive (name contains); matched while listing for Zoom (topic), Gong (call title), and Dropbox (filename). Ignored for Recall (no title is available when listing) and S3/GCS. + :param title_search: Case-insensitive title filter. Native for Grain (title_search), Google Drive (name contains), and iconik (full-text title search); matched while listing for Zoom (topic), Gong (call title), and Dropbox (filename). Ignored for Recall (no title is available when listing) and S3/GCS. :type title_search: str :param team: Team filter. Applies to Grain connectors only. See the [Grain documentation](https://developers.grain.com/#recording-filter) for more details. :type team: str @@ -455,13 +455,13 @@ def list_data_connector_files_with_http_info( id: Annotated[StrictStr, Field(description="The ID of the data connector")], limit: Annotated[Optional[Annotated[int, Field(le=100, strict=True, ge=1)]], Field(description="Maximum number of files to return (1-100)")] = None, page_token: Annotated[Optional[StrictStr], Field(description="Opaque cursor for pagination. Use the `next_page_token` from a previous response. Tokens are only valid with the same filter parameters they were issued under.")] = None, - var_from: Annotated[Optional[date], Field(description="Start date for filtering (YYYY-MM-DD, inclusive UTC day bound). Native for Zoom and Gong (call start; both default to a 6-month lookback when omitted), Grain and Recall (recording start/created time), and Google Drive (createdTime); matched while listing for Dropbox (client_modified). Ignored for S3/GCS.")] = None, + var_from: Annotated[Optional[date], Field(description="Start date for filtering (YYYY-MM-DD, inclusive UTC day bound). Native for Zoom and Gong (call start; both default to a 6-month lookback when omitted), Grain and Recall (recording start/created time), iconik (asset date_created), and Google Drive (createdTime); matched while listing for Dropbox (client_modified). Ignored for S3/GCS.")] = None, to: Annotated[Optional[date], Field(description="End date for filtering (YYYY-MM-DD, inclusive UTC day bound). Same per-connector support as `from`. Ignored for S3/GCS.")] = None, folder_id: Annotated[Optional[StrictStr], Field(description="Google Drive folder ID to list contents of. Applies to Google Drive connectors only.")] = None, path: Annotated[Optional[StrictStr], Field(description="Dropbox folder path to list contents of (default: root). Applies to Dropbox connectors only.")] = None, bucket: Annotated[Optional[StrictStr], Field(description="Bucket name. Required for S3 and GCS connectors.")] = None, prefix: Annotated[Optional[StrictStr], Field(description="Key prefix filter. Applies to S3 and GCS connectors only.")] = None, - title_search: Annotated[Optional[StrictStr], Field(description="Case-insensitive title filter. Native for Grain (title_search) and Google Drive (name contains); matched while listing for Zoom (topic), Gong (call title), and Dropbox (filename). Ignored for Recall (no title is available when listing) and S3/GCS.")] = None, + title_search: Annotated[Optional[StrictStr], Field(description="Case-insensitive title filter. Native for Grain (title_search), Google Drive (name contains), and iconik (full-text title search); matched while listing for Zoom (topic), Gong (call title), and Dropbox (filename). Ignored for Recall (no title is available when listing) and S3/GCS.")] = None, team: Annotated[Optional[StrictStr], Field(description="Team filter. Applies to Grain connectors only. See the [Grain documentation](https://developers.grain.com/#recording-filter) for more details.")] = None, meeting_type: Annotated[Optional[StrictStr], Field(description="Meeting type filter. Applies to Grain connectors only. See the [Grain documentation](https://developers.grain.com/#recording-filter) for more details.")] = None, _request_timeout: Union[ @@ -487,7 +487,7 @@ def list_data_connector_files_with_http_info( :type limit: int :param page_token: Opaque cursor for pagination. Use the `next_page_token` from a previous response. Tokens are only valid with the same filter parameters they were issued under. :type page_token: str - :param var_from: Start date for filtering (YYYY-MM-DD, inclusive UTC day bound). Native for Zoom and Gong (call start; both default to a 6-month lookback when omitted), Grain and Recall (recording start/created time), and Google Drive (createdTime); matched while listing for Dropbox (client_modified). Ignored for S3/GCS. + :param var_from: Start date for filtering (YYYY-MM-DD, inclusive UTC day bound). Native for Zoom and Gong (call start; both default to a 6-month lookback when omitted), Grain and Recall (recording start/created time), iconik (asset date_created), and Google Drive (createdTime); matched while listing for Dropbox (client_modified). Ignored for S3/GCS. :type var_from: date :param to: End date for filtering (YYYY-MM-DD, inclusive UTC day bound). Same per-connector support as `from`. Ignored for S3/GCS. :type to: date @@ -499,7 +499,7 @@ def list_data_connector_files_with_http_info( :type bucket: str :param prefix: Key prefix filter. Applies to S3 and GCS connectors only. :type prefix: str - :param title_search: Case-insensitive title filter. Native for Grain (title_search) and Google Drive (name contains); matched while listing for Zoom (topic), Gong (call title), and Dropbox (filename). Ignored for Recall (no title is available when listing) and S3/GCS. + :param title_search: Case-insensitive title filter. Native for Grain (title_search), Google Drive (name contains), and iconik (full-text title search); matched while listing for Zoom (topic), Gong (call title), and Dropbox (filename). Ignored for Recall (no title is available when listing) and S3/GCS. :type title_search: str :param team: Team filter. Applies to Grain connectors only. See the [Grain documentation](https://developers.grain.com/#recording-filter) for more details. :type team: str @@ -570,13 +570,13 @@ def list_data_connector_files_without_preload_content( id: Annotated[StrictStr, Field(description="The ID of the data connector")], limit: Annotated[Optional[Annotated[int, Field(le=100, strict=True, ge=1)]], Field(description="Maximum number of files to return (1-100)")] = None, page_token: Annotated[Optional[StrictStr], Field(description="Opaque cursor for pagination. Use the `next_page_token` from a previous response. Tokens are only valid with the same filter parameters they were issued under.")] = None, - var_from: Annotated[Optional[date], Field(description="Start date for filtering (YYYY-MM-DD, inclusive UTC day bound). Native for Zoom and Gong (call start; both default to a 6-month lookback when omitted), Grain and Recall (recording start/created time), and Google Drive (createdTime); matched while listing for Dropbox (client_modified). Ignored for S3/GCS.")] = None, + var_from: Annotated[Optional[date], Field(description="Start date for filtering (YYYY-MM-DD, inclusive UTC day bound). Native for Zoom and Gong (call start; both default to a 6-month lookback when omitted), Grain and Recall (recording start/created time), iconik (asset date_created), and Google Drive (createdTime); matched while listing for Dropbox (client_modified). Ignored for S3/GCS.")] = None, to: Annotated[Optional[date], Field(description="End date for filtering (YYYY-MM-DD, inclusive UTC day bound). Same per-connector support as `from`. Ignored for S3/GCS.")] = None, folder_id: Annotated[Optional[StrictStr], Field(description="Google Drive folder ID to list contents of. Applies to Google Drive connectors only.")] = None, path: Annotated[Optional[StrictStr], Field(description="Dropbox folder path to list contents of (default: root). Applies to Dropbox connectors only.")] = None, bucket: Annotated[Optional[StrictStr], Field(description="Bucket name. Required for S3 and GCS connectors.")] = None, prefix: Annotated[Optional[StrictStr], Field(description="Key prefix filter. Applies to S3 and GCS connectors only.")] = None, - title_search: Annotated[Optional[StrictStr], Field(description="Case-insensitive title filter. Native for Grain (title_search) and Google Drive (name contains); matched while listing for Zoom (topic), Gong (call title), and Dropbox (filename). Ignored for Recall (no title is available when listing) and S3/GCS.")] = None, + title_search: Annotated[Optional[StrictStr], Field(description="Case-insensitive title filter. Native for Grain (title_search), Google Drive (name contains), and iconik (full-text title search); matched while listing for Zoom (topic), Gong (call title), and Dropbox (filename). Ignored for Recall (no title is available when listing) and S3/GCS.")] = None, team: Annotated[Optional[StrictStr], Field(description="Team filter. Applies to Grain connectors only. See the [Grain documentation](https://developers.grain.com/#recording-filter) for more details.")] = None, meeting_type: Annotated[Optional[StrictStr], Field(description="Meeting type filter. Applies to Grain connectors only. See the [Grain documentation](https://developers.grain.com/#recording-filter) for more details.")] = None, _request_timeout: Union[ @@ -602,7 +602,7 @@ def list_data_connector_files_without_preload_content( :type limit: int :param page_token: Opaque cursor for pagination. Use the `next_page_token` from a previous response. Tokens are only valid with the same filter parameters they were issued under. :type page_token: str - :param var_from: Start date for filtering (YYYY-MM-DD, inclusive UTC day bound). Native for Zoom and Gong (call start; both default to a 6-month lookback when omitted), Grain and Recall (recording start/created time), and Google Drive (createdTime); matched while listing for Dropbox (client_modified). Ignored for S3/GCS. + :param var_from: Start date for filtering (YYYY-MM-DD, inclusive UTC day bound). Native for Zoom and Gong (call start; both default to a 6-month lookback when omitted), Grain and Recall (recording start/created time), iconik (asset date_created), and Google Drive (createdTime); matched while listing for Dropbox (client_modified). Ignored for S3/GCS. :type var_from: date :param to: End date for filtering (YYYY-MM-DD, inclusive UTC day bound). Same per-connector support as `from`. Ignored for S3/GCS. :type to: date @@ -614,7 +614,7 @@ def list_data_connector_files_without_preload_content( :type bucket: str :param prefix: Key prefix filter. Applies to S3 and GCS connectors only. :type prefix: str - :param title_search: Case-insensitive title filter. Native for Grain (title_search) and Google Drive (name contains); matched while listing for Zoom (topic), Gong (call title), and Dropbox (filename). Ignored for Recall (no title is available when listing) and S3/GCS. + :param title_search: Case-insensitive title filter. Native for Grain (title_search), Google Drive (name contains), and iconik (full-text title search); matched while listing for Zoom (topic), Gong (call title), and Dropbox (filename). Ignored for Recall (no title is available when listing) and S3/GCS. :type title_search: str :param team: Team filter. Applies to Grain connectors only. See the [Grain documentation](https://developers.grain.com/#recording-filter) for more details. :type team: str diff --git a/cloudglue/sdk/api/deep_search_api.py b/cloudglue/sdk/api/deep_search_api.py index d84421d8..f866a5c9 100644 --- a/cloudglue/sdk/api/deep_search_api.py +++ b/cloudglue/sdk/api/deep_search_api.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/api/describe_api.py b/cloudglue/sdk/api/describe_api.py index 30d5e0da..dd8d4f9c 100644 --- a/cloudglue/sdk/api/describe_api.py +++ b/cloudglue/sdk/api/describe_api.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -611,6 +611,7 @@ def get_describe( include_word_timestamps: Annotated[Optional[StrictBool], Field(description="When true, include a words array on each speech entry with word-level start_time and end_time. Not available for YouTube sources. Only applies when response_format=json.")] = None, include_chapters: Annotated[Optional[StrictBool], Field(description="Include narrative chapters in the response (when segmentation strategy is 'narrative')")] = None, include_shots: Annotated[Optional[StrictBool], Field(description="Include shot boundaries in the response (when segmentation strategy is 'shot-detector')")] = None, + include_metadata: Annotated[Optional[StrictBool], Field(description="Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -646,6 +647,8 @@ def get_describe( :type include_chapters: bool :param include_shots: Include shot boundaries in the response (when segmentation strategy is 'shot-detector') :type include_shots: bool + :param include_metadata: Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`. + :type include_metadata: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -678,6 +681,7 @@ def get_describe( include_word_timestamps=include_word_timestamps, include_chapters=include_chapters, include_shots=include_shots, + include_metadata=include_metadata, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -712,6 +716,7 @@ def get_describe_with_http_info( include_word_timestamps: Annotated[Optional[StrictBool], Field(description="When true, include a words array on each speech entry with word-level start_time and end_time. Not available for YouTube sources. Only applies when response_format=json.")] = None, include_chapters: Annotated[Optional[StrictBool], Field(description="Include narrative chapters in the response (when segmentation strategy is 'narrative')")] = None, include_shots: Annotated[Optional[StrictBool], Field(description="Include shot boundaries in the response (when segmentation strategy is 'shot-detector')")] = None, + include_metadata: Annotated[Optional[StrictBool], Field(description="Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -747,6 +752,8 @@ def get_describe_with_http_info( :type include_chapters: bool :param include_shots: Include shot boundaries in the response (when segmentation strategy is 'shot-detector') :type include_shots: bool + :param include_metadata: Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`. + :type include_metadata: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -779,6 +786,7 @@ def get_describe_with_http_info( include_word_timestamps=include_word_timestamps, include_chapters=include_chapters, include_shots=include_shots, + include_metadata=include_metadata, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -813,6 +821,7 @@ def get_describe_without_preload_content( include_word_timestamps: Annotated[Optional[StrictBool], Field(description="When true, include a words array on each speech entry with word-level start_time and end_time. Not available for YouTube sources. Only applies when response_format=json.")] = None, include_chapters: Annotated[Optional[StrictBool], Field(description="Include narrative chapters in the response (when segmentation strategy is 'narrative')")] = None, include_shots: Annotated[Optional[StrictBool], Field(description="Include shot boundaries in the response (when segmentation strategy is 'shot-detector')")] = None, + include_metadata: Annotated[Optional[StrictBool], Field(description="Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -848,6 +857,8 @@ def get_describe_without_preload_content( :type include_chapters: bool :param include_shots: Include shot boundaries in the response (when segmentation strategy is 'shot-detector') :type include_shots: bool + :param include_metadata: Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`. + :type include_metadata: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -880,6 +891,7 @@ def get_describe_without_preload_content( include_word_timestamps=include_word_timestamps, include_chapters=include_chapters, include_shots=include_shots, + include_metadata=include_metadata, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -909,6 +921,7 @@ def _get_describe_serialize( include_word_timestamps, include_chapters, include_shots, + include_metadata, _request_auth, _content_type, _headers, @@ -966,6 +979,10 @@ def _get_describe_serialize( _query_params.append(('include_shots', include_shots)) + if include_metadata is not None: + + _query_params.append(('include_metadata', include_metadata)) + # process the header parameters # process the form parameters # process the body parameter @@ -1326,6 +1343,7 @@ def list_describes( response_format: Annotated[Optional[StrictStr], Field(description="Format for the response")] = None, include_data: Annotated[Optional[StrictBool], Field(description="Include the data in the response. If false, the response will only include the job information and not the data to minimize the response size.")] = None, modalities: Optional[List[StrictStr]] = None, + include_metadata: Annotated[Optional[StrictBool], Field(description="Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1361,6 +1379,8 @@ def list_describes( :type include_data: bool :param modalities: :type modalities: List[str] + :param include_metadata: Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`. + :type include_metadata: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1393,6 +1413,7 @@ def list_describes( response_format=response_format, include_data=include_data, modalities=modalities, + include_metadata=include_metadata, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1427,6 +1448,7 @@ def list_describes_with_http_info( response_format: Annotated[Optional[StrictStr], Field(description="Format for the response")] = None, include_data: Annotated[Optional[StrictBool], Field(description="Include the data in the response. If false, the response will only include the job information and not the data to minimize the response size.")] = None, modalities: Optional[List[StrictStr]] = None, + include_metadata: Annotated[Optional[StrictBool], Field(description="Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1462,6 +1484,8 @@ def list_describes_with_http_info( :type include_data: bool :param modalities: :type modalities: List[str] + :param include_metadata: Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`. + :type include_metadata: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1494,6 +1518,7 @@ def list_describes_with_http_info( response_format=response_format, include_data=include_data, modalities=modalities, + include_metadata=include_metadata, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1528,6 +1553,7 @@ def list_describes_without_preload_content( response_format: Annotated[Optional[StrictStr], Field(description="Format for the response")] = None, include_data: Annotated[Optional[StrictBool], Field(description="Include the data in the response. If false, the response will only include the job information and not the data to minimize the response size.")] = None, modalities: Optional[List[StrictStr]] = None, + include_metadata: Annotated[Optional[StrictBool], Field(description="Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1563,6 +1589,8 @@ def list_describes_without_preload_content( :type include_data: bool :param modalities: :type modalities: List[str] + :param include_metadata: Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`. + :type include_metadata: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1595,6 +1623,7 @@ def list_describes_without_preload_content( response_format=response_format, include_data=include_data, modalities=modalities, + include_metadata=include_metadata, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1624,6 +1653,7 @@ def _list_describes_serialize( response_format, include_data, modalities, + include_metadata, _request_auth, _content_type, _headers, @@ -1701,6 +1731,10 @@ def _list_describes_serialize( _query_params.append(('modalities', modalities)) + if include_metadata is not None: + + _query_params.append(('include_metadata', include_metadata)) + # process the header parameters # process the form parameters # process the body parameter @@ -2110,6 +2144,7 @@ def list_segmentation_describes( response_format: Annotated[Optional[StrictStr], Field(description="Output format for the describe data")] = None, limit: Annotated[Optional[Annotated[int, Field(le=100, strict=True, ge=1)]], Field(description="Number of items to return")] = None, offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Offset from the start of the list")] = None, + include_metadata: Annotated[Optional[StrictBool], Field(description="Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2137,6 +2172,8 @@ def list_segmentation_describes( :type limit: int :param offset: Offset from the start of the list :type offset: int + :param include_metadata: Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`. + :type include_metadata: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -2165,6 +2202,7 @@ def list_segmentation_describes( response_format=response_format, limit=limit, offset=offset, + include_metadata=include_metadata, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2195,6 +2233,7 @@ def list_segmentation_describes_with_http_info( response_format: Annotated[Optional[StrictStr], Field(description="Output format for the describe data")] = None, limit: Annotated[Optional[Annotated[int, Field(le=100, strict=True, ge=1)]], Field(description="Number of items to return")] = None, offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Offset from the start of the list")] = None, + include_metadata: Annotated[Optional[StrictBool], Field(description="Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2222,6 +2261,8 @@ def list_segmentation_describes_with_http_info( :type limit: int :param offset: Offset from the start of the list :type offset: int + :param include_metadata: Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`. + :type include_metadata: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -2250,6 +2291,7 @@ def list_segmentation_describes_with_http_info( response_format=response_format, limit=limit, offset=offset, + include_metadata=include_metadata, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2280,6 +2322,7 @@ def list_segmentation_describes_without_preload_content( response_format: Annotated[Optional[StrictStr], Field(description="Output format for the describe data")] = None, limit: Annotated[Optional[Annotated[int, Field(le=100, strict=True, ge=1)]], Field(description="Number of items to return")] = None, offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Offset from the start of the list")] = None, + include_metadata: Annotated[Optional[StrictBool], Field(description="Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2307,6 +2350,8 @@ def list_segmentation_describes_without_preload_content( :type limit: int :param offset: Offset from the start of the list :type offset: int + :param include_metadata: Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`. + :type include_metadata: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -2335,6 +2380,7 @@ def list_segmentation_describes_without_preload_content( response_format=response_format, limit=limit, offset=offset, + include_metadata=include_metadata, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2360,6 +2406,7 @@ def _list_segmentation_describes_serialize( response_format, limit, offset, + include_metadata, _request_auth, _content_type, _headers, @@ -2400,6 +2447,10 @@ def _list_segmentation_describes_serialize( _query_params.append(('offset', offset)) + if include_metadata is not None: + + _query_params.append(('include_metadata', include_metadata)) + # process the header parameters # process the form parameters # process the body parameter diff --git a/cloudglue/sdk/api/extract_api.py b/cloudglue/sdk/api/extract_api.py index d368ee77..c65c54d9 100644 --- a/cloudglue/sdk/api/extract_api.py +++ b/cloudglue/sdk/api/extract_api.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/api/face_detection_api.py b/cloudglue/sdk/api/face_detection_api.py index 5e542a65..b43fa571 100644 --- a/cloudglue/sdk/api/face_detection_api.py +++ b/cloudglue/sdk/api/face_detection_api.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/api/face_match_api.py b/cloudglue/sdk/api/face_match_api.py index 31f708bf..c6cf5ee8 100644 --- a/cloudglue/sdk/api/face_match_api.py +++ b/cloudglue/sdk/api/face_match_api.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/api/file_segments_api.py b/cloudglue/sdk/api/file_segments_api.py index d260eb1e..3160822a 100644 --- a/cloudglue/sdk/api/file_segments_api.py +++ b/cloudglue/sdk/api/file_segments_api.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/api/files_api.py b/cloudglue/sdk/api/files_api.py index 62b6e845..a7be9a0b 100644 --- a/cloudglue/sdk/api/files_api.py +++ b/cloudglue/sdk/api/files_api.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -4699,6 +4699,273 @@ def _sync_file_from_url_serialize( + @validate_call + def sync_file_source_metadata( + self, + file_id: Annotated[StrictStr, Field(description="The ID of the file to sync")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> File: + """Refresh a file's connector source metadata + + Re-fetches the file's source_metadata live from its data connector (google-drive, dropbox, zoom, gong, recall, grain, or iconik) and updates the stored value. If the file belongs to any metadata collections, their search documents are re-indexed with the refreshed metadata. Works for both metadata-only files and fully ingested connector files. Free — no media is downloaded or processed. + + :param file_id: The ID of the file to sync (required) + :type file_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._sync_file_source_metadata_serialize( + file_id=file_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "File", + '400': "Error", + '404': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def sync_file_source_metadata_with_http_info( + self, + file_id: Annotated[StrictStr, Field(description="The ID of the file to sync")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[File]: + """Refresh a file's connector source metadata + + Re-fetches the file's source_metadata live from its data connector (google-drive, dropbox, zoom, gong, recall, grain, or iconik) and updates the stored value. If the file belongs to any metadata collections, their search documents are re-indexed with the refreshed metadata. Works for both metadata-only files and fully ingested connector files. Free — no media is downloaded or processed. + + :param file_id: The ID of the file to sync (required) + :type file_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._sync_file_source_metadata_serialize( + file_id=file_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "File", + '400': "Error", + '404': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def sync_file_source_metadata_without_preload_content( + self, + file_id: Annotated[StrictStr, Field(description="The ID of the file to sync")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Refresh a file's connector source metadata + + Re-fetches the file's source_metadata live from its data connector (google-drive, dropbox, zoom, gong, recall, grain, or iconik) and updates the stored value. If the file belongs to any metadata collections, their search documents are re-indexed with the refreshed metadata. Works for both metadata-only files and fully ingested connector files. Free — no media is downloaded or processed. + + :param file_id: The ID of the file to sync (required) + :type file_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._sync_file_source_metadata_serialize( + file_id=file_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "File", + '400': "Error", + '404': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _sync_file_source_metadata_serialize( + self, + file_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if file_id is not None: + _path_params['file_id'] = file_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'bearerAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/files/{file_id}/sync', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + @validate_call def update_file( self, diff --git a/cloudglue/sdk/api/frames_api.py b/cloudglue/sdk/api/frames_api.py index 17b94bf0..b5b71044 100644 --- a/cloudglue/sdk/api/frames_api.py +++ b/cloudglue/sdk/api/frames_api.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/api/response_api.py b/cloudglue/sdk/api/response_api.py index 59af4d33..c712450e 100644 --- a/cloudglue/sdk/api/response_api.py +++ b/cloudglue/sdk/api/response_api.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/api/search_api.py b/cloudglue/sdk/api/search_api.py index 27d9635a..3b1a5bd1 100644 --- a/cloudglue/sdk/api/search_api.py +++ b/cloudglue/sdk/api/search_api.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/api/segmentations_api.py b/cloudglue/sdk/api/segmentations_api.py index f743f665..eccc8363 100644 --- a/cloudglue/sdk/api/segmentations_api.py +++ b/cloudglue/sdk/api/segmentations_api.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -953,6 +953,7 @@ def list_segmentation_describes( response_format: Annotated[Optional[StrictStr], Field(description="Output format for the describe data")] = None, limit: Annotated[Optional[Annotated[int, Field(le=100, strict=True, ge=1)]], Field(description="Number of items to return")] = None, offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Offset from the start of the list")] = None, + include_metadata: Annotated[Optional[StrictBool], Field(description="Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -980,6 +981,8 @@ def list_segmentation_describes( :type limit: int :param offset: Offset from the start of the list :type offset: int + :param include_metadata: Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`. + :type include_metadata: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1008,6 +1011,7 @@ def list_segmentation_describes( response_format=response_format, limit=limit, offset=offset, + include_metadata=include_metadata, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1038,6 +1042,7 @@ def list_segmentation_describes_with_http_info( response_format: Annotated[Optional[StrictStr], Field(description="Output format for the describe data")] = None, limit: Annotated[Optional[Annotated[int, Field(le=100, strict=True, ge=1)]], Field(description="Number of items to return")] = None, offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Offset from the start of the list")] = None, + include_metadata: Annotated[Optional[StrictBool], Field(description="Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1065,6 +1070,8 @@ def list_segmentation_describes_with_http_info( :type limit: int :param offset: Offset from the start of the list :type offset: int + :param include_metadata: Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`. + :type include_metadata: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1093,6 +1100,7 @@ def list_segmentation_describes_with_http_info( response_format=response_format, limit=limit, offset=offset, + include_metadata=include_metadata, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1123,6 +1131,7 @@ def list_segmentation_describes_without_preload_content( response_format: Annotated[Optional[StrictStr], Field(description="Output format for the describe data")] = None, limit: Annotated[Optional[Annotated[int, Field(le=100, strict=True, ge=1)]], Field(description="Number of items to return")] = None, offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Offset from the start of the list")] = None, + include_metadata: Annotated[Optional[StrictBool], Field(description="Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1150,6 +1159,8 @@ def list_segmentation_describes_without_preload_content( :type limit: int :param offset: Offset from the start of the list :type offset: int + :param include_metadata: Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`. + :type include_metadata: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1178,6 +1189,7 @@ def list_segmentation_describes_without_preload_content( response_format=response_format, limit=limit, offset=offset, + include_metadata=include_metadata, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1203,6 +1215,7 @@ def _list_segmentation_describes_serialize( response_format, limit, offset, + include_metadata, _request_auth, _content_type, _headers, @@ -1243,6 +1256,10 @@ def _list_segmentation_describes_serialize( _query_params.append(('offset', offset)) + if include_metadata is not None: + + _query_params.append(('include_metadata', include_metadata)) + # process the header parameters # process the form parameters # process the body parameter diff --git a/cloudglue/sdk/api/segments_api.py b/cloudglue/sdk/api/segments_api.py index 4846bb67..f10e628f 100644 --- a/cloudglue/sdk/api/segments_api.py +++ b/cloudglue/sdk/api/segments_api.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/api/share_api.py b/cloudglue/sdk/api/share_api.py index 5c0da490..e2303b63 100644 --- a/cloudglue/sdk/api/share_api.py +++ b/cloudglue/sdk/api/share_api.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/api/tags_api.py b/cloudglue/sdk/api/tags_api.py index 77141d92..1def141b 100644 --- a/cloudglue/sdk/api/tags_api.py +++ b/cloudglue/sdk/api/tags_api.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/api/thumbnails_api.py b/cloudglue/sdk/api/thumbnails_api.py index 594e1e88..abda66b9 100644 --- a/cloudglue/sdk/api/thumbnails_api.py +++ b/cloudglue/sdk/api/thumbnails_api.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/api/transcribe_api.py b/cloudglue/sdk/api/transcribe_api.py index 51a0be15..8ed4c761 100644 --- a/cloudglue/sdk/api/transcribe_api.py +++ b/cloudglue/sdk/api/transcribe_api.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,7 +17,7 @@ from typing_extensions import Annotated from datetime import date -from pydantic import Field, StrictInt, StrictStr, field_validator +from pydantic import Field, StrictBool, StrictInt, StrictStr, field_validator from typing import Optional from typing_extensions import Annotated from cloudglue.sdk.models.new_transcribe import NewTranscribe @@ -333,6 +333,7 @@ def get_transcribe( self, job_id: Annotated[StrictStr, Field(description="The unique identifier of the transcription job")], response_format: Annotated[Optional[StrictStr], Field(description="Format for the response")] = None, + include_metadata: Annotated[Optional[StrictBool], Field(description="Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -354,6 +355,8 @@ def get_transcribe( :type job_id: str :param response_format: Format for the response :type response_format: str + :param include_metadata: Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`. + :type include_metadata: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -379,6 +382,7 @@ def get_transcribe( _param = self._get_transcribe_serialize( job_id=job_id, response_format=response_format, + include_metadata=include_metadata, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -406,6 +410,7 @@ def get_transcribe_with_http_info( self, job_id: Annotated[StrictStr, Field(description="The unique identifier of the transcription job")], response_format: Annotated[Optional[StrictStr], Field(description="Format for the response")] = None, + include_metadata: Annotated[Optional[StrictBool], Field(description="Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -427,6 +432,8 @@ def get_transcribe_with_http_info( :type job_id: str :param response_format: Format for the response :type response_format: str + :param include_metadata: Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`. + :type include_metadata: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -452,6 +459,7 @@ def get_transcribe_with_http_info( _param = self._get_transcribe_serialize( job_id=job_id, response_format=response_format, + include_metadata=include_metadata, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -479,6 +487,7 @@ def get_transcribe_without_preload_content( self, job_id: Annotated[StrictStr, Field(description="The unique identifier of the transcription job")], response_format: Annotated[Optional[StrictStr], Field(description="Format for the response")] = None, + include_metadata: Annotated[Optional[StrictBool], Field(description="Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -500,6 +509,8 @@ def get_transcribe_without_preload_content( :type job_id: str :param response_format: Format for the response :type response_format: str + :param include_metadata: Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`. + :type include_metadata: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -525,6 +536,7 @@ def get_transcribe_without_preload_content( _param = self._get_transcribe_serialize( job_id=job_id, response_format=response_format, + include_metadata=include_metadata, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -547,6 +559,7 @@ def _get_transcribe_serialize( self, job_id, response_format, + include_metadata, _request_auth, _content_type, _headers, @@ -575,6 +588,10 @@ def _get_transcribe_serialize( _query_params.append(('response_format', response_format)) + if include_metadata is not None: + + _query_params.append(('include_metadata', include_metadata)) + # process the header parameters # process the form parameters # process the body parameter @@ -622,6 +639,7 @@ def list_transcribes( created_after: Annotated[Optional[date], Field(description="Filter transcription jobs created after a specific date (YYYY-MM-DD format), in UTC timezone")] = None, url: Annotated[Optional[StrictStr], Field(description="Filter transcription jobs by the input URL used for transcription")] = None, response_format: Annotated[Optional[StrictStr], Field(description="Format for the response")] = None, + include_metadata: Annotated[Optional[StrictBool], Field(description="Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -653,6 +671,8 @@ def list_transcribes( :type url: str :param response_format: Format for the response :type response_format: str + :param include_metadata: Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`. + :type include_metadata: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -683,6 +703,7 @@ def list_transcribes( created_after=created_after, url=url, response_format=response_format, + include_metadata=include_metadata, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -715,6 +736,7 @@ def list_transcribes_with_http_info( created_after: Annotated[Optional[date], Field(description="Filter transcription jobs created after a specific date (YYYY-MM-DD format), in UTC timezone")] = None, url: Annotated[Optional[StrictStr], Field(description="Filter transcription jobs by the input URL used for transcription")] = None, response_format: Annotated[Optional[StrictStr], Field(description="Format for the response")] = None, + include_metadata: Annotated[Optional[StrictBool], Field(description="Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -746,6 +768,8 @@ def list_transcribes_with_http_info( :type url: str :param response_format: Format for the response :type response_format: str + :param include_metadata: Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`. + :type include_metadata: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -776,6 +800,7 @@ def list_transcribes_with_http_info( created_after=created_after, url=url, response_format=response_format, + include_metadata=include_metadata, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -808,6 +833,7 @@ def list_transcribes_without_preload_content( created_after: Annotated[Optional[date], Field(description="Filter transcription jobs created after a specific date (YYYY-MM-DD format), in UTC timezone")] = None, url: Annotated[Optional[StrictStr], Field(description="Filter transcription jobs by the input URL used for transcription")] = None, response_format: Annotated[Optional[StrictStr], Field(description="Format for the response")] = None, + include_metadata: Annotated[Optional[StrictBool], Field(description="Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -839,6 +865,8 @@ def list_transcribes_without_preload_content( :type url: str :param response_format: Format for the response :type response_format: str + :param include_metadata: Include the file's user-defined metadata and source metadata. In markdown these render as a `## Metadata` section; in JSON they populate `file.metadata` and `file.source_metadata`. + :type include_metadata: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -869,6 +897,7 @@ def list_transcribes_without_preload_content( created_after=created_after, url=url, response_format=response_format, + include_metadata=include_metadata, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -896,6 +925,7 @@ def _list_transcribes_serialize( created_after, url, response_format, + include_metadata, _request_auth, _content_type, _headers, @@ -964,6 +994,10 @@ def _list_transcribes_serialize( _query_params.append(('response_format', response_format)) + if include_metadata is not None: + + _query_params.append(('include_metadata', include_metadata)) + # process the header parameters # process the form parameters # process the body parameter diff --git a/cloudglue/sdk/api/webhooks_api.py b/cloudglue/sdk/api/webhooks_api.py index 628370c6..280a65f3 100644 --- a/cloudglue/sdk/api/webhooks_api.py +++ b/cloudglue/sdk/api/webhooks_api.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/api_client.py b/cloudglue/sdk/api_client.py index 9b8b2387..c20bf845 100644 --- a/cloudglue/sdk/api_client.py +++ b/cloudglue/sdk/api_client.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/configuration.py b/cloudglue/sdk/configuration.py index 3ade09a9..3c192403 100644 --- a/cloudglue/sdk/configuration.py +++ b/cloudglue/sdk/configuration.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -509,7 +509,7 @@ def to_debug_report(self) -> str: return "Python SDK Debug Report:\n"\ "OS: {env}\n"\ "Python Version: {pyversion}\n"\ - "Version of the API: 0.7.10\n"\ + "Version of the API: 0.7.11\n"\ "SDK Package Version: 1.0.0".\ format(env=sys.platform, pyversion=sys.version) diff --git a/cloudglue/sdk/exceptions.py b/cloudglue/sdk/exceptions.py index 390ff475..47d3cbc3 100644 --- a/cloudglue/sdk/exceptions.py +++ b/cloudglue/sdk/exceptions.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/__init__.py b/cloudglue/sdk/models/__init__.py index 8b5cc519..215c0534 100644 --- a/cloudglue/sdk/models/__init__.py +++ b/cloudglue/sdk/models/__init__.py @@ -6,7 +6,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -169,6 +169,7 @@ from cloudglue.sdk.models.grain_source_metadata_meeting_type import GrainSourceMetadataMeetingType from cloudglue.sdk.models.grain_source_metadata_participants_inner import GrainSourceMetadataParticipantsInner from cloudglue.sdk.models.grain_source_metadata_teams_inner import GrainSourceMetadataTeamsInner +from cloudglue.sdk.models.iconik_source_metadata import IconikSourceMetadata from cloudglue.sdk.models.keyframe_config import KeyframeConfig from cloudglue.sdk.models.knowledge_base_collections import KnowledgeBaseCollections from cloudglue.sdk.models.knowledge_base_default import KnowledgeBaseDefault diff --git a/cloudglue/sdk/models/add_collection_file.py b/cloudglue/sdk/models/add_collection_file.py index d2049f65..95c661e1 100644 --- a/cloudglue/sdk/models/add_collection_file.py +++ b/cloudglue/sdk/models/add_collection_file.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -33,7 +33,8 @@ class AddCollectionFile(BaseModel): file_id: Optional[StrictStr] = Field(default=None, description="The ID of the file to add to the collection") url: Optional[StrictStr] = Field(default=None, description="The URL of the video to add to the collection. Supports URIs of files uploaded to Cloudglue Files endpoint, public YouTube video URLs, public TikTok video URLs, public Loom share URLs, public HTTP URLs, and files which have been granted access to Cloudglue via data connectors. Note that YouTube videos are currently limited to speech level understanding only. Public TikTok video URLs will be scraped and stored automatically — subject to charges. For files via our Data connectors, see our documentation on data connectors for setup information.") thumbnails_config: Optional[ThumbnailsConfig] = None - __properties: ClassVar[List[str]] = ["segmentation_id", "segmentation_config", "file_id", "url", "thumbnails_config"] + metadata: Optional[Dict[str, Any]] = Field(default=None, description="User metadata stored on the file (merged into the file's metadata and included in the indexed metadata doc). Only supported when adding to metadata collections; other collection types take metadata via the Files endpoints.") + __properties: ClassVar[List[str]] = ["segmentation_id", "segmentation_config", "file_id", "url", "thumbnails_config", "metadata"] model_config = ConfigDict( populate_by_name=True, @@ -103,7 +104,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "segmentation_config": SegmentationConfig.from_dict(obj["segmentation_config"]) if obj.get("segmentation_config") is not None else None, "file_id": obj.get("file_id"), "url": obj.get("url"), - "thumbnails_config": ThumbnailsConfig.from_dict(obj["thumbnails_config"]) if obj.get("thumbnails_config") is not None else None + "thumbnails_config": ThumbnailsConfig.from_dict(obj["thumbnails_config"]) if obj.get("thumbnails_config") is not None else None, + "metadata": obj.get("metadata") }) return _obj diff --git a/cloudglue/sdk/models/add_you_tube_collection_file.py b/cloudglue/sdk/models/add_you_tube_collection_file.py index d5cedade..05960f0f 100644 --- a/cloudglue/sdk/models/add_you_tube_collection_file.py +++ b/cloudglue/sdk/models/add_you_tube_collection_file.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/chapter.py b/cloudglue/sdk/models/chapter.py index e1112d36..6aa689c9 100644 --- a/cloudglue/sdk/models/chapter.py +++ b/cloudglue/sdk/models/chapter.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/chat_completion_list.py b/cloudglue/sdk/models/chat_completion_list.py index 61c38dd9..6a416e46 100644 --- a/cloudglue/sdk/models/chat_completion_list.py +++ b/cloudglue/sdk/models/chat_completion_list.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/chat_completion_list_data_inner.py b/cloudglue/sdk/models/chat_completion_list_data_inner.py index 38803623..01f5ec48 100644 --- a/cloudglue/sdk/models/chat_completion_list_data_inner.py +++ b/cloudglue/sdk/models/chat_completion_list_data_inner.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/chat_completion_list_data_inner_choices_inner.py b/cloudglue/sdk/models/chat_completion_list_data_inner_choices_inner.py index f0e4a3e1..cd2211f8 100644 --- a/cloudglue/sdk/models/chat_completion_list_data_inner_choices_inner.py +++ b/cloudglue/sdk/models/chat_completion_list_data_inner_choices_inner.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/chat_completion_list_data_inner_usage.py b/cloudglue/sdk/models/chat_completion_list_data_inner_usage.py index a5d40f8b..1b3d5402 100644 --- a/cloudglue/sdk/models/chat_completion_list_data_inner_usage.py +++ b/cloudglue/sdk/models/chat_completion_list_data_inner_usage.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/chat_completion_payload.py b/cloudglue/sdk/models/chat_completion_payload.py index 753625d1..ff76ba31 100644 --- a/cloudglue/sdk/models/chat_completion_payload.py +++ b/cloudglue/sdk/models/chat_completion_payload.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/chat_completion_request.py b/cloudglue/sdk/models/chat_completion_request.py index b3189a2e..43769361 100644 --- a/cloudglue/sdk/models/chat_completion_request.py +++ b/cloudglue/sdk/models/chat_completion_request.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/chat_completion_request_filter.py b/cloudglue/sdk/models/chat_completion_request_filter.py index 6f9b37cc..57d5ddfb 100644 --- a/cloudglue/sdk/models/chat_completion_request_filter.py +++ b/cloudglue/sdk/models/chat_completion_request_filter.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/chat_completion_request_filter_file_inner.py b/cloudglue/sdk/models/chat_completion_request_filter_file_inner.py index 760f61ef..0173a14d 100644 --- a/cloudglue/sdk/models/chat_completion_request_filter_file_inner.py +++ b/cloudglue/sdk/models/chat_completion_request_filter_file_inner.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/chat_completion_request_filter_metadata_inner.py b/cloudglue/sdk/models/chat_completion_request_filter_metadata_inner.py index 314df464..8af81441 100644 --- a/cloudglue/sdk/models/chat_completion_request_filter_metadata_inner.py +++ b/cloudglue/sdk/models/chat_completion_request_filter_metadata_inner.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/chat_completion_request_filter_video_info_inner.py b/cloudglue/sdk/models/chat_completion_request_filter_video_info_inner.py index 0eaf490b..64604e15 100644 --- a/cloudglue/sdk/models/chat_completion_request_filter_video_info_inner.py +++ b/cloudglue/sdk/models/chat_completion_request_filter_video_info_inner.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/chat_completion_response.py b/cloudglue/sdk/models/chat_completion_response.py index b6f4ac8e..593a0949 100644 --- a/cloudglue/sdk/models/chat_completion_response.py +++ b/cloudglue/sdk/models/chat_completion_response.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/chat_completion_response_choices_inner.py b/cloudglue/sdk/models/chat_completion_response_choices_inner.py index e741546b..195c8579 100644 --- a/cloudglue/sdk/models/chat_completion_response_choices_inner.py +++ b/cloudglue/sdk/models/chat_completion_response_choices_inner.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/chat_completion_response_choices_inner_citations_inner.py b/cloudglue/sdk/models/chat_completion_response_choices_inner_citations_inner.py index 1ed8ba21..f1458469 100644 --- a/cloudglue/sdk/models/chat_completion_response_choices_inner_citations_inner.py +++ b/cloudglue/sdk/models/chat_completion_response_choices_inner_citations_inner.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/chat_completion_response_choices_inner_citations_inner_all_of_end_time.py b/cloudglue/sdk/models/chat_completion_response_choices_inner_citations_inner_all_of_end_time.py index 5217ec7b..65c86a2c 100644 --- a/cloudglue/sdk/models/chat_completion_response_choices_inner_citations_inner_all_of_end_time.py +++ b/cloudglue/sdk/models/chat_completion_response_choices_inner_citations_inner_all_of_end_time.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/chat_completion_response_choices_inner_citations_inner_all_of_relevant_sources_inner.py b/cloudglue/sdk/models/chat_completion_response_choices_inner_citations_inner_all_of_relevant_sources_inner.py index 731119ce..4a9b5ac5 100644 --- a/cloudglue/sdk/models/chat_completion_response_choices_inner_citations_inner_all_of_relevant_sources_inner.py +++ b/cloudglue/sdk/models/chat_completion_response_choices_inner_citations_inner_all_of_relevant_sources_inner.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/chat_completion_response_choices_inner_citations_inner_all_of_start_time.py b/cloudglue/sdk/models/chat_completion_response_choices_inner_citations_inner_all_of_start_time.py index 4c3b0abf..01616478 100644 --- a/cloudglue/sdk/models/chat_completion_response_choices_inner_citations_inner_all_of_start_time.py +++ b/cloudglue/sdk/models/chat_completion_response_choices_inner_citations_inner_all_of_start_time.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/chat_completion_response_usage.py b/cloudglue/sdk/models/chat_completion_response_usage.py index 4080a1f5..4f8a7bc7 100644 --- a/cloudglue/sdk/models/chat_completion_response_usage.py +++ b/cloudglue/sdk/models/chat_completion_response_usage.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/chat_message.py b/cloudglue/sdk/models/chat_message.py index b49825cf..84fb5cb8 100644 --- a/cloudglue/sdk/models/chat_message.py +++ b/cloudglue/sdk/models/chat_message.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/collection.py b/cloudglue/sdk/models/collection.py index 7bf9cd31..6166dceb 100644 --- a/cloudglue/sdk/models/collection.py +++ b/cloudglue/sdk/models/collection.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -57,8 +57,8 @@ def object_validate_enum(cls, value): @field_validator('collection_type') def collection_type_validate_enum(cls, value): """Validates the enum""" - if value not in set(['media-descriptions', 'entities', 'rich-transcripts', 'face-analysis']): - raise ValueError("must be one of enum values ('media-descriptions', 'entities', 'rich-transcripts', 'face-analysis')") + if value not in set(['media-descriptions', 'entities', 'rich-transcripts', 'face-analysis', 'metadata']): + raise ValueError("must be one of enum values ('media-descriptions', 'entities', 'rich-transcripts', 'face-analysis', 'metadata')") return value model_config = ConfigDict( diff --git a/cloudglue/sdk/models/collection_delete.py b/cloudglue/sdk/models/collection_delete.py index b40164ec..85bb7259 100644 --- a/cloudglue/sdk/models/collection_delete.py +++ b/cloudglue/sdk/models/collection_delete.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/collection_describe_config.py b/cloudglue/sdk/models/collection_describe_config.py index e1ec7321..234d70d3 100644 --- a/cloudglue/sdk/models/collection_describe_config.py +++ b/cloudglue/sdk/models/collection_describe_config.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/collection_entities_list.py b/cloudglue/sdk/models/collection_entities_list.py index 3d8e33ff..ac8460d9 100644 --- a/cloudglue/sdk/models/collection_entities_list.py +++ b/cloudglue/sdk/models/collection_entities_list.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/collection_entities_list_data_inner.py b/cloudglue/sdk/models/collection_entities_list_data_inner.py index d34fd5e1..d8a5fe9e 100644 --- a/cloudglue/sdk/models/collection_entities_list_data_inner.py +++ b/cloudglue/sdk/models/collection_entities_list_data_inner.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/collection_entities_list_data_inner_data.py b/cloudglue/sdk/models/collection_entities_list_data_inner_data.py index f0fa2814..1747384b 100644 --- a/cloudglue/sdk/models/collection_entities_list_data_inner_data.py +++ b/cloudglue/sdk/models/collection_entities_list_data_inner_data.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/collection_entities_list_data_inner_data_segment_entities_inner.py b/cloudglue/sdk/models/collection_entities_list_data_inner_data_segment_entities_inner.py index 22664679..90859a4a 100644 --- a/cloudglue/sdk/models/collection_entities_list_data_inner_data_segment_entities_inner.py +++ b/cloudglue/sdk/models/collection_entities_list_data_inner_data_segment_entities_inner.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/collection_extract_config.py b/cloudglue/sdk/models/collection_extract_config.py index d124ac89..0a03bed9 100644 --- a/cloudglue/sdk/models/collection_extract_config.py +++ b/cloudglue/sdk/models/collection_extract_config.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/collection_face_detection_config.py b/cloudglue/sdk/models/collection_face_detection_config.py index 7e74444d..bfde9c85 100644 --- a/cloudglue/sdk/models/collection_face_detection_config.py +++ b/cloudglue/sdk/models/collection_face_detection_config.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/collection_face_detection_config_frame_extraction_config.py b/cloudglue/sdk/models/collection_face_detection_config_frame_extraction_config.py index 855c7297..faa724a4 100644 --- a/cloudglue/sdk/models/collection_face_detection_config_frame_extraction_config.py +++ b/cloudglue/sdk/models/collection_face_detection_config_frame_extraction_config.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/collection_face_detection_config_frame_extraction_config_uniform_config.py b/cloudglue/sdk/models/collection_face_detection_config_frame_extraction_config_uniform_config.py index 7685f086..68a7fec3 100644 --- a/cloudglue/sdk/models/collection_face_detection_config_frame_extraction_config_uniform_config.py +++ b/cloudglue/sdk/models/collection_face_detection_config_frame_extraction_config_uniform_config.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/collection_face_detection_config_thumbnails_config.py b/cloudglue/sdk/models/collection_face_detection_config_thumbnails_config.py index ed676cd8..d0182191 100644 --- a/cloudglue/sdk/models/collection_face_detection_config_thumbnails_config.py +++ b/cloudglue/sdk/models/collection_face_detection_config_thumbnails_config.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/collection_file.py b/cloudglue/sdk/models/collection_file.py index 223e3468..3e0d6e57 100644 --- a/cloudglue/sdk/models/collection_file.py +++ b/cloudglue/sdk/models/collection_file.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/collection_file_delete.py b/cloudglue/sdk/models/collection_file_delete.py index d1aa7478..13a42aa4 100644 --- a/cloudglue/sdk/models/collection_file_delete.py +++ b/cloudglue/sdk/models/collection_file_delete.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/collection_file_list.py b/cloudglue/sdk/models/collection_file_list.py index 18c3bd0d..d04e0fa7 100644 --- a/cloudglue/sdk/models/collection_file_list.py +++ b/cloudglue/sdk/models/collection_file_list.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/collection_file_segmentation.py b/cloudglue/sdk/models/collection_file_segmentation.py index 47860c41..a4d3a407 100644 --- a/cloudglue/sdk/models/collection_file_segmentation.py +++ b/cloudglue/sdk/models/collection_file_segmentation.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/collection_list.py b/cloudglue/sdk/models/collection_list.py index a57f4f93..63f8f671 100644 --- a/cloudglue/sdk/models/collection_list.py +++ b/cloudglue/sdk/models/collection_list.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/collection_media_descriptions_list.py b/cloudglue/sdk/models/collection_media_descriptions_list.py index 30535edc..ba7091dc 100644 --- a/cloudglue/sdk/models/collection_media_descriptions_list.py +++ b/cloudglue/sdk/models/collection_media_descriptions_list.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/collection_media_descriptions_list_data_inner.py b/cloudglue/sdk/models/collection_media_descriptions_list_data_inner.py index 2942f764..cc4c835b 100644 --- a/cloudglue/sdk/models/collection_media_descriptions_list_data_inner.py +++ b/cloudglue/sdk/models/collection_media_descriptions_list_data_inner.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,6 +20,7 @@ from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr, field_validator from typing import Any, ClassVar, Dict, List, Optional, Union from cloudglue.sdk.models.collection_media_descriptions_list_data_inner_data import CollectionMediaDescriptionsListDataInnerData +from cloudglue.sdk.models.file import File from typing import Optional, Set from typing_extensions import Self @@ -32,7 +33,8 @@ class CollectionMediaDescriptionsListDataInner(BaseModel): object: StrictStr = Field(description="Object type, always 'collection_file'") duration_seconds: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Duration of the video in seconds") data: CollectionMediaDescriptionsListDataInnerData - __properties: ClassVar[List[str]] = ["file_id", "added_at", "object", "duration_seconds", "data"] + file: Optional[File] = Field(default=None, description="The file this document describes. `metadata` and `source_metadata` are only included when `include_metadata` is true.") + __properties: ClassVar[List[str]] = ["file_id", "added_at", "object", "duration_seconds", "data", "file"] @field_validator('object') def object_validate_enum(cls, value): @@ -83,6 +85,9 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of data if self.data: _dict['data'] = self.data.to_dict() + # override the default output from pydantic by calling `to_dict()` of file + if self.file: + _dict['file'] = self.file.to_dict() return _dict @classmethod @@ -99,7 +104,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "added_at": obj.get("added_at"), "object": obj.get("object"), "duration_seconds": obj.get("duration_seconds"), - "data": CollectionMediaDescriptionsListDataInnerData.from_dict(obj["data"]) if obj.get("data") is not None else None + "data": CollectionMediaDescriptionsListDataInnerData.from_dict(obj["data"]) if obj.get("data") is not None else None, + "file": File.from_dict(obj["file"]) if obj.get("file") is not None else None }) return _obj diff --git a/cloudglue/sdk/models/collection_media_descriptions_list_data_inner_data.py b/cloudglue/sdk/models/collection_media_descriptions_list_data_inner_data.py index 14d29e8e..2b162464 100644 --- a/cloudglue/sdk/models/collection_media_descriptions_list_data_inner_data.py +++ b/cloudglue/sdk/models/collection_media_descriptions_list_data_inner_data.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/collection_rich_transcripts_list.py b/cloudglue/sdk/models/collection_rich_transcripts_list.py index 62ea2ba6..3c36bb93 100644 --- a/cloudglue/sdk/models/collection_rich_transcripts_list.py +++ b/cloudglue/sdk/models/collection_rich_transcripts_list.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/collection_rich_transcripts_list_data_inner.py b/cloudglue/sdk/models/collection_rich_transcripts_list_data_inner.py index f0d3068a..5df6e718 100644 --- a/cloudglue/sdk/models/collection_rich_transcripts_list_data_inner.py +++ b/cloudglue/sdk/models/collection_rich_transcripts_list_data_inner.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,6 +20,7 @@ from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional, Union from cloudglue.sdk.models.collection_rich_transcripts_list_data_inner_data import CollectionRichTranscriptsListDataInnerData +from cloudglue.sdk.models.file import File from typing import Optional, Set from typing_extensions import Self @@ -30,7 +31,8 @@ class CollectionRichTranscriptsListDataInner(BaseModel): file_id: StrictStr = Field(description="ID of the file") duration_seconds: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Duration of the video in seconds") data: CollectionRichTranscriptsListDataInnerData - __properties: ClassVar[List[str]] = ["file_id", "duration_seconds", "data"] + file: Optional[File] = Field(default=None, description="The file this document describes. `metadata` and `source_metadata` are only included when `include_metadata` is true.") + __properties: ClassVar[List[str]] = ["file_id", "duration_seconds", "data", "file"] model_config = ConfigDict( populate_by_name=True, @@ -74,6 +76,9 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of data if self.data: _dict['data'] = self.data.to_dict() + # override the default output from pydantic by calling `to_dict()` of file + if self.file: + _dict['file'] = self.file.to_dict() return _dict @classmethod @@ -88,7 +93,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate({ "file_id": obj.get("file_id"), "duration_seconds": obj.get("duration_seconds"), - "data": CollectionRichTranscriptsListDataInnerData.from_dict(obj["data"]) if obj.get("data") is not None else None + "data": CollectionRichTranscriptsListDataInnerData.from_dict(obj["data"]) if obj.get("data") is not None else None, + "file": File.from_dict(obj["file"]) if obj.get("file") is not None else None }) return _obj diff --git a/cloudglue/sdk/models/collection_rich_transcripts_list_data_inner_data.py b/cloudglue/sdk/models/collection_rich_transcripts_list_data_inner_data.py index a96238c4..a2a4043c 100644 --- a/cloudglue/sdk/models/collection_rich_transcripts_list_data_inner_data.py +++ b/cloudglue/sdk/models/collection_rich_transcripts_list_data_inner_data.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/collection_transcribe_config.py b/cloudglue/sdk/models/collection_transcribe_config.py index e226aa83..6cdd99c4 100644 --- a/cloudglue/sdk/models/collection_transcribe_config.py +++ b/cloudglue/sdk/models/collection_transcribe_config.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/collection_update.py b/cloudglue/sdk/models/collection_update.py index b2e6f6eb..b2b44f30 100644 --- a/cloudglue/sdk/models/collection_update.py +++ b/cloudglue/sdk/models/collection_update.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/create_deep_search_request.py b/cloudglue/sdk/models/create_deep_search_request.py index 7820ae19..ee3db1c7 100644 --- a/cloudglue/sdk/models/create_deep_search_request.py +++ b/cloudglue/sdk/models/create_deep_search_request.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -30,7 +30,7 @@ class CreateDeepSearchRequest(BaseModel): """ # noqa: E501 knowledge_base: CreateDeepSearchRequestKnowledgeBase query: Annotated[str, Field(min_length=1, strict=True)] = Field(description="The search query.") - scope: Optional[StrictStr] = Field(default='segment', description="The scope of results to return. 'segment' returns individual segments, 'file' returns file-level results.") + scope: Optional[StrictStr] = Field(default='segment', description="The scope of results to return. 'segment' returns individual segments, 'file' returns file-level results. When the knowledge base contains any metadata collections, scope must be 'file' (metadata collections only index file-level documents).") limit: Optional[Annotated[int, Field(le=500, strict=True, ge=1)]] = Field(default=20, description="Maximum number of results to return. Actual count may be lower when exclude_weak_results is enabled.") exclude_weak_results: Optional[StrictBool] = Field(default=False, description="When true, removes results tagged as weak matches by the synthesis LLM.") include: Optional[List[StrictStr]] = Field(default=None, description="Additional fields to include in the response. 'search_queries' includes the intermediate search query plan.") diff --git a/cloudglue/sdk/models/create_deep_search_request_knowledge_base.py b/cloudglue/sdk/models/create_deep_search_request_knowledge_base.py index 3271e089..2bbe83a8 100644 --- a/cloudglue/sdk/models/create_deep_search_request_knowledge_base.py +++ b/cloudglue/sdk/models/create_deep_search_request_knowledge_base.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/create_file_frame_extraction_request.py b/cloudglue/sdk/models/create_file_frame_extraction_request.py index ed289d32..004f4a91 100644 --- a/cloudglue/sdk/models/create_file_frame_extraction_request.py +++ b/cloudglue/sdk/models/create_file_frame_extraction_request.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/create_file_segmentation_request.py b/cloudglue/sdk/models/create_file_segmentation_request.py index 94053937..e8986162 100644 --- a/cloudglue/sdk/models/create_file_segmentation_request.py +++ b/cloudglue/sdk/models/create_file_segmentation_request.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/create_response_request.py b/cloudglue/sdk/models/create_response_request.py index ec9e9ac8..8764f0b5 100644 --- a/cloudglue/sdk/models/create_response_request.py +++ b/cloudglue/sdk/models/create_response_request.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -30,7 +30,7 @@ class CreateResponseRequest(BaseModel): """ CreateResponseRequest """ # noqa: E501 - model: Annotated[str, Field(min_length=1, strict=True)] = Field(description="The model to use for generating the response. - `nimbus-001`: Fast general question answering model. Requires `knowledge_base`. Default temperature: 0.7. - `nimbus-002-preview`: Light reasoning model capable of multi-step reasoning, cross-video synthesis, and structured entity data. Requires `knowledge_base`. Supports `entity_collections` in the knowledge base. Default temperature: 1.") + model: Annotated[str, Field(min_length=1, strict=True)] = Field(description="The model to use for generating the response. - `nimbus-001`: Fast general question answering model. Requires `knowledge_base`. Default temperature: 0.7. - `nimbus-002-preview`: Light reasoning model capable of multi-step reasoning, cross-video synthesis, and structured entity data. Requires `knowledge_base`. Supports `entity_collections` in the knowledge base. Default temperature: 1. Metadata collections (`collection_type: 'metadata'`) in the knowledge base are only supported by `nimbus-002-preview` — its agent retrieves them at file granularity; `nimbus-001` rejects them (400).") input: CreateResponseRequestInput instructions: Optional[StrictStr] = Field(default=None, description="System instructions to guide the model's behavior (maps to developer/system message)") temperature: Optional[Union[Annotated[float, Field(le=2, strict=True, ge=0)], Annotated[int, Field(le=2, strict=True, ge=0)]]] = Field(default=None, description="Sampling temperature for the model. Defaults to 0.7 for nimbus-001 and 1 for nimbus-002-preview.") diff --git a/cloudglue/sdk/models/create_response_request_input.py b/cloudglue/sdk/models/create_response_request_input.py index 01f84d49..d65d97dd 100644 --- a/cloudglue/sdk/models/create_response_request_input.py +++ b/cloudglue/sdk/models/create_response_request_input.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/create_shareable_asset_request.py b/cloudglue/sdk/models/create_shareable_asset_request.py index c3350309..125ae189 100644 --- a/cloudglue/sdk/models/create_shareable_asset_request.py +++ b/cloudglue/sdk/models/create_shareable_asset_request.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/create_video_tag_request.py b/cloudglue/sdk/models/create_video_tag_request.py index 93478ab9..f9ba2bb5 100644 --- a/cloudglue/sdk/models/create_video_tag_request.py +++ b/cloudglue/sdk/models/create_video_tag_request.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/data_connector.py b/cloudglue/sdk/models/data_connector.py index 43687889..0d67c54d 100644 --- a/cloudglue/sdk/models/data_connector.py +++ b/cloudglue/sdk/models/data_connector.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -44,8 +44,8 @@ def object_validate_enum(cls, value): @field_validator('type') def type_validate_enum(cls, value): """Validates the enum""" - if value not in set(['s3', 'dropbox', 'google-drive', 'zoom', 'gong', 'recall', 'gcs', 'grain']): - raise ValueError("must be one of enum values ('s3', 'dropbox', 'google-drive', 'zoom', 'gong', 'recall', 'gcs', 'grain')") + if value not in set(['s3', 'dropbox', 'google-drive', 'zoom', 'gong', 'recall', 'gcs', 'grain', 'iconik']): + raise ValueError("must be one of enum values ('s3', 'dropbox', 'google-drive', 'zoom', 'gong', 'recall', 'gcs', 'grain', 'iconik')") return value model_config = ConfigDict( diff --git a/cloudglue/sdk/models/data_connector_file.py b/cloudglue/sdk/models/data_connector_file.py index d271d156..3069c903 100644 --- a/cloudglue/sdk/models/data_connector_file.py +++ b/cloudglue/sdk/models/data_connector_file.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/data_connector_file_list.py b/cloudglue/sdk/models/data_connector_file_list.py index 6f71825c..d0a42db0 100644 --- a/cloudglue/sdk/models/data_connector_file_list.py +++ b/cloudglue/sdk/models/data_connector_file_list.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/data_connector_file_metadata.py b/cloudglue/sdk/models/data_connector_file_metadata.py index cd4572fd..8da02496 100644 --- a/cloudglue/sdk/models/data_connector_file_metadata.py +++ b/cloudglue/sdk/models/data_connector_file_metadata.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/data_connector_list.py b/cloudglue/sdk/models/data_connector_list.py index 7cb9c915..c9cc8e33 100644 --- a/cloudglue/sdk/models/data_connector_list.py +++ b/cloudglue/sdk/models/data_connector_list.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/deep_search.py b/cloudglue/sdk/models/deep_search.py index 4b287841..3a46cd90 100644 --- a/cloudglue/sdk/models/deep_search.py +++ b/cloudglue/sdk/models/deep_search.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/deep_search_error.py b/cloudglue/sdk/models/deep_search_error.py index 7d80fd8e..8e18221b 100644 --- a/cloudglue/sdk/models/deep_search_error.py +++ b/cloudglue/sdk/models/deep_search_error.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/deep_search_kb_collections.py b/cloudglue/sdk/models/deep_search_kb_collections.py index 1b0e8852..219dc7c3 100644 --- a/cloudglue/sdk/models/deep_search_kb_collections.py +++ b/cloudglue/sdk/models/deep_search_kb_collections.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/deep_search_kb_default.py b/cloudglue/sdk/models/deep_search_kb_default.py index c586a2fa..ccfa1af8 100644 --- a/cloudglue/sdk/models/deep_search_kb_default.py +++ b/cloudglue/sdk/models/deep_search_kb_default.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/deep_search_kb_files.py b/cloudglue/sdk/models/deep_search_kb_files.py index 20a4fb05..6f08ceec 100644 --- a/cloudglue/sdk/models/deep_search_kb_files.py +++ b/cloudglue/sdk/models/deep_search_kb_files.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/deep_search_list.py b/cloudglue/sdk/models/deep_search_list.py index 0992e242..9a3c3e74 100644 --- a/cloudglue/sdk/models/deep_search_list.py +++ b/cloudglue/sdk/models/deep_search_list.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/deep_search_list_item.py b/cloudglue/sdk/models/deep_search_list_item.py index b084f433..ebd53d79 100644 --- a/cloudglue/sdk/models/deep_search_list_item.py +++ b/cloudglue/sdk/models/deep_search_list_item.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/deep_search_result.py b/cloudglue/sdk/models/deep_search_result.py index 548f91a1..0b458d5f 100644 --- a/cloudglue/sdk/models/deep_search_result.py +++ b/cloudglue/sdk/models/deep_search_result.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/deep_search_search_query_plan.py b/cloudglue/sdk/models/deep_search_search_query_plan.py index 39079083..29d2b52c 100644 --- a/cloudglue/sdk/models/deep_search_search_query_plan.py +++ b/cloudglue/sdk/models/deep_search_search_query_plan.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/deep_search_usage.py b/cloudglue/sdk/models/deep_search_usage.py index 22981a37..37b035a3 100644 --- a/cloudglue/sdk/models/deep_search_usage.py +++ b/cloudglue/sdk/models/deep_search_usage.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/default_segmentation_config.py b/cloudglue/sdk/models/default_segmentation_config.py index b8573ecc..e0552619 100644 --- a/cloudglue/sdk/models/default_segmentation_config.py +++ b/cloudglue/sdk/models/default_segmentation_config.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/delete_deep_search_result.py b/cloudglue/sdk/models/delete_deep_search_result.py index bad88cc9..5a13f3c7 100644 --- a/cloudglue/sdk/models/delete_deep_search_result.py +++ b/cloudglue/sdk/models/delete_deep_search_result.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/delete_describe200_response.py b/cloudglue/sdk/models/delete_describe200_response.py index 8cedc384..9ac82d1b 100644 --- a/cloudglue/sdk/models/delete_describe200_response.py +++ b/cloudglue/sdk/models/delete_describe200_response.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/delete_extract200_response.py b/cloudglue/sdk/models/delete_extract200_response.py index 4e4d59df..acd7fef4 100644 --- a/cloudglue/sdk/models/delete_extract200_response.py +++ b/cloudglue/sdk/models/delete_extract200_response.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/delete_face_detection200_response.py b/cloudglue/sdk/models/delete_face_detection200_response.py index 93add307..4fcad261 100644 --- a/cloudglue/sdk/models/delete_face_detection200_response.py +++ b/cloudglue/sdk/models/delete_face_detection200_response.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/delete_face_match200_response.py b/cloudglue/sdk/models/delete_face_match200_response.py index cc52896f..b9f6b28e 100644 --- a/cloudglue/sdk/models/delete_face_match200_response.py +++ b/cloudglue/sdk/models/delete_face_match200_response.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/delete_frame_extraction200_response.py b/cloudglue/sdk/models/delete_frame_extraction200_response.py index 96d9d99e..0fb7a547 100644 --- a/cloudglue/sdk/models/delete_frame_extraction200_response.py +++ b/cloudglue/sdk/models/delete_frame_extraction200_response.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/delete_response_result.py b/cloudglue/sdk/models/delete_response_result.py index be752abe..bac85af0 100644 --- a/cloudglue/sdk/models/delete_response_result.py +++ b/cloudglue/sdk/models/delete_response_result.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/delete_segmentation200_response.py b/cloudglue/sdk/models/delete_segmentation200_response.py index 201ab1fb..08dd3435 100644 --- a/cloudglue/sdk/models/delete_segmentation200_response.py +++ b/cloudglue/sdk/models/delete_segmentation200_response.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/delete_segments200_response.py b/cloudglue/sdk/models/delete_segments200_response.py index 76feeefe..7951edc0 100644 --- a/cloudglue/sdk/models/delete_segments200_response.py +++ b/cloudglue/sdk/models/delete_segments200_response.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/delete_shareable_asset200_response.py b/cloudglue/sdk/models/delete_shareable_asset200_response.py index a09e91e2..3e616e8a 100644 --- a/cloudglue/sdk/models/delete_shareable_asset200_response.py +++ b/cloudglue/sdk/models/delete_shareable_asset200_response.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/delete_tag200_response.py b/cloudglue/sdk/models/delete_tag200_response.py index 99b28f64..397e6581 100644 --- a/cloudglue/sdk/models/delete_tag200_response.py +++ b/cloudglue/sdk/models/delete_tag200_response.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/describe.py b/cloudglue/sdk/models/describe.py index e09a640c..efa5872f 100644 --- a/cloudglue/sdk/models/describe.py +++ b/cloudglue/sdk/models/describe.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -24,6 +24,7 @@ from cloudglue.sdk.models.describe_describe_config import DescribeDescribeConfig from cloudglue.sdk.models.extract_chapters_inner import ExtractChaptersInner from cloudglue.sdk.models.extract_shots_inner import ExtractShotsInner +from cloudglue.sdk.models.file import File from typing import Optional, Set from typing_extensions import Self @@ -46,7 +47,8 @@ class Describe(BaseModel): shots: Optional[List[ExtractShotsInner]] = Field(default=None, description="Array of shot boundaries (only present when include_shots=true and segmentation strategy is 'shot-detector')") total_chapters: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, description="Total number of chapters (only present when include_chapters=true and segmentation strategy is 'narrative')") total_shots: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, description="Total number of shots (only present when include_shots=true and segmentation strategy is 'shot-detector')") - __properties: ClassVar[List[str]] = ["job_id", "status", "url", "duration_seconds", "thumbnail_url", "created_at", "describe_config", "use_in_default_index", "data", "error", "segmentation_id", "chapters", "shots", "total_chapters", "total_shots"] + file: Optional[File] = Field(default=None, description="The file this document describes. `metadata` and `source_metadata` are only included when `include_metadata` is true.") + __properties: ClassVar[List[str]] = ["job_id", "status", "url", "duration_seconds", "thumbnail_url", "created_at", "describe_config", "use_in_default_index", "data", "error", "segmentation_id", "chapters", "shots", "total_chapters", "total_shots", "file"] @field_validator('status') def status_validate_enum(cls, value): @@ -114,6 +116,9 @@ def to_dict(self) -> Dict[str, Any]: if _item_shots: _items.append(_item_shots.to_dict()) _dict['shots'] = _items + # override the default output from pydantic by calling `to_dict()` of file + if self.file: + _dict['file'] = self.file.to_dict() return _dict @classmethod @@ -140,7 +145,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "chapters": [ExtractChaptersInner.from_dict(_item) for _item in obj["chapters"]] if obj.get("chapters") is not None else None, "shots": [ExtractShotsInner.from_dict(_item) for _item in obj["shots"]] if obj.get("shots") is not None else None, "total_chapters": obj.get("total_chapters"), - "total_shots": obj.get("total_shots") + "total_shots": obj.get("total_shots"), + "file": File.from_dict(obj["file"]) if obj.get("file") is not None else None }) return _obj diff --git a/cloudglue/sdk/models/describe_config.py b/cloudglue/sdk/models/describe_config.py index 50e85dbd..79027ed8 100644 --- a/cloudglue/sdk/models/describe_config.py +++ b/cloudglue/sdk/models/describe_config.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/describe_data.py b/cloudglue/sdk/models/describe_data.py index 10f395c7..12a37540 100644 --- a/cloudglue/sdk/models/describe_data.py +++ b/cloudglue/sdk/models/describe_data.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/describe_data_all_of_segment_summary_inner.py b/cloudglue/sdk/models/describe_data_all_of_segment_summary_inner.py index 6ae4ddf5..db667cb6 100644 --- a/cloudglue/sdk/models/describe_data_all_of_segment_summary_inner.py +++ b/cloudglue/sdk/models/describe_data_all_of_segment_summary_inner.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/describe_describe_config.py b/cloudglue/sdk/models/describe_describe_config.py index 71cc2c4d..3006ef1b 100644 --- a/cloudglue/sdk/models/describe_describe_config.py +++ b/cloudglue/sdk/models/describe_describe_config.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/describe_list.py b/cloudglue/sdk/models/describe_list.py index d774778a..3e5d0994 100644 --- a/cloudglue/sdk/models/describe_list.py +++ b/cloudglue/sdk/models/describe_list.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/describe_output.py b/cloudglue/sdk/models/describe_output.py index 60693e5d..22a5a74c 100644 --- a/cloudglue/sdk/models/describe_output.py +++ b/cloudglue/sdk/models/describe_output.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/describe_output_part.py b/cloudglue/sdk/models/describe_output_part.py index 479ecd63..9ff25f18 100644 --- a/cloudglue/sdk/models/describe_output_part.py +++ b/cloudglue/sdk/models/describe_output_part.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/detected_face.py b/cloudglue/sdk/models/detected_face.py index 0baa5610..6ccdc2bc 100644 --- a/cloudglue/sdk/models/detected_face.py +++ b/cloudglue/sdk/models/detected_face.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/dropbox_source_metadata.py b/cloudglue/sdk/models/dropbox_source_metadata.py index 94c32362..a1be5553 100644 --- a/cloudglue/sdk/models/dropbox_source_metadata.py +++ b/cloudglue/sdk/models/dropbox_source_metadata.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/dropbox_source_metadata_media_info.py b/cloudglue/sdk/models/dropbox_source_metadata_media_info.py index e371ec19..27e0c3cc 100644 --- a/cloudglue/sdk/models/dropbox_source_metadata_media_info.py +++ b/cloudglue/sdk/models/dropbox_source_metadata_media_info.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/entity_backed_knowledge_config.py b/cloudglue/sdk/models/entity_backed_knowledge_config.py index fce65a9b..b857ea8f 100644 --- a/cloudglue/sdk/models/entity_backed_knowledge_config.py +++ b/cloudglue/sdk/models/entity_backed_knowledge_config.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/entity_collection_config.py b/cloudglue/sdk/models/entity_collection_config.py index 34aab21a..8c8a225c 100644 --- a/cloudglue/sdk/models/entity_collection_config.py +++ b/cloudglue/sdk/models/entity_collection_config.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/error.py b/cloudglue/sdk/models/error.py index fc1928d2..31e1186f 100644 --- a/cloudglue/sdk/models/error.py +++ b/cloudglue/sdk/models/error.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/extract.py b/cloudglue/sdk/models/extract.py index c34dddd4..4e72b1c6 100644 --- a/cloudglue/sdk/models/extract.py +++ b/cloudglue/sdk/models/extract.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/extract_chapters_inner.py b/cloudglue/sdk/models/extract_chapters_inner.py index 3b79870f..13b8b441 100644 --- a/cloudglue/sdk/models/extract_chapters_inner.py +++ b/cloudglue/sdk/models/extract_chapters_inner.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/extract_data.py b/cloudglue/sdk/models/extract_data.py index 51901c03..7a8442d6 100644 --- a/cloudglue/sdk/models/extract_data.py +++ b/cloudglue/sdk/models/extract_data.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/extract_data_segment_entities_inner.py b/cloudglue/sdk/models/extract_data_segment_entities_inner.py index 09a6c80c..9ef94e4b 100644 --- a/cloudglue/sdk/models/extract_data_segment_entities_inner.py +++ b/cloudglue/sdk/models/extract_data_segment_entities_inner.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/extract_extract_config.py b/cloudglue/sdk/models/extract_extract_config.py index 6c95412d..91a3abbe 100644 --- a/cloudglue/sdk/models/extract_extract_config.py +++ b/cloudglue/sdk/models/extract_extract_config.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/extract_list.py b/cloudglue/sdk/models/extract_list.py index 57659d95..57911045 100644 --- a/cloudglue/sdk/models/extract_list.py +++ b/cloudglue/sdk/models/extract_list.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/extract_shots_inner.py b/cloudglue/sdk/models/extract_shots_inner.py index d2331af6..4561c14e 100644 --- a/cloudglue/sdk/models/extract_shots_inner.py +++ b/cloudglue/sdk/models/extract_shots_inner.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/face_bounding_box.py b/cloudglue/sdk/models/face_bounding_box.py index 41afd75b..7e275b98 100644 --- a/cloudglue/sdk/models/face_bounding_box.py +++ b/cloudglue/sdk/models/face_bounding_box.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/face_detection.py b/cloudglue/sdk/models/face_detection.py index ecc98e36..7fb17482 100644 --- a/cloudglue/sdk/models/face_detection.py +++ b/cloudglue/sdk/models/face_detection.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/face_detection_data.py b/cloudglue/sdk/models/face_detection_data.py index cbe12665..3455b35e 100644 --- a/cloudglue/sdk/models/face_detection_data.py +++ b/cloudglue/sdk/models/face_detection_data.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/face_detection_list_response.py b/cloudglue/sdk/models/face_detection_list_response.py index ed7d0c6d..2157e46e 100644 --- a/cloudglue/sdk/models/face_detection_list_response.py +++ b/cloudglue/sdk/models/face_detection_list_response.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/face_detection_list_response_all_of_data.py b/cloudglue/sdk/models/face_detection_list_response_all_of_data.py index 646f551b..7ec9ec8b 100644 --- a/cloudglue/sdk/models/face_detection_list_response_all_of_data.py +++ b/cloudglue/sdk/models/face_detection_list_response_all_of_data.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/face_detection_request.py b/cloudglue/sdk/models/face_detection_request.py index 2eaae9e0..766ca7c3 100644 --- a/cloudglue/sdk/models/face_detection_request.py +++ b/cloudglue/sdk/models/face_detection_request.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/face_group_result.py b/cloudglue/sdk/models/face_group_result.py index 14e97fff..27a98ffb 100644 --- a/cloudglue/sdk/models/face_group_result.py +++ b/cloudglue/sdk/models/face_group_result.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/face_match.py b/cloudglue/sdk/models/face_match.py index 1552a60a..21e2f7ed 100644 --- a/cloudglue/sdk/models/face_match.py +++ b/cloudglue/sdk/models/face_match.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/face_match_data.py b/cloudglue/sdk/models/face_match_data.py index 8c2f3b9c..2ebbde84 100644 --- a/cloudglue/sdk/models/face_match_data.py +++ b/cloudglue/sdk/models/face_match_data.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/face_match_list_response.py b/cloudglue/sdk/models/face_match_list_response.py index f73b1fac..e42a2317 100644 --- a/cloudglue/sdk/models/face_match_list_response.py +++ b/cloudglue/sdk/models/face_match_list_response.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/face_match_list_response_all_of_data.py b/cloudglue/sdk/models/face_match_list_response_all_of_data.py index 467ff81c..238fefbf 100644 --- a/cloudglue/sdk/models/face_match_list_response_all_of_data.py +++ b/cloudglue/sdk/models/face_match_list_response_all_of_data.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/face_match_request.py b/cloudglue/sdk/models/face_match_request.py index 2caaab79..bc180e37 100644 --- a/cloudglue/sdk/models/face_match_request.py +++ b/cloudglue/sdk/models/face_match_request.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/face_match_result.py b/cloudglue/sdk/models/face_match_result.py index b23c65ff..bf4b1da4 100644 --- a/cloudglue/sdk/models/face_match_result.py +++ b/cloudglue/sdk/models/face_match_result.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/face_search_result.py b/cloudglue/sdk/models/face_search_result.py index 3b096dc7..61251e54 100644 --- a/cloudglue/sdk/models/face_search_result.py +++ b/cloudglue/sdk/models/face_search_result.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/file.py b/cloudglue/sdk/models/file.py index 7e5e4c1a..fab95e09 100644 --- a/cloudglue/sdk/models/file.py +++ b/cloudglue/sdk/models/file.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -67,8 +67,8 @@ def source_validate_enum(cls, value): if value is None: return value - if value not in set(['video', 'youtube', 's3', 'dropbox', 'http', 'upload', 'google-drive', 'zoom', 'gong', 'recall', 'gcs', 'grain', 'loom']): - raise ValueError("must be one of enum values ('video', 'youtube', 's3', 'dropbox', 'http', 'upload', 'google-drive', 'zoom', 'gong', 'recall', 'gcs', 'grain', 'loom')") + if value not in set(['video', 'youtube', 's3', 'dropbox', 'http', 'upload', 'google-drive', 'zoom', 'gong', 'recall', 'gcs', 'grain', 'loom', 'iconik']): + raise ValueError("must be one of enum values ('video', 'youtube', 's3', 'dropbox', 'http', 'upload', 'google-drive', 'zoom', 'gong', 'recall', 'gcs', 'grain', 'loom', 'iconik')") return value model_config = ConfigDict( diff --git a/cloudglue/sdk/models/file_delete.py b/cloudglue/sdk/models/file_delete.py index 196492c2..5854e5b1 100644 --- a/cloudglue/sdk/models/file_delete.py +++ b/cloudglue/sdk/models/file_delete.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/file_entities.py b/cloudglue/sdk/models/file_entities.py index 5b49f76d..337d26b9 100644 --- a/cloudglue/sdk/models/file_entities.py +++ b/cloudglue/sdk/models/file_entities.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/file_face_detections.py b/cloudglue/sdk/models/file_face_detections.py index 2f89a1fa..2478a0be 100644 --- a/cloudglue/sdk/models/file_face_detections.py +++ b/cloudglue/sdk/models/file_face_detections.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/file_face_detections_faces_inner.py b/cloudglue/sdk/models/file_face_detections_faces_inner.py index aa0034ac..0e44899f 100644 --- a/cloudglue/sdk/models/file_face_detections_faces_inner.py +++ b/cloudglue/sdk/models/file_face_detections_faces_inner.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/file_face_detections_faces_inner_face_bounding_box.py b/cloudglue/sdk/models/file_face_detections_faces_inner_face_bounding_box.py index 90f32c8a..23ae8b3d 100644 --- a/cloudglue/sdk/models/file_face_detections_faces_inner_face_bounding_box.py +++ b/cloudglue/sdk/models/file_face_detections_faces_inner_face_bounding_box.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/file_list.py b/cloudglue/sdk/models/file_list.py index 1c69c4f4..a0085adb 100644 --- a/cloudglue/sdk/models/file_list.py +++ b/cloudglue/sdk/models/file_list.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/file_media_info.py b/cloudglue/sdk/models/file_media_info.py index 2725e209..07fbc0d2 100644 --- a/cloudglue/sdk/models/file_media_info.py +++ b/cloudglue/sdk/models/file_media_info.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/file_search_result.py b/cloudglue/sdk/models/file_search_result.py index d895a700..274c85de 100644 --- a/cloudglue/sdk/models/file_search_result.py +++ b/cloudglue/sdk/models/file_search_result.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/file_segment.py b/cloudglue/sdk/models/file_segment.py index 610e76fc..62bd7d64 100644 --- a/cloudglue/sdk/models/file_segment.py +++ b/cloudglue/sdk/models/file_segment.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/file_segment_list_response.py b/cloudglue/sdk/models/file_segment_list_response.py index 426f304b..b5156e2f 100644 --- a/cloudglue/sdk/models/file_segment_list_response.py +++ b/cloudglue/sdk/models/file_segment_list_response.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/file_segmentation_config.py b/cloudglue/sdk/models/file_segmentation_config.py index 690a70cc..2f4ebf01 100644 --- a/cloudglue/sdk/models/file_segmentation_config.py +++ b/cloudglue/sdk/models/file_segmentation_config.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/file_update.py b/cloudglue/sdk/models/file_update.py index 4bfe435d..90aaf8e0 100644 --- a/cloudglue/sdk/models/file_update.py +++ b/cloudglue/sdk/models/file_update.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/file_video_info.py b/cloudglue/sdk/models/file_video_info.py index 0b0790c9..999199d4 100644 --- a/cloudglue/sdk/models/file_video_info.py +++ b/cloudglue/sdk/models/file_video_info.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/frame_extraction.py b/cloudglue/sdk/models/frame_extraction.py index a65a74f4..43c2c6c0 100644 --- a/cloudglue/sdk/models/frame_extraction.py +++ b/cloudglue/sdk/models/frame_extraction.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/frame_extraction_config.py b/cloudglue/sdk/models/frame_extraction_config.py index 843a6b2e..c99e980f 100644 --- a/cloudglue/sdk/models/frame_extraction_config.py +++ b/cloudglue/sdk/models/frame_extraction_config.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/frame_extraction_data.py b/cloudglue/sdk/models/frame_extraction_data.py index 016d97f2..54c7e18c 100644 --- a/cloudglue/sdk/models/frame_extraction_data.py +++ b/cloudglue/sdk/models/frame_extraction_data.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/frame_extraction_data_frames_inner.py b/cloudglue/sdk/models/frame_extraction_data_frames_inner.py index 30bee441..ccd2f6da 100644 --- a/cloudglue/sdk/models/frame_extraction_data_frames_inner.py +++ b/cloudglue/sdk/models/frame_extraction_data_frames_inner.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/frame_extraction_list.py b/cloudglue/sdk/models/frame_extraction_list.py index 573d44fb..793681de 100644 --- a/cloudglue/sdk/models/frame_extraction_list.py +++ b/cloudglue/sdk/models/frame_extraction_list.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/frame_extraction_list_data_inner.py b/cloudglue/sdk/models/frame_extraction_list_data_inner.py index 221f0676..7449e173 100644 --- a/cloudglue/sdk/models/frame_extraction_list_data_inner.py +++ b/cloudglue/sdk/models/frame_extraction_list_data_inner.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/frame_extraction_thumbnails_config.py b/cloudglue/sdk/models/frame_extraction_thumbnails_config.py index 61cac523..f28a4258 100644 --- a/cloudglue/sdk/models/frame_extraction_thumbnails_config.py +++ b/cloudglue/sdk/models/frame_extraction_thumbnails_config.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/frame_extraction_uniform_config.py b/cloudglue/sdk/models/frame_extraction_uniform_config.py index 6b603b52..0938fb38 100644 --- a/cloudglue/sdk/models/frame_extraction_uniform_config.py +++ b/cloudglue/sdk/models/frame_extraction_uniform_config.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/gong_source_metadata.py b/cloudglue/sdk/models/gong_source_metadata.py index 61f8218f..635bfa71 100644 --- a/cloudglue/sdk/models/gong_source_metadata.py +++ b/cloudglue/sdk/models/gong_source_metadata.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/gong_source_metadata_parties_inner.py b/cloudglue/sdk/models/gong_source_metadata_parties_inner.py index 64a040f3..bc890c50 100644 --- a/cloudglue/sdk/models/gong_source_metadata_parties_inner.py +++ b/cloudglue/sdk/models/gong_source_metadata_parties_inner.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/gong_source_metadata_topics_inner.py b/cloudglue/sdk/models/gong_source_metadata_topics_inner.py index 916fb6de..8c0cd9c7 100644 --- a/cloudglue/sdk/models/gong_source_metadata_topics_inner.py +++ b/cloudglue/sdk/models/gong_source_metadata_topics_inner.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/gong_source_metadata_trackers_inner.py b/cloudglue/sdk/models/gong_source_metadata_trackers_inner.py index a9d728c2..4548f7f6 100644 --- a/cloudglue/sdk/models/gong_source_metadata_trackers_inner.py +++ b/cloudglue/sdk/models/gong_source_metadata_trackers_inner.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/google_drive_source_metadata.py b/cloudglue/sdk/models/google_drive_source_metadata.py index de45d0c8..3a07c965 100644 --- a/cloudglue/sdk/models/google_drive_source_metadata.py +++ b/cloudglue/sdk/models/google_drive_source_metadata.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/google_drive_source_metadata_last_modifying_user.py b/cloudglue/sdk/models/google_drive_source_metadata_last_modifying_user.py index d2132b42..d74e9987 100644 --- a/cloudglue/sdk/models/google_drive_source_metadata_last_modifying_user.py +++ b/cloudglue/sdk/models/google_drive_source_metadata_last_modifying_user.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/google_drive_source_metadata_owners_inner.py b/cloudglue/sdk/models/google_drive_source_metadata_owners_inner.py index c2ade310..bbe9687d 100644 --- a/cloudglue/sdk/models/google_drive_source_metadata_owners_inner.py +++ b/cloudglue/sdk/models/google_drive_source_metadata_owners_inner.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/google_drive_source_metadata_video_media_metadata.py b/cloudglue/sdk/models/google_drive_source_metadata_video_media_metadata.py index 97785748..303d38b6 100644 --- a/cloudglue/sdk/models/google_drive_source_metadata_video_media_metadata.py +++ b/cloudglue/sdk/models/google_drive_source_metadata_video_media_metadata.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/grain_source_metadata.py b/cloudglue/sdk/models/grain_source_metadata.py index 741e3590..3eb705ff 100644 --- a/cloudglue/sdk/models/grain_source_metadata.py +++ b/cloudglue/sdk/models/grain_source_metadata.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/grain_source_metadata_ai_action_items_inner.py b/cloudglue/sdk/models/grain_source_metadata_ai_action_items_inner.py index 135064d7..adbe489b 100644 --- a/cloudglue/sdk/models/grain_source_metadata_ai_action_items_inner.py +++ b/cloudglue/sdk/models/grain_source_metadata_ai_action_items_inner.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/grain_source_metadata_ai_action_items_inner_assignee.py b/cloudglue/sdk/models/grain_source_metadata_ai_action_items_inner_assignee.py index 7e376d8a..1b1fe502 100644 --- a/cloudglue/sdk/models/grain_source_metadata_ai_action_items_inner_assignee.py +++ b/cloudglue/sdk/models/grain_source_metadata_ai_action_items_inner_assignee.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/grain_source_metadata_ai_summary.py b/cloudglue/sdk/models/grain_source_metadata_ai_summary.py index 5b3b1ed8..9d369e45 100644 --- a/cloudglue/sdk/models/grain_source_metadata_ai_summary.py +++ b/cloudglue/sdk/models/grain_source_metadata_ai_summary.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/grain_source_metadata_calendar_event.py b/cloudglue/sdk/models/grain_source_metadata_calendar_event.py index 12865fdb..00fc7a51 100644 --- a/cloudglue/sdk/models/grain_source_metadata_calendar_event.py +++ b/cloudglue/sdk/models/grain_source_metadata_calendar_event.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/grain_source_metadata_hubspot.py b/cloudglue/sdk/models/grain_source_metadata_hubspot.py index 803ef6f6..8bcb27b0 100644 --- a/cloudglue/sdk/models/grain_source_metadata_hubspot.py +++ b/cloudglue/sdk/models/grain_source_metadata_hubspot.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/grain_source_metadata_meeting_type.py b/cloudglue/sdk/models/grain_source_metadata_meeting_type.py index 77caf5db..d829e07a 100644 --- a/cloudglue/sdk/models/grain_source_metadata_meeting_type.py +++ b/cloudglue/sdk/models/grain_source_metadata_meeting_type.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/grain_source_metadata_participants_inner.py b/cloudglue/sdk/models/grain_source_metadata_participants_inner.py index 9e8ca1b3..5e7f5f12 100644 --- a/cloudglue/sdk/models/grain_source_metadata_participants_inner.py +++ b/cloudglue/sdk/models/grain_source_metadata_participants_inner.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/grain_source_metadata_teams_inner.py b/cloudglue/sdk/models/grain_source_metadata_teams_inner.py index bc669a74..38641aa5 100644 --- a/cloudglue/sdk/models/grain_source_metadata_teams_inner.py +++ b/cloudglue/sdk/models/grain_source_metadata_teams_inner.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/iconik_source_metadata.py b/cloudglue/sdk/models/iconik_source_metadata.py new file mode 100644 index 00000000..104f86b3 --- /dev/null +++ b/cloudglue/sdk/models/iconik_source_metadata.py @@ -0,0 +1,176 @@ +# coding: utf-8 + +""" + Cloudglue API + + API for Cloudglue + + The version of the OpenAPI document: 0.7.11 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Optional, Set +from typing_extensions import Self + +class IconikSourceMetadata(BaseModel): + """ + Source provenance captured from iconik at ingest time. Signed download URLs are never included. + """ # noqa: E501 + source_type: StrictStr = Field(description="Discriminator identifying the upstream connector.") + iconik_asset_id: StrictStr = Field(description="iconik asset id.") + title: Optional[StrictStr] = Field(default=None, description="Asset title.") + media_type: Optional[StrictStr] = Field(default=None, description="iconik media type of the asset (e.g. video, audio).") + date_created: Optional[StrictStr] = Field(default=None, description="UTC time the asset was created in iconik.") + date_modified: Optional[StrictStr] = Field(default=None, description="UTC time the asset was last modified in iconik.") + duration_ms: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Asset duration in milliseconds, when iconik reports one.") + ingested_rendition: Optional[StrictStr] = Field(default=None, description="Which rendition Cloudglue downloaded: the web proxy (preferred) or the ORIGINAL file.") + iconik_url: Optional[StrictStr] = Field(default=None, description="Deep link to the asset page in iconik.") + external_id: Optional[StrictStr] = Field(default=None, description="External reference id set on the asset in iconik.") + created_by_user: Optional[StrictStr] = Field(default=None, description="iconik user id that created the asset.") + iconik_metadata: Optional[Dict[str, Any]] = Field(default=None, description="Custom metadata-view field values from iconik (customer-defined schemas, e.g. a screening view's UGC Title / Keywords / Categories), captured verbatim keyed by field name. Indexed into metadata-collection search documents and filterable via source_metadata.iconik_metadata. paths.") + __properties: ClassVar[List[str]] = ["source_type", "iconik_asset_id", "title", "media_type", "date_created", "date_modified", "duration_ms", "ingested_rendition", "iconik_url", "external_id", "created_by_user", "iconik_metadata"] + + @field_validator('source_type') + def source_type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['iconik']): + raise ValueError("must be one of enum values ('iconik')") + return value + + @field_validator('ingested_rendition') + def ingested_rendition_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['proxy', 'original']): + raise ValueError("must be one of enum values ('proxy', 'original')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of IconikSourceMetadata from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if title (nullable) is None + # and model_fields_set contains the field + if self.title is None and "title" in self.model_fields_set: + _dict['title'] = None + + # set to None if media_type (nullable) is None + # and model_fields_set contains the field + if self.media_type is None and "media_type" in self.model_fields_set: + _dict['media_type'] = None + + # set to None if date_created (nullable) is None + # and model_fields_set contains the field + if self.date_created is None and "date_created" in self.model_fields_set: + _dict['date_created'] = None + + # set to None if date_modified (nullable) is None + # and model_fields_set contains the field + if self.date_modified is None and "date_modified" in self.model_fields_set: + _dict['date_modified'] = None + + # set to None if duration_ms (nullable) is None + # and model_fields_set contains the field + if self.duration_ms is None and "duration_ms" in self.model_fields_set: + _dict['duration_ms'] = None + + # set to None if ingested_rendition (nullable) is None + # and model_fields_set contains the field + if self.ingested_rendition is None and "ingested_rendition" in self.model_fields_set: + _dict['ingested_rendition'] = None + + # set to None if iconik_url (nullable) is None + # and model_fields_set contains the field + if self.iconik_url is None and "iconik_url" in self.model_fields_set: + _dict['iconik_url'] = None + + # set to None if external_id (nullable) is None + # and model_fields_set contains the field + if self.external_id is None and "external_id" in self.model_fields_set: + _dict['external_id'] = None + + # set to None if created_by_user (nullable) is None + # and model_fields_set contains the field + if self.created_by_user is None and "created_by_user" in self.model_fields_set: + _dict['created_by_user'] = None + + # set to None if iconik_metadata (nullable) is None + # and model_fields_set contains the field + if self.iconik_metadata is None and "iconik_metadata" in self.model_fields_set: + _dict['iconik_metadata'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of IconikSourceMetadata from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "source_type": obj.get("source_type"), + "iconik_asset_id": obj.get("iconik_asset_id"), + "title": obj.get("title"), + "media_type": obj.get("media_type"), + "date_created": obj.get("date_created"), + "date_modified": obj.get("date_modified"), + "duration_ms": obj.get("duration_ms"), + "ingested_rendition": obj.get("ingested_rendition"), + "iconik_url": obj.get("iconik_url"), + "external_id": obj.get("external_id"), + "created_by_user": obj.get("created_by_user"), + "iconik_metadata": obj.get("iconik_metadata") + }) + return _obj + + diff --git a/cloudglue/sdk/models/keyframe_config.py b/cloudglue/sdk/models/keyframe_config.py index a731a219..f6f3a22e 100644 --- a/cloudglue/sdk/models/keyframe_config.py +++ b/cloudglue/sdk/models/keyframe_config.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/knowledge_base_collections.py b/cloudglue/sdk/models/knowledge_base_collections.py index 5addd627..331d67c8 100644 --- a/cloudglue/sdk/models/knowledge_base_collections.py +++ b/cloudglue/sdk/models/knowledge_base_collections.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/knowledge_base_default.py b/cloudglue/sdk/models/knowledge_base_default.py index 0e6b6697..ed620f7d 100644 --- a/cloudglue/sdk/models/knowledge_base_default.py +++ b/cloudglue/sdk/models/knowledge_base_default.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/knowledge_base_files.py b/cloudglue/sdk/models/knowledge_base_files.py index f600174f..23f2743c 100644 --- a/cloudglue/sdk/models/knowledge_base_files.py +++ b/cloudglue/sdk/models/knowledge_base_files.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/list_video_tags_response.py b/cloudglue/sdk/models/list_video_tags_response.py index 0ed70705..db53aa5e 100644 --- a/cloudglue/sdk/models/list_video_tags_response.py +++ b/cloudglue/sdk/models/list_video_tags_response.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/media_description.py b/cloudglue/sdk/models/media_description.py index 8cb7346e..fae39f74 100644 --- a/cloudglue/sdk/models/media_description.py +++ b/cloudglue/sdk/models/media_description.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -24,6 +24,7 @@ from cloudglue.sdk.models.describe_output_part import DescribeOutputPart from cloudglue.sdk.models.extract_chapters_inner import ExtractChaptersInner from cloudglue.sdk.models.extract_shots_inner import ExtractShotsInner +from cloudglue.sdk.models.file import File from cloudglue.sdk.models.speech_output_part import SpeechOutputPart from typing import Optional, Set from typing_extensions import Self @@ -48,7 +49,8 @@ class MediaDescription(BaseModel): shots: Optional[List[ExtractShotsInner]] = Field(default=None, description="Array of shot boundaries (only present when include_shots=true and segmentation strategy is 'shot-detector')") total_chapters: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, description="Total number of chapters (only present when include_chapters=true and segmentation strategy is 'narrative')") total_shots: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, description="Total number of shots (only present when include_shots=true and segmentation strategy is 'shot-detector')") - __properties: ClassVar[List[str]] = ["visual_scene_description", "scene_text", "speech", "audio_description", "collection_id", "file_id", "thumbnail_url", "content", "title", "summary", "duration_seconds", "segment_summary", "chapters", "shots", "total_chapters", "total_shots"] + file: Optional[File] = Field(default=None, description="The file this document describes. `metadata` and `source_metadata` are only included when `include_metadata` is true.") + __properties: ClassVar[List[str]] = ["visual_scene_description", "scene_text", "speech", "audio_description", "collection_id", "file_id", "thumbnail_url", "content", "title", "summary", "duration_seconds", "segment_summary", "chapters", "shots", "total_chapters", "total_shots", "file"] model_config = ConfigDict( populate_by_name=True, @@ -138,6 +140,9 @@ def to_dict(self) -> Dict[str, Any]: if _item_shots: _items.append(_item_shots.to_dict()) _dict['shots'] = _items + # override the default output from pydantic by calling `to_dict()` of file + if self.file: + _dict['file'] = self.file.to_dict() return _dict @classmethod @@ -165,7 +170,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "chapters": [ExtractChaptersInner.from_dict(_item) for _item in obj["chapters"]] if obj.get("chapters") is not None else None, "shots": [ExtractShotsInner.from_dict(_item) for _item in obj["shots"]] if obj.get("shots") is not None else None, "total_chapters": obj.get("total_chapters"), - "total_shots": obj.get("total_shots") + "total_shots": obj.get("total_shots"), + "file": File.from_dict(obj["file"]) if obj.get("file") is not None else None }) return _obj diff --git a/cloudglue/sdk/models/narrative_config.py b/cloudglue/sdk/models/narrative_config.py index e648f0d4..19e9cb8a 100644 --- a/cloudglue/sdk/models/narrative_config.py +++ b/cloudglue/sdk/models/narrative_config.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/new_collection.py b/cloudglue/sdk/models/new_collection.py index 2b14ba5c..083a97bd 100644 --- a/cloudglue/sdk/models/new_collection.py +++ b/cloudglue/sdk/models/new_collection.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -32,7 +32,7 @@ class NewCollection(BaseModel): """ NewCollection """ # noqa: E501 - collection_type: StrictStr = Field(description="Type of collection, determines how videos are processed and what data is extracted. **Collection Types:** - **media-descriptions**: Generate comprehensive media descriptions with speech, visual, and text analysis (use `describe_config`) - **entities**: Extract structured data/entities from videos (requires `extract_config`) - **rich-transcripts**: Generate rich transcriptions with speech and visual descriptions (use `transcribe_config`). For backward compatibility only, new collections should use `media-descriptions` instead. - **face-analysis**: Detect and index faces in videos for face matching and search (use `face_detection_config`) ⚠️ **Important**: Only provide the config that matches your collection_type. Other configs will be ignored.") + collection_type: StrictStr = Field(description="Type of collection, determines how videos are processed and what data is extracted. **Collection Types:** - **media-descriptions**: Generate comprehensive media descriptions with speech, visual, and text analysis (use `describe_config`) - **entities**: Extract structured data/entities from videos (requires `extract_config`) - **rich-transcripts**: Generate rich transcriptions with speech and visual descriptions (use `transcribe_config`). For backward compatibility only, new collections should use `media-descriptions` instead. - **face-analysis**: Detect and index faces in videos for face matching and search (use `face_detection_config`) - **metadata**: Index connector source metadata + user metadata into file-level search documents WITHOUT downloading or processing the media. Free to index. Supports google-drive, dropbox, zoom, gong, recall, grain, and iconik URLs. No processing configs are accepted. ⚠️ **Important**: Only provide the config that matches your collection_type. Other configs will be ignored.") name: StrictStr = Field(description="Name of the collection (must be unique within an organization)") description: Optional[StrictStr] = Field(default=None, description="Description of the collection's purpose or contents, null if none provided") describe_config: Optional[NewCollectionDescribeConfig] = None @@ -46,8 +46,8 @@ class NewCollection(BaseModel): @field_validator('collection_type') def collection_type_validate_enum(cls, value): """Validates the enum""" - if value not in set(['media-descriptions', 'entities', 'rich-transcripts', 'face-analysis']): - raise ValueError("must be one of enum values ('media-descriptions', 'entities', 'rich-transcripts', 'face-analysis')") + if value not in set(['media-descriptions', 'entities', 'rich-transcripts', 'face-analysis', 'metadata']): + raise ValueError("must be one of enum values ('media-descriptions', 'entities', 'rich-transcripts', 'face-analysis', 'metadata')") return value model_config = ConfigDict( diff --git a/cloudglue/sdk/models/new_collection_describe_config.py b/cloudglue/sdk/models/new_collection_describe_config.py index 5fa47caf..08949637 100644 --- a/cloudglue/sdk/models/new_collection_describe_config.py +++ b/cloudglue/sdk/models/new_collection_describe_config.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/new_collection_extract_config.py b/cloudglue/sdk/models/new_collection_extract_config.py index 23066412..5e5742d8 100644 --- a/cloudglue/sdk/models/new_collection_extract_config.py +++ b/cloudglue/sdk/models/new_collection_extract_config.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/new_collection_face_detection_config.py b/cloudglue/sdk/models/new_collection_face_detection_config.py index 0925175f..d3402ad1 100644 --- a/cloudglue/sdk/models/new_collection_face_detection_config.py +++ b/cloudglue/sdk/models/new_collection_face_detection_config.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/new_collection_transcribe_config.py b/cloudglue/sdk/models/new_collection_transcribe_config.py index c4146e96..72871e20 100644 --- a/cloudglue/sdk/models/new_collection_transcribe_config.py +++ b/cloudglue/sdk/models/new_collection_transcribe_config.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/new_describe.py b/cloudglue/sdk/models/new_describe.py index 59c2940f..b2f2f3e0 100644 --- a/cloudglue/sdk/models/new_describe.py +++ b/cloudglue/sdk/models/new_describe.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -43,7 +43,8 @@ class NewDescribe(BaseModel): include_shots: Optional[StrictBool] = Field(default=False, description="Include shot boundaries in the response when segmentation strategy is 'shot-detector'. Only affects cached completed results; newly created pending jobs do not include shots.") use_in_default_index: Optional[StrictBool] = Field(default=None, description="When true, the video's search documents will be added to the account's default index, making them searchable via the Response API and Deep Search API with `source: 'default'`.") participants: Optional[Annotated[List[NewDescribeAllOfParticipants], Field(max_length=50)]] = Field(default=None, description="Known participants on the recording. When provided, speaker naming is constrained to these people: transcript speaker labels will only use one of these names (or a generic \"Speaker N\"), never an invented name. Intended for uploaded files, which (unlike data-connector files such as Grain) carry no participant metadata; for connector files this is populated automatically and need not be supplied.") - __properties: ClassVar[List[str]] = ["segmentation_id", "segmentation_config", "url", "enable_summary", "enable_speech", "enable_visual_scene_description", "enable_scene_text", "enable_audio_description", "thumbnails_config", "include_chapters", "include_shots", "use_in_default_index", "participants"] + include_metadata: Optional[StrictBool] = Field(default=False, description="Include the file's user-defined metadata and source metadata on the returned `file` object.") + __properties: ClassVar[List[str]] = ["segmentation_id", "segmentation_config", "url", "enable_summary", "enable_speech", "enable_visual_scene_description", "enable_scene_text", "enable_audio_description", "thumbnails_config", "include_chapters", "include_shots", "use_in_default_index", "participants", "include_metadata"] model_config = ConfigDict( populate_by_name=True, @@ -121,7 +122,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "include_chapters": obj.get("include_chapters") if obj.get("include_chapters") is not None else False, "include_shots": obj.get("include_shots") if obj.get("include_shots") is not None else False, "use_in_default_index": obj.get("use_in_default_index"), - "participants": [NewDescribeAllOfParticipants.from_dict(_item) for _item in obj["participants"]] if obj.get("participants") is not None else None + "participants": [NewDescribeAllOfParticipants.from_dict(_item) for _item in obj["participants"]] if obj.get("participants") is not None else None, + "include_metadata": obj.get("include_metadata") if obj.get("include_metadata") is not None else False }) return _obj diff --git a/cloudglue/sdk/models/new_describe_all_of_participants.py b/cloudglue/sdk/models/new_describe_all_of_participants.py index ac55699d..6e12ae2b 100644 --- a/cloudglue/sdk/models/new_describe_all_of_participants.py +++ b/cloudglue/sdk/models/new_describe_all_of_participants.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/new_extract.py b/cloudglue/sdk/models/new_extract.py index 17953ce8..d0624b1a 100644 --- a/cloudglue/sdk/models/new_extract.py +++ b/cloudglue/sdk/models/new_extract.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/new_segments.py b/cloudglue/sdk/models/new_segments.py index 8fd64edd..52791ce9 100644 --- a/cloudglue/sdk/models/new_segments.py +++ b/cloudglue/sdk/models/new_segments.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/new_transcribe.py b/cloudglue/sdk/models/new_transcribe.py index 440c6efb..54565260 100644 --- a/cloudglue/sdk/models/new_transcribe.py +++ b/cloudglue/sdk/models/new_transcribe.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -37,7 +37,8 @@ class NewTranscribe(BaseModel): enable_scene_text: Optional[StrictBool] = Field(default=None, description="Whether to generate scene text extraction") enable_audio_description: Optional[StrictBool] = Field(default=None, description="Whether to generate audio description") thumbnails_config: Optional[ThumbnailsConfig] = None - __properties: ClassVar[List[str]] = ["segmentation_id", "segmentation_config", "url", "enable_summary", "enable_speech", "enable_visual_scene_description", "enable_scene_text", "enable_audio_description", "thumbnails_config"] + include_metadata: Optional[StrictBool] = Field(default=False, description="Include the file's user-defined metadata and source metadata on the returned `file` object.") + __properties: ClassVar[List[str]] = ["segmentation_id", "segmentation_config", "url", "enable_summary", "enable_speech", "enable_visual_scene_description", "enable_scene_text", "enable_audio_description", "thumbnails_config", "include_metadata"] model_config = ConfigDict( populate_by_name=True, @@ -104,7 +105,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "enable_visual_scene_description": obj.get("enable_visual_scene_description"), "enable_scene_text": obj.get("enable_scene_text"), "enable_audio_description": obj.get("enable_audio_description"), - "thumbnails_config": ThumbnailsConfig.from_dict(obj["thumbnails_config"]) if obj.get("thumbnails_config") is not None else None + "thumbnails_config": ThumbnailsConfig.from_dict(obj["thumbnails_config"]) if obj.get("thumbnails_config") is not None else None, + "include_metadata": obj.get("include_metadata") if obj.get("include_metadata") is not None else False }) return _obj diff --git a/cloudglue/sdk/models/pagination_response.py b/cloudglue/sdk/models/pagination_response.py index 9ec3c51e..c12b7ee6 100644 --- a/cloudglue/sdk/models/pagination_response.py +++ b/cloudglue/sdk/models/pagination_response.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/recall_source_metadata.py b/cloudglue/sdk/models/recall_source_metadata.py index 1cf3c0fd..4f1198de 100644 --- a/cloudglue/sdk/models/recall_source_metadata.py +++ b/cloudglue/sdk/models/recall_source_metadata.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/response.py b/cloudglue/sdk/models/response.py index db676b0c..054c82da 100644 --- a/cloudglue/sdk/models/response.py +++ b/cloudglue/sdk/models/response.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/response_annotation.py b/cloudglue/sdk/models/response_annotation.py index 2ac225f6..f921cf7a 100644 --- a/cloudglue/sdk/models/response_annotation.py +++ b/cloudglue/sdk/models/response_annotation.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/response_error.py b/cloudglue/sdk/models/response_error.py index 995b89d6..64a435f4 100644 --- a/cloudglue/sdk/models/response_error.py +++ b/cloudglue/sdk/models/response_error.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/response_input_content.py b/cloudglue/sdk/models/response_input_content.py index deb9fecd..7ccd8e3f 100644 --- a/cloudglue/sdk/models/response_input_content.py +++ b/cloudglue/sdk/models/response_input_content.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/response_input_message.py b/cloudglue/sdk/models/response_input_message.py index a501c835..ca294cc3 100644 --- a/cloudglue/sdk/models/response_input_message.py +++ b/cloudglue/sdk/models/response_input_message.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/response_knowledge_base.py b/cloudglue/sdk/models/response_knowledge_base.py index 611ba7ff..cd3c1c78 100644 --- a/cloudglue/sdk/models/response_knowledge_base.py +++ b/cloudglue/sdk/models/response_knowledge_base.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/response_list.py b/cloudglue/sdk/models/response_list.py index 95e8e061..736be8c8 100644 --- a/cloudglue/sdk/models/response_list.py +++ b/cloudglue/sdk/models/response_list.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/response_list_item.py b/cloudglue/sdk/models/response_list_item.py index 8ddef76f..aadf92ca 100644 --- a/cloudglue/sdk/models/response_list_item.py +++ b/cloudglue/sdk/models/response_list_item.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/response_output_content.py b/cloudglue/sdk/models/response_output_content.py index 10637fd9..3a64c121 100644 --- a/cloudglue/sdk/models/response_output_content.py +++ b/cloudglue/sdk/models/response_output_content.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/response_output_message.py b/cloudglue/sdk/models/response_output_message.py index e5cfec56..a329cf84 100644 --- a/cloudglue/sdk/models/response_output_message.py +++ b/cloudglue/sdk/models/response_output_message.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/response_tool_definition.py b/cloudglue/sdk/models/response_tool_definition.py index 20f5711d..45ed703e 100644 --- a/cloudglue/sdk/models/response_tool_definition.py +++ b/cloudglue/sdk/models/response_tool_definition.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/response_usage.py b/cloudglue/sdk/models/response_usage.py index 938ca636..390aa47f 100644 --- a/cloudglue/sdk/models/response_usage.py +++ b/cloudglue/sdk/models/response_usage.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/rich_transcript.py b/cloudglue/sdk/models/rich_transcript.py index 0a62d041..2ea02144 100644 --- a/cloudglue/sdk/models/rich_transcript.py +++ b/cloudglue/sdk/models/rich_transcript.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,6 +20,7 @@ from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional, Union from cloudglue.sdk.models.describe_output_part import DescribeOutputPart +from cloudglue.sdk.models.file import File from cloudglue.sdk.models.speech_output_part import SpeechOutputPart from cloudglue.sdk.models.transcribe_data_all_of_segment_summary_inner import TranscribeDataAllOfSegmentSummaryInner from typing import Optional, Set @@ -40,7 +41,8 @@ class RichTranscript(BaseModel): summary: Optional[StrictStr] = Field(default=None, description="Generated video level summary") duration_seconds: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Duration of the video in seconds") segment_summary: Optional[List[TranscribeDataAllOfSegmentSummaryInner]] = Field(default=None, description="Array of summary information for each segment of the video. Only available when enable_summary is set to true in the transcribe configuration.") - __properties: ClassVar[List[str]] = ["visual_scene_description", "scene_text", "speech", "audio_description", "collection_id", "file_id", "content", "title", "summary", "duration_seconds", "segment_summary"] + file: Optional[File] = Field(default=None, description="The file this document describes. `metadata` and `source_metadata` are only included when `include_metadata` is true.") + __properties: ClassVar[List[str]] = ["visual_scene_description", "scene_text", "speech", "audio_description", "collection_id", "file_id", "content", "title", "summary", "duration_seconds", "segment_summary", "file"] model_config = ConfigDict( populate_by_name=True, @@ -116,6 +118,9 @@ def to_dict(self) -> Dict[str, Any]: if _item_segment_summary: _items.append(_item_segment_summary.to_dict()) _dict['segment_summary'] = _items + # override the default output from pydantic by calling `to_dict()` of file + if self.file: + _dict['file'] = self.file.to_dict() return _dict @classmethod @@ -138,7 +143,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "title": obj.get("title"), "summary": obj.get("summary"), "duration_seconds": obj.get("duration_seconds"), - "segment_summary": [TranscribeDataAllOfSegmentSummaryInner.from_dict(_item) for _item in obj["segment_summary"]] if obj.get("segment_summary") is not None else None + "segment_summary": [TranscribeDataAllOfSegmentSummaryInner.from_dict(_item) for _item in obj["segment_summary"]] if obj.get("segment_summary") is not None else None, + "file": File.from_dict(obj["file"]) if obj.get("file") is not None else None }) return _obj diff --git a/cloudglue/sdk/models/search_filter.py b/cloudglue/sdk/models/search_filter.py index 4b58c7b7..dc3dd437 100644 --- a/cloudglue/sdk/models/search_filter.py +++ b/cloudglue/sdk/models/search_filter.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -19,6 +19,7 @@ from pydantic import BaseModel, ConfigDict, Field from typing import Any, ClassVar, Dict, List, Optional +from cloudglue.sdk.models.search_filter_criteria import SearchFilterCriteria from cloudglue.sdk.models.search_filter_file_inner import SearchFilterFileInner from cloudglue.sdk.models.search_filter_metadata_inner import SearchFilterMetadataInner from cloudglue.sdk.models.search_filter_video_info_inner import SearchFilterVideoInfoInner @@ -32,7 +33,8 @@ class SearchFilter(BaseModel): metadata: Optional[List[SearchFilterMetadataInner]] = Field(default=None, description="Filter by file metadata using JSON path expressions") video_info: Optional[List[SearchFilterVideoInfoInner]] = Field(default=None, description="Filter by video information. Use scope 'file' to filter by source video properties, or 'segment' to filter by individual segment properties (e.g. segment duration).") file: Optional[List[SearchFilterFileInner]] = Field(default=None, description="Filter by file properties") - __properties: ClassVar[List[str]] = ["metadata", "video_info", "file"] + source_metadata: Optional[List[SearchFilterCriteria]] = Field(default=None, description="Filter by connector-provided source metadata using JSON path expressions (file scope only). Available fields depend on the file's source. Examples: source_metadata.topic (zoom), source_metadata.host_email (zoom), source_metadata.title (gong/grain/iconik), source_metadata.participants.name (grain), source_metadata.parties.email (gong), source_metadata.tags (grain, use ContainsAny), source_metadata.meeting_platform (recall), source_metadata.name (google-drive/dropbox), source_metadata.media_type (iconik), source_metadata.iconik_metadata. (iconik custom metadata-view fields, e.g. source_metadata.iconik_metadata.Keywords with ContainsAny). Paths through arrays of objects match when ANY element matches. ISO datetime fields (zoom start_time, gong started, grain start_datetime, recall started_at, iconik date_created) compare as strings with LessThan/GreaterThan and represent the actual meeting date (or, for iconik, the asset creation date).") + __properties: ClassVar[List[str]] = ["metadata", "video_info", "file", "source_metadata"] model_config = ConfigDict( populate_by_name=True, @@ -94,6 +96,13 @@ def to_dict(self) -> Dict[str, Any]: if _item_file: _items.append(_item_file.to_dict()) _dict['file'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in source_metadata (list) + _items = [] + if self.source_metadata: + for _item_source_metadata in self.source_metadata: + if _item_source_metadata: + _items.append(_item_source_metadata.to_dict()) + _dict['source_metadata'] = _items return _dict @classmethod @@ -108,7 +117,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate({ "metadata": [SearchFilterMetadataInner.from_dict(_item) for _item in obj["metadata"]] if obj.get("metadata") is not None else None, "video_info": [SearchFilterVideoInfoInner.from_dict(_item) for _item in obj["video_info"]] if obj.get("video_info") is not None else None, - "file": [SearchFilterFileInner.from_dict(_item) for _item in obj["file"]] if obj.get("file") is not None else None + "file": [SearchFilterFileInner.from_dict(_item) for _item in obj["file"]] if obj.get("file") is not None else None, + "source_metadata": [SearchFilterCriteria.from_dict(_item) for _item in obj["source_metadata"]] if obj.get("source_metadata") is not None else None }) return _obj diff --git a/cloudglue/sdk/models/search_filter_criteria.py b/cloudglue/sdk/models/search_filter_criteria.py index 70c12661..a046de21 100644 --- a/cloudglue/sdk/models/search_filter_criteria.py +++ b/cloudglue/sdk/models/search_filter_criteria.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/search_filter_file_inner.py b/cloudglue/sdk/models/search_filter_file_inner.py index 8d96ef5e..e7e2fa5b 100644 --- a/cloudglue/sdk/models/search_filter_file_inner.py +++ b/cloudglue/sdk/models/search_filter_file_inner.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/search_filter_metadata_inner.py b/cloudglue/sdk/models/search_filter_metadata_inner.py index 29a48121..82d32bec 100644 --- a/cloudglue/sdk/models/search_filter_metadata_inner.py +++ b/cloudglue/sdk/models/search_filter_metadata_inner.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/search_filter_video_info_inner.py b/cloudglue/sdk/models/search_filter_video_info_inner.py index d47227fc..3b8be335 100644 --- a/cloudglue/sdk/models/search_filter_video_info_inner.py +++ b/cloudglue/sdk/models/search_filter_video_info_inner.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/search_request.py b/cloudglue/sdk/models/search_request.py index 18e1ee02..8302f44a 100644 --- a/cloudglue/sdk/models/search_request.py +++ b/cloudglue/sdk/models/search_request.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -38,7 +38,7 @@ class SearchRequest(BaseModel): threshold: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Minimum score threshold to filter results. Can be any real number.") group_by_key: Optional[StrictStr] = Field(default=None, description="Group results by file. Cannot be used with scope=\"file\". When specified, results are grouped by file_id.") sort_by: Optional[StrictStr] = Field(default=None, description="Sort order for results. Default: \"score\". When group_by_key is specified, can also use \"item_count\" to sort by number of items per group.") - search_modalities: Optional[Annotated[List[StrictStr], Field(max_length=5)]] = Field(default=None, description="Specifies the type(s) of search to execute. When multiple modalities are specified, a hybrid search is executed that combines results from each modality. Available modalities: - `general_content`: baseline for matching the content of the search item (file/segment) based on visual or spoken content similarity to provided short natural language query string - `speech_lexical`: performs keyword based search (e.g. query of `president` matching `president` or `presidential` strings) and exact match (e.g. specifically find mentions of `\"Barack Obama\"` or `\"Donald Trump\"`) against speech content present in search item - `ocr_lexical`: performs keyword based search and exact match against screen text content present in search item - `tag_semantic`: performs basic word semantic similarity search against tag values associated with search items (e.g. `query=animal` expected to match tags with value containing `dog` or `cat`) - `tag_lexical`: performs keyword based search and exact match against tag values associated with search items Only applicable when search `scope=file` or `scope=segment`. ") + search_modalities: Optional[Annotated[List[StrictStr], Field(max_length=5)]] = Field(default=None, description="Specifies the type(s) of search to execute. When multiple modalities are specified, a hybrid search is executed that combines results from each modality. Available modalities: - `general_content`: baseline for matching the content of the search item (file/segment) based on visual or spoken content similarity to provided short natural language query string - `speech_lexical`: performs keyword based search (e.g. query of `president` matching `president` or `presidential` strings) and exact match (e.g. specifically find mentions of `\"Barack Obama\"` or `\"Donald Trump\"`) against speech content present in search item - `ocr_lexical`: performs keyword based search and exact match against screen text content present in search item - `tag_semantic`: performs basic word semantic similarity search against tag values associated with search items (e.g. `query=animal` expected to match tags with value containing `dog` or `cat`) - `tag_lexical`: performs keyword based search and exact match against tag values associated with search items - `doc_lexical`: performs keyword based search and exact match against file-level documents (metadata-collection docs and generated summaries). Only applicable when search `scope=file`. Only applicable when search `scope=file` or `scope=segment`. ") label_filters: Optional[List[StrictStr]] = Field(default=None, description="Filter eligible search items by presence of one or more labels in the provided list (otherwise all tags will be considered in search response). Only supported for `tag_semantic` and `tag_lexical` search modalities ") __properties: ClassVar[List[str]] = ["scope", "collections", "query", "source_image", "limit", "filter", "threshold", "group_by_key", "sort_by", "search_modalities", "label_filters"] @@ -79,8 +79,8 @@ def search_modalities_validate_enum(cls, value): return value for i in value: - if i not in set(['general_content', 'speech_lexical', 'ocr_lexical', 'tag_semantic', 'tag_lexical']): - raise ValueError("each list item must be one of ('general_content', 'speech_lexical', 'ocr_lexical', 'tag_semantic', 'tag_lexical')") + if i not in set(['general_content', 'speech_lexical', 'ocr_lexical', 'tag_semantic', 'tag_lexical', 'doc_lexical']): + raise ValueError("each list item must be one of ('general_content', 'speech_lexical', 'ocr_lexical', 'tag_semantic', 'tag_lexical', 'doc_lexical')") return value model_config = ConfigDict( diff --git a/cloudglue/sdk/models/search_request_source_image.py b/cloudglue/sdk/models/search_request_source_image.py index 8d8f6cac..c3b919bf 100644 --- a/cloudglue/sdk/models/search_request_source_image.py +++ b/cloudglue/sdk/models/search_request_source_image.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/search_response.py b/cloudglue/sdk/models/search_response.py index 1f59f3f0..ea81422a 100644 --- a/cloudglue/sdk/models/search_response.py +++ b/cloudglue/sdk/models/search_response.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -34,7 +34,7 @@ class SearchResponse(BaseModel): scope: StrictStr = Field(description="The search scope that was used") group_by_key: Optional[StrictStr] = Field(default=None, description="The key used for grouping results. Only present when group_by_key was specified in the request and results are grouped.") group_count: Optional[StrictInt] = Field(default=None, description="Number of groups in the results. Only present when group_by_key is specified.") - search_modalities: Optional[Annotated[List[StrictStr], Field(max_length=5)]] = Field(default=None, description="Specifies the type(s) of search to execute. When multiple modalities are specified, a hybrid search is executed that combines results from each modality. Available modalities: - `general_content`: baseline for matching the content of the search item (file/segment) based on visual or spoken content similarity to provided short natural language query string - `speech_lexical`: performs keyword based search (e.g. query of `president` matching `president` or `presidential` strings) and exact match (e.g. specifically find mentions of `\"Barack Obama\"` or `\"Donald Trump\"`) against speech content present in search item - `ocr_lexical`: performs keyword based search and exact match against screen text content present in search item - `tag_semantic`: performs basic word semantic similarity search against tag values associated with search items (e.g. `query=animal` expected to match tags with value containing `dog` or `cat`) - `tag_lexical`: performs keyword based search and exact match against tag values associated with search items Only applicable when search `scope=file` or `scope=segment`. ") + search_modalities: Optional[Annotated[List[StrictStr], Field(max_length=5)]] = Field(default=None, description="Specifies the type(s) of search to execute. When multiple modalities are specified, a hybrid search is executed that combines results from each modality. Available modalities: - `general_content`: baseline for matching the content of the search item (file/segment) based on visual or spoken content similarity to provided short natural language query string - `speech_lexical`: performs keyword based search (e.g. query of `president` matching `president` or `presidential` strings) and exact match (e.g. specifically find mentions of `\"Barack Obama\"` or `\"Donald Trump\"`) against speech content present in search item - `ocr_lexical`: performs keyword based search and exact match against screen text content present in search item - `tag_semantic`: performs basic word semantic similarity search against tag values associated with search items (e.g. `query=animal` expected to match tags with value containing `dog` or `cat`) - `tag_lexical`: performs keyword based search and exact match against tag values associated with search items - `doc_lexical`: performs keyword based search and exact match against file-level documents (metadata-collection docs and generated summaries). Only applicable when search `scope=file`. Only applicable when search `scope=file` or `scope=segment`. ") results: List[SearchResponseResultsInner] = Field(description="Array of search results ranked by relevance score") total: StrictInt = Field(description="Total number of results returned. When group_by_key is specified, this represents the total number of items across all groups (not the number of groups).") limit: StrictInt = Field(description="The limit that was applied to the search") @@ -71,8 +71,8 @@ def search_modalities_validate_enum(cls, value): return value for i in value: - if i not in set(['general_content', 'speech_lexical', 'ocr_lexical', 'tag_semantic', 'tag_lexical']): - raise ValueError("each list item must be one of ('general_content', 'speech_lexical', 'ocr_lexical', 'tag_semantic', 'tag_lexical')") + if i not in set(['general_content', 'speech_lexical', 'ocr_lexical', 'tag_semantic', 'tag_lexical', 'doc_lexical']): + raise ValueError("each list item must be one of ('general_content', 'speech_lexical', 'ocr_lexical', 'tag_semantic', 'tag_lexical', 'doc_lexical')") return value model_config = ConfigDict( diff --git a/cloudglue/sdk/models/search_response_list.py b/cloudglue/sdk/models/search_response_list.py index f9f01252..954fc2cd 100644 --- a/cloudglue/sdk/models/search_response_list.py +++ b/cloudglue/sdk/models/search_response_list.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/search_response_list_data_inner.py b/cloudglue/sdk/models/search_response_list_data_inner.py index 8d53df78..f0e820ac 100644 --- a/cloudglue/sdk/models/search_response_list_data_inner.py +++ b/cloudglue/sdk/models/search_response_list_data_inner.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -33,7 +33,7 @@ class SearchResponseListDataInner(BaseModel): scope: StrictStr = Field(description="The search scope that was used") group_by_key: Optional[StrictStr] = Field(default=None, description="The key used for grouping results. Only present when group_by_key was specified in the request and results are grouped.") group_count: Optional[StrictInt] = Field(default=None, description="Number of groups in the results. Only present when group_by_key is specified.") - search_modalities: Optional[Annotated[List[StrictStr], Field(max_length=5)]] = Field(default=None, description="Specifies the type(s) of search to execute. When multiple modalities are specified, a hybrid search is executed that combines results from each modality. Available modalities: - `general_content`: baseline for matching the content of the search item (file/segment) based on visual or spoken content similarity to provided short natural language query string - `speech_lexical`: performs keyword based search (e.g. query of `president` matching `president` or `presidential` strings) and exact match (e.g. specifically find mentions of `\"Barack Obama\"` or `\"Donald Trump\"`) against speech content present in search item - `ocr_lexical`: performs keyword based search and exact match against screen text content present in search item - `tag_semantic`: performs basic word semantic similarity search against tag values associated with search items (e.g. `query=animal` expected to match tags with value containing `dog` or `cat`) - `tag_lexical`: performs keyword based search and exact match against tag values associated with search items Only applicable when search `scope=file` or `scope=segment`. ") + search_modalities: Optional[Annotated[List[StrictStr], Field(max_length=5)]] = Field(default=None, description="Specifies the type(s) of search to execute. When multiple modalities are specified, a hybrid search is executed that combines results from each modality. Available modalities: - `general_content`: baseline for matching the content of the search item (file/segment) based on visual or spoken content similarity to provided short natural language query string - `speech_lexical`: performs keyword based search (e.g. query of `president` matching `president` or `presidential` strings) and exact match (e.g. specifically find mentions of `\"Barack Obama\"` or `\"Donald Trump\"`) against speech content present in search item - `ocr_lexical`: performs keyword based search and exact match against screen text content present in search item - `tag_semantic`: performs basic word semantic similarity search against tag values associated with search items (e.g. `query=animal` expected to match tags with value containing `dog` or `cat`) - `tag_lexical`: performs keyword based search and exact match against tag values associated with search items - `doc_lexical`: performs keyword based search and exact match against file-level documents (metadata-collection docs and generated summaries). Only applicable when search `scope=file`. Only applicable when search `scope=file` or `scope=segment`. ") total: StrictInt = Field(description="Total number of results returned. When group_by_key is specified, this represents the total number of items across all groups (not the number of groups).") limit: StrictInt = Field(description="The limit that was applied to the search") __properties: ClassVar[List[str]] = ["id", "object", "query", "scope", "group_by_key", "group_count", "search_modalities", "total", "limit"] @@ -69,8 +69,8 @@ def search_modalities_validate_enum(cls, value): return value for i in value: - if i not in set(['general_content', 'speech_lexical', 'ocr_lexical', 'tag_semantic', 'tag_lexical']): - raise ValueError("each list item must be one of ('general_content', 'speech_lexical', 'ocr_lexical', 'tag_semantic', 'tag_lexical')") + if i not in set(['general_content', 'speech_lexical', 'ocr_lexical', 'tag_semantic', 'tag_lexical', 'doc_lexical']): + raise ValueError("each list item must be one of ('general_content', 'speech_lexical', 'ocr_lexical', 'tag_semantic', 'tag_lexical', 'doc_lexical')") return value model_config = ConfigDict( diff --git a/cloudglue/sdk/models/search_response_results_inner.py b/cloudglue/sdk/models/search_response_results_inner.py index eec8dc0e..b39e8995 100644 --- a/cloudglue/sdk/models/search_response_results_inner.py +++ b/cloudglue/sdk/models/search_response_results_inner.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/search_tag_response.py b/cloudglue/sdk/models/search_tag_response.py index 3a239377..fd8de388 100644 --- a/cloudglue/sdk/models/search_tag_response.py +++ b/cloudglue/sdk/models/search_tag_response.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/segment.py b/cloudglue/sdk/models/segment.py index 74743a6a..e4c1fc75 100644 --- a/cloudglue/sdk/models/segment.py +++ b/cloudglue/sdk/models/segment.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/segment_describe.py b/cloudglue/sdk/models/segment_describe.py index a0e2c7af..15b5c1ef 100644 --- a/cloudglue/sdk/models/segment_describe.py +++ b/cloudglue/sdk/models/segment_describe.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/segment_describe_data.py b/cloudglue/sdk/models/segment_describe_data.py index 79e3ddc9..e84b368d 100644 --- a/cloudglue/sdk/models/segment_describe_data.py +++ b/cloudglue/sdk/models/segment_describe_data.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/segment_describe_json_data.py b/cloudglue/sdk/models/segment_describe_json_data.py index 1d715f50..0092a6c4 100644 --- a/cloudglue/sdk/models/segment_describe_json_data.py +++ b/cloudglue/sdk/models/segment_describe_json_data.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/segment_describe_list_response.py b/cloudglue/sdk/models/segment_describe_list_response.py index b8fbc83d..832f801f 100644 --- a/cloudglue/sdk/models/segment_describe_list_response.py +++ b/cloudglue/sdk/models/segment_describe_list_response.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/segment_describe_markdown_data.py b/cloudglue/sdk/models/segment_describe_markdown_data.py index 8e7a045f..fa533417 100644 --- a/cloudglue/sdk/models/segment_describe_markdown_data.py +++ b/cloudglue/sdk/models/segment_describe_markdown_data.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/segment_describe_output_entry.py b/cloudglue/sdk/models/segment_describe_output_entry.py index bcbed81b..d0286718 100644 --- a/cloudglue/sdk/models/segment_describe_output_entry.py +++ b/cloudglue/sdk/models/segment_describe_output_entry.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/segment_describe_speech_entry.py b/cloudglue/sdk/models/segment_describe_speech_entry.py index 9522a00f..4565c0d3 100644 --- a/cloudglue/sdk/models/segment_describe_speech_entry.py +++ b/cloudglue/sdk/models/segment_describe_speech_entry.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/segment_group_result.py b/cloudglue/sdk/models/segment_group_result.py index 4c9bd581..99181b31 100644 --- a/cloudglue/sdk/models/segment_group_result.py +++ b/cloudglue/sdk/models/segment_group_result.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/segment_search_result.py b/cloudglue/sdk/models/segment_search_result.py index 0e96b6cb..05fdc78f 100644 --- a/cloudglue/sdk/models/segment_search_result.py +++ b/cloudglue/sdk/models/segment_search_result.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/segment_search_result_keyframes_inner.py b/cloudglue/sdk/models/segment_search_result_keyframes_inner.py index 2d964ffc..302e4e3f 100644 --- a/cloudglue/sdk/models/segment_search_result_keyframes_inner.py +++ b/cloudglue/sdk/models/segment_search_result_keyframes_inner.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/segment_search_result_scene_text_inner.py b/cloudglue/sdk/models/segment_search_result_scene_text_inner.py index 24b2fbe2..5778e1b4 100644 --- a/cloudglue/sdk/models/segment_search_result_scene_text_inner.py +++ b/cloudglue/sdk/models/segment_search_result_scene_text_inner.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/segment_search_result_speech_inner.py b/cloudglue/sdk/models/segment_search_result_speech_inner.py index 9e4f9959..d90b01a4 100644 --- a/cloudglue/sdk/models/segment_search_result_speech_inner.py +++ b/cloudglue/sdk/models/segment_search_result_speech_inner.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/segment_search_result_visual_description_inner.py b/cloudglue/sdk/models/segment_search_result_visual_description_inner.py index 19b2d3d9..89f3eed0 100644 --- a/cloudglue/sdk/models/segment_search_result_visual_description_inner.py +++ b/cloudglue/sdk/models/segment_search_result_visual_description_inner.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/segmentation.py b/cloudglue/sdk/models/segmentation.py index 1a0e8dce..b128d957 100644 --- a/cloudglue/sdk/models/segmentation.py +++ b/cloudglue/sdk/models/segmentation.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/segmentation_config.py b/cloudglue/sdk/models/segmentation_config.py index 0819ea89..482c7db3 100644 --- a/cloudglue/sdk/models/segmentation_config.py +++ b/cloudglue/sdk/models/segmentation_config.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/segmentation_data.py b/cloudglue/sdk/models/segmentation_data.py index f48503e6..8938f8d9 100644 --- a/cloudglue/sdk/models/segmentation_data.py +++ b/cloudglue/sdk/models/segmentation_data.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/segmentation_data_segments_inner.py b/cloudglue/sdk/models/segmentation_data_segments_inner.py index 0b43dbe9..6034c01f 100644 --- a/cloudglue/sdk/models/segmentation_data_segments_inner.py +++ b/cloudglue/sdk/models/segmentation_data_segments_inner.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/segmentation_list.py b/cloudglue/sdk/models/segmentation_list.py index c7077da8..79438602 100644 --- a/cloudglue/sdk/models/segmentation_list.py +++ b/cloudglue/sdk/models/segmentation_list.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/segmentation_list_item.py b/cloudglue/sdk/models/segmentation_list_item.py index ff85706a..1a42162b 100644 --- a/cloudglue/sdk/models/segmentation_list_item.py +++ b/cloudglue/sdk/models/segmentation_list_item.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/segmentation_manual_config.py b/cloudglue/sdk/models/segmentation_manual_config.py index fb77dfc2..cb6fb45f 100644 --- a/cloudglue/sdk/models/segmentation_manual_config.py +++ b/cloudglue/sdk/models/segmentation_manual_config.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/segmentation_manual_config_segments_inner.py b/cloudglue/sdk/models/segmentation_manual_config_segments_inner.py index 748d7526..6fbc4982 100644 --- a/cloudglue/sdk/models/segmentation_manual_config_segments_inner.py +++ b/cloudglue/sdk/models/segmentation_manual_config_segments_inner.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/segmentation_shot_detector_config.py b/cloudglue/sdk/models/segmentation_shot_detector_config.py index 1ce7f58c..75de0558 100644 --- a/cloudglue/sdk/models/segmentation_shot_detector_config.py +++ b/cloudglue/sdk/models/segmentation_shot_detector_config.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/segmentation_uniform_config.py b/cloudglue/sdk/models/segmentation_uniform_config.py index 20d3812d..127f7be4 100644 --- a/cloudglue/sdk/models/segmentation_uniform_config.py +++ b/cloudglue/sdk/models/segmentation_uniform_config.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/segments.py b/cloudglue/sdk/models/segments.py index f1b3714c..3220a2f2 100644 --- a/cloudglue/sdk/models/segments.py +++ b/cloudglue/sdk/models/segments.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/segments_list.py b/cloudglue/sdk/models/segments_list.py index 0c86c2c3..ba3ca81d 100644 --- a/cloudglue/sdk/models/segments_list.py +++ b/cloudglue/sdk/models/segments_list.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/segments_list_item.py b/cloudglue/sdk/models/segments_list_item.py index f00db030..b9702a8b 100644 --- a/cloudglue/sdk/models/segments_list_item.py +++ b/cloudglue/sdk/models/segments_list_item.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/shareable_asset.py b/cloudglue/sdk/models/shareable_asset.py index 4c87e83e..ffcee8d5 100644 --- a/cloudglue/sdk/models/shareable_asset.py +++ b/cloudglue/sdk/models/shareable_asset.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/shareable_asset_list_response.py b/cloudglue/sdk/models/shareable_asset_list_response.py index f70fc742..c4f0e985 100644 --- a/cloudglue/sdk/models/shareable_asset_list_response.py +++ b/cloudglue/sdk/models/shareable_asset_list_response.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/shot.py b/cloudglue/sdk/models/shot.py index e37f06c9..130401e5 100644 --- a/cloudglue/sdk/models/shot.py +++ b/cloudglue/sdk/models/shot.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/shot_config.py b/cloudglue/sdk/models/shot_config.py index b1325c8c..d99f6b14 100644 --- a/cloudglue/sdk/models/shot_config.py +++ b/cloudglue/sdk/models/shot_config.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/source_image.py b/cloudglue/sdk/models/source_image.py index c53e3e70..dfaaf1ac 100644 --- a/cloudglue/sdk/models/source_image.py +++ b/cloudglue/sdk/models/source_image.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/source_metadata.py b/cloudglue/sdk/models/source_metadata.py index f8521d5b..b398728b 100644 --- a/cloudglue/sdk/models/source_metadata.py +++ b/cloudglue/sdk/models/source_metadata.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,17 +21,18 @@ from cloudglue.sdk.models.gong_source_metadata import GongSourceMetadata from cloudglue.sdk.models.google_drive_source_metadata import GoogleDriveSourceMetadata from cloudglue.sdk.models.grain_source_metadata import GrainSourceMetadata +from cloudglue.sdk.models.iconik_source_metadata import IconikSourceMetadata from cloudglue.sdk.models.recall_source_metadata import RecallSourceMetadata from cloudglue.sdk.models.zoom_source_metadata import ZoomSourceMetadata from pydantic import StrictStr, Field from typing import Union, List, Set, Optional, Dict from typing_extensions import Literal, Self -SOURCEMETADATA_ONE_OF_SCHEMAS = ["DropboxSourceMetadata", "GongSourceMetadata", "GoogleDriveSourceMetadata", "GrainSourceMetadata", "RecallSourceMetadata", "ZoomSourceMetadata"] +SOURCEMETADATA_ONE_OF_SCHEMAS = ["DropboxSourceMetadata", "GongSourceMetadata", "GoogleDriveSourceMetadata", "GrainSourceMetadata", "IconikSourceMetadata", "RecallSourceMetadata", "ZoomSourceMetadata"] class SourceMetadata(BaseModel): """ - Per-source provenance captured from the upstream connector, discriminated by source_type. Populated for Grain, Zoom, Recall, Google Drive, Dropbox, and Gong; files synced before a connector was upgraded carry null. S3/GCS files carry null (plain object stores have no richer metadata). + Per-source provenance captured from the upstream connector, discriminated by source_type. Populated for Grain, Zoom, Recall, Google Drive, Dropbox, Gong, and iconik; files synced before a connector was upgraded carry null. S3/GCS files carry null (plain object stores have no richer metadata). """ # data type: GrainSourceMetadata oneof_schema_1_validator: Optional[GrainSourceMetadata] = None @@ -45,8 +46,10 @@ class SourceMetadata(BaseModel): oneof_schema_5_validator: Optional[DropboxSourceMetadata] = None # data type: GongSourceMetadata oneof_schema_6_validator: Optional[GongSourceMetadata] = None - actual_instance: Optional[Union[DropboxSourceMetadata, GongSourceMetadata, GoogleDriveSourceMetadata, GrainSourceMetadata, RecallSourceMetadata, ZoomSourceMetadata]] = None - one_of_schemas: Set[str] = { "DropboxSourceMetadata", "GongSourceMetadata", "GoogleDriveSourceMetadata", "GrainSourceMetadata", "RecallSourceMetadata", "ZoomSourceMetadata" } + # data type: IconikSourceMetadata + oneof_schema_7_validator: Optional[IconikSourceMetadata] = None + actual_instance: Optional[Union[DropboxSourceMetadata, GongSourceMetadata, GoogleDriveSourceMetadata, GrainSourceMetadata, IconikSourceMetadata, RecallSourceMetadata, ZoomSourceMetadata]] = None + one_of_schemas: Set[str] = { "DropboxSourceMetadata", "GongSourceMetadata", "GoogleDriveSourceMetadata", "GrainSourceMetadata", "IconikSourceMetadata", "RecallSourceMetadata", "ZoomSourceMetadata" } model_config = ConfigDict( validate_assignment=True, @@ -102,12 +105,17 @@ def actual_instance_must_validate_oneof(cls, v): error_messages.append(f"Error! Input type `{type(v)}` is not `GongSourceMetadata`") else: match += 1 + # validate data type: IconikSourceMetadata + if not isinstance(v, IconikSourceMetadata): + error_messages.append(f"Error! Input type `{type(v)}` is not `IconikSourceMetadata`") + else: + match += 1 if match > 1: # more than 1 match - raise ValueError("Multiple matches found when setting `actual_instance` in SourceMetadata with oneOf schemas: DropboxSourceMetadata, GongSourceMetadata, GoogleDriveSourceMetadata, GrainSourceMetadata, RecallSourceMetadata, ZoomSourceMetadata. Details: " + ", ".join(error_messages)) + raise ValueError("Multiple matches found when setting `actual_instance` in SourceMetadata with oneOf schemas: DropboxSourceMetadata, GongSourceMetadata, GoogleDriveSourceMetadata, GrainSourceMetadata, IconikSourceMetadata, RecallSourceMetadata, ZoomSourceMetadata. Details: " + ", ".join(error_messages)) elif match == 0: # no match - raise ValueError("No match found when setting `actual_instance` in SourceMetadata with oneOf schemas: DropboxSourceMetadata, GongSourceMetadata, GoogleDriveSourceMetadata, GrainSourceMetadata, RecallSourceMetadata, ZoomSourceMetadata. Details: " + ", ".join(error_messages)) + raise ValueError("No match found when setting `actual_instance` in SourceMetadata with oneOf schemas: DropboxSourceMetadata, GongSourceMetadata, GoogleDriveSourceMetadata, GrainSourceMetadata, IconikSourceMetadata, RecallSourceMetadata, ZoomSourceMetadata. Details: " + ", ".join(error_messages)) else: return v @@ -158,13 +166,19 @@ def from_json(cls, json_str: str) -> Self: match += 1 except (ValidationError, ValueError) as e: error_messages.append(str(e)) + # deserialize data into IconikSourceMetadata + try: + instance.actual_instance = IconikSourceMetadata.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) if match > 1: # more than 1 match - raise ValueError("Multiple matches found when deserializing the JSON string into SourceMetadata with oneOf schemas: DropboxSourceMetadata, GongSourceMetadata, GoogleDriveSourceMetadata, GrainSourceMetadata, RecallSourceMetadata, ZoomSourceMetadata. Details: " + ", ".join(error_messages)) + raise ValueError("Multiple matches found when deserializing the JSON string into SourceMetadata with oneOf schemas: DropboxSourceMetadata, GongSourceMetadata, GoogleDriveSourceMetadata, GrainSourceMetadata, IconikSourceMetadata, RecallSourceMetadata, ZoomSourceMetadata. Details: " + ", ".join(error_messages)) elif match == 0: # no match - raise ValueError("No match found when deserializing the JSON string into SourceMetadata with oneOf schemas: DropboxSourceMetadata, GongSourceMetadata, GoogleDriveSourceMetadata, GrainSourceMetadata, RecallSourceMetadata, ZoomSourceMetadata. Details: " + ", ".join(error_messages)) + raise ValueError("No match found when deserializing the JSON string into SourceMetadata with oneOf schemas: DropboxSourceMetadata, GongSourceMetadata, GoogleDriveSourceMetadata, GrainSourceMetadata, IconikSourceMetadata, RecallSourceMetadata, ZoomSourceMetadata. Details: " + ", ".join(error_messages)) else: return instance @@ -178,7 +192,7 @@ def to_json(self) -> str: else: return json.dumps(self.actual_instance) - def to_dict(self) -> Optional[Union[Dict[str, Any], DropboxSourceMetadata, GongSourceMetadata, GoogleDriveSourceMetadata, GrainSourceMetadata, RecallSourceMetadata, ZoomSourceMetadata]]: + def to_dict(self) -> Optional[Union[Dict[str, Any], DropboxSourceMetadata, GongSourceMetadata, GoogleDriveSourceMetadata, GrainSourceMetadata, IconikSourceMetadata, RecallSourceMetadata, ZoomSourceMetadata]]: """Returns the dict representation of the actual instance""" if self.actual_instance is None: return None diff --git a/cloudglue/sdk/models/source_metadata_response.py b/cloudglue/sdk/models/source_metadata_response.py index 455164c7..a10ed617 100644 --- a/cloudglue/sdk/models/source_metadata_response.py +++ b/cloudglue/sdk/models/source_metadata_response.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/speech_output_part.py b/cloudglue/sdk/models/speech_output_part.py index a84cbf31..a56b3685 100644 --- a/cloudglue/sdk/models/speech_output_part.py +++ b/cloudglue/sdk/models/speech_output_part.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/sync_data_connector_file_request.py b/cloudglue/sdk/models/sync_data_connector_file_request.py index 141a53cc..eac8e867 100644 --- a/cloudglue/sdk/models/sync_data_connector_file_request.py +++ b/cloudglue/sdk/models/sync_data_connector_file_request.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -26,7 +26,7 @@ class SyncDataConnectorFileRequest(BaseModel): """ SyncDataConnectorFileRequest """ # noqa: E501 - url: StrictStr = Field(description="Connector URI to sync. Must match the connector's type. Accepted forms per connector — s3: `s3:///` · gcs: `gs:///` · google-drive: `gdrive://file/` or a `https://drive.google.com/file/d//...` link · dropbox: `dropbox://` (as returned by GET /data-connectors/{id}/files) or a `https://www.dropbox.com/scl/fi/...` share link · zoom: `zoom://uuid/`, `zoom://id/`, or a `https://*.zoom.us` join, recording-detail, or rec/share link · grain: `grain://recording/` · gong: `gong://call/` · recall: `recall://recording/`.") + url: StrictStr = Field(description="Connector URI to sync. Must match the connector's type. Accepted forms per connector — s3: `s3:///` · gcs: `gs:///` · google-drive: `gdrive://file/` or a `https://drive.google.com/file/d//...` link · dropbox: `dropbox://` (as returned by GET /data-connectors/{id}/files) or a `https://www.dropbox.com/scl/fi/...` share link · zoom: `zoom://uuid/`, `zoom://id/`, or a `https://*.zoom.us` join, recording-detail, or rec/share link · grain: `grain://recording/` · gong: `gong://call/` · recall: `recall://recording/` · iconik: `iconik://asset/`.") __properties: ClassVar[List[str]] = ["url"] model_config = ConfigDict( diff --git a/cloudglue/sdk/models/sync_file_from_url_request.py b/cloudglue/sdk/models/sync_file_from_url_request.py index babe6801..d8ffdf45 100644 --- a/cloudglue/sdk/models/sync_file_from_url_request.py +++ b/cloudglue/sdk/models/sync_file_from_url_request.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/thumbnail.py b/cloudglue/sdk/models/thumbnail.py index 395365af..b9f04225 100644 --- a/cloudglue/sdk/models/thumbnail.py +++ b/cloudglue/sdk/models/thumbnail.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/thumbnail_list.py b/cloudglue/sdk/models/thumbnail_list.py index 98dd8eb5..65f7ee5e 100644 --- a/cloudglue/sdk/models/thumbnail_list.py +++ b/cloudglue/sdk/models/thumbnail_list.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/thumbnails_config.py b/cloudglue/sdk/models/thumbnails_config.py index ef4d5b3d..7a256757 100644 --- a/cloudglue/sdk/models/thumbnails_config.py +++ b/cloudglue/sdk/models/thumbnails_config.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/transcribe.py b/cloudglue/sdk/models/transcribe.py index fb0fc182..c9fc1684 100644 --- a/cloudglue/sdk/models/transcribe.py +++ b/cloudglue/sdk/models/transcribe.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -19,6 +19,7 @@ from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator from typing import Any, ClassVar, Dict, List, Optional +from cloudglue.sdk.models.file import File from cloudglue.sdk.models.transcribe_data import TranscribeData from cloudglue.sdk.models.transcribe_transcribe_config import TranscribeTranscribeConfig from typing import Optional, Set @@ -35,7 +36,8 @@ class Transcribe(BaseModel): transcribe_config: Optional[TranscribeTranscribeConfig] = None data: Optional[TranscribeData] = None error: Optional[StrictStr] = Field(default=None, description="Error message if status is 'failed'") - __properties: ClassVar[List[str]] = ["job_id", "status", "url", "created_at", "transcribe_config", "data", "error"] + file: Optional[File] = Field(default=None, description="The file this document describes. `metadata` and `source_metadata` are only included when `include_metadata` is true.") + __properties: ClassVar[List[str]] = ["job_id", "status", "url", "created_at", "transcribe_config", "data", "error", "file"] @field_validator('status') def status_validate_enum(cls, value): @@ -89,6 +91,9 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of data if self.data: _dict['data'] = self.data.to_dict() + # override the default output from pydantic by calling `to_dict()` of file + if self.file: + _dict['file'] = self.file.to_dict() return _dict @classmethod @@ -107,7 +112,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "created_at": obj.get("created_at"), "transcribe_config": TranscribeTranscribeConfig.from_dict(obj["transcribe_config"]) if obj.get("transcribe_config") is not None else None, "data": TranscribeData.from_dict(obj["data"]) if obj.get("data") is not None else None, - "error": obj.get("error") + "error": obj.get("error"), + "file": File.from_dict(obj["file"]) if obj.get("file") is not None else None }) return _obj diff --git a/cloudglue/sdk/models/transcribe_data.py b/cloudglue/sdk/models/transcribe_data.py index 59039236..b61359ed 100644 --- a/cloudglue/sdk/models/transcribe_data.py +++ b/cloudglue/sdk/models/transcribe_data.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/transcribe_data_all_of_segment_summary_inner.py b/cloudglue/sdk/models/transcribe_data_all_of_segment_summary_inner.py index cde24f37..c0752041 100644 --- a/cloudglue/sdk/models/transcribe_data_all_of_segment_summary_inner.py +++ b/cloudglue/sdk/models/transcribe_data_all_of_segment_summary_inner.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/transcribe_list.py b/cloudglue/sdk/models/transcribe_list.py index bdb5a063..9866d55a 100644 --- a/cloudglue/sdk/models/transcribe_list.py +++ b/cloudglue/sdk/models/transcribe_list.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/transcribe_transcribe_config.py b/cloudglue/sdk/models/transcribe_transcribe_config.py index 2eed6f87..04bb933b 100644 --- a/cloudglue/sdk/models/transcribe_transcribe_config.py +++ b/cloudglue/sdk/models/transcribe_transcribe_config.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/update_describe_request.py b/cloudglue/sdk/models/update_describe_request.py index c9e226e6..9d366670 100644 --- a/cloudglue/sdk/models/update_describe_request.py +++ b/cloudglue/sdk/models/update_describe_request.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/update_file_segment_request.py b/cloudglue/sdk/models/update_file_segment_request.py index 1bbf3d17..429e4bf2 100644 --- a/cloudglue/sdk/models/update_file_segment_request.py +++ b/cloudglue/sdk/models/update_file_segment_request.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/update_shareable_asset_request.py b/cloudglue/sdk/models/update_shareable_asset_request.py index 5664ae32..f45ad1fb 100644 --- a/cloudglue/sdk/models/update_shareable_asset_request.py +++ b/cloudglue/sdk/models/update_shareable_asset_request.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/update_video_tag_request.py b/cloudglue/sdk/models/update_video_tag_request.py index 99e980e8..31adaa22 100644 --- a/cloudglue/sdk/models/update_video_tag_request.py +++ b/cloudglue/sdk/models/update_video_tag_request.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/video_tag.py b/cloudglue/sdk/models/video_tag.py index eca75eb6..235b807d 100644 --- a/cloudglue/sdk/models/video_tag.py +++ b/cloudglue/sdk/models/video_tag.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/webhook.py b/cloudglue/sdk/models/webhook.py index 912c0c93..91ba79ed 100644 --- a/cloudglue/sdk/models/webhook.py +++ b/cloudglue/sdk/models/webhook.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/webhook_create_request.py b/cloudglue/sdk/models/webhook_create_request.py index 6807f51d..d1a2049c 100644 --- a/cloudglue/sdk/models/webhook_create_request.py +++ b/cloudglue/sdk/models/webhook_create_request.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/webhook_delete_response.py b/cloudglue/sdk/models/webhook_delete_response.py index b69ce7c8..17869543 100644 --- a/cloudglue/sdk/models/webhook_delete_response.py +++ b/cloudglue/sdk/models/webhook_delete_response.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/webhook_events.py b/cloudglue/sdk/models/webhook_events.py index 2a5d2e85..8fd1ee3c 100644 --- a/cloudglue/sdk/models/webhook_events.py +++ b/cloudglue/sdk/models/webhook_events.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/webhook_list.py b/cloudglue/sdk/models/webhook_list.py index ef432225..92371f2e 100644 --- a/cloudglue/sdk/models/webhook_list.py +++ b/cloudglue/sdk/models/webhook_list.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/webhook_update_request.py b/cloudglue/sdk/models/webhook_update_request.py index b8787a98..4e4364cf 100644 --- a/cloudglue/sdk/models/webhook_update_request.py +++ b/cloudglue/sdk/models/webhook_update_request.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/word_timestamp.py b/cloudglue/sdk/models/word_timestamp.py index 92c7cefb..264e4b8a 100644 --- a/cloudglue/sdk/models/word_timestamp.py +++ b/cloudglue/sdk/models/word_timestamp.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/zoom_source_metadata.py b/cloudglue/sdk/models/zoom_source_metadata.py index ee01427f..4d426524 100644 --- a/cloudglue/sdk/models/zoom_source_metadata.py +++ b/cloudglue/sdk/models/zoom_source_metadata.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/models/zoom_source_metadata_recording_files_inner.py b/cloudglue/sdk/models/zoom_source_metadata_recording_files_inner.py index 3c06d5f1..277fa895 100644 --- a/cloudglue/sdk/models/zoom_source_metadata_recording_files_inner.py +++ b/cloudglue/sdk/models/zoom_source_metadata_recording_files_inner.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/cloudglue/sdk/rest.py b/cloudglue/sdk/rest.py index f44c53b8..af720bc1 100644 --- a/cloudglue/sdk/rest.py +++ b/cloudglue/sdk/rest.py @@ -5,7 +5,7 @@ API for Cloudglue - The version of the OpenAPI document: 0.7.10 + The version of the OpenAPI document: 0.7.11 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/pyproject.toml b/pyproject.toml index 906d1291..4591ab71 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "cloudglue" -version = "0.7.17" +version = "0.7.18" description = "Python SDK for Cloudglue API" readme = "README.md" requires-python = ">=3.10" diff --git a/spec b/spec index cabcfa3b..849181ca 160000 --- a/spec +++ b/spec @@ -1 +1 @@ -Subproject commit cabcfa3b2fe6dc8227c0a91eef22e5aa29812713 +Subproject commit 849181ca6b1cd03b680c75cb5c8381bf9f6598f7