Skip to content

feat(share): expose asset visibility (public/private) - #61

Merged
kdr merged 1 commit into
mainfrom
kdr-visibility-shar
Jun 5, 2026
Merged

feat(share): expose asset visibility (public/private)#61
kdr merged 1 commit into
mainfrom
kdr-visibility-shar

Conversation

@kdr

@kdr kdr commented Jun 4, 2026

Copy link
Copy Markdown
Contributor

Summary

Regenerate the low-level SDK from the latest API spec (0.7.2 → 0.7.3) and update the client wrapper to surface the new shareable-asset visibility support.

Changes

SDK (generated): spec bump to 0.7.3 adds visibility (public/private) to shareable assets:

  • CreateShareableAssetRequest — new visibility field (default public, immutable, enum-validated)
  • list_shareable_assets — new visibility query-param filter
  • ShareableAsset — new read-only visibility field

Client wrapper (cloudglue/client/resources/share.py):

  • Share.create() — accepts visibility ('public' default, or 'private'), passed through to the request model
  • Share.list() — accepts a visibility filter
  • update() unchanged — visibility cannot be changed after creation

Notes

  • Response objects expose visibility automatically (wrapper returns the SDK model directly).
  • The bulk of the diff is the routine 0.7.2 → 0.7.3 version-string bump across generated files plus the spec submodule pointer.

Regenerate SDK from spec 0.7.3 and surface the new shareable-asset
visibility support in the client wrapper:

- Share.create() accepts a visibility arg ('public' default, or 'private')
- Share.list() accepts a visibility filter
@coderabbitai

coderabbitai Bot commented Jun 4, 2026

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 273 files, which is 123 over the limit of 150.

To get a review, narrow the scope:
• coderabbit review --type committed # exclude uncommitted changes
• coderabbit review --dir # limit to a subdirectory
• coderabbit review --base # compare against a closer base

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: ca1a60f0-bd7a-4d42-b23c-f16a7b048751

📥 Commits

Reviewing files that changed from the base of the PR and between 5a087b4 and bd11813.

