adcp 2.13.0__py3-none-any.whl → 2.14.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. adcp/__init__.py +14 -1
  2. adcp/adagents.py +53 -9
  3. adcp/client.py +361 -57
  4. adcp/protocols/mcp.py +1 -3
  5. adcp/types/__init__.py +9 -33
  6. adcp/types/_generated.py +82 -13
  7. adcp/types/aliases.py +23 -0
  8. adcp/types/generated_poc/adagents.py +9 -13
  9. adcp/types/generated_poc/core/activation_key.py +12 -2
  10. adcp/types/generated_poc/core/assets/daast_asset.py +12 -2
  11. adcp/types/generated_poc/core/assets/image_asset.py +9 -5
  12. adcp/types/generated_poc/core/assets/vast_asset.py +12 -2
  13. adcp/types/generated_poc/core/assets/video_asset.py +9 -5
  14. adcp/types/generated_poc/core/async_response_data.py +72 -0
  15. adcp/types/generated_poc/core/brand_manifest_ref.py +35 -0
  16. adcp/types/generated_poc/core/creative_asset.py +4 -6
  17. adcp/types/generated_poc/core/creative_manifest.py +4 -6
  18. adcp/types/generated_poc/core/deployment.py +16 -8
  19. adcp/types/generated_poc/core/destination.py +12 -2
  20. adcp/types/generated_poc/core/format.py +3 -3
  21. adcp/types/generated_poc/core/{webhook_payload.py → mcp_webhook_payload.py} +8 -33
  22. adcp/types/generated_poc/core/pricing_option.py +51 -0
  23. adcp/types/generated_poc/core/product.py +4 -29
  24. adcp/types/generated_poc/core/promoted_offerings.py +5 -21
  25. adcp/types/generated_poc/core/property.py +4 -6
  26. adcp/types/generated_poc/core/publisher_property_selector.py +15 -2
  27. adcp/types/generated_poc/core/push_notification_config.py +1 -4
  28. adcp/types/generated_poc/core/start_timing.py +18 -0
  29. adcp/types/generated_poc/core/sub_asset.py +12 -2
  30. adcp/types/generated_poc/creative/preview_creative_response.py +3 -14
  31. adcp/types/generated_poc/creative/preview_render.py +3 -11
  32. adcp/types/generated_poc/media_buy/create_media_buy_async_response_input_required.py +37 -0
  33. adcp/types/generated_poc/media_buy/create_media_buy_async_response_submitted.py +19 -0
  34. adcp/types/generated_poc/media_buy/create_media_buy_async_response_working.py +31 -0
  35. adcp/types/generated_poc/media_buy/create_media_buy_request.py +7 -26
  36. adcp/types/generated_poc/media_buy/get_media_buy_delivery_response.py +4 -2
  37. adcp/types/generated_poc/media_buy/get_products_async_response_input_required.py +38 -0
  38. adcp/types/generated_poc/media_buy/get_products_async_response_submitted.py +24 -0
  39. adcp/types/generated_poc/media_buy/get_products_async_response_working.py +35 -0
  40. adcp/types/generated_poc/media_buy/get_products_request.py +5 -20
  41. adcp/types/generated_poc/media_buy/list_creatives_response.py +5 -7
  42. adcp/types/generated_poc/media_buy/sync_creatives_async_response_input_required.py +31 -0
  43. adcp/types/generated_poc/media_buy/sync_creatives_async_response_submitted.py +19 -0
  44. adcp/types/generated_poc/media_buy/sync_creatives_async_response_working.py +37 -0
  45. adcp/types/generated_poc/media_buy/update_media_buy_async_response_input_required.py +30 -0
  46. adcp/types/generated_poc/media_buy/update_media_buy_async_response_submitted.py +19 -0
  47. adcp/types/generated_poc/media_buy/update_media_buy_async_response_working.py +31 -0
  48. adcp/types/generated_poc/media_buy/update_media_buy_request.py +4 -14
  49. adcp/types/generated_poc/signals/activate_signal_request.py +2 -2
  50. adcp/types/generated_poc/signals/activate_signal_response.py +2 -2
  51. adcp/types/generated_poc/signals/get_signals_request.py +2 -2
  52. adcp/types/generated_poc/signals/get_signals_response.py +2 -3
  53. adcp/utils/preview_cache.py +6 -4
  54. adcp/webhooks.py +508 -0
  55. {adcp-2.13.0.dist-info → adcp-2.14.0.dist-info}/METADATA +2 -2
  56. {adcp-2.13.0.dist-info → adcp-2.14.0.dist-info}/RECORD +60 -44
  57. adcp/types/generated_poc/core/dimensions.py +0 -18
  58. {adcp-2.13.0.dist-info → adcp-2.14.0.dist-info}/WHEEL +0 -0
  59. {adcp-2.13.0.dist-info → adcp-2.14.0.dist-info}/entry_points.txt +0 -0
  60. {adcp-2.13.0.dist-info → adcp-2.14.0.dist-info}/licenses/LICENSE +0 -0
  61. {adcp-2.13.0.dist-info → adcp-2.14.0.dist-info}/top_level.txt +0 -0
