@adcp/sdk 14.0.0-beta.0 → 14.0.0-beta.1

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 (140) hide show
  1. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/account/get-account-financials-request.json +610 -0
  2. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/account/get-account-financials-response.json +1055 -0
  3. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/account/list-accounts-request.json +629 -0
  4. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/account/list-accounts-response.json +1558 -0
  5. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/account/report-usage-request.json +702 -0
  6. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/account/report-usage-response.json +309 -0
  7. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/account/sync-accounts-request.json +1113 -0
  8. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/account/sync-accounts-response.json +1567 -0
  9. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/account/sync-governance-request.json +662 -0
  10. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/account/sync-governance-response.json +921 -0
  11. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/creative/list-creatives-request.json +992 -0
  12. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/creative/list-creatives-response.json +5965 -0
  13. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/creative/sync-creatives-request.json +3936 -0
  14. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/creative/sync-creatives-response.json +3859 -0
  15. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/manifest.json +206 -0
  16. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/accept-proposal-request.json +601 -0
  17. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/accept-proposal-response.json +4799 -0
  18. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/buy-products-request.json +4107 -0
  19. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/buy-products-response.json +4799 -0
  20. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/control-media-buy-request.json +3365 -0
  21. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/control-media-buy-response.json +656 -0
  22. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/decline-proposals-request.json +334 -0
  23. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/decline-proposals-response.json +271 -0
  24. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/get-media-buy-delivery-request.json +1236 -0
  25. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/get-media-buy-delivery-response.json +2861 -0
  26. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/get-media-buys-request.json +678 -0
  27. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/get-media-buys-response.json +10861 -0
  28. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/list-products-request.json +4229 -0
  29. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/list-products-response.json +3824 -0
  30. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/log-event-request.json +421 -0
  31. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/log-event-response.json +394 -0
  32. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/media-buy-delivery-webhook-result.json +1366 -0
  33. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/provide-performance-feedback-request.json +884 -0
  34. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/provide-performance-feedback-response.json +422 -0
  35. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/refine-proposals-request.json +4335 -0
  36. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/refine-proposals-response.json +7328 -0
  37. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/request-proposals-request.json +4307 -0
  38. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/request-proposals-response.json +7105 -0
  39. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/sync-audiences-request.json +760 -0
  40. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/sync-audiences-response.json +541 -0
  41. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/sync-catalogs-request.json +1142 -0
  42. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/sync-catalogs-response.json +1153 -0
  43. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/sync-event-sources-request.json +743 -0
  44. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/sync-event-sources-response.json +619 -0
  45. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/account/get-account-financials-request.json +544 -0
  46. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/account/list-accounts-request.json +557 -0
  47. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/account/report-usage-request.json +617 -0
  48. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/account/sync-accounts-request.json +984 -0
  49. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/account/sync-governance-request.json +581 -0
  50. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/creative/list-creatives-request.json +878 -0
  51. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/creative/sync-creatives-request.json +3456 -0
  52. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/manifest.json +175 -0
  53. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/media-buy/accept-proposal-request.json +498 -0
  54. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/media-buy/buy-products-request.json +3675 -0
  55. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/media-buy/control-media-buy-request.json +3030 -0
  56. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/media-buy/decline-proposals-request.json +282 -0
  57. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/media-buy/get-media-buy-delivery-request.json +1136 -0
  58. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/media-buy/get-media-buys-request.json +597 -0
  59. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/media-buy/list-products-request.json +3780 -0
  60. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/media-buy/log-event-request.json +386 -0
  61. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/media-buy/provide-performance-feedback-request.json +784 -0
  62. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/media-buy/refine-proposals-request.json +3878 -0
  63. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/media-buy/request-proposals-request.json +3852 -0
  64. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/media-buy/sync-audiences-request.json +682 -0
  65. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/media-buy/sync-catalogs-request.json +1016 -0
  66. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/media-buy/sync-event-sources-request.json +660 -0
  67. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/protocol/get-adcp-capabilities-request.json +51 -0
  68. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/protocol/get-task-status-request.json +534 -0
  69. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/protocol/list-tasks-request.json +692 -0
  70. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/protocol/sync-agent-notification-configs-request.json +129 -0
  71. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/protocol/get-adcp-capabilities-request.json +58 -0
  72. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/protocol/get-adcp-capabilities-response.json +8069 -0
  73. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/protocol/get-task-status-request.json +601 -0
  74. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/protocol/get-task-status-response.json +612 -0
  75. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/protocol/list-tasks-request.json +775 -0
  76. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/protocol/list-tasks-response.json +483 -0
  77. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/protocol/sync-agent-notification-configs-request.json +155 -0
  78. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/protocol/sync-agent-notification-configs-response.json +382 -0
  79. package/dist/lib/schemas-data/v2.5/_provenance.json +1 -1
  80. package/dist/lib/server/create-adcp-server.d.mts +27 -0
  81. package/dist/lib/server/create-adcp-server.d.ts +27 -0
  82. package/dist/lib/server/create-adcp-server.d.ts.map +1 -1
  83. package/dist/lib/server/create-adcp-server.js +120 -4
  84. package/dist/lib/server/create-adcp-server.js.map +1 -1
  85. package/dist/lib/server/create-adcp-server.mjs +121 -6
  86. package/dist/lib/server/create-adcp-server.mjs.map +1 -1
  87. package/dist/lib/server/decisioning/context.d.mts +6 -0
  88. package/dist/lib/server/decisioning/context.d.ts +6 -0
  89. package/dist/lib/server/decisioning/context.d.ts.map +1 -1
  90. package/dist/lib/server/decisioning/context.js.map +1 -1
  91. package/dist/lib/server/decisioning/index.d.mts +1 -1
  92. package/dist/lib/server/decisioning/index.d.ts +1 -1
  93. package/dist/lib/server/decisioning/index.d.ts.map +1 -1
  94. package/dist/lib/server/decisioning/index.js.map +1 -1
  95. package/dist/lib/server/decisioning/index.mjs.map +1 -1
  96. package/dist/lib/server/decisioning/platform.d.mts +21 -6
  97. package/dist/lib/server/decisioning/platform.d.ts +21 -6
  98. package/dist/lib/server/decisioning/platform.d.ts.map +1 -1
  99. package/dist/lib/server/decisioning/platform.js.map +1 -1
  100. package/dist/lib/server/decisioning/runtime/from-platform.d.ts.map +1 -1
  101. package/dist/lib/server/decisioning/runtime/from-platform.js +201 -18
  102. package/dist/lib/server/decisioning/runtime/from-platform.js.map +1 -1
  103. package/dist/lib/server/decisioning/runtime/from-platform.mjs +203 -19
  104. package/dist/lib/server/decisioning/runtime/from-platform.mjs.map +1 -1
  105. package/dist/lib/server/decisioning/runtime/to-context.d.ts.map +1 -1
  106. package/dist/lib/server/decisioning/runtime/to-context.js +6 -0
  107. package/dist/lib/server/decisioning/runtime/to-context.js.map +1 -1
  108. package/dist/lib/server/decisioning/runtime/to-context.mjs +6 -0
  109. package/dist/lib/server/decisioning/runtime/to-context.mjs.map +1 -1
  110. package/dist/lib/server/decisioning/runtime/validate-platform.d.ts.map +1 -1
  111. package/dist/lib/server/decisioning/runtime/validate-platform.js +35 -4
  112. package/dist/lib/server/decisioning/runtime/validate-platform.js.map +1 -1
  113. package/dist/lib/server/decisioning/runtime/validate-platform.mjs +35 -4
  114. package/dist/lib/server/decisioning/runtime/validate-platform.mjs.map +1 -1
  115. package/dist/lib/server/decisioning/specialisms/sales.d.mts +39 -0
  116. package/dist/lib/server/decisioning/specialisms/sales.d.ts +39 -0
  117. package/dist/lib/server/decisioning/specialisms/sales.d.ts.map +1 -1
  118. package/dist/lib/server/decisioning/specialisms/sales.js.map +1 -1
  119. package/dist/lib/testing/storyboard/validations.d.mts +1 -1
  120. package/dist/lib/testing/storyboard/validations.d.ts +1 -1
  121. package/dist/lib/validation/schema-loader.d.mts +2 -0
  122. package/dist/lib/validation/schema-loader.d.ts +2 -0
  123. package/dist/lib/validation/schema-loader.d.ts.map +1 -1
  124. package/dist/lib/validation/schema-loader.js +31 -0
  125. package/dist/lib/validation/schema-loader.js.map +1 -1
  126. package/dist/lib/validation/schema-loader.mjs +30 -0
  127. package/dist/lib/validation/schema-loader.mjs.map +1 -1
  128. package/dist/lib/version.d.mts +3 -3
  129. package/dist/lib/version.d.ts +3 -3
  130. package/dist/lib/version.js +3 -3
  131. package/dist/lib/version.js.map +1 -1
  132. package/dist/lib/version.mjs +3 -3
  133. package/dist/lib/version.mjs.map +1 -1
  134. package/docs/guides/BUILD-AN-AGENT.md +10 -1
  135. package/docs/guides/MEDIA-BUY-3.2-COMPATIBILITY.md +119 -0
  136. package/docs/llms.txt +1 -1
  137. package/docs/migration-12-to-14.md +8 -0
  138. package/docs/migration-13-to-14.md +30 -4
  139. package/docs/releases/14.0.0-beta.0.md +19 -1
  140. package/package.json +2 -1
