adcp 3.0.0__py3-none-any.whl → 3.2.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 (243) hide show
  1. adcp/ADCP_VERSION +1 -1
  2. adcp/__init__.py +13 -5
  3. adcp/__main__.py +4 -4
  4. adcp/adagents.py +5 -9
  5. adcp/client.py +14 -12
  6. adcp/protocols/a2a.py +3 -3
  7. adcp/protocols/base.py +2 -2
  8. adcp/protocols/mcp.py +3 -3
  9. adcp/server/base.py +6 -10
  10. adcp/server/content_standards.py +17 -49
  11. adcp/server/governance.py +20 -59
  12. adcp/server/mcp_tools.py +8 -4
  13. adcp/server/proposal.py +1 -3
  14. adcp/server/sponsored_intelligence.py +10 -28
  15. adcp/simple.py +10 -10
  16. adcp/types/__init__.py +14 -6
  17. adcp/types/_generated.py +44 -27
  18. adcp/types/aliases.py +55 -0
  19. adcp/types/base.py +7 -7
  20. adcp/types/generated_poc/{protocols → a2ui}/__init__.py +1 -1
  21. adcp/types/generated_poc/a2ui/component.py +24 -0
  22. adcp/types/generated_poc/a2ui/surface.py +33 -0
  23. adcp/types/generated_poc/account/__init__.py +3 -0
  24. adcp/types/generated_poc/account/list_accounts_request.py +30 -0
  25. adcp/types/generated_poc/account/list_accounts_response.py +30 -0
  26. adcp/types/generated_poc/adagents.py +192 -195
  27. adcp/types/generated_poc/content_standards/artifact.py +69 -69
  28. adcp/types/generated_poc/content_standards/artifact_webhook_payload.py +13 -13
  29. adcp/types/generated_poc/content_standards/calibrate_content_request.py +2 -2
  30. adcp/types/generated_poc/content_standards/calibrate_content_response.py +17 -17
  31. adcp/types/generated_poc/content_standards/content_standards.py +8 -8
  32. adcp/types/generated_poc/content_standards/create_content_standards_request.py +13 -13
  33. adcp/types/generated_poc/content_standards/create_content_standards_response.py +6 -6
  34. adcp/types/generated_poc/content_standards/get_content_standards_request.py +1 -1
  35. adcp/types/generated_poc/content_standards/get_content_standards_response.py +4 -4
  36. adcp/types/generated_poc/content_standards/get_media_buy_artifacts_request.py +14 -14
  37. adcp/types/generated_poc/content_standards/get_media_buy_artifacts_response.py +30 -30
  38. adcp/types/generated_poc/content_standards/list_content_standards_request.py +4 -4
  39. adcp/types/generated_poc/content_standards/list_content_standards_response.py +5 -5
  40. adcp/types/generated_poc/content_standards/update_content_standards_request.py +14 -14
  41. adcp/types/generated_poc/content_standards/update_content_standards_response.py +4 -4
  42. adcp/types/generated_poc/content_standards/validate_content_delivery_request.py +13 -13
  43. adcp/types/generated_poc/content_standards/validate_content_delivery_response.py +16 -16
  44. adcp/types/generated_poc/core/account.py +54 -0
  45. adcp/types/generated_poc/core/activation_key.py +8 -8
  46. adcp/types/generated_poc/core/assets/audio_asset.py +37 -8
  47. adcp/types/generated_poc/core/assets/css_asset.py +2 -2
  48. adcp/types/generated_poc/core/assets/daast_asset.py +18 -18
  49. adcp/types/generated_poc/core/assets/html_asset.py +2 -2
  50. adcp/types/generated_poc/core/assets/image_asset.py +6 -6
  51. adcp/types/generated_poc/core/assets/javascript_asset.py +3 -3
  52. adcp/types/generated_poc/core/assets/text_asset.py +2 -2
  53. adcp/types/generated_poc/core/assets/url_asset.py +3 -3
  54. adcp/types/generated_poc/core/assets/vast_asset.py +18 -18
  55. adcp/types/generated_poc/core/assets/video_asset.py +126 -10
  56. adcp/types/generated_poc/core/assets/webhook_asset.py +9 -9
  57. adcp/types/generated_poc/core/async_response_data.py +2 -2
  58. adcp/types/generated_poc/core/brand_manifest.py +66 -66
  59. adcp/types/generated_poc/core/brand_manifest_ref.py +9 -9
  60. adcp/types/generated_poc/core/context.py +1 -1
  61. adcp/types/generated_poc/core/creative_asset.py +12 -12
  62. adcp/types/generated_poc/core/creative_assignment.py +3 -3
  63. adcp/types/generated_poc/core/creative_filters.py +23 -17
  64. adcp/types/generated_poc/core/creative_manifest.py +4 -4
  65. adcp/types/generated_poc/core/creative_policy.py +4 -4
  66. adcp/types/generated_poc/core/delivery_metrics.py +32 -32
  67. adcp/types/generated_poc/core/deployment.py +20 -20
  68. adcp/types/generated_poc/core/destination.py +11 -11
  69. adcp/types/generated_poc/core/error.py +6 -6
  70. adcp/types/generated_poc/core/ext.py +1 -1
  71. adcp/types/generated_poc/core/format.py +49 -124
  72. adcp/types/generated_poc/core/format_id.py +5 -5
  73. adcp/types/generated_poc/core/frequency_cap.py +2 -2
  74. adcp/types/generated_poc/core/identifier.py +2 -2
  75. adcp/types/generated_poc/core/mcp_webhook_payload.py +10 -10
  76. adcp/types/generated_poc/core/measurement.py +8 -8
  77. adcp/types/generated_poc/core/media_buy.py +12 -8
  78. adcp/types/generated_poc/core/media_buy_features.py +3 -3
  79. adcp/types/generated_poc/core/offering.py +9 -9
  80. adcp/types/generated_poc/core/package.py +8 -8
  81. adcp/types/generated_poc/core/performance_feedback.py +18 -18
  82. adcp/types/generated_poc/core/placement.py +4 -4
  83. adcp/types/generated_poc/core/pricing_option.py +1 -1
  84. adcp/types/generated_poc/core/product.py +27 -21
  85. adcp/types/generated_poc/core/product_allocation.py +5 -5
  86. adcp/types/generated_poc/core/product_filters.py +27 -27
  87. adcp/types/generated_poc/core/promoted_offerings.py +18 -18
  88. adcp/types/generated_poc/core/promoted_products.py +2 -2
  89. adcp/types/generated_poc/core/property.py +10 -10
  90. adcp/types/generated_poc/core/property_id.py +4 -4
  91. adcp/types/generated_poc/core/property_list_ref.py +4 -4
  92. adcp/types/generated_poc/core/property_tag.py +4 -4
  93. adcp/types/generated_poc/core/proposal.py +13 -13
  94. adcp/types/generated_poc/core/protocol_envelope.py +8 -8
  95. adcp/types/generated_poc/core/publisher_property_selector.py +13 -13
  96. adcp/types/generated_poc/core/push_notification_config.py +5 -5
  97. adcp/types/generated_poc/core/reporting_capabilities.py +8 -8
  98. adcp/types/generated_poc/core/reporting_webhook.py +10 -10
  99. adcp/types/generated_poc/core/response.py +4 -4
  100. adcp/types/generated_poc/core/signal_filters.py +5 -5
  101. adcp/types/generated_poc/core/start_timing.py +3 -3
  102. adcp/types/generated_poc/core/sub_asset.py +14 -14
  103. adcp/types/generated_poc/core/targeting.py +17 -10
  104. adcp/types/generated_poc/creative/list_creative_formats_request.py +20 -20
  105. adcp/types/generated_poc/creative/list_creative_formats_response.py +5 -5
  106. adcp/types/generated_poc/creative/preview_creative_request.py +24 -24
  107. adcp/types/generated_poc/creative/preview_creative_response.py +28 -28
  108. adcp/types/generated_poc/creative/preview_render.py +25 -25
  109. adcp/types/generated_poc/enums/adcp_domain.py +4 -4
  110. adcp/types/generated_poc/enums/asset_content_type.py +13 -13
  111. adcp/types/generated_poc/enums/auth_scheme.py +2 -2
  112. adcp/types/generated_poc/enums/available_metric.py +9 -9
  113. adcp/types/generated_poc/enums/channels.py +19 -19
  114. adcp/types/generated_poc/enums/co_branding_requirement.py +3 -3
  115. adcp/types/generated_poc/enums/creative_action.py +5 -5
  116. adcp/types/generated_poc/enums/creative_agent_capability.py +4 -4
  117. adcp/types/generated_poc/enums/creative_sort_field.py +6 -6
  118. adcp/types/generated_poc/enums/creative_status.py +5 -5
  119. adcp/types/generated_poc/enums/daast_tracking_event.py +11 -11
  120. adcp/types/generated_poc/enums/daast_version.py +2 -2
  121. adcp/types/generated_poc/enums/delivery_type.py +2 -2
  122. adcp/types/generated_poc/enums/dimension_unit.py +4 -4
  123. adcp/types/generated_poc/enums/feed_format.py +3 -3
  124. adcp/types/generated_poc/enums/feedback_source.py +4 -4
  125. adcp/types/generated_poc/enums/format_category.py +7 -7
  126. adcp/types/generated_poc/enums/format_id_parameter.py +2 -2
  127. adcp/types/generated_poc/enums/frequency_cap_scope.py +3 -3
  128. adcp/types/generated_poc/enums/geo_level.py +4 -4
  129. adcp/types/generated_poc/enums/history_entry_type.py +2 -2
  130. adcp/types/generated_poc/enums/http_method.py +2 -2
  131. adcp/types/generated_poc/enums/identifier_types.py +19 -19
  132. adcp/types/generated_poc/enums/javascript_module_type.py +3 -3
  133. adcp/types/generated_poc/enums/landing_page_requirement.py +3 -3
  134. adcp/types/generated_poc/enums/markdown_flavor.py +2 -2
  135. adcp/types/generated_poc/enums/media_buy_status.py +4 -4
  136. adcp/types/generated_poc/enums/metric_type.py +8 -8
  137. adcp/types/generated_poc/enums/metro_system.py +5 -5
  138. adcp/types/generated_poc/enums/notification_type.py +4 -4
  139. adcp/types/generated_poc/enums/pacing.py +3 -3
  140. adcp/types/generated_poc/enums/postal_system.py +9 -9
  141. adcp/types/generated_poc/enums/preview_output_format.py +2 -2
  142. adcp/types/generated_poc/enums/pricing_model.py +7 -7
  143. adcp/types/generated_poc/enums/property_type.py +8 -8
  144. adcp/types/generated_poc/enums/publisher_identifier_types.py +5 -5
  145. adcp/types/generated_poc/enums/reporting_frequency.py +3 -3
  146. adcp/types/generated_poc/enums/signal_catalog_type.py +3 -3
  147. adcp/types/generated_poc/enums/sort_direction.py +2 -2
  148. adcp/types/generated_poc/enums/task_status.py +9 -9
  149. adcp/types/generated_poc/enums/task_type.py +11 -12
  150. adcp/types/generated_poc/enums/update_frequency.py +4 -4
  151. adcp/types/generated_poc/enums/url_asset_type.py +3 -3
  152. adcp/types/generated_poc/enums/validation_mode.py +2 -2
  153. adcp/types/generated_poc/enums/vast_tracking_event.py +16 -16
  154. adcp/types/generated_poc/enums/vast_version.py +5 -5
  155. adcp/types/generated_poc/enums/webhook_response_type.py +4 -4
  156. adcp/types/generated_poc/enums/webhook_security_method.py +3 -3
  157. adcp/types/generated_poc/extensions/extension_meta.py +14 -14
  158. adcp/types/generated_poc/media_buy/build_creative_request.py +4 -4
  159. adcp/types/generated_poc/media_buy/build_creative_response.py +6 -6
  160. adcp/types/generated_poc/media_buy/create_media_buy_async_response_input_required.py +5 -5
  161. adcp/types/generated_poc/media_buy/create_media_buy_async_response_submitted.py +1 -1
  162. adcp/types/generated_poc/media_buy/create_media_buy_async_response_working.py +5 -5
  163. adcp/types/generated_poc/media_buy/create_media_buy_request.py +27 -21
  164. adcp/types/generated_poc/media_buy/create_media_buy_response.py +15 -8
  165. adcp/types/generated_poc/media_buy/get_media_buy_delivery_request.py +8 -8
  166. adcp/types/generated_poc/media_buy/get_media_buy_delivery_response.py +51 -51
  167. adcp/types/generated_poc/media_buy/get_products_async_response_input_required.py +6 -6
  168. adcp/types/generated_poc/media_buy/get_products_async_response_submitted.py +2 -2
  169. adcp/types/generated_poc/media_buy/get_products_async_response_working.py +4 -4
  170. adcp/types/generated_poc/media_buy/get_products_request.py +11 -5
  171. adcp/types/generated_poc/media_buy/get_products_response.py +5 -5
  172. adcp/types/generated_poc/media_buy/list_creative_formats_request.py +9 -9
  173. adcp/types/generated_poc/media_buy/list_creative_formats_response.py +5 -5
  174. adcp/types/generated_poc/media_buy/list_creatives_request.py +23 -23
  175. adcp/types/generated_poc/media_buy/list_creatives_response.py +53 -49
  176. adcp/types/generated_poc/media_buy/package_request.py +8 -8
  177. adcp/types/generated_poc/media_buy/package_update.py +16 -16
  178. adcp/types/generated_poc/media_buy/provide_performance_feedback_request.py +19 -19
  179. adcp/types/generated_poc/media_buy/provide_performance_feedback_response.py +6 -6
  180. adcp/types/generated_poc/media_buy/sync_creatives_async_response_input_required.py +5 -5
  181. adcp/types/generated_poc/media_buy/sync_creatives_async_response_submitted.py +1 -1
  182. adcp/types/generated_poc/media_buy/sync_creatives_async_response_working.py +7 -7
  183. adcp/types/generated_poc/media_buy/sync_creatives_request.py +14 -8
  184. adcp/types/generated_poc/media_buy/sync_creatives_response.py +33 -29
  185. adcp/types/generated_poc/media_buy/update_media_buy_async_response_input_required.py +4 -4
  186. adcp/types/generated_poc/media_buy/update_media_buy_async_response_submitted.py +1 -1
  187. adcp/types/generated_poc/media_buy/update_media_buy_async_response_working.py +5 -5
  188. adcp/types/generated_poc/media_buy/update_media_buy_request.py +14 -14
  189. adcp/types/generated_poc/media_buy/update_media_buy_response.py +7 -7
  190. adcp/types/generated_poc/pricing_options/cpc_option.py +13 -26
  191. adcp/types/generated_poc/pricing_options/cpcv_option.py +13 -26
  192. adcp/types/generated_poc/pricing_options/cpm_option.py +13 -20
  193. adcp/types/generated_poc/pricing_options/cpp_option.py +19 -32
  194. adcp/types/generated_poc/pricing_options/cpv_option.py +19 -32
  195. adcp/types/generated_poc/pricing_options/flat_rate_option.py +23 -36
  196. adcp/types/generated_poc/pricing_options/price_guidance.py +26 -0
  197. adcp/types/generated_poc/pricing_options/vcpm_option.py +13 -26
  198. adcp/types/generated_poc/property/base_property_source.py +15 -15
  199. adcp/types/generated_poc/property/create_property_list_request.py +4 -4
  200. adcp/types/generated_poc/property/create_property_list_response.py +3 -3
  201. adcp/types/generated_poc/property/delete_property_list_request.py +2 -2
  202. adcp/types/generated_poc/property/delete_property_list_response.py +3 -3
  203. adcp/types/generated_poc/property/feature_requirement.py +8 -8
  204. adcp/types/generated_poc/property/get_property_list_request.py +5 -5
  205. adcp/types/generated_poc/property/get_property_list_response.py +11 -11
  206. adcp/types/generated_poc/property/list_property_lists_request.py +5 -5
  207. adcp/types/generated_poc/property/list_property_lists_response.py +8 -8
  208. adcp/types/generated_poc/property/property_error.py +10 -10
  209. adcp/types/generated_poc/property/property_feature.py +4 -4
  210. adcp/types/generated_poc/property/property_feature_definition.py +18 -18
  211. adcp/types/generated_poc/property/property_list.py +11 -11
  212. adcp/types/generated_poc/property/property_list_changed_webhook.py +11 -11
  213. adcp/types/generated_poc/property/property_list_filters.py +7 -7
  214. adcp/types/generated_poc/property/update_property_list_request.py +8 -8
  215. adcp/types/generated_poc/property/update_property_list_response.py +2 -2
  216. adcp/types/generated_poc/protocol/get_adcp_capabilities_request.py +8 -6
  217. adcp/types/generated_poc/protocol/get_adcp_capabilities_response.py +59 -58
  218. adcp/types/generated_poc/signals/activate_signal_request.py +3 -3
  219. adcp/types/generated_poc/signals/activate_signal_response.py +6 -6
  220. adcp/types/generated_poc/signals/get_signals_request.py +8 -8
  221. adcp/types/generated_poc/signals/get_signals_response.py +15 -15
  222. adcp/types/generated_poc/sponsored_intelligence/si_capabilities.py +45 -30
  223. adcp/types/generated_poc/sponsored_intelligence/si_get_offering_request.py +4 -4
  224. adcp/types/generated_poc/sponsored_intelligence/si_get_offering_response.py +23 -23
  225. adcp/types/generated_poc/sponsored_intelligence/si_identity.py +16 -16
  226. adcp/types/generated_poc/sponsored_intelligence/si_initiate_session_request.py +5 -5
  227. adcp/types/generated_poc/sponsored_intelligence/si_initiate_session_response.py +7 -7
  228. adcp/types/generated_poc/sponsored_intelligence/si_send_message_request.py +11 -11
  229. adcp/types/generated_poc/sponsored_intelligence/si_send_message_response.py +37 -23
  230. adcp/types/generated_poc/sponsored_intelligence/si_terminate_session_request.py +17 -17
  231. adcp/types/generated_poc/sponsored_intelligence/si_terminate_session_response.py +15 -15
  232. adcp/types/generated_poc/sponsored_intelligence/si_ui_element.py +11 -11
  233. adcp/utils/format_assets.py +32 -32
  234. {adcp-3.0.0.dist-info → adcp-3.2.0.dist-info}/METADATA +10 -5
  235. adcp-3.2.0.dist-info/RECORD +268 -0
  236. adcp/types/generated_poc/media_buy/list_authorized_properties_request.py +0 -38
  237. adcp/types/generated_poc/media_buy/list_authorized_properties_response.py +0 -84
  238. adcp/types/generated_poc/protocols/adcp_extension.py +0 -50
  239. adcp-3.0.0.dist-info/RECORD +0 -264
  240. {adcp-3.0.0.dist-info → adcp-3.2.0.dist-info}/WHEEL +0 -0
  241. {adcp-3.0.0.dist-info → adcp-3.2.0.dist-info}/entry_points.txt +0 -0
  242. {adcp-3.0.0.dist-info → adcp-3.2.0.dist-info}/licenses/LICENSE +0 -0
  243. {adcp-3.0.0.dist-info → adcp-3.2.0.dist-info}/top_level.txt +0 -0