adcp/types/__init__.py CHANGED
@@ -16,11 +16,9 @@ from adcp.types import aliases # noqa: F401
16
16
 
17
17
  # Import all types from generated code
18
18
  from adcp.types._generated import (
19
- # Core request/response types
20
19
  ActivateSignalRequest,
21
20
  ActivateSignalResponse,
22
21
  AggregatedTotals,
23
- # Assets
24
22
  Asset,
25
23
  AssetContentType,
26
24
  AssetSelectors,
@@ -41,7 +39,6 @@ from adcp.types._generated import (
41
39
  Colors,
42
40
  Contact,
43
41
  Country,
44
- # Pricing options
45
42
  CpcPricingOption,
46
43
  CpcvPricingOption,
47
44
  CpmAuctionPricingOption,
@@ -59,7 +56,6 @@ from adcp.types._generated import (
59
56
  CreativeFilters,
60
57
  CreativeManifest,
61
58
  CreativePolicy,
62
- # Enums and constants
63
59
  CreativeStatus,
64
60
  CssAsset,
65
61
  DaastTrackingEvent,
@@ -140,7 +136,6 @@ from adcp.types._generated import (
140
136
  ProductCardDetailed,
141
137
  ProductCatalog,
142
138
  ProductFilters,
143
- Progress,
144
139
  PromotedOfferings,
145
140
  PromotedProducts,
146
141
  Property,
@@ -194,79 +189,56 @@ from adcp.types._generated import (
194
189
  VideoAsset,
195
190
  ViewThreshold,
196
191
  WebhookAsset,
197
- WebhookPayload,
198
192
  WebhookResponseType,
199
193
  )
200
- from adcp.types._generated import (
201
- TaskStatus as GeneratedTaskStatus,
202
- )
203
- from adcp.types._generated import (
204
- _PackageFromPackage as Package,
205
- )
194
+ from adcp.types._generated import TaskStatus as GeneratedTaskStatus
195
+ from adcp.types._generated import _PackageFromPackage as Package
206
196
 
207
197
  # Import semantic aliases for discriminated unions
208
198
  from adcp.types.aliases import (
209
- # Activation responses
210
199
  ActivateSignalErrorResponse,
211
200
  ActivateSignalSuccessResponse,
212
- # Agent deployment aliases
213
201
  AgentDeployment,
214
202
  AgentDestination,
215
- # Authorized agent variants
216
203
  AuthorizedAgent,
217
204
  AuthorizedAgentsByInlineProperties,
218
205
  AuthorizedAgentsByPropertyId,
219
206
  AuthorizedAgentsByPropertyTag,
220
207
  AuthorizedAgentsByPublisherProperties,
221
- # Preview/render aliases
222
208
  BothPreviewRender,
223
- # Build creative responses
224
209
  BuildCreativeErrorResponse,
225
210
  BuildCreativeSuccessResponse,
226
- # Create media buy responses
227
211
  CreateMediaBuyErrorResponse,
228
212
  CreateMediaBuySuccessResponse,
229
- # Deployment union
230
213
  Deployment,
231
- # Destination union
232
214
  Destination,
233
- # Preview renders
234
215
  HtmlPreviewRender,
235
- # Asset aliases
236
216
  InlineDaastAsset,
237
217
  InlineVastAsset,
238
- # SubAsset aliases
239
218
  MediaSubAsset,
240
- # Platform deployment
241
219
  PlatformDeployment,
242
220
  PlatformDestination,
243
- # Preview requests
244
221
  PreviewCreativeFormatRequest,
245
222
  PreviewCreativeInteractiveResponse,
246
223
  PreviewCreativeManifestRequest,
247
224
  PreviewCreativeStaticResponse,
248
- # Publisher property selectors
249
225
  PropertyId,
250
226
  PropertyIdActivationKey,
251
227
  PropertyTag,
252
228
  PropertyTagActivationKey,
253
229
  ProvidePerformanceFeedbackErrorResponse,
254
230
  ProvidePerformanceFeedbackSuccessResponse,
255
- # Publisher properties variants
256
231
  PublisherPropertiesAll,
257
232
  PublisherPropertiesById,
258
233
  PublisherPropertiesByTag,
259
- # Sync responses
234
+ SyncCreativeResult,
260
235
  SyncCreativesErrorResponse,
261
236
  SyncCreativesSuccessResponse,
262
- # Text subassets
263
237
  TextSubAsset,
264
- # Update media buy variants
265
238
  UpdateMediaBuyErrorResponse,
266
239
  UpdateMediaBuyPackagesRequest,
267
240
  UpdateMediaBuyPropertiesRequest,
268
241
  UpdateMediaBuySuccessResponse,
269
- # URL aliases
270
242
  UrlDaastAsset,
271
243
  UrlPreviewRender,
272
244
  UrlVastAsset,
@@ -277,6 +249,9 @@ from adcp.types.aliases import (
277
249
  # Users should import TaskStatus from adcp.types.core directly if they need the core enum
278
250
  from adcp.types.core import AgentConfig, Protocol, TaskResult, WebhookMetadata
279
251
 
252
+ # Re-export webhook payload type for webhook handling
253
+ from adcp.types.generated_poc.core.mcp_webhook_payload import McpWebhookPayload
254
+
280
255
  # Backward compatibility aliases
281
256
  AssetType = AssetContentType # Use AssetContentType instead
282
257
 
@@ -325,7 +300,6 @@ __all__ = [
325
300
  "MediaBuyDelivery",
326
301
  "PreviewCreativeRequest",
327
302
  "PreviewCreativeResponse",
328
- "Progress",
329
303
  "ProtocolEnvelope",
330
304
  "ProtocolResponse",
331
305
  "ProvidePerformanceFeedbackRequest",
@@ -484,12 +458,13 @@ __all__ = [
484
458
  "UrlAsset",
485
459
  "VideoAsset",
486
460
  "WebhookAsset",
487
- "WebhookPayload",
488
461
  # Core types
489
462
  "AgentConfig",
490
463
  "Protocol",
491
464
  "TaskResult",
492
465
  "WebhookMetadata",
466
+ # Webhook types
467
+ "McpWebhookPayload",
493
468
  # Semantic aliases for discriminated unions
494
469
  "ActivateSignalErrorResponse",
495
470
  "ActivateSignalSuccessResponse",
@@ -528,6 +503,7 @@ __all__ = [
528
503
  "PublisherPropertiesByTag",
529
504
  "SyncCreativesErrorResponse",
530
505
  "SyncCreativesSuccessResponse",
506
+ "SyncCreativeResult",
531
507
  "TextSubAsset",
532
508
  "UpdateMediaBuyErrorResponse",
533
509
  "UpdateMediaBuyPackagesRequest",
adcp/types/_generated.py CHANGED
@@ -10,7 +10,7 @@ Auto-generated by datamodel-code-generator from JSON schemas.
10
10
  DO NOT EDIT MANUALLY.
11
11
 
12
12
  Generated from: https://github.com/adcontextprotocol/adcp/tree/main/schemas
13
- Generation date: 2025-11-29 12:12:51 UTC
13
+ Generation date: 2025-12-18 20:00:25 UTC
14
14
  """
15
15
 
16
16
  # ruff: noqa: E501, I001
@@ -28,18 +28,23 @@ from adcp.types.generated_poc.adagents import (
28
28
  Contact,
29
29
  Tags,
30
30
  )
31
- from adcp.types.generated_poc.core.activation_key import ActivationKey1, ActivationKey2
31
+ from adcp.types.generated_poc.core.activation_key import (
32
+ ActivationKey,
33
+ ActivationKey1,
34
+ ActivationKey2,
35
+ )
32
36
  from adcp.types.generated_poc.core.assets.audio_asset import AudioAsset
33
37
  from adcp.types.generated_poc.core.assets.css_asset import CssAsset
34
- from adcp.types.generated_poc.core.assets.daast_asset import DaastAsset1, DaastAsset2
38
+ from adcp.types.generated_poc.core.assets.daast_asset import DaastAsset, DaastAsset1, DaastAsset2
35
39
  from adcp.types.generated_poc.core.assets.html_asset import HtmlAsset
36
40
  from adcp.types.generated_poc.core.assets.image_asset import ImageAsset
37
41
  from adcp.types.generated_poc.core.assets.javascript_asset import JavascriptAsset
38
42
  from adcp.types.generated_poc.core.assets.text_asset import TextAsset
39
43
  from adcp.types.generated_poc.core.assets.url_asset import UrlAsset
40
- from adcp.types.generated_poc.core.assets.vast_asset import VastAsset1, VastAsset2
44
+ from adcp.types.generated_poc.core.assets.vast_asset import VastAsset, VastAsset1, VastAsset2
41
45
  from adcp.types.generated_poc.core.assets.video_asset import VideoAsset
42
46
  from adcp.types.generated_poc.core.assets.webhook_asset import Security, WebhookAsset
47
+ from adcp.types.generated_poc.core.async_response_data import AdcpAsyncResponseData
43
48
  from adcp.types.generated_poc.core.brand_manifest import (
44
49
  Asset,
45
50
  BrandManifest,
@@ -52,6 +57,7 @@ from adcp.types.generated_poc.core.brand_manifest import (
52
57
  ProductCatalog,
53
58
  UpdateFrequency,
54
59
  )
60
+ from adcp.types.generated_poc.core.brand_manifest_ref import BrandManifestReference
55
61
  from adcp.types.generated_poc.core.context import ContextObject
56
62
  from adcp.types.generated_poc.core.creative_asset import CreativeAsset, Input
57
63
  from adcp.types.generated_poc.core.creative_assignment import CreativeAssignment
@@ -64,15 +70,15 @@ from adcp.types.generated_poc.core.delivery_metrics import (
64
70
  QuartileData,
65
71
  VenueBreakdownItem,
66
72
  )
67
- from adcp.types.generated_poc.core.deployment import Deployment1, Deployment2
68
- from adcp.types.generated_poc.core.destination import Destination1, Destination2
69
- from adcp.types.generated_poc.core.dimensions import Dimensions
73
+ from adcp.types.generated_poc.core.deployment import Deployment, Deployment1, Deployment2
74
+ from adcp.types.generated_poc.core.destination import Destination, Destination1, Destination2
70
75
  from adcp.types.generated_poc.core.error import Error
71
76
  from adcp.types.generated_poc.core.ext import ExtensionObject
72
77
  from adcp.types.generated_poc.core.format import (
73
78
  AssetsRequired,
74
79
  AssetsRequired1,
75
- Dimensions2,
80
+ Dimensions,
81
+ Dimensions1,
76
82
  Format,
77
83
  FormatCard,
78
84
  FormatCardDetailed,
@@ -82,6 +88,7 @@ from adcp.types.generated_poc.core.format import (
82
88
  )
83
89
  from adcp.types.generated_poc.core.format_id import FormatId
84
90
  from adcp.types.generated_poc.core.frequency_cap import FrequencyCap
91
+ from adcp.types.generated_poc.core.mcp_webhook_payload import McpWebhookPayload
85
92
  from adcp.types.generated_poc.core.measurement import Measurement
86
93
  from adcp.types.generated_poc.core.media_buy import MediaBuy
87
94
  from adcp.types.generated_poc.core.performance_feedback import (
@@ -90,6 +97,7 @@ from adcp.types.generated_poc.core.performance_feedback import (
90
97
  Status,
91
98
  )
92
99
  from adcp.types.generated_poc.core.placement import Placement
100
+ from adcp.types.generated_poc.core.pricing_option import PricingOption
93
101
  from adcp.types.generated_poc.core.product import (
94
102
  DeliveryMeasurement,
95
103
  Product,
@@ -114,6 +122,7 @@ from adcp.types.generated_poc.core.property_id import PropertyId
114
122
  from adcp.types.generated_poc.core.property_tag import PropertyTag
115
123
  from adcp.types.generated_poc.core.protocol_envelope import ProtocolEnvelope
116
124
  from adcp.types.generated_poc.core.publisher_property_selector import (
125
+ PublisherPropertySelector,
117
126
  PublisherPropertySelector1,
118
127
  PublisherPropertySelector2,
119
128
  PublisherPropertySelector3,
@@ -125,9 +134,9 @@ from adcp.types.generated_poc.core.push_notification_config import (
125
134
  from adcp.types.generated_poc.core.reporting_capabilities import ReportingCapabilities
126
135
  from adcp.types.generated_poc.core.response import ProtocolResponse
127
136
  from adcp.types.generated_poc.core.signal_filters import SignalFilters
128
- from adcp.types.generated_poc.core.sub_asset import SubAsset1, SubAsset2
137
+ from adcp.types.generated_poc.core.start_timing import StartTiming
138
+ from adcp.types.generated_poc.core.sub_asset import SubAsset, SubAsset1, SubAsset2
129
139
  from adcp.types.generated_poc.core.targeting import GeoCountryAnyOfItem, TargetingOverlay
130
- from adcp.types.generated_poc.core.webhook_payload import Progress, WebhookPayload
131
140
  from adcp.types.generated_poc.creative.list_creative_formats_request import (
132
141
  ListCreativeFormatsRequestCreativeAgent,
133
142
  Type,
@@ -213,6 +222,16 @@ from adcp.types.generated_poc.media_buy.build_creative_response import (
213
222
  BuildCreativeResponse1,
214
223
  BuildCreativeResponse2,
215
224
  )
225
+ from adcp.types.generated_poc.media_buy.create_media_buy_async_response_input_required import (
226
+ CreateMediaBuyInputRequired,
227
+ Reason,
228
+ )
229
+ from adcp.types.generated_poc.media_buy.create_media_buy_async_response_submitted import (
230
+ CreateMediaBuySubmitted,
231
+ )
232
+ from adcp.types.generated_poc.media_buy.create_media_buy_async_response_working import (
233
+ CreateMediaBuyWorking,
234
+ )
216
235
  from adcp.types.generated_poc.media_buy.create_media_buy_request import (
217
236
  CreateMediaBuyRequest,
218
237
  ReportingWebhook,
@@ -236,6 +255,15 @@ from adcp.types.generated_poc.media_buy.get_media_buy_delivery_response import (
236
255
  ReportingPeriod,
237
256
  Totals,
238
257
  )
258
+ from adcp.types.generated_poc.media_buy.get_products_async_response_input_required import (
259
+ GetProductsInputRequired,
260
+ )
261
+ from adcp.types.generated_poc.media_buy.get_products_async_response_submitted import (
262
+ GetProductsSubmitted,
263
+ )
264
+ from adcp.types.generated_poc.media_buy.get_products_async_response_working import (
265
+ GetProductsWorking,
266
+ )
239
267
  from adcp.types.generated_poc.media_buy.get_products_request import GetProductsRequest
240
268
  from adcp.types.generated_poc.media_buy.get_products_response import GetProductsResponse
241
269
  from adcp.types.generated_poc.media_buy.list_authorized_properties_request import (
@@ -279,12 +307,30 @@ from adcp.types.generated_poc.media_buy.provide_performance_feedback_response im
279
307
  ProvidePerformanceFeedbackResponse1,
280
308
  ProvidePerformanceFeedbackResponse2,
281
309
  )
310
+ from adcp.types.generated_poc.media_buy.sync_creatives_async_response_input_required import (
311
+ SyncCreativesInputRequired,
312
+ )
313
+ from adcp.types.generated_poc.media_buy.sync_creatives_async_response_submitted import (
314
+ SyncCreativesSubmitted,
315
+ )
316
+ from adcp.types.generated_poc.media_buy.sync_creatives_async_response_working import (
317
+ SyncCreativesWorking,
318
+ )
282
319
  from adcp.types.generated_poc.media_buy.sync_creatives_request import SyncCreativesRequest
283
320
  from adcp.types.generated_poc.media_buy.sync_creatives_response import (
284
321
  SyncCreativesResponse,
285
322
  SyncCreativesResponse1,
286
323
  SyncCreativesResponse2,
287
324
  )
325
+ from adcp.types.generated_poc.media_buy.update_media_buy_async_response_input_required import (
326
+ UpdateMediaBuyInputRequired,
327
+ )
328
+ from adcp.types.generated_poc.media_buy.update_media_buy_async_response_submitted import (
329
+ UpdateMediaBuySubmitted,
330
+ )
331
+ from adcp.types.generated_poc.media_buy.update_media_buy_async_response_working import (
332
+ UpdateMediaBuyWorking,
333
+ )
288
334
  from adcp.types.generated_poc.media_buy.update_media_buy_request import (
289
335
  Packages,
290
336
  Packages1,
@@ -344,9 +390,11 @@ __all__ = [
344
390
  "ActivateSignalResponse",
345
391
  "ActivateSignalResponse1",
346
392
  "ActivateSignalResponse2",
393
+ "ActivationKey",
347
394
  "ActivationKey1",
348
395
  "ActivationKey2",
349
396
  "AdcpAgentCardExtension",
397
+ "AdcpAsyncResponseData",
350
398
  "AdcpDomain",
351
399
  "AdvertisingChannels",
352
400
  "AggregatedTotals",
@@ -370,6 +418,7 @@ __all__ = [
370
418
  "AuthorizedSalesAgents2",
371
419
  "AvailableMetric",
372
420
  "BrandManifest",
421
+ "BrandManifestReference",
373
422
  "BudgetRange",
374
423
  "BudgetRange1",
375
424
  "BuildCreativeRequest",
@@ -389,10 +438,13 @@ __all__ = [
389
438
  "CpmFixedRatePricingOption",
390
439
  "CppPricingOption",
391
440
  "CpvPricingOption",
441
+ "CreateMediaBuyInputRequired",
392
442
  "CreateMediaBuyRequest",
393
443
  "CreateMediaBuyResponse",
394
444
  "CreateMediaBuyResponse1",
395
445
  "CreateMediaBuyResponse2",
446
+ "CreateMediaBuySubmitted",
447
+ "CreateMediaBuyWorking",
396
448
  "Creative",
397
449
  "CreativeAction",
398
450
  "CreativeAgent",
@@ -405,6 +457,7 @@ __all__ = [
405
457
  "CreativeSortField",
406
458
  "CreativeStatus",
407
459
  "CssAsset",
460
+ "DaastAsset",
408
461
  "DaastAsset1",
409
462
  "DaastAsset2",
410
463
  "DaastTrackingEvent",
@@ -415,13 +468,15 @@ __all__ = [
415
468
  "DeliveryMetrics",
416
469
  "DeliveryStatus",
417
470
  "DeliveryType",
471
+ "Deployment",
418
472
  "Deployment1",
419
473
  "Deployment2",
474
+ "Destination",
420
475
  "Destination1",
421
476
  "Destination2",
422
477
  "DimensionUnit",
423
478
  "Dimensions",
424
- "Dimensions2",
479
+ "Dimensions1",
425
480
  "Disclaimer",
426
481
  "DoohMetrics",
427
482
  "Embedding",
@@ -443,8 +498,11 @@ __all__ = [
443
498
  "GeoCountryAnyOfItem",
444
499
  "GetMediaBuyDeliveryRequest",
445
500
  "GetMediaBuyDeliveryResponse",
501
+ "GetProductsInputRequired",
446
502
  "GetProductsRequest",
447
503
  "GetProductsResponse",
504
+ "GetProductsSubmitted",
505
+ "GetProductsWorking",
448
506
  "GetSignalsRequest",
449
507
  "GetSignalsResponse",
450
508
  "HistoryEntryType",
@@ -468,6 +526,7 @@ __all__ = [
468
526
  "ListCreativesResponse",
469
527
  "Logo",
470
528
  "MarkdownFlavor",
529
+ "McpWebhookPayload",
471
530
  "Measurement",
472
531
  "MeasurementPeriod",
473
532
  "MediaBuy",
@@ -505,13 +564,13 @@ __all__ = [
505
564
  "PriceGuidance",
506
565
  "Pricing",
507
566
  "PricingModel",
567
+ "PricingOption",
508
568
  "PrimaryCountry",
509
569
  "Product",
510
570
  "ProductCard",
511
571
  "ProductCardDetailed",
512
572
  "ProductCatalog",
513
573
  "ProductFilters",
514
- "Progress",
515
574
  "PromotedOfferings",
516
575
  "PromotedProducts",
517
576
  "Property",
@@ -530,12 +589,14 @@ __all__ = [
530
589
  "ProvidePerformanceFeedbackResponse2",
531
590
  "PublisherDomain",
532
591
  "PublisherIdentifierTypes",
592
+ "PublisherPropertySelector",
533
593
  "PublisherPropertySelector1",
534
594
  "PublisherPropertySelector2",
535
595
  "PublisherPropertySelector3",
536
596
  "PushNotificationConfig",
537
597
  "QuartileData",
538
598
  "QuerySummary",
599
+ "Reason",
539
600
  "Renders",
540
601
  "Renders1",
541
602
  "ReportingCapabilities",
@@ -557,14 +618,19 @@ __all__ = [
557
618
  "SortApplied",
558
619
  "SortDirection",
559
620
  "StandardFormatIds",
621
+ "StartTiming",
560
622
  "Status",
561
623
  "StatusSummary",
624
+ "SubAsset",
562
625
  "SubAsset1",
563
626
  "SubAsset2",
627
+ "SyncCreativesInputRequired",
564
628
  "SyncCreativesRequest",
565
629
  "SyncCreativesResponse",
566
630
  "SyncCreativesResponse1",
567
631
  "SyncCreativesResponse2",
632
+ "SyncCreativesSubmitted",
633
+ "SyncCreativesWorking",
568
634
  "Tags",
569
635
  "TargetingOverlay",
570
636
  "TaskStatus",
@@ -573,15 +639,19 @@ __all__ = [
573
639
  "Totals",
574
640
  "Type",
575
641
  "UpdateFrequency",
642
+ "UpdateMediaBuyInputRequired",
576
643
  "UpdateMediaBuyRequest",
577
644
  "UpdateMediaBuyRequest1",
578
645
  "UpdateMediaBuyRequest2",
579
646
  "UpdateMediaBuyResponse",
580
647
  "UpdateMediaBuyResponse1",
581
648
  "UpdateMediaBuyResponse2",
649
+ "UpdateMediaBuySubmitted",
650
+ "UpdateMediaBuyWorking",
582
651
  "UrlAsset",
583
652
  "UrlAssetType",
584
653
  "ValidationMode",
654
+ "VastAsset",
585
655
  "VastAsset1",
586
656
  "VastAsset2",
587
657
  "VastTrackingEvent",
@@ -593,7 +663,6 @@ __all__ = [
593
663
  "ViewThreshold",
594
664
  "ViewThreshold1",
595
665
  "WebhookAsset",
596
- "WebhookPayload",
597
666
  "WebhookResponseType",
598
667
  "WebhookSecurityMethod",
599
668
  "_PackageFromPackage",
adcp/types/aliases.py CHANGED
@@ -106,6 +106,11 @@ from adcp.types._generated import (
106
106
  # Import Package from _generated (still uses qualified name for internal reasons)
107
107
  from adcp.types._generated import _PackageFromPackage as Package
108
108
 
109
+ # Import nested types that aren't exported by _generated but are useful for type hints
110
+ from adcp.types.generated_poc.media_buy.sync_creatives_response import (
111
+ Creative as SyncCreativeResultInternal,
112
+ )
113
+
109
114
  # ============================================================================
110
115
  # RESPONSE TYPE ALIASES - Success/Error Discriminated Unions
111
116
  # ============================================================================
@@ -148,6 +153,23 @@ SyncCreativesSuccessResponse = SyncCreativesResponse1
148
153
  SyncCreativesErrorResponse = SyncCreativesResponse2
149
154
  """Error response - sync operation failed."""
150
155
 
156
+ # Sync Creative Result (nested type from SyncCreativesResponse1.creatives[])
157
+ SyncCreativeResult = SyncCreativeResultInternal
158
+ """Result of syncing a single creative - indicates action taken (created, updated, failed, etc.)
159
+
160
+ This is the item type from SyncCreativesSuccessResponse.creatives[]. In TypeScript, this would be:
161
+ type SyncCreativeResult = SyncCreativesSuccessResponse["creatives"][number]
162
+
163
+ Example usage:
164
+ from adcp import SyncCreativeResult, SyncCreativesSuccessResponse
165
+
166
+ def process_result(result: SyncCreativeResult) -> None:
167
+ if result.action == "created":
168
+ print(f"Created creative {result.creative_id}")
169
+ elif result.action == "failed":
170
+ print(f"Failed: {result.errors}")
171
+ """
172
+
151
173
  # Update Media Buy Response Variants
152
174
  UpdateMediaBuySuccessResponse = UpdateMediaBuyResponse1
153
175
  """Success response - media buy updated successfully."""
@@ -716,6 +738,7 @@ __all__ = [
716
738
  # Sync creatives responses
717
739
  "SyncCreativesSuccessResponse",
718
740
  "SyncCreativesErrorResponse",
741
+ "SyncCreativeResult",
719
742
  # Update media buy requests
720
743
  "UpdateMediaBuyPackagesRequest",
721
744
  "UpdateMediaBuyPropertiesRequest",
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: adagents.json
3
- # timestamp: 2025-11-29T12:00:45+00:00
3
+ # timestamp: 2025-12-18T20:00:24+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -19,7 +19,7 @@ class AuthorizedSalesAgents1(AdCPBaseModel):
19
19
  field_schema: Annotated[
20
20
  str | None,
21
21
  Field(alias='$schema', description='JSON Schema identifier for this adagents.json file'),
22
- ] = 'https://adcontextprotocol.org/schemas/adagents.json'
22
+ ] = None
23
23
  authoritative_location: Annotated[
24
24
  AnyUrl,
25
25
  Field(
@@ -156,11 +156,7 @@ class AuthorizedAgents3(AdCPBaseModel):
156
156
  ),
157
157
  ]
158
158
  publisher_properties: Annotated[
159
- list[
160
- publisher_property_selector.PublisherPropertySelector1
161
- | publisher_property_selector.PublisherPropertySelector2
162
- | publisher_property_selector.PublisherPropertySelector3
163
- ],
159
+ list[publisher_property_selector.PublisherPropertySelector],
164
160
  Field(
165
161
  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',
166
162
  min_length=1,
@@ -202,7 +198,7 @@ class AuthorizedSalesAgents2(AdCPBaseModel):
202
198
  field_schema: Annotated[
203
199
  str | None,
204
200
  Field(alias='$schema', description='JSON Schema identifier for this adagents.json file'),
205
- ] = 'https://adcontextprotocol.org/schemas/adagents.json'
201
+ ] = None
206
202
  authorized_agents: Annotated[
207
203
  list[AuthorizedAgents | AuthorizedAgents1 | AuthorizedAgents2 | AuthorizedAgents3],
208
204
  Field(
@@ -242,12 +238,12 @@ class AuthorizedSalesAgents(RootModel[AuthorizedSalesAgents1 | AuthorizedSalesAg
242
238
  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.',
243
239
  examples=[
244
240
  {
245
- '$schema': 'https://adcontextprotocol.org/schemas/adagents.json',
241
+ '$schema': '/schemas/latest/adagents.json',
246
242
  'authoritative_location': 'https://cdn.example.com/adagents/v2/adagents.json',
247
243
  'last_updated': '2025-01-15T10:00:00Z',
248
244
  },
249
245
  {
250
- '$schema': 'https://adcontextprotocol.org/schemas/adagents.json',
246
+ '$schema': '/schemas/latest/adagents.json',
251
247
  'authorized_agents': [
252
248
  {
253
249
  'authorization_type': 'property_tags',
@@ -273,7 +269,7 @@ class AuthorizedSalesAgents(RootModel[AuthorizedSalesAgents1 | AuthorizedSalesAg
273
269
  },
274
270
  },
275
271
  {
276
- '$schema': 'https://adcontextprotocol.org/schemas/adagents.json',
272
+ '$schema': '/schemas/latest/adagents.json',
277
273
  'authorized_agents': [
278
274
  {
279
275
  'authorization_type': 'property_tags',
@@ -338,7 +334,7 @@ class AuthorizedSalesAgents(RootModel[AuthorizedSalesAgents1 | AuthorizedSalesAg
338
334
  },
339
335
  },
340
336
  {
341
- '$schema': 'https://adcontextprotocol.org/schemas/adagents.json',
337
+ '$schema': '/schemas/latest/adagents.json',
342
338
  'authorized_agents': [
343
339
  {
344
340
  'authorization_type': 'property_tags',
@@ -366,7 +362,7 @@ class AuthorizedSalesAgents(RootModel[AuthorizedSalesAgents1 | AuthorizedSalesAg
366
362
  },
367
363
  },
368
364
  {
369
- '$schema': 'https://adcontextprotocol.org/schemas/adagents.json',
365
+ '$schema': '/schemas/latest/adagents.json',
370
366
  'authorized_agents': [
371
367
  {
372
368
  'authorization_type': 'publisher_properties',
@@ -1,13 +1,13 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: core/activation_key.json
3
- # timestamp: 2025-11-29T12:00:45+00:00
3
+ # timestamp: 2025-12-11T15:09:37+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
7
7
  from typing import Annotated, Literal
8
8
 
9
9
  from adcp.types.base import AdCPBaseModel
10
- from pydantic import ConfigDict, Field
10
+ from pydantic import ConfigDict, Field, RootModel
11
11
 
12
12
 
13
13
  class ActivationKey1(AdCPBaseModel):
@@ -28,3 +28,13 @@ class ActivationKey2(AdCPBaseModel):
28
28
  key: Annotated[str, Field(description='The targeting parameter key')]
29
29
  type: Annotated[Literal['key_value'], Field(description='Key-value pair based targeting')]
30
30
  value: Annotated[str, Field(description='The targeting parameter value')]
31
+
32
+
33
+ class ActivationKey(RootModel[ActivationKey1 | ActivationKey2]):
34
+ root: Annotated[
35
+ ActivationKey1 | ActivationKey2,
36
+ Field(
37
+ 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.",
38
+ title='Activation Key',
39
+ ),
40
+ ]
@@ -1,13 +1,13 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: core/assets/daast_asset.json
3
- # timestamp: 2025-11-29T12:00:45+00:00
3
+ # timestamp: 2025-12-11T15:09:37+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
7
7
  from typing import Annotated, Literal
8
8
 
9
9
  from adcp.types.base import AdCPBaseModel
10
- from pydantic import AnyUrl, ConfigDict, Field
10
+ from pydantic import AnyUrl, ConfigDict, Field, RootModel
11
11
 
12
12
  from ...enums import daast_tracking_event
13
13
  from ...enums import daast_version as daast_version_1
@@ -59,3 +59,13 @@ class DaastAsset2(AdCPBaseModel):
59
59
  list[daast_tracking_event.DaastTrackingEvent] | None,
60
60
  Field(description='Tracking events supported by this DAAST tag'),
61
61
  ] = None
62
+
63
+
64
+ class DaastAsset(RootModel[DaastAsset1 | DaastAsset2]):
65
+ root: Annotated[
66
+ DaastAsset1 | DaastAsset2,
67
+ Field(
68
+ description='DAAST (Digital Audio Ad Serving Template) tag for third-party audio ad serving',
69
+ title='DAAST Asset',
70
+ ),
71
+ ]
@@ -1,19 +1,23 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: core/assets/image_asset.json
3
- # timestamp: 2025-11-29T12:00:45+00:00
3
+ # timestamp: 2025-12-18T20:00:24+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
7
7
  from typing import Annotated
8
8
 
9
- from pydantic import AnyUrl, Field
9
+ from adcp.types.base import AdCPBaseModel
10
+ from pydantic import AnyUrl, ConfigDict, Field
10
11
 
11
- from ..dimensions import Dimensions
12
12
 
13
-
14
- class ImageAsset(Dimensions):
13
+ class ImageAsset(AdCPBaseModel):
14
+ model_config = ConfigDict(
15
+ extra='forbid',
16
+ )
15
17
  alt_text: Annotated[str | None, Field(description='Alternative text for accessibility')] = None
16
18
  format: Annotated[
17
19
  str | None, Field(description='Image file format (jpg, png, gif, webp, etc.)')
18
20
  ] = None
21
+ height: Annotated[int, Field(description='Height in pixels', ge=1)]
19
22
  url: Annotated[AnyUrl, Field(description='URL to the image asset')]
23
+ width: Annotated[int, Field(description='Width in pixels', ge=1)]