adcp 2.7.0__py3-none-any.whl → 2.9.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.
- adcp/__init__.py +7 -4
- adcp/__main__.py +31 -3
- adcp/client.py +200 -0
- adcp/protocols/a2a.py +12 -0
- adcp/protocols/base.py +15 -0
- adcp/protocols/mcp.py +12 -0
- adcp/types/__init__.py +461 -31
- adcp/types/_generated.py +37 -38
- adcp/types/aliases.py +251 -46
- adcp/types/generated_poc/activate_signal_request.py +3 -3
- adcp/types/generated_poc/activate_signal_response.py +2 -2
- adcp/types/generated_poc/asset_content_type.py +23 -0
- adcp/types/generated_poc/brand_manifest.py +8 -8
- adcp/types/generated_poc/create_media_buy_response.py +16 -21
- adcp/types/generated_poc/deployment.py +6 -6
- adcp/types/generated_poc/destination.py +4 -4
- adcp/types/generated_poc/format.py +5 -30
- adcp/types/generated_poc/format_category.py +17 -0
- adcp/types/generated_poc/get_signals_request.py +4 -4
- adcp/types/generated_poc/get_signals_response.py +2 -2
- adcp/types/generated_poc/list_creative_formats_request.py +4 -22
- adcp/types/generated_poc/update_media_buy_response.py +15 -22
- adcp/types/stable.py +268 -7
- {adcp-2.7.0.dist-info → adcp-2.9.0.dist-info}/METADATA +172 -1
- {adcp-2.7.0.dist-info → adcp-2.9.0.dist-info}/RECORD +29 -28
- adcp/types/generated_poc/asset_type.py +0 -100
- {adcp-2.7.0.dist-info → adcp-2.9.0.dist-info}/WHEEL +0 -0
- {adcp-2.7.0.dist-info → adcp-2.9.0.dist-info}/entry_points.txt +0 -0
- {adcp-2.7.0.dist-info → adcp-2.9.0.dist-info}/licenses/LICENSE +0 -0
- {adcp-2.7.0.dist-info → adcp-2.9.0.dist-info}/top_level.txt +0 -0
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
adcp/__init__.py,sha256=
|
|
2
|
-
adcp/__main__.py,sha256=
|
|
1
|
+
adcp/__init__.py,sha256=KquZDNUHnEY3UG0ofpxFnAdh6XawWaNjZuNTz2QhzrY,9253
|
|
2
|
+
adcp/__main__.py,sha256=HVsuiixW-PesPtBlG1Pofot7svrl2KdSFDFLoBxxUPo,14198
|
|
3
3
|
adcp/adagents.py,sha256=o-vTBmdZvu9aER-TAlLLL3s-WGYY8N67jnrAH24lST8,22333
|
|
4
|
-
adcp/client.py,sha256=
|
|
4
|
+
adcp/client.py,sha256=m-GrXVXJN7xd1UI35ktGtIf5Sn5QH_Q2wysffuXIEEg,36658
|
|
5
5
|
adcp/config.py,sha256=Vsy7ZPOI8G3fB_i5Nk-CHbC7wdasCUWuKlos0fwA0kY,2017
|
|
6
6
|
adcp/exceptions.py,sha256=1aZEWpaM92OxD2jl9yKsqJp5ReSWaj0S0DFhxChhLlA,6732
|
|
7
7
|
adcp/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
8
|
adcp/simple.py,sha256=OYoAF9MBK4dkvYQz3eMOVNEC-OZUNRkCgLDxmKSNZZY,10437
|
|
9
9
|
adcp/validation.py,sha256=NsTwTQbLmd1Z1bMcztR1llJB21ai1xuw5aVrca7LoE8,6793
|
|
10
10
|
adcp/protocols/__init__.py,sha256=6UFwACQ0QadBUzy17wUROHqsJDp8ztPW2jzyl53Zh_g,262
|
|
11
|
-
adcp/protocols/a2a.py,sha256=
|
|
12
|
-
adcp/protocols/base.py,sha256=
|
|
13
|
-
adcp/protocols/mcp.py,sha256=
|
|
11
|
+
adcp/protocols/a2a.py,sha256=6xUerMXFfPLU8JmZNRwqKaBJVkIjzVCM8GIkX90zbG0,13010
|
|
12
|
+
adcp/protocols/base.py,sha256=5nbC6hS4_eTh1WziR6Mr957UoSoEc1S9eLY79lYZ2xQ,5651
|
|
13
|
+
adcp/protocols/mcp.py,sha256=TA7n2tlaBi3VDV898ZUGZXFe4ADbfGXpdF71BgfanZ8,17190
|
|
14
14
|
adcp/testing/__init__.py,sha256=ZWp_floWjVZfy8RBG5v_FUXQ8YbN7xjXvVcX-_zl_HU,1416
|
|
15
15
|
adcp/testing/test_helpers.py,sha256=-UKuxxyKQald5EvXxguQH34b3J0JdsxKH_nRT6GTjkQ,10029
|
|
16
|
-
adcp/types/__init__.py,sha256=
|
|
17
|
-
adcp/types/_generated.py,sha256=
|
|
18
|
-
adcp/types/aliases.py,sha256=
|
|
16
|
+
adcp/types/__init__.py,sha256=Bux7Vu-WLqbmWaVKo6rw-WhzOoHBV9TWy43V0yYZVwo,12639
|
|
17
|
+
adcp/types/_generated.py,sha256=3S5zgSCn8CV4bDKW4szaWVMWiVty73ACfXMvsyCYwAw,15090
|
|
18
|
+
adcp/types/aliases.py,sha256=GgUsokii7GcngnRTtLVD_r8dWTSDJcmXNj3YnGnvc7o,25150
|
|
19
19
|
adcp/types/base.py,sha256=QoEuVfI4yzefup0dc2KN11AcJTbcGxRep7xOw5hXfs8,837
|
|
20
20
|
adcp/types/core.py,sha256=RXkKCWCXS9BVJTNpe3Opm5O1I_LaQPMUuVwa-ipvS1Q,4839
|
|
21
|
-
adcp/types/stable.py,sha256=
|
|
21
|
+
adcp/types/stable.py,sha256=FNYVYOJhPCFneGwbkfAtrszuj4gkEYgJnYsV3wuXJ1E,10449
|
|
22
22
|
adcp/types/generated_poc/__init__.py,sha256=bgFFvPK1-e04eOnyw0qmtVMzoA2V7GeAMPDVrx-VIwA,103
|
|
23
|
-
adcp/types/generated_poc/activate_signal_request.py,sha256=
|
|
24
|
-
adcp/types/generated_poc/activate_signal_response.py,sha256=
|
|
23
|
+
adcp/types/generated_poc/activate_signal_request.py,sha256=SxfyRH0jC_bdZi2jFFn997pwUszmCdBhJd5rX_jXG00,1192
|
|
24
|
+
adcp/types/generated_poc/activate_signal_response.py,sha256=HrGvcNMrzl1o9lfX5c6kGopsjt-XLjvmxKFmt7iS_k4,2021
|
|
25
25
|
adcp/types/generated_poc/activation_key.py,sha256=FFUHvn-q0zKMdImOv-VHKS_78U8FVikUE8M-IOuiamg,952
|
|
26
26
|
adcp/types/generated_poc/adagents.py,sha256=tuMLnT5RRwVFCe8otpHugkz33a3IS3naLUCHUgxvk9c,7192
|
|
27
|
-
adcp/types/generated_poc/
|
|
27
|
+
adcp/types/generated_poc/asset_content_type.py,sha256=EERNQS3XQofgGNSa_JFaqcFVX-1m_N6mFEC9agLMg7I,497
|
|
28
28
|
adcp/types/generated_poc/audio_asset.py,sha256=gu1HQI0310qmY27OzHzBD_gPTPYJv7GzCDgrEymZJ-k,795
|
|
29
|
-
adcp/types/generated_poc/brand_manifest.py,sha256=
|
|
29
|
+
adcp/types/generated_poc/brand_manifest.py,sha256=eQjXoM718VjW5fqEgDYBAfeLzkyLZxk0xby8C7x8pow,7703
|
|
30
30
|
adcp/types/generated_poc/build_creative_request.py,sha256=ucFLDWaxKHJSj6U6aGyEESiSOi-xVck9_f27avFmlOE,1726
|
|
31
31
|
adcp/types/generated_poc/build_creative_response.py,sha256=alUTLetOIMjgnwc_88kNlDROEa4ccJEyRLEWEUgYiQw,1926
|
|
32
32
|
adcp/types/generated_poc/channels.py,sha256=FdeHta5dKDAxkzsvDOltFV09ACKA4eO1tNEBTui-XHc,386
|
|
@@ -37,7 +37,7 @@ adcp/types/generated_poc/cpm_fixed_option.py,sha256=q-4UKVs6S2vfXpSLlzsCpQkKTsSj
|
|
|
37
37
|
adcp/types/generated_poc/cpp_option.py,sha256=O3RXSHXDHVAKczgmeWvWgV7TLWaGC6bDy83fdeH5lhk,2069
|
|
38
38
|
adcp/types/generated_poc/cpv_option.py,sha256=xen_Hc6iY19nOoYnF_nkgTGSemjZIf7WzM-QLyyaM-s,2173
|
|
39
39
|
adcp/types/generated_poc/create_media_buy_request.py,sha256=kCC3RP2dT7LCSiAhHSQhfrlkcbXZLuFQspujNIGYzFs,3529
|
|
40
|
-
adcp/types/generated_poc/create_media_buy_response.py,sha256=
|
|
40
|
+
adcp/types/generated_poc/create_media_buy_response.py,sha256=iZ84Ged0G2hSmVSuPeXpCIm38v50XUa8b7Pco6DiO8Y,2252
|
|
41
41
|
adcp/types/generated_poc/creative_asset.py,sha256=v4ZBMC-sy3JHNC9hC3_RDaoi9hIzWqOoD7B4Bvk3f4I,2663
|
|
42
42
|
adcp/types/generated_poc/creative_assignment.py,sha256=G5YOU1JxH6YKV-K9tWv4OqkIkK1lnBxGgFiXTZGkT_8,933
|
|
43
43
|
adcp/types/generated_poc/creative_manifest.py,sha256=Z6UCWDrAOzct8DuWNNmTO46apCf_5oRpNaSUVx_2CIU,2155
|
|
@@ -47,11 +47,12 @@ adcp/types/generated_poc/css_asset.py,sha256=oUGoxGhnPkZCtmlP6IoF828LU7K2wYnt8Y5
|
|
|
47
47
|
adcp/types/generated_poc/daast_asset.py,sha256=L3RE86oAA4GAeDdI-HTzvbgpLxiUOqlUrhWLLCMelHc,2401
|
|
48
48
|
adcp/types/generated_poc/delivery_metrics.py,sha256=qcsPadb6h5Ro_J5sKJYcK32WeY4ymrR8H2QJ2qI-m_k,4468
|
|
49
49
|
adcp/types/generated_poc/delivery_type.py,sha256=-jC7Xv99_j-U4LxEjbDzdMJ_WOdlANuE5-agStgCkPE,264
|
|
50
|
-
adcp/types/generated_poc/deployment.py,sha256=
|
|
51
|
-
adcp/types/generated_poc/destination.py,sha256=
|
|
50
|
+
adcp/types/generated_poc/deployment.py,sha256=dy186zXN8tzTQpZI-uD03Pf2KFPAN_4rs-9IjH0Ol5E,2861
|
|
51
|
+
adcp/types/generated_poc/destination.py,sha256=lsLuKToqtzf8DxKv8xZFugW0RSTJMjKQ707vg7n1FK0,1275
|
|
52
52
|
adcp/types/generated_poc/error.py,sha256=D4JaWK_K7xtMjgSTrvkDebn8h0gJJfc02B5tTEeCg8w,1014
|
|
53
53
|
adcp/types/generated_poc/flat_rate_option.py,sha256=h7pSLXxCltFwYaa-Ld3hxd1UGkutk9MU24xQgfHeT6U,2967
|
|
54
|
-
adcp/types/generated_poc/format.py,sha256=
|
|
54
|
+
adcp/types/generated_poc/format.py,sha256=qSzimVP9WpVwkuSdjEYzRne-i1UMrUaC_lnaMXbe96s,9069
|
|
55
|
+
adcp/types/generated_poc/format_category.py,sha256=xq1ApHMPJOv3dCBkzJAA5sCKWQu8Ts_Dern5a7SjdRI,362
|
|
55
56
|
adcp/types/generated_poc/format_id.py,sha256=J10JarmfjAeTIPxAxaO4NalKy7vfFqfcdjol2d23Bcs,864
|
|
56
57
|
adcp/types/generated_poc/frequency_cap.py,sha256=XHHyTZgkpEYB-n4uqHYcnVKLqyxuD0eR7DXCnAHzv7Q,475
|
|
57
58
|
adcp/types/generated_poc/frequency_cap_scope.py,sha256=O8HD_egs-xpXbSUQYZ9w2HwiC_hZa1aQvlxGJOIItvA,437
|
|
@@ -59,15 +60,15 @@ adcp/types/generated_poc/get_media_buy_delivery_request.py,sha256=mPl7QJJLsuaZxq
|
|
|
59
60
|
adcp/types/generated_poc/get_media_buy_delivery_response.py,sha256=VDBU8vfC3RbA6W1dWOO5IlC6HbqPgQtoD4gxMBdppYg,8164
|
|
60
61
|
adcp/types/generated_poc/get_products_request.py,sha256=7S-STQcMQeu8gevskVZJLRDqWuJeR5754GFmNmy3T40,2916
|
|
61
62
|
adcp/types/generated_poc/get_products_response.py,sha256=BZ8Cd9YzIu_Bischz1JTVLT4frmCf9574RATOlceRgI,934
|
|
62
|
-
adcp/types/generated_poc/get_signals_request.py,sha256
|
|
63
|
-
adcp/types/generated_poc/get_signals_response.py,sha256=
|
|
63
|
+
adcp/types/generated_poc/get_signals_request.py,sha256=-GdevbjuEUaRShOt_yAk2V6wFEH-IB9zbav7r0L90mw,2557
|
|
64
|
+
adcp/types/generated_poc/get_signals_response.py,sha256=wL7eSMT4zG3HbMvlxWw2Pe8j1O_qiamwKFqI9P1lJMQ,2206
|
|
64
65
|
adcp/types/generated_poc/html_asset.py,sha256=WgeUmtLtVlgqVLK965t4ZyxTV6HRR1wM2qyTXNSMddc,505
|
|
65
66
|
adcp/types/generated_poc/identifier_types.py,sha256=Cd4RcYUWLxG_g-hPEFaY40FOegNu32NNdbsKec54OVE,860
|
|
66
67
|
adcp/types/generated_poc/image_asset.py,sha256=t_KTwQjFlqBnB1Wl26cpBS3ohxFKWxkFyz1WKkrpA9M,836
|
|
67
68
|
adcp/types/generated_poc/javascript_asset.py,sha256=OLL1F1hr_hIbaqhesAeY_rM0edASRMzrZLqUoLcZdrs,640
|
|
68
69
|
adcp/types/generated_poc/list_authorized_properties_request.py,sha256=uq3irNREbcwnZdh8tL3BrT2thpsfl6ieaBx3MijscJQ,1283
|
|
69
70
|
adcp/types/generated_poc/list_authorized_properties_response.py,sha256=42FUGi2WOrkTKxZ79EVH-Mfn7xOvGxkNHqdhmOsKvCA,3260
|
|
70
|
-
adcp/types/generated_poc/list_creative_formats_request.py,sha256=
|
|
71
|
+
adcp/types/generated_poc/list_creative_formats_request.py,sha256=2vR7TosfLsmEBUGkXe1N2XsPjYb05TAdl3enfnPjxkQ,2886
|
|
71
72
|
adcp/types/generated_poc/list_creative_formats_response.py,sha256=0S_Lc_z2Hwxb4GQYjZcwv4B0-51WVV1TGbScUvAhLVc,2136
|
|
72
73
|
adcp/types/generated_poc/list_creatives_request.py,sha256=JhgkI4kse2AJ2omqWriTH6VwSyKcPJCkWsBiPNkdGr4,5319
|
|
73
74
|
adcp/types/generated_poc/list_creatives_response.py,sha256=_wAb4q5KNiTi8mWA7gAkupIfReeyoGl_GN9y4Kg7qg4,7455
|
|
@@ -110,7 +111,7 @@ adcp/types/generated_poc/tasks_list_request.py,sha256=ncYYLP9jN06yyYnZn7I8bcU3av
|
|
|
110
111
|
adcp/types/generated_poc/tasks_list_response.py,sha256=5R77z9D9uvWjqj44fOPNEDPUVeDn-O7nGx1WI9kq1JM,4063
|
|
111
112
|
adcp/types/generated_poc/text_asset.py,sha256=fiV29xHQtjv46q-RlttwUqnetMVzefpcAr-pBOJSIv4,532
|
|
112
113
|
adcp/types/generated_poc/update_media_buy_request.py,sha256=LvjUikN-D2HmgeQzXN-5Lj3ciprmz1HBI5qxfjoQhDY,6071
|
|
113
|
-
adcp/types/generated_poc/update_media_buy_response.py,sha256=
|
|
114
|
+
adcp/types/generated_poc/update_media_buy_response.py,sha256=Q6tSs5zt0bdAGxrQ7CL4V3chdthQFGcZxJIr8882XfA,2285
|
|
114
115
|
adcp/types/generated_poc/url_asset.py,sha256=jswm-gVfddxa5jii1ljbBHZrw3BAhjmGZlHmPGxAnZE,1114
|
|
115
116
|
adcp/types/generated_poc/vast_asset.py,sha256=LGzbgl_GVsSf9bcwuqiM6iM2GjSM81pW0Iz3DTrhWwM,2679
|
|
116
117
|
adcp/types/generated_poc/vcpm_auction_option.py,sha256=lWT55gEltr4415vu1eYNWZroKKi5AGlZfnqlvJBNmwg,2012
|
|
@@ -122,9 +123,9 @@ adcp/utils/__init__.py,sha256=uetvSJB19CjQbtwEYZiTnumJG11GsafQmXm5eR3hL7E,153
|
|
|
122
123
|
adcp/utils/operation_id.py,sha256=wQX9Bb5epXzRq23xoeYPTqzu5yLuhshg7lKJZihcM2k,294
|
|
123
124
|
adcp/utils/preview_cache.py,sha256=PH9bSDOPQzLKqkC_o0a9Xn2i4cNC2oy76dkJdS3j7ck,18491
|
|
124
125
|
adcp/utils/response_parser.py,sha256=uPk2vIH-RYZmq7y3i8lC4HTMQ3FfKdlgXKTjgJ1955M,6253
|
|
125
|
-
adcp-2.
|
|
126
|
-
adcp-2.
|
|
127
|
-
adcp-2.
|
|
128
|
-
adcp-2.
|
|
129
|
-
adcp-2.
|
|
130
|
-
adcp-2.
|
|
126
|
+
adcp-2.9.0.dist-info/licenses/LICENSE,sha256=PF39NR3Ae8PLgBhg3Uxw6ju7iGVIf8hfv9LRWQdii_U,629
|
|
127
|
+
adcp-2.9.0.dist-info/METADATA,sha256=KZ4Ll6ntUHU-CjH0SAMMvjPjzpUIPd37zDq0aWgjJsU,31357
|
|
128
|
+
adcp-2.9.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
129
|
+
adcp-2.9.0.dist-info/entry_points.txt,sha256=DQKpcGsJX8DtVI_SGApQ7tNvqUB4zkTLaTAEpFgmi3U,44
|
|
130
|
+
adcp-2.9.0.dist-info/top_level.txt,sha256=T1_NF0GefncFU9v_k56oDwKSJREyCqIM8lAwNZf0EOs,5
|
|
131
|
+
adcp-2.9.0.dist-info/RECORD,,
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
# generated by datamodel-codegen:
|
|
2
|
-
# filename: asset-type.json
|
|
3
|
-
# timestamp: 2025-11-18T03:35:10+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
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
class ContentLength(AdCPBaseModel):
|
|
15
|
-
max_characters: Annotated[int | None, Field(ge=1)] = None
|
|
16
|
-
max_words: Annotated[int | None, Field(ge=1)] = None
|
|
17
|
-
min_characters: Annotated[int | None, Field(ge=0)] = None
|
|
18
|
-
min_words: Annotated[int | None, Field(ge=0)] = None
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
class Dimensions(AdCPBaseModel):
|
|
22
|
-
aspect_ratio: str | None = None
|
|
23
|
-
height: Annotated[int | None, Field(ge=1)] = None
|
|
24
|
-
max_height: Annotated[int | None, Field(ge=1)] = None
|
|
25
|
-
max_width: Annotated[int | None, Field(ge=1)] = None
|
|
26
|
-
min_height: Annotated[int | None, Field(ge=1)] = None
|
|
27
|
-
min_width: Annotated[int | None, Field(ge=1)] = None
|
|
28
|
-
width: Annotated[int | None, Field(ge=1)] = None
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
class Duration(AdCPBaseModel):
|
|
32
|
-
exact_seconds: Annotated[float | None, Field(ge=0.0)] = None
|
|
33
|
-
max_seconds: Annotated[float | None, Field(ge=0.0)] = None
|
|
34
|
-
min_seconds: Annotated[float | None, Field(ge=0.0)] = None
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
class FileSize(AdCPBaseModel):
|
|
38
|
-
max_bytes: Annotated[int | None, Field(ge=1)] = None
|
|
39
|
-
min_bytes: Annotated[int | None, Field(ge=0)] = None
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
class Quality(AdCPBaseModel):
|
|
43
|
-
max_bitrate_kbps: Annotated[int | None, Field(ge=1)] = None
|
|
44
|
-
min_bitrate_kbps: Annotated[int | None, Field(ge=1)] = None
|
|
45
|
-
min_resolution_dpi: Annotated[int | None, Field(ge=72)] = None
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
class Requirements(AdCPBaseModel):
|
|
49
|
-
model_config = ConfigDict(
|
|
50
|
-
extra='forbid',
|
|
51
|
-
)
|
|
52
|
-
content_length: ContentLength | None = None
|
|
53
|
-
dimensions: Dimensions | None = None
|
|
54
|
-
duration: Duration | None = None
|
|
55
|
-
file_formats: Annotated[
|
|
56
|
-
list[str] | None,
|
|
57
|
-
Field(description="Acceptable file formats (e.g., ['jpg', 'png'] for images)"),
|
|
58
|
-
] = None
|
|
59
|
-
file_size: FileSize | None = None
|
|
60
|
-
quality: Quality | None = None
|
|
61
|
-
|
|
62
|
-
|
|
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'
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
class AssetTypeSchema(AdCPBaseModel):
|
|
78
|
-
model_config = ConfigDict(
|
|
79
|
-
extra='forbid',
|
|
80
|
-
)
|
|
81
|
-
asset_role: Annotated[
|
|
82
|
-
str,
|
|
83
|
-
Field(
|
|
84
|
-
description="Role or purpose of this asset in the creative (e.g., 'hero_image', 'logo', 'cta_button')"
|
|
85
|
-
),
|
|
86
|
-
]
|
|
87
|
-
constraints: Annotated[
|
|
88
|
-
list[str] | None,
|
|
89
|
-
Field(description='Additional constraints or requirements (human-readable)'),
|
|
90
|
-
] = None
|
|
91
|
-
examples: Annotated[
|
|
92
|
-
list[str] | None, Field(description='Example values or descriptions for this asset')
|
|
93
|
-
] = None
|
|
94
|
-
required: Annotated[
|
|
95
|
-
bool | None, Field(description='Whether this asset is mandatory for the format')
|
|
96
|
-
] = True
|
|
97
|
-
requirements: Annotated[
|
|
98
|
-
Requirements | None, Field(description='Technical requirements for this asset type')
|
|
99
|
-
] = None
|
|
100
|
-
type: Annotated[Type, Field(description='Type of asset')]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|