@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,483 @@
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/protocol/list-tasks-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
+ "properties": {
14
+ "query_summary": {
15
+ "type": "object",
16
+ "properties": {
17
+ "total_matching": {
18
+ "type": "integer",
19
+ "minimum": 0
20
+ },
21
+ "returned": {
22
+ "type": "integer",
23
+ "minimum": 0
24
+ },
25
+ "domain_breakdown": {
26
+ "type": "object",
27
+ "properties": {
28
+ "media-buy": {
29
+ "type": "integer",
30
+ "minimum": 0
31
+ },
32
+ "signals": {
33
+ "type": "integer",
34
+ "minimum": 0
35
+ },
36
+ "creative": {
37
+ "type": "integer",
38
+ "minimum": 0
39
+ }
40
+ },
41
+ "additionalProperties": true
42
+ },
43
+ "status_breakdown": {
44
+ "type": "object",
45
+ "additionalProperties": {
46
+ "type": "integer",
47
+ "minimum": 0
48
+ }
49
+ },
50
+ "filters_applied": {
51
+ "type": "array",
52
+ "items": {
53
+ "type": "string"
54
+ }
55
+ },
56
+ "sort_applied": {
57
+ "type": "object",
58
+ "properties": {
59
+ "field": {
60
+ "type": "string"
61
+ },
62
+ "direction": {
63
+ "type": "string",
64
+ "enum": [
65
+ "asc",
66
+ "desc"
67
+ ]
68
+ }
69
+ },
70
+ "required": [
71
+ "field",
72
+ "direction"
73
+ ],
74
+ "additionalProperties": true
75
+ }
76
+ },
77
+ "required": [],
78
+ "additionalProperties": true
79
+ },
80
+ "tasks": {
81
+ "type": "array",
82
+ "items": {
83
+ "type": "object",
84
+ "properties": {
85
+ "task_id": {
86
+ "type": "string",
87
+ "x-entity": "task"
88
+ },
89
+ "task_type": {
90
+ "$ref": "#/$defs/external:enums~1task-type.json"
91
+ },
92
+ "domain": {
93
+ "type": "string",
94
+ "enum": [
95
+ "media-buy",
96
+ "signals",
97
+ "creative"
98
+ ]
99
+ },
100
+ "status": {
101
+ "$ref": "#/$defs/external:enums~1task-status.json"
102
+ },
103
+ "created_at": {
104
+ "type": "string",
105
+ "format": "date-time"
106
+ },
107
+ "updated_at": {
108
+ "type": "string",
109
+ "format": "date-time"
110
+ },
111
+ "completed_at": {
112
+ "type": "string",
113
+ "format": "date-time"
114
+ },
115
+ "has_webhook": {
116
+ "type": "boolean"
117
+ }
118
+ },
119
+ "required": [
120
+ "task_id",
121
+ "task_type",
122
+ "domain",
123
+ "status",
124
+ "created_at",
125
+ "updated_at"
126
+ ],
127
+ "additionalProperties": true
128
+ }
129
+ },
130
+ "pagination": {
131
+ "$ref": "#/$defs/external:core~1pagination-response.json"
132
+ },
133
+ "context": {
134
+ "$ref": "#/$defs/external:core~1context.json"
135
+ },
136
+ "ext": {
137
+ "$ref": "#/$defs/external:core~1ext.json"
138
+ }
139
+ },
140
+ "required": [
141
+ "query_summary",
142
+ "tasks",
143
+ "pagination"
144
+ ],
145
+ "additionalProperties": true,
146
+ "$defs": {
147
+ "external:core/version-envelope.json": {
148
+ "type": "object",
149
+ "properties": {
150
+ "adcp_version": {
151
+ "type": "string",
152
+ "pattern": "^(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)(?:-[a-zA-Z0-9](?:[a-zA-Z0-9.-]*[a-zA-Z0-9])?)?$"
153
+ },
154
+ "adcp_major_version": {
155
+ "type": "integer",
156
+ "deprecated": true,
157
+ "minimum": 1,
158
+ "maximum": 99
159
+ }
160
+ }
161
+ },
162
+ "external:core/protocol-envelope.json": {
163
+ "type": "object",
164
+ "properties": {
165
+ "context_id": {
166
+ "type": "string"
167
+ },
168
+ "context": {
169
+ "$ref": "#/$defs/external:core~1context.json"
170
+ },
171
+ "task_id": {
172
+ "type": "string",
173
+ "x-entity": "task"
174
+ },
175
+ "status": {
176
+ "$ref": "#/$defs/external:enums~1task-status.json"
177
+ },
178
+ "message": {
179
+ "type": "string"
180
+ },
181
+ "timestamp": {
182
+ "type": "string",
183
+ "format": "date-time"
184
+ },
185
+ "replayed": {
186
+ "type": "boolean",
187
+ "default": false
188
+ },
189
+ "adcp_error": {
190
+ "$ref": "#/$defs/external:core~1error.json"
191
+ },
192
+ "push_notification_config": {
193
+ "$ref": "#/$defs/external:core~1push-notification-config.json"
194
+ },
195
+ "governance_context": {
196
+ "type": "string",
197
+ "minLength": 1,
198
+ "maxLength": 4096,
199
+ "pattern": "^[\\x20-\\x7E]+$"
200
+ },
201
+ "payload": {
202
+ "type": "object",
203
+ "x-adcp-open-payload": true,
204
+ "additionalProperties": true
205
+ }
206
+ },
207
+ "required": [
208
+ "status"
209
+ ],
210
+ "additionalProperties": true,
211
+ "not": {
212
+ "anyOf": [
213
+ {
214
+ "required": [
215
+ "task_status"
216
+ ]
217
+ },
218
+ {
219
+ "required": [
220
+ "response_status"
221
+ ]
222
+ }
223
+ ]
224
+ },
225
+ "notes": [
226
+ "Task response schemas (e.g., get-products-response.json) define ONLY the body fields; protocol-layer fields live on this envelope.",
227
+ "Transport serialization (normative):",
228
+ " - 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.",
229
+ " - 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.",
230
+ " - 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.",
231
+ "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`.",
232
+ "`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.",
233
+ "Receivers MUST handle absence of an envelope field (e.g., `replayed` omitted) as the field's documented default — see each field's `default` clause."
234
+ ]
235
+ },
236
+ "external:core/context.json": {
237
+ "type": "object",
238
+ "additionalProperties": true
239
+ },
240
+ "external:enums/task-status.json": {
241
+ "type": "string",
242
+ "enum": [
243
+ "submitted",
244
+ "working",
245
+ "input-required",
246
+ "completed",
247
+ "canceled",
248
+ "failed",
249
+ "rejected",
250
+ "auth-required",
251
+ "unknown"
252
+ ]
253
+ },
254
+ "external:core/error.json": {
255
+ "type": "object",
256
+ "properties": {
257
+ "code": {
258
+ "type": "string",
259
+ "minLength": 1,
260
+ "maxLength": 64
261
+ },
262
+ "message": {
263
+ "type": "string"
264
+ },
265
+ "field": {
266
+ "type": "string"
267
+ },
268
+ "suggestion": {
269
+ "type": "string"
270
+ },
271
+ "retry_after": {
272
+ "type": "number",
273
+ "minimum": 1,
274
+ "maximum": 3600
275
+ },
276
+ "issues": {
277
+ "type": "array",
278
+ "items": {
279
+ "type": "object",
280
+ "properties": {
281
+ "pointer": {
282
+ "type": "string"
283
+ },
284
+ "message": {
285
+ "type": "string"
286
+ },
287
+ "keyword": {
288
+ "type": "string"
289
+ },
290
+ "schemaPath": {
291
+ "type": "string"
292
+ },
293
+ "schema_id": {
294
+ "type": "string"
295
+ },
296
+ "discriminator": {
297
+ "type": "array",
298
+ "items": {
299
+ "type": "object",
300
+ "properties": {
301
+ "property_name": {
302
+ "type": "string"
303
+ },
304
+ "value": {
305
+ "type": [
306
+ "string",
307
+ "number",
308
+ "boolean",
309
+ "null"
310
+ ]
311
+ }
312
+ },
313
+ "required": [
314
+ "property_name",
315
+ "value"
316
+ ],
317
+ "additionalProperties": false
318
+ }
319
+ }
320
+ },
321
+ "required": [
322
+ "pointer",
323
+ "message",
324
+ "keyword"
325
+ ],
326
+ "additionalProperties": true
327
+ }
328
+ },
329
+ "details": {
330
+ "type": "object",
331
+ "additionalProperties": true
332
+ },
333
+ "recovery": {
334
+ "type": "string",
335
+ "enum": [
336
+ "transient",
337
+ "correctable",
338
+ "terminal"
339
+ ]
340
+ },
341
+ "source": {
342
+ "type": "string",
343
+ "enum": [
344
+ "producer",
345
+ "sdk"
346
+ ]
347
+ },
348
+ "sdk_id": {
349
+ "type": "string"
350
+ }
351
+ },
352
+ "required": [
353
+ "code",
354
+ "message"
355
+ ],
356
+ "additionalProperties": true
357
+ },
358
+ "external:core/push-notification-config.json": {
359
+ "type": "object",
360
+ "properties": {
361
+ "url": {
362
+ "type": "string",
363
+ "format": "uri"
364
+ },
365
+ "operation_id": {
366
+ "type": "string",
367
+ "minLength": 1,
368
+ "maxLength": 255,
369
+ "pattern": "^[A-Za-z0-9_.:-]{1,255}$"
370
+ },
371
+ "token": {
372
+ "type": "string",
373
+ "minLength": 16,
374
+ "maxLength": 4096
375
+ },
376
+ "authentication": {
377
+ "type": "object",
378
+ "deprecated": true,
379
+ "properties": {
380
+ "schemes": {
381
+ "type": "array",
382
+ "items": {
383
+ "$ref": "#/$defs/external:enums~1auth-scheme.json"
384
+ },
385
+ "minItems": 1,
386
+ "maxItems": 1
387
+ },
388
+ "credentials": {
389
+ "type": "string",
390
+ "minLength": 32
391
+ }
392
+ },
393
+ "required": [
394
+ "schemes",
395
+ "credentials"
396
+ ],
397
+ "additionalProperties": false
398
+ }
399
+ },
400
+ "required": [
401
+ "url"
402
+ ]
403
+ },
404
+ "external:enums/auth-scheme.json": {
405
+ "deprecated": true,
406
+ "type": "string",
407
+ "enum": [
408
+ "Bearer",
409
+ "HMAC-SHA256"
410
+ ]
411
+ },
412
+ "external:enums/task-type.json": {
413
+ "type": "string",
414
+ "enum": [
415
+ "create_media_buy",
416
+ "update_media_buy",
417
+ "buy_products",
418
+ "accept_proposal",
419
+ "control_media_buy",
420
+ "media_buy_delivery",
421
+ "sync_creatives",
422
+ "build_creative",
423
+ "preview_creative",
424
+ "activate_signal",
425
+ "get_products",
426
+ "request_proposals",
427
+ "refine_proposals",
428
+ "decline_proposals",
429
+ "get_signals",
430
+ "create_property_list",
431
+ "update_property_list",
432
+ "get_property_list",
433
+ "list_property_lists",
434
+ "delete_property_list",
435
+ "sync_accounts",
436
+ "get_account_financials",
437
+ "get_creative_delivery",
438
+ "sync_event_sources",
439
+ "sync_audiences",
440
+ "sync_catalogs",
441
+ "log_event",
442
+ "get_brand_identity",
443
+ "search_brands",
444
+ "get_rights",
445
+ "acquire_rights",
446
+ "update_rights",
447
+ "sync_agent_notification_configs"
448
+ ],
449
+ "x-task-result-schema-overrides": {
450
+ "media_buy_delivery": "media-buy/media-buy-delivery-webhook-result.json"
451
+ },
452
+ "notes": [
453
+ "Task types map to specific AdCP task operations",
454
+ "Each task type belongs to the 'media-buy', 'signals', 'property', 'account', 'creative', or 'brand' domain",
455
+ "This enum is used in task management APIs (tasks/list, tasks/get) and webhook payloads",
456
+ "New task types require a minor version bump per semantic versioning"
457
+ ]
458
+ },
459
+ "external:core/pagination-response.json": {
460
+ "type": "object",
461
+ "properties": {
462
+ "has_more": {
463
+ "type": "boolean"
464
+ },
465
+ "cursor": {
466
+ "type": "string"
467
+ },
468
+ "total_count": {
469
+ "type": "integer",
470
+ "minimum": 0
471
+ }
472
+ },
473
+ "required": [
474
+ "has_more"
475
+ ],
476
+ "additionalProperties": false
477
+ },
478
+ "external:core/ext.json": {
479
+ "type": "object",
480
+ "additionalProperties": true
481
+ }
482
+ }
483
+ }
@@ -0,0 +1,155 @@
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/protocol/sync-agent-notification-configs-request.json",
4
+ "type": "object",
5
+ "allOf": [
6
+ {
7
+ "$ref": "#/$defs/external:core~1version-envelope.json"
8
+ }
9
+ ],
10
+ "x-mutates-state": true,
11
+ "properties": {
12
+ "idempotency_key": {
13
+ "type": "string",
14
+ "minLength": 16,
15
+ "maxLength": 255,
16
+ "pattern": "^[A-Za-z0-9_.:-]{16,255}$"
17
+ },
18
+ "notification_configs": {
19
+ "type": "array",
20
+ "items": {
21
+ "allOf": [
22
+ {
23
+ "$ref": "#/$defs/external:core~1agent-notification-config.json"
24
+ },
25
+ {
26
+ "if": {
27
+ "required": [
28
+ "authentication"
29
+ ]
30
+ },
31
+ "then": {
32
+ "properties": {
33
+ "authentication": {
34
+ "required": [
35
+ "credentials"
36
+ ]
37
+ }
38
+ }
39
+ }
40
+ }
41
+ ]
42
+ },
43
+ "maxItems": 16
44
+ },
45
+ "dry_run": {
46
+ "type": "boolean",
47
+ "default": false
48
+ },
49
+ "context": {
50
+ "$ref": "#/$defs/external:core~1context.json"
51
+ },
52
+ "ext": {
53
+ "$ref": "#/$defs/external:core~1ext.json"
54
+ }
55
+ },
56
+ "required": [
57
+ "idempotency_key",
58
+ "notification_configs"
59
+ ],
60
+ "additionalProperties": true,
61
+ "$defs": {
62
+ "external:core/version-envelope.json": {
63
+ "type": "object",
64
+ "properties": {
65
+ "adcp_version": {
66
+ "type": "string",
67
+ "pattern": "^(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)(?:-[a-zA-Z0-9](?:[a-zA-Z0-9.-]*[a-zA-Z0-9])?)?$"
68
+ },
69
+ "adcp_major_version": {
70
+ "type": "integer",
71
+ "deprecated": true,
72
+ "minimum": 1,
73
+ "maximum": 99
74
+ }
75
+ }
76
+ },
77
+ "external:core/agent-notification-config.json": {
78
+ "type": "object",
79
+ "properties": {
80
+ "subscriber_id": {
81
+ "type": "string",
82
+ "minLength": 1,
83
+ "maxLength": 64,
84
+ "pattern": "^[A-Za-z0-9_.:-]{1,64}$"
85
+ },
86
+ "url": {
87
+ "type": "string",
88
+ "format": "uri"
89
+ },
90
+ "event_types": {
91
+ "type": "array",
92
+ "items": {
93
+ "type": "string",
94
+ "enum": [
95
+ "capabilities.changed"
96
+ ]
97
+ },
98
+ "minItems": 1,
99
+ "uniqueItems": true
100
+ },
101
+ "authentication": {
102
+ "type": "object",
103
+ "deprecated": true,
104
+ "properties": {
105
+ "schemes": {
106
+ "type": "array",
107
+ "items": {
108
+ "$ref": "#/$defs/external:enums~1auth-scheme.json"
109
+ },
110
+ "minItems": 1,
111
+ "maxItems": 1
112
+ },
113
+ "credentials": {
114
+ "type": "string",
115
+ "minLength": 32
116
+ }
117
+ },
118
+ "required": [
119
+ "schemes"
120
+ ],
121
+ "additionalProperties": false
122
+ },
123
+ "active": {
124
+ "type": "boolean",
125
+ "default": true
126
+ },
127
+ "ext": {
128
+ "$ref": "#/$defs/external:core~1ext.json"
129
+ }
130
+ },
131
+ "required": [
132
+ "subscriber_id",
133
+ "url",
134
+ "event_types"
135
+ ],
136
+ "additionalProperties": false
137
+ },
138
+ "external:enums/auth-scheme.json": {
139
+ "deprecated": true,
140
+ "type": "string",
141
+ "enum": [
142
+ "Bearer",
143
+ "HMAC-SHA256"
144
+ ]
145
+ },
146
+ "external:core/ext.json": {
147
+ "type": "object",
148
+ "additionalProperties": true
149
+ },
150
+ "external:core/context.json": {
151
+ "type": "object",
152
+ "additionalProperties": true
153
+ }
154
+ }
155
+ }