adcp 2.3.0__tar.gz → 2.4.0__tar.gz

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 (181) hide show
  1. {adcp-2.3.0/src/adcp.egg-info → adcp-2.4.0}/PKG-INFO +1 -1
  2. {adcp-2.3.0 → adcp-2.4.0}/pyproject.toml +1 -1
  3. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/__init__.py +1 -1
  4. adcp-2.4.0/src/adcp/types/generated.py +119 -0
  5. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/__init__.py +1 -1
  6. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/activate_signal_request.py +5 -5
  7. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/activate_signal_response.py +9 -9
  8. adcp-2.4.0/src/adcp/types/generated_poc/activation_key.py +30 -0
  9. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/adagents.py +46 -46
  10. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/asset_type.py +19 -19
  11. adcp-2.4.0/src/adcp/types/generated_poc/audio_asset.py +26 -0
  12. adcp-2.4.0/src/adcp/types/generated_poc/brand_manifest.py +260 -0
  13. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/build_creative_request.py +6 -6
  14. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/build_creative_response.py +9 -9
  15. adcp-2.4.0/src/adcp/types/generated_poc/channels.py +19 -0
  16. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/cpc_option.py +12 -8
  17. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/cpcv_option.py +12 -8
  18. adcp-2.4.0/src/adcp/types/generated_poc/cpm_auction_option.py +58 -0
  19. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/cpm_fixed_option.py +12 -8
  20. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/cpp_option.py +17 -13
  21. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/cpv_option.py +16 -12
  22. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/create_media_buy_request.py +29 -29
  23. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/create_media_buy_response.py +11 -11
  24. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/creative_asset.py +13 -13
  25. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/creative_assignment.py +4 -4
  26. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/creative_manifest.py +4 -4
  27. adcp-2.4.0/src/adcp/types/generated_poc/creative_policy.py +34 -0
  28. adcp-2.4.0/src/adcp/types/generated_poc/creative_status.py +14 -0
  29. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/css_asset.py +3 -3
  30. adcp-2.4.0/src/adcp/types/generated_poc/daast_asset.py +76 -0
  31. adcp-2.4.0/src/adcp/types/generated_poc/delivery_metrics.py +111 -0
  32. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/delivery_type.py +3 -3
  33. adcp-2.4.0/src/adcp/types/generated_poc/deployment.py +78 -0
  34. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/destination.py +10 -10
  35. adcp-2.4.0/src/adcp/types/generated_poc/error.py +29 -0
  36. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/flat_rate_option.py +16 -16
  37. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/format.py +70 -70
  38. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/format_id.py +3 -3
  39. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/frequency_cap.py +3 -3
  40. adcp-2.4.0/src/adcp/types/generated_poc/frequency_cap_scope.py +16 -0
  41. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/get_media_buy_delivery_request.py +21 -21
  42. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/get_media_buy_delivery_response.py +46 -46
  43. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/get_products_request.py +23 -23
  44. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/get_products_response.py +5 -5
  45. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/get_signals_request.py +19 -19
  46. adcp-2.4.0/src/adcp/types/generated_poc/get_signals_response.py +65 -0
  47. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/html_asset.py +3 -3
  48. adcp-2.4.0/src/adcp/types/generated_poc/identifier_types.py +29 -0
  49. adcp-2.4.0/src/adcp/types/generated_poc/image_asset.py +23 -0
  50. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/javascript_asset.py +7 -7
  51. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/list_authorized_properties_request.py +5 -5
  52. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/list_authorized_properties_response.py +9 -9
  53. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/list_creative_formats_request.py +22 -22
  54. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/list_creative_formats_response.py +11 -11
  55. adcp-2.4.0/src/adcp/types/generated_poc/list_creatives_request.py +154 -0
  56. adcp-2.4.0/src/adcp/types/generated_poc/list_creatives_response.py +234 -0
  57. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/markdown_asset.py +7 -7
  58. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/measurement.py +9 -9
  59. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/media_buy.py +8 -8
  60. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/media_buy_status.py +5 -5
  61. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/pacing.py +4 -4
  62. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/package.py +8 -8
  63. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/package_request.py +7 -7
  64. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/package_status.py +5 -5
  65. adcp-2.4.0/src/adcp/types/generated_poc/performance_feedback.py +89 -0
  66. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/placement.py +4 -4
  67. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/preview_creative_request.py +28 -28
  68. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/preview_creative_response.py +31 -31
  69. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/preview_render.py +36 -28
  70. adcp-2.4.0/src/adcp/types/generated_poc/pricing_model.py +17 -0
  71. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/product.py +32 -31
  72. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/promoted_offerings.py +29 -29
  73. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/promoted_products.py +3 -3
  74. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/property.py +18 -18
  75. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/protocol_envelope.py +9 -9
  76. adcp-2.4.0/src/adcp/types/generated_poc/provide_performance_feedback_request.py +85 -0
  77. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/provide_performance_feedback_response.py +9 -9
  78. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/publisher_identifier_types.py +6 -6
  79. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/push_notification_config.py +9 -9
  80. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/reporting_capabilities.py +21 -21
  81. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/response.py +5 -5
  82. adcp-2.4.0/src/adcp/types/generated_poc/standard_format_ids.py +45 -0
  83. adcp-2.4.0/src/adcp/types/generated_poc/sub_asset.py +55 -0
  84. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/sync_creatives_request.py +11 -11
  85. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/sync_creatives_response.py +23 -23
  86. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/targeting.py +9 -9
  87. adcp-2.4.0/src/adcp/types/generated_poc/task_status.py +19 -0
  88. adcp-2.4.0/src/adcp/types/generated_poc/task_type.py +15 -0
  89. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/tasks_get_request.py +5 -5
  90. adcp-2.4.0/src/adcp/types/generated_poc/tasks_get_response.py +112 -0
  91. adcp-2.4.0/src/adcp/types/generated_poc/tasks_list_request.py +121 -0
  92. adcp-2.4.0/src/adcp/types/generated_poc/tasks_list_response.py +122 -0
  93. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/text_asset.py +3 -3
  94. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/update_media_buy_request.py +27 -27
  95. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/update_media_buy_response.py +11 -11
  96. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/url_asset.py +7 -7
  97. adcp-2.4.0/src/adcp/types/generated_poc/vast_asset.py +86 -0
  98. adcp-2.4.0/src/adcp/types/generated_poc/vcpm_auction_option.py +61 -0
  99. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/vcpm_fixed_option.py +12 -8
  100. adcp-2.4.0/src/adcp/types/generated_poc/video_asset.py +28 -0
  101. adcp-2.4.0/src/adcp/types/generated_poc/webhook_asset.py +65 -0
  102. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/webhook_payload.py +18 -18
  103. {adcp-2.3.0 → adcp-2.4.0/src/adcp.egg-info}/PKG-INFO +1 -1
  104. adcp-2.3.0/src/adcp/types/generated.py +0 -614
  105. adcp-2.3.0/src/adcp/types/generated_poc/activation_key.py +0 -30
  106. adcp-2.3.0/src/adcp/types/generated_poc/audio_asset.py +0 -26
  107. adcp-2.3.0/src/adcp/types/generated_poc/brand_manifest.py +0 -260
  108. adcp-2.3.0/src/adcp/types/generated_poc/channels.py +0 -19
  109. adcp-2.3.0/src/adcp/types/generated_poc/cpm_auction_option.py +0 -54
  110. adcp-2.3.0/src/adcp/types/generated_poc/creative_policy.py +0 -34
  111. adcp-2.3.0/src/adcp/types/generated_poc/creative_status.py +0 -14
  112. adcp-2.3.0/src/adcp/types/generated_poc/daast_asset.py +0 -76
  113. adcp-2.3.0/src/adcp/types/generated_poc/delivery_metrics.py +0 -111
  114. adcp-2.3.0/src/adcp/types/generated_poc/deployment.py +0 -78
  115. adcp-2.3.0/src/adcp/types/generated_poc/error.py +0 -29
  116. adcp-2.3.0/src/adcp/types/generated_poc/frequency_cap_scope.py +0 -16
  117. adcp-2.3.0/src/adcp/types/generated_poc/get_signals_response.py +0 -65
  118. adcp-2.3.0/src/adcp/types/generated_poc/identifier_types.py +0 -29
  119. adcp-2.3.0/src/adcp/types/generated_poc/image_asset.py +0 -23
  120. adcp-2.3.0/src/adcp/types/generated_poc/list_creatives_request.py +0 -154
  121. adcp-2.3.0/src/adcp/types/generated_poc/list_creatives_response.py +0 -234
  122. adcp-2.3.0/src/adcp/types/generated_poc/performance_feedback.py +0 -89
  123. adcp-2.3.0/src/adcp/types/generated_poc/pricing_model.py +0 -17
  124. adcp-2.3.0/src/adcp/types/generated_poc/provide_performance_feedback_request.py +0 -85
  125. adcp-2.3.0/src/adcp/types/generated_poc/standard_format_ids.py +0 -45
  126. adcp-2.3.0/src/adcp/types/generated_poc/sub_asset.py +0 -55
  127. adcp-2.3.0/src/adcp/types/generated_poc/task_status.py +0 -19
  128. adcp-2.3.0/src/adcp/types/generated_poc/task_type.py +0 -15
  129. adcp-2.3.0/src/adcp/types/generated_poc/tasks_get_response.py +0 -112
  130. adcp-2.3.0/src/adcp/types/generated_poc/tasks_list_request.py +0 -121
  131. adcp-2.3.0/src/adcp/types/generated_poc/tasks_list_response.py +0 -122
  132. adcp-2.3.0/src/adcp/types/generated_poc/vast_asset.py +0 -86
  133. adcp-2.3.0/src/adcp/types/generated_poc/vcpm_auction_option.py +0 -57
  134. adcp-2.3.0/src/adcp/types/generated_poc/video_asset.py +0 -28
  135. adcp-2.3.0/src/adcp/types/generated_poc/webhook_asset.py +0 -65
  136. {adcp-2.3.0 → adcp-2.4.0}/LICENSE +0 -0
  137. {adcp-2.3.0 → adcp-2.4.0}/README.md +0 -0
  138. {adcp-2.3.0 → adcp-2.4.0}/setup.cfg +0 -0
  139. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/__main__.py +0 -0
  140. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/adagents.py +0 -0
  141. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/client.py +0 -0
  142. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/config.py +0 -0
  143. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/exceptions.py +0 -0
  144. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/protocols/__init__.py +0 -0
  145. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/protocols/a2a.py +0 -0
  146. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/protocols/base.py +0 -0
  147. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/protocols/mcp.py +0 -0
  148. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/py.typed +0 -0
  149. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/simple.py +0 -0
  150. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/testing/__init__.py +0 -0
  151. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/testing/test_helpers.py +0 -0
  152. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/__init__.py +0 -0
  153. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/aliases.py +0 -0
  154. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/base.py +0 -0
  155. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/core.py +0 -0
  156. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/brand_manifest_ref.py +0 -0
  157. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/index.py +0 -0
  158. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/pricing_option.py +0 -0
  159. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/types/generated_poc/start_timing.py +0 -0
  160. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/utils/__init__.py +0 -0
  161. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/utils/operation_id.py +0 -0
  162. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/utils/preview_cache.py +0 -0
  163. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/utils/response_parser.py +0 -0
  164. {adcp-2.3.0 → adcp-2.4.0}/src/adcp/validation.py +0 -0
  165. {adcp-2.3.0 → adcp-2.4.0}/src/adcp.egg-info/SOURCES.txt +0 -0
  166. {adcp-2.3.0 → adcp-2.4.0}/src/adcp.egg-info/dependency_links.txt +0 -0
  167. {adcp-2.3.0 → adcp-2.4.0}/src/adcp.egg-info/entry_points.txt +0 -0
  168. {adcp-2.3.0 → adcp-2.4.0}/src/adcp.egg-info/requires.txt +0 -0
  169. {adcp-2.3.0 → adcp-2.4.0}/src/adcp.egg-info/top_level.txt +0 -0
  170. {adcp-2.3.0 → adcp-2.4.0}/tests/test_adagents.py +0 -0
  171. {adcp-2.3.0 → adcp-2.4.0}/tests/test_cli.py +0 -0
  172. {adcp-2.3.0 → adcp-2.4.0}/tests/test_client.py +0 -0
  173. {adcp-2.3.0 → adcp-2.4.0}/tests/test_code_generation.py +0 -0
  174. {adcp-2.3.0 → adcp-2.4.0}/tests/test_discriminated_unions.py +0 -0
  175. {adcp-2.3.0 → adcp-2.4.0}/tests/test_format_id_validation.py +0 -0
  176. {adcp-2.3.0 → adcp-2.4.0}/tests/test_helpers.py +0 -0
  177. {adcp-2.3.0 → adcp-2.4.0}/tests/test_preview_html.py +0 -0
  178. {adcp-2.3.0 → adcp-2.4.0}/tests/test_protocols.py +0 -0
  179. {adcp-2.3.0 → adcp-2.4.0}/tests/test_response_parser.py +0 -0
  180. {adcp-2.3.0 → adcp-2.4.0}/tests/test_simple_api.py +0 -0
  181. {adcp-2.3.0 → adcp-2.4.0}/tests/test_type_aliases.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: adcp