@@ -1,30 +1,23 @@
1
1
  """Format Asset Utilities.
2
2
 
3
- Provides backward-compatible access to format assets.
4
- The v2.6 `assets` field replaces the deprecated `assets_required` field.
5
-
6
- These utilities help users work with format assets regardless of which field
7
- the agent uses, providing a smooth migration path.
3
+ Provides utilities for working with format assets from the `assets` field.
8
4
 
9
5
  Example:
10
6
  ```python
11
7
  from adcp import Format
12
8
  from adcp.utils.format_assets import get_format_assets, get_required_assets
13
9
 
14
- # Get all assets from a format (handles both new and deprecated fields)
10
+ # Get all assets from a format
15
11
  all_assets = get_format_assets(format)
16
12
 
17
13
  # Get only required assets
18
14
  required = get_required_assets(format)
19
-
20
- # Check if using deprecated field
21
- if uses_deprecated_assets_field(format):
22
- print("Agent should migrate to 'assets' field")
23
15
  ```
24
16
  """
25
17
 
26
18
  from __future__ import annotations
27
19
 
20
+ import warnings
28
21
  from typing import TYPE_CHECKING, Any, Union
29
22
 
30
23
  from adcp.types.generated_poc.core.format import Assets as AssetsModel
@@ -38,18 +31,16 @@ FormatAsset = Union["Assets", "Assets5"]
38
31
 
