Skip to content

feat: add reference_assets to product_card_detailed#5583

Open
garvitkaushik-123 wants to merge 1 commit into
adcontextprotocol:mainfrom
garvitkaushik-123:feat/product-card-reference-assets
Open

feat: add reference_assets to product_card_detailed#5583
garvitkaushik-123 wants to merge 1 commit into
adcontextprotocol:mainfrom
garvitkaushik-123:feat/product-card-reference-assets

Conversation

@garvitkaushik-123

Copy link
Copy Markdown
Contributor

Summary

  • Adds reference_assets[] to product_card_detailed for typed seller collateral (coverage maps, sample renders, environment photos, media kits)
  • New schema core/product-card-reference-asset.json with closed role enum (coverage_map, sample_render, environment_photo, media_kit, logo, other) and role_label escape hatch for other
  • Asset payload is a discriminated union over image-asset, video-asset, markdown-asset, url-asset — reuses canonical asset primitives without pulling in the full asset-union.json (which includes serving/tracking types inappropriate for product-card collateral)
  • Docs updated in media-products.mdx with reference assets section and example

Per @bokelley's direction: nested inside product_card_detailed (Option B), not a new top-level field.

Non-breaking: all fields optional, existing consumers unaffected.

Closes #5539

Test plan

  • npm run build passes (validates $ref chains)
  • Pre-commit hooks pass (unit tests, type checks, dynamic imports, server unit tests)
  • Changeset: minor (new optional array field)
  • Verify schema renders correctly via type generation

🤖 Generated with Claude Code

Adds a typed `reference_assets` array to `product_card_detailed` so
sellers can surface coverage maps, sample renders, environment photos,
and media kits through a recognized schema slot rather than opaque
extension fields.

New schema: core/product-card-reference-asset.json
- role enum: coverage_map, sample_render, environment_photo, media_kit, logo, other
- asset: discriminated union over image, video, markdown, url assets
- role_label: required when role is "other"

Non-breaking: all fields optional, existing consumers unaffected.

Closes adcontextprotocol#5539

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

@aao-release-bot aao-release-bot Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Argus review could not complete

The automated review encountered an issue (possibly reached max turns, timed out, or failed to post the final gh pr review). A human reviewer should take this PR.

View workflow run

This is an automated message from the Argus AI review workflow.

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.

Add typed visual asset slot to products (coverage_map, sample_render, environment_photo)

1 participant