@@ -0,0 +1,1055 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/account/get-account-financials-response.json",
4
+ "type": "object",
5
+ "allOf": [
6
+ {
7
+ "$ref": "#/$defs/external:core~1version-envelope.json"
8
+ },
9
+ {
10
+ "$ref": "#/$defs/external:core~1protocol-envelope.json"
11
+ }
12
+ ],
13
+ "oneOf": [
14
+ {
15
+ "type": "object",
16
+ "properties": {
17
+ "account": {
18
+ "$ref": "#/$defs/external:core~1account-ref.json"
19
+ },
20
+ "currency": {
21
+ "type": "string",
22
+ "pattern": "^[A-Z]{3}$"
23
+ },
24
+ "period": {
25
+ "$ref": "#/$defs/external:core~1date-range.json"
26
+ },
27
+ "timezone": {
28
+ "type": "string"
29
+ },
30
+ "spend": {
31
+ "type": "object",
32
+ "properties": {
33
+ "total_spend": {
34
+ "type": "number",
35
+ "minimum": 0
36
+ },
37
+ "media_buy_count": {
38
+ "type": "integer",
39
+ "minimum": 0
40
+ }
41
+ },
42
+ "required": [
43
+ "total_spend"
44
+ ]
45
+ },
46
+ "credit": {
47
+ "type": "object",
48
+ "properties": {
49
+ "credit_limit": {
50
+ "type": "number",
51
+ "minimum": 0
52
+ },
53
+ "available_credit": {
54
+ "type": "number"
55
+ },
56
+ "utilization_percent": {
57
+ "type": "number",
58
+ "minimum": 0,
59
+ "maximum": 100
60
+ }
61
+ },
62
+ "required": [
63
+ "credit_limit",
64
+ "available_credit"
65
+ ]
66
+ },
67
+ "balance": {
68
+ "type": "object",
69
+ "properties": {
70
+ "available": {
71
+ "type": "number",
72
+ "minimum": 0
73
+ },
74
+ "last_top_up": {
75
+ "type": "object",
76
+ "properties": {
77
+ "amount": {
78
+ "type": "number",
79
+ "minimum": 0
80
+ },
81
+ "date": {
82
+ "type": "string",
83
+ "format": "date"
84
+ }
85
+ },
86
+ "required": [
87
+ "amount",
88
+ "date"
89
+ ]
90
+ }
91
+ },
92
+ "required": [
93
+ "available"
94
+ ]
95
+ },
96
+ "payment_status": {
97
+ "type": "string",
98
+ "enum": [
99
+ "current",
100
+ "past_due",
101
+ "suspended"
102
+ ]
103
+ },
104
+ "payment_terms": {
105
+ "$ref": "#/$defs/external:enums~1payment-terms.json"
106
+ },
107
+ "invoices": {
108
+ "type": "array",
109
+ "items": {
110
+ "type": "object",
111
+ "properties": {
112
+ "invoice_id": {
113
+ "type": "string"
114
+ },
115
+ "period": {
116
+ "$ref": "#/$defs/external:core~1date-range.json"
117
+ },
118
+ "amount": {
119
+ "type": "number",
120
+ "minimum": 0
121
+ },
122
+ "status": {
123
+ "type": "string",
124
+ "enum": [
125
+ "draft",
126
+ "issued",
127
+ "paid",
128
+ "past_due",
129
+ "void"
130
+ ]
131
+ },
132
+ "due_date": {
133
+ "type": "string",
134
+ "format": "date"
135
+ },
136
+ "paid_date": {
137
+ "type": "string",
138
+ "format": "date"
139
+ }
140
+ },
141
+ "required": [
142
+ "invoice_id",
143
+ "amount",
144
+ "status"
145
+ ]
146
+ }
147
+ },
148
+ "context": {
149
+ "$ref": "#/$defs/external:core~1context.json"
150
+ },
151
+ "ext": {
152
+ "$ref": "#/$defs/external:core~1ext.json"
153
+ }
154
+ },
155
+ "required": [
156
+ "account",
157
+ "currency",
158
+ "period",
159
+ "timezone"
160
+ ],
161
+ "additionalProperties": true,
162
+ "not": {
163
+ "required": [
164
+ "errors"
165
+ ]
166
+ }
167
+ },
168
+ {
169
+ "type": "object",
170
+ "properties": {
171
+ "errors": {
172
+ "type": "array",
173
+ "items": {
174
+ "$ref": "#/$defs/external:core~1error.json"
175
+ },
176
+ "minItems": 1
177
+ },
178
+ "context": {
179
+ "$ref": "#/$defs/external:core~1context.json"
180
+ },
181
+ "ext": {
182
+ "$ref": "#/$defs/external:core~1ext.json"
183
+ }
184
+ },
185
+ "required": [
186
+ "errors"
187
+ ],
188
+ "additionalProperties": true,
189
+ "not": {
190
+ "anyOf": [
191
+ {
192
+ "required": [
193
+ "account"
194
+ ]
195
+ },
196
+ {
197
+ "required": [
198
+ "currency"
199
+ ]
200
+ },
201
+ {
202
+ "required": [
203
+ "period"
204
+ ]
205
+ },
206
+ {
207
+ "required": [
208
+ "timezone"
209
+ ]
210
+ }
211
+ ]
212
+ }
213
+ }
214
+ ],
215
+ "properties": {},
216
+ "$defs": {
217
+ "external:core/version-envelope.json": {
218
+ "type": "object",
219
+ "properties": {
220
+ "adcp_version": {
221
+ "type": "string",
222
+ "pattern": "^(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)(?:-[a-zA-Z0-9](?:[a-zA-Z0-9.-]*[a-zA-Z0-9])?)?$"
223
+ },
224
+ "adcp_major_version": {
225
+ "type": "integer",
226
+ "deprecated": true,
227
+ "minimum": 1,
228
+ "maximum": 99
229
+ }
230
+ }
231
+ },
232
+ "external:core/protocol-envelope.json": {
233
+ "type": "object",
234
+ "properties": {
235
+ "context_id": {
236
+ "type": "string"
237
+ },
238
+ "context": {
239
+ "$ref": "#/$defs/external:core~1context.json"
240
+ },
241
+ "task_id": {
242
+ "type": "string",
243
+ "x-entity": "task"
244
+ },
245
+ "status": {
246
+ "$ref": "#/$defs/external:enums~1task-status.json"
247
+ },
248
+ "message": {
249
+ "type": "string"
250
+ },
251
+ "timestamp": {
252
+ "type": "string",
253
+ "format": "date-time"
254
+ },
255
+ "replayed": {
256
+ "type": "boolean",
257
+ "default": false
258
+ },
259
+ "adcp_error": {
260
+ "$ref": "#/$defs/external:core~1error.json"
261
+ },
262
+ "push_notification_config": {
263
+ "$ref": "#/$defs/external:core~1push-notification-config.json"
264
+ },
265
+ "governance_context": {
266
+ "type": "string",
267
+ "minLength": 1,
268
+ "maxLength": 4096,
269
+ "pattern": "^[\\x20-\\x7E]+$"
270
+ },
271
+ "payload": {
272
+ "type": "object",
273
+ "x-adcp-open-payload": true,
274
+ "additionalProperties": true
275
+ }
276
+ },
277
+ "required": [
278
+ "status"
279
+ ],
280
+ "additionalProperties": true,
281
+ "not": {
282
+ "anyOf": [
283
+ {
284
+ "required": [
285
+ "task_status"
286
+ ]
287
+ },
288
+ {
289
+ "required": [
290
+ "response_status"
291
+ ]
292
+ }
293
+ ]
294
+ },
295
+ "notes": [
296
+ "Task response schemas (e.g., get-products-response.json) define ONLY the body fields; protocol-layer fields live on this envelope.",
297
+ "Transport serialization (normative):",
298
+ " - MCP: envelope fields and task-body fields are siblings at the root of the tool response. The `payload` object is NOT serialized as a nested key — its body fields are flattened to the root alongside `status`, `context_id`, `context`, etc. This matches MCP's native `structuredContent` convention and is what shipping SDKs (@adcp/client) emit. Conformant MCP receivers parse from the flat root; receivers that expect a nested `payload` key MUST migrate.",
299
+ " - A2A 1.0 with the AdCP profile extension: `task.status.state` carries the transport invocation lifecycle used to select the extraction location; `task.contextId` carries `context_id`, while `task.id` is an independent A2A transport identifier. The complete AdCP response, including its protocol-level `status` and any application-layer `task_id`, is canonically carried in `task.artifacts[0].parts[].DataPart` on final states; `task.status.message.parts[].DataPart` is the fallback container used only for interim A2A states (working, native submitted, input-required) where no final artifact has been emitted yet. For a structured AdCP business rejection or Submitted response, A2A is `completed` while the DataPart carries `status: rejected` or `status: submitted` because the handler invocation succeeded. An AdCP `task_id` MUST NOT be copied into artifact metadata or inferred from `task.id`. Receivers MUST prefer artifacts when present and MUST NOT overwrite a DataPart's status with the A2A state. See `a2a-profile-extension.mdx` and `a2a-response-extraction.mdx` for the full binding and extraction algorithm.",
300
+ " - REST: envelope fields MAY ride on HTTP headers (e.g., `X-AdCP-Status`, `X-AdCP-Context-Id`) or as JSON body siblings; body fields appear at the JSON body root. Implementers choosing the header path SHOULD also mirror to body siblings for non-streaming callers.",
301
+ "Across all three: envelope and body fields are conceptually a single response object. A task response schema MAY declare body fields with the same name as envelope fields (e.g., `errors[]` body-level for per-record validation results vs envelope-level for fatal task failure) and the two MUST be treated as distinct fields by name within their respective namespaces — see `error-handling.mdx#envelope-vs-payload-errors-the-two-layer-model`.",
302
+ "`status` is REQUIRED on the conceptual AdCP response across all transports. On MCP and REST it appears as a sibling field at the JSON root (or `structuredContent` root for MCP). On A2A it is carried inside the authoritative DataPart alongside the task body; `task.status.state` separately carries the A2A transport lifecycle and selects where that DataPart is found. Receivers MUST preserve the DataPart status when present. The schema-level `required: [status]` enforces the post-extraction AdCP shape. `payload` remains intentionally NOT required — it is a documentary grouping construct, never a required wire field. See `mcp-guide.mdx` and `a2a-guide.mdx` for the wire-level patterns receivers MUST implement.",
303
+ "Receivers MUST handle absence of an envelope field (e.g., `replayed` omitted) as the field's documented default — see each field's `default` clause."
304
+ ]
305
+ },
306
+ "external:core/context.json": {
307
+ "type": "object",
308
+ "additionalProperties": true
309
+ },
310
+ "external:enums/task-status.json": {
311
+ "type": "string",
312
+ "enum": [
313
+ "submitted",
314
+ "working",
315
+ "input-required",
316
+ "completed",
317
+ "canceled",
318
+ "failed",
319
+ "rejected",
320
+ "auth-required",
321
+ "unknown"
322
+ ]
323
+ },
324
+ "external:core/error.json": {
325
+ "type": "object",
326
+ "properties": {
327
+ "code": {
328
+ "type": "string",
329
+ "minLength": 1,
330
+ "maxLength": 64
331
+ },
332
+ "message": {
333
+ "type": "string"
334
+ },
335
+ "field": {
336
+ "type": "string"
337
+ },
338
+ "suggestion": {
339
+ "type": "string"
340
+ },
341
+ "retry_after": {
342
+ "type": "number",
343
+ "minimum": 1,
344
+ "maximum": 3600
345
+ },
346
+ "issues": {
347
+ "type": "array",
348
+ "items": {
349
+ "type": "object",
350
+ "properties": {
351
+ "pointer": {
352
+ "type": "string"
353
+ },
354
+ "message": {
355
+ "type": "string"
356
+ },
357
+ "keyword": {
358
+ "type": "string"
359
+ },
360
+ "schemaPath": {
361
+ "type": "string"
362
+ },
363
+ "schema_id": {
364
+ "type": "string"
365
+ },
366
+ "discriminator": {
367
+ "type": "array",
368
+ "items": {
369
+ "type": "object",
370
+ "properties": {
371
+ "property_name": {
372
+ "type": "string"
373
+ },
374
+ "value": {
375
+ "type": [
376
+ "string",
377
+ "number",
378
+ "boolean",
379
+ "null"
380
+ ]
381
+ }
382
+ },
383
+ "required": [
384
+ "property_name",
385
+ "value"
386
+ ],
387
+ "additionalProperties": false
388
+ }
389
+ }
390
+ },
391
+ "required": [
392
+ "pointer",
393
+ "message",
394
+ "keyword"
395
+ ],
396
+ "additionalProperties": true
397
+ }
398
+ },
399
+ "details": {
400
+ "type": "object",
401
+ "additionalProperties": true
402
+ },
403
+ "recovery": {
404
+ "type": "string",
405
+ "enum": [
406
+ "transient",
407
+ "correctable",
408
+ "terminal"
409
+ ]
410
+ },
411
+ "source": {
412
+ "type": "string",
413
+ "enum": [
414
+ "producer",
415
+ "sdk"
416
+ ]
417
+ },
418
+ "sdk_id": {
419
+ "type": "string"
420
+ }
421
+ },
422
+ "required": [
423
+ "code",
424
+ "message"
425
+ ],
426
+ "additionalProperties": true
427
+ },
428
+ "external:core/push-notification-config.json": {
429
+ "type": "object",
430
+ "properties": {
431
+ "url": {
432
+ "type": "string",
433
+ "format": "uri"
434
+ },
435
+ "operation_id": {
436
+ "type": "string",
437
+ "minLength": 1,
438
+ "maxLength": 255,
439
+ "pattern": "^[A-Za-z0-9_.:-]{1,255}$"
440
+ },
441
+ "token": {
442
+ "type": "string",
443
+ "minLength": 16,
444
+ "maxLength": 4096
445
+ },
446
+ "authentication": {
447
+ "type": "object",
448
+ "deprecated": true,
449
+ "properties": {
450
+ "schemes": {
451
+ "type": "array",
452
+ "items": {
453
+ "$ref": "#/$defs/external:enums~1auth-scheme.json"
454
+ },
455
+ "minItems": 1,
456
+ "maxItems": 1
457
+ },
458
+ "credentials": {
459
+ "type": "string",
460
+ "minLength": 32
461
+ }
462
+ },
463
+ "required": [
464
+ "schemes",
465
+ "credentials"
466
+ ],
467
+ "additionalProperties": false
468
+ }
469
+ },
470
+ "required": [
471
+ "url"
472
+ ]
473
+ },
474
+ "external:enums/auth-scheme.json": {
475
+ "deprecated": true,
476
+ "type": "string",
477
+ "enum": [
478
+ "Bearer",
479
+ "HMAC-SHA256"
480
+ ]
481
+ },
482
+ "external:core/account-ref.json": {
483
+ "type": "object",
484
+ "oneOf": [
485
+ {
486
+ "properties": {
487
+ "account_id": {
488
+ "type": "string",
489
+ "x-entity": "account"
490
+ }
491
+ },
492
+ "required": [
493
+ "account_id"
494
+ ],
495
+ "additionalProperties": false
496
+ },
497
+ {
498
+ "properties": {
499
+ "brand": {
500
+ "$ref": "#/$defs/external:core~1brand-ref.json"
501
+ },
502
+ "operator": {
503
+ "type": "string",
504
+ "pattern": "^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$",
505
+ "x-entity": "operator"
506
+ },
507
+ "operator_unit": {
508
+ "$ref": "#/$defs/external:core~1operator-unit.json"
509
+ },
510
+ "currency": {
511
+ "type": "string",
512
+ "pattern": "^[A-Z]{3}$"
513
+ },
514
+ "timezone": {
515
+ "type": "string",
516
+ "minLength": 1
517
+ },
518
+ "sandbox": {
519
+ "type": "boolean",
520
+ "default": false
521
+ }
522
+ },
523
+ "required": [
524
+ "brand",
525
+ "operator"
526
+ ],
527
+ "additionalProperties": false
528
+ }
529
+ ]
530
+ },
531
+ "external:core/brand-ref.json": {
532
+ "type": "object",
533
+ "properties": {
534
+ "domain": {
535
+ "type": "string",
536
+ "pattern": "^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$"
537
+ },
538
+ "brand_id": {
539
+ "$ref": "#/$defs/external:core~1brand-id.json"
540
+ },
541
+ "countries": {
542
+ "type": "array",
543
+ "items": {
544
+ "type": "string",
545
+ "pattern": "^[A-Z]{2}$"
546
+ },
547
+ "minItems": 1,
548
+ "uniqueItems": true
549
+ },
550
+ "industries": {
551
+ "type": "array",
552
+ "items": {
553
+ "type": "string"
554
+ }
555
+ },
556
+ "data_subject_contestation": {
557
+ "type": "object",
558
+ "properties": {
559
+ "url": {
560
+ "type": "string",
561
+ "format": "uri",
562
+ "pattern": "^https://"
563
+ },
564
+ "email": {
565
+ "type": "string",
566
+ "format": "email"
567
+ },
568
+ "languages": {
569
+ "type": "array",
570
+ "items": {
571
+ "type": "string"
572
+ }
573
+ }
574
+ },
575
+ "anyOf": [
576
+ {
577
+ "required": [
578
+ "url"
579
+ ]
580
+ },
581
+ {
582
+ "required": [
583
+ "email"
584
+ ]
585
+ }
586
+ ],
587
+ "additionalProperties": false
588
+ },
589
+ "brand_kit_override": {
590
+ "type": "object",
591
+ "properties": {
592
+ "logo": {
593
+ "$ref": "#/$defs/external:core~1assets~1image-asset.json"
594
+ },
595
+ "colors": {
596
+ "type": "object",
597
+ "properties": {
598
+ "primary": {
599
+ "type": "string",
600
+ "pattern": "^#[0-9a-fA-F]{6}$"
601
+ },
602
+ "secondary": {
603
+ "type": "string",
604
+ "pattern": "^#[0-9a-fA-F]{6}$"
605
+ },
606
+ "accent": {
607
+ "type": "string",
608
+ "pattern": "^#[0-9a-fA-F]{6}$"
609
+ }
610
+ },
611
+ "additionalProperties": true
612
+ },
613
+ "voice": {
614
+ "type": "string"
615
+ },
616
+ "tagline": {
617
+ "type": "string"
618
+ }
619
+ },
620
+ "additionalProperties": true
621
+ }
622
+ },
623
+ "required": [
624
+ "domain"
625
+ ],
626
+ "additionalProperties": false
627
+ },
628
+ "external:core/brand-id.json": {
629
+ "type": "string",
630
+ "pattern": "^[a-z0-9_]+$",
631
+ "x-entity": "advertiser_brand"
632
+ },
633
+ "external:core/assets/image-asset.json": {
634
+ "type": "object",
635
+ "properties": {
636
+ "asset_type": {
637
+ "type": "string",
638
+ "const": "image"
639
+ },
640
+ "url": {
641
+ "type": "string",
642
+ "format": "uri"
643
+ },
644
+ "width": {
645
+ "type": "integer",
646
+ "minimum": 1
647
+ },
648
+ "height": {
649
+ "type": "integer",
650
+ "minimum": 1
651
+ },
652
+ "pixel_ratio": {
653
+ "type": "number",
654
+ "exclusiveMinimum": 0
655
+ },
656
+ "format": {
657
+ "type": "string"
658
+ },
659
+ "alt_text": {
660
+ "type": "string",
661
+ "x-accessibility": true
662
+ },
663
+ "provenance": {
664
+ "$ref": "#/$defs/external:core~1provenance.json"
665
+ }
666
+ },
667
+ "required": [
668
+ "asset_type",
669
+ "url",
670
+ "width",
671
+ "height"
672
+ ],
673
+ "additionalProperties": true
674
+ },
675
+ "external:core/provenance.json": {
676
+ "type": "object",
677
+ "properties": {
678
+ "digital_source_type": {
679
+ "$ref": "#/$defs/external:enums~1digital-source-type.json"
680
+ },
681
+ "synthetic_depiction": {
682
+ "type": "boolean"
683
+ },
684
+ "ai_tool": {
685
+ "type": "object",
686
+ "properties": {
687
+ "name": {
688
+ "type": "string"
689
+ },
690
+ "version": {
691
+ "type": "string"
692
+ },
693
+ "provider": {
694
+ "type": "string"
695
+ }
696
+ },
697
+ "required": [
698
+ "name"
699
+ ]
700
+ },
701
+ "human_oversight": {
702
+ "type": "string",
703
+ "enum": [
704
+ "none",
705
+ "prompt_only",
706
+ "selected",
707
+ "edited",
708
+ "directed"
709
+ ]
710
+ },
711
+ "declared_by": {
712
+ "type": "object",
713
+ "properties": {
714
+ "agent_url": {
715
+ "type": "string",
716
+ "format": "uri"
717
+ },
718
+ "role": {
719
+ "type": "string",
720
+ "enum": [
721
+ "creator",
722
+ "advertiser",
723
+ "agency",
724
+ "platform",
725
+ "tool"
726
+ ]
727
+ }
728
+ },
729
+ "required": [
730
+ "role"
731
+ ]
732
+ },
733
+ "declared_at": {
734
+ "type": "string",
735
+ "format": "date-time"
736
+ },
737
+ "created_time": {
738
+ "type": "string",
739
+ "format": "date-time"
740
+ },
741
+ "c2pa": {
742
+ "type": "object",
743
+ "properties": {
744
+ "manifest_url": {
745
+ "type": "string",
746
+ "format": "uri"
747
+ }
748
+ },
749
+ "required": [
750
+ "manifest_url"
751
+ ]
752
+ },
753
+ "embedded_provenance": {
754
+ "type": "array",
755
+ "minItems": 1,
756
+ "items": {
757
+ "type": "object",
758
+ "properties": {
759
+ "method": {
760
+ "$ref": "#/$defs/external:enums~1embedded-provenance-method.json"
761
+ },
762
+ "standard": {
763
+ "type": "string"
764
+ },
765
+ "provider": {
766
+ "type": "string"
767
+ },
768
+ "verify_agent": {
769
+ "type": "object",
770
+ "properties": {
771
+ "agent_url": {
772
+ "type": "string",
773
+ "format": "uri",
774
+ "pattern": "^https://"
775
+ },
776
+ "feature_id": {
777
+ "type": "string"
778
+ }
779
+ },
780
+ "required": [
781
+ "agent_url"
782
+ ],
783
+ "additionalProperties": false
784
+ },
785
+ "embedded_at": {
786
+ "type": "string",
787
+ "format": "date-time"
788
+ }
789
+ },
790
+ "required": [
791
+ "method",
792
+ "provider"
793
+ ]
794
+ }
795
+ },
796
+ "watermarks": {
797
+ "type": "array",
798
+ "minItems": 1,
799
+ "items": {
800
+ "type": "object",
801
+ "properties": {
802
+ "media_type": {
803
+ "$ref": "#/$defs/external:enums~1watermark-media-type.json"
804
+ },
805
+ "provider": {
806
+ "type": "string"
807
+ },
808
+ "verify_agent": {
809
+ "type": "object",
810
+ "properties": {
811
+ "agent_url": {
812
+ "type": "string",
813
+ "format": "uri",
814
+ "pattern": "^https://"
815
+ },
816
+ "feature_id": {
817
+ "type": "string"
818
+ }
819
+ },
820
+ "required": [
821
+ "agent_url"
822
+ ],
823
+ "additionalProperties": false
824
+ },
825
+ "c2pa_action": {
826
+ "$ref": "#/$defs/external:enums~1c2pa-watermark-action.json"
827
+ },
828
+ "embedded_at": {
829
+ "type": "string",
830
+ "format": "date-time"
831
+ }
832
+ },
833
+ "required": [
834
+ "media_type",
835
+ "provider"
836
+ ]
837
+ }
838
+ },
839
+ "disclosure": {
840
+ "type": "object",
841
+ "properties": {
842
+ "required": {
843
+ "type": "boolean"
844
+ },
845
+ "jurisdictions": {
846
+ "type": "array",
847
+ "items": {
848
+ "type": "object",
849
+ "properties": {
850
+ "country": {
851
+ "type": "string"
852
+ },
853
+ "region": {
854
+ "type": "string"
855
+ },
856
+ "regulation": {
857
+ "type": "string"
858
+ },
859
+ "label_text": {
860
+ "type": "string"
861
+ },
862
+ "render_guidance": {
863
+ "type": "object",
864
+ "minProperties": 1,
865
+ "properties": {
866
+ "persistence": {
867
+ "$ref": "#/$defs/external:enums~1disclosure-persistence.json"
868
+ },
869
+ "min_duration_ms": {
870
+ "type": "integer",
871
+ "minimum": 1
872
+ },
873
+ "positions": {
874
+ "type": "array",
875
+ "items": {
876
+ "$ref": "#/$defs/external:enums~1disclosure-position.json"
877
+ },
878
+ "minItems": 1,
879
+ "uniqueItems": true
880
+ },
881
+ "ext": {
882
+ "$ref": "#/$defs/external:core~1ext.json"
883
+ }
884
+ }
885
+ }
886
+ },
887
+ "required": [
888
+ "country",
889
+ "regulation"
890
+ ]
891
+ },
892
+ "minItems": 1
893
+ }
894
+ },
895
+ "required": [
896
+ "required"
897
+ ]
898
+ },
899
+ "verification": {
900
+ "type": "array",
901
+ "minItems": 1,
902
+ "items": {
903
+ "type": "object",
904
+ "properties": {
905
+ "verified_by": {
906
+ "type": "string"
907
+ },
908
+ "verified_time": {
909
+ "type": "string",
910
+ "format": "date-time"
911
+ },
912
+ "result": {
913
+ "type": "string",
914
+ "enum": [
915
+ "authentic",
916
+ "ai_generated",
917
+ "ai_modified",
918
+ "inconclusive"
919
+ ]
920
+ },
921
+ "confidence": {
922
+ "type": "number",
923
+ "minimum": 0,
924
+ "maximum": 1
925
+ },
926
+ "details_url": {
927
+ "type": "string",
928
+ "format": "uri"
929
+ }
930
+ },
931
+ "required": [
932
+ "verified_by",
933
+ "result"
934
+ ]
935
+ }
936
+ },
937
+ "ext": {
938
+ "$ref": "#/$defs/external:core~1ext.json"
939
+ }
940
+ }
941
+ },
942
+ "external:enums/digital-source-type.json": {
943
+ "type": "string",
944
+ "enum": [
945
+ "digital_capture",
946
+ "digital_creation",
947
+ "trained_algorithmic_media",
948
+ "composite_with_trained_algorithmic_media",
949
+ "algorithmic_media",
950
+ "composite_capture",
951
+ "composite_synthetic",
952
+ "human_edits",
953
+ "data_driven_media"
954
+ ]
955
+ },
956
+ "external:enums/embedded-provenance-method.json": {
957
+ "type": "string",
958
+ "enum": [
959
+ "manifest_wrapper",
960
+ "provenance_markers"
961
+ ]
962
+ },
963
+ "external:enums/watermark-media-type.json": {
964
+ "type": "string",
965
+ "enum": [
966
+ "audio",
967
+ "image",
968
+ "video",
969
+ "text"
970
+ ]
971
+ },
972
+ "external:enums/c2pa-watermark-action.json": {
973
+ "type": "string",
974
+ "enum": [
975
+ "c2pa.watermarked.bound",
976
+ "c2pa.watermarked.unbound"
977
+ ]
978
+ },
979
+ "external:enums/disclosure-persistence.json": {
980
+ "type": "string",
981
+ "enum": [
982
+ "continuous",
983
+ "initial",
984
+ "flexible"
985
+ ]
986
+ },
987
+ "external:enums/disclosure-position.json": {
988
+ "type": "string",
989
+ "enum": [
990
+ "prominent",
991
+ "footer",
992
+ "audio",
993
+ "subtitle",
994
+ "overlay",
995
+ "end_card",
996
+ "pre_roll",
997
+ "companion"
998
+ ]
999
+ },
1000
+ "external:core/ext.json": {
1001
+ "type": "object",
1002
+ "additionalProperties": true
1003
+ },
1004
+ "external:core/operator-unit.json": {
1005
+ "x-entity": "operator_unit",
1006
+ "type": "object",
1007
+ "properties": {
1008
+ "id": {
1009
+ "type": "string",
1010
+ "minLength": 1,
1011
+ "maxLength": 255,
1012
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$"
1013
+ },
1014
+ "name": {
1015
+ "type": "string",
1016
+ "minLength": 1,
1017
+ "maxLength": 200
1018
+ }
1019
+ },
1020
+ "required": [
1021
+ "id"
1022
+ ],
1023
+ "additionalProperties": false
1024
+ },
1025
+ "external:core/date-range.json": {
1026
+ "type": "object",
1027
+ "properties": {
1028
+ "start": {
1029
+ "type": "string",
1030
+ "format": "date"
1031
+ },
1032
+ "end": {
1033
+ "type": "string",
1034
+ "format": "date"
1035
+ }
1036
+ },
1037
+ "required": [
1038
+ "start",
1039
+ "end"
1040
+ ],
1041
+ "additionalProperties": true
1042
+ },
1043
+ "external:enums/payment-terms.json": {
1044
+ "type": "string",
1045
+ "enum": [
1046
+ "net_15",
1047
+ "net_30",
1048
+ "net_45",
1049
+ "net_60",
1050
+ "net_90",
1051
+ "prepay"
1052
+ ]
1053
+ }
1054
+ }
1055
+ }