39
32
 
40
33
  def get_format_assets(format: Format) -> list[FormatAsset]:
41
- """Get assets from a Format, preferring new `assets` field, falling back to `assets_required`.
34
+ """Get assets from a Format.
42
35
 
43
- This provides backward compatibility during the migration from `assets_required` to `assets`.
44
- - If `assets` exists and has items, returns it directly
45
- - If only `assets_required` exists, normalizes it to the new format (sets required=True)
46
- - Returns empty list if neither field exists (flexible format with no assets)
36
+ Returns the list of assets from the format's `assets` field.
37
+ Returns empty list if no assets are defined (flexible format with no assets).
47
38
 
48
39
  Args:
49
40
  format: The Format object from list_creative_formats response
50
41
 
51
42
  Returns:
52
- List of assets in the new format structure
43
+ List of assets
53
44
 
54
45
  Example:
55
46
  ```python
@@ -59,20 +50,19 @@ def get_format_assets(format: Format) -> list[FormatAsset]:
59
50
  print(f"{format.name} has {len(assets)} assets")
60
51
  ```
61
52
  """
62
- # Prefer new `assets` field (v2.6+)
63
53
  if format.assets and len(format.assets) > 0:
64
54
  return list(format.assets)
65
55
 
66
- # Fall back to deprecated `assets_required` and normalize
67
- if format.assets_required and len(format.assets_required) > 0:
68
- return normalize_assets_required(format.assets_required)
69
-
70
56
  return []
71
57
 
72
58
 
73
59
  def normalize_assets_required(assets_required: list[Any]) -> list[FormatAsset]:
74
60
  """Convert deprecated assets_required to new assets format.
75
61
 
62
+ .. deprecated:: 3.2.0
63
+ The ``assets_required`` field was removed in ADCP 3.0.0-beta.2.
64
+ This function will be removed in a future version.
65
+
76
66
  All assets in assets_required are required by definition (that's why they were in
77
67
  that array). The new `assets` field has an explicit `required: boolean` to allow
78
68
  both required AND optional assets.
@@ -83,6 +73,13 @@ def normalize_assets_required(assets_required: list[Any]) -> list[FormatAsset]:
83
73
  Returns:
84
74
  Normalized assets as Pydantic models with explicit required=True
85
75
  """
76
+ warnings.warn(
77
+ "normalize_assets_required() is deprecated. "
78
+ "The assets_required field was removed in ADCP 3.0.0-beta.2. "
79
+ "This function will be removed in a future version.",
80
+ DeprecationWarning,
81
+ stacklevel=2,
82
+ )
86
83
  normalized: list[FormatAsset] = []
87
84
  for asset in assets_required:
88
85
  # Get asset data as dict
@@ -168,23 +165,26 @@ def get_repeatable_groups(format: Format) -> list[FormatAsset]:
168
165
 
169
166
 
170
167
  def uses_deprecated_assets_field(format: Format) -> bool:
171
- """Check if format uses deprecated assets_required field (for migration warnings).
168
+ """Check if format uses deprecated assets_required field.
169
+
170
+ .. deprecated:: 3.2.0
171
+ The ``assets_required`` field was removed in ADCP 3.0.0-beta.2.
172
+ This function always returns False and will be removed in a future version.
172
173
 
173
174
  Args:
174
175
  format: The Format object
175
176
 
176
177
  Returns:
177
- True if using deprecated field, False if using new field or neither
178
-
179
- Example:
180
- ```python
181
- if uses_deprecated_assets_field(format):
182
- print(f"Format {format.name} uses deprecated assets_required field")
183
- ```
178
+ Always False (deprecated field no longer exists)
184
179
  """
185
- has_assets = format.assets is not None and len(format.assets) > 0
186
- has_assets_required = format.assets_required is not None and len(format.assets_required) > 0
187
- return not has_assets and has_assets_required
180
+ warnings.warn(
181
+ "uses_deprecated_assets_field() is deprecated and always returns False. "
182
+ "The assets_required field was removed in ADCP 3.0.0-beta.2. "
183
+ "This function will be removed in a future version.",
184
+ DeprecationWarning,
185
+ stacklevel=2,
186
+ )
187
+ return False
188
188
 
189
189
 
190
190
  def get_asset_count(format: Format) -> int:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: adcp
3
- Version: 3.0.0
3
+ Version: 3.2.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
@@ -511,8 +511,11 @@ All AdCP tools with full type safety:
511
511
  - `preview_creative()` - Preview creative before building
512
512
  - `build_creative()` - Generate production-ready creative assets
513
513
 
514
+ **Discovery & Accounts:**
515
+ - `get_adcp_capabilities()` - Discover agent capabilities and authorized publishers
516
+ - `list_accounts()` - List billing accounts
517
+
514
518
  **Audience & Targeting:**
515
- - `list_authorized_properties()` - Get authorized properties
516
519
  - `get_signals()` - Get audience signals
517
520
  - `activate_signal()` - Activate audience signals
518
521
  - `provide_performance_feedback()` - Send performance feedback
@@ -760,12 +763,14 @@ Discover which publishers have authorized your agent using two approaches:
760
763
 
761
764
  **1. "Push" Approach** - Ask the agent (recommended, fastest):
762
765
  ```python
763
- from adcp import ADCPClient
766
+ from adcp import ADCPClient, GetAdcpCapabilitiesRequest
764
767
 
765
768
  async with ADCPClient(agent_config) as client:
766
769
  # Single API call to agent
767
- response = await client.simple.list_authorized_properties()
768
- print(f"Authorized for: {response.publisher_domains}")
770
+ result = await client.get_adcp_capabilities(GetAdcpCapabilitiesRequest())
771
+ if result.success and result.data.media_buy:
772
+ portfolio = result.data.media_buy.portfolio
773
+ print(f"Authorized for: {portfolio.publisher_domains}")
769
774
  ```
770
775
 
771
776
  **2. "Pull" Approach** - Check publisher adagents.json files (when you need property details):
