Skip to content

feat: iconik connector, metadata collections, and source metadata search (sync spec v0.7.11) - #71

Merged
kdr merged 1 commit into
mainfrom
kdr-moremeta
Jul 22, 2026
Merged

feat: iconik connector, metadata collections, and source metadata search (sync spec v0.7.11)#71
kdr merged 1 commit into
mainfrom
kdr-moremeta

Conversation

@kdr

@kdr kdr commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Summary

Syncs the SDK to spec v0.7.11 (cloudglue/cloudglue-api-spec#105) and bumps the package to 0.7.18.

Branch note: the local working checkout this started from was based 9 commits behind main (it predated the v0.7.9/v0.7.10 syncs), so this branch was rebuilt from origin/main with the regenerated cloudglue/sdk tree carried over intact. The version is 0.7.18 (next after the released 0.7.17).

Generated (cloudglue/sdk)

  • IconikSourceMetadata; the SourceMetadata oneOf and connector/source enums now cover iconik
  • New sync_file_source_metadata endpoint (POST /files/{file_id}/sync)
  • include_metadata on describe/transcribe get+list, collection media-description/rich-transcript listings, and segmentation describes; Describe/Transcribe responses gain a file object
  • SearchFilter.source_metadata + the doc_lexical search modality
  • metadata collection type

Wrapper (cloudglue/client + package)

  • files.sync_source_metadata(file_id) — new endpoint, unreachable without a wrapper method
  • include_metadata plumbed through describe/transcribe/segmentations/collections methods (9 endpoints — these pass kwargs explicitly, so new params need plumbing)
  • Search.create_filter gains source_metadata_filters (builds SearchFilterCriteria entries; documented JSON-path examples per connector)
  • collection_type docstrings cover 'metadata' (and fix a stale filter-enum doc)
  • IconikSourceMetadata re-exported at the package top level
  • Data-connector docstrings: per-connector from/to + title_search matrices and sync/lookup support updated for iconik

Test plan

  • Package imports clean; signature smoke-tests for all 9 include_metadata methods + sync_source_metadata; create_filter(source_metadata_filters=…) serializes to the correct wire shape
  • Live battery — 14/14 (full evidence in ~/Downloads/cloudglue-v0.7.11-sdk-test-results.md): iconik listing/per-file metadata/isinstance(IconikSourceMetadata) lookup/native title_search; metadata collection created + grain & iconik URLs indexed without processing (then deleted); sync_source_metadata refreshes both providers with typed variants; doc_lexical search with a source_metadata.title filter finds exactly the grain file and a negative filter excludes it; include_metadata toggles file metadata on describe get/list

Note

Medium Risk
Large generated SDK surface plus new search/indexing and connector sync paths; behavior is additive and documented, but touches search filters and file metadata refresh used across integrations.

Overview
Syncs the Python client to OpenAPI v0.7.11, adding Iconik as a data connector and expanding metadata-only indexing and search over connector source_metadata.

Iconik & connectors: New IconikSourceMetadata is exported at the package root. Data-connector docs and listing filters now treat Iconik like other OAuth sources (from/to, full-text title_search, iconik://asset/<id> URIs, populated source_metadata on sync/lookup).

Metadata collections & refresh: Collection docs describe a new metadata type that indexes connector/user metadata without media processing. files.sync_source_metadata(file_id) (POST /files/{file_id}/sync) re-fetches live connector metadata and re-indexes metadata collections when applicable.

Search & responses: Search.create_filter accepts source_metadata_filters (JSON paths on connector metadata, file scope). Describe/transcribe/collection transcript & media-description APIs gain optional include_metadata on get/list (and segmentation describe lists), wired through the high-level client where kwargs are explicit.

The bulk of the diff is regenerated cloudglue/sdk (models, query params, SearchFilter.source_metadata, version bump 0.7.10 → 0.7.11).

Reviewed by Cursor Bugbot for commit 6c1617a. Bugbot is set up for automated code reviews on this repo. Configure here.

…rch (sync spec v0.7.11)

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.
@kdr
kdr requested a review from amyxst July 22, 2026 22:17
@kdr
kdr merged commit b35ea9d into main Jul 22, 2026
1 check passed
@kdr
kdr deleted the kdr-moremeta branch July 22, 2026 22:57
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