Skip to content

feat: sync ADCP schema to 3.0.0-beta.3 with new operations and forecasting#127

Merged
bokelley merged 6 commits intomainfrom
bokelley/sync-upstream-schema
Feb 12, 2026
Merged

feat: sync ADCP schema to 3.0.0-beta.3 with new operations and forecasting#127
bokelley merged 6 commits intomainfrom
bokelley/sync-upstream-schema

Conversation

@bokelley
Copy link
Contributor

@bokelley bokelley commented Feb 12, 2026

Summary

  • Sync schemas to ADCP 3.0.0-beta.3 (pinned explicit version, 272 schemas, 646 type exports)
  • Add 5 new operations: list_accounts, sync_accounts, log_event, sync_event_sources, get_creative_delivery
  • Add preview_creative across full server framework (was missing from server side)
  • Make account_id optional on CreateMediaBuyRequest
  • Add 10 new forecasting types: DaypartTarget, DeliveryForecast, ForecastPoint, ForecastRange, DayOfWeek, DemographicSystem, ForecastMethod, ForecastRangeUnit, ForecastableMetric, ReachUnit
  • Complete response_type_map for webhook parsing (all V3 operations)
  • Export all new aliases from adcp/__init__.py for consistency
  • Fix debug_request potential UnboundLocalError in MCP adapter
  • Clean up redundant A2A response unwrapping branches

Test plan

  • All 531 tests pass locally
  • Ruff lint clean
  • mypy clean (320 source files)
  • test_all_client_methods covers all 34 operations
  • Forecasting types importable from adcp.types
  • account_id confirmed optional on CreateMediaBuyRequest
  • CI passes on Python 3.10, 3.11, 3.12, 3.13

🤖 Generated with Claude Code

bokelley and others added 6 commits February 11, 2026 21:34
Sync schemas from ADCP 3.0.0-beta2 to latest tag (262 schemas, up from 210).
Add list_accounts, sync_accounts, log_event, sync_event_sources, and
get_creative_delivery operations across the full stack (client, protocols,
server, CLI). Add 20+ discriminated union aliases for new response types.
Fix preview_creative missing from ProtocolAdapter abstract base class.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Re-sync schemas to pick up CatalogMatch and MatchedGtin types added to
core/product.json. Fix import sorting in types/__init__.py, add noqa
comment to auto-generated _ergonomic.py to suppress I001, remove unused
Assets5Model import from format_assets.py, and fix line length in test.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Widen FormatAsset type alias to Any since the schema now generates 17+
discriminated union variants for format assets. Fix str type narrowing
in preview_cache.py where dict.get() returned Optional incompatible
with the inferred str type.

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

Sync with latest ADCP upstream schema. Key changes:
- account_id is now optional on CreateMediaBuyRequest (seller uses
  agent's sole account when omitted)
- Add 10 new forecasting schemas: daypart-target, delivery-forecast,
  forecast-point, forecast-range, and related enums
- Updated targeting, proposal, product-allocation, and cpp-option schemas

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Pin to explicit version tag instead of `latest`. Example data
genericized (Coca-Cola/Publicis → Acme/Pinnacle) and $schema
paths updated to versioned URLs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add preview_creative to server framework (base, mcp_tools, all subclass handlers)
- Add all V3 operations to response_type_map for webhook parsing
- Export 10 new forecasting types from types/__init__.py
- Fix potential UnboundLocalError for debug_request in mcp.py
- Add missing V3 aliases to adcp/__init__.py for consistency
- Remove redundant branches in A2A response unwrapping
- Add V3 operation hasattr checks to test_all_client_methods

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@bokelley bokelley changed the title feat: sync with latest ADCP schema and add 5 new operations feat: sync ADCP schema to 3.0.0-beta.3 with new operations and forecasting Feb 12, 2026
@bokelley bokelley merged commit bb611c3 into main Feb 12, 2026
8 checks passed
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.

1 participant