📒 Files selected for processing (273)
  • cloudglue/client/resources/share.py
  • cloudglue/sdk/README.md
  • cloudglue/sdk/__init__.py
  • cloudglue/sdk/api/chat_api.py
  • cloudglue/sdk/api/collections_api.py
  • cloudglue/sdk/api/data_connectors_api.py
  • cloudglue/sdk/api/deep_search_api.py
  • cloudglue/sdk/api/describe_api.py
  • cloudglue/sdk/api/extract_api.py
  • cloudglue/sdk/api/face_detection_api.py
  • cloudglue/sdk/api/face_match_api.py
  • cloudglue/sdk/api/file_segments_api.py
  • cloudglue/sdk/api/files_api.py
  • cloudglue/sdk/api/frames_api.py
  • cloudglue/sdk/api/response_api.py
  • cloudglue/sdk/api/search_api.py
  • cloudglue/sdk/api/segmentations_api.py
  • cloudglue/sdk/api/segments_api.py
  • cloudglue/sdk/api/share_api.py
  • cloudglue/sdk/api/tags_api.py
  • cloudglue/sdk/api/thumbnails_api.py
  • cloudglue/sdk/api/transcribe_api.py
  • cloudglue/sdk/api/webhooks_api.py
  • cloudglue/sdk/api_client.py
  • cloudglue/sdk/configuration.py
  • cloudglue/sdk/exceptions.py
  • cloudglue/sdk/models/__init__.py
  • cloudglue/sdk/models/add_collection_file.py
  • cloudglue/sdk/models/add_you_tube_collection_file.py
  • cloudglue/sdk/models/chapter.py
  • cloudglue/sdk/models/chat_completion_list.py
  • cloudglue/sdk/models/chat_completion_list_data_inner.py
  • cloudglue/sdk/models/chat_completion_list_data_inner_choices_inner.py
  • cloudglue/sdk/models/chat_completion_list_data_inner_usage.py
  • cloudglue/sdk/models/chat_completion_payload.py
  • cloudglue/sdk/models/chat_completion_request.py
  • cloudglue/sdk/models/chat_completion_request_filter.py
  • cloudglue/sdk/models/chat_completion_request_filter_file_inner.py
  • cloudglue/sdk/models/chat_completion_request_filter_metadata_inner.py
  • cloudglue/sdk/models/chat_completion_request_filter_video_info_inner.py
  • cloudglue/sdk/models/chat_completion_response.py
  • cloudglue/sdk/models/chat_completion_response_choices_inner.py
  • cloudglue/sdk/models/chat_completion_response_choices_inner_citations_inner.py
  • cloudglue/sdk/models/chat_completion_response_choices_inner_citations_inner_all_of_end_time.py
  • cloudglue/sdk/models/chat_completion_response_choices_inner_citations_inner_all_of_relevant_sources_inner.py
  • cloudglue/sdk/models/chat_completion_response_choices_inner_citations_inner_all_of_start_time.py
  • cloudglue/sdk/models/chat_completion_response_usage.py
  • cloudglue/sdk/models/chat_message.py
  • cloudglue/sdk/models/collection.py
  • cloudglue/sdk/models/collection_delete.py
  • cloudglue/sdk/models/collection_describe_config.py
  • cloudglue/sdk/models/collection_entities_list.py
  • cloudglue/sdk/models/collection_entities_list_data_inner.py
  • cloudglue/sdk/models/collection_entities_list_data_inner_data.py
  • cloudglue/sdk/models/collection_entities_list_data_inner_data_segment_entities_inner.py
  • cloudglue/sdk/models/collection_extract_config.py
  • cloudglue/sdk/models/collection_face_detection_config.py
  • cloudglue/sdk/models/collection_face_detection_config_frame_extraction_config.py
  • cloudglue/sdk/models/collection_face_detection_config_frame_extraction_config_uniform_config.py
  • cloudglue/sdk/models/collection_face_detection_config_thumbnails_config.py
  • cloudglue/sdk/models/collection_file.py
  • cloudglue/sdk/models/collection_file_delete.py
  • cloudglue/sdk/models/collection_file_list.py
  • cloudglue/sdk/models/collection_file_segmentation.py
  • cloudglue/sdk/models/collection_list.py
  • cloudglue/sdk/models/collection_media_descriptions_list.py
  • cloudglue/sdk/models/collection_media_descriptions_list_data_inner.py
  • cloudglue/sdk/models/collection_media_descriptions_list_data_inner_data.py
  • cloudglue/sdk/models/collection_rich_transcripts_list.py
  • cloudglue/sdk/models/collection_rich_transcripts_list_data_inner.py
  • cloudglue/sdk/models/collection_rich_transcripts_list_data_inner_data.py
  • cloudglue/sdk/models/collection_transcribe_config.py
  • cloudglue/sdk/models/collection_update.py
  • cloudglue/sdk/models/create_deep_search_request.py
  • cloudglue/sdk/models/create_deep_search_request_knowledge_base.py
  • cloudglue/sdk/models/create_file_frame_extraction_request.py
  • cloudglue/sdk/models/create_file_segmentation_request.py
  • cloudglue/sdk/models/create_response_request.py
  • cloudglue/sdk/models/create_response_request_input.py
  • cloudglue/sdk/models/create_shareable_asset_request.py
  • cloudglue/sdk/models/create_video_tag_request.py
  • cloudglue/sdk/models/data_connector.py
  • cloudglue/sdk/models/data_connector_file.py
  • cloudglue/sdk/models/data_connector_file_list.py
  • cloudglue/sdk/models/data_connector_file_metadata.py
  • cloudglue/sdk/models/data_connector_list.py
  • cloudglue/sdk/models/deep_search.py
  • cloudglue/sdk/models/deep_search_error.py
  • cloudglue/sdk/models/deep_search_kb_collections.py
  • cloudglue/sdk/models/deep_search_kb_default.py
  • cloudglue/sdk/models/deep_search_kb_files.py
  • cloudglue/sdk/models/deep_search_list.py
  • cloudglue/sdk/models/deep_search_list_item.py
  • cloudglue/sdk/models/deep_search_result.py
  • cloudglue/sdk/models/deep_search_search_query_plan.py
  • cloudglue/sdk/models/deep_search_usage.py
  • cloudglue/sdk/models/default_segmentation_config.py
  • cloudglue/sdk/models/delete_deep_search_result.py
  • cloudglue/sdk/models/delete_describe200_response.py
  • cloudglue/sdk/models/delete_extract200_response.py
  • cloudglue/sdk/models/delete_face_detection200_response.py
  • cloudglue/sdk/models/delete_face_match200_response.py
  • cloudglue/sdk/models/delete_frame_extraction200_response.py
  • cloudglue/sdk/models/delete_response_result.py
  • cloudglue/sdk/models/delete_segmentation200_response.py
  • cloudglue/sdk/models/delete_segments200_response.py
  • cloudglue/sdk/models/delete_shareable_asset200_response.py
  • cloudglue/sdk/models/delete_tag200_response.py
  • cloudglue/sdk/models/describe.py
  • cloudglue/sdk/models/describe_config.py
  • cloudglue/sdk/models/describe_data.py
  • cloudglue/sdk/models/describe_data_all_of_segment_summary_inner.py
  • cloudglue/sdk/models/describe_describe_config.py
  • cloudglue/sdk/models/describe_list.py
  • cloudglue/sdk/models/describe_output.py
  • cloudglue/sdk/models/describe_output_part.py
  • cloudglue/sdk/models/detected_face.py
  • cloudglue/sdk/models/entity_backed_knowledge_config.py
  • cloudglue/sdk/models/entity_collection_config.py
  • cloudglue/sdk/models/error.py
  • cloudglue/sdk/models/extract.py
  • cloudglue/sdk/models/extract_chapters_inner.py
  • cloudglue/sdk/models/extract_data.py
  • cloudglue/sdk/models/extract_data_segment_entities_inner.py
  • cloudglue/sdk/models/extract_extract_config.py
  • cloudglue/sdk/models/extract_list.py
  • cloudglue/sdk/models/extract_shots_inner.py
  • cloudglue/sdk/models/face_bounding_box.py
  • cloudglue/sdk/models/face_detection.py
  • cloudglue/sdk/models/face_detection_data.py
  • cloudglue/sdk/models/face_detection_list_response.py
  • cloudglue/sdk/models/face_detection_list_response_all_of_data.py
  • cloudglue/sdk/models/face_detection_request.py
  • cloudglue/sdk/models/face_group_result.py
  • cloudglue/sdk/models/face_match.py
  • cloudglue/sdk/models/face_match_data.py
  • cloudglue/sdk/models/face_match_list_response.py
  • cloudglue/sdk/models/face_match_list_response_all_of_data.py
  • cloudglue/sdk/models/face_match_request.py
  • cloudglue/sdk/models/face_match_result.py
  • cloudglue/sdk/models/face_search_result.py
  • cloudglue/sdk/models/file.py
  • cloudglue/sdk/models/file_delete.py
  • cloudglue/sdk/models/file_entities.py
  • cloudglue/sdk/models/file_face_detections.py
  • cloudglue/sdk/models/file_face_detections_faces_inner.py
  • cloudglue/sdk/models/file_face_detections_faces_inner_face_bounding_box.py
  • cloudglue/sdk/models/file_list.py
  • cloudglue/sdk/models/file_media_info.py
  • cloudglue/sdk/models/file_search_result.py
  • cloudglue/sdk/models/file_segment.py
  • cloudglue/sdk/models/file_segment_list_response.py
  • cloudglue/sdk/models/file_segmentation_config.py
  • cloudglue/sdk/models/file_update.py
  • cloudglue/sdk/models/file_video_info.py
  • cloudglue/sdk/models/frame_extraction.py
  • cloudglue/sdk/models/frame_extraction_config.py
  • cloudglue/sdk/models/frame_extraction_data.py
  • cloudglue/sdk/models/frame_extraction_data_frames_inner.py
  • cloudglue/sdk/models/frame_extraction_list.py
  • cloudglue/sdk/models/frame_extraction_list_data_inner.py
  • cloudglue/sdk/models/frame_extraction_thumbnails_config.py
  • cloudglue/sdk/models/frame_extraction_uniform_config.py
  • cloudglue/sdk/models/grain_source_metadata.py
  • cloudglue/sdk/models/grain_source_metadata_ai_action_items_inner.py
  • cloudglue/sdk/models/grain_source_metadata_ai_action_items_inner_assignee.py
  • cloudglue/sdk/models/grain_source_metadata_ai_summary.py
  • cloudglue/sdk/models/grain_source_metadata_calendar_event.py
  • cloudglue/sdk/models/grain_source_metadata_hubspot.py
  • cloudglue/sdk/models/grain_source_metadata_meeting_type.py
  • cloudglue/sdk/models/grain_source_metadata_participants_inner.py
  • cloudglue/sdk/models/grain_source_metadata_teams_inner.py
  • cloudglue/sdk/models/keyframe_config.py
  • cloudglue/sdk/models/knowledge_base_collections.py
  • cloudglue/sdk/models/knowledge_base_default.py
  • cloudglue/sdk/models/knowledge_base_files.py
  • cloudglue/sdk/models/list_video_tags_response.py
  • cloudglue/sdk/models/media_description.py
  • cloudglue/sdk/models/narrative_config.py
  • cloudglue/sdk/models/new_collection.py
  • cloudglue/sdk/models/new_collection_describe_config.py
  • cloudglue/sdk/models/new_collection_extract_config.py
  • cloudglue/sdk/models/new_collection_face_detection_config.py
  • cloudglue/sdk/models/new_collection_transcribe_config.py
  • cloudglue/sdk/models/new_describe.py
  • cloudglue/sdk/models/new_extract.py
  • cloudglue/sdk/models/new_segments.py
  • cloudglue/sdk/models/new_transcribe.py
  • cloudglue/sdk/models/pagination_response.py
  • cloudglue/sdk/models/response.py
  • cloudglue/sdk/models/response_annotation.py
  • cloudglue/sdk/models/response_error.py
  • cloudglue/sdk/models/response_input_content.py
  • cloudglue/sdk/models/response_input_message.py
  • cloudglue/sdk/models/response_knowledge_base.py
  • cloudglue/sdk/models/response_list.py
  • cloudglue/sdk/models/response_list_item.py
  • cloudglue/sdk/models/response_output_content.py
  • cloudglue/sdk/models/response_output_message.py
  • cloudglue/sdk/models/response_tool_definition.py
  • cloudglue/sdk/models/response_usage.py
  • cloudglue/sdk/models/rich_transcript.py
  • cloudglue/sdk/models/search_filter.py
  • cloudglue/sdk/models/search_filter_criteria.py
  • cloudglue/sdk/models/search_filter_file_inner.py
  • cloudglue/sdk/models/search_filter_metadata_inner.py
  • cloudglue/sdk/models/search_filter_video_info_inner.py
  • cloudglue/sdk/models/search_request.py
  • cloudglue/sdk/models/search_request_source_image.py
  • cloudglue/sdk/models/search_response.py
  • cloudglue/sdk/models/search_response_list.py
  • cloudglue/sdk/models/search_response_list_data_inner.py
  • cloudglue/sdk/models/search_response_results_inner.py
  • cloudglue/sdk/models/search_tag_response.py
  • cloudglue/sdk/models/segment.py
  • cloudglue/sdk/models/segment_describe.py
  • cloudglue/sdk/models/segment_describe_data.py
  • cloudglue/sdk/models/segment_describe_json_data.py
  • cloudglue/sdk/models/segment_describe_list_response.py
  • cloudglue/sdk/models/segment_describe_markdown_data.py
  • cloudglue/sdk/models/segment_describe_output_entry.py
  • cloudglue/sdk/models/segment_describe_speech_entry.py
  • cloudglue/sdk/models/segment_group_result.py
  • cloudglue/sdk/models/segment_search_result.py
  • cloudglue/sdk/models/segment_search_result_keyframes_inner.py
  • cloudglue/sdk/models/segment_search_result_scene_text_inner.py
  • cloudglue/sdk/models/segment_search_result_speech_inner.py
  • cloudglue/sdk/models/segment_search_result_visual_description_inner.py
  • cloudglue/sdk/models/segmentation.py
  • cloudglue/sdk/models/segmentation_config.py
  • cloudglue/sdk/models/segmentation_data.py
  • cloudglue/sdk/models/segmentation_data_segments_inner.py
  • cloudglue/sdk/models/segmentation_list.py
  • cloudglue/sdk/models/segmentation_list_item.py
  • cloudglue/sdk/models/segmentation_manual_config.py
  • cloudglue/sdk/models/segmentation_manual_config_segments_inner.py
  • cloudglue/sdk/models/segmentation_shot_detector_config.py
  • cloudglue/sdk/models/segmentation_uniform_config.py
  • cloudglue/sdk/models/segments.py
  • cloudglue/sdk/models/segments_list.py
  • cloudglue/sdk/models/segments_list_item.py
  • cloudglue/sdk/models/shareable_asset.py
  • cloudglue/sdk/models/shareable_asset_list_response.py
  • cloudglue/sdk/models/shot.py
  • cloudglue/sdk/models/shot_config.py
  • cloudglue/sdk/models/source_image.py
  • cloudglue/sdk/models/source_metadata.py
  • cloudglue/sdk/models/source_metadata_response.py
  • cloudglue/sdk/models/speech_output_part.py
  • cloudglue/sdk/models/sync_data_connector_file_request.py
  • cloudglue/sdk/models/thumbnail.py
  • cloudglue/sdk/models/thumbnail_list.py
  • cloudglue/sdk/models/thumbnails_config.py
  • cloudglue/sdk/models/transcribe.py
  • cloudglue/sdk/models/transcribe_data.py
  • cloudglue/sdk/models/transcribe_data_all_of_segment_summary_inner.py
  • cloudglue/sdk/models/transcribe_list.py
  • cloudglue/sdk/models/transcribe_transcribe_config.py
  • cloudglue/sdk/models/update_describe_request.py
  • cloudglue/sdk/models/update_file_segment_request.py
  • cloudglue/sdk/models/update_shareable_asset_request.py
  • cloudglue/sdk/models/update_video_tag_request.py
  • cloudglue/sdk/models/video_tag.py
  • cloudglue/sdk/models/webhook.py
  • cloudglue/sdk/models/webhook_create_request.py
  • cloudglue/sdk/models/webhook_delete_response.py
  • cloudglue/sdk/models/webhook_events.py
  • cloudglue/sdk/models/webhook_list.py
  • cloudglue/sdk/models/webhook_update_request.py
  • cloudglue/sdk/models/word_timestamp.py
  • cloudglue/sdk/rest.py
  • pyproject.toml
  • spec

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch kdr-visibility-shar

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@kdr
kdr requested a review from amyxst June 4, 2026 21:02
@kdr
kdr merged commit 4fd5434 into main Jun 5, 2026
1 check passed
@kdr
kdr deleted the kdr-visibility-shar branch June 5, 2026 03:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants