diff --git a/.gitignore b/.gitignore index bfae6902..628e4a9b 100644 --- a/.gitignore +++ b/.gitignore @@ -151,3 +151,8 @@ uv.lock # Temporary schema processing directory .schema_temp/ + +# Working/status documents (not for commit) +IMPLEMENTATION_PLAN.md +IMPLEMENTATION_SUMMARY.md +TESTING_STATUS.md diff --git a/IMPLEMENTATION_SUMMARY.md b/IMPLEMENTATION_SUMMARY.md deleted file mode 100644 index 1fb5d508..00000000 --- a/IMPLEMENTATION_SUMMARY.md +++ /dev/null @@ -1,227 +0,0 @@ -# Python AdCP Client Implementation Summary - -## Overview - -I've successfully implemented the core structure for the Python AdCP client library with official protocol SDK integration. Here's what has been completed: - -## ✅ Completed Tasks - -### 1. Protocol SDK Research & Integration - -**A2A Protocol:** -- Found official Python SDK: `a2a-sdk` (v0.3.10+, requires Python 3.10+) -- SDK is primarily for building A2A servers -- For client functionality, implemented HTTP client following A2A specification -- Supports tasks/send endpoint with proper message formatting -- Handles A2A task lifecycle: submitted, working, completed, failed, input-required - -**MCP Protocol:** -- Found official Python SDK: `mcp` (v0.9.0+) -- Integrated MCP client using official `ClientSession` from the SDK -- Supports SSE transport for HTTP/HTTPS endpoints -- Implements proper authentication via `x-adcp-auth` header -- Uses official `session.call_tool()` and `session.list_tools()` methods - -### 2. Dependencies Updated - -Updated `pyproject.toml` with: -- `a2a-sdk>=0.3.0` - Official A2A SDK -- `mcp>=0.9.0` - Official MCP SDK -- Python version requirement updated to >=3.10 (required by A2A SDK) -- Fixed ruff configuration (moved to `[tool.ruff.lint]` section) - -### 3. Protocol Adapters Implemented - -**A2A Adapter** (`src/adcp/protocols/a2a.py`): -- Implements `call_tool()` using A2A `tasks/send` endpoint -- Formats AdCP tool requests as structured messages -- Parses A2A response format with task status handling -- Supports agent card fetching for capability discovery -- Proper error handling and status mapping - -**MCP Adapter** (`src/adcp/protocols/mcp.py`): -- Implements `call_tool()` using official MCP ClientSession -- Creates persistent sessions with SSE transport -- Supports authentication headers -- Proper session lifecycle management with `close()` method -- Error handling with graceful fallbacks - -### 4. Complete AdCP Tool Set - -Implemented all 11 AdCP tools in `ADCPClient`: -1. ✅ `get_products()` - Discover advertising products -2. ✅ `list_creative_formats()` - List supported creative formats -3. ✅ `create_media_buy()` - Create new media buy -4. ✅ `update_media_buy()` - Update existing media buy -5. ✅ `sync_creatives()` - Synchronize creatives -6. ✅ `list_creatives()` - List creatives for media buy -7. ✅ `get_media_buy_delivery()` - Get delivery metrics -8. ✅ `list_authorized_properties()` - List authorized properties -9. ✅ `get_signals()` - Get available signals for targeting -10. ✅ `activate_signal()` - Activate a signal -11. ✅ `provide_performance_feedback()` - Provide performance feedback - -Each method includes: -- Activity event emission for protocol requests/responses -- Proper operation ID generation -- Timestamp tracking -- Error handling through the adapter layer - -### 5. Testing Infrastructure - -**Created comprehensive test suite:** - -`tests/test_protocols.py`: -- Tests for A2A adapter success/failure scenarios -- Tests for MCP adapter success/failure scenarios -- Tests for tool listing on both protocols -- Mock-based tests using `unittest.mock` - -`tests/test_client.py`: -- Basic configuration and client creation tests -- Webhook URL generation tests -- Client method mocking tests -- Multi-agent client tests -- Verification of all 11 AdCP tool methods - -### 6. Code Quality - -- ✅ Formatted all code with `black` (100 char line length) -- ✅ Linted with `ruff` - all checks passing -- ✅ Follows Python type hints throughout -- ✅ Follows project guidelines from CLAUDE.md - -## 📋 Project Structure - -``` -src/adcp/ -├── __init__.py # Main exports -├── client.py # ADCPClient & ADCPMultiAgentClient (11 tools) -├── protocols/ -│ ├── __init__.py -│ ├── base.py # ProtocolAdapter base class -│ ├── a2a.py # A2A adapter with HTTP client -│ └── mcp.py # MCP adapter with official SDK -├── types/ -│ ├── __init__.py -│ └── core.py # Core types (AgentConfig, TaskResult, etc.) -└── utils/ - ├── __init__.py - └── operation_id.py - -tests/ -├── __init__.py -├── test_client.py # Client tests -└── test_protocols.py # Protocol adapter tests -``` - -## 🎯 Next Steps (Priority Order) - -### Priority 1: Type Generation (Critical) -- [ ] Fetch AdCP JSON schemas from https://adcontextprotocol.org -- [ ] Generate Pydantic models using `datamodel-code-generator` -- [ ] Create `src/adcp/types/tools.py` with all request/response types -- [ ] Update client methods to use generated types instead of `**kwargs` - -### Priority 2: Additional Features -- [ ] Webhook signature verification in `handle_webhook()` -- [ ] Property discovery (port PropertyCrawler from TypeScript) -- [ ] Environment configuration validation -- [ ] Input handlers for multi-turn conversations - -### Priority 3: Testing & Integration -- [ ] Run tests with Python 3.10+ (system has 3.9, needs 3.10+) -- [ ] Add integration tests with test agent at https://test-agent.adcontextprotocol.org -- [ ] Test with real MCP and A2A agents -- [ ] Add more edge case tests - -### Priority 4: Documentation -- [ ] Add detailed API documentation -- [ ] Create usage examples for each tool -- [ ] Document protocol selection guidelines -- [ ] Add troubleshooting guide - -## 🔧 Installation Requirements - -**System Requirements:** -- Python 3.10 or higher (required by `a2a-sdk`) -- pip for package management - -**Install dependencies:** -```bash -# Install in development mode (requires Python 3.10+) -pip install -e ".[dev]" - -# Or install dependencies directly -pip install httpx pydantic typing-extensions a2a-sdk mcp - -# Dev dependencies -pip install pytest pytest-asyncio pytest-cov mypy black ruff -``` - -**Run tests:** -```bash -# Note: Requires Python 3.10+ due to type hints (str | None syntax) -pytest tests/ -v -``` - -**Format and lint:** -```bash -black src/adcp/ -ruff check src/adcp/ --fix -``` - -## 📝 Key Design Decisions - -1. **Protocol Adapters**: Used adapter pattern to abstract protocol differences - - A2A uses HTTP client (SDK is server-focused) - - MCP uses official client SDK with session management - -2. **Type System**: - - Used Pydantic for validation - - Python 3.10+ union syntax (`str | None`) - - Generic `TaskResult[T]` for type-safe responses - -3. **Activity Tracking**: - - Event emission pattern for observability - - Operation ID tracking for request/response correlation - - Webhook support for async operations - -4. **Multi-Agent Support**: - - Parallel execution with `asyncio.gather()` - - Per-agent client instances with shared configuration - - Environment variable loading support - -## 🚨 Important Notes - -1. **Python Version**: The library requires Python 3.10+ due to: - - A2A SDK requirement (>=3.10) - - Modern type hints using `|` union syntax - - If needed, can backport to 3.9 by using `Optional[str]` instead of `str | None` - -2. **Protocol Selection**: - - A2A: Better for conversational agents, stateful tasks, multi-turn interactions - - MCP: Better for tool-based agents, stateless operations, standard tool calling - -3. **Authentication**: - - A2A uses `Authorization: Bearer {token}` header - - MCP uses `x-adcp-auth: {token}` header (AdCP convention) - -4. **Testing**: Tests are comprehensive but require Python 3.10+ to run due to type hints - -## 📚 Reference Implementations - -TypeScript implementation reviewed at: -- `/Users/brianokelley/conductor/adcp-client-1/.conductor/valencia-v4/` -- Key files: `src/lib/core/AgentClient.ts`, `src/lib/types/tools.generated.ts` - -## 🎉 Summary - -The Python AdCP client is now functionally complete with: -- ✅ Both protocol adapters implemented with official SDKs -- ✅ All 11 AdCP tools implemented -- ✅ Comprehensive test coverage -- ✅ Code formatted and linted -- ✅ Type-safe design with Pydantic - -The main remaining work is generating the Pydantic types from the AdCP JSON schemas to replace the generic `**kwargs` with proper typed request/response models. diff --git a/Makefile b/Makefile index 2ce963f7..1398dcb7 100644 --- a/Makefile +++ b/Makefile @@ -19,7 +19,7 @@ install-dev: ## Install package in development mode with dev dependencies format: ## Format code with black (excludes generated files) $(BLACK) src/ tests/ scripts/ - @echo "✓ Code formatted successfully (generated.py excluded via pyproject.toml)" + @echo "✓ Code formatted successfully (_generated.py excluded via pyproject.toml)" lint: ## Run linter (ruff) on source code $(RUFF) check src/ tests/ @@ -52,7 +52,7 @@ regenerate-schemas: ## Download latest schemas and regenerate models validate-generated: ## Validate generated code (syntax and imports) @echo "Validating generated code..." - @$(PYTHON) -m py_compile src/adcp/types/generated.py + @$(PYTHON) -m py_compile src/adcp/types/_generated.py @echo "✓ Generated code validation passed" pre-push: format lint typecheck test validate-generated ## Run all checks before pushing (format, lint, typecheck, test, validate) @@ -100,12 +100,12 @@ check-schema-drift: ## Check if schemas are out of sync with upstream @$(PYTHON) scripts/sync_schemas.py @$(PYTHON) scripts/fix_schema_refs.py @$(PYTHON) scripts/generate_types.py - @if git diff --exit-code src/adcp/types/generated.py schemas/cache/; then \ + @if git diff --exit-code src/adcp/types/_generated.py schemas/cache/; then \ echo "✓ Schemas are up-to-date"; \ else \ echo "✗ Schemas are out of date!"; \ echo "Run: make regenerate-schemas"; \ - git diff src/adcp/types/generated.py; \ + git diff src/adcp/types/_generated.py; \ exit 1; \ fi diff --git a/README.md b/README.md index bd833d48..7c72ac3c 100644 --- a/README.md +++ b/README.md @@ -470,8 +470,11 @@ All AdCP tools with full type safety: - `preview_creative()` - Preview creative before building - `build_creative()` - Generate production-ready creative assets +**Discovery & Accounts:** +- `get_adcp_capabilities()` - Discover agent capabilities and authorized publishers +- `list_accounts()` - List billing accounts + **Audience & Targeting:** -- `list_authorized_properties()` - Get authorized properties - `get_signals()` - Get audience signals - `activate_signal()` - Activate audience signals - `provide_performance_feedback()` - Send performance feedback @@ -719,12 +722,14 @@ Discover which publishers have authorized your agent using two approaches: **1. "Push" Approach** - Ask the agent (recommended, fastest): ```python -from adcp import ADCPClient +from adcp import ADCPClient, GetAdcpCapabilitiesRequest async with ADCPClient(agent_config) as client: # Single API call to agent - response = await client.simple.list_authorized_properties() - print(f"Authorized for: {response.publisher_domains}") + result = await client.get_adcp_capabilities(GetAdcpCapabilitiesRequest()) + if result.success and result.data.media_buy: + portfolio = result.data.media_buy.portfolio + print(f"Authorized for: {portfolio.publisher_domains}") ``` **2. "Pull" Approach** - Check publisher adagents.json files (when you need property details): diff --git a/TESTING_STATUS.md b/TESTING_STATUS.md deleted file mode 100644 index 7e3b76cd..00000000 --- a/TESTING_STATUS.md +++ /dev/null @@ -1,196 +0,0 @@ -# Testing Status - Python AdCP Client - -## Summary - -The Python AdCP client has been successfully implemented with both A2A and MCP protocol adapters. Core functionality is working, but full integration testing requires Python 3.10+ for the MCP SDK. - -## ✅ What Works - -### 1. Core Implementation -- ✅ All 11 AdCP tools implemented -- ✅ A2A protocol adapter with HTTP client -- ✅ MCP protocol adapter structure (requires MCP SDK at runtime) -- ✅ Multi-agent client support -- ✅ Activity tracking and event emission -- ✅ Webhook URL generation -- ✅ Python 3.10+ - -### 2. Code Quality -- ✅ Black formatting applied (100 char line length) -- ✅ Ruff linting - all checks passing -- ✅ Type hints throughout -- ✅ Comprehensive unit test suite - -### 3. Protocol Adapters - -**A2A Adapter** (`src/adcp/protocols/a2a.py`): -- ✅ HTTP client implementation -- ✅ Uses `/message/send` endpoint (A2A spec) -- ✅ Proper message formatting with role/parts structure -- ✅ Task lifecycle handling (submitted, working, completed, failed) -- ✅ Bearer token authentication -- ✅ Error handling - -**MCP Adapter** (`src/adcp/protocols/mcp.py`): -- ✅ Official MCP SDK integration (requires `mcp` package) -- ✅ SSE transport support -- ✅ Session management with cleanup -- ✅ `x-adcp-auth` header support -- ✅ Graceful import handling (clear error if SDK not installed) - -## 🔄 Current Limitations - -### 1. Python Version -- **System**: Python 3.10+6 -- **Required for MCP**: Python 3.10+ -- **Impact**: Cannot run MCP integration tests without upgrading Python - -### 2. Test Agent Issues -The provided test agent (`https://test-agent.adcontextprotocol.org`) returns 404 for A2A endpoints: -- Tried `/message/send` (A2A standard) -- Tried `/a2a/message/send` (with prefix) -- Tried `/tasks/send` (older format) - -**Possible reasons**: -1. Agent may not have A2A protocol implemented -2. Agent may require different endpoint structure -3. Agent may be configured for MCP only -4. Authentication token may be invalid/expired - -### 3. Integration Testing -Cannot fully test MCP implementation because: -- MCP SDK requires Python 3.10+ -- System has Python 3.10+6 -- Would need to upgrade Python or use Docker/venv with Python 3.10+ - -## 🎯 Available Test Agents - -### Working Agents (MCP Protocol) -1. **Creative Agent**: `https://creative.adcontextprotocol.org` - - Protocol: MCP - - No auth required - - Tools: list_creative_formats, sync_creatives - -2. **Optable Signals**: `https://sandbox.optable.co/admin/adcp/signals/mcp` - - Protocol: MCP - - Auth: Bearer `5ZWQoDY8sReq7CTNQdgPokHdEse8JB2LDjOfo530_9A=` - - Tools: get_signals, activate_signal - -3. **Wonderstruck Sales**: `https://wonderstruck.sales-agent.scope3.com/mcp/` - - Protocol: MCP - - Auth: Bearer `UhwoigyVKdd6GT8hS04cc51ckGfi8qXpZL6OvS2i2cU` - - Tools: get_products, list_authorized_properties, create_media_buy - -### Uncertain Status -4. **Test Agent**: `https://test-agent.adcontextprotocol.org` - - Protocol: Listed as A2A - - Auth: Bearer `L4UCklW_V_40eTdWuQYF6HD5GWeKkgV8U6xxK-jwNO8` - - Status: 404 errors on all A2A endpoints tried - -## 📝 Testing Scripts Created - -Integration test scripts have been created for all agents: -- `tests/integration/test_creative_agent.py` - Creative agent (MCP) -- `tests/integration/test_optable_signals.py` - Optable signals (MCP) -- `tests/integration/test_wonderstruck_sales.py` - Wonderstruck sales (MCP) -- `tests/integration/test_a2a_agent.py` - Test agent (A2A) - -**To run tests** (requires Python 3.10+ for MCP tests): -```bash -# MCP tests (need Python 3.10+ and: pip install mcp) -python3.10 tests/integration/test_creative_agent.py -python3.10 tests/integration/test_optable_signals.py -python3.10 tests/integration/test_wonderstruck_sales.py - -# A2A test (works on Python 3.10+ -python3 tests/integration/test_a2a_agent.py # Currently returns 404 -``` - -## 🚀 Next Steps - -### Immediate (Can do now) -1. ✅ Commit current implementation -2. ✅ Document Python 3.10+ requirement -3. ✅ Update README with installation instructions - -### Short-term (Requires Python 3.10+) -1. Run MCP integration tests with real agents -2. Verify MCP adapter works correctly -3. Test all 11 AdCP tools with Wonderstruck agent -4. Add response validation - -### Medium-term -1. Generate Pydantic models from AdCP JSON schemas -2. Replace `**kwargs` with typed request/response models -3. Add webhook signature verification -4. Implement property discovery (PropertyCrawler) - -### Long-term -1. Add comprehensive error handling -2. Implement retry logic -3. Add connection pooling -4. Performance optimization -5. Full integration test suite with mock servers - -## 🔧 Recommendations - -### For Development -**Option 1**: Use Docker with Python 3.10+ -```bash -docker run -it --rm -v $(pwd):/app python:3.10 bash -cd /app -pip install mcp httpx pydantic -python tests/integration/test_creative_agent.py -``` - -**Option 2**: Use pyenv to install Python 3.10+ -```bash -pyenv install 3.10.13 -pyenv local 3.10.13 -pip install mcp httpx pydantic -python tests/integration/test_creative_agent.py -``` - -**Option 3**: Test on a system with Python 3.10+ already installed - -### For A2A Testing -1. Verify test agent supports A2A protocol -2. Check if different endpoint structure is needed -3. Consider testing with a different A2A agent -4. May need to check agent documentation or agent card - -## 📊 Test Results Summary - -| Component | Status | Notes | -|-----------|--------|-------| -| Unit Tests | ✅ Pass | All basic functionality tests pass | -| Type Checking | ✅ Pass | Python 3.10+ -| Code Formatting | ✅ Pass | Black + Ruff | -| A2A Import | ✅ Pass | Loads successfully | -| MCP Import | ⚠️ Conditional | Works with graceful fallback | -| A2A Integration | ❌ 404 Error | Endpoint not found | -| MCP Integration | ⏳ Pending | Requires Python 3.10+ | - -## 💡 Key Learnings - -1. **Type Hints**: Python 3.10+ -2. **A2A Endpoints**: A2A uses `/message/send` not `/tasks/send` -3. **MCP SDK**: Strictly requires Python 3.10+, no workarounds -4. **Protocol Differences**: - - A2A: Conversational, stateful, uses message/task model - - MCP: Tool-based, can be stateless, uses JSON-RPC -5. **Authentication**: - - A2A: `Authorization: Bearer {token}` - - MCP: `x-adcp-auth: {token}` (AdCP convention) - -## ✨ Implementation Highlights - -The implementation successfully: -- Abstracts protocol differences through adapter pattern -- Provides clean, typed API for all 11 AdCP tools -- Handles both synchronous and asynchronous operations -- Supports multi-agent orchestration -- Includes comprehensive error handling -- Maintains backwards compatibility with Python 3.10+ - -The codebase is production-ready pending full integration testing with Python 3.10+. diff --git a/examples/fetch_agent_authorizations.py b/examples/fetch_agent_authorizations.py index 5fe0da74..a5d370b1 100644 --- a/examples/fetch_agent_authorizations.py +++ b/examples/fetch_agent_authorizations.py @@ -4,8 +4,8 @@ This example demonstrates TWO approaches: 1. "Push" approach - Ask the agent what it's authorized for: - - Use the agent's list_authorized_properties endpoint - - Agent tells you which publisher domains it represents + - Use the agent's get_adcp_capabilities endpoint + - Agent tells you which publisher domains it represents via media_buy.portfolio - Fast and efficient - single API call 2. "Pull" approach - Check publisher adagents.json files: @@ -17,7 +17,13 @@ import asyncio -from adcp import ADCPClient, AgentConfig, Protocol, fetch_agent_authorizations +from adcp import ( + ADCPClient, + AgentConfig, + GetAdcpCapabilitiesRequest, + Protocol, + fetch_agent_authorizations, +) async def approach_1_push(): @@ -37,21 +43,33 @@ async def approach_1_push(): async with ADCPClient(agent_config) as client: # Ask the agent directly what publishers it represents # This is fast - just one API call! - response = await client.simple.list_authorized_properties() + result = await client.get_adcp_capabilities(GetAdcpCapabilitiesRequest()) - print(f"✅ Agent represents {len(response.publisher_domains)} publishers:\n") + if not result.success or not result.data: + print(f"❌ Failed to get capabilities: {result.error}") + return - for domain in response.publisher_domains: + capabilities = result.data + + # Check if media_buy is supported and has portfolio info + if not capabilities.media_buy or not capabilities.media_buy.portfolio: + print("❌ Agent does not support media_buy or has no portfolio info") + return + + portfolio = capabilities.media_buy.portfolio + print(f"✅ Agent represents {len(portfolio.publisher_domains)} publishers:\n") + + for domain in portfolio.publisher_domains: print(f" • {domain}") print() print("📊 Portfolio Summary:") - if response.primary_channels: - print(f" Primary Channels: {', '.join(response.primary_channels)}") - if response.primary_countries: - print(f" Primary Countries: {', '.join(response.primary_countries)}") - if response.portfolio_description: - print(f" Description: {response.portfolio_description[:100]}...") + if portfolio.primary_channels: + print(f" Primary Channels: {', '.join(portfolio.primary_channels)}") + if portfolio.primary_countries: + print(f" Primary Countries: {', '.join(portfolio.primary_countries)}") + if portfolio.description: + print(f" Description: {portfolio.description[:100]}...") print() print("💡 TIP: Now fetch each publisher's adagents.json to see property details") diff --git a/schemas/cache/.hashes.json b/schemas/cache/.hashes.json index 70d3b5e5..66e784c5 100644 --- a/schemas/cache/.hashes.json +++ b/schemas/cache/.hashes.json @@ -1,208 +1,216 @@ { - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/index.json": "9d979c2d90456406431201d6274483838f2a8c02d3152604eb03edd3d63e8858", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/adagents.json": "0f6d876abe50bc6daf41091bd2ad97d897dcab41aa052f68bd4759a702161b54", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/content-standards/artifact-webhook-payload.json": "f6f71303a21172ac2cad2d39154d4f5c28ccc32714b37b1139531d51df517ca5", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/content-standards/artifact.json": "06c4687c503f6c481a28d5be896ca81c30ca236ca2fc07b7a87d100408d455f0", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/content-standards/calibrate-content-request.json": "80cb0d5eaed46bf0d089537902ef42966a02ab5912517a3a23008f692bc4fb15", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/content-standards/calibrate-content-response.json": "cbfce23313c9d41be565e08c81af169bec7fb903ecb286d9a9873e67b4d7aef9", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/content-standards/content-standards.json": "c07e0d644835a81ee04df56fcf8b0358979258aae06202b50b423b32cbadce07", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/content-standards/create-content-standards-request.json": "593964f9a9d0abc35a91a1e3cef6b631332b44fdb028a3285258348be7559ca5", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/content-standards/create-content-standards-response.json": "36afcd20b99d353dbf588a7b6a95921a84782265d866427c5687ede0a855597c", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/content-standards/get-content-standards-response.json": "52b3b92120e8ece1b4d7eaab5a4f25ca40d74d638f7e337951607a64b23b14e5", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/content-standards/get-media-buy-artifacts-request.json": "7293dbeefd6a8a3e405305561c8f0b0c7e24e5c7b710472c01cafd714f09faac", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/content-standards/get-media-buy-artifacts-response.json": "af8e49e40a505d8111631135c94f05610cd4057f4ee1836b34b2b04a70a362b6", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/content-standards/list-content-standards-request.json": "0da1d2c1e33b7233f36008819391526f3a218a0b1dc673e84bfb0651c1a93352", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/content-standards/list-content-standards-response.json": "5300147c68c19ac3b34f84e2a97d5a20ba79b48f2731215b1856dcbf4ed2c360", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/content-standards/update-content-standards-request.json": "7c198c176e296ce9fe6f622a4a7e7253c11557b7cd5c313d96b8772cce1360a9", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/content-standards/update-content-standards-response.json": "4c78aeb3c4178bd8093656e3963738e5b59756730a636d80d635bf2c3fb83f24", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/content-standards/validate-content-delivery-request.json": "e8a42e686dce80a816de2ad27c8d99efc8019e46d82fe97e58d9721617e55298", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/content-standards/validate-content-delivery-response.json": "ffbc63e90dfe094b9007e4be3fa13940e4b8c12b9757e2e6ca5297f2449a81b9", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/activation-key.json": "5e7b1ae6d8d6b05588ed6df69ba4def04cd8e5467b39a9e2c4a603c1fb39faba", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/assets/audio-asset.json": "202ec4afb6dd7e5dd20a1ed7c14ea8007519fe68949ee7f8a0faf3e74a8a724e", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/assets/css-asset.json": "d891232ebfb041161ca2d623dbd6f97ec47088bd8a4755a8c5efb80b28390e82", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/assets/daast-asset.json": "b9890c567eb80e7755222071bb5747e6752cc8cad030d1decfcd385e715cf562", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/assets/html-asset.json": "8ebd38e9928471eea9c97f296d8dd34f190a920843533d4b6aa3ab9de129ba2e", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/assets/image-asset.json": "9ebdbb5f7d70eb16615f7f3c49f81f7a8241647aa4acf545bbbb3e78c26bff96", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/assets/javascript-asset.json": "11a083cacd528cd15024c4ce3539a0bb1acde04fe069edc573ba147af83de5e4", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/assets/text-asset.json": "9e19c95c04d6a7c72eb6b34047755f59ca6d859fcc39c847ac7ad842b25ad943", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/assets/url-asset.json": "f77f0520ab66036b45314f37a4e1c31f40170a68e9f3a4d7240abd5c3cb6aa22", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/assets/vast-asset.json": "d646ccf268d94bd3c15b4dc2f554638e9b84e86e757e7f4cb6a4f6dacd31dc4e", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/assets/video-asset.json": "8f89448d0920b1a98572435bce5bbafc72b9676ac36ed57d24ca615995b6ce9b", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/assets/webhook-asset.json": "efab5a3138a894ac1cc5f5106af4b3424f1469e79c76d7f232afa2aa74c2525b", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/async-response-data.json": "9e4021b74f189e570dd7a38b7d64d20f6f40087cbf856de0d78deb1e4602450c", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/brand-manifest-ref.json": "2c634181949b18a9805ed5c8a3eb6d4bd029723452f78711ccf1c58979758144", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/brand-manifest.json": "d195564b27ec07fbe2471ed46424eb84455387ec3f60645279f0276968367e04", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/creative-asset.json": "87c2a3b12f480ff594c8c7cc0c2969cd5bd4078760cac088a8a0e4392e2f7566", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/creative-assignment.json": "bb787157caf85223b0fd7679d84af9533babd09a0d0482105416701ca53d724f", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/creative-filters.json": "436ad38657932675960c87388eeac26a8bd2dd4d8ec98f47aa1ee74d8e5100a6", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/creative-manifest.json": "1df44e6e78717704c00ca36d17d4293c43255b5612edd515679bf8347b2b241f", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/creative-policy.json": "657fac9b77f50e22447e929c6d0f14a41c1ef201e46a38da03a731d73ffa7b72", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/delivery-metrics.json": "591fa823466e089131b3bf75ea40827c3e3880946421e05a10a886f613949947", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/deployment.json": "846667cb60792c44f9ad273b98fd906fec919f81571669f442176c9cf16a7112", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/destination.json": "f98945a898644a02d3f056b79b25e93f34d064b79d9c83c505815564e1c6d62c", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/error.json": "2c27fcbd268ed8c2a1e2ce6a2a7434a7ba061c30906a3053ee273af8c70a45d9", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/ext.json": "79ef66bdd40c3c179555e1c4677e03fb9300d4873783de283bd7330a95c2112f", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/format-id.json": "ab8d2839a2c8a21075a8abf6558d5fa92f198d2ff6471e8a76daca8d34ca347a", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/format.json": "7d3984558cde01ad6e565983487e3c2d0c67cf74037da1a937b766ac22da52b2", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/frequency-cap.json": "2bbaddddd14ae6b72821d5dbd4adf4dee54492a81408b266dd13c423e4e99b44", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/identifier.json": "b97ca0cbbad51f040f6e43c9114ce7cb4a24d18405713f616d645c093035ad93", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/mcp-webhook-payload.json": "cc43d8159dce97197a0ebcfb5f03b1ff56588ba8646340dd518cef6a1f8719f8", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/measurement.json": "6704501c519f1e5c06a2b3d627842fc6781f547d864155e93e8f2982daf94b2e", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/media-buy-features.json": "b8a5f4525e8fe0ecbe5a80c4c43088989fc376f88b8f8fb91b959dd2c6e758af", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/media-buy.json": "58a71fe8f9806eaed3a7cb06f7a70c4eceb225801a1f3b12bb6c1d3ec79c27ee", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/offering.json": "b6a8d2e3f166e80fbeb6923e2a1ff62235db7db708059ffafbe7a9df8b3b09b6", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/package.json": "a36233b6d8a26e3a337d4d44b97875b43c1076bbc5967b29c1a09d289d7d1d72", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/performance-feedback.json": "c75f36b07f56b523c89e9c82e43e72a6d824c63fa4bb1fa441cff76b7c81c012", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/placement.json": "10b228fdfc22396012d47c552ecb34dfc8b8fc3191de454bd64c7a3cea840e00", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/pricing-option.json": "d7a7d48ff112b3981d438cbedfc500190b47ccc542d2d446ee92737933034016", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/product-allocation.json": "4520779e9a5720262e1d0787635ff67806161ebf6bddd8d2d78eaf27a146dc63", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/product-filters.json": "df195d7a137ac29ec0523f17a64fedb0df2165da615345542a695d82336f2e0e", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/product.json": "c77f0dba92401ff688b164d12620f2b0bcad8e3c7e903b038164cc50c96c30e5", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/promoted-offerings.json": "547239991de9c499a1380b7301f1da36dfc7ca6559733928374754ad52807161", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/promoted-products.json": "4504b9ae6394ab8574b6819512370593279fc43d1b8bd4feb582ef6dfe91cfa2", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/property-id.json": "b0b5c021ea4e645bda79881f7602254918d1fd6b91585d98a703edfe85b86192", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/property-list-ref.json": "9063dcdeac9ef66a25a60a60104ea27f0ad336ec694f2d41e9e13b600529c3b4", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/property-tag.json": "07792e665fc17d3c3f13f7945be75243a55da7c23785126ce09f70b1d40413ea", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/property.json": "1d6fc7b41c52809c9b73f81e1730b51da4439549ab0184f716d58ba819fd91a9", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/proposal.json": "16df645992f2deb0325de4c76ad118541dd8434892cdf395b8a0fa1b658de22d", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/protocol-envelope.json": "02876b10831902d11116ff08687e67c64e4f3c425f8cf17abea8bc2d38acf02e", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/publisher-property-selector.json": "e4259871029f6422dde39f6bfdfca54bb20288fe31d642be772a5bef4b3daf74", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/push-notification-config.json": "cf4d33445c6b72f54d296c67bba47277d4705abbc6c0f8e055bd0f2d3c2d8b04", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/reporting-capabilities.json": "5ea4e6ad327622da062b158d2e48ec419a760a06348794be503e719fa8f48968", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/reporting-webhook.json": "70520816e31e192e9d80659527fe0c1cd3e729d3a504bfe14b4002499d3f96e4", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/response.json": "c7a020ca4670cb6a93e51e84b8520732fab00cab9e1d115aa1f811abf6a7e321", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/signal-filters.json": "6403a36ae84beeda9ac0e15a0ec3eaa5387e5306f5145c90955266e0092af4a9", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/start-timing.json": "a52b1bbe65b89116fbba11bf74869713fbd110eb183e393e65ad1e09216e5a35", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/sub-asset.json": "fa958671f564b6afdd4cb3494bbb34def5c3cc1a7b75e07aa661c2f6ef85d48b", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/core/targeting.json": "e466a3b9dc974414fd8a66c8008b3d4ea6c1f31f2edd62858bc474a07ea94b5a", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/creative/asset-types/index.json": "f34bc35428fd352093cdc574de65375d0b80f8e18b98ce3265700ef153b8ff7a", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/creative/list-creative-formats-request.json": "6279b699fe7009ccc83647f11f35453c4bd5a978f93b29f7ce11b90fa1c26994", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/creative/list-creative-formats-response.json": "b7ecc8e8d59fe758357c76a5bcc17d854bdc371d1c5ba213ea872a5f509231a7", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/creative/preview-creative-request.json": "1f89f7acff647bbb994cc7bee2b78385f87d2b61965b71ce0802ac6e1a518649", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/creative/preview-creative-response.json": "5cff55473e3711e149941c72eb18c4466f5854bef18cdc75f0cdc35d6146d6ed", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/creative/preview-render.json": "1eea9df495cb7f4feffe3bb43e88228a447dddc76d5952e5e4924c4985093229", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/adcp-domain.json": "175f1a15b71106c2d6da8c4bae9bfe5a1172b110805378602ccbeadd6e93c2f5", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/asset-content-type.json": "dd1cbd77f2c7db6fa2a126ed1e75bc7b3203fb38eb04dde06424442ec0f9995b", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/auth-scheme.json": "da6a1446e19d48cbbf30be0b526c182e111277762e3b7d84560d5a6b59f20021", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/available-metric.json": "9dbf5ad6abb0217e45c73f0297f80598307ec61a523a2e743d69869abb3d89eb", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/channels.json": "951d9ff47be8fb747a7999db0b545a03a2ca71d258b13f4d2b31653e374d78d8", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/co-branding-requirement.json": "180d100448050f8e7f84a5e22499e63d70e52cd6fbc3ebaf8fd613ba78d33ca6", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/creative-action.json": "4179ce8c153c167c706a423f7aaca5bb53f0197616e2ed045fe1ffb52a539643", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/creative-agent-capability.json": "4387c53b040c263061c8c4a3a2f97bbf8a93720d5043c6311e97d98e073eedc8", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/creative-sort-field.json": "2a9e4864c854876f84d6cf509733a6cc80f156071a85167634bb235a88e47971", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/creative-status.json": "c568387605cfcd4318a3840f8c98a38e7dbf49194162876a0223306d4c8458c8", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/daast-tracking-event.json": "0f52be6aac84835c27efa17fa57b2d771b87a44259b88fce15f80301ade5451c", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/daast-version.json": "b71c01911ed4b6a7371669425942a10a6f7fe737cb013ec04bb93d59e05afd6e", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/delivery-type.json": "cca9682955c425adb4e80db7e2d51d287a8dd9d0b10040399e7f68e2f57f0a27", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/dimension-unit.json": "242cc7dfaf02dca10b301165b75639f6b6a70eca0bac9ed1c38df99b7dacd02e", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/feed-format.json": "f65995c103f9ecd9e155dd7a69f31b16e646a0a2aeb09e7adbff45350b70d884", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/feedback-source.json": "8bb82d8e44b466c179e1aa855469866a58ab63eee26390e534c1ae6d1db52ba3", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/format-category.json": "74cf0d81bcdc81f0895570057e2a417d34484c31024df99de1bd3554f99c96d6", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/format-id-parameter.json": "31370a2027fd46b972664282d85007a7dfc1c4d8466479ec6a9988ee6d393c50", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/frequency-cap-scope.json": "14aa36f3a072335ef68e392906004c1ed33ffc63c456102f75639317513c566b", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/geo-level.json": "1104919f54cb2c28e4c085686cfc236e458c23592d7bd56c4c5b31bbf6157200", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/history-entry-type.json": "d1e7bcdb54c7620edeef26a1d5a0c6bd7aaacd2ed289ba1ad8f669208fcb09bd", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/http-method.json": "8867b9639f69f9f88e62758ce3bed7cacd2df784348d570a6225e25c1665dc33", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/identifier-types.json": "2f2d6ec5d0395717be8c0d4e2d5726c79a06d29f0250d6f1df85ba502d62d0e0", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/javascript-module-type.json": "a3424ce1d2e28712542c23f0a58dc6bf81a66f646b1627fedc38cf6c7b329a90", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/landing-page-requirement.json": "3ce50cc78768ea72acacc7a96cb7cd9cf2a51d8482486d03e0b3f719ebd10827", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/markdown-flavor.json": "de33b6c389b276186792e58314581c295a9631d3240cdeecf17fb3573de052ff", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/media-buy-status.json": "4231281df830f3185ad5f8811db38618fc27c435899b22d1f70c8baea168f2bf", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/metric-type.json": "33d2060e338d099140c7606395c49e7ee916fc967013b871adae2bd404f820a6", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/metro-system.json": "37d580a783eeb1cf98ec36aaa7b6bf74dfc3bc71f0ade458571592433e6c5daa", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/notification-type.json": "39b3565ce4618abd872dc32ff0df91c30fc2d90300787c222cea99f96ae9f61b", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/pacing.json": "336f215a6cd2e8ef8c9cac009943da768ff7878019fa885f27b7ecb99f871b77", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/postal-system.json": "7241e1bc1a8ce3968ef69f4fcfffb85f0f3583f34614a8d097b138e1bb84cd2c", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/preview-output-format.json": "a3b6823f3cfada2350b278bf6055887c1b564c760696b7592968a13d3f563f0f", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/pricing-model.json": "cfccdf8900ca8ac21fb50e7cafc714fe57bc1a49ab88093b1c34b86369bb8937", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/property-type.json": "e63b15a6825ca35c57fa37e919438265b398082ba6e2993cbdc8760e738bf654", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/publisher-identifier-types.json": "f37f3ce28b593648f7e8c0eb760a649ed5a9d6f9fd41e86c010687e5682227aa", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/reporting-frequency.json": "fa1ed519b271825ebd28a5c441ca7ab3f03bbbf835e500817648853f52a38cfa", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/signal-catalog-type.json": "0555fdc1098e5059494904b28e11898de3d089a0d70dcefd0fb95bf783cbef0e", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/sort-direction.json": "8ddb4e4d8793f33dc1608382afac4d2e03c34531280e488b1dc532b69963c3ba", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/task-status.json": "87bc8409dc62ca839d4cd8412b7455fa11f122f727a865cfd962f7ef5b751d74", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/task-type.json": "c8d3a00c4f0153649cc74a5f5511e41cbed3853a0e1c31619cc89ee3a75da992", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/update-frequency.json": "cf13d5d399dad35a73c429859beec2b3450b66862998b50edd8f26fbc57fafae", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/url-asset-type.json": "7033f56f3727a3f31cf3b35c4b25388c89c4de82b80a16a82a5f28e33b8fa247", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/validation-mode.json": "3581fae8d2a1c21bb0e6fbb05f22d4c279ad888d77e9433bd99c08442779e013", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/vast-tracking-event.json": "695b27177ed4fd6e4608ededcc42c14d9b238879824a6de109d0ce181a5c2d23", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/vast-version.json": "a6fc5677054c3691d1c074f8f349f1f2da897d6e8e7895515a2745caecb1de8d", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/webhook-response-type.json": "524f7c5e0cb7213815910c8ce5651cc03b6b5e7f6058e09a6b048a94887c82a5", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/enums/webhook-security-method.json": "945a5e3f6294a9ebeb09675e1fbe6bd3fda6998b820d0498ee1bb38d1609867b", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/extensions/extension-meta.json": "639103027d657206b40a9bdfff0baded2588835e6f15e5b0f7acfec748e94423", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/extensions/index.json": "dc355cf73630bebbf216afa68fd9927ffe52a3b650133d4b78ed2febc8f00fe0", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/media-buy/build-creative-request.json": "55c67da08c2ddd6b7d36ef19907f0a4613ba686dceb62afe9c3009ec5c1baf81", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/media-buy/build-creative-response.json": "f2c6ada849144aec851acfc12b4e10ff4ec57b465f29c26bc2960efc6b36ed25", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/media-buy/create-media-buy-async-response-input-required.json": "9926408f1e17bc6b1d01b464e5164807a5862debf9f01c37131d012a61fb71f4", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/media-buy/create-media-buy-async-response-submitted.json": "b21f8ed2bc17b3fadc004240611acb6b591a2eee709f00910fcacd0d47ffc7ce", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/media-buy/create-media-buy-async-response-working.json": "3862cbe05a2354ea7ee47b2ea3387163dc39657ee1b4ffccb14070a17a57fb7e", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/media-buy/create-media-buy-request.json": "517df2eb2ab8f4c93df805c30739815e482a63092439f67173f3d15b7fe6953f", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/media-buy/create-media-buy-response.json": "6ae8132b9b02d35255da6aa5fc419643b891aa5215d48476da722e29b673759f", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/media-buy/get-media-buy-delivery-request.json": "2f7cb602f1eebf14cc2a0a53eec8138edec823aa06a4f0f56a03aaca165e5f95", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/media-buy/get-media-buy-delivery-response.json": "351487215a419517994cc7d6e6e47ed77f437f3f861a4d00d22c4e3280fb60cf", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/media-buy/get-products-async-response-input-required.json": "4a01f5def95e6f8ded27afec1f6f73afeda142f627eddeb0d19b95066ab0ec64", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/media-buy/get-products-async-response-submitted.json": "56e7f4acaeb4ccb3046939ab0178e93a140c904e763a625b4c8b32fc0d940a09", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/media-buy/get-products-async-response-working.json": "717c65bf462bc70c20c3d141a16684a4c7968d44a0754ee6ee5784e30db3936f", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/media-buy/get-products-request.json": "b581c3df80409cb030a1ff9c2147eead2580b0327edccbea453582f98ea29d3c", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/media-buy/get-products-response.json": "4fa1e1a117f4ded54903d569d836b2bae0021b37faaf2d7579ef6789fc258894", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/media-buy/list-authorized-properties-request.json": "e3a6dc81390d087a317fd4f023df208476d470e7bca866c875435e1dd95144ec", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/media-buy/list-authorized-properties-response.json": "46525ae6ef3bf4bfc860c295d0abd8188270db1781bd5d5427d1a0b788f4a1ee", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/media-buy/list-creative-formats-request.json": "61cd9e5b90f89c79654bb441263857aac78a5f3b90c04275948e06b402496d40", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/media-buy/list-creative-formats-response.json": "cee26e59b32aeb41bc666f448e9f4c463279448dbe34bc67182dc98e64914eff", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/media-buy/list-creatives-request.json": "46fdd347a0c33169f40c03fb5f803664de82b4aa093f8f58a468f4b26413bf07", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/media-buy/list-creatives-response.json": "0f8680c746162bf88127176a01001045e18daa80fac810bfee2a8b66f09892b2", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/media-buy/package-request.json": "89e3a9a3dfbccd90d09731e958431edd6abaeda0c62af6ea2c339dd36d7d8aa1", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/media-buy/package-update.json": "801a4d1a847c00c68d945265a9cc235e59dbca2016de6c3f10f50d787faaf54a", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/media-buy/provide-performance-feedback-request.json": "8a8f25b6d90883a34a5fb8a26ce4ae614a5f6bd12777273d51ba6e63ebcacb50", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/media-buy/provide-performance-feedback-response.json": "77c0f1e1c107f3922275bd6a01c92f14fd913a67d633a66982695ae2b4a4ac14", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/media-buy/sync-creatives-async-response-input-required.json": "bd7457bc5b813ebf6bf468f3d4dd817530e8b0a324f5f309b02bde9b4effa38c", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/media-buy/sync-creatives-async-response-submitted.json": "f2c0bc44b9ac051c5634c2223e604cd554c252d08c45d4203be4bcf9d0ba2493", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/media-buy/sync-creatives-async-response-working.json": "c93338906fbe3b9df01e1c34e5a771b30e2f7a35e065d8eeeaf48c094ce8c1bd", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/media-buy/sync-creatives-request.json": "f3eabb29d385abf782fdc928f6c4bb11f8db91c479621d5ee3267703b59aa067", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/media-buy/sync-creatives-response.json": "8f744395edca1c1e21fff174cf31e82d20bff1c6814755a2208237721dad8f92", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/media-buy/update-media-buy-async-response-input-required.json": "562d9054c98ba780b1bf31bda2f9d40dd493bca2446ce7c793193bdaa85d4adf", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/media-buy/update-media-buy-async-response-submitted.json": "011a3765566c4e3059072f2c5c6d454b74ecbe447c2007eec27a06c8481df941", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/media-buy/update-media-buy-async-response-working.json": "bcdb10ac932121181cb19f7ca75c576f2fe86d83563feaba57b290a1785674fa", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/media-buy/update-media-buy-request.json": "60c62ec9ead6bf6bc96198aeab368311d7e62d9afb63224787d312b61431cf5b", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/media-buy/update-media-buy-response.json": "6a0caa34dc9af742adbce3e4cd79397a4e49c9c754442f956e20340aec8d4b0e", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/pricing-options/cpc-option.json": "8f85171cecd17f7782982c2a565103e6745bf16c8b9db217e55af46873bd4725", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/pricing-options/cpcv-option.json": "d20dce0bdff257bb66003e4f3cb6837984b98af1d2dc202c856ad6b9b556dc50", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/pricing-options/cpm-option.json": "5c8802c3c60c3af891aadc1ce3d5e8f16a6eb43a4098065bf3c179c0c140d214", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/pricing-options/cpp-option.json": "974a99d103aa783a64b1a2ea418a030e520f6e3124dd2265ed898153369a318b", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/pricing-options/flat-rate-option.json": "66d3c2b4f56da01abb01c8cf902710bba981def3452721c148aa2addf84aaf80", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/pricing-options/vcpm-option.json": "4ecb0b2074b01490e1c17a3916ba6dbb9ef451cb6a4789ac93560ad722108436", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/property/base-property-source.json": "b1d1b99d3f1b6ac42cb0bc44512b535110e2d38fc86328b3e7ff18db32e4d631", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/property/create-property-list-request.json": "afc8e0b4b8f3c51dbb863a60e1f6c9a9b905fb91b8359202e8e0790d36c28947", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/property/create-property-list-response.json": "faed8efd8c2893b9814a42de7089965425e298340191cd0e42a964384585c6fd", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/property/delete-property-list-request.json": "5014a9dc58df8ea4693359408997dbb83598f5799beee60f400514201de3eca5", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/property/delete-property-list-response.json": "d97c0c22d69149fa1ab5b3c2949ca07354bce7b7c2228942b29d712542ca178f", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/property/feature-requirement.json": "1e08621984f6131733ee8dea9240d74f37218927ddaa7265628666b87201795c", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/property/get-property-list-request.json": "f7b5fa0c174236fb1e865793f87722e2eb3811d8c7c8af37c2939c04c7234504", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/property/get-property-list-response.json": "eae50c5719c3667a49f2421a691dff953e541f9b6903d573de4db61f5aa15828", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/property/list-property-lists-response.json": "c7d2d41225959fef7226e0efe44a21341c8b8672c4c25f7b0872629ca2fdca5f", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/property/property-error.json": "0318b773b47c30c898561a5c1c2dd9bd673c3996de4b5cb15f8d751eaa2abca7", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/property/property-feature-definition.json": "b0afceb2a7df746e1448c67826de19aeae58f0534890644904015fe8ddc53ae5", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/property/property-feature.json": "5eac17d7971096cf9c0fa0c146aaed602e5d5112e93c7edd7920928ae78e78f3", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/property/property-list-changed-webhook.json": "0aef173a9d667dada4392cbe3029552a5edd9918f9d6005f55d8ba1881822b75", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/property/property-list-filters.json": "915e112c12cbc36fa790b8d4265eb1326ba1f386d6305033b9dd14bd9b12e76e", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/property/property-list.json": "e36f44cb1bb00f7684b681a5c1a15021927337e4ccddf08c89204cdb3392b46d", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/property/update-property-list-request.json": "3ba7d18c83f1600eaa263170a83825b86246693002c737dc20249b94e8dc5f7c", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/property/update-property-list-response.json": "f76d8b9bb284ef07c071af8abcac1961d73fcc171abb372d3120752a020e8aa8", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/protocol/get-adcp-capabilities-request.json": "d2adca6a9db9254f3ae3daf39fa16ec0bf898d5596e9641a899fde47b9729e5f", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/protocol/get-adcp-capabilities-response.json": "a9a62998e07929684d5b20c0940e9522694507db4a4e35d5e1694e188659899b", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/protocols/adcp-extension.json": "028b8093407fb7da3a2c97ed1d94246fbf1a1b805f7638e5f07119652bd0e134", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/signals/activate-signal-request.json": "ec0e42a0d69651541d1cf9cbfbd94fda9564749c246ba2a2967ad372158375fc", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/signals/activate-signal-response.json": "4bbf05cb846daec11ece49f5225923c75baa21d03c538085b4bc02739c63d15f", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/signals/get-signals-request.json": "2c5b25ac32516fdaa37d4546178e88222d3df19217fd008cb11c662b2e72ef87", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/signals/get-signals-response.json": "4468718314e0a3081c47dc27a164b1286de3680fc810f573d5fb03fda247f1f2", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/sponsored-intelligence/si-capabilities.json": "b062365507914f5b90f5245690ea14931a71e347ba0aeae4705caa232df6f8af", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/sponsored-intelligence/si-get-offering-request.json": "9e7fc69e09508722024693b477b3081d1cd8bc33c7b7f2a1d6e3e25720b4baec", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/sponsored-intelligence/si-get-offering-response.json": "3d63820da540cfcf1d4fa9709bcae343cd0311fe391068f071ef923436d89ff3", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/sponsored-intelligence/si-identity.json": "1b48e952c6adfefaeabfb80023c7783eda48a879a97fb9793da7eccce50c3813", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/sponsored-intelligence/si-initiate-session-request.json": "49b292a18f1a0e9be820aad88612257afe1694f32941d13da13d1d498cab5c9f", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/sponsored-intelligence/si-initiate-session-response.json": "e828811611a2a20bba38de1beae09fa7fd017a13271257fd8edabca3de527244", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/sponsored-intelligence/si-send-message-request.json": "1b8dc2f8cbccdc74705e59548ee4a73ca93588b607de9e95cdbd7e5718969a2a", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/sponsored-intelligence/si-send-message-response.json": "7dbe275399f10b37e691686cf239fa5acf2a9919a34d61a6f6bce62bc5919fc6", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/sponsored-intelligence/si-terminate-session-response.json": "61a10e263569e9555ab745d805b201000a18bff0008f27d7a79d3f912885a896", - "https://adcontextprotocol.org/schemas/3.0.0-beta.1/sponsored-intelligence/si-ui-element.json": "d5e1c9583a8256889b0b4d5307ea8a267cf41465ed37d588eec9aff3026fe4de" + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/index.json": "67c7f9a638e3bfa36ae40130566379dad9dbd5904e348bba79257d24c7bd5d83", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/a2ui/component.json": "86fccbc19fe58ea18ab1859b6357ee5d79f20ff1362ab09345777149c67425b3", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/a2ui/surface.json": "746c5d9b966799d9c6ea45bf2653756d7e9a277dfcc17dda484e423b7228144c", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/account/list-accounts-request.json": "608524996c8915e08d4289255d9dcf8e59bebb6ff0629f9cc524fc44b36c7af9", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/account/list-accounts-response.json": "f1aadc5061362ec51b1a1d1cf4a5134242f7eb5830bb8f48e1b8e167d751c34c", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/adagents.json": "5f0291de625f231ceac80fb21afa52e6341e2cda240147afee50c628b70b1fc8", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/content-standards/artifact-webhook-payload.json": "fcf7ee47cc0bd069dc4e861e8fc9c6513f84517c93503dd164695f48126ff2e4", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/content-standards/artifact.json": "783d67e123f6094c3f231fb6590ba2b135d8c7dfa25d948ec24f208181e2b458", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/content-standards/calibrate-content-request.json": "09848447c00e395ce828deb2ca16f6acfd7bffde68849d400c2e75fa9cb9db1b", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/content-standards/calibrate-content-response.json": "11cfdf2fd96a92bf08e2dbaa3cf300179ea386105bc52435e1c284258d475dd4", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/content-standards/content-standards.json": "4c9a79f46080a5592486b9e157925e23927ce9982a01a9c55196f7abf2ef1673", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/content-standards/create-content-standards-request.json": "68a4a249c5e6d69f236d65316f6014f10148dfebbe97923c525cc19b41d2d8a9", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/content-standards/create-content-standards-response.json": "5e90da789be4c351fd110b0c26a3c0cfa58aca95a7d536df46cfc8863eef71e6", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/content-standards/get-content-standards-request.json": "d03bad8187a23b39213aeb23713011679fe8b1051c3bd69b8a7cd04911551d13", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/content-standards/get-content-standards-response.json": "c19db04e525c213814708c34b05a43d705c86ba16ebb627412e851a3c79b639e", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/content-standards/get-media-buy-artifacts-request.json": "3b38ed6ed8dce37545af6f13e203d8d362fc077ae11c29192034bcc491d6d20b", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/content-standards/get-media-buy-artifacts-response.json": "db6f7fbff013504ab4f441a4e4b3744be0051c08274e48e34a434923388ed969", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/content-standards/list-content-standards-request.json": "3b2df0309c31e03d73ce2094340052f51fe1420dfd0cfa7c093b80ab3078803b", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/content-standards/list-content-standards-response.json": "a19a274664f2b25305606bdfabc39607c692622005b378bf4383bc271c8e4ff4", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/content-standards/update-content-standards-request.json": "d16583f26d0b69499028ed4220e528406f143698d1e2e567ce1fdee0f71551c5", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/content-standards/update-content-standards-response.json": "758bf4dd3b925510bc1774f647068016b1fbc092f57cd46ae8add78d2a71c8ff", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/content-standards/validate-content-delivery-request.json": "8faebf1a4a5dc392187723f587d8b99338c61e17d3c23422cbeb2f8417056c26", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/content-standards/validate-content-delivery-response.json": "203d72089756f0b83058289ea821b2b5b0bc0b30a515c8ca607e132084657a50", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/account.json": "a6dda46b9aae8b4a47c562fc070c3432475081934d3f75211d6c30218ee5ac57", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/activation-key.json": "d8cfe3c8c4ef52c5079c4174eaa9ee569047e4c7135cfb740563f6c3dd6693e2", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/assets/audio-asset.json": "4d5865c0284f801f87285c25ca4b85dcf2b864f831b33f172d897766f4592789", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/assets/css-asset.json": "0b5679e6407db22093a7205f4517f718b8a61a9075b91186eafcd0d437c5502f", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/assets/daast-asset.json": "29e2733bbba16ebfb8c809e767f0b65af4fea1c969934563eaf8a13f1b05ae4a", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/assets/html-asset.json": "4bd24b7d744f9af5bc2e0888c7a930a7fef62f6ff7985de7f44e8ddb2aa7c16c", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/assets/image-asset.json": "f399233a7d99cdcf77a0ee178b22cb1e5043390c7562d9b9b7dbf02b99a10f89", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/assets/javascript-asset.json": "c03b005539f573dee709560e6475240b9c4e3c999c09aa6a289f17e509834c98", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/assets/text-asset.json": "d6ba36a5fbb0db56e99c40c67aecdba1fefaf6224d8a3619d327e8079b649b84", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/assets/url-asset.json": "23bcef0ca60a1fb1d50af7ccbedc52dd9c56b791e424d7fe13624913ff3712a2", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/assets/vast-asset.json": "20778214b6b462beaa1a81b4ea0eba24769f9f5c99fc196c47c94fc3dfc172f2", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/assets/video-asset.json": "44885c68c05b21d6223e88cb0a42f940f6d5b581d4483a45223cafb2c62a237b", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/assets/webhook-asset.json": "ec0e5a0e90656a43912012d372ab5f75a0d11cc50f46afaf37740941937791c0", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/async-response-data.json": "8647564f399d0c6d6bca81de4ff4abf38520214e0950258df2abf45a0e05fcf8", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/brand-manifest-ref.json": "feaf57cd6d4ba4d5e825ccb2a3434f48f0eddb78474816980d00bb361a8b540f", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/brand-manifest.json": "bef6e3fa71724cd70c114a61d4b7ce3f5fd41b70f9697f8e7c2bd1dfcb0ac26b", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/context.json": "ab644d4977cc1b5f73eeefa5ea951d5411baa127208c9a6a08e44807d8701c79", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/creative-asset.json": "0434dd9c4dec39f24dc5baf9cb60aae2b5be9864d38ac0c00cb6938531a2ffb0", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/creative-assignment.json": "9f1592613f29df98dc87efc45873091a91bf04c4e17c558cb20c637c13b543ba", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/creative-filters.json": "9e15f8566547c12a3f4bed2981e7646fb19f8d05559b470e38c1f28e2f20344c", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/creative-manifest.json": "c07b8f93731411da19db0b0e15f20e6f34a3b02ff12b746bbb0b44eb20ed0c19", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/creative-policy.json": "dc89600dae0b52cd5e02706198f20c4f89638abfbb0a66b5b70c8b8b979ce0bb", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/delivery-metrics.json": "cfbaee9c8fad795c1643c651c07d7d2155fba4d1b08864c6f3dc7c8b60cd1914", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/deployment.json": "cb8a04338c6196730052f2248d8b69158ebec46f8ab2d679d9069d13838571ff", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/destination.json": "56f9e5f043b8a4133c15ff40771e56aa38996c567cd985df0b8ada40560f0968", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/error.json": "8e44316bb12f990d4eba4b1360506c1cbac7214ea8ecd9ffa31b37af97e535a0", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/ext.json": "4ec8fc2e8a6cd9c7e12f2518aae87d03f6a433060e9279d22e682a363c36658e", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/format-id.json": "c7702578089853c299d655822aa7b7ffe795d5d8dc071c25a6824caaf945e16c", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/format.json": "8a0f0cf42b03ca177055b4735082387ae7e0307d5bb6549863c47bf05186ccdf", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/frequency-cap.json": "ad49c989c116877b7e1c6852bb44cb3d46ecd470eb9e6ef93e3968a71d9991ef", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/identifier.json": "d7ce3d3eb0d3547950256dbae84cbd65fc22a510b89c5afd3181026e87e1d796", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/mcp-webhook-payload.json": "0d6a807ead1854a649ead5fbf76eef2e7c378cc0b27bf5d2175d0bb8fb01cbbc", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/measurement.json": "0cb7c35799101b2aa01ffb6cf335ff46ce189665d14c8311a746503958fdc198", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/media-buy-features.json": "6ca2f2108ee03fde1de1a18a05eb8693fe19d7fd6a933148743100b1ddd8492f", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/media-buy.json": "3d2cb4b6803157a01928b0d7af81153514834dfe86b1005bc03ec0b2040e4e06", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/offering.json": "c79755fb9630e5d39e109201b385cc6a8a337c2626f67cc47e4fdd66a657138d", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/package.json": "f5ebaede40bd5f75d4360c8cdccca44fbcf1d1426875219f4d9a8e76bd023f2e", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/performance-feedback.json": "9e77181078d04aff49368e2fa7775f174469240f6b87599facecba2f172eedda", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/placement.json": "e21b9b9f124556868650f3e132dcb5a98a0d8fd23fa318eef94f090f5d36d820", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/pricing-option.json": "8f92f6a9e7c2dbd7713ddbc69cf30a5860cbe2ca75e7c45606830455a37d8b02", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/product-allocation.json": "9d9213f4001c5fb930a2671542e3172839b5fc7ef358b9b73ae99e8a21c8b7bd", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/product-filters.json": "2712bafd7aef2697727193fb4681fe3b73694208e92109b8974ced3a106a9ebf", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/product.json": "35ac68b1573d4fcb5a432a607f69d72d7b6af6a94e29b0064237117100c91702", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/promoted-offerings.json": "771938bbda1aecce8c9227775c226f4e18a9aab7afcc5c914bb20d74155bb789", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/promoted-products.json": "57c7ba49fce7094e92e077de4dc5486cbcac02fa75fa40fba9df83a8cdebe4d0", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/property-id.json": "cccd222d04fc81729256c084f173505f2c18271b7119cf295fc009e7f40f7708", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/property-list-ref.json": "7705a985fac36f79c69819bfc0aec6c32e1c4d8506bdd222273052cca42cb1d0", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/property-tag.json": "1bad4153b2cbb932c85ad8adc6d57e0b5b4977e8910badab89bb937feaa4d2fb", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/property.json": "c72b8ce59ed2f70df6eea1a58085f7e9bdc8eadd7a9818dfecd72cf51f457104", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/proposal.json": "494b097442786e7ad7338beffb3d3576555cf100010eafdd7c79cc445961a30b", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/protocol-envelope.json": "a25246a5567abbe97d7b684566c1377dbf9db3c02dc59920a8a11bd8b35dce83", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/publisher-property-selector.json": "69d6e7b0e719a9d560ebcc4002c40fa42624301de719ed08b82ee9097af78be7", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/push-notification-config.json": "df9d356b1da964fdcfeb18f1a79f5495056ca6757f384aef7e0466b903f91bd3", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/reporting-capabilities.json": "06395bc05623a7c39cd8802b2a3568f4ff899ec9cdef812feaa655a6e9727c3e", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/reporting-webhook.json": "e157477fc3ed151c207d4aa7e6e141d710e86d80de57e1ba849733895dcedb49", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/response.json": "03c822a499b425a3aa067a1c14cc38a9aa352f9ef25f0f5183ae8a52a4de2cf3", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/signal-filters.json": "ee9a061e4537ad1e6e42b862f985783a01d7d53fddd030e28a42fe81647c5f05", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/start-timing.json": "030e2929a2cc9aa4024152e7d4508383d4bcda293dadce3a1010a2ed064de61d", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/sub-asset.json": "1be5c732d9c51bdaa51d2598b4b710b69044a2049c5f94af5fe0622b4cee306d", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/core/targeting.json": "6d682db4831da33608390caf16b12cc569be212ec0f756834748ad5fbd891c78", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/creative/asset-types/index.json": "92a4c32108b01e0637fa55e1404466fc901bf1dd0a7a6abe4a5c36eac4714525", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/creative/list-creative-formats-request.json": "357112cf330cea938dc7d061358e9f01b82860df99e1e88ad7b641b27733307b", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/creative/list-creative-formats-response.json": "ffd38dcb52fadcc027194e4bd556ce670e07760b2c684e201e2ccf13ebfa0ded", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/creative/preview-creative-request.json": "34e9019b1e23752d0082443a73ca22734e0dcf1e3a8777880b11b8466f6c24ec", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/creative/preview-creative-response.json": "93d8b8c9da1bb2c72cd2c482a1573b0a36673a733513e84a9c98ba369c13bb05", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/creative/preview-render.json": "f326b4222f6f36b8498e8e60fedae6131e0b1ca43d2fb2dffa4cbc6b269f47f9", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/adcp-domain.json": "b40507b453e29e8ef31685e396bc8b53b0acc5fbd2c69f41495be8797e44e65c", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/asset-content-type.json": "ad8373b7afcd33875faa7fe95c3d82f3785508bcddb0a700a36a81c414971d50", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/auth-scheme.json": "15daa25d701cabe97771e63b2a72646f7ceed40afad4f15def2d8ada12b89990", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/available-metric.json": "125f8f97bba2963e206caa88d70f574868f54a7b654321dafb91c92da60f6f19", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/channels.json": "f3b24b1e9f6a878c47ede0154095dcff59687bede23ceb494f3f0955e0613fa5", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/co-branding-requirement.json": "be6f9785cf0acbbc2aaf31a734dcb1695c60867631cbffcc083092c5d6d3330f", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/creative-action.json": "1680f1ebb8bc8d58fa46bb82428c5039680ff0b4552d104683c48f8968edf8e9", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/creative-agent-capability.json": "4d030171b5f7f21407372aed0fc57610cbb0052901b741e7dd096c1f4960ac8a", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/creative-sort-field.json": "b9f0f902d4b2a4b50ba0b2297d14a473cd0040e434f04ec2403a800db1880b1c", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/creative-status.json": "9a12c0bb746883cf21262831aa9505e71228bd6246c11959fc3669103aa5c1b9", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/daast-tracking-event.json": "74bd69a90c7e623d9c9bf3ff519cb215d6980f633bccd9f0c77bb13b039ac945", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/daast-version.json": "fb254f054a1790a75170a3d970e77613045ee4d8fa221322e71c56a11b497c37", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/delivery-type.json": "6c694cc29943967bb06af210f6ed950a1e6b9cfea4d60d3f3a6c3de92d72e8f2", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/dimension-unit.json": "ad138ec3d9d7b5d65b04f6ca395221bb35e0672caa3350983050f8379ca4dfd6", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/feed-format.json": "67f21e5e7b24500fb118689e3a231ad9c9234d2c3693235f0d8ea133e1de771c", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/feedback-source.json": "5554f55a1aa2e9f3a558c75177dd0831ee90574657b500f9d8bb2656a5232117", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/format-category.json": "ca8ce92334bd6a5e0c91fb4807a463403dba3adb5ffaf68f589104981af240dd", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/format-id-parameter.json": "2e182d4c14b12cb9a3efcd82d25ed5de5becebc8de8b141d9daa923120e917bf", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/frequency-cap-scope.json": "faef508e373b1a640fb384d5cf5246a20232e51a7b65b08697e6fa5ff934ecce", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/geo-level.json": "b5fe6f4d6296c0c578c1f7d82da3151e4e1a05d3bd8dada4073418303ff013f4", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/history-entry-type.json": "d23e9f7e3a33ee19fdba4048788a5000fbf67c24dbfdf4043ff1ff1bdfa0a886", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/http-method.json": "e2a7b8db0dc5e5c9883df5b6f55c02cf25fb4459502cf61f53e04d6c74f64711", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/identifier-types.json": "dd3a9bc22342b683d46bb38a776f1fb097f5f5a63e421760c7b8f7a3a7cb1f91", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/javascript-module-type.json": "c19dbd9f42365ee00227f0c06f27e2f0b834ea5046c3644cf503bd3e7b3fb0f3", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/landing-page-requirement.json": "7270728bc1f300aa09111731469b20d58605f552b3922efd7a825fe2eb36aa6d", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/markdown-flavor.json": "9754b8bea2a87926ad46bf90eb20a6b52b4e6b25dc4179143f40df0d0663b0e6", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/media-buy-status.json": "83074a9454b3b37615347205f9f35775adf6c25c9117cb4024a54ceed33f3467", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/metric-type.json": "439e6851545efe07afdb05fcfb826af16f2e6217885879c0fcb78fb05cd3619d", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/metro-system.json": "9b9c1194401dac0c8b430ef308770af64ed654bbde9b6071bee680a870dae20f", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/notification-type.json": "9da96d06f44ef2aaf631f273f33a968fef7c60f9b76ec99115085b15a9b62374", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/pacing.json": "d9be64deaa1a5af52b1a445b9c9752c27a31c3b59b1059268bac001a008824c5", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/postal-system.json": "810358b740039c2a6bae63795f647810b4d7f9d80c86a4c36e7ad52831508530", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/preview-output-format.json": "894ddc55916fdc702261a030ef26e72cd5de5cda881a44760105f40d147ae69a", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/pricing-model.json": "04cbd70ab8cf326b292a80616f8d4899c096eb8b1633d2183e3dc3b42d35904c", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/property-type.json": "5bd2a2e7f2b0781469a711049f022c95d07d4725937c7a3b346f14c72baff110", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/publisher-identifier-types.json": "4c85ea3c8feca0f9f2c5479f1e4ea9a116f7526afcd5c72eb53e8578b7770ff9", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/reporting-frequency.json": "8ad55b8b04547c0d71fd05f7eb16700ae1123933ee9957d76f120e2aa7c44be3", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/signal-catalog-type.json": "2db2e3d4d4c53a31ea08253bea1265962e005fa3066b318dc032b0bf600b0eaf", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/sort-direction.json": "9c9d547f0a7c619a63d903f1ea02c632d2a3f71a29e5f9bafcb2d5df06479c7f", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/task-status.json": "1b4d5bcfd75dfc59a3335f7d2a7e2c2b554c76665b2d0fd23e942d96e2f758c6", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/task-type.json": "d1e6fb32f8d8945b5ff9180d0b738b8a382075af652217963fb2a89990e0c1e1", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/update-frequency.json": "efea028d63d4e7b7536de3ceff86b6e7b4bfe612f22b6ad88f75fba9897f2225", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/url-asset-type.json": "4f19210311fdf9417409d2642efafd53aa3ee7503f46241bbbc507cc09b84a6a", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/validation-mode.json": "a496f697ec856eab3ffc33bc0adcf027f346978643a9018e81f9e1988b69d3bf", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/vast-tracking-event.json": "e096593fa17d2d73f36f32413a39bad78e1fc3061c8d8346ed1fafa881b01142", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/vast-version.json": "4712d084ed6755118dea9761a78defc49ecdd87fe92bb7a43ea2f22764e2eafd", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/webhook-response-type.json": "17eff7662ad57b63dc088330346a05354e8eeae4f75895bae0b7c6fadeeebd50", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/enums/webhook-security-method.json": "4c6aa173e21a804594d1b588fc3b5d6080b40fd171dd19f824b1ca9f43ea64ec", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/extensions/extension-meta.json": "109569c7c3d80e08e2dae9c55c8f12c78f2991491d93749e890615ad4691ed43", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/extensions/index.json": "b04478618114cb9aca74dee06e9c5f02995eaea70ee62f998a01d8a5cb3bc66e", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/media-buy/build-creative-request.json": "f4f8e75e3ae3a7a2a9fdf236bd216c09aaea5259aa35fa11dc0b5a6ccda08b8f", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/media-buy/build-creative-response.json": "4fd04580641c9d9ac4ec801755bd966f4718d7e6d06fbc9e72ec9739abde089a", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/media-buy/create-media-buy-async-response-input-required.json": "01178b8387993ff494d7402ef6a28fba94e318b3751eff7551d5618b872affae", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/media-buy/create-media-buy-async-response-submitted.json": "88522b76027b6e543c986fa9b9c7b3b59e9cb737e89bc4368046f79102a7204b", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/media-buy/create-media-buy-async-response-working.json": "8f47a17ace0247a999f8a2069c78b24edd9cdf3cb845b3432d09b4d0b660c4e8", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/media-buy/create-media-buy-request.json": "5832e5882e6abce84437f70a8a79379851666d2a5bd6af07e6eb9796df0bcb77", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/media-buy/create-media-buy-response.json": "df872a5e68a590b9d773f64558c1b27f716b1837ad57fe4b12b4502d0908f2d3", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/media-buy/get-media-buy-delivery-request.json": "cff520ce4361c44c2458aa327a3c4002e891584d30ed060b1bc3f3576444fcc8", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/media-buy/get-media-buy-delivery-response.json": "ed08e9af2c9472a6d82986d36e4570c44247c8e43b85060cf3368c2562043f72", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/media-buy/get-products-async-response-input-required.json": "c078413349d795d58f0fd1e3dd177dd52681a4dc590fc0bb243b24d87a16b80d", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/media-buy/get-products-async-response-submitted.json": "c4a4f1ed68629369841235720940ee750c278500a1df3b9f639f0d59281ca78f", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/media-buy/get-products-async-response-working.json": "25a99b9b0e0a0dd0505ed663a31fdc4fee239e0650fe5086cf49dc2f27a24f7d", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/media-buy/get-products-request.json": "096702dc664fadf3acbccbd9e4301c43faefe7f634cc569035bff49a8c90cd93", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/media-buy/get-products-response.json": "90daacb5fbb954272da911294f7a85955a90afa99fc79cbacecc813ff49d5698", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/media-buy/list-creative-formats-request.json": "c3a8eb6dbd0e18b83840f2fa6bc2fbda7e473c997c7aa12d292b8f35f984dcd9", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/media-buy/list-creative-formats-response.json": "1dd4274c7bff8effab5ffce01edb72f48882286084e4ee2c6a3e64ca31a08f1f", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/media-buy/list-creatives-request.json": "00fa0d498a13a3159fb9b6f31b0c370716c08adb0265003e50d2e58616d447d3", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/media-buy/list-creatives-response.json": "c2a35e353c33e7d3ea4d5f81b56ad932cf9d29f1d1fab623ce0dec1e9a9e499d", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/media-buy/package-request.json": "40f816806e82349b278ba0a739cb4ef5939ca5c8b3c3e341d395435202f79880", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/media-buy/package-update.json": "b2d4aaaf42cda129427ea18559e88417f1fb5984b8b3d9b745edabd034474134", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/media-buy/provide-performance-feedback-request.json": "105e4a85f62ee23e15982247a6bf0eaf648efbe9b9c76c07a0c63facf726f71c", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/media-buy/provide-performance-feedback-response.json": "0165b975d1a61400258d8bf6718a28990dfed20d24017b915f65661542b7fa5c", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/media-buy/sync-creatives-async-response-input-required.json": "849a2e702931798018a00652b16d064eb5591a7d7b92fc24a41a54e77dd4e1be", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/media-buy/sync-creatives-async-response-submitted.json": "24d52f49059b11a7221a98bd2588845a415a24b1212905efe83940b20e3668f4", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/media-buy/sync-creatives-async-response-working.json": "f3f9bdaca89b138bfc1313d2f98ddbd11f78cbe8fd23134c7cb642120bbad9b0", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/media-buy/sync-creatives-request.json": "339ac6993dcd4fb05c4978245f3f634f1717573e238e291b75f1b27c48327d80", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/media-buy/sync-creatives-response.json": "ca03c79786b79dd05af25bb5b311882fed58bd6fdf134dd106869593ee3449ea", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/media-buy/update-media-buy-async-response-input-required.json": "cda551f482abbc2a44f7fc92217957f1c61f320abcf87cac74695a3071a71bf6", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/media-buy/update-media-buy-async-response-submitted.json": "6694953e72ea2c95db9f8302e4c95f359a278df213f02a1b20c49c03f4b90543", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/media-buy/update-media-buy-async-response-working.json": "7353b19ae9830d6155f417ea1fd1ca10cf835ec966ec417c2c3f721d7bcc591d", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/media-buy/update-media-buy-request.json": "8f85c5968d97560c299216e5062c55876047bd44a477b427cb6207bee2e67116", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/media-buy/update-media-buy-response.json": "5b4317c9372e2d6ed67723d038b007b17f8667b787ed9947e84d24ef9e867ae4", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/pricing-options/cpc-option.json": "26f0737e23f2662fbaa9de0cd0a4c4126e07f49e9819cada6b3db452a27f64b2", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/pricing-options/cpcv-option.json": "2f56a0610b0d31e7a11038bf1a26aa31a36740d20fe089ebe0be372a6590f211", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/pricing-options/cpm-option.json": "a7d9ad7f5cc156680a24c84238e6ad1a6dc8f76e7ee623856d1ddd393274d791", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/pricing-options/cpp-option.json": "7e497ed991dc62944a1db8e59e3454758eceb34c9625a404d6a40a488552a1da", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/pricing-options/cpv-option.json": "10ecf10204ee9b8cb08806850455658dad504ec5f4c5668aa9fcde194c80d0f3", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/pricing-options/flat-rate-option.json": "fa46eacf8d2f970dd5ac54b65544697782010b3068317fa36736fd3fcd1b6241", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/pricing-options/price-guidance.json": "0a99129d307e56cdc568fe6bae51116486b8179070f037bbb65615710e253401", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/pricing-options/vcpm-option.json": "5177823f5cd7c052a04ebf788d5333dff547f06a2e558cdd601e74001c209a59", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/property/base-property-source.json": "1217548af9b32b80d25acaecdc568f1cdb9b3607ee83473ca2ed85b9951e3907", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/property/create-property-list-request.json": "65a18b1cf849696e8b736b7fd495852fbced300fdda4bc60698d29bae2248e18", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/property/create-property-list-response.json": "dca65f98ca6211e4ff063744a4e4a9705d36ebc8b69961f392a300f792f8cd24", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/property/delete-property-list-request.json": "2e96d4a6eac47a6c19f1bcb763daa07f5eb31fd3921a482e1b4adbede4848323", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/property/delete-property-list-response.json": "73f41b41153e68b754e5a66220b1e0e9bdfd95dd8cb13354de980672f3d7746f", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/property/feature-requirement.json": "8071f4f3e9769e7bb896163760d20e8a8c3cdb54c936ab2cff846110dd913e6f", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/property/get-property-list-request.json": "82cc36f5aa879000e5c1e37c382ba2db0793f574308fc78ed364c71da1a698e3", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/property/get-property-list-response.json": "e1ddaf94d822521f4f13d7f2e172edd6bdabf009f300324a5a417ba74445f851", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/property/list-property-lists-request.json": "28fc2ade26a9f2363b995d3ad98a48fc6ad713ea40eeb6dcb2319c7aa0bdd8ea", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/property/list-property-lists-response.json": "221bdc69d792526561a72bcc8f4a6582455ad975aa8db65b50aef8aa5c288902", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/property/property-error.json": "c46e6fe47f2b2a198f03dd59ceb4b8cf732227f8e206b1bd78f691b2b4063c42", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/property/property-feature-definition.json": "6999c2bbea2f65e0e1096c59a7a19128e577056b6e6d19ea8d6b96952d917658", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/property/property-feature.json": "0596848d757df281e87ef93f95b6f4b1d3e7c356622d8387cb9c699746c4f618", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/property/property-list-changed-webhook.json": "aa737c2c4251e4b7057fb79463a47c37f0e23834117a3864b24187848175b3ca", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/property/property-list-filters.json": "07b2ed87d5f3951345405c29d8f511d2c896dea5fcf36e562bece26d84e0a235", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/property/property-list.json": "86c798040b1919f49a7b62919438cd4bde1f0e0a3ac063b019a64b753aeeb4ee", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/property/update-property-list-request.json": "5519a0182318708b4a5e57620f2322dce8185f6bdcef535576324600e2a82285", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/property/update-property-list-response.json": "7a2185c49bc2ddd793e5fb1af506c06317f9eb11eda98d272e7061ebe0177dec", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/protocol/get-adcp-capabilities-request.json": "84a74225626f1fe05595d78d097f8d94ddd47a5c04b68f54b5a8f4bfa39c7d4b", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/protocol/get-adcp-capabilities-response.json": "8ba3899913bffa26c8baef8c0582ccaa148e7878ab18362290f3c68eb351adab", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/signals/activate-signal-request.json": "2c82d413747be044622792e5a87ca77ffbe8911983683c3b4492e3d86bac51df", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/signals/activate-signal-response.json": "50e9a4938e6dd49b0cf02abd05ba2d1e4577138b78dfdf26c6990d7756784821", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/signals/get-signals-request.json": "98847ab713e4f9ba2a1259bdab1ad55a7a3a79ef91f8b89ff9644810e11189dd", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/signals/get-signals-response.json": "ab77b077c5929d78376be01d55e85ae6508ce858297d87e9323ebb13ffc6fe5f", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/sponsored-intelligence/si-capabilities.json": "b2cc095f333a2c5ad96b689e3ed5323bc502c3729a4c71f9dba02a0e2ceb6bca", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/sponsored-intelligence/si-get-offering-request.json": "e355cffab23dc47d1f59cac062e4eacfe94e6c53909f6dd314ab31e87db35340", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/sponsored-intelligence/si-get-offering-response.json": "f90e4d3b3207e0ea46a10c04b46dfa9bd4cd019d5e24ceff75e39914197ae88b", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/sponsored-intelligence/si-identity.json": "f5a8330959aa9f56fd567f739feafb3a027815807193ea84d6a426395cd82e18", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/sponsored-intelligence/si-initiate-session-request.json": "92fe5abcc8be87cbdeae4d49e1999a78bc02612b7dd7c574427f034a407e9cbc", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/sponsored-intelligence/si-initiate-session-response.json": "9198e096b6db22121097b24e09306f89bd49e6e284ad7bfb1cbefd087c7fd3d0", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/sponsored-intelligence/si-send-message-request.json": "eb14b4839e6fe074965cf6ab3f134e83c87d44119cdc2f48a78f49183b17e0c8", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/sponsored-intelligence/si-send-message-response.json": "f0e9846d1d1968e725ec4b0cdaa0d2549fea2ed46e3fa4df08b2fddbd8f49da9", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/sponsored-intelligence/si-terminate-session-request.json": "e893d821907706a33db4624160dd503806172ba1d73051bdf44e1d740bb6b9ea", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/sponsored-intelligence/si-terminate-session-response.json": "5f6f4c53efbe1d5bb6b1a48dc56d83128b9293816c827a28d7383515be94d950", + "https://adcontextprotocol.org/schemas/3.0.0-beta.2/sponsored-intelligence/si-ui-element.json": "e4f48fd78e3483c60c2ce8092979d88911caac199517c62e7e0605d37d8a7346" } \ No newline at end of file diff --git a/schemas/cache/a2ui/component.json b/schemas/cache/a2ui/component.json new file mode 100644 index 00000000..ecbd981c --- /dev/null +++ b/schemas/cache/a2ui/component.json @@ -0,0 +1,32 @@ +{ + "$id": "/schemas/3.0.0-beta.2/a2ui/component.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "description": "A component in an A2UI surface", + "properties": { + "component": { + "additionalProperties": { + "description": "Component properties", + "type": "object" + }, + "description": "Component definition (keyed by component type)", + "maxProperties": 1, + "minProperties": 1, + "type": "object" + }, + "id": { + "description": "Unique identifier for this component within the surface", + "type": "string" + }, + "parentId": { + "description": "ID of the parent component (null for root)", + "type": "string" + } + }, + "required": [ + "id", + "component" + ], + "title": "A2UI Component", + "type": "object" +} \ No newline at end of file diff --git a/schemas/cache/a2ui/surface.json b/schemas/cache/a2ui/surface.json new file mode 100644 index 00000000..c4b3b10c --- /dev/null +++ b/schemas/cache/a2ui/surface.json @@ -0,0 +1,39 @@ +{ + "$id": "/schemas/3.0.0-beta.2/a2ui/surface.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "description": "A contiguous UI region containing components", + "properties": { + "catalogId": { + "default": "standard", + "description": "Component catalog to use for rendering", + "type": "string" + }, + "components": { + "description": "Flat list of components (adjacency list structure)", + "items": { + "$ref": "/schemas/3.0.0-beta.2/a2ui/component.json" + }, + "type": "array" + }, + "dataModel": { + "additionalProperties": true, + "description": "Application data that components can bind to", + "type": "object" + }, + "rootId": { + "description": "ID of the root component (if not specified, first component is root)", + "type": "string" + }, + "surfaceId": { + "description": "Unique identifier for this surface", + "type": "string" + } + }, + "required": [ + "surfaceId", + "components" + ], + "title": "A2UI Surface", + "type": "object" +} \ No newline at end of file diff --git a/schemas/cache/account/list-accounts-request.json b/schemas/cache/account/list-accounts-request.json new file mode 100644 index 00000000..bc72a1e8 --- /dev/null +++ b/schemas/cache/account/list-accounts-request.json @@ -0,0 +1,28 @@ +{ + "$id": "/schemas/3.0.0-beta.2/account/list-accounts-request.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "description": "Request parameters for listing accounts accessible to the authenticated agent", + "properties": { + "context": { + "$ref": "/schemas/3.0.0-beta.2/core/context.json" + }, + "ext": { + "$ref": "/schemas/3.0.0-beta.2/core/ext.json" + }, + "status": { + "default": "active", + "description": "Filter accounts by status", + "enum": [ + "active", + "suspended", + "closed", + "all" + ], + "type": "string" + } + }, + "required": [], + "title": "List Accounts Request", + "type": "object" +} \ No newline at end of file diff --git a/schemas/cache/account/list-accounts-response.json b/schemas/cache/account/list-accounts-response.json new file mode 100644 index 00000000..8d74a3b3 --- /dev/null +++ b/schemas/cache/account/list-accounts-response.json @@ -0,0 +1,76 @@ +{ + "$id": "/schemas/3.0.0-beta.2/account/list-accounts-response.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "description": "Response payload for list_accounts task", + "examples": [ + { + "data": { + "accounts": [ + { + "account_id": "acc_coke_publicis", + "advertiser": "The Coca-Cola Company", + "billing_proxy": "Publicis Media", + "name": "Coke c/o Publicis", + "status": "active" + }, + { + "account_id": "acc_pepsi_publicis", + "advertiser": "PepsiCo", + "billing_proxy": "Publicis Media", + "name": "Pepsi c/o Publicis", + "status": "active" + }, + { + "account_id": "acc_publicis", + "advertiser": "Publicis Media", + "name": "Publicis", + "status": "active" + } + ] + }, + "description": "Agency with multiple client accounts" + }, + { + "data": { + "accounts": [ + { + "account_id": "acc_coke_direct", + "advertiser": "The Coca-Cola Company", + "name": "Coke", + "rate_card": "coke_vip_2024", + "status": "active" + } + ] + }, + "description": "Direct advertiser with single account" + } + ], + "properties": { + "accounts": { + "description": "Array of accounts accessible to the authenticated agent", + "items": { + "$ref": "/schemas/3.0.0-beta.2/core/account.json" + }, + "type": "array" + }, + "context": { + "$ref": "/schemas/3.0.0-beta.2/core/context.json" + }, + "errors": { + "description": "Task-specific errors and warnings", + "items": { + "$ref": "/schemas/3.0.0-beta.2/core/error.json" + }, + "type": "array" + }, + "ext": { + "$ref": "/schemas/3.0.0-beta.2/core/ext.json" + } + }, + "required": [ + "accounts" + ], + "title": "List Accounts Response", + "type": "object" +} \ No newline at end of file diff --git a/schemas/cache/adagents.json b/schemas/cache/adagents.json index ab65b1c9..cdcd6755 100644 --- a/schemas/cache/adagents.json +++ b/schemas/cache/adagents.json @@ -1,15 +1,15 @@ { - "$id": "/schemas/3.0.0-beta.1/adagents.json", + "$id": "/schemas/3.0.0-beta.2/adagents.json", "$schema": "http://json-schema.org/draft-07/schema#", "description": "Declaration of authorized sales agents for advertising inventory. Hosted at /.well-known/adagents.json on publisher domains. Can either contain the full structure inline or reference an authoritative URL.", "examples": [ { - "$schema": "/schemas/3.0.0-beta.1/adagents.json", + "$schema": "/schemas/3.0.0-beta.2/adagents.json", "authoritative_location": "https://cdn.example.com/adagents/v2/adagents.json", "last_updated": "2025-01-15T10:00:00Z" }, { - "$schema": "/schemas/3.0.0-beta.1/adagents.json", + "$schema": "/schemas/3.0.0-beta.2/adagents.json", "authorized_agents": [ { "authorization_type": "property_tags", @@ -42,7 +42,7 @@ } }, { - "$schema": "/schemas/3.0.0-beta.1/adagents.json", + "$schema": "/schemas/3.0.0-beta.2/adagents.json", "authorized_agents": [ { "authorization_type": "property_tags", @@ -137,7 +137,7 @@ } }, { - "$schema": "/schemas/3.0.0-beta.1/adagents.json", + "$schema": "/schemas/3.0.0-beta.2/adagents.json", "authorized_agents": [ { "authorization_type": "property_tags", @@ -176,7 +176,7 @@ } }, { - "$schema": "/schemas/3.0.0-beta.1/adagents.json", + "$schema": "/schemas/3.0.0-beta.2/adagents.json", "authorized_agents": [ { "authorization_type": "publisher_properties", @@ -222,7 +222,7 @@ "last_updated": "2025-01-10T17:00:00Z" }, { - "$schema": "/schemas/3.0.0-beta.1/adagents.json", + "$schema": "/schemas/3.0.0-beta.2/adagents.json", "authorized_agents": [ { "authorization_type": "property_tags", @@ -352,7 +352,7 @@ "property_ids": { "description": "Property IDs this agent is authorized for. Resolved against the top-level properties array in this file", "items": { - "$ref": "/schemas/3.0.0-beta.1/core/property-id.json" + "$ref": "/schemas/3.0.0-beta.2/core/property-id.json" }, "minItems": 1, "type": "array" @@ -388,7 +388,7 @@ "property_tags": { "description": "Tags identifying which properties this agent is authorized for. Resolved against the top-level properties array in this file using tag matching", "items": { - "$ref": "/schemas/3.0.0-beta.1/core/property-tag.json" + "$ref": "/schemas/3.0.0-beta.2/core/property-tag.json" }, "minItems": 1, "type": "array" @@ -424,7 +424,7 @@ "properties": { "description": "Specific properties this agent is authorized for (alternative to property_ids/property_tags)", "items": { - "$ref": "/schemas/3.0.0-beta.1/core/property.json" + "$ref": "/schemas/3.0.0-beta.2/core/property.json" }, "minItems": 1, "type": "array" @@ -460,7 +460,7 @@ "publisher_properties": { "description": "Properties from other publisher domains this agent is authorized for. Each entry specifies a publisher domain and which of their properties this agent can sell", "items": { - "$ref": "/schemas/3.0.0-beta.1/core/publisher-property-selector.json" + "$ref": "/schemas/3.0.0-beta.2/core/publisher-property-selector.json" }, "minItems": 1, "type": "array" @@ -537,7 +537,7 @@ "properties": { "description": "Array of all properties covered by this adagents.json file. Defines the canonical property list that authorized agents reference.", "items": { - "$ref": "/schemas/3.0.0-beta.1/core/property.json" + "$ref": "/schemas/3.0.0-beta.2/core/property.json" }, "minItems": 1, "type": "array" @@ -548,7 +548,7 @@ "additionalProperties": true, "properties": { "features": { - "description": "Feature IDs this agent provides (e.g., 'carbon_score', 'tag_certified_against_fraud'). Use list_property_features on the agent for full definitions.", + "description": "Feature IDs this agent provides (e.g., 'carbon_score', 'tag_certified_against_fraud'). Use get_adcp_capabilities on the agent for full definitions.", "items": { "type": "string" }, @@ -564,7 +564,7 @@ "type": "string" }, "url": { - "description": "The agent's API endpoint URL (must implement get_property_features)", + "description": "The agent's API endpoint URL", "format": "uri", "type": "string" } diff --git a/schemas/cache/content-standards/artifact-webhook-payload.json b/schemas/cache/content-standards/artifact-webhook-payload.json index 2c58f6c2..0cf2d6b7 100644 --- a/schemas/cache/content-standards/artifact-webhook-payload.json +++ b/schemas/cache/content-standards/artifact-webhook-payload.json @@ -1,5 +1,5 @@ { - "$id": "/schemas/3.0.0-beta.1/content-standards/artifact-webhook-payload.json", + "$id": "/schemas/3.0.0-beta.2/content-standards/artifact-webhook-payload.json", "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": true, "description": "Payload sent by sales agents to orchestrators when pushing content artifacts for governance validation. Complements get_media_buy_artifacts for push-based artifact delivery.", @@ -9,7 +9,7 @@ "items": { "properties": { "artifact": { - "$ref": "/schemas/3.0.0-beta.1/content-standards/artifact.json", + "$ref": "/schemas/3.0.0-beta.2/content-standards/artifact.json", "description": "The content artifact" }, "delivered_at": { @@ -39,7 +39,7 @@ "type": "string" }, "ext": { - "$ref": "/schemas/3.0.0-beta.1/core/ext.json" + "$ref": "/schemas/3.0.0-beta.2/core/ext.json" }, "media_buy_id": { "description": "Media buy identifier these artifacts belong to", diff --git a/schemas/cache/content-standards/artifact.json b/schemas/cache/content-standards/artifact.json index e7e4e4d2..acae5037 100644 --- a/schemas/cache/content-standards/artifact.json +++ b/schemas/cache/content-standards/artifact.json @@ -65,7 +65,7 @@ "type": "object" } }, - "$id": "/schemas/3.0.0-beta.1/content-standards/artifact.json", + "$id": "/schemas/3.0.0-beta.2/content-standards/artifact.json", "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": true, "description": "Content artifact for safety and suitability evaluation. An artifact represents content adjacent to an ad placement - a news article, podcast segment, video chapter, or social post. Artifacts are collections of assets (text, images, video, audio) plus metadata and signals.", @@ -250,7 +250,7 @@ "type": "array" }, "format_id": { - "$ref": "/schemas/3.0.0-beta.1/core/format-id.json", + "$ref": "/schemas/3.0.0-beta.2/core/format-id.json", "description": "Optional reference to a format definition. Uses the same format registry as creative formats." }, "identifiers": { @@ -324,7 +324,7 @@ "type": "object" }, "property_id": { - "$ref": "/schemas/3.0.0-beta.1/core/identifier.json", + "$ref": "/schemas/3.0.0-beta.2/core/identifier.json", "description": "Identifier for the property where this artifact appears" }, "published_time": { diff --git a/schemas/cache/content-standards/calibrate-content-request.json b/schemas/cache/content-standards/calibrate-content-request.json index e62d0745..4236ef9b 100644 --- a/schemas/cache/content-standards/calibrate-content-request.json +++ b/schemas/cache/content-standards/calibrate-content-request.json @@ -1,10 +1,10 @@ { - "$id": "/schemas/3.0.0-beta.1/content-standards/calibrate-content-request.json", + "$id": "/schemas/3.0.0-beta.2/content-standards/calibrate-content-request.json", "$schema": "http://json-schema.org/draft-07/schema#", "description": "Request parameters for evaluating content during calibration. Multi-turn dialogue is handled at the protocol layer via contextId.", "properties": { "artifact": { - "$ref": "/schemas/3.0.0-beta.1/content-standards/artifact.json", + "$ref": "/schemas/3.0.0-beta.2/content-standards/artifact.json", "description": "Artifact to evaluate" }, "standards_id": { diff --git a/schemas/cache/content-standards/calibrate-content-response.json b/schemas/cache/content-standards/calibrate-content-response.json index 6d305724..ebd57a7d 100644 --- a/schemas/cache/content-standards/calibrate-content-response.json +++ b/schemas/cache/content-standards/calibrate-content-response.json @@ -1,5 +1,5 @@ { - "$id": "/schemas/3.0.0-beta.1/content-standards/calibrate-content-response.json", + "$id": "/schemas/3.0.0-beta.2/content-standards/calibrate-content-response.json", "$schema": "http://json-schema.org/draft-07/schema#", "description": "Response payload with verdict and detailed explanations for collaborative calibration", "oneOf": [ @@ -70,7 +70,7 @@ "properties": { "errors": { "items": { - "$ref": "/schemas/3.0.0-beta.1/core/error.json" + "$ref": "/schemas/3.0.0-beta.2/core/error.json" }, "type": "array" }, diff --git a/schemas/cache/content-standards/content-standards.json b/schemas/cache/content-standards/content-standards.json index 226a434f..98f5bd7f 100644 --- a/schemas/cache/content-standards/content-standards.json +++ b/schemas/cache/content-standards/content-standards.json @@ -1,5 +1,5 @@ { - "$id": "/schemas/3.0.0-beta.1/content-standards/content-standards.json", + "$id": "/schemas/3.0.0-beta.2/content-standards/content-standards.json", "$schema": "http://json-schema.org/draft-07/schema#", "description": "A content standards configuration defining brand safety and suitability policies. Standards are scoped by brand, geography, and channel. Multiple standards can be active simultaneously for different scopes.", "properties": { @@ -9,14 +9,14 @@ "fail": { "description": "Artifacts that fail the content standards", "items": { - "$ref": "/schemas/3.0.0-beta.1/content-standards/artifact.json" + "$ref": "/schemas/3.0.0-beta.2/content-standards/artifact.json" }, "type": "array" }, "pass": { "description": "Artifacts that pass the content standards", "items": { - "$ref": "/schemas/3.0.0-beta.1/content-standards/artifact.json" + "$ref": "/schemas/3.0.0-beta.2/content-standards/artifact.json" }, "type": "array" } @@ -26,7 +26,7 @@ "channels_any": { "description": "Advertising channels. Standards apply to ANY of the listed channels (OR logic).", "items": { - "$ref": "/schemas/3.0.0-beta.1/enums/channels.json" + "$ref": "/schemas/3.0.0-beta.2/enums/channels.json" }, "type": "array" }, @@ -38,7 +38,7 @@ "type": "array" }, "ext": { - "$ref": "/schemas/3.0.0-beta.1/core/ext.json" + "$ref": "/schemas/3.0.0-beta.2/core/ext.json" }, "languages_any": { "description": "BCP 47 language tags (e.g., 'en', 'de', 'fr'). Standards apply to content in ANY of these languages (OR logic). Content in unlisted languages is not covered by these standards.", diff --git a/schemas/cache/content-standards/create-content-standards-request.json b/schemas/cache/content-standards/create-content-standards-request.json index b25ac293..8953c58f 100644 --- a/schemas/cache/content-standards/create-content-standards-request.json +++ b/schemas/cache/content-standards/create-content-standards-request.json @@ -1,5 +1,5 @@ { - "$id": "/schemas/3.0.0-beta.1/content-standards/create-content-standards-request.json", + "$id": "/schemas/3.0.0-beta.2/content-standards/create-content-standards-request.json", "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": true, "description": "Request parameters for creating a new content standards configuration", @@ -36,7 +36,7 @@ "type": "object" }, { - "$ref": "/schemas/3.0.0-beta.1/content-standards/artifact.json", + "$ref": "/schemas/3.0.0-beta.2/content-standards/artifact.json", "description": "Full artifact with pre-extracted content (text, images, video, audio)" } ] @@ -72,7 +72,7 @@ "type": "object" }, { - "$ref": "/schemas/3.0.0-beta.1/content-standards/artifact.json", + "$ref": "/schemas/3.0.0-beta.2/content-standards/artifact.json", "description": "Full artifact with pre-extracted content (text, images, video, audio)" } ] @@ -83,10 +83,10 @@ "type": "object" }, "context": { - "$ref": "/schemas/3.0.0-beta.1/core/context.json" + "$ref": "/schemas/3.0.0-beta.2/core/context.json" }, "ext": { - "$ref": "/schemas/3.0.0-beta.1/core/ext.json" + "$ref": "/schemas/3.0.0-beta.2/core/ext.json" }, "policy": { "description": "Natural language policy describing acceptable and unacceptable content contexts. Used by LLMs and human reviewers to make judgments.", @@ -98,7 +98,7 @@ "channels_any": { "description": "Advertising channels. Standards apply to ANY of the listed channels (OR logic).", "items": { - "$ref": "/schemas/3.0.0-beta.1/enums/channels.json" + "$ref": "/schemas/3.0.0-beta.2/enums/channels.json" }, "type": "array" }, diff --git a/schemas/cache/content-standards/create-content-standards-response.json b/schemas/cache/content-standards/create-content-standards-response.json index daf223df..78c1dec7 100644 --- a/schemas/cache/content-standards/create-content-standards-response.json +++ b/schemas/cache/content-standards/create-content-standards-response.json @@ -1,5 +1,5 @@ { - "$id": "/schemas/3.0.0-beta.1/content-standards/create-content-standards-response.json", + "$id": "/schemas/3.0.0-beta.2/content-standards/create-content-standards-response.json", "$schema": "http://json-schema.org/draft-07/schema#", "description": "Response payload for creating a content standards configuration", "oneOf": [ @@ -7,14 +7,14 @@ "description": "Success response - returns the created standards identifier", "properties": { "context": { - "$ref": "/schemas/3.0.0-beta.1/core/context.json" + "$ref": "/schemas/3.0.0-beta.2/core/context.json" }, "errors": { "description": "Field must not be present in success response", "not": {} }, "ext": { - "$ref": "/schemas/3.0.0-beta.1/core/ext.json" + "$ref": "/schemas/3.0.0-beta.2/core/ext.json" }, "standards_id": { "description": "Unique identifier for the created standards configuration", @@ -34,16 +34,16 @@ "type": "string" }, "context": { - "$ref": "/schemas/3.0.0-beta.1/core/context.json" + "$ref": "/schemas/3.0.0-beta.2/core/context.json" }, "errors": { "items": { - "$ref": "/schemas/3.0.0-beta.1/core/error.json" + "$ref": "/schemas/3.0.0-beta.2/core/error.json" }, "type": "array" }, "ext": { - "$ref": "/schemas/3.0.0-beta.1/core/ext.json" + "$ref": "/schemas/3.0.0-beta.2/core/ext.json" }, "standards_id": { "description": "Field must not be present in error response", diff --git a/schemas/cache/content-standards/get-content-standards-request.json b/schemas/cache/content-standards/get-content-standards-request.json index d4f756d7..b84b8f5e 100644 --- a/schemas/cache/content-standards/get-content-standards-request.json +++ b/schemas/cache/content-standards/get-content-standards-request.json @@ -1,13 +1,13 @@ { - "$id": "/schemas/latest/content-standards/get-content-standards-request.json", + "$id": "/schemas/3.0.0-beta.2/content-standards/get-content-standards-request.json", "$schema": "http://json-schema.org/draft-07/schema#", "description": "Request parameters for retrieving content safety policies", "properties": { "context": { - "$ref": "/schemas/latest/core/context.json" + "$ref": "/schemas/3.0.0-beta.2/core/context.json" }, "ext": { - "$ref": "/schemas/latest/core/ext.json" + "$ref": "/schemas/3.0.0-beta.2/core/ext.json" }, "standards_id": { "description": "Identifier for the standards configuration to retrieve", diff --git a/schemas/cache/content-standards/get-content-standards-response.json b/schemas/cache/content-standards/get-content-standards-response.json index 4a2efd85..9abb3be8 100644 --- a/schemas/cache/content-standards/get-content-standards-response.json +++ b/schemas/cache/content-standards/get-content-standards-response.json @@ -1,18 +1,18 @@ { - "$id": "/schemas/3.0.0-beta.1/content-standards/get-content-standards-response.json", + "$id": "/schemas/3.0.0-beta.2/content-standards/get-content-standards-response.json", "$schema": "http://json-schema.org/draft-07/schema#", "description": "Response payload with content safety policies", "oneOf": [ { "allOf": [ { - "$ref": "/schemas/3.0.0-beta.1/content-standards/content-standards.json" + "$ref": "/schemas/3.0.0-beta.2/content-standards/content-standards.json" } ], "description": "Success response - returns the content standards configuration", "properties": { "context": { - "$ref": "/schemas/3.0.0-beta.1/core/context.json" + "$ref": "/schemas/3.0.0-beta.2/core/context.json" }, "errors": { "description": "Field must not be present in success response", @@ -25,16 +25,16 @@ "description": "Error response", "properties": { "context": { - "$ref": "/schemas/3.0.0-beta.1/core/context.json" + "$ref": "/schemas/3.0.0-beta.2/core/context.json" }, "errors": { "items": { - "$ref": "/schemas/3.0.0-beta.1/core/error.json" + "$ref": "/schemas/3.0.0-beta.2/core/error.json" }, "type": "array" }, "ext": { - "$ref": "/schemas/3.0.0-beta.1/core/ext.json" + "$ref": "/schemas/3.0.0-beta.2/core/ext.json" }, "standards_id": { "description": "Field must not be present in error response", diff --git a/schemas/cache/content-standards/get-media-buy-artifacts-request.json b/schemas/cache/content-standards/get-media-buy-artifacts-request.json index a8e7792d..2a059a16 100644 --- a/schemas/cache/content-standards/get-media-buy-artifacts-request.json +++ b/schemas/cache/content-standards/get-media-buy-artifacts-request.json @@ -1,17 +1,17 @@ { - "$id": "/schemas/3.0.0-beta.1/content-standards/get-media-buy-artifacts-request.json", + "$id": "/schemas/3.0.0-beta.2/content-standards/get-media-buy-artifacts-request.json", "$schema": "http://json-schema.org/draft-07/schema#", "description": "Request parameters for retrieving content artifacts from a media buy for validation", "properties": { "context": { - "$ref": "/schemas/3.0.0-beta.1/core/context.json" + "$ref": "/schemas/3.0.0-beta.2/core/context.json" }, "cursor": { "description": "Pagination cursor for fetching subsequent pages", "type": "string" }, "ext": { - "$ref": "/schemas/3.0.0-beta.1/core/ext.json" + "$ref": "/schemas/3.0.0-beta.2/core/ext.json" }, "limit": { "default": 1000, diff --git a/schemas/cache/content-standards/get-media-buy-artifacts-response.json b/schemas/cache/content-standards/get-media-buy-artifacts-response.json index 4b0801f8..bc4d85d0 100644 --- a/schemas/cache/content-standards/get-media-buy-artifacts-response.json +++ b/schemas/cache/content-standards/get-media-buy-artifacts-response.json @@ -1,5 +1,5 @@ { - "$id": "/schemas/3.0.0-beta.1/content-standards/get-media-buy-artifacts-response.json", + "$id": "/schemas/3.0.0-beta.2/content-standards/get-media-buy-artifacts-response.json", "$schema": "http://json-schema.org/draft-07/schema#", "description": "Response containing content artifacts from a media buy for validation", "oneOf": [ @@ -11,7 +11,7 @@ "items": { "properties": { "artifact": { - "$ref": "/schemas/3.0.0-beta.1/content-standards/artifact.json", + "$ref": "/schemas/3.0.0-beta.2/content-standards/artifact.json", "description": "Full artifact with content assets" }, "brand_context": { @@ -68,14 +68,14 @@ "type": "array" }, "context": { - "$ref": "/schemas/3.0.0-beta.1/core/context.json" + "$ref": "/schemas/3.0.0-beta.2/core/context.json" }, "errors": { "description": "Field must not be present in success response", "not": {} }, "ext": { - "$ref": "/schemas/3.0.0-beta.1/core/ext.json" + "$ref": "/schemas/3.0.0-beta.2/core/ext.json" }, "media_buy_id": { "description": "Media buy these artifacts belong to", @@ -134,16 +134,16 @@ "description": "Error response", "properties": { "context": { - "$ref": "/schemas/3.0.0-beta.1/core/context.json" + "$ref": "/schemas/3.0.0-beta.2/core/context.json" }, "errors": { "items": { - "$ref": "/schemas/3.0.0-beta.1/core/error.json" + "$ref": "/schemas/3.0.0-beta.2/core/error.json" }, "type": "array" }, "ext": { - "$ref": "/schemas/3.0.0-beta.1/core/ext.json" + "$ref": "/schemas/3.0.0-beta.2/core/ext.json" }, "media_buy_id": { "description": "Field must not be present in error response", diff --git a/schemas/cache/content-standards/list-content-standards-request.json b/schemas/cache/content-standards/list-content-standards-request.json index f4b9dbd7..8eee47c2 100644 --- a/schemas/cache/content-standards/list-content-standards-request.json +++ b/schemas/cache/content-standards/list-content-standards-request.json @@ -1,5 +1,5 @@ { - "$id": "/schemas/3.0.0-beta.1/content-standards/list-content-standards-request.json", + "$id": "/schemas/3.0.0-beta.2/content-standards/list-content-standards-request.json", "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": true, "description": "Request parameters for listing content standards configurations", @@ -7,12 +7,12 @@ "channels": { "description": "Filter by channel", "items": { - "$ref": "/schemas/3.0.0-beta.1/enums/channels.json" + "$ref": "/schemas/3.0.0-beta.2/enums/channels.json" }, "type": "array" }, "context": { - "$ref": "/schemas/3.0.0-beta.1/core/context.json" + "$ref": "/schemas/3.0.0-beta.2/core/context.json" }, "countries": { "description": "Filter by ISO 3166-1 alpha-2 country codes", @@ -22,7 +22,7 @@ "type": "array" }, "ext": { - "$ref": "/schemas/3.0.0-beta.1/core/ext.json" + "$ref": "/schemas/3.0.0-beta.2/core/ext.json" }, "languages": { "description": "Filter by BCP 47 language tags", diff --git a/schemas/cache/content-standards/list-content-standards-response.json b/schemas/cache/content-standards/list-content-standards-response.json index 47dd4d32..358762b8 100644 --- a/schemas/cache/content-standards/list-content-standards-response.json +++ b/schemas/cache/content-standards/list-content-standards-response.json @@ -1,5 +1,5 @@ { - "$id": "/schemas/3.0.0-beta.1/content-standards/list-content-standards-response.json", + "$id": "/schemas/3.0.0-beta.2/content-standards/list-content-standards-response.json", "$schema": "http://json-schema.org/draft-07/schema#", "description": "Response payload with list of content standards configurations", "oneOf": [ @@ -7,19 +7,19 @@ "description": "Success response - returns array of content standards", "properties": { "context": { - "$ref": "/schemas/3.0.0-beta.1/core/context.json" + "$ref": "/schemas/3.0.0-beta.2/core/context.json" }, "errors": { "description": "Field must not be present in success response", "not": {} }, "ext": { - "$ref": "/schemas/3.0.0-beta.1/core/ext.json" + "$ref": "/schemas/3.0.0-beta.2/core/ext.json" }, "standards": { "description": "Array of content standards configurations matching the filter criteria", "items": { - "$ref": "/schemas/3.0.0-beta.1/content-standards/content-standards.json" + "$ref": "/schemas/3.0.0-beta.2/content-standards/content-standards.json" }, "type": "array" } @@ -33,16 +33,16 @@ "description": "Error response", "properties": { "context": { - "$ref": "/schemas/3.0.0-beta.1/core/context.json" + "$ref": "/schemas/3.0.0-beta.2/core/context.json" }, "errors": { "items": { - "$ref": "/schemas/3.0.0-beta.1/core/error.json" + "$ref": "/schemas/3.0.0-beta.2/core/error.json" }, "type": "array" }, "ext": { - "$ref": "/schemas/3.0.0-beta.1/core/ext.json" + "$ref": "/schemas/3.0.0-beta.2/core/ext.json" }, "standards": { "description": "Field must not be present in error response", diff --git a/schemas/cache/content-standards/update-content-standards-request.json b/schemas/cache/content-standards/update-content-standards-request.json index 22003430..8569b84a 100644 --- a/schemas/cache/content-standards/update-content-standards-request.json +++ b/schemas/cache/content-standards/update-content-standards-request.json @@ -1,5 +1,5 @@ { - "$id": "/schemas/3.0.0-beta.1/content-standards/update-content-standards-request.json", + "$id": "/schemas/3.0.0-beta.2/content-standards/update-content-standards-request.json", "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": true, "description": "Request parameters for updating an existing content standards configuration. Creates a new version.", @@ -36,7 +36,7 @@ "type": "object" }, { - "$ref": "/schemas/3.0.0-beta.1/content-standards/artifact.json", + "$ref": "/schemas/3.0.0-beta.2/content-standards/artifact.json", "description": "Full artifact with pre-extracted content (text, images, video, audio)" } ] @@ -72,7 +72,7 @@ "type": "object" }, { - "$ref": "/schemas/3.0.0-beta.1/content-standards/artifact.json", + "$ref": "/schemas/3.0.0-beta.2/content-standards/artifact.json", "description": "Full artifact with pre-extracted content (text, images, video, audio)" } ] @@ -83,10 +83,10 @@ "type": "object" }, "context": { - "$ref": "/schemas/3.0.0-beta.1/core/context.json" + "$ref": "/schemas/3.0.0-beta.2/core/context.json" }, "ext": { - "$ref": "/schemas/3.0.0-beta.1/core/ext.json" + "$ref": "/schemas/3.0.0-beta.2/core/ext.json" }, "policy": { "description": "Updated natural language policy describing acceptable and unacceptable content contexts.", @@ -98,7 +98,7 @@ "channels_any": { "description": "Advertising channels. Standards apply to ANY of the listed channels (OR logic).", "items": { - "$ref": "/schemas/3.0.0-beta.1/enums/channels.json" + "$ref": "/schemas/3.0.0-beta.2/enums/channels.json" }, "type": "array" }, diff --git a/schemas/cache/content-standards/update-content-standards-response.json b/schemas/cache/content-standards/update-content-standards-response.json index 6e1bae17..bd4e0630 100644 --- a/schemas/cache/content-standards/update-content-standards-response.json +++ b/schemas/cache/content-standards/update-content-standards-response.json @@ -1,5 +1,5 @@ { - "$id": "/schemas/3.0.0-beta.1/content-standards/update-content-standards-response.json", + "$id": "/schemas/3.0.0-beta.2/content-standards/update-content-standards-response.json", "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": true, "description": "Response from updating a content standards configuration", @@ -9,17 +9,17 @@ "type": "string" }, "context": { - "$ref": "/schemas/3.0.0-beta.1/core/context.json" + "$ref": "/schemas/3.0.0-beta.2/core/context.json" }, "errors": { "description": "Errors that occurred during the update", "items": { - "$ref": "/schemas/3.0.0-beta.1/core/error.json" + "$ref": "/schemas/3.0.0-beta.2/core/error.json" }, "type": "array" }, "ext": { - "$ref": "/schemas/3.0.0-beta.1/core/ext.json" + "$ref": "/schemas/3.0.0-beta.2/core/ext.json" }, "standards_id": { "description": "ID of the updated standards configuration", diff --git a/schemas/cache/content-standards/validate-content-delivery-request.json b/schemas/cache/content-standards/validate-content-delivery-request.json index 9730040f..252d76d8 100644 --- a/schemas/cache/content-standards/validate-content-delivery-request.json +++ b/schemas/cache/content-standards/validate-content-delivery-request.json @@ -1,13 +1,13 @@ { - "$id": "/schemas/3.0.0-beta.1/content-standards/validate-content-delivery-request.json", + "$id": "/schemas/3.0.0-beta.2/content-standards/validate-content-delivery-request.json", "$schema": "http://json-schema.org/draft-07/schema#", "description": "Request parameters for batch validating delivery records against content safety policies", "properties": { "context": { - "$ref": "/schemas/3.0.0-beta.1/core/context.json" + "$ref": "/schemas/3.0.0-beta.2/core/context.json" }, "ext": { - "$ref": "/schemas/3.0.0-beta.1/core/ext.json" + "$ref": "/schemas/3.0.0-beta.2/core/ext.json" }, "feature_ids": { "description": "Specific features to evaluate (defaults to all)", @@ -26,7 +26,7 @@ "items": { "properties": { "artifact": { - "$ref": "/schemas/3.0.0-beta.1/content-standards/artifact.json", + "$ref": "/schemas/3.0.0-beta.2/content-standards/artifact.json", "description": "Artifact where ad was delivered" }, "brand_context": { diff --git a/schemas/cache/content-standards/validate-content-delivery-response.json b/schemas/cache/content-standards/validate-content-delivery-response.json index a5348f81..660ff426 100644 --- a/schemas/cache/content-standards/validate-content-delivery-response.json +++ b/schemas/cache/content-standards/validate-content-delivery-response.json @@ -1,5 +1,5 @@ { - "$id": "/schemas/3.0.0-beta.1/content-standards/validate-content-delivery-response.json", + "$id": "/schemas/3.0.0-beta.2/content-standards/validate-content-delivery-response.json", "$schema": "http://json-schema.org/draft-07/schema#", "description": "Response payload with per-record verdicts and optional feature breakdown", "oneOf": [ @@ -7,14 +7,14 @@ "description": "Success response", "properties": { "context": { - "$ref": "/schemas/3.0.0-beta.1/core/context.json" + "$ref": "/schemas/3.0.0-beta.2/core/context.json" }, "errors": { "description": "Field must not be present in success response", "not": {} }, "ext": { - "$ref": "/schemas/3.0.0-beta.1/core/ext.json" + "$ref": "/schemas/3.0.0-beta.2/core/ext.json" }, "results": { "description": "Per-record evaluation results", @@ -105,16 +105,16 @@ "description": "Error response", "properties": { "context": { - "$ref": "/schemas/3.0.0-beta.1/core/context.json" + "$ref": "/schemas/3.0.0-beta.2/core/context.json" }, "errors": { "items": { - "$ref": "/schemas/3.0.0-beta.1/core/error.json" + "$ref": "/schemas/3.0.0-beta.2/core/error.json" }, "type": "array" }, "ext": { - "$ref": "/schemas/3.0.0-beta.1/core/ext.json" + "$ref": "/schemas/3.0.0-beta.2/core/ext.json" }, "summary": { "description": "Field must not be present in error response", diff --git a/schemas/cache/core/account.json b/schemas/cache/core/account.json new file mode 100644 index 00000000..65bb3e9b --- /dev/null +++ b/schemas/cache/core/account.json @@ -0,0 +1,105 @@ +{ + "$id": "/schemas/3.0.0-beta.2/core/account.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "description": "A billing account representing the relationship between a buyer and seller. The account determines rate cards, payment terms, and billing entity.", + "examples": [ + { + "data": { + "account_id": "acc_coke_direct", + "advertiser": "The Coca-Cola Company", + "name": "Coke", + "payment_terms": "net_30", + "rate_card": "coke_vip_2024", + "status": "active" + }, + "description": "Direct advertiser account" + }, + { + "data": { + "account_id": "acc_coke_publicis", + "advertiser": "The Coca-Cola Company", + "billing_proxy": "Publicis Media", + "name": "Coke c/o Publicis", + "payment_terms": "net_60", + "rate_card": "coke_vip_2024", + "status": "active" + }, + "description": "Advertiser account with agency billing proxy" + }, + { + "data": { + "account_id": "acc_publicis", + "advertiser": "Publicis Media", + "name": "Publicis", + "payment_terms": "net_45", + "rate_card": "agency_standard", + "status": "active" + }, + "description": "Agency as direct buyer" + } + ], + "properties": { + "account_id": { + "description": "Unique identifier for this account", + "type": "string" + }, + "advertiser": { + "description": "The advertiser whose rates apply to this account", + "type": "string" + }, + "billing_proxy": { + "description": "Optional intermediary who receives invoices on behalf of the advertiser (e.g., agency)", + "type": "string" + }, + "credit_limit": { + "description": "Maximum outstanding balance allowed", + "properties": { + "amount": { + "minimum": 0, + "type": "number" + }, + "currency": { + "pattern": "^[A-Z]{3}$", + "type": "string" + } + }, + "required": [ + "amount", + "currency" + ], + "type": "object" + }, + "ext": { + "$ref": "/schemas/3.0.0-beta.2/core/ext.json" + }, + "name": { + "description": "Human-readable account name (e.g., 'Coke', 'Coke c/o Publicis')", + "type": "string" + }, + "payment_terms": { + "description": "Payment terms (e.g., 'net_30', 'prepay')", + "type": "string" + }, + "rate_card": { + "description": "Identifier for the rate card applied to this account", + "type": "string" + }, + "status": { + "description": "Account status", + "enum": [ + "active", + "suspended", + "closed" + ], + "type": "string" + } + }, + "required": [ + "account_id", + "name", + "status" + ], + "title": "Account", + "type": "object" +} \ No newline at end of file diff --git a/schemas/cache/core/activation-key.json b/schemas/cache/core/activation-key.json index f85817d3..5ef3365e 100644 --- a/schemas/cache/core/activation-key.json +++ b/schemas/cache/core/activation-key.json @@ -1,5 +1,5 @@ { - "$id": "/schemas/3.0.0-beta.1/core/activation-key.json", + "$id": "/schemas/3.0.0-beta.2/core/activation-key.json", "$schema": "http://json-schema.org/draft-07/schema#", "description": "Universal identifier for using a signal on a destination platform. Can be either a segment ID or a key-value pair depending on the platform's targeting mechanism.", "oneOf": [ diff --git a/schemas/cache/core/assets/audio-asset.json b/schemas/cache/core/assets/audio-asset.json index 9b601680..8ab51edf 100644 --- a/schemas/cache/core/assets/audio-asset.json +++ b/schemas/cache/core/assets/audio-asset.json @@ -1,22 +1,62 @@ { - "$id": "/schemas/3.0.0-beta.1/core/assets/audio-asset.json", + "$id": "/schemas/3.0.0-beta.2/core/assets/audio-asset.json", "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": true, - "description": "Audio asset with URL and specifications", + "description": "Audio asset with URL and technical specifications", "properties": { + "bit_depth": { + "description": "Bit depth", + "enum": [ + 16, + 24, + 32 + ], + "type": "integer" + }, "bitrate_kbps": { - "description": "Audio bitrate in kilobits per second", + "description": "Bitrate in kilobits per second", "minimum": 1, "type": "integer" }, + "channels": { + "description": "Channel configuration", + "enum": [ + "mono", + "stereo", + "5.1", + "7.1" + ], + "type": "string" + }, + "codec": { + "description": "Audio codec used (aac, aac_lc, he_aac, pcm, mp3, vorbis, opus, flac, ac3, eac3, etc.)", + "type": "string" + }, + "container_format": { + "description": "Audio container/file format (mp3, m4a, aac, wav, ogg, flac, etc.)", + "type": "string" + }, "duration_ms": { "description": "Audio duration in milliseconds", "minimum": 0, "type": "integer" }, - "format": { - "description": "Audio file format (mp3, wav, aac, etc.)", - "type": "string" + "file_size_bytes": { + "description": "File size in bytes", + "minimum": 1, + "type": "integer" + }, + "loudness_lufs": { + "description": "Integrated loudness in LUFS", + "type": "number" + }, + "sampling_rate_hz": { + "description": "Sampling rate in Hz (e.g., 44100, 48000, 96000)", + "type": "integer" + }, + "true_peak_dbfs": { + "description": "True peak level in dBFS", + "type": "number" }, "url": { "description": "URL to the audio asset", diff --git a/schemas/cache/core/assets/css-asset.json b/schemas/cache/core/assets/css-asset.json index 1c962d45..258b13e0 100644 --- a/schemas/cache/core/assets/css-asset.json +++ b/schemas/cache/core/assets/css-asset.json @@ -1,5 +1,5 @@ { - "$id": "/schemas/3.0.0-beta.1/core/assets/css-asset.json", + "$id": "/schemas/3.0.0-beta.2/core/assets/css-asset.json", "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": true, "description": "CSS stylesheet asset", diff --git a/schemas/cache/core/assets/daast-asset.json b/schemas/cache/core/assets/daast-asset.json index 124c1713..82a4de86 100644 --- a/schemas/cache/core/assets/daast-asset.json +++ b/schemas/cache/core/assets/daast-asset.json @@ -1,5 +1,5 @@ { - "$id": "/schemas/3.0.0-beta.1/core/assets/daast-asset.json", + "$id": "/schemas/3.0.0-beta.2/core/assets/daast-asset.json", "$schema": "http://json-schema.org/draft-07/schema#", "description": "DAAST (Digital Audio Ad Serving Template) tag for third-party audio ad serving", "oneOf": [ @@ -11,7 +11,7 @@ "type": "boolean" }, "daast_version": { - "$ref": "/schemas/3.0.0-beta.1/enums/daast-version.json", + "$ref": "/schemas/3.0.0-beta.2/enums/daast-version.json", "description": "DAAST specification version" }, "delivery_type": { @@ -27,7 +27,7 @@ "tracking_events": { "description": "Tracking events supported by this DAAST tag", "items": { - "$ref": "/schemas/3.0.0-beta.1/enums/daast-tracking-event.json" + "$ref": "/schemas/3.0.0-beta.2/enums/daast-tracking-event.json" }, "type": "array" }, @@ -55,7 +55,7 @@ "type": "string" }, "daast_version": { - "$ref": "/schemas/3.0.0-beta.1/enums/daast-version.json", + "$ref": "/schemas/3.0.0-beta.2/enums/daast-version.json", "description": "DAAST specification version" }, "delivery_type": { @@ -71,7 +71,7 @@ "tracking_events": { "description": "Tracking events supported by this DAAST tag", "items": { - "$ref": "/schemas/3.0.0-beta.1/enums/daast-tracking-event.json" + "$ref": "/schemas/3.0.0-beta.2/enums/daast-tracking-event.json" }, "type": "array" } diff --git a/schemas/cache/core/assets/html-asset.json b/schemas/cache/core/assets/html-asset.json index 1a744fa6..b2a78e9f 100644 --- a/schemas/cache/core/assets/html-asset.json +++ b/schemas/cache/core/assets/html-asset.json @@ -1,5 +1,5 @@ { - "$id": "/schemas/3.0.0-beta.1/core/assets/html-asset.json", + "$id": "/schemas/3.0.0-beta.2/core/assets/html-asset.json", "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": true, "description": "HTML content asset", diff --git a/schemas/cache/core/assets/image-asset.json b/schemas/cache/core/assets/image-asset.json index f01f678d..e327f14a 100644 --- a/schemas/cache/core/assets/image-asset.json +++ b/schemas/cache/core/assets/image-asset.json @@ -1,5 +1,5 @@ { - "$id": "/schemas/3.0.0-beta.1/core/assets/image-asset.json", + "$id": "/schemas/3.0.0-beta.2/core/assets/image-asset.json", "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": true, "description": "Image asset with URL and dimensions", diff --git a/schemas/cache/core/assets/javascript-asset.json b/schemas/cache/core/assets/javascript-asset.json index 239620ac..b3c0ca99 100644 --- a/schemas/cache/core/assets/javascript-asset.json +++ b/schemas/cache/core/assets/javascript-asset.json @@ -1,5 +1,5 @@ { - "$id": "/schemas/3.0.0-beta.1/core/assets/javascript-asset.json", + "$id": "/schemas/3.0.0-beta.2/core/assets/javascript-asset.json", "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": true, "description": "JavaScript code asset", @@ -9,7 +9,7 @@ "type": "string" }, "module_type": { - "$ref": "/schemas/3.0.0-beta.1/enums/javascript-module-type.json", + "$ref": "/schemas/3.0.0-beta.2/enums/javascript-module-type.json", "description": "JavaScript module type" } }, diff --git a/schemas/cache/core/assets/text-asset.json b/schemas/cache/core/assets/text-asset.json index b4d97bdc..2959f3d2 100644 --- a/schemas/cache/core/assets/text-asset.json +++ b/schemas/cache/core/assets/text-asset.json @@ -1,5 +1,5 @@ { - "$id": "/schemas/3.0.0-beta.1/core/assets/text-asset.json", + "$id": "/schemas/3.0.0-beta.2/core/assets/text-asset.json", "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": true, "description": "Text content asset", diff --git a/schemas/cache/core/assets/url-asset.json b/schemas/cache/core/assets/url-asset.json index 26f3b9f4..3510ecd2 100644 --- a/schemas/cache/core/assets/url-asset.json +++ b/schemas/cache/core/assets/url-asset.json @@ -1,5 +1,5 @@ { - "$id": "/schemas/3.0.0-beta.1/core/assets/url-asset.json", + "$id": "/schemas/3.0.0-beta.2/core/assets/url-asset.json", "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": true, "description": "URL reference asset", @@ -14,7 +14,7 @@ "type": "string" }, "url_type": { - "$ref": "/schemas/3.0.0-beta.1/enums/url-asset-type.json", + "$ref": "/schemas/3.0.0-beta.2/enums/url-asset-type.json", "description": "Type of URL asset: 'clickthrough' for user click destination (landing page), 'tracker_pixel' for impression/event tracking via HTTP request (fires GET, expects pixel/204 response), 'tracker_script' for measurement SDKs that must load as