@@ -0,0 +1,268 @@
1
+ adcp/ADCP_VERSION,sha256=FUYvB6tz8ip7X2efASvXBbzXpl_4qxoGmhIMuOqighA,13
2
+ adcp/__init__.py,sha256=fkqYozkuMO4PaUtJfzjaVT6tyDYMWbTtC_1VoftCVjE,10682
3
+ adcp/__main__.py,sha256=qXKrMK9pVltO5i6hXBmDjxU-BbUT-lsLNkLmtFfgiNg,19575
4
+ adcp/adagents.py,sha256=dBAYhw4CdGVU_EnMbct41HBJyhMFApGPAY9xJOa2ofA,27212
5
+ adcp/client.py,sha256=SMjyjwXYPJHA9fQxypuf0gsyS6NasS5cYOwZXD9YFxQ,80557
6
+ adcp/config.py,sha256=Vsy7ZPOI8G3fB_i5Nk-CHbC7wdasCUWuKlos0fwA0kY,2017
7
+ adcp/exceptions.py,sha256=1aZEWpaM92OxD2jl9yKsqJp5ReSWaj0S0DFhxChhLlA,6732
8
+ adcp/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
+ adcp/simple.py,sha256=lnEbFFV2JwJx3Hz64h4Vb6jjNEX3k1ofipAL3EEKzfo,13483
10
+ adcp/validation.py,sha256=NsTwTQbLmd1Z1bMcztR1llJB21ai1xuw5aVrca7LoE8,6793
11
+ adcp/webhooks.py,sha256=bougaSZ0gw6irEQAROx3nAOtjWlkZtbcyZX8ZtJmQT8,18736
12
+ adcp/protocols/__init__.py,sha256=6UFwACQ0QadBUzy17wUROHqsJDp8ztPW2jzyl53Zh_g,262
13
+ adcp/protocols/a2a.py,sha256=ZdjjU1ew81Wy_zsikVO_n7zUQqQDXvir1eeZCBVvPE4,28254
14
+ adcp/protocols/base.py,sha256=0tD059tAFGywSScdN9V3Hh0-T0eTCNtU95L6ls5gAfA,10245
15
+ adcp/protocols/mcp.py,sha256=dMkrkXqnttUEVrv4nvyLwnyuCpY_n7_Yy6ab94kgFd0,27095
16
+ adcp/server/__init__.py,sha256=09jhWTYNks62kx2RPzRZ4fPP2jgE7M8oafwVbyz70Iw,1428
17
+ adcp/server/base.py,sha256=lFNT4l5LLMr2wj8EBGN5KcQ6cBKVns1tc9WieZLLGVE,12987
18
+ adcp/server/content_standards.py,sha256=7KLqHR2NWTrA90P6AxY-gAZKM4Vqyz6dLOyX87Damjk,19603
19
+ adcp/server/governance.py,sha256=_Y2g1_Fn6Rkn2vGjNMeInsT5lqQMbCDj8lEw0cLs19s,16890
20
+ adcp/server/mcp_tools.py,sha256=GUDbS3HLyyWenzUzaBD_vgBNuWaTfkSHiNyHRx2tLC8,14015
21
+ adcp/server/proposal.py,sha256=7Rwas4eyYLUEgOxIN0SBOdlh0cPckVg7O2E3nKh4cRw,10452
22
+ adcp/server/sponsored_intelligence.py,sha256=qdtIGcsuROS_6BNZ9ZIe9UjCLMOUPXllOvvVdD304Ps,16276
23
+ adcp/testing/__init__.py,sha256=ZWp_floWjVZfy8RBG5v_FUXQ8YbN7xjXvVcX-_zl_HU,1416
24
+ adcp/testing/test_helpers.py,sha256=-UKuxxyKQald5EvXxguQH34b3J0JdsxKH_nRT6GTjkQ,10029
25
+ adcp/types/__init__.py,sha256=LDlIqFEznk1P65Jy8lCBOTobfUUDp9z9OFsO7KLhf7o,16455
26
+ adcp/types/_ergonomic.py,sha256=yK1t90GQdnT5fm558Y6vPsDBATaTDJVAbn45QrPfrhY,16732
27
+ adcp/types/_generated.py,sha256=trecKoYildOD4iyPm8iEq_IoMHkxhB2SJTJvTU00syc,34967
28
+ adcp/types/aliases.py,sha256=t0uWtNDggzz3tMgnTNijSI8rTFeB4IY4LBbkcO0dfgg,27958
29
+ adcp/types/base.py,sha256=ZXpu_YyItdHVVUBwpAXf0F9bGLcXQg4ua7NGiDmgVRk,8173
30
+ adcp/types/coercion.py,sha256=gCxMvxcj7sTx75AgEMkdN-xjlYBBH_d9xnvE76NEe4c,6081
31
+ adcp/types/core.py,sha256=RXkKCWCXS9BVJTNpe3Opm5O1I_LaQPMUuVwa-ipvS1Q,4839
32
+ adcp/types/generated_poc/__init__.py,sha256=bgFFvPK1-e04eOnyw0qmtVMzoA2V7GeAMPDVrx-VIwA,103
33
+ adcp/types/generated_poc/adagents.py,sha256=1auUzH1P_oZawXuUnzkBb4YArumI7WfUj--RKdTB63k,20220
34
+ adcp/types/generated_poc/a2ui/__init__.py,sha256=IjwGAWjiJ_Wn2hU5oODB27kYRyi02WfJy_BopDnm8KA,103
35
+ adcp/types/generated_poc/a2ui/component.py,sha256=q7aANh19ITPbRXQH9EOR0ia8SJWnkQ7dQIpCJFq8wbQ,728
36
+ adcp/types/generated_poc/a2ui/surface.py,sha256=DuuJoV6IsyGGRvAukN4hRunpqVBPkE7rx_rJB5q7Qi0,1038
37
+ adcp/types/generated_poc/account/__init__.py,sha256=IjwGAWjiJ_Wn2hU5oODB27kYRyi02WfJy_BopDnm8KA,103
38
+ adcp/types/generated_poc/account/list_accounts_request.py,sha256=FnB1gOhpPkBbEfWL1F5KZPW3j7l7tUbUu5a4PW5COV0,779
39
+ adcp/types/generated_poc/account/list_accounts_response.py,sha256=W_pNIBmhGVvxeAOjCUcRFMzWiCW0s5nQd7MdgJkvl8I,873
40
+ adcp/types/generated_poc/content_standards/__init__.py,sha256=rUbOHs_h1ehAylR64Fnt-WNEAAlqKdw1yvdlSj059VQ,103
41
+ adcp/types/generated_poc/content_standards/artifact.py,sha256=79VVx91WBHl7LFq_0FPutAXQcBP3z4L6ZeCVBlGfikY,7542
42
+ adcp/types/generated_poc/content_standards/artifact_webhook_payload.py,sha256=NHN1KTKh-KWgQhC6r7C0eTyyhoUaIL1a-qiGedUBF8Q,2144
43
+ adcp/types/generated_poc/content_standards/calibrate_content_request.py,sha256=PMUIieUC4F3N9oLntAKZ-vvkJv7GzY-_gpEPlNb2ovg,549
44
+ adcp/types/generated_poc/content_standards/calibrate_content_response.py,sha256=S46CZVUImuVXNYONNh7zMKm7fhHqXCw83_MF0MBWTsY,2259
45
+ adcp/types/generated_poc/content_standards/content_standards.py,sha256=QpU14m_kmyooKdCQVmgGbNrPh1psDxjvSNF0yYyxuhs,2275
46
+ adcp/types/generated_poc/content_standards/create_content_standards_request.py,sha256=IgHRAZsV9OGDHPX3LwC3yQETZiEERnDp95GNA-Hgces,3344
47
+ adcp/types/generated_poc/content_standards/create_content_standards_response.py,sha256=xoFhYhESDOYrzqCYvw7s7XN1R5qg8Vw-RhsBoW6Lf5E,1713
48
+ adcp/types/generated_poc/content_standards/get_content_standards_request.py,sha256=01tRCbDXdfWl1FsaXV-XiN0H_mkRp7hiSR4LE4h-mm8,623
49
+ adcp/types/generated_poc/content_standards/get_content_standards_response.py,sha256=g4vk7NrHd5rWQgE0m48QFfyft13vJoL5pEwHy8DQAX0,1340
50
+ adcp/types/generated_poc/content_standards/get_media_buy_artifacts_request.py,sha256=CpUpyYlEhklnjUubMIVBMvDwaFe_sYG602QleqV_OeE,2052
51
+ adcp/types/generated_poc/content_standards/get_media_buy_artifacts_response.py,sha256=PkPhcGpY8okZqZB97FAWNsnJ8WP5IQCLvGY68vj6gUw,4179
52
+ adcp/types/generated_poc/content_standards/list_content_standards_request.py,sha256=PESWnRarzljJO0JNuHrzofdC3gvp8UKMwIEUJNw79NE,987
53
+ adcp/types/generated_poc/content_standards/list_content_standards_response.py,sha256=hnlQNPkiaWFHDqpnZHgO4e4RWRjZLtEesr0EYGtlPpo,1572
54
+ adcp/types/generated_poc/content_standards/update_content_standards_request.py,sha256=3EpZ0Kjg3CMhX_f6TIEvyfOh2FGUz29R_4caXr1-TgQ,3490
55
+ adcp/types/generated_poc/content_standards/update_content_standards_response.py,sha256=bEbPEtaVqKWpSCt1VEDWD1cFySYShpiIL2TkJemNjZM,1075
56
+ adcp/types/generated_poc/content_standards/validate_content_delivery_request.py,sha256=n4G0HHt65qz185D7KrDxVvEG7STyo3EYWYGisERm_gI,2257
57
+ adcp/types/generated_poc/content_standards/validate_content_delivery_response.py,sha256=xQ4ImE2aCLXVE8tsyijzg8c2evS32UvIlguIURXQtC8,2525
58
+ adcp/types/generated_poc/core/__init__.py,sha256=nlPRwpJCEDvUE9_jNfgeR4tvdXgK2Zbvn9_Uxg879lE,103
59
+ adcp/types/generated_poc/core/account.py,sha256=TkWRJLpONna-4kVEhans0ee221yEIE6RiPJZGxWJigs,1673
60
+ adcp/types/generated_poc/core/activation_key.py,sha256=NzP-3rTCycUzb_LMgbo4fvOeZ-EuRtNbokvVVTaeGhQ,1353
61
+ adcp/types/generated_poc/core/async_response_data.py,sha256=spox0sY1kIK9qPA9Krc7CNU2o3gmFhg15aOFw0HrG00,3571
62
+ adcp/types/generated_poc/core/brand_manifest.py,sha256=XAAtncTi4cPFjbISKGVYHpCptEjp2Kgg2Vc65-NlOTI,10170
63
+ adcp/types/generated_poc/core/brand_manifest_ref.py,sha256=nfE1cOlTUbU5CVUs_z7UmaZsoNasJL6UvfSymZn4mHo,1158
64
+ adcp/types/generated_poc/core/context.py,sha256=At6NZ43kEGAL9JyPihGcLv0o_RMU-Jxkz6P_nvvbCSY,317
65
+ adcp/types/generated_poc/core/creative_asset.py,sha256=A6xJngikoSZk_TfEEsv7MFEMU0TZ3oNaD6oT5ZMxGdM,3778
66
+ adcp/types/generated_poc/core/creative_assignment.py,sha256=t9gXGRPMj9A87T-jaMkjfo-IXlgttTKeg2Po6mKx4UU,937
67
+ adcp/types/generated_poc/core/creative_filters.py,sha256=bUuu3c0nRkBetg5iJ6ANDaFM4vYHYAsR5qWGPMTVztA,2943
68
+ adcp/types/generated_poc/core/creative_manifest.py,sha256=kDEha2NXJZd383nIUhhmJEM7wh0RJbGCifE1DDMQ00Y,2457
69
+ adcp/types/generated_poc/core/creative_policy.py,sha256=oSPT_Em7z0UdQHbSj7k3dN5aflWdTK6WB4oAe6dk_eo,833
70
+ adcp/types/generated_poc/core/delivery_metrics.py,sha256=7kluRUM-Qc559H-mMFRP-l5QBhvyqSPVBcs7jTMupZ8,4471
71
+ adcp/types/generated_poc/core/deployment.py,sha256=wU7TvmVemjkrFb8X5QUNmzZeFvFZ_3cflrlYsPaiFWQ,3019
72
+ adcp/types/generated_poc/core/destination.py,sha256=l_AwBcTNS72K8M6IsjDoc29i5Oal3LQFeWToJbHecO0,1576
73
+ adcp/types/generated_poc/core/error.py,sha256=3HkO1JBd4_UQTSJf8Hqph2m9UqDE98EVtEx_koP96mQ,1027
74
+ adcp/types/generated_poc/core/ext.py,sha256=WrUk1ZDuIbzRLD7UKWbX3ug6IOQlWpwZZdyXXUku_74,315
75
+ adcp/types/generated_poc/core/format.py,sha256=AUIrt7XMYsErbTFCk1KKyJOIpVuQiLfkTJhdyRLxcvs,10703
76
+ adcp/types/generated_poc/core/format_id.py,sha256=FkP1FuodKj7yaOp_cSDOzd73pAFJII5E_E8SF9EVFAY,1931
77
+ adcp/types/generated_poc/core/frequency_cap.py,sha256=5WKIdZjB9NP_xDB5jVh4tl2zTqPAoXWh_sxzbfKaVU0,479
78
+ adcp/types/generated_poc/core/identifier.py,sha256=q96ODUI7Z7PEU0hqwpdVSg4YdLXwsn3biZGvhwEB-ww,817
79
+ adcp/types/generated_poc/core/mcp_webhook_payload.py,sha256=cm9o93gTY6-lw5-iQwe5i3Wy7iPoE7bjl0ZGGIWvy0U,2592
80
+ adcp/types/generated_poc/core/measurement.py,sha256=lLJnZtfZofbIw_ryT1JUiFCDzW86Ysl8AZJ66dE7xzg,1055
81
+ adcp/types/generated_poc/core/media_buy.py,sha256=mLfHQXeDsC5MoeNu5OzM6haCa7UZBqBMEo-Z9uaJdFY,1624
82
+ adcp/types/generated_poc/core/media_buy_features.py,sha256=74vAarAiQZxIZ3RyjEnjpzF1Y6nKGjUjCdca0WF8flc,904
83
+ adcp/types/generated_poc/core/offering.py,sha256=Rb3fy08uLk-yX63Q2u9lYAd9CwYei1baj2J8IrA4CD0,2675
84
+ adcp/types/generated_poc/core/package.py,sha256=ZhnYtzE6HY1cl0OHOJdDxMUMr-QQjLIsBvvB3G91PbM,2317
85
+ adcp/types/generated_poc/core/performance_feedback.py,sha256=4rpO6cygXF8js1P_R0mCOU2TWUGtPOVUojkXaLgddGg,2531
86
+ adcp/types/generated_poc/core/placement.py,sha256=KMZhNETNhlk3HIZ-iA7E2nTQE53c5WpuJcE5GOVmHMI,1237
87
+ adcp/types/generated_poc/core/pricing_option.py,sha256=RX2dfNrz65aXtW_qCTDzgN7_MGSKNzmIm6J3yz3eXig,1316
88
+ adcp/types/generated_poc/core/product.py,sha256=ONASlRIYPWB5GqgUlJ29EpbQaRRTs0avfqwkply1Ol4,5720
89
+ adcp/types/generated_poc/core/product_allocation.py,sha256=WeWUjDhTge5DkZQqwAc13nRV-S7tvqgs1qdfdW4mTJ0,1508
90
+ adcp/types/generated_poc/core/product_filters.py,sha256=NV8Ige2VhE13hEPG0yeD-kg0DXeTV8M5ot7-Wp5bLpw,6103
91
+ adcp/types/generated_poc/core/promoted_offerings.py,sha256=feSHW4Yw3Ewx-EE-FMa_658-rFSH20Ya-FI7l_bS_1M,2618
92
+ adcp/types/generated_poc/core/promoted_products.py,sha256=Ju1UMA9ZckGg7YtMcma9W2rCCYIBm43ddaYpWyCI6wE,1256
93
+ adcp/types/generated_poc/core/property.py,sha256=_MIU2-on3iaRj931W2i4twG32vKI7dA55XwLq94A2qI,2113
94
+ adcp/types/generated_poc/core/property_id.py,sha256=grRMvUe5mTZ_tIWzSAYAU7pC-uqwXBfdBaKwp7fStMc,583
95
+ adcp/types/generated_poc/core/property_list_ref.py,sha256=hy44lARI-l9tAVIh-VO7vfYVNoDv1FaoFPeddUFTngI,839
96
+ adcp/types/generated_poc/core/property_tag.py,sha256=3q2zB747UsPMv5j5di1JU5GPs0vfIjDO43JAJbHhhUU,606
97
+ adcp/types/generated_poc/core/proposal.py,sha256=0s7hOMd9dtkCIv6K7ZNCVbmGkKMK8eD43H5ZWa8fJMY,2407
98
+ adcp/types/generated_poc/core/protocol_envelope.py,sha256=pQQ05StXcyXfIXIkJ8i1NYZ-gJRtss4JMqeh3i2RVxE,2725
99
+ adcp/types/generated_poc/core/publisher_property_selector.py,sha256=dGaGP1zc2iBtMljGNJXJUTGMGe_Nh5xbK6jvg6JkQjY,2952
100
+ adcp/types/generated_poc/core/push_notification_config.py,sha256=tqEX_kLNnKcAR7kZGyjg00g2x-D6-BDTYAizVPUQ9s4,1637
101
+ adcp/types/generated_poc/core/reporting_capabilities.py,sha256=twiNVmC_SCUsvfFgJs-yx2tzIRvOYOKKJZ7uJgndb14,1758
102
+ adcp/types/generated_poc/core/reporting_webhook.py,sha256=Q0uRU8FPL0qmayD3ZvkEgVw_GQC6y3Iv-w6EaZCjKiM,2351
103
+ adcp/types/generated_poc/core/response.py,sha256=xUD6rSls66thTwy2yIICWXs4fRfgCbjBAgTdyaylitE,711
104
+ adcp/types/generated_poc/core/signal_filters.py,sha256=dFu8ivq17Qh_EXv-5eI_QCmMegwCxD_0S12ZS8vOfR4,925
105
+ adcp/types/generated_poc/core/start_timing.py,sha256=ypydw86LV3S6exLe8OAWz8FzV0ZcvG_JHCpOh38p21s,501
106
+ adcp/types/generated_poc/core/sub_asset.py,sha256=GTmVzOYNbsyPeYQpJPW2FbmI3W3WWgm6sgvvVeeqHsM,1977
107
+ adcp/types/generated_poc/core/targeting.py,sha256=rAC07rAMgG_4sdJRMkjlDK6f-YT06xmILWIdQV8-O6k,3441
108
+ adcp/types/generated_poc/core/assets/__init__.py,sha256=nlPRwpJCEDvUE9_jNfgeR4tvdXgK2Zbvn9_Uxg879lE,103
109
+ adcp/types/generated_poc/core/assets/audio_asset.py,sha256=x8JRb9k9Oey2zPN7RZ4ir5ZPDXYbCOy5QNk10PqMA_o,1864
110
+ adcp/types/generated_poc/core/assets/css_asset.py,sha256=1zLtyUBZWd2A0XrNAwkLL-GPWMNvyJQcp24Wc7_5bVA,546
111
+ adcp/types/generated_poc/core/assets/daast_asset.py,sha256=dYtr54l1yOGmHmiE5VvtNc_fAFGevUeSovvwaH5DvIw,2509
112
+ adcp/types/generated_poc/core/assets/html_asset.py,sha256=xnZBIs85bn2uxDsRK8DiR2QM7LgI7NjickfE-p9UkcE,516
113
+ adcp/types/generated_poc/core/assets/image_asset.py,sha256=UVx6adlfZTCueTUQkj1WqO9dAmcF9aYJt2deoRwv208,807
114
+ adcp/types/generated_poc/core/assets/javascript_asset.py,sha256=WVckW0M_VBa1wAsc9AT_c-831IKj4yuNTKb18Jiu0cM,640
115
+ adcp/types/generated_poc/core/assets/text_asset.py,sha256=-quTH1iBCaND5jPn25W_TMeYdgV-giOf7PqkN9PKsC8,543
116
+ adcp/types/generated_poc/core/assets/url_asset.py,sha256=YP0drLEGUQCfjgMAJHag4Ra8LOK6Ng4ZWriNgSpA4bU,1029
117
+ adcp/types/generated_poc/core/assets/vast_asset.py,sha256=O9-HslI0iFqmo85xm6HxYyxr37R1akhuIfjArhAzTuA,2534
118
+ adcp/types/generated_poc/core/assets/video_asset.py,sha256=hfoD4nDJlcjbismh11wY9w7JqthqoiGihRemXLxq_Mw,4525
119
+ adcp/types/generated_poc/core/assets/webhook_asset.py,sha256=6ONA5PxnHjlgdWQG9VZJrTkcl96Q5ATfFDBPH2fKShg,1881
120
+ adcp/types/generated_poc/creative/__init__.py,sha256=nlPRwpJCEDvUE9_jNfgeR4tvdXgK2Zbvn9_Uxg879lE,103
121
+ adcp/types/generated_poc/creative/list_creative_formats_request.py,sha256=gsy9vcvnoHB7HAjHFdBjFDm0LMXyS15FA0s36MA-0p8,2773
122
+ adcp/types/generated_poc/creative/list_creative_formats_response.py,sha256=r899-HKNUwzuokNRzDr_6vVzsH0G-w2oLlBXeYEsq1g,1969
123
+ adcp/types/generated_poc/creative/preview_creative_request.py,sha256=tnW0aPpWKL6xkbMYIF_a-OyjRei95RnaAN_DXbPy8As,5859
124
+ adcp/types/generated_poc/creative/preview_creative_response.py,sha256=Lm_QN8x0J0aaOZb2sLfQ4wwKU1-WJ2CbCzs0_DSFgAw,5643
125
+ adcp/types/generated_poc/creative/preview_render.py,sha256=MER31BiT2LUufBHj1Cbh07gn43B_L9usg4Jpnhgcikw,5030
126
+ adcp/types/generated_poc/enums/__init__.py,sha256=nlPRwpJCEDvUE9_jNfgeR4tvdXgK2Zbvn9_Uxg879lE,103
127
+ adcp/types/generated_poc/enums/adcp_domain.py,sha256=xe9dEpiTcypj6lsVMswIaa08oSMPJ727DeLZu0M87Uo,306
128
+ adcp/types/generated_poc/enums/asset_content_type.py,sha256=JmfENtALlkWlSevoWSimsnDyvNnwTljZKtrLofz9qG0,503
129
+ adcp/types/generated_poc/enums/auth_scheme.py,sha256=O65bXZhtOsO1nAivhf7UwGsny-HwwBJpbCTxTPNU77M,262
130
+ adcp/types/generated_poc/enums/available_metric.py,sha256=Gb_KIwfDY2YFXQCmC6ynuLJyNIS9rnNYXxCSFKRswjc,486
131
+ adcp/types/generated_poc/enums/channels.py,sha256=yYX18r05E8HVtverYZO_0cXRRsOjjtvNnA2adciA2h8,663
132
+ adcp/types/generated_poc/enums/co_branding_requirement.py,sha256=r0969iKE5RdLaBCYeNTgTOoNNPWWKCejq61T0BDVe9k,291
133
+ adcp/types/generated_poc/enums/creative_action.py,sha256=lkUp9nmuKVeNTIL-LezpSM17GN4nydIIjIpqeM7wJbU,328
134
+ adcp/types/generated_poc/enums/creative_agent_capability.py,sha256=DutbDQ7e8Ab16IKJtCWDDNMcQP5ZUFHooPCU2e9HAYo,335
135
+ adcp/types/generated_poc/enums/creative_sort_field.py,sha256=PuAeSdzVrsNxORXXECC_j40GmrBYp6loPI1WijuEgvc,407
136
+ adcp/types/generated_poc/enums/creative_status.py,sha256=vXirKEk8F3O5N49Dz0GO90ffmjp1PKV9dFDfhFj4dDY,352
137
+ adcp/types/generated_poc/enums/daast_tracking_event.py,sha256=pOlMb9vgmAfLgpS-Yx1ZS5X842hJvG1373ItgkLlf8A,489
138
+ adcp/types/generated_poc/enums/daast_version.py,sha256=9U96bUn7d-61X6xsqDXjJaqlLLkby_IJZLpxGtXDLNM,246
139
+ adcp/types/generated_poc/enums/delivery_type.py,sha256=b5BzVLTG8PNYDNw2_hbaOUM5AqcbDBLx44C5MkGlS9g,270
140
+ adcp/types/generated_poc/enums/dimension_unit.py,sha256=tr_oPeOdoSp0-b1hOqFXx9p1qEI2yhL5aN3ZnxRutAQ,268
141
+ adcp/types/generated_poc/enums/feed_format.py,sha256=yE8r8XVYZn0HwytGc0qMbWBxKNQz1IUg3OckjEF0Sto,316
142
+ adcp/types/generated_poc/enums/feedback_source.py,sha256=vO_Vcwie7QcocS84WSdZxwfDUljUGyVY0FTdAp2BC-Y,402
143
+ adcp/types/generated_poc/enums/format_category.py,sha256=uRC6vQ7pglEa9eSFcOwL2Z-ezzOaL3zt0EuA0-MdxJ0,368
144
+ adcp/types/generated_poc/enums/format_id_parameter.py,sha256=3kQZin5GKp51_A__6CfoiBsgD-PdLfShzOb_cOXmV3s,269
145
+ adcp/types/generated_poc/enums/frequency_cap_scope.py,sha256=SfyMaNu-eCxDVqjDNJGmsrpzFb7S3eT_-QHCXVlN4bw,443
146
+ adcp/types/generated_poc/enums/geo_level.py,sha256=JdekylJJ06JuIZaVk5RGqKPU9hDIXtZWDi0-BcCv6KU,308
147
+ adcp/types/generated_poc/enums/history_entry_type.py,sha256=TyLaZ6IDzE7uRk0hu8WDeXkYgF8SZzePS3iQexSzZMA,261
148
+ adcp/types/generated_poc/enums/http_method.py,sha256=5RjeCtZhPpoVZEFfXXai0IaCQWRHZceK5eh_S4_NRjQ,232
149
+ adcp/types/generated_poc/enums/identifier_types.py,sha256=M10NnzViN6zEieIKJNHOTCtu-Vpu-8d82zjTJKM1ZKw,866
150
+ adcp/types/generated_poc/enums/javascript_module_type.py,sha256=jzAyU-erV6uvaSa-9QfXy2eTSRV8sI5l2WpFE648P9A,283
151
+ adcp/types/generated_poc/enums/landing_page_requirement.py,sha256=Bjp3L6RymuQTyQmI7GN5sgFLnYTdwl4iMxAJSNBc9YY,337
152
+ adcp/types/generated_poc/enums/markdown_flavor.py,sha256=EYpPmMGzFMVjZOFN7-MeiXD5AzaCJe0HeUhiEV0aKTw,252
153
+ adcp/types/generated_poc/enums/media_buy_status.py,sha256=SPuj3DevV9rQ8YvIE_VThMakxHeL7swmU6CZ0wVXYgI,325
154
+ adcp/types/generated_poc/enums/metric_type.py,sha256=zp3oM4golgkiFUgBVPu77-D7wwygo4tWiHCoz_jUvw4,508
155
+ adcp/types/generated_poc/enums/metro_system.py,sha256=vevbDFAlk7r9Ij0zS5xttWo9KVNQzYTLlnqJG_UTocQ,344
156
+ adcp/types/generated_poc/enums/notification_type.py,sha256=2jucnVcJanY_1YifonhVJ61IRM2NREWEKZMz-VqbPpk,308
157
+ adcp/types/generated_poc/enums/pacing.py,sha256=rC_mZ2RbL3dfYaCDmUcYYXOQ3GDhYANSKxB7SBhQEoc,259
158
+ adcp/types/generated_poc/enums/postal_system.py,sha256=UyJ4LFtCM65OeqwAIJPYpMCqsNB35ojAM9YJi22_JLE,462
159
+ adcp/types/generated_poc/enums/preview_output_format.py,sha256=dj1rBdXqxj77-0FmC8GqBPQtIMaMYCKtzsrtWYSyP5E,251
160
+ adcp/types/generated_poc/enums/pricing_model.py,sha256=ZQVCmEv4Da0q-aUfFYBguSGRYvOS6nIFjMcd47s9uQ8,330
161
+ adcp/types/generated_poc/enums/property_type.py,sha256=KviyOw86ETdO79fvUBKrAo-cY8nv1pfaFXnLP1UAQ2I,414
162
+ adcp/types/generated_poc/enums/publisher_identifier_types.py,sha256=0a-E-YJVKeGRyhOy4rwsN7UyroP3iAF8GA-k-AR8fwA,327
163
+ adcp/types/generated_poc/enums/reporting_frequency.py,sha256=TA0zofhzKRzc4kZ2-bTlkEONoUjRCadh2KAVW7PpEC0,280
164
+ adcp/types/generated_poc/enums/signal_catalog_type.py,sha256=AvnVwWJNYEBnacc_smUzFy7CL0tEJHvKoRzKGBKENS4,287
165
+ adcp/types/generated_poc/enums/sort_direction.py,sha256=oJhAjjDwTUok5vH4zSj6X43rqQHTDGinNfCDoTnAWfM,238
166
+ adcp/types/generated_poc/enums/task_status.py,sha256=mYMeAvT7SHcFLa3IqTFIA41LkdXi-Y7dRVMz-MamOF4,450
167
+ adcp/types/generated_poc/enums/task_type.py,sha256=VC4XVg-7fUxvKQQ2vXBObUuYhQ8CO2YdQ8GtyORdeFQ,630
168
+ adcp/types/generated_poc/enums/update_frequency.py,sha256=UWVyaMrLOur5odGMhtg9frVzVXqp5DfKF_XVXlbW0Vk,298
169
+ adcp/types/generated_poc/enums/url_asset_type.py,sha256=T4bo5oUBmEVx_owmWNxLCKQrYE5PhlIo8s5xn3kkieA,311
170
+ adcp/types/generated_poc/enums/validation_mode.py,sha256=F2sAmIqWK97rXNdy-mNYBAqpFP2ZBM3U5kVXJJyHhBg,252
171
+ adcp/types/generated_poc/enums/vast_tracking_event.py,sha256=3N1i9uHhX9gSZdMMpLHutmqmKrdGsuduXjIN0X-0PJE,647
172
+ adcp/types/generated_poc/enums/vast_version.py,sha256=qhZcd9S5nPKd7crE_HkkcIHzrwZxBlsZz2Nuw3JYYCM,310
173
+ adcp/types/generated_poc/enums/webhook_response_type.py,sha256=-HbnSsIYh-YfMjTwDmgdsrMb2Gk2XZRvgoomrtsSUUQ,299
174
+ adcp/types/generated_poc/enums/webhook_security_method.py,sha256=rlxeDtHyCPaIrtevi9yqwLwIS-JBQtyvLWdxuZouO-4,295
175
+ adcp/types/generated_poc/extensions/__init__.py,sha256=km1SZ2bbAUXm1k_cWlw7e5vxOGiMMhvQD-CpWTAi4oU,103
176
+ adcp/types/generated_poc/extensions/extension_meta.py,sha256=scAxKHHO8vS3i1X6G3N0-QzHmzZJHpNeUDQA1FD1pI0,2179
177
+ adcp/types/generated_poc/media_buy/__init__.py,sha256=nlPRwpJCEDvUE9_jNfgeR4tvdXgK2Zbvn9_Uxg879lE,103
178
+ adcp/types/generated_poc/media_buy/build_creative_request.py,sha256=qMNuWW1l5hUhVmgP8PdtBrTFdzY4CSq9FN3IJvaDToQ,1591
179
+ adcp/types/generated_poc/media_buy/build_creative_response.py,sha256=9DTHPWJObuJ8Irn-XERjiYjt2hkROwdLhDcqiupGw1M,1671
180
+ adcp/types/generated_poc/media_buy/create_media_buy_async_response_input_required.py,sha256=XqXhGHa6ct6siuSahk5FvsLmv1qfVJBOJ1mdRoYnb9o,1089
181
+ adcp/types/generated_poc/media_buy/create_media_buy_async_response_submitted.py,sha256=JvzbA9xTc-dEoXcM-YMyEAkRAOaUCXTT7mEvm86Y4vk,535
182
+ adcp/types/generated_poc/media_buy/create_media_buy_async_response_working.py,sha256=OFeQ2M-YHKV2Oaq8xQItAX01GnvwneT964vEJgoYGGw,1042
183
+ adcp/types/generated_poc/media_buy/create_media_buy_request.py,sha256=lxM5rkt9qQ1la5-COe13vPA5Cirbr7WX8cFDPSlO978,5874
184
+ adcp/types/generated_poc/media_buy/create_media_buy_response.py,sha256=WDDI_D1DtO3TPcHloEQw2f3BiSY-PIFljW7nnPOzowo,2276
185
+ adcp/types/generated_poc/media_buy/get_media_buy_delivery_request.py,sha256=o2UGbe5UxNpIPU_fNen6Y1K2IRVJhqbU7EPwiKNZXic,1526
186
+ adcp/types/generated_poc/media_buy/get_media_buy_delivery_response.py,sha256=1bPFrsmHH7Q88TkNXAg_LTOtq8syA1f62SA3lXt-rGs,8686
187
+ adcp/types/generated_poc/media_buy/get_products_async_response_input_required.py,sha256=BDjb7stM1nvGT-8QMQJ-qDHIvsxt_yRZXKG2e9JSOKI,1173
188
+ adcp/types/generated_poc/media_buy/get_products_async_response_submitted.py,sha256=z0bqAf2OriUlWdJ90KoyRaere8-ZHtsExSvA_hF-pN8,722
189
+ adcp/types/generated_poc/media_buy/get_products_async_response_working.py,sha256=w5cEpei9bq467lhjjVe3o-pqO888trl1zMAxh2duiic,1147
190
+ adcp/types/generated_poc/media_buy/get_products_request.py,sha256=TGxivOLbAqEq8fkteUwQMc2bFjsudklFn8aZdPv6OSc,2164
191
+ adcp/types/generated_poc/media_buy/get_products_response.py,sha256=Zr-sOcem20soz96xEKYTch5_dS43tcx-Hq10vD4kpQ0,1650
192
+ adcp/types/generated_poc/media_buy/list_creative_formats_request.py,sha256=ToZdnP2a6qP9QISI0P6H1kIRCvcXCbsV5U5qZuvCkhc,2764
193
+ adcp/types/generated_poc/media_buy/list_creative_formats_response.py,sha256=5TcEONY3XqlhZZxLNeB9eBY3jjWNveaRc7ARhbsWaXQ,2001
194
+ adcp/types/generated_poc/media_buy/list_creatives_request.py,sha256=TRgz41vJOkfKnt0fUErhLwA7UF4h01IUmT3RBzSSxlE,2534
195
+ adcp/types/generated_poc/media_buy/list_creatives_response.py,sha256=JQW73I73GAOknf-FBpKQ7OLYe5RmwdQJhguJ08gvsKg,7397
196
+ adcp/types/generated_poc/media_buy/package_request.py,sha256=N3I2H3z9TKtw60GRoLHKKEjLi9HPjRoy2iAvs54qcoY,2659
197
+ adcp/types/generated_poc/media_buy/package_update.py,sha256=aApQEXjnvVJNkh2wNq7GweE6Yr7cnwrpzYH3Gx-ts8Y,4625
198
+ adcp/types/generated_poc/media_buy/provide_performance_feedback_request.py,sha256=qyfpiWEAWKB5_QgCee3wqMOkA2wfZfYDYJrdh0Yhzww,4379
199
+ adcp/types/generated_poc/media_buy/provide_performance_feedback_response.py,sha256=ZOU1UzL7kCfBtKKU7qc6LpGJZgYxSpV4dYs6VkeQoz4,1713
200
+ adcp/types/generated_poc/media_buy/sync_creatives_async_response_input_required.py,sha256=ZwXBWqDf59kOOfZR_tw-mAIlwt7IOgscGSGKM_2ojTo,891
201
+ adcp/types/generated_poc/media_buy/sync_creatives_async_response_submitted.py,sha256=VgQxHoq_4MjPYexzlPgeIB9oWqN4W0JnLp0tM9UTY18,532
202
+ adcp/types/generated_poc/media_buy/sync_creatives_async_response_working.py,sha256=xkHabuY9H8QUcHYA6hKn-tk82ZGdBu5UZxPp6oym-RM,1301
203
+ adcp/types/generated_poc/media_buy/sync_creatives_request.py,sha256=sWtyyBZlKvQNM5VjrAyF09OP_WZ-W_E_RzGsWyrJbUY,2893
204
+ adcp/types/generated_poc/media_buy/sync_creatives_response.py,sha256=hJAkb7mSir1VAj4FUXPPYZeRZCKuWpluqcairbtfONs,3907
205
+ adcp/types/generated_poc/media_buy/update_media_buy_async_response_input_required.py,sha256=tAFeREyIdOTycVmxvDxXuKYcsP6yNVys6PFVerWGBUA,840
206
+ adcp/types/generated_poc/media_buy/update_media_buy_async_response_submitted.py,sha256=bZ2sMO8MbCTEc5Hm9vWLDKwVDO9KFiigA4M4wPppe1A,535
207
+ adcp/types/generated_poc/media_buy/update_media_buy_async_response_working.py,sha256=uui2x_7Lv79t-x15kvG3isgtBlM0G4Her1HcAopWtPA,1042
208
+ adcp/types/generated_poc/media_buy/update_media_buy_request.py,sha256=ZsJz11eM3e_N4P4Po6afZ1WS9kuHbkC1wUUkZf3CFhI,4096
209
+ adcp/types/generated_poc/media_buy/update_media_buy_response.py,sha256=9X4nEGsZ1_sry0E6KPlUYlNbJW8rB8TfwOySvchfZbE,2043
210
+ adcp/types/generated_poc/pricing_options/__init__.py,sha256=nlPRwpJCEDvUE9_jNfgeR4tvdXgK2Zbvn9_Uxg879lE,103
211
+ adcp/types/generated_poc/pricing_options/cpc_option.py,sha256=M4vmNYmaVu_hGjk0eEAXhZsrB4-GVEgU1FgNaYaxMRs,1740
212
+ adcp/types/generated_poc/pricing_options/cpcv_option.py,sha256=znKPeTwox3dEbXVYM2UrD-R_g1YXHeQAyMpDayM2ZDg,1793
213
+ adcp/types/generated_poc/pricing_options/cpm_option.py,sha256=jTQZj-KHZ_uN3qv5ahR0C-t-_GvIgVZ-Cvo6iv3AEPg,1751
214
+ adcp/types/generated_poc/pricing_options/cpp_option.py,sha256=2gV2_8pWFAZuPhLq7o6T_sGN6XhSsX44EkcHmzjBTW8,2321
215
+ adcp/types/generated_poc/pricing_options/cpv_option.py,sha256=7XvpGZPptegqwKWFC2dtKaOMPlgI7k3lVDfP2gHDmE0,2464
216
+ adcp/types/generated_poc/pricing_options/flat_rate_option.py,sha256=RA7a8WIg-MJoaW_OJHUJNJh4et_tHRC-LZ5edjuKG7k,2927
217
+ adcp/types/generated_poc/pricing_options/price_guidance.py,sha256=KKyHpsnXLuBunaF61jvVQe0K7qPT2ZV8LIdH3vhSuZs,841
218
+ adcp/types/generated_poc/pricing_options/vcpm_option.py,sha256=AYaLTQu3bkfVZVGDtcX0-nopXHmHuxC8sc-9I2hOeDc,1792
219
+ adcp/types/generated_poc/property/__init__.py,sha256=km1SZ2bbAUXm1k_cWlw7e5vxOGiMMhvQD-CpWTAi4oU,103
220
+ adcp/types/generated_poc/property/base_property_source.py,sha256=b7kwxsWa2NfuDpswE0zuslpz27sosZt_hYlEsM-mJYU,2808
221
+ adcp/types/generated_poc/property/create_property_list_request.py,sha256=xTKX-eLJGBy7rn-tNcpty2lXrd1lufr_lEy710WCxc0,1773
222
+ adcp/types/generated_poc/property/create_property_list_response.py,sha256=2dcx0FmQCKhegcgBj1xAqGL3mGpT1EQ-usuXQQNk9QY,816
223
+ adcp/types/generated_poc/property/delete_property_list_request.py,sha256=pRJLQnnZv_Lh6eDR_T-SRI2aXxHLpgnULfiJ1jchhOk,645
224
+ adcp/types/generated_poc/property/delete_property_list_response.py,sha256=7j-9TJ_rA1TrFNlTuUk8A76nQxIUkGYfpchhftlH0Is,638
225
+ adcp/types/generated_poc/property/feature_requirement.py,sha256=77qqKsldbko9mG6GLmhE8AqRrYHG-JtHZtbRG0SjriE,1376
226
+ adcp/types/generated_poc/property/get_property_list_request.py,sha256=2KqvXXkUkUpCfWTgZ6R68Eb3t-sriacXCk51bl35da8,1079
227
+ adcp/types/generated_poc/property/get_property_list_response.py,sha256=GBusY3ADkDZQWEFm5ziDftqUfezLSyQsbZ-V5k5WmnA,2240
228
+ adcp/types/generated_poc/property/list_property_lists_request.py,sha256=YD2HConcO0y1xnXhp2PkCk2vyCEm2jSgQkqXeEb7INE,989
229
+ adcp/types/generated_poc/property/list_property_lists_response.py,sha256=upviwU2v6-hVxvWo8DLM70whOLpEWvGrsa7GD33evb8,1290
230
+ adcp/types/generated_poc/property/property_error.py,sha256=ClwVSnB_Tzqri9wdWSwmmL8DkNUOw9D_MBuivdQNIS8,1025
231
+ adcp/types/generated_poc/property/property_feature.py,sha256=2LxeqyOkuy6ZvdRRHNebah3Ngawpr91XHnWfya_xXDs,688
232
+ adcp/types/generated_poc/property/property_feature_definition.py,sha256=OlLOK1LmcbSmt73x1MPplIy5BXSM_Z8SAhGBP4zQXbA,2535
233
+ adcp/types/generated_poc/property/property_list.py,sha256=aFEPIpXHxiEXsN3hQAj4zHENFAr4qobJmQNgRe9XnVY,2475
234
+ adcp/types/generated_poc/property/property_list_changed_webhook.py,sha256=xKUFxT6E4A_Jf0Kjd18SQsrpx0A9i492FrEOIfDSniI,1883
235
+ adcp/types/generated_poc/property/property_list_filters.py,sha256=j2AVEV_ySvuoZrVQZ3DUbpXFy1iqyTOJZXuzUPQk8mw,1508
236
+ adcp/types/generated_poc/property/update_property_list_request.py,sha256=jLPMmgYlL56M-KMdfjHf8FXILJSJanYUuaxlAvg0AuA,1858
237
+ adcp/types/generated_poc/property/update_property_list_response.py,sha256=I4XAFuO5QAGeb77cQsIlKZ2Qnuu6RUxFVjvXqSoJxno,596
238
+ adcp/types/generated_poc/protocol/__init__.py,sha256=rUbOHs_h1ehAylR64Fnt-WNEAAlqKdw1yvdlSj059VQ,103
239
+ adcp/types/generated_poc/protocol/get_adcp_capabilities_request.py,sha256=9aUoJW5hcB3kCGQNF-29I0vKpUFDUtw_NgjzJGtvSxU,1000
240
+ adcp/types/generated_poc/protocol/get_adcp_capabilities_response.py,sha256=1YpBkrcyC1X_n0M_jOgqVqc_9naR0Rz2pUMKlhc1poo,12185
241
+ adcp/types/generated_poc/signals/__init__.py,sha256=nlPRwpJCEDvUE9_jNfgeR4tvdXgK2Zbvn9_Uxg879lE,103
242
+ adcp/types/generated_poc/signals/activate_signal_request.py,sha256=fHwhJG50V9rKGmGrlSZONErL4KOT51vhRvZWqAo1vKI,1021
243
+ adcp/types/generated_poc/signals/activate_signal_response.py,sha256=o4C93V3TbwJnthZ_wNT_19kPwxPOidiDXvzJjbvw-CA,1733
244
+ adcp/types/generated_poc/signals/get_signals_request.py,sha256=H9dZUrzKlPc1HHxEniG51q3r6qkjrbBAnfehKDlGp0M,1677
245
+ adcp/types/generated_poc/signals/get_signals_response.py,sha256=2-riGPPkI7f03w9Z0VgyRiWQgrgtJww2bJmDGjjOMsw,2037
246
+ adcp/types/generated_poc/sponsored_intelligence/__init__.py,sha256=rUbOHs_h1ehAylR64Fnt-WNEAAlqKdw1yvdlSj059VQ,103
247
+ adcp/types/generated_poc/sponsored_intelligence/si_capabilities.py,sha256=Wr76Y4Tbwb9GyvomGimrYGpLXos14GtfKhOpKxMS-sw,3654
248
+ adcp/types/generated_poc/sponsored_intelligence/si_get_offering_request.py,sha256=avuQNNRoXuO152oKcEEuULQOg-7FMcsGDHabJ1nlJf8,1140
249
+ adcp/types/generated_poc/sponsored_intelligence/si_get_offering_response.py,sha256=WnJClx-OAKJmIlwusI6thF26bgwS_hHIQa4j8cz2w6M,4013
250
+ adcp/types/generated_poc/sponsored_intelligence/si_identity.py,sha256=1i3JSxwEOTwSES5EvyrO7CbPgk-wyXn-LApN80s0B7A,2579
251
+ adcp/types/generated_poc/sponsored_intelligence/si_initiate_session_request.py,sha256=5SKLubI_NWmW9kaUZyzD5Qjr_P9XuAeLpBcol4j1li8,1618
252
+ adcp/types/generated_poc/sponsored_intelligence/si_initiate_session_response.py,sha256=lt4FGWqqqJnqdoSEUSypcpaBpWkqaJOnzFyeY47oAMs,1437
253
+ adcp/types/generated_poc/sponsored_intelligence/si_send_message_request.py,sha256=eLwUQoGW5DCZ5SYjoGu874ucuAcZ8GThJ2teYTcIkHw,1951
254
+ adcp/types/generated_poc/sponsored_intelligence/si_send_message_response.py,sha256=TqQn8jimksmj_lgRDfYy_Z1vqvXOxkEOH_dG5E9LT8s,3480
255
+ adcp/types/generated_poc/sponsored_intelligence/si_terminate_session_request.py,sha256=g92Y-w4ZnO4CaAyp-G1ingBcSDy_H8qYeggCKq2cr4Q,1810
256
+ adcp/types/generated_poc/sponsored_intelligence/si_terminate_session_response.py,sha256=8aBSYxtyP0l9qySPSyBTLSxdmg3hR8XPV-nnxN6FIr0,1804
257
+ adcp/types/generated_poc/sponsored_intelligence/si_ui_element.py,sha256=u9Ryhnf0CCL4-P5WPJ32X8yGLGRPRuUiqSkLkoLpplg,814
258
+ adcp/utils/__init__.py,sha256=gT-ye21llW_mnz6w5sAaIBqCFGxT8NIQ1uISUF19vig,706
259
+ adcp/utils/format_assets.py,sha256=L_KEnShSyD5LXlfsvAv8Zoz-Vdnv9E9NPDry2JSuYeM,6583
260
+ adcp/utils/operation_id.py,sha256=wQX9Bb5epXzRq23xoeYPTqzu5yLuhshg7lKJZihcM2k,294
261
+ adcp/utils/preview_cache.py,sha256=_zLHqA2SXbV0dCgyy2_Di477RXKnEwPNLEgDoA1uh_A,19966
262
+ adcp/utils/response_parser.py,sha256=WBYq8bZpPiVrG70PNhHDyE5_NyexS1qlsA8YRkxpZaQ,8986
263
+ adcp-3.2.0.dist-info/licenses/LICENSE,sha256=PF39NR3Ae8PLgBhg3Uxw6ju7iGVIf8hfv9LRWQdii_U,629
264
+ adcp-3.2.0.dist-info/METADATA,sha256=EYLouE2ccp1GFLkiMm1ZD4qrKX-1l7dkM3WblFcnO5c,31600
265
+ adcp-3.2.0.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
266
+ adcp-3.2.0.dist-info/entry_points.txt,sha256=DQKpcGsJX8DtVI_SGApQ7tNvqUB4zkTLaTAEpFgmi3U,44
267
+ adcp-3.2.0.dist-info/top_level.txt,sha256=T1_NF0GefncFU9v_k56oDwKSJREyCqIM8lAwNZf0EOs,5
268
+ adcp-3.2.0.dist-info/RECORD,,
@@ -1,38 +0,0 @@
1
- # generated by datamodel-codegen:
2
- # filename: media_buy/list_authorized_properties_request.json
3
- # timestamp: 2026-01-25T21:17:54+00:00
4
-
5
- from __future__ import annotations
6
-
7
- from typing import Annotated
8
-
9
- from adcp.types.base import AdCPBaseModel
10
- from pydantic import ConfigDict, Field, RootModel
11
-
12
- from ..core import context as context_1
13
- from ..core import ext as ext_1
14
-
15
-
16
- class PublisherDomain(RootModel[str]):
17
- root: Annotated[
18
- str,
19
- Field(
20
- description="Publisher domain to filter by (e.g., 'cnn.com', 'espn.com')",
21
- pattern='^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$',
22
- ),
23
- ]
24
-
25
-
26
- class ListAuthorizedPropertiesRequest(AdCPBaseModel):
27
- model_config = ConfigDict(
28
- extra='allow',
29
- )
30
- context: context_1.ContextObject | None = None
31
- ext: ext_1.ExtensionObject | None = None
32
- publisher_domains: Annotated[
33
- list[PublisherDomain] | None,
34
- Field(
35
- description='Filter to specific publisher domains (optional). If omitted, returns all publishers this agent represents.',
36
- min_length=1,
37
- ),
38
- ] = None
@@ -1,84 +0,0 @@
1
- # generated by datamodel-codegen:
2
- # filename: media_buy/list_authorized_properties_response.json
3
- # timestamp: 2026-01-25T21:17:54+00:00
4
-
5
- from __future__ import annotations
6
-
7
- from typing import Annotated
8
-
9
- from adcp.types.base import AdCPBaseModel
10
- from pydantic import AwareDatetime, ConfigDict, Field, RootModel
11
-
12
- from ..core import context as context_1
13
- from ..core import error
14
- from ..core import ext as ext_1
15
- from ..enums import channels
16
-
17
-
18
- class PrimaryCountry(RootModel[str]):
19
- root: Annotated[str, Field(pattern='^[A-Z]{2}$')]
20
-
21
-
22
- class PublisherDomain(RootModel[str]):
23
- root: Annotated[
24
- str,
25
- Field(
26
- description="Domain where publisher's adagents.json is hosted (e.g., 'cnn.com')",
27
- pattern='^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$',
28
- ),
29
- ]
30
-
31
-
32
- class ListAuthorizedPropertiesResponse(AdCPBaseModel):
33
- model_config = ConfigDict(
34
- extra='allow',
35
- )
36
- advertising_policies: Annotated[
37
- str | None,
38
- Field(
39
- description="Publisher's advertising content policies, restrictions, and guidelines in natural language. May include prohibited categories, blocked advertisers, restricted tactics, brand safety requirements, or links to full policy documentation.",
40
- max_length=10000,
41
- min_length=1,
42
- ),
43
- ] = None
44
- context: context_1.ContextObject | None = None
45
- errors: Annotated[
46
- list[error.Error] | None,
47
- Field(description='Task-specific errors and warnings (e.g., property availability issues)'),
48
- ] = None
49
- ext: ext_1.ExtensionObject | None = None
50
- last_updated: Annotated[
51
- AwareDatetime | None,
52
- Field(
53
- description="ISO 8601 timestamp of when the agent's publisher authorization list was last updated. Buyers can use this to determine if their cached publisher adagents.json files might be stale."
54
- ),
55
- ] = None
56
- portfolio_description: Annotated[
57
- str | None,
58
- Field(
59
- description='Markdown-formatted description of the property portfolio, including inventory types, audience characteristics, and special features.',
60
- max_length=5000,
61
- min_length=1,
62
- ),
63
- ] = None
64
- primary_channels: Annotated[
65
- list[channels.MediaChannel] | None,
66
- Field(
67
- description='Primary advertising channels represented in this property portfolio. Helps buying agents quickly filter relevance.',
68
- min_length=1,
69
- ),
70
- ] = None
71
- primary_countries: Annotated[
72
- list[PrimaryCountry] | None,
73
- Field(
74
- description='Primary countries (ISO 3166-1 alpha-2 codes) where properties are concentrated. Helps buying agents quickly filter relevance.',
75
- min_length=1,
76
- ),
77
- ] = None
78
- publisher_domains: Annotated[
79
- list[PublisherDomain],
80
- Field(
81
- description="Publisher domains this agent is authorized to represent. Buyers should fetch each publisher's adagents.json to see property definitions and verify this agent is in their authorized_agents list with authorization scope.",
82
- min_length=1,
83
- ),
84
- ]
@@ -1,50 +0,0 @@
1
- # generated by datamodel-codegen:
2
- # filename: protocols/adcp_extension.json
3
- # timestamp: 2026-01-25T21:17:54+00:00
4
-
5
- from __future__ import annotations
6
-
7
- from enum import Enum
8
- from typing import Annotated
9
-
10
- from adcp.types.base import AdCPBaseModel
11
- from pydantic import ConfigDict, Field, RootModel
12
-
13
-
14
- class ExtensionsSupportedItem(RootModel[str]):
15
- root: Annotated[str, Field(pattern='^[a-z][a-z0-9_]*$')]
16
-
17
-
18
- class ProtocolsSupportedEnum(Enum):
19
- media_buy = 'media_buy'
20
- creative = 'creative'
21
- signals = 'signals'
22
-
23
-
24
- class AdcpAgentCardExtensionParamsDeprecated(AdCPBaseModel):
25
- model_config = ConfigDict(
26
- extra='allow',
27
- )
28
- adcp_version: Annotated[
29
- str,
30
- Field(
31
- deprecated=True,
32
- description='DEPRECATED: Use get_adcp_capabilities response adcp.major_versions instead.',
33
- pattern='^\\d+\\.\\d+\\.\\d+$',
34
- ),
35
- ]
36
- extensions_supported: Annotated[
37
- list[ExtensionsSupportedItem] | None,
38
- Field(
39
- deprecated=True,
40
- description='DEPRECATED: Typed extensions can be declared in get_adcp_capabilities ext field.',
41
- ),
42
- ] = None
43
- protocols_supported: Annotated[
44
- list[ProtocolsSupportedEnum],
45
- Field(
46
- deprecated=True,
47
- description='DEPRECATED: Use get_adcp_capabilities response supported_protocols instead.',
48
- min_length=1,
49
- ),
50
- ]