3
- Version: 2.3.0
3
+ Version: 2.4.0
4
4
  Summary: Official Python client for the Ad Context Protocol (AdCP)
5
5
  Author-email: AdCP Community <maintainers@adcontextprotocol.org>
6
6
  License: Apache-2.0
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "adcp"
7
- version = "2.3.0"
7
+ version = "2.4.0"
8
8
  description = "Official Python client for the Ad Context Protocol (AdCP)"
9
9
  authors = [
10
10
  {name = "AdCP Community", email = "maintainers@adcontextprotocol.org"}
@@ -136,7 +136,7 @@ from adcp.validation import (
136
136
  validate_publisher_properties_item,
137
137
  )
138
138
 
139
- __version__ = "2.3.0"
139
+ __version__ = "2.4.0"
140
140
 
141
141
  __all__ = [
142
142
  # Client classes
@@ -0,0 +1,119 @@
1
+ """Generated AdCP types.
2
+
3
+ Auto-generated by datamodel-code-generator from JSON schemas.
4
+ DO NOT EDIT MANUALLY.
5
+
6
+ Generated from: https://github.com/adcontextprotocol/adcp/tree/main/schemas
7
+ Generation date: 2025-11-18 03:04:43 UTC
8
+ """
9
+
10
+ from __future__ import annotations
11
+
12
+ # Import all types from generated_poc modules
13
+ from adcp.types.generated_poc.activate_signal_request import ActivateSignalRequest
14
+ from adcp.types.generated_poc.activate_signal_response import ActivateSignalResponse, ActivateSignalResponse1, ActivateSignalResponse2
15
+ from adcp.types.generated_poc.activation_key import ActivationKey1, ActivationKey2
16
+ from adcp.types.generated_poc.adagents import AuthorizedAgents, AuthorizedAgents1, AuthorizedAgents2, AuthorizedAgents3, AuthorizedSalesAgents, Contact, PropertyId, PropertyTag, PublisherProperties, PublisherProperties1, Tags
17
+ from adcp.types.generated_poc.asset_type import AssetTypeSchema, ContentLength, Dimensions, Duration, FileSize, Quality, Requirements, Type
18
+ from adcp.types.generated_poc.audio_asset import AudioAsset
19
+ from adcp.types.generated_poc.brand_manifest import Asset, Asset1, AssetType, BrandManifest1, BrandManifest2, Colors, Disclaimer, FeedFormat, Fonts, Logo, Metadata, ProductCatalog, ProductCatalog1, UpdateFrequency
20
+ from adcp.types.generated_poc.brand_manifest_ref import BrandManifest, BrandManifestReference
21
+ from adcp.types.generated_poc.build_creative_request import BuildCreativeRequest
22
+ from adcp.types.generated_poc.build_creative_response import BuildCreativeResponse, BuildCreativeResponse1, BuildCreativeResponse2
23
+ from adcp.types.generated_poc.channels import AdvertisingChannels
24
+ from adcp.types.generated_poc.cpc_option import CpcPricingOption
25
+ from adcp.types.generated_poc.cpcv_option import CpcvPricingOption
26
+ from adcp.types.generated_poc.cpm_auction_option import CpmAuctionPricingOption, PriceGuidance
27
+ from adcp.types.generated_poc.cpm_fixed_option import CpmFixedRatePricingOption
28
+ from adcp.types.generated_poc.cpp_option import CppPricingOption, Parameters
29
+ from adcp.types.generated_poc.cpv_option import CpvPricingOption, ViewThreshold, ViewThreshold1
30
+ from adcp.types.generated_poc.create_media_buy_request import CreateMediaBuyRequest, ReportingFrequency, ReportingWebhook, RequestedMetric
31
+ from adcp.types.generated_poc.create_media_buy_response import CreateMediaBuyResponse, CreateMediaBuyResponse1, CreateMediaBuyResponse2, Package
32
+ from adcp.types.generated_poc.creative_asset import CreativeAsset, Input
33
+ from adcp.types.generated_poc.creative_assignment import CreativeAssignment
34
+ from adcp.types.generated_poc.creative_manifest import CreativeManifest
35
+ from adcp.types.generated_poc.creative_policy import CoBranding, CreativePolicy, LandingPage
36
+ from adcp.types.generated_poc.creative_status import CreativeStatus
37
+ from adcp.types.generated_poc.css_asset import CssAsset
38
+ from adcp.types.generated_poc.daast_asset import DaastAsset1, DaastAsset2, DaastVersion, TrackingEvent
39
+ from adcp.types.generated_poc.delivery_metrics import DeliveryMetrics, DoohMetrics, QuartileData, VenueBreakdownItem
40
+ from adcp.types.generated_poc.delivery_type import DeliveryType
41
+ from adcp.types.generated_poc.deployment import Deployment1, Deployment2
42
+ from adcp.types.generated_poc.destination import Destination1, Destination2
43
+ from adcp.types.generated_poc.error import Error
44
+ from adcp.types.generated_poc.flat_rate_option import FlatRatePricingOption
45
+ from adcp.types.generated_poc.format import AssetsRequired, AssetsRequired1, Format, FormatCard, FormatCardDetailed, Render, Responsive, Unit
46
+ from adcp.types.generated_poc.format_id import FormatId
47
+ from adcp.types.generated_poc.frequency_cap import FrequencyCap
48
+ from adcp.types.generated_poc.frequency_cap_scope import FrequencyCapScope
49
+ from adcp.types.generated_poc.get_media_buy_delivery_request import GetMediaBuyDeliveryRequest, StatusFilter, StatusFilterEnum
50
+ from adcp.types.generated_poc.get_media_buy_delivery_response import AggregatedTotals, ByPackageItem, DailyBreakdownItem, GetMediaBuyDeliveryResponse, MediaBuyDelivery, NotificationType, ReportingPeriod, Status, Totals
51
+ from adcp.types.generated_poc.get_products_request import Filters, FormatType, GetProductsRequest
52
+ from adcp.types.generated_poc.get_products_response import GetProductsResponse
53
+ from adcp.types.generated_poc.get_signals_request import CatalogType, Country, DeliverTo, GetSignalsRequest
54
+ from adcp.types.generated_poc.get_signals_response import GetSignalsResponse, Pricing, Signal, SignalType
55
+ from adcp.types.generated_poc.html_asset import HtmlAsset
56
+ from adcp.types.generated_poc.identifier_types import PropertyIdentifierTypes
57
+ from adcp.types.generated_poc.image_asset import ImageAsset
58
+ from adcp.types.generated_poc.index import AdcpAssetTypeRegistry
59
+ from adcp.types.generated_poc.javascript_asset import JavascriptAsset, ModuleType
60
+ from adcp.types.generated_poc.list_authorized_properties_request import ListAuthorizedPropertiesRequest, PublisherDomain
61
+ from adcp.types.generated_poc.list_authorized_properties_response import ListAuthorizedPropertiesResponse, PrimaryCountry
62
+ from adcp.types.generated_poc.list_creative_formats_request import ListCreativeFormatsRequest
63
+ from adcp.types.generated_poc.list_creative_formats_response import Capability, CreativeAgent, ListCreativeFormatsResponse
64
+ from adcp.types.generated_poc.list_creatives_request import Direction, Field1, FieldModel, ListCreativesRequest, Pagination, Sort
65
+ from adcp.types.generated_poc.list_creatives_response import AssignedPackage, Assignments, Creative, ListCreativesResponse, Performance, QuerySummary, SortApplied, StatusSummary
66
+ from adcp.types.generated_poc.markdown_asset import MarkdownAsset, MarkdownFlavor
67
+ from adcp.types.generated_poc.measurement import Measurement
68
+ from adcp.types.generated_poc.media_buy import MediaBuy
69
+ from adcp.types.generated_poc.media_buy_status import MediaBuyStatus
70
+ from adcp.types.generated_poc.pacing import Pacing
71
+ from adcp.types.generated_poc.package_request import PackageRequest
72
+ from adcp.types.generated_poc.package_status import PackageStatus
73
+ from adcp.types.generated_poc.performance_feedback import FeedbackSource, MeasurementPeriod, MetricType, PerformanceFeedback
74
+ from adcp.types.generated_poc.placement import Placement
75
+ from adcp.types.generated_poc.preview_creative_request import Input2, OutputFormat, PreviewCreativeRequest, PreviewCreativeRequest1, PreviewCreativeRequest2, Request
76
+ from adcp.types.generated_poc.preview_creative_response import Input4, Preview, Preview1, Preview2, PreviewCreativeResponse, PreviewCreativeResponse1, PreviewCreativeResponse2, Response, Response1, Results, Results1
77
+ from adcp.types.generated_poc.preview_render import Embedding, PreviewRender, PreviewRender1, PreviewRender2, PreviewRender3
78
+ from adcp.types.generated_poc.pricing_model import PricingModel
79
+ from adcp.types.generated_poc.pricing_option import CpcOption, CpcvOption, CpmAuctionOption, CpmFixedOption, CppOption, CpvOption, FlatRateOption, Parameters1, Parameters2, PriceGuidance1, PricingOption, VcpmAuctionOption, VcpmFixedOption
80
+ from adcp.types.generated_poc.product import DeliveryMeasurement, Product, ProductCard, ProductCardDetailed, PublisherProperties3
81
+ from adcp.types.generated_poc.promoted_offerings import AssetSelectors, Offering, PromotedOfferings
82
+ from adcp.types.generated_poc.promoted_products import PromotedProducts
83
+ from adcp.types.generated_poc.property import Identifier, Property, PropertyType, Tag
84
+ from adcp.types.generated_poc.protocol_envelope import ProtocolEnvelope
85
+ from adcp.types.generated_poc.provide_performance_feedback_request import ProvidePerformanceFeedbackRequest
86
+ from adcp.types.generated_poc.provide_performance_feedback_response import ProvidePerformanceFeedbackResponse, ProvidePerformanceFeedbackResponse1, ProvidePerformanceFeedbackResponse2
87
+ from adcp.types.generated_poc.publisher_identifier_types import PublisherIdentifierTypes
88
+ from adcp.types.generated_poc.push_notification_config import Authentication, PushNotificationConfig, Scheme
89
+ from adcp.types.generated_poc.reporting_capabilities import AvailableMetric, AvailableReportingFrequency, ReportingCapabilities
90
+ from adcp.types.generated_poc.response import ProtocolResponse
91
+ from adcp.types.generated_poc.standard_format_ids import StandardFormatIds
92
+ from adcp.types.generated_poc.start_timing import StartTiming
93
+ from adcp.types.generated_poc.sub_asset import SubAsset1, SubAsset2
94
+ from adcp.types.generated_poc.sync_creatives_request import SyncCreativesRequest, ValidationMode
95
+ from adcp.types.generated_poc.sync_creatives_response import Action, SyncCreativesResponse, SyncCreativesResponse1, SyncCreativesResponse2
96
+ from adcp.types.generated_poc.targeting import GeoCountryAnyOfItem, TargetingOverlay
97
+ from adcp.types.generated_poc.task_status import TaskStatus
98
+ from adcp.types.generated_poc.task_type import TaskType
99
+ from adcp.types.generated_poc.tasks_get_request import TasksGetRequest
100
+ from adcp.types.generated_poc.tasks_get_response import Details, Domain, HistoryItem, Progress, TasksGetResponse
101
+ from adcp.types.generated_poc.tasks_list_request import TasksListRequest
102
+ from adcp.types.generated_poc.tasks_list_response import DomainBreakdown, Task, TasksListResponse
103
+ from adcp.types.generated_poc.text_asset import TextAsset
104
+ from adcp.types.generated_poc.update_media_buy_request import Packages, Packages1, Packages2, Packages3, UpdateMediaBuyRequest, UpdateMediaBuyRequest1, UpdateMediaBuyRequest2
105
+ from adcp.types.generated_poc.update_media_buy_response import AffectedPackage, UpdateMediaBuyResponse, UpdateMediaBuyResponse1, UpdateMediaBuyResponse2
106
+ from adcp.types.generated_poc.url_asset import UrlAsset, UrlType
107
+ from adcp.types.generated_poc.vast_asset import VastAsset1, VastAsset2, VastVersion
108
+ from adcp.types.generated_poc.vcpm_auction_option import VcpmAuctionPricingOption
109
+ from adcp.types.generated_poc.vcpm_fixed_option import VcpmFixedRatePricingOption
110
+ from adcp.types.generated_poc.video_asset import VideoAsset
111
+ from adcp.types.generated_poc.webhook_asset import Method, Method1, ResponseType, Security, WebhookAsset
112
+ from adcp.types.generated_poc.webhook_payload import WebhookPayload
113
+
114
+ # Backward compatibility aliases for renamed types
115
+ BrandManifestRef = BrandManifestReference
116
+ Channels = AdvertisingChannels
117
+
118
+ # Explicit exports
119
+ __all__ = ['Action', 'ActivateSignalRequest', 'ActivateSignalResponse', 'ActivateSignalResponse1', 'ActivateSignalResponse2', 'ActivationKey1', 'ActivationKey2', 'AdcpAssetTypeRegistry', 'AdvertisingChannels', 'AffectedPackage', 'AggregatedTotals', 'Asset', 'Asset1', 'AssetSelectors', 'AssetType', 'AssetTypeSchema', 'AssetsRequired', 'AssetsRequired1', 'AssignedPackage', 'Assignments', 'AudioAsset', 'Authentication', 'AuthorizedAgents', 'AuthorizedAgents1', 'AuthorizedAgents2', 'AuthorizedAgents3', 'AuthorizedSalesAgents', 'AvailableMetric', 'AvailableReportingFrequency', 'BrandManifest', 'BrandManifest1', 'BrandManifest2', 'BrandManifestRef', 'BrandManifestReference', 'BuildCreativeRequest', 'BuildCreativeResponse', 'BuildCreativeResponse1', 'BuildCreativeResponse2', 'ByPackageItem', 'Capability', 'CatalogType', 'Channels', 'CoBranding', 'Colors', 'Contact', 'ContentLength', 'Country', 'CpcOption', 'CpcPricingOption', 'CpcvOption', 'CpcvPricingOption', 'CpmAuctionOption', 'CpmAuctionPricingOption', 'CpmFixedOption', 'CpmFixedRatePricingOption', 'CppOption', 'CppPricingOption', 'CpvOption', 'CpvPricingOption', 'CreateMediaBuyRequest', 'CreateMediaBuyResponse', 'CreateMediaBuyResponse1', 'CreateMediaBuyResponse2', 'Creative', 'CreativeAgent', 'CreativeAsset', 'CreativeAssignment', 'CreativeManifest', 'CreativePolicy', 'CreativeStatus', 'CssAsset', 'DaastAsset1', 'DaastAsset2', 'DaastVersion', 'DailyBreakdownItem', 'DeliverTo', 'DeliveryMeasurement', 'DeliveryMetrics', 'DeliveryType', 'Deployment1', 'Deployment2', 'Destination1', 'Destination2', 'Details', 'Dimensions', 'Direction', 'Disclaimer', 'Domain', 'DomainBreakdown', 'DoohMetrics', 'Duration', 'Embedding', 'Error', 'FeedFormat', 'FeedbackSource', 'Field1', 'FieldModel', 'FileSize', 'Filters', 'FlatRateOption', 'FlatRatePricingOption', 'Fonts', 'Format', 'FormatCard', 'FormatCardDetailed', 'FormatId', 'FormatType', 'FrequencyCap', 'FrequencyCapScope', 'GeoCountryAnyOfItem', 'GetMediaBuyDeliveryRequest', 'GetMediaBuyDeliveryResponse', 'GetProductsRequest', 'GetProductsResponse', 'GetSignalsRequest', 'GetSignalsResponse', 'HistoryItem', 'HtmlAsset', 'Identifier', 'ImageAsset', 'Input', 'Input2', 'Input4', 'JavascriptAsset', 'LandingPage', 'ListAuthorizedPropertiesRequest', 'ListAuthorizedPropertiesResponse', 'ListCreativeFormatsRequest', 'ListCreativeFormatsResponse', 'ListCreativesRequest', 'ListCreativesResponse', 'Logo', 'MarkdownAsset', 'MarkdownFlavor', 'Measurement', 'MeasurementPeriod', 'MediaBuy', 'MediaBuyDelivery', 'MediaBuyStatus', 'Metadata', 'Method', 'Method1', 'MetricType', 'ModuleType', 'NotificationType', 'Offering', 'OutputFormat', 'Pacing', 'Package', 'PackageRequest', 'PackageStatus', 'Packages', 'Packages1', 'Packages2', 'Packages3', 'Pagination', 'Parameters', 'Parameters1', 'Parameters2', 'Performance', 'PerformanceFeedback', 'Placement', 'Preview', 'Preview1', 'Preview2', 'PreviewCreativeRequest', 'PreviewCreativeRequest1', 'PreviewCreativeRequest2', 'PreviewCreativeResponse', 'PreviewCreativeResponse1', 'PreviewCreativeResponse2', 'PreviewRender', 'PreviewRender1', 'PreviewRender2', 'PreviewRender3', 'PriceGuidance', 'PriceGuidance1', 'Pricing', 'PricingModel', 'PricingOption', 'PrimaryCountry', 'Product', 'ProductCard', 'ProductCardDetailed', 'ProductCatalog', 'ProductCatalog1', 'Progress', 'PromotedOfferings', 'PromotedProducts', 'Property', 'PropertyId', 'PropertyIdentifierTypes', 'PropertyTag', 'PropertyType', 'ProtocolEnvelope', 'ProtocolResponse', 'ProvidePerformanceFeedbackRequest', 'ProvidePerformanceFeedbackResponse', 'ProvidePerformanceFeedbackResponse1', 'ProvidePerformanceFeedbackResponse2', 'PublisherDomain', 'PublisherIdentifierTypes', 'PublisherProperties', 'PublisherProperties1', 'PublisherProperties3', 'PushNotificationConfig', 'Quality', 'QuartileData', 'QuerySummary', 'Render', 'ReportingCapabilities', 'ReportingFrequency', 'ReportingPeriod', 'ReportingWebhook', 'Request', 'RequestedMetric', 'Requirements', 'Response', 'Response1', 'ResponseType', 'Responsive', 'Results', 'Results1', 'Scheme', 'Security', 'Signal', 'SignalType', 'Sort', 'SortApplied', 'StandardFormatIds', 'StartTiming', 'Status', 'StatusFilter', 'StatusFilterEnum', 'StatusSummary', 'SubAsset1', 'SubAsset2', 'SyncCreativesRequest', 'SyncCreativesResponse', 'SyncCreativesResponse1', 'SyncCreativesResponse2', 'Tag', 'Tags', 'TargetingOverlay', 'Task', 'TaskStatus', 'TaskType', 'TasksGetRequest', 'TasksGetResponse', 'TasksListRequest', 'TasksListResponse', 'TextAsset', 'Totals', 'TrackingEvent', 'Type', 'Unit', 'UpdateFrequency', 'UpdateMediaBuyRequest', 'UpdateMediaBuyRequest1', 'UpdateMediaBuyRequest2', 'UpdateMediaBuyResponse', 'UpdateMediaBuyResponse1', 'UpdateMediaBuyResponse2', 'UrlAsset', 'UrlType', 'ValidationMode', 'VastAsset1', 'VastAsset2', 'VastVersion', 'VcpmAuctionOption', 'VcpmAuctionPricingOption', 'VcpmFixedOption', 'VcpmFixedRatePricingOption', 'VenueBreakdownItem', 'VideoAsset', 'ViewThreshold', 'ViewThreshold1', 'WebhookAsset', 'WebhookPayload']
@@ -1,3 +1,3 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: .schema_temp
3
- # timestamp: 2025-11-15T22:03:55+00:00
3
+ # timestamp: 2025-11-18T03:04:10+00:00
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: activate-signal-request.json
3
- # timestamp: 2025-11-15T22:03:55+00:00
3
+ # timestamp: 2025-11-18T03:04:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -14,21 +14,21 @@ from . import destination
14
14
 
15
15
  class ActivateSignalRequest(AdCPBaseModel):
16
16
  model_config = ConfigDict(
17
- extra="forbid",
17
+ extra='forbid',
18
18
  )
19
19
  context: Annotated[
20
20
  dict[str, Any] | None,
21
21
  Field(
22
- description="Initiator-provided context included in the request payload. Agents must echo this value back unchanged in responses and webhooks. Use for UI/session hints, correlation tokens, or tracking metadata."
22
+ description='Initiator-provided context included in the request payload. Agents must echo this value back unchanged in responses and webhooks. Use for UI/session hints, correlation tokens, or tracking metadata.'
23
23
  ),
24
24
  ] = None
25
25
  destinations: Annotated[
26
26
  list[destination.Destination1 | destination.Destination2],
27
27
  Field(
28
- description="Target destination(s) for activation. If the authenticated caller matches one of these destinations, activation keys will be included in the response.",
28
+ description='Target destination(s) for activation. If the authenticated caller matches one of these destinations, activation keys will be included in the response.',
29
29
  min_length=1,
30
30
  ),
31
31
  ]
32
32
  signal_agent_segment_id: Annotated[
33
- str, Field(description="The universal identifier for the signal to activate")
33
+ str, Field(description='The universal identifier for the signal to activate')
34
34
  ]
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: activate-signal-response.json
3
- # timestamp: 2025-11-15T22:03:55+00:00
3
+ # timestamp: 2025-11-18T03:04:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -14,34 +14,34 @@ from . import deployment, error
14
14
 
15
15
  class ActivateSignalResponse1(AdCPBaseModel):
16
16
  model_config = ConfigDict(
17
- extra="forbid",
17
+ extra='forbid',
18
18
  )
19
19
  context: Annotated[
20
20
  dict[str, Any] | None,
21
21
  Field(
22
- description="Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers."
22
+ description='Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers.'
23
23
  ),
24
24
  ] = None
25
25
  deployments: Annotated[
26
26
  list[deployment.Deployment1 | deployment.Deployment2],
27
- Field(description="Array of deployment results for each destination"),
27
+ Field(description='Array of deployment results for each destination'),
28
28
  ]
29
29
 
30
30
 
31
31
  class ActivateSignalResponse2(AdCPBaseModel):
32
32
  model_config = ConfigDict(
33
- extra="forbid",
33
+ extra='forbid',
34
34
  )
35
35
  context: Annotated[
36
36
  dict[str, Any] | None,
37
37
  Field(
38
- description="Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers."
38
+ description='Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers.'
39
39
  ),
40
40
  ] = None
41
41
  errors: Annotated[
42
42
  list[error.Error],
43
43
  Field(
44
- description="Array of errors explaining why activation failed (e.g., platform connectivity issues, signal definition problems, authentication failures)",
44
+ description='Array of errors explaining why activation failed (e.g., platform connectivity issues, signal definition problems, authentication failures)',
45
45
  min_length=1,
46
46
  ),
47
47
  ]
@@ -51,7 +51,7 @@ class ActivateSignalResponse(RootModel[ActivateSignalResponse1 | ActivateSignalR
51
51
  root: Annotated[
52
52
  ActivateSignalResponse1 | ActivateSignalResponse2,
53
53
  Field(
54
- description="Response payload for activate_signal task. Returns either complete success data OR error information, never both. This enforces atomic operation semantics - the signal is either fully activated or not activated at all.",
55
- title="Activate Signal Response",
54
+ description='Response payload for activate_signal task. Returns either complete success data OR error information, never both. This enforces atomic operation semantics - the signal is either fully activated or not activated at all.',
55
+ title='Activate Signal Response',
56
56
  ),
57
57
  ]
@@ -0,0 +1,30 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: activation-key.json
3
+ # timestamp: 2025-11-18T03:04:10+00:00
4
+
5
+ from __future__ import annotations
6
+
7
+ from typing import Annotated, Literal
8
+
9
+ from adcp.types.base import AdCPBaseModel
10
+ from pydantic import ConfigDict, Field
11
+
12
+
13
+ class ActivationKey1(AdCPBaseModel):
14
+ model_config = ConfigDict(
15
+ extra='forbid',
16
+ )
17
+ segment_id: Annotated[
18
+ str,
19
+ Field(description='The platform-specific segment identifier to use in campaign targeting'),
20
+ ]
21
+ type: Annotated[Literal['segment_id'], Field(description='Segment ID based targeting')]
22
+
23
+
24
+ class ActivationKey2(AdCPBaseModel):
25
+ model_config = ConfigDict(
26
+ extra='forbid',
27
+ )
28
+ key: Annotated[str, Field(description='The targeting parameter key')]
29
+ type: Annotated[Literal['key_value'], Field(description='Key-value pair based targeting')]
30
+ value: Annotated[str, Field(description='The targeting parameter value')]
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: adagents.json
3
- # timestamp: 2025-11-15T22:03:55+00:00
3
+ # timestamp: 2025-11-18T03:04:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -13,21 +13,21 @@ from . import property
13
13
 
14
14
 
15
15
  class PropertyId(RootModel[str]):
16
- root: Annotated[str, Field(pattern="^[a-z0-9_]+$")]
16
+ root: Annotated[str, Field(pattern='^[a-z0-9_]+$')]
17
17
 
18
18
 
19
19
  class AuthorizedAgents(AdCPBaseModel):
20
20
  model_config = ConfigDict(
21
- extra="forbid",
21
+ extra='forbid',
22
22
  )
23
23
  authorization_type: Annotated[
24
- Literal["property_ids"],
25
- Field(description="Discriminator indicating authorization by specific property IDs"),
24
+ Literal['property_ids'],
25
+ Field(description='Discriminator indicating authorization by specific property IDs'),
26
26
  ]
27
27
  authorized_for: Annotated[
28
28
  str,
29
29
  Field(
30
- description="Human-readable description of what this agent is authorized to sell",
30
+ description='Human-readable description of what this agent is authorized to sell',
31
31
  max_length=500,
32
32
  min_length=1,
33
33
  ),
@@ -35,7 +35,7 @@ class AuthorizedAgents(AdCPBaseModel):
35
35
  property_ids: Annotated[
36
36
  list[PropertyId],
37
37
  Field(
38
- description="Property IDs this agent is authorized for. Resolved against the top-level properties array in this file",
38
+ description='Property IDs this agent is authorized for. Resolved against the top-level properties array in this file',
39
39
  min_length=1,
40
40
  ),
41
41
  ]
@@ -48,16 +48,16 @@ class PropertyTag(PropertyId):
48
48
 
49
49
  class AuthorizedAgents1(AdCPBaseModel):
50
50
  model_config = ConfigDict(
51
- extra="forbid",
51
+ extra='forbid',
52
52
  )
53
53
  authorization_type: Annotated[
54
- Literal["property_tags"],
55
- Field(description="Discriminator indicating authorization by property tags"),
54
+ Literal['property_tags'],
55
+ Field(description='Discriminator indicating authorization by property tags'),
56
56
  ]
57
57
  authorized_for: Annotated[
58
58
  str,
59
59
  Field(
60
- description="Human-readable description of what this agent is authorized to sell",
60
+ description='Human-readable description of what this agent is authorized to sell',
61
61
  max_length=500,
62
62
  min_length=1,
63
63
  ),
@@ -65,7 +65,7 @@ class AuthorizedAgents1(AdCPBaseModel):
65
65
  property_tags: Annotated[
66
66
  list[PropertyTag],
67
67
  Field(
68
- description="Tags identifying which properties this agent is authorized for. Resolved against the top-level properties array in this file using tag matching",
68
+ description='Tags identifying which properties this agent is authorized for. Resolved against the top-level properties array in this file using tag matching',
69
69
  min_length=1,
70
70
  ),
71
71
  ]
@@ -74,7 +74,7 @@ class AuthorizedAgents1(AdCPBaseModel):
74
74
 
75
75
  class PublisherProperties(AdCPBaseModel):
76
76
  model_config = ConfigDict(
77
- extra="forbid",
77
+ extra='forbid',
78
78
  )
79
79
  property_ids: Annotated[
80
80
  list[PropertyId],
@@ -87,18 +87,18 @@ class PublisherProperties(AdCPBaseModel):
87
87
  str,
88
88
  Field(
89
89
  description="Domain where the publisher's adagents.json is hosted (e.g., 'cnn.com')",
90
- pattern="^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$",
90
+ pattern='^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$',
91
91
  ),
92
92
  ]
93
93
  selection_type: Annotated[
94
- Literal["by_id"],
95
- Field(description="Discriminator indicating selection by specific property IDs"),
94
+ Literal['by_id'],
95
+ Field(description='Discriminator indicating selection by specific property IDs'),
96
96
  ]
97
97
 
98
98
 
99
99
  class PublisherProperties1(AdCPBaseModel):
100
100
  model_config = ConfigDict(
101
- extra="forbid",
101
+ extra='forbid',
102
102
  )
103
103
  property_tags: Annotated[
104
104
  list[PropertyTag],
@@ -111,28 +111,28 @@ class PublisherProperties1(AdCPBaseModel):
111
111
  str,
112
112
  Field(
113
113
  description="Domain where the publisher's adagents.json is hosted (e.g., 'cnn.com')",
114
- pattern="^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$",
114
+ pattern='^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$',
115
115
  ),
116
116
  ]
117
117
  selection_type: Annotated[
118
- Literal["by_tag"], Field(description="Discriminator indicating selection by property tags")
118
+ Literal['by_tag'], Field(description='Discriminator indicating selection by property tags')
119
119
  ]
120
120
 
121
121
 
122
122
  class AuthorizedAgents3(AdCPBaseModel):
123
123
  model_config = ConfigDict(
124
- extra="forbid",
124
+ extra='forbid',
125
125
  )
126
126
  authorization_type: Annotated[
127
- Literal["publisher_properties"],
127
+ Literal['publisher_properties'],
128
128
  Field(
129
- description="Discriminator indicating authorization for properties from other publisher domains"
129
+ description='Discriminator indicating authorization for properties from other publisher domains'
130
130
  ),
131
131
  ]
132
132
  authorized_for: Annotated[
133
133
  str,
134
134
  Field(
135
- description="Human-readable description of what this agent is authorized to sell",
135
+ description='Human-readable description of what this agent is authorized to sell',
136
136
  max_length=500,
137
137
  min_length=1,
138
138
  ),
@@ -140,7 +140,7 @@ class AuthorizedAgents3(AdCPBaseModel):
140
140
  publisher_properties: Annotated[
141
141
  list[PublisherProperties | PublisherProperties1],
142
142
  Field(
143
- 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",
143
+ 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',
144
144
  min_length=1,
145
145
  ),
146
146
  ]
@@ -149,19 +149,19 @@ class AuthorizedAgents3(AdCPBaseModel):
149
149
 
150
150
  class Contact(AdCPBaseModel):
151
151
  model_config = ConfigDict(
152
- extra="forbid",
152
+ extra='forbid',
153
153
  )
154
154
  domain: Annotated[
155
155
  str | None,
156
156
  Field(
157
- description="Primary domain of the entity managing this file",
158
- pattern="^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$",
157
+ description='Primary domain of the entity managing this file',
158
+ pattern='^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$',
159
159
  ),
160
160
  ] = None
161
161
  email: Annotated[
162
162
  EmailStr | None,
163
163
  Field(
164
- description="Contact email for questions or issues with this authorization file",
164
+ description='Contact email for questions or issues with this authorization file',
165
165
  max_length=255,
166
166
  min_length=1,
167
167
  ),
@@ -177,7 +177,7 @@ class Contact(AdCPBaseModel):
177
177
  seller_id: Annotated[
178
178
  str | None,
179
179
  Field(
180
- description="Seller ID from IAB Tech Lab sellers.json (if applicable)",
180
+ description='Seller ID from IAB Tech Lab sellers.json (if applicable)',
181
181
  max_length=255,
182
182
  min_length=1,
183
183
  ),
@@ -185,7 +185,7 @@ class Contact(AdCPBaseModel):
185
185
  tag_id: Annotated[
186
186
  str | None,
187
187
  Field(
188
- description="TAG Certified Against Fraud ID for verification (if applicable)",
188
+ description='TAG Certified Against Fraud ID for verification (if applicable)',
189
189
  max_length=100,
190
190
  min_length=1,
191
191
  ),
@@ -194,24 +194,24 @@ class Contact(AdCPBaseModel):
194
194
 
195
195
  class Tags(AdCPBaseModel):
196
196
  model_config = ConfigDict(
197
- extra="forbid",
197
+ extra='forbid',
198
198
  )
199
- description: Annotated[str, Field(description="Description of what this tag represents")]
200
- name: Annotated[str, Field(description="Human-readable name for this tag")]
199
+ description: Annotated[str, Field(description='Description of what this tag represents')]
200
+ name: Annotated[str, Field(description='Human-readable name for this tag')]
201
201
 
202
202
 
203
203
  class AuthorizedAgents2(AdCPBaseModel):
204
204
  model_config = ConfigDict(
205
- extra="forbid",
205
+ extra='forbid',
206
206
  )
207
207
  authorization_type: Annotated[
208
- Literal["inline_properties"],
209
- Field(description="Discriminator indicating authorization by inline property definitions"),
208
+ Literal['inline_properties'],
209
+ Field(description='Discriminator indicating authorization by inline property definitions'),
210
210
  ]
211
211
  authorized_for: Annotated[
212
212
  str,
213
213
  Field(
214
- description="Human-readable description of what this agent is authorized to sell",
214
+ description='Human-readable description of what this agent is authorized to sell',
215
215
  max_length=500,
216
216
  min_length=1,
217
217
  ),
@@ -219,7 +219,7 @@ class AuthorizedAgents2(AdCPBaseModel):
219
219
  properties: Annotated[
220
220
  list[property.Property],
221
221
  Field(
222
- description="Specific properties this agent is authorized for (alternative to property_ids/property_tags)",
222
+ description='Specific properties this agent is authorized for (alternative to property_ids/property_tags)',
223
223
  min_length=1,
224
224
  ),
225
225
  ]
@@ -228,39 +228,39 @@ class AuthorizedAgents2(AdCPBaseModel):
228
228
 
229
229
  class AuthorizedSalesAgents(AdCPBaseModel):
230
230
  model_config = ConfigDict(
231
- extra="forbid",
231
+ extra='forbid',
232
232
  )
233
233
  field_schema: Annotated[
234
234
  str | None,
235
- Field(alias="$schema", description="JSON Schema identifier for this adagents.json file"),
236
- ] = "https://adcontextprotocol.org/schemas/v1/adagents.json"
235
+ Field(alias='$schema', description='JSON Schema identifier for this adagents.json file'),
236
+ ] = 'https://adcontextprotocol.org/schemas/v1/adagents.json'
237
237
  authorized_agents: Annotated[
238
238
  list[AuthorizedAgents | AuthorizedAgents1 | AuthorizedAgents2 | AuthorizedAgents3],
239
239
  Field(
240
- description="Array of sales agents authorized to sell inventory for properties in this file",
240
+ description='Array of sales agents authorized to sell inventory for properties in this file',
241
241
  min_length=1,
242
242
  ),
243
243
  ]
244
244
  contact: Annotated[
245
245
  Contact | None,
246
246
  Field(
247
- description="Contact information for the entity managing this adagents.json file (may be publisher or third-party operator)"
247
+ description='Contact information for the entity managing this adagents.json file (may be publisher or third-party operator)'
248
248
  ),
249
249
  ] = None
250
250
  last_updated: Annotated[
251
251
  AwareDatetime | None,
252
- Field(description="ISO 8601 timestamp indicating when this file was last updated"),
252
+ Field(description='ISO 8601 timestamp indicating when this file was last updated'),
253
253
  ] = None
254
254
  properties: Annotated[
255
255
  list[property.Property] | None,
256
256
  Field(
257
- description="Array of all properties covered by this adagents.json file. Same structure as list_authorized_properties response.",
257
+ description='Array of all properties covered by this adagents.json file. Same structure as list_authorized_properties response.',
258
258
  min_length=1,
259
259
  ),
260
260
  ] = None
261
261
  tags: Annotated[
262
262
  dict[str, Tags] | None,
263
263
  Field(
264
- description="Metadata for each tag referenced by properties. Same structure as list_authorized_properties response."
264
+ description='Metadata for each tag referenced by properties. Same structure as list_authorized_properties response.'
265
265
  ),
266
266
  ] = None
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: asset-type.json
3
- # timestamp: 2025-11-15T22:03:55+00:00
3
+ # timestamp: 2025-11-18T03:04:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -47,7 +47,7 @@ class Quality(AdCPBaseModel):
47
47
 
48
48
  class Requirements(AdCPBaseModel):
49
49
  model_config = ConfigDict(
50
- extra="forbid",
50
+ extra='forbid',
51
51
  )
52
52
  content_length: ContentLength | None = None
53
53
  dimensions: Dimensions | None = None
@@ -61,22 +61,22 @@ class Requirements(AdCPBaseModel):
61
61
 
62
62
 
63
63
  class Type(Enum):
64
- image = "image"
65
- video = "video"
66
- audio = "audio"
67
- text = "text"
68
- html = "html"
69
- css = "css"
70
- javascript = "javascript"
71
- vast = "vast"
72
- daast = "daast"
73
- promoted_offerings = "promoted_offerings"
74
- url = "url"
64
+ image = 'image'
65
+ video = 'video'
66
+ audio = 'audio'
67
+ text = 'text'
68
+ html = 'html'
69
+ css = 'css'
70
+ javascript = 'javascript'
71
+ vast = 'vast'
72
+ daast = 'daast'
73
+ promoted_offerings = 'promoted_offerings'
74
+ url = 'url'
75
75
 
76
76
 
77
77
  class AssetTypeSchema(AdCPBaseModel):
78
78
  model_config = ConfigDict(
79
- extra="forbid",
79
+ extra='forbid',
80
80
  )
81
81
  asset_role: Annotated[
82
82
  str,
@@ -86,15 +86,15 @@ class AssetTypeSchema(AdCPBaseModel):
86
86
  ]
87
87
  constraints: Annotated[
88
88
  list[str] | None,
89
- Field(description="Additional constraints or requirements (human-readable)"),
89
+ Field(description='Additional constraints or requirements (human-readable)'),
90
90
  ] = None
91
91
  examples: Annotated[
92
- list[str] | None, Field(description="Example values or descriptions for this asset")
92
+ list[str] | None, Field(description='Example values or descriptions for this asset')
93
93
  ] = None
94
94
  required: Annotated[
95
- bool | None, Field(description="Whether this asset is mandatory for the format")
95
+ bool | None, Field(description='Whether this asset is mandatory for the format')
96
96
  ] = True
97
97
  requirements: Annotated[
98
- Requirements | None, Field(description="Technical requirements for this asset type")
98
+ Requirements | None, Field(description='Technical requirements for this asset type')
99
99
  ] = None
100
- type: Annotated[Type, Field(description="Type of asset")]
100
+ type: Annotated[Type, Field(description='Type of asset')]