diff --git a/SCHEMA_DELTAS.md b/SCHEMA_DELTAS.md index 6a9b1383..fde88ea1 100644 --- a/SCHEMA_DELTAS.md +++ b/SCHEMA_DELTAS.md @@ -2,136 +2,7 @@ ## Field changes -- `adagents.py` - - **classes added**: AdcpAgentsAuthorization21, AdcpAgentsAuthorization210, AdcpAgentsAuthorization211, AdcpAgentsAuthorization212, AdcpAgentsAuthorization213, AdcpAgentsAuthorization22, AdcpAgentsAuthorization23, AdcpAgentsAuthorization24, AdcpAgentsAuthorization25, AdcpAgentsAuthorization26, AdcpAgentsAuthorization27, AdcpAgentsAuthorization28, AdcpAgentsAuthorization29, AuthorizedAgents14, AuthorizedAgents21, AuthorizedAgents28, AuthorizedAgents35, AuthorizedAgents42, AuthorizedAgents7 - - `AdcpAgentsAuthorization2`: `+root` `-authorized_agents`, `-catalog_etag`, `-collections`, `-contact`, `-field_schema`, `-last_updated`, `-placement_tags`, `-placements`, `-properties`, `-property_features`, `-revoked_publisher_domains`, `-signal_tags`, `-signals`, `-superseded_by`, `-tags` -- `bundled/content_standards/update_content_standards_request.py` - - **classes added**: Disclosure1231, Disclosure1232, Disclosure1233, Disclosure1234, EmbeddedProvenanceItem1228, EmbeddedProvenanceItem1229, EmbeddedProvenanceItem1230, EmbeddedProvenanceItem1231, Provenance1227, Provenance1228, Provenance1229, Provenance1230, Role1287, VerifyAgent2445, Watermark1228, Watermark1229, Watermark1230, Watermark1231 - - **classes removed**: Disclosure1222, Disclosure1223, Disclosure1224, Disclosure1225, EmbeddedProvenanceItem1219, EmbeddedProvenanceItem1220, EmbeddedProvenanceItem1221, EmbeddedProvenanceItem1222, Provenance1218, Provenance1219, Provenance1220, Provenance1221, Role1283, VerifyAgent2437, Watermark1219, Watermark1220, Watermark1221, Watermark1222 -- `bundled/content_standards/validate_content_delivery_request.py` - - **classes added**: Disclosure1240, Disclosure1241, Disclosure1242, Disclosure1243, EmbeddedProvenanceItem1237, EmbeddedProvenanceItem1238, EmbeddedProvenanceItem1239, EmbeddedProvenanceItem1240, Provenance1236, Provenance1237, Provenance1238, Provenance1239, Role1304, VerifyAgent2473, Watermark1237, Watermark1238, Watermark1239, Watermark1240 - - **classes removed**: Disclosure1236, Disclosure1237, Disclosure1238, Disclosure1239, EmbeddedProvenanceItem1233, EmbeddedProvenanceItem1234, EmbeddedProvenanceItem1235, EmbeddedProvenanceItem1236, Provenance1232, Provenance1233, Provenance1234, Provenance1235, Role1300, VerifyAgent2465, Watermark1233, Watermark1234, Watermark1235, Watermark1236 -- `bundled/core/tasks_get_request.py` - - **classes added**: Account, Account45, AiTool, Brand, BrandKitOverride, C2pa, C2paAction, Colors, DataSubjectContestation, DeclaredBy, DigitalSourceType, Disclosure, EmbeddedProvenanceItem, HumanOversight, Jurisdiction, Logo, MediaType, Method, Persistence, Position, Provenance, RenderGuidance, Result, Role, VerificationItem, VerifyAgent, VerifyAgent1769, Watermark - - `TasksGetRequest`: `+account` -- `bundled/core/tasks_get_response.py` - - **classes added**: Account47, Brand49, Brand50, Brand51, BrandKitOverride145, BrandKitOverride146, BrandKitOverride147, Disclosure1221, Disclosure1222, Disclosure1223, Disclosure930, EmbeddedProvenanceItem1218, EmbeddedProvenanceItem1219, EmbeddedProvenanceItem1220, Jurisdiction923, Jurisdiction997, Logo146, Logo147, Logo148, Method57, Provenance1217, Provenance1218, Provenance1219, Reason26, Reason27, Reason28, Reason29, Reason30, Result1000, Result1005, Result1098, Result1191, Result1288, Result1300, Result1301, Result1302, Result926, Result951, Result952, Result973, Result977, Result978, Result979, Result988, Result989, Result990, Result998, Result999, Role1009, Role980, SignalId103, SignalId60, VerifyAgent1771, Watermark1218, Watermark1219, Watermark1220 - - **classes removed**: Account41, Brand42, Brand43, Brand44, BrandKitOverride92, BrandKitOverride93, BrandKitOverride94, Disclosure884, Disclosure885, Disclosure886, Disclosure933, EmbeddedProvenanceItem883, EmbeddedProvenanceItem884, EmbeddedProvenanceItem885, Jurisdiction920, Jurisdiction994, Logo93, Logo94, Logo95, Method54, Provenance882, Provenance883, Provenance884, Reason20, Reason21, Reason22, Reason23, Reason24, Result1002, Result1095, Result1188, Result1281, Result1282, Result1283, Result1291, Result923, Result948, Result949, Result970, Result971, Result975, Result976, Result982, Result983, Result984, Result992, Result993, Result997, Role1006, Role977, SignalId54, SignalId97, VerifyAgent1765, Watermark883, Watermark884, Watermark885 - - `Result1284`: `+adcp_error`, `+adcp_major_version`, `+adcp_version`, `+context_id`, `+estimate`, `+expires_at`, `+governance_context`, `+message`, `+mode`, `+payload`, `+push_notification_config`, `+replayed`, `+status`, `+task_id`, `+timestamp` `-current_step`, `-percentage`, `-step_number`, `-total_steps` - - `Result1285`: `+adcp_error`, `+adcp_major_version`, `+adcp_version`, `+context_id`, `+governance_context`, `+message`, `+payload`, `+push_notification_config`, `+replayed`, `+status`, `+task_id`, `+timestamp` `-reason` - - `Result1286`: `+adcp_error`, `+adcp_major_version`, `+adcp_version`, `+context_id`, `+governance_context`, `+payload`, `+push_notification_config`, `+replayed`, `+timestamp` - - `Result1287`: `+current_step`, `+percentage`, `+step_number`, `+total_steps` `-adcp_error`, `-adcp_major_version`, `-adcp_version`, `-context_id`, `-creatives`, `-dry_run`, `-governance_context`, `-message`, `-payload`, `-push_notification_config`, `-replayed`, `-sandbox`, `-status`, `-task_id`, `-timestamp` - - `Result1289`: `-adcp_error`, `-adcp_major_version`, `-adcp_version`, `-context_id`, `-governance_context`, `-payload`, `-push_notification_config`, `-replayed`, `-timestamp` - - `Result1290`: `+creatives`, `+dry_run`, `+sandbox` `-errors` - - `Result1292`: `+adcp_error`, `+adcp_major_version`, `+adcp_version`, `+context_id`, `+errors`, `+governance_context`, `+message`, `+payload`, `+push_notification_config`, `+replayed`, `+status`, `+task_id`, `+timestamp` `-reason` - - `Result1293`: `+adcp_error`, `+adcp_major_version`, `+adcp_version`, `+context_id`, `+governance_context`, `+payload`, `+push_notification_config`, `+replayed`, `+timestamp` - - `Result1294`: `+creatives_processed`, `+creatives_total`, `+current_step`, `+percentage`, `+step_number`, `+total_steps` `-adcp_error`, `-adcp_major_version`, `-adcp_version`, `-catalogs`, `-context_id`, `-dry_run`, `-governance_context`, `-message`, `-payload`, `-push_notification_config`, `-replayed`, `-sandbox`, `-status`, `-task_id`, `-timestamp` - - `Result1295`: `+reason` `-adcp_error`, `-adcp_major_version`, `-adcp_version`, `-context_id`, `-errors`, `-governance_context`, `-message`, `-payload`, `-push_notification_config`, `-replayed`, `-status`, `-task_id`, `-timestamp` - - `Result1296`: `-adcp_error`, `-adcp_major_version`, `-adcp_version`, `-context_id`, `-governance_context`, `-payload`, `-push_notification_config`, `-replayed`, `-timestamp` - - `Result1297`: `+adcp_error`, `+adcp_major_version`, `+adcp_version`, `+catalogs`, `+context_id`, `+dry_run`, `+governance_context`, `+message`, `+payload`, `+push_notification_config`, `+replayed`, `+sandbox`, `+status`, `+task_id`, `+timestamp` `-catalogs_processed`, `-catalogs_total`, `-current_step`, `-items_processed`, `-items_total`, `-percentage`, `-step_number`, `-total_steps` - - `Result1298`: `+adcp_error`, `+adcp_major_version`, `+adcp_version`, `+context_id`, `+errors`, `+governance_context`, `+message`, `+payload`, `+push_notification_config`, `+replayed`, `+status`, `+task_id`, `+timestamp` `-reason` - - `Result1299`: `+adcp_error`, `+adcp_major_version`, `+adcp_version`, `+context_id`, `+governance_context`, `+payload`, `+push_notification_config`, `+replayed`, `+timestamp` - - `Result974`: `+adcp_error`, `+adcp_major_version`, `+adcp_version`, `+cache_scope`, `+context_id`, `+errors`, `+governance_context`, `+incomplete`, `+message`, `+pagination`, `+payload`, `+pricing_version`, `+push_notification_config`, `+replayed`, `+sandbox`, `+signals`, `+status`, `+task_id`, `+timestamp`, `+unchanged`, `+wholesale_feed_version` `-current_step`, `-percentage`, `-step_number`, `-total_steps` - - `Result985`: `+adcp_error`, `+adcp_major_version`, `+adcp_version`, `+context_id`, `+governance_context`, `+message`, `+payload`, `+push_notification_config`, `+replayed`, `+status`, `+task_id`, `+timestamp` `-reason` - - `Result986`: `+adcp_error`, `+adcp_major_version`, `+adcp_version`, `+context_id`, `+governance_context`, `+payload`, `+push_notification_config`, `+replayed`, `+timestamp` - - `Result987`: `+current_step`, `+percentage`, `+step_number`, `+total_steps` `-adcp_error`, `-adcp_major_version`, `-adcp_version`, `-affected_packages`, `-available_actions`, `-context_id`, `-currency`, `-governance_context`, `-implementation_date`, `-invoice_recipient`, `-media_buy_id`, `-media_buy_status`, `-message`, `-payload`, `-push_notification_config`, `-replayed`, `-revision`, `-sandbox`, `-status`, `-task_id`, `-timestamp`, `-total_budget`, `-valid_actions` - - `Result995`: `+adcp_error`, `+adcp_major_version`, `+adcp_version`, `+context_id`, `+errors`, `+governance_context`, `+message`, `+payload`, `+push_notification_config`, `+replayed`, `+status`, `+task_id`, `+timestamp` `-reason` - - `Result996`: `+adcp_error`, `+adcp_major_version`, `+adcp_version`, `+context_id`, `+governance_context`, `+payload`, `+push_notification_config`, `+replayed`, `+timestamp` - - `TaskType`: `+get_products` -- `bundled/core/tasks_list_request.py` - - **classes added**: Account, Account49, AiTool, Brand, BrandKitOverride, C2pa, C2paAction, Colors, DataSubjectContestation, DeclaredBy, DigitalSourceType, Disclosure, EmbeddedProvenanceItem, HumanOversight, Jurisdiction, Logo, MediaType, Method, Persistence, Position, Provenance, RenderGuidance, Result, Role, VerificationItem, VerifyAgent, VerifyAgent2443, Watermark - - `TaskType`: `+get_products` - - `TasksListRequest`: `+account` -- `bundled/core/tasks_list_response.py` - - `TaskType`: `+get_products` -- `bundled/creative/list_creative_formats_request.py` - - **classes added**: Account29, VerifyAgent1111 - - **classes removed**: Account27, VerifyAgent1109 -- `bundled/creative/list_creatives_request.py` - - **classes added**: Account31, Brand31, BrandKitOverride81, Disclosure559, EmbeddedProvenanceItem557, Logo81, Provenance557, VerifyAgent1113, Watermark557 - - **classes removed**: Account29, Brand30, BrandKitOverride80, Disclosure558, EmbeddedProvenanceItem556, Logo80, Provenance556, VerifyAgent1111, Watermark556 -- `bundled/creative/list_creatives_response.py` - - **classes added**: Disclosure604, EmbeddedProvenanceItem602, Jurisdiction581, Provenance602, Role591, Role606, VerifyAgent1117, Watermark602 - - **classes removed**: Disclosure560, EmbeddedProvenanceItem558, Jurisdiction580, Provenance558, Role590, Role605, VerifyAgent1115, Watermark558 -- `bundled/creative/list_transformers_request.py` - - **classes added**: Account40, VerifyAgent1215 - - **classes removed**: Account36, VerifyAgent1211 -- `bundled/creative/preview_creative_request.py` - - **classes added**: Brand40, Brand41, BrandKitOverride90, BrandKitOverride91, Disclosure792, Disclosure793, EmbeddedProvenanceItem790, EmbeddedProvenanceItem791, Jurisdiction633, Logo90, Logo91, Provenance790, Provenance791, Role657, VerifyAgent1217, Watermark790, Watermark791 - - **classes removed**: Brand37, Brand38, BrandKitOverride87, BrandKitOverride88, Disclosure609, Disclosure610, EmbeddedProvenanceItem607, EmbeddedProvenanceItem608, Jurisdiction631, Logo87, Logo88, Provenance607, Provenance608, Role655, VerifyAgent1213, Watermark607, Watermark608 -- `bundled/creative/sync_creatives_request.py` - - **classes added**: Account42, Disclosure884, Disclosure885, EmbeddedProvenanceItem882, EmbeddedProvenanceItem883, Jurisdiction827, Provenance881, Provenance882, Role852, VerifyAgent1587, Watermark882, Watermark883 - - **classes removed**: Account38, Disclosure794, Disclosure795, EmbeddedProvenanceItem792, EmbeddedProvenanceItem793, Jurisdiction825, Provenance791, Provenance792, Role850, VerifyAgent1583, Watermark792, Watermark793 -- `bundled/creative/validate_input_request.py` - - **classes added**: Account55, Brand58, Brand59, Brand60, BrandKitOverride154, BrandKitOverride155, BrandKitOverride156, Disclosure1334, Disclosure1335, Disclosure1336, Disclosure1337, EmbeddedProvenanceItem1331, EmbeddedProvenanceItem1332, EmbeddedProvenanceItem1333, EmbeddedProvenanceItem1334, Jurisdiction1292, Logo155, Logo156, Logo157, Provenance1330, Provenance1331, Provenance1332, Provenance1333, Role1325, VerifyAgent2483, Watermark1331, Watermark1332, Watermark1333, Watermark1334 - - **classes removed**: Account47, Brand54, Brand55, Brand56, BrandKitOverride150, BrandKitOverride151, BrandKitOverride152, Disclosure1241, Disclosure1242, Disclosure1243, Disclosure1244, EmbeddedProvenanceItem1238, EmbeddedProvenanceItem1239, EmbeddedProvenanceItem1240, EmbeddedProvenanceItem1241, Jurisdiction1288, Logo151, Logo152, Logo153, Provenance1237, Provenance1238, Provenance1239, Provenance1240, Role1321, VerifyAgent2475, Watermark1238, Watermark1239, Watermark1240, Watermark1241 -- `bundled/property/list_property_lists_request.py` - - **classes added**: Account34, VerifyAgent1207 - - **classes removed**: Account32, VerifyAgent1205 -- `bundled/property/list_property_lists_response.py` - - **classes added**: Account36, Brand35, BrandKitOverride85, Disclosure607, EmbeddedProvenanceItem605, Logo85, Provenance605, VerifyAgent1209, Watermark605 - - **classes removed**: Account34, Brand34, BrandKitOverride84, Disclosure606, EmbeddedProvenanceItem604, Logo84, Provenance604, VerifyAgent1207, Watermark604 -- `bundled/property/update_property_list_request.py` - - **classes added**: Account51, Brand54, BrandKitOverride150, Disclosure1236, EmbeddedProvenanceItem1233, Logo151, Provenance1232, VerifyAgent2465, Watermark1233 - - **classes removed**: Account43, Brand50, BrandKitOverride146, Disclosure1232, EmbeddedProvenanceItem1229, Logo147, Provenance1228, VerifyAgent2457, Watermark1229 -- `bundled/property/update_property_list_response.py` - - **classes added**: Account53, Brand56, BrandKitOverride152, Disclosure1238, EmbeddedProvenanceItem1235, Logo153, Provenance1234, VerifyAgent2469, Watermark1235 - - **classes removed**: Account45, Brand52, BrandKitOverride148, Disclosure1234, EmbeddedProvenanceItem1231, Logo149, Provenance1230, VerifyAgent2461, Watermark1231 -- `bundled/property/validate_property_delivery_request.py` - - **classes added**: Account57, VerifyAgent2671 - - **classes removed**: Account49, VerifyAgent2663 -- `bundled/protocol/get_task_status_request.py` - - **classes added**: Account, Account25, AiTool, Brand, BrandKitOverride, C2pa, C2paAction, Colors, DataSubjectContestation, DeclaredBy, DigitalSourceType, Disclosure, EmbeddedProvenanceItem, HumanOversight, Jurisdiction, Logo, MediaType, Method, Persistence, Position, Provenance, RenderGuidance, Result, Role, VerificationItem, VerifyAgent, VerifyAgent437, Watermark - - `GetTaskStatusRequest`: `+account` -- `bundled/protocol/get_task_status_response.py` - - **classes added**: Account27, Brand28, BrandKitOverride78, Disclosure265, Disclosure556, EmbeddedProvenanceItem554, Jurisdiction229, Jurisdiction303, Logo78, Method19, Provenance554, Reason14, Reason15, Reason16, Reason17, Reason18, Result219, Result245, Result267, Result272, Result283, Result289, Result293, Result298, Result391, Result484, Result583, Result595, Role279, Role308, SignalId13, SignalId56, VerifyAgent439, Watermark554 - - **classes removed**: Account25, Brand21, BrandKitOverride25, Disclosure219, Disclosure266, EmbeddedProvenanceItem219, Jurisdiction228, Jurisdiction302, Logo25, Method18, Provenance219, Reason10, Reason11, Reason12, Reason8, Reason9, Result218, Result243, Result265, Result269, Result277, Result287, Result290, Result297, Result390, Result483, Result576, Result584, Role278, Role307, SignalId50, SignalId7, VerifyAgent437, Watermark219 - - `Result244`: `+current_step`, `+percentage`, `+step_number`, `+total_steps` `-partial_results`, `-reason`, `-suggestions` - - `Result266`: `+estimated_completion` `-adcp_error`, `-adcp_major_version`, `-adcp_version`, `-cache_scope`, `-context_id`, `-governance_context`, `-incomplete`, `-pagination`, `-payload`, `-pricing_version`, `-push_notification_config`, `-replayed`, `-sandbox`, `-signals`, `-timestamp`, `-unchanged`, `-wholesale_feed_version` - - `Result270`: `+current_step`, `+percentage`, `+step_number`, `+total_steps` `-errors`, `-estimated_completion`, `-message`, `-status`, `-task_id` - - `Result271`: `+errors`, `+estimated_completion` `-account`, `-adcp_error`, `-adcp_major_version`, `-adcp_version`, `-available_actions`, `-confirmed_at`, `-context_id`, `-creative_deadline`, `-currency`, `-governance_context`, `-invoice_recipient`, `-media_buy_id`, `-media_buy_status`, `-packages`, `-payload`, `-planned_delivery`, `-push_notification_config`, `-replayed`, `-revision`, `-sandbox`, `-timestamp`, `-total_budget`, `-valid_actions` - - `Result279`: `+adcp_error`, `+adcp_major_version`, `+adcp_version`, `+context_id`, `+errors`, `+governance_context`, `+message`, `+payload`, `+push_notification_config`, `+replayed`, `+status`, `+task_id`, `+timestamp` `-current_step`, `-percentage`, `-step_number`, `-total_steps` - - `Result280`: `+current_step`, `+percentage`, `+step_number`, `+total_steps` `-errors`, `-reason` - - `Result281`: `+reason` `-message`, `-status`, `-task_id` - - `Result282`: `+errors` `-adcp_error`, `-adcp_major_version`, `-adcp_version`, `-affected_packages`, `-available_actions`, `-context_id`, `-currency`, `-governance_context`, `-implementation_date`, `-invoice_recipient`, `-media_buy_id`, `-media_buy_status`, `-payload`, `-push_notification_config`, `-replayed`, `-revision`, `-sandbox`, `-timestamp`, `-total_budget`, `-valid_actions` - - `Result291`: `+reason` `-errors`, `-message`, `-status`, `-task_id` - - `Result292`: `+message`, `+status`, `+task_id` `-attribution_window`, `-currency`, `-media_buy_deliveries`, `-next_expected_at`, `-notification_type`, `-partial_data`, `-reporting_period`, `-sandbox`, `-sequence_number`, `-unavailable_count` - - `Result577`: `+estimate`, `+expires_at`, `+mode` `-errors` - - `Result579`: `+adcp_error`, `+adcp_major_version`, `+adcp_version`, `+context_id`, `+errors`, `+governance_context`, `+message`, `+payload`, `+push_notification_config`, `+replayed`, `+status`, `+task_id`, `+timestamp` `-current_step`, `-percentage`, `-step_number`, `-total_steps` - - `Result580`: `+current_step`, `+percentage`, `+step_number`, `+total_steps` `-errors`, `-reason` - - `Result581`: `+reason` `-message`, `-status`, `-task_id` - - `Result582`: `+errors` `-adcp_error`, `-adcp_major_version`, `-adcp_version`, `-context_id`, `-creatives`, `-dry_run`, `-governance_context`, `-payload`, `-push_notification_config`, `-replayed`, `-sandbox`, `-timestamp` - - `Result586`: `+adcp_error`, `+adcp_major_version`, `+adcp_version`, `+context_id`, `+errors`, `+governance_context`, `+message`, `+payload`, `+push_notification_config`, `+replayed`, `+status`, `+task_id`, `+timestamp` `-creatives_processed`, `-creatives_total`, `-current_step`, `-percentage`, `-step_number`, `-total_steps` - - `Result587`: `+creatives_processed`, `+creatives_total`, `+current_step`, `+percentage`, `+step_number`, `+total_steps` `-reason` - - `Result588`: `+reason` `-errors`, `-message`, `-status`, `-task_id` - - `Result589`: `+errors` `-adcp_error`, `-adcp_major_version`, `-adcp_version`, `-catalogs`, `-context_id`, `-dry_run`, `-governance_context`, `-payload`, `-push_notification_config`, `-replayed`, `-sandbox`, `-timestamp` - - `Result590`: `+catalogs`, `+dry_run`, `+sandbox` `-errors` - - `Result592`: `+adcp_error`, `+adcp_major_version`, `+adcp_version`, `+context_id`, `+errors`, `+governance_context`, `+message`, `+payload`, `+push_notification_config`, `+replayed`, `+status`, `+task_id`, `+timestamp` `-catalogs_processed`, `-catalogs_total`, `-current_step`, `-items_processed`, `-items_total`, `-percentage`, `-step_number`, `-total_steps` - - `Result593`: `+catalogs_processed`, `+catalogs_total`, `+current_step`, `+items_processed`, `+items_total`, `+percentage`, `+step_number`, `+total_steps` `-reason` - - `Result594`: `+reason` `-errors`, `-message`, `-status`, `-task_id` - - `TaskType`: `+get_products` -- `bundled/protocol/list_tasks_request.py` - - **classes added**: Account, Account38, AiTool, Brand, BrandKitOverride, C2pa, C2paAction, Colors, DataSubjectContestation, DeclaredBy, DigitalSourceType, Disclosure, EmbeddedProvenanceItem, HumanOversight, Jurisdiction, Logo, MediaType, Method, Persistence, Position, Provenance, RenderGuidance, Result, Role, VerificationItem, VerifyAgent, VerifyAgent1213, Watermark - - `ListTasksRequest`: `+account` - - `TaskType`: `+get_products` -- `bundled/protocol/list_tasks_response.py` - - `TaskType`: `+get_products` -- `bundled/signals/get_signals_response.py` - - **classes added**: SignalId9 - - **classes removed**: SignalId3 -- `core/provenance.py` - - **classes added**: VerifyAgent1585 - - **classes removed**: VerifyAgent1581 -- `core/signal_id.py` - - **classes added**: SignalId57, SignalId58 - - **classes removed**: SignalId51, SignalId52 -- `core/tasks_get_request.py` - - `TasksGetRequest`: `+account` -- `core/tasks_list_request.py` - - `TasksListRequest`: `+account` -- `enums/task_type.py` - - `TaskType`: `+get_products` -- `protocol/get_task_status_request.py` - - `GetTaskStatusRequest`: `+account` -- `protocol/list_tasks_request.py` - - `ListTasksRequest`: `+account` +- `creative/sync_creatives_response.py` + - `Creative`: `+account`, `+assigned_to`, `+assignment_errors`, `+changes`, `+expires_at`, `+platform_id`, `+preview_url`, `+status`, `+warnings` +- `media_buy/create_media_buy_response.py` + - `CreateMediaBuyResponse1`: `-buyer_ref` diff --git a/scripts/post_generate_fixes.py b/scripts/post_generate_fixes.py index a8576a0f..eeac76bb 100644 --- a/scripts/post_generate_fixes.py +++ b/scripts/post_generate_fixes.py @@ -2403,7 +2403,6 @@ class CreateMediaBuyResponse1(AdcpVersionEnvelope): model_config = ConfigDict(extra='allow') media_buy_id: str packages: list[package_1.Package] - buyer_ref: str | None = None confirmed_at: AwareDatetime | None revision: int media_buy_status: media_buy_status_1.MediaBuyStatus | None = None @@ -2626,14 +2625,27 @@ class SyncCatalogsResponse2(AdcpVersionEnvelope): "class Creative(", common_header + """ +from pydantic import AwareDatetime + +from ..core.account import Account from ..enums import creative_action +from ..enums import creative_status class Creative(AdcpVersionEnvelope): model_config = ConfigDict(extra='allow') creative_id: str action: creative_action.CreativeAction | str + account: Account | None = None + status: creative_status.CreativeStatus | str | None = None + platform_id: str | None = None + changes: list[str] | None = None errors: list[error_1.Error] | None = None + warnings: list[str] | None = None + preview_url: str | None = None + expires_at: AwareDatetime | None = None + assigned_to: list[str] | None = None + assignment_errors: dict[str, str] | None = None class SyncCreativesResponse1(AdcpVersionEnvelope): diff --git a/src/adcp/types/generated_poc/creative/sync_creatives_response.py b/src/adcp/types/generated_poc/creative/sync_creatives_response.py index 805e47bb..8bab064d 100644 --- a/src/adcp/types/generated_poc/creative/sync_creatives_response.py +++ b/src/adcp/types/generated_poc/creative/sync_creatives_response.py @@ -1,6 +1,6 @@ # generated by datamodel-codegen: # filename: creative/sync_creatives_response.json -# timestamp: 2026-05-24T21:27:05+00:00 +# timestamp: 2026-06-06T16:15:23+00:00 from __future__ import annotations @@ -16,14 +16,27 @@ from ..core import error as error_1 +from pydantic import AwareDatetime + +from ..core.account import Account from ..enums import creative_action +from ..enums import creative_status class Creative(AdcpVersionEnvelope): model_config = ConfigDict(extra='allow') creative_id: str action: creative_action.CreativeAction | str + account: Account | None = None + status: creative_status.CreativeStatus | str | None = None + platform_id: str | None = None + changes: list[str] | None = None errors: list[error_1.Error] | None = None + warnings: list[str] | None = None + preview_url: str | None = None + expires_at: AwareDatetime | None = None + assigned_to: list[str] | None = None + assignment_errors: dict[str, str] | None = None class SyncCreativesResponse1(AdcpVersionEnvelope): diff --git a/src/adcp/types/generated_poc/media_buy/create_media_buy_response.py b/src/adcp/types/generated_poc/media_buy/create_media_buy_response.py index 8c3fa836..0f07ebfb 100644 --- a/src/adcp/types/generated_poc/media_buy/create_media_buy_response.py +++ b/src/adcp/types/generated_poc/media_buy/create_media_buy_response.py @@ -1,6 +1,6 @@ # generated by datamodel-codegen: # filename: media_buy/create_media_buy_response.json -# timestamp: 2026-05-28T10:34:10+00:00 +# timestamp: 2026-06-06T16:15:23+00:00 from __future__ import annotations @@ -27,7 +27,6 @@ class CreateMediaBuyResponse1(AdcpVersionEnvelope): model_config = ConfigDict(extra='allow') media_buy_id: str packages: list[package_1.Package] - buyer_ref: str | None = None confirmed_at: AwareDatetime | None revision: int media_buy_status: media_buy_status_1.MediaBuyStatus | None = None diff --git a/tests/test_code_generation.py b/tests/test_code_generation.py index be3e6d91..bea58370 100644 --- a/tests/test_code_generation.py +++ b/tests/test_code_generation.py @@ -165,6 +165,47 @@ def test_format_type_structure(): assert "description" in model_fields +def test_sync_creatives_response_creative_covers_all_spec_fields(): + """SyncCreativesResponse `Creative` must type every spec property. + + The per-creative result item in sync-creatives-response.json + (oneOf[0].properties.creatives.items) defines 12 properties. The SDK + previously emitted only creative_id, action, and errors, dropping the 9 + optional fields. All 12 must be typed for callers to read them without + falling back to raw dicts. + """ + from adcp.types.generated_poc.creative.sync_creatives_response import Creative + + spec_fields = { + "account", + "action", + "assigned_to", + "assignment_errors", + "changes", + "creative_id", + "errors", + "expires_at", + "platform_id", + "preview_url", + "status", + "warnings", + } + assert spec_fields <= set(Creative.model_fields) + + +def test_create_media_buy_response_arm0_omits_buyer_ref(): + """CreateMediaBuyResponse1 must not declare buyer_ref. + + buyer_ref appears only on the create-media-buy *request* schema; it was + removed from the response schema before 3.0 GA and is absent in rc.9. + """ + from adcp.types.generated_poc.media_buy.create_media_buy_response import ( + CreateMediaBuyResponse1, + ) + + assert "buyer_ref" not in CreateMediaBuyResponse1.model_fields + + def test_no_request_response_rootmodels(): """Guard: Request/Response types must NOT be RootModel classes.