adcp 2.3.0__py3-none-any.whl → 2.4.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 (107) hide show
  1. adcp/__init__.py +1 -1
  2. adcp/types/generated.py +36 -531
  3. adcp/types/generated_poc/__init__.py +1 -1
  4. adcp/types/generated_poc/activate_signal_request.py +5 -5
  5. adcp/types/generated_poc/activate_signal_response.py +9 -9
  6. adcp/types/generated_poc/activation_key.py +8 -8
  7. adcp/types/generated_poc/adagents.py +46 -46
  8. adcp/types/generated_poc/asset_type.py +19 -19
  9. adcp/types/generated_poc/audio_asset.py +6 -6
  10. adcp/types/generated_poc/brand_manifest.py +73 -73
  11. adcp/types/generated_poc/build_creative_request.py +6 -6
  12. adcp/types/generated_poc/build_creative_response.py +9 -9
  13. adcp/types/generated_poc/channels.py +10 -10
  14. adcp/types/generated_poc/cpc_option.py +12 -8
  15. adcp/types/generated_poc/cpcv_option.py +12 -8
  16. adcp/types/generated_poc/cpm_auction_option.py +17 -13
  17. adcp/types/generated_poc/cpm_fixed_option.py +12 -8
  18. adcp/types/generated_poc/cpp_option.py +17 -13
  19. adcp/types/generated_poc/cpv_option.py +16 -12
  20. adcp/types/generated_poc/create_media_buy_request.py +29 -29
  21. adcp/types/generated_poc/create_media_buy_response.py +11 -11
  22. adcp/types/generated_poc/creative_asset.py +13 -13
  23. adcp/types/generated_poc/creative_assignment.py +4 -4
  24. adcp/types/generated_poc/creative_manifest.py +4 -4
  25. adcp/types/generated_poc/creative_policy.py +11 -11
  26. adcp/types/generated_poc/creative_status.py +5 -5
  27. adcp/types/generated_poc/css_asset.py +3 -3
  28. adcp/types/generated_poc/daast_asset.py +30 -30
  29. adcp/types/generated_poc/delivery_metrics.py +33 -33
  30. adcp/types/generated_poc/delivery_type.py +3 -3
  31. adcp/types/generated_poc/deployment.py +21 -21
  32. adcp/types/generated_poc/destination.py +10 -10
  33. adcp/types/generated_poc/error.py +7 -7
  34. adcp/types/generated_poc/flat_rate_option.py +16 -16
  35. adcp/types/generated_poc/format.py +70 -70
  36. adcp/types/generated_poc/format_id.py +3 -3
  37. adcp/types/generated_poc/frequency_cap.py +3 -3
  38. adcp/types/generated_poc/frequency_cap_scope.py +4 -4
  39. adcp/types/generated_poc/get_media_buy_delivery_request.py +21 -21
  40. adcp/types/generated_poc/get_media_buy_delivery_response.py +46 -46
  41. adcp/types/generated_poc/get_products_request.py +23 -23
  42. adcp/types/generated_poc/get_products_response.py +5 -5
  43. adcp/types/generated_poc/get_signals_request.py +19 -19
  44. adcp/types/generated_poc/get_signals_response.py +20 -20
  45. adcp/types/generated_poc/html_asset.py +3 -3
  46. adcp/types/generated_poc/identifier_types.py +20 -20
  47. adcp/types/generated_poc/image_asset.py +7 -7
  48. adcp/types/generated_poc/javascript_asset.py +7 -7
  49. adcp/types/generated_poc/list_authorized_properties_request.py +5 -5
  50. adcp/types/generated_poc/list_authorized_properties_response.py +9 -9
  51. adcp/types/generated_poc/list_creative_formats_request.py +22 -22
  52. adcp/types/generated_poc/list_creative_formats_response.py +11 -11
  53. adcp/types/generated_poc/list_creatives_request.py +51 -51
  54. adcp/types/generated_poc/list_creatives_response.py +61 -61
  55. adcp/types/generated_poc/markdown_asset.py +7 -7
  56. adcp/types/generated_poc/measurement.py +9 -9
  57. adcp/types/generated_poc/media_buy.py +8 -8
  58. adcp/types/generated_poc/media_buy_status.py +5 -5
  59. adcp/types/generated_poc/pacing.py +4 -4
  60. adcp/types/generated_poc/package.py +8 -8
  61. adcp/types/generated_poc/package_request.py +7 -7
  62. adcp/types/generated_poc/package_status.py +5 -5
  63. adcp/types/generated_poc/performance_feedback.py +31 -31
  64. adcp/types/generated_poc/placement.py +4 -4
  65. adcp/types/generated_poc/preview_creative_request.py +28 -28
  66. adcp/types/generated_poc/preview_creative_response.py +31 -31
  67. adcp/types/generated_poc/preview_render.py +36 -28
  68. adcp/types/generated_poc/pricing_model.py +8 -8
  69. adcp/types/generated_poc/product.py +32 -31
  70. adcp/types/generated_poc/promoted_offerings.py +29 -29
  71. adcp/types/generated_poc/promoted_products.py +3 -3
  72. adcp/types/generated_poc/property.py +18 -18
  73. adcp/types/generated_poc/protocol_envelope.py +9 -9
  74. adcp/types/generated_poc/provide_performance_feedback_request.py +24 -24
  75. adcp/types/generated_poc/provide_performance_feedback_response.py +9 -9
  76. adcp/types/generated_poc/publisher_identifier_types.py +6 -6
  77. adcp/types/generated_poc/push_notification_config.py +9 -9
  78. adcp/types/generated_poc/reporting_capabilities.py +21 -21
  79. adcp/types/generated_poc/response.py +5 -5
  80. adcp/types/generated_poc/standard_format_ids.py +36 -36
  81. adcp/types/generated_poc/sub_asset.py +13 -13
  82. adcp/types/generated_poc/sync_creatives_request.py +11 -11
  83. adcp/types/generated_poc/sync_creatives_response.py +23 -23
  84. adcp/types/generated_poc/targeting.py +9 -9
  85. adcp/types/generated_poc/task_status.py +10 -10
  86. adcp/types/generated_poc/task_type.py +6 -6
  87. adcp/types/generated_poc/tasks_get_request.py +5 -5
  88. adcp/types/generated_poc/tasks_get_response.py +35 -35
  89. adcp/types/generated_poc/tasks_list_request.py +36 -36
  90. adcp/types/generated_poc/tasks_list_response.py +35 -35
  91. adcp/types/generated_poc/text_asset.py +3 -3
  92. adcp/types/generated_poc/update_media_buy_request.py +27 -27
  93. adcp/types/generated_poc/update_media_buy_response.py +11 -11
  94. adcp/types/generated_poc/url_asset.py +7 -7
  95. adcp/types/generated_poc/vast_asset.py +38 -38
  96. adcp/types/generated_poc/vcpm_auction_option.py +17 -13
  97. adcp/types/generated_poc/vcpm_fixed_option.py +12 -8
  98. adcp/types/generated_poc/video_asset.py +8 -8
  99. adcp/types/generated_poc/webhook_asset.py +19 -19
  100. adcp/types/generated_poc/webhook_payload.py +18 -18
  101. {adcp-2.3.0.dist-info → adcp-2.4.0.dist-info}/METADATA +1 -1
  102. adcp-2.4.0.dist-info/RECORD +132 -0
  103. adcp-2.3.0.dist-info/RECORD +0 -132
  104. {adcp-2.3.0.dist-info → adcp-2.4.0.dist-info}/WHEEL +0 -0
  105. {adcp-2.3.0.dist-info → adcp-2.4.0.dist-info}/entry_points.txt +0 -0
  106. {adcp-2.3.0.dist-info → adcp-2.4.0.dist-info}/licenses/LICENSE +0 -0
  107. {adcp-2.3.0.dist-info → adcp-2.4.0.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: targeting.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,41 +13,41 @@ from . import frequency_cap as frequency_cap_1
13
13
 
14
14
 
15
15
  class GeoCountryAnyOfItem(RootModel[str]):
16
- root: Annotated[str, Field(pattern="^[A-Z]{2}$")]
16
+ root: Annotated[str, Field(pattern='^[A-Z]{2}$')]
17
17
 
18
18
 
19
19
  class TargetingOverlay(AdCPBaseModel):
20
20
  model_config = ConfigDict(
21
- extra="forbid",
21
+ extra='forbid',
22
22
  )
23
23
  axe_exclude_segment: Annotated[
24
- str | None, Field(description="AXE segment ID to exclude from targeting")
24
+ str | None, Field(description='AXE segment ID to exclude from targeting')
25
25
  ] = None
26
26
  axe_include_segment: Annotated[
27
- str | None, Field(description="AXE segment ID to include for targeting")
27
+ str | None, Field(description='AXE segment ID to include for targeting')
28
28
  ] = None
29
29
  frequency_cap: frequency_cap_1.FrequencyCap | None = None
30
30
  geo_country_any_of: Annotated[
31
31
  list[GeoCountryAnyOfItem] | None,
32
32
  Field(
33
- description="Restrict delivery to specific countries (ISO codes). Use for regulatory compliance or RCT testing."
33
+ description='Restrict delivery to specific countries (ISO codes). Use for regulatory compliance or RCT testing.'
34
34
  ),
35
35
  ] = None
36
36
  geo_metro_any_of: Annotated[
37
37
  list[str] | None,
38
38
  Field(
39
- description="Restrict delivery to specific metro areas (DMA codes). Use for regulatory compliance or RCT testing."
39
+ description='Restrict delivery to specific metro areas (DMA codes). Use for regulatory compliance or RCT testing.'
40
40
  ),
41
41
  ] = None
42
42
  geo_postal_code_any_of: Annotated[
43
43
  list[str] | None,
44
44
  Field(
45
- description="Restrict delivery to specific postal/ZIP codes. Use for regulatory compliance or RCT testing."
45
+ description='Restrict delivery to specific postal/ZIP codes. Use for regulatory compliance or RCT testing.'
46
46
  ),
47
47
  ] = None
48
48
  geo_region_any_of: Annotated[
49
49
  list[str] | None,
50
50
  Field(
51
- description="Restrict delivery to specific regions/states. Use for regulatory compliance or RCT testing."
51
+ description='Restrict delivery to specific regions/states. Use for regulatory compliance or RCT testing.'
52
52
  ),
53
53
  ] = None
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: task-status.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
 
@@ -8,12 +8,12 @@ from enum import Enum
8
8
 
9
9
 
10
10
  class TaskStatus(Enum):
11
- submitted = "submitted"
12
- working = "working"
13
- input_required = "input-required"
14
- completed = "completed"
15
- canceled = "canceled"
16
- failed = "failed"
17
- rejected = "rejected"
18
- auth_required = "auth-required"
19
- unknown = "unknown"
11
+ submitted = 'submitted'
12
+ working = 'working'
13
+ input_required = 'input-required'
14
+ completed = 'completed'
15
+ canceled = 'canceled'
16
+ failed = 'failed'
17
+ rejected = 'rejected'
18
+ auth_required = 'auth-required'
19
+ unknown = 'unknown'
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: task-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
 
@@ -8,8 +8,8 @@ from enum import Enum
8
8
 
9
9
 
10
10
  class TaskType(Enum):
11
- create_media_buy = "create_media_buy"
12
- update_media_buy = "update_media_buy"
13
- sync_creatives = "sync_creatives"
14
- activate_signal = "activate_signal"
15
- get_signals = "get_signals"
11
+ create_media_buy = 'create_media_buy'
12
+ update_media_buy = 'update_media_buy'
13
+ sync_creatives = 'sync_creatives'
14
+ activate_signal = 'activate_signal'
15
+ get_signals = 'get_signals'
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: tasks-get-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
 
@@ -12,18 +12,18 @@ from pydantic import ConfigDict, Field
12
12
 
13
13
  class TasksGetRequest(AdCPBaseModel):
14
14
  model_config = ConfigDict(
15
- extra="forbid",
15
+ extra='forbid',
16
16
  )
17
17
  context: Annotated[
18
18
  dict[str, Any] | None,
19
19
  Field(
20
- 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."
20
+ 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.'
21
21
  ),
22
22
  ] = None
23
23
  include_history: Annotated[
24
24
  bool | None,
25
25
  Field(
26
- description="Include full conversation history for this task (may increase response size)"
26
+ description='Include full conversation history for this task (may increase response size)'
27
27
  ),
28
28
  ] = False
29
- task_id: Annotated[str, Field(description="Unique identifier of the task to retrieve")]
29
+ task_id: Annotated[str, Field(description='Unique identifier of the task to retrieve')]
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: tasks-get-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
 
@@ -15,98 +15,98 @@ from . import task_type as task_type_1
15
15
 
16
16
 
17
17
  class Domain(Enum):
18
- media_buy = "media-buy"
19
- signals = "signals"
18
+ media_buy = 'media-buy'
19
+ signals = 'signals'
20
20
 
21
21
 
22
22
  class Details(AdCPBaseModel):
23
23
  model_config = ConfigDict(
24
- extra="allow",
24
+ extra='allow',
25
25
  )
26
- domain: Annotated[Domain | None, Field(description="AdCP domain where error occurred")] = None
27
- operation: Annotated[str | None, Field(description="Specific operation that failed")] = None
26
+ domain: Annotated[Domain | None, Field(description='AdCP domain where error occurred')] = None
27
+ operation: Annotated[str | None, Field(description='Specific operation that failed')] = None
28
28
  specific_context: Annotated[
29
- dict[str, Any] | None, Field(description="Domain-specific error context")
29
+ dict[str, Any] | None, Field(description='Domain-specific error context')
30
30
  ] = None
31
31
 
32
32
 
33
33
  class Error(AdCPBaseModel):
34
34
  model_config = ConfigDict(
35
- extra="forbid",
35
+ extra='forbid',
36
36
  )
37
- code: Annotated[str, Field(description="Error code for programmatic handling")]
38
- details: Annotated[Details | None, Field(description="Additional error context")] = None
39
- message: Annotated[str, Field(description="Detailed error message")]
37
+ code: Annotated[str, Field(description='Error code for programmatic handling')]
38
+ details: Annotated[Details | None, Field(description='Additional error context')] = None
39
+ message: Annotated[str, Field(description='Detailed error message')]
40
40
 
41
41
 
42
42
  class Type(Enum):
43
- request = "request"
44
- response = "response"
43
+ request = 'request'
44
+ response = 'response'
45
45
 
46
46
 
47
47
  class HistoryItem(AdCPBaseModel):
48
48
  model_config = ConfigDict(
49
- extra="forbid",
49
+ extra='forbid',
50
50
  )
51
- data: Annotated[dict[str, Any], Field(description="The full request or response payload")]
52
- timestamp: Annotated[AwareDatetime, Field(description="When this exchange occurred (ISO 8601)")]
51
+ data: Annotated[dict[str, Any], Field(description='The full request or response payload')]
52
+ timestamp: Annotated[AwareDatetime, Field(description='When this exchange occurred (ISO 8601)')]
53
53
  type: Annotated[
54
- Type, Field(description="Whether this was a request from client or response from server")
54
+ Type, Field(description='Whether this was a request from client or response from server')
55
55
  ]
56
56
 
57
57
 
58
58
  class Progress(AdCPBaseModel):
59
59
  model_config = ConfigDict(
60
- extra="forbid",
60
+ extra='forbid',
61
61
  )
62
62
  current_step: Annotated[
63
- str | None, Field(description="Current step or phase of the operation")
63
+ str | None, Field(description='Current step or phase of the operation')
64
64
  ] = None
65
65
  percentage: Annotated[
66
- float | None, Field(description="Completion percentage (0-100)", ge=0.0, le=100.0)
66
+ float | None, Field(description='Completion percentage (0-100)', ge=0.0, le=100.0)
67
67
  ] = None
68
- step_number: Annotated[int | None, Field(description="Current step number", ge=1)] = None
68
+ step_number: Annotated[int | None, Field(description='Current step number', ge=1)] = None
69
69
  total_steps: Annotated[
70
- int | None, Field(description="Total number of steps in the operation", ge=1)
70
+ int | None, Field(description='Total number of steps in the operation', ge=1)
71
71
  ] = None
72
72
 
73
73
 
74
74
  class TasksGetResponse(AdCPBaseModel):
75
75
  model_config = ConfigDict(
76
- extra="forbid",
76
+ extra='forbid',
77
77
  )
78
78
  completed_at: Annotated[
79
79
  AwareDatetime | None,
80
80
  Field(
81
- description="When the task completed (ISO 8601, only for completed/failed/canceled tasks)"
81
+ description='When the task completed (ISO 8601, only for completed/failed/canceled tasks)'
82
82
  ),
83
83
  ] = None
84
84
  context: Annotated[
85
85
  dict[str, Any] | None,
86
86
  Field(
87
- description="Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers."
87
+ description='Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers.'
88
88
  ),
89
89
  ] = None
90
90
  created_at: Annotated[
91
- AwareDatetime, Field(description="When the task was initially created (ISO 8601)")
91
+ AwareDatetime, Field(description='When the task was initially created (ISO 8601)')
92
92
  ]
93
- domain: Annotated[Domain, Field(description="AdCP domain this task belongs to")]
94
- error: Annotated[Error | None, Field(description="Error details for failed tasks")] = None
93
+ domain: Annotated[Domain, Field(description='AdCP domain this task belongs to')]
94
+ error: Annotated[Error | None, Field(description='Error details for failed tasks')] = None
95
95
  has_webhook: Annotated[
96
- bool | None, Field(description="Whether this task has webhook configuration")
96
+ bool | None, Field(description='Whether this task has webhook configuration')
97
97
  ] = None
98
98
  history: Annotated[
99
99
  list[HistoryItem] | None,
100
100
  Field(
101
- description="Complete conversation history for this task (only included if include_history was true in request)"
101
+ description='Complete conversation history for this task (only included if include_history was true in request)'
102
102
  ),
103
103
  ] = None
104
104
  progress: Annotated[
105
- Progress | None, Field(description="Progress information for long-running tasks")
105
+ Progress | None, Field(description='Progress information for long-running tasks')
106
106
  ] = None
107
- status: Annotated[task_status.TaskStatus, Field(description="Current task status")]
108
- task_id: Annotated[str, Field(description="Unique identifier for this task")]
109
- task_type: Annotated[task_type_1.TaskType, Field(description="Type of AdCP operation")]
107
+ status: Annotated[task_status.TaskStatus, Field(description='Current task status')]
108
+ task_id: Annotated[str, Field(description='Unique identifier for this task')]
109
+ task_type: Annotated[task_type_1.TaskType, Field(description='Type of AdCP operation')]
110
110
  updated_at: Annotated[
111
- AwareDatetime, Field(description="When the task was last updated (ISO 8601)")
111
+ AwareDatetime, Field(description='When the task was last updated (ISO 8601)')
112
112
  ]
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: tasks-list-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
 
@@ -15,107 +15,107 @@ from . import task_type as task_type_1
15
15
 
16
16
 
17
17
  class Domain(Enum):
18
- media_buy = "media-buy"
19
- signals = "signals"
18
+ media_buy = 'media-buy'
19
+ signals = 'signals'
20
20
 
21
21
 
22
22
  class Filters(AdCPBaseModel):
23
23
  model_config = ConfigDict(
24
- extra="forbid",
24
+ extra='forbid',
25
25
  )
26
26
  context_contains: Annotated[
27
27
  str | None,
28
28
  Field(
29
- description="Filter tasks where context contains this text (searches buyer_ref, media_buy_id, signal_id, etc.)"
29
+ description='Filter tasks where context contains this text (searches buyer_ref, media_buy_id, signal_id, etc.)'
30
30
  ),
31
31
  ] = None
32
32
  created_after: Annotated[
33
- AwareDatetime | None, Field(description="Filter tasks created after this date (ISO 8601)")
33
+ AwareDatetime | None, Field(description='Filter tasks created after this date (ISO 8601)')
34
34
  ] = None
35
35
  created_before: Annotated[
36
- AwareDatetime | None, Field(description="Filter tasks created before this date (ISO 8601)")
36
+ AwareDatetime | None, Field(description='Filter tasks created before this date (ISO 8601)')
37
37
  ] = None
38
- domain: Annotated[Domain | None, Field(description="Filter by single AdCP domain")] = None
38
+ domain: Annotated[Domain | None, Field(description='Filter by single AdCP domain')] = None
39
39
  domains: Annotated[
40
- list[Domain] | None, Field(description="Filter by multiple AdCP domains")
40
+ list[Domain] | None, Field(description='Filter by multiple AdCP domains')
41
41
  ] = None
42
42
  has_webhook: Annotated[
43
- bool | None, Field(description="Filter tasks that have webhook configuration when true")
43
+ bool | None, Field(description='Filter tasks that have webhook configuration when true')
44
44
  ] = None
45
45
  status: Annotated[
46
- task_status.TaskStatus | None, Field(description="Filter by single task status")
46
+ task_status.TaskStatus | None, Field(description='Filter by single task status')
47
47
  ] = None
48
48
  statuses: Annotated[
49
- list[task_status.TaskStatus] | None, Field(description="Filter by multiple task statuses")
49
+ list[task_status.TaskStatus] | None, Field(description='Filter by multiple task statuses')
50
50
  ] = None
51
51
  task_ids: Annotated[
52
- list[str] | None, Field(description="Filter by specific task IDs", max_length=100)
52
+ list[str] | None, Field(description='Filter by specific task IDs', max_length=100)
53
53
  ] = None
54
54
  task_type: Annotated[
55
- task_type_1.TaskType | None, Field(description="Filter by single task type")
55
+ task_type_1.TaskType | None, Field(description='Filter by single task type')
56
56
  ] = None
57
57
  task_types: Annotated[
58
- list[task_type_1.TaskType] | None, Field(description="Filter by multiple task types")
58
+ list[task_type_1.TaskType] | None, Field(description='Filter by multiple task types')
59
59
  ] = None
60
60
  updated_after: Annotated[
61
61
  AwareDatetime | None,
62
- Field(description="Filter tasks last updated after this date (ISO 8601)"),
62
+ Field(description='Filter tasks last updated after this date (ISO 8601)'),
63
63
  ] = None
64
64
  updated_before: Annotated[
65
65
  AwareDatetime | None,
66
- Field(description="Filter tasks last updated before this date (ISO 8601)"),
66
+ Field(description='Filter tasks last updated before this date (ISO 8601)'),
67
67
  ] = None
68
68
 
69
69
 
70
70
  class Pagination(AdCPBaseModel):
71
71
  model_config = ConfigDict(
72
- extra="forbid",
72
+ extra='forbid',
73
73
  )
74
74
  limit: Annotated[
75
- int | None, Field(description="Maximum number of tasks to return", ge=1, le=100)
75
+ int | None, Field(description='Maximum number of tasks to return', ge=1, le=100)
76
76
  ] = 50
77
- offset: Annotated[int | None, Field(description="Number of tasks to skip", ge=0)] = 0
77
+ offset: Annotated[int | None, Field(description='Number of tasks to skip', ge=0)] = 0
78
78
 
79
79
 
80
80
  class Direction(Enum):
81
- asc = "asc"
82
- desc = "desc"
81
+ asc = 'asc'
82
+ desc = 'desc'
83
83
 
84
84
 
85
85
  class Field1(Enum):
86
- created_at = "created_at"
87
- updated_at = "updated_at"
88
- status = "status"
89
- task_type = "task_type"
90
- domain = "domain"
86
+ created_at = 'created_at'
87
+ updated_at = 'updated_at'
88
+ status = 'status'
89
+ task_type = 'task_type'
90
+ domain = 'domain'
91
91
 
92
92
 
93
93
  class Sort(AdCPBaseModel):
94
94
  model_config = ConfigDict(
95
- extra="forbid",
95
+ extra='forbid',
96
96
  )
97
- direction: Annotated[Direction | None, Field(description="Sort direction")] = Direction.desc
98
- field: Annotated[Field1 | None, Field(description="Field to sort by")] = Field1.created_at
97
+ direction: Annotated[Direction | None, Field(description='Sort direction')] = Direction.desc
98
+ field: Annotated[Field1 | None, Field(description='Field to sort by')] = Field1.created_at
99
99
 
100
100
 
101
101
  class TasksListRequest(AdCPBaseModel):
102
102
  model_config = ConfigDict(
103
- extra="forbid",
103
+ extra='forbid',
104
104
  )
105
105
  context: Annotated[
106
106
  dict[str, Any] | None,
107
107
  Field(
108
- 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."
108
+ 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.'
109
109
  ),
110
110
  ] = None
111
- filters: Annotated[Filters | None, Field(description="Filter criteria for querying tasks")] = (
111
+ filters: Annotated[Filters | None, Field(description='Filter criteria for querying tasks')] = (
112
112
  None
113
113
  )
114
114
  include_history: Annotated[
115
115
  bool | None,
116
116
  Field(
117
- description="Include full conversation history for each task (may significantly increase response size)"
117
+ description='Include full conversation history for each task (may significantly increase response size)'
118
118
  ),
119
119
  ] = False
120
- pagination: Annotated[Pagination | None, Field(description="Pagination parameters")] = None
121
- sort: Annotated[Sort | None, Field(description="Sorting parameters")] = None
120
+ pagination: Annotated[Pagination | None, Field(description='Pagination parameters')] = None
121
+ sort: Annotated[Sort | None, Field(description='Sorting parameters')] = None
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: tasks-list-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
 
@@ -16,38 +16,38 @@ from . import task_type as task_type_1
16
16
 
17
17
  class Pagination(AdCPBaseModel):
18
18
  model_config = ConfigDict(
19
- extra="forbid",
19
+ extra='forbid',
20
20
  )
21
- has_more: Annotated[bool, Field(description="Whether there are more tasks beyond this page")]
22
- limit: Annotated[int, Field(description="Limit that was applied to this query", ge=1)]
21
+ has_more: Annotated[bool, Field(description='Whether there are more tasks beyond this page')]
22
+ limit: Annotated[int, Field(description='Limit that was applied to this query', ge=1)]
23
23
  next_offset: Annotated[
24
24
  int | None,
25
- Field(description="Offset to use for next page (only present if has_more is true)", ge=0),
25
+ Field(description='Offset to use for next page (only present if has_more is true)', ge=0),
26
26
  ] = None
27
- offset: Annotated[int, Field(description="Offset that was applied to this query", ge=0)]
27
+ offset: Annotated[int, Field(description='Offset that was applied to this query', ge=0)]
28
28
 
29
29
 
30
30
  class DomainBreakdown(AdCPBaseModel):
31
31
  model_config = ConfigDict(
32
- extra="forbid",
32
+ extra='forbid',
33
33
  )
34
34
  media_buy: Annotated[
35
35
  int | None,
36
- Field(alias="media-buy", description="Number of media-buy tasks in results", ge=0),
36
+ Field(alias='media-buy', description='Number of media-buy tasks in results', ge=0),
37
37
  ] = None
38
38
  signals: Annotated[
39
- int | None, Field(description="Number of signals tasks in results", ge=0)
39
+ int | None, Field(description='Number of signals tasks in results', ge=0)
40
40
  ] = None
41
41
 
42
42
 
43
43
  class Direction(Enum):
44
- asc = "asc"
45
- desc = "desc"
44
+ asc = 'asc'
45
+ desc = 'desc'
46
46
 
47
47
 
48
48
  class SortApplied(AdCPBaseModel):
49
49
  model_config = ConfigDict(
50
- extra="forbid",
50
+ extra='forbid',
51
51
  )
52
52
  direction: Direction
53
53
  field: str
@@ -55,68 +55,68 @@ class SortApplied(AdCPBaseModel):
55
55
 
56
56
  class QuerySummary(AdCPBaseModel):
57
57
  model_config = ConfigDict(
58
- extra="forbid",
58
+ extra='forbid',
59
59
  )
60
60
  domain_breakdown: Annotated[
61
- DomainBreakdown | None, Field(description="Count of tasks by domain")
61
+ DomainBreakdown | None, Field(description='Count of tasks by domain')
62
62
  ] = None
63
63
  filters_applied: Annotated[
64
- list[str] | None, Field(description="List of filters that were applied to the query")
64
+ list[str] | None, Field(description='List of filters that were applied to the query')
65
65
  ] = None
66
- returned: Annotated[int, Field(description="Number of tasks returned in this response", ge=0)]
66
+ returned: Annotated[int, Field(description='Number of tasks returned in this response', ge=0)]
67
67
  sort_applied: Annotated[
68
- SortApplied | None, Field(description="Sort order that was applied")
68
+ SortApplied | None, Field(description='Sort order that was applied')
69
69
  ] = None
70
70
  status_breakdown: Annotated[
71
- dict[str, int] | None, Field(description="Count of tasks by status")
71
+ dict[str, int] | None, Field(description='Count of tasks by status')
72
72
  ] = None
73
73
  total_matching: Annotated[
74
- int, Field(description="Total number of tasks matching filters (across all pages)", ge=0)
74
+ int, Field(description='Total number of tasks matching filters (across all pages)', ge=0)
75
75
  ]
76
76
 
77
77
 
78
78
  class Domain(Enum):
79
- media_buy = "media-buy"
80
- signals = "signals"
79
+ media_buy = 'media-buy'
80
+ signals = 'signals'
81
81
 
82
82
 
83
83
  class Task(AdCPBaseModel):
84
84
  model_config = ConfigDict(
85
- extra="forbid",
85
+ extra='forbid',
86
86
  )
87
87
  completed_at: Annotated[
88
88
  AwareDatetime | None,
89
89
  Field(
90
- description="When the task completed (ISO 8601, only for completed/failed/canceled tasks)"
90
+ description='When the task completed (ISO 8601, only for completed/failed/canceled tasks)'
91
91
  ),
92
92
  ] = None
93
93
  created_at: Annotated[
94
- AwareDatetime, Field(description="When the task was initially created (ISO 8601)")
94
+ AwareDatetime, Field(description='When the task was initially created (ISO 8601)')
95
95
  ]
96
- domain: Annotated[Domain, Field(description="AdCP domain this task belongs to")]
96
+ domain: Annotated[Domain, Field(description='AdCP domain this task belongs to')]
97
97
  has_webhook: Annotated[
98
- bool | None, Field(description="Whether this task has webhook configuration")
98
+ bool | None, Field(description='Whether this task has webhook configuration')
99
99
  ] = None
100
- status: Annotated[task_status.TaskStatus, Field(description="Current task status")]
101
- task_id: Annotated[str, Field(description="Unique identifier for this task")]
102
- task_type: Annotated[task_type_1.TaskType, Field(description="Type of AdCP operation")]
100
+ status: Annotated[task_status.TaskStatus, Field(description='Current task status')]
101
+ task_id: Annotated[str, Field(description='Unique identifier for this task')]
102
+ task_type: Annotated[task_type_1.TaskType, Field(description='Type of AdCP operation')]
103
103
  updated_at: Annotated[
104
- AwareDatetime, Field(description="When the task was last updated (ISO 8601)")
104
+ AwareDatetime, Field(description='When the task was last updated (ISO 8601)')
105
105
  ]
106
106
 
107
107
 
108
108
  class TasksListResponse(AdCPBaseModel):
109
109
  model_config = ConfigDict(
110
- extra="forbid",
110
+ extra='forbid',
111
111
  )
112
112
  context: Annotated[
113
113
  dict[str, Any] | None,
114
114
  Field(
115
- description="Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers."
115
+ description='Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers.'
116
116
  ),
117
117
  ] = None
118
- pagination: Annotated[Pagination, Field(description="Pagination information")]
118
+ pagination: Annotated[Pagination, Field(description='Pagination information')]
119
119
  query_summary: Annotated[
120
- QuerySummary, Field(description="Summary of the query that was executed")
120
+ QuerySummary, Field(description='Summary of the query that was executed')
121
121
  ]
122
- tasks: Annotated[list[Task], Field(description="Array of tasks matching the query criteria")]
122
+ tasks: Annotated[list[Task], Field(description='Array of tasks matching the query criteria')]
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: text-asset.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
 
@@ -12,9 +12,9 @@ from pydantic import ConfigDict, Field
12
12
 
13
13
  class TextAsset(AdCPBaseModel):
14
14
  model_config = ConfigDict(
15
- extra="forbid",
15
+ extra='forbid',
16
16
  )
17
- content: Annotated[str, Field(description="Text content")]
17
+ content: Annotated[str, Field(description='Text content')]
18
18
  language: Annotated[str | None, Field(description="Language code (e.g., 'en', 'es', 'fr')")] = (
19
19
  None
20
20
  )