@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,1153 @@
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/media-buy/sync-catalogs-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
+ "status": {
18
+ "type": "string",
19
+ "const": "completed"
20
+ },
21
+ "dry_run": {
22
+ "type": "boolean"
23
+ },
24
+ "catalogs": {
25
+ "type": "array",
26
+ "items": {
27
+ "type": "object",
28
+ "properties": {
29
+ "catalog_id": {
30
+ "type": "string",
31
+ "x-entity": "catalog"
32
+ },
33
+ "catalog_generation": {
34
+ "type": "string",
35
+ "minLength": 1,
36
+ "maxLength": 255,
37
+ "x-entity": "catalog_generation"
38
+ },
39
+ "action": {
40
+ "$ref": "#/$defs/external:enums~1catalog-action.json"
41
+ },
42
+ "platform_id": {
43
+ "type": "string"
44
+ },
45
+ "item_count": {
46
+ "type": "integer",
47
+ "minimum": 0
48
+ },
49
+ "items_approved": {
50
+ "type": "integer",
51
+ "minimum": 0
52
+ },
53
+ "items_pending": {
54
+ "type": "integer",
55
+ "minimum": 0
56
+ },
57
+ "items_rejected": {
58
+ "type": "integer",
59
+ "minimum": 0
60
+ },
61
+ "item_issues": {
62
+ "type": "array",
63
+ "items": {
64
+ "type": "object",
65
+ "properties": {
66
+ "item_id": {
67
+ "type": "string"
68
+ },
69
+ "status": {
70
+ "$ref": "#/$defs/external:enums~1catalog-item-status.json"
71
+ },
72
+ "reasons": {
73
+ "type": "array",
74
+ "items": {
75
+ "type": "string"
76
+ }
77
+ }
78
+ },
79
+ "required": [
80
+ "item_id",
81
+ "status"
82
+ ],
83
+ "additionalProperties": true
84
+ }
85
+ },
86
+ "last_synced_at": {
87
+ "type": "string",
88
+ "format": "date-time"
89
+ },
90
+ "next_fetch_at": {
91
+ "type": "string",
92
+ "format": "date-time"
93
+ },
94
+ "changes": {
95
+ "type": "array",
96
+ "items": {
97
+ "type": "string"
98
+ }
99
+ },
100
+ "errors": {
101
+ "type": "array",
102
+ "items": {
103
+ "$ref": "#/$defs/external:core~1error.json"
104
+ }
105
+ },
106
+ "warnings": {
107
+ "type": "array",
108
+ "items": {
109
+ "type": "string"
110
+ }
111
+ }
112
+ },
113
+ "required": [
114
+ "catalog_id",
115
+ "action"
116
+ ],
117
+ "additionalProperties": true,
118
+ "allOf": [
119
+ {
120
+ "if": {
121
+ "properties": {
122
+ "action": {
123
+ "enum": [
124
+ "created",
125
+ "updated",
126
+ "unchanged"
127
+ ]
128
+ }
129
+ },
130
+ "required": [
131
+ "action"
132
+ ]
133
+ },
134
+ "then": {
135
+ "required": [
136
+ "item_count"
137
+ ]
138
+ }
139
+ }
140
+ ]
141
+ }
142
+ },
143
+ "item_availability_updates": {
144
+ "type": "array",
145
+ "items": {
146
+ "$ref": "#/$defs/external:core~1catalog-item-availability-update-result.json"
147
+ },
148
+ "minItems": 1,
149
+ "maxItems": 1000
150
+ },
151
+ "item_availability_states": {
152
+ "type": "array",
153
+ "items": {
154
+ "$ref": "#/$defs/external:core~1catalog-item-availability-state.json"
155
+ },
156
+ "minItems": 1,
157
+ "maxItems": 1000
158
+ },
159
+ "sandbox": {
160
+ "type": "boolean"
161
+ },
162
+ "context": {
163
+ "$ref": "#/$defs/external:core~1context.json"
164
+ },
165
+ "ext": {
166
+ "$ref": "#/$defs/external:core~1ext.json"
167
+ }
168
+ },
169
+ "required": [
170
+ "catalogs"
171
+ ],
172
+ "additionalProperties": true,
173
+ "not": {
174
+ "required": [
175
+ "errors"
176
+ ]
177
+ }
178
+ },
179
+ {
180
+ "type": "object",
181
+ "properties": {
182
+ "errors": {
183
+ "type": "array",
184
+ "items": {
185
+ "allOf": [
186
+ {
187
+ "$ref": "#/$defs/external:core~1error.json"
188
+ },
189
+ {
190
+ "if": {
191
+ "properties": {
192
+ "code": {
193
+ "const": "REFERENCE_NOT_FOUND"
194
+ }
195
+ },
196
+ "required": [
197
+ "code"
198
+ ]
199
+ },
200
+ "then": {
201
+ "anyOf": [
202
+ {
203
+ "$ref": "#/$defs/external:core~1catalog-item-reference-not-found-error.json"
204
+ },
205
+ {
206
+ "type": "object",
207
+ "properties": {
208
+ "field": {
209
+ "const": "catalog_ids"
210
+ }
211
+ },
212
+ "required": [
213
+ "field"
214
+ ]
215
+ }
216
+ ]
217
+ }
218
+ }
219
+ ]
220
+ },
221
+ "minItems": 1
222
+ },
223
+ "context": {
224
+ "$ref": "#/$defs/external:core~1context.json"
225
+ },
226
+ "ext": {
227
+ "$ref": "#/$defs/external:core~1ext.json"
228
+ }
229
+ },
230
+ "required": [
231
+ "errors"
232
+ ],
233
+ "additionalProperties": true,
234
+ "allOf": [
235
+ {
236
+ "if": {
237
+ "properties": {
238
+ "errors": {
239
+ "contains": {
240
+ "$ref": "#/$defs/external:core~1catalog-item-reference-not-found-error.json"
241
+ }
242
+ }
243
+ },
244
+ "required": [
245
+ "errors"
246
+ ]
247
+ },
248
+ "then": {
249
+ "propertyNames": {
250
+ "enum": [
251
+ "status",
252
+ "errors",
253
+ "adcp_error",
254
+ "message",
255
+ "context",
256
+ "context_id",
257
+ "timestamp",
258
+ "replayed",
259
+ "adcp_version",
260
+ "adcp_major_version"
261
+ ]
262
+ },
263
+ "properties": {
264
+ "errors": {
265
+ "maxItems": 1,
266
+ "items": {
267
+ "$ref": "#/$defs/external:core~1catalog-item-reference-not-found-error.json"
268
+ }
269
+ },
270
+ "adcp_error": {
271
+ "$ref": "#/$defs/external:core~1catalog-item-reference-not-found-error.json"
272
+ },
273
+ "message": {
274
+ "type": "string",
275
+ "const": "Catalog item not found"
276
+ }
277
+ }
278
+ }
279
+ }
280
+ ],
281
+ "not": {
282
+ "anyOf": [
283
+ {
284
+ "required": [
285
+ "catalogs"
286
+ ]
287
+ },
288
+ {
289
+ "required": [
290
+ "item_availability_updates"
291
+ ]
292
+ },
293
+ {
294
+ "required": [
295
+ "item_availability_states"
296
+ ]
297
+ },
298
+ {
299
+ "required": [
300
+ "dry_run"
301
+ ]
302
+ },
303
+ {
304
+ "required": [
305
+ "sandbox"
306
+ ]
307
+ },
308
+ {
309
+ "properties": {
310
+ "status": {
311
+ "const": "submitted"
312
+ }
313
+ },
314
+ "required": [
315
+ "status"
316
+ ]
317
+ }
318
+ ]
319
+ }
320
+ },
321
+ {
322
+ "type": "object",
323
+ "properties": {
324
+ "status": {
325
+ "type": "string",
326
+ "const": "submitted"
327
+ },
328
+ "task_id": {
329
+ "type": "string",
330
+ "x-entity": "task"
331
+ },
332
+ "message": {
333
+ "type": "string",
334
+ "maxLength": 2000
335
+ },
336
+ "errors": {
337
+ "type": "array",
338
+ "items": {
339
+ "$ref": "#/$defs/external:core~1error.json"
340
+ }
341
+ },
342
+ "context": {
343
+ "$ref": "#/$defs/external:core~1context.json"
344
+ },
345
+ "ext": {
346
+ "$ref": "#/$defs/external:core~1ext.json"
347
+ }
348
+ },
349
+ "required": [
350
+ "status",
351
+ "task_id"
352
+ ],
353
+ "additionalProperties": true,
354
+ "not": {
355
+ "anyOf": [
356
+ {
357
+ "required": [
358
+ "catalogs"
359
+ ]
360
+ },
361
+ {
362
+ "required": [
363
+ "item_availability_updates"
364
+ ]
365
+ },
366
+ {
367
+ "required": [
368
+ "item_availability_states"
369
+ ]
370
+ }
371
+ ]
372
+ }
373
+ }
374
+ ],
375
+ "properties": {},
376
+ "$defs": {
377
+ "external:core/version-envelope.json": {
378
+ "type": "object",
379
+ "properties": {
380
+ "adcp_version": {
381
+ "type": "string",
382
+ "pattern": "^(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)(?:-[a-zA-Z0-9](?:[a-zA-Z0-9.-]*[a-zA-Z0-9])?)?$"
383
+ },
384
+ "adcp_major_version": {
385
+ "type": "integer",
386
+ "deprecated": true,
387
+ "minimum": 1,
388
+ "maximum": 99
389
+ }
390
+ }
391
+ },
392
+ "external:core/protocol-envelope.json": {
393
+ "type": "object",
394
+ "properties": {
395
+ "context_id": {
396
+ "type": "string"
397
+ },
398
+ "context": {
399
+ "$ref": "#/$defs/external:core~1context.json"
400
+ },
401
+ "task_id": {
402
+ "type": "string",
403
+ "x-entity": "task"
404
+ },
405
+ "status": {
406
+ "$ref": "#/$defs/external:enums~1task-status.json"
407
+ },
408
+ "message": {
409
+ "type": "string"
410
+ },
411
+ "timestamp": {
412
+ "type": "string",
413
+ "format": "date-time"
414
+ },
415
+ "replayed": {
416
+ "type": "boolean",
417
+ "default": false
418
+ },
419
+ "adcp_error": {
420
+ "$ref": "#/$defs/external:core~1error.json"
421
+ },
422
+ "push_notification_config": {
423
+ "$ref": "#/$defs/external:core~1push-notification-config.json"
424
+ },
425
+ "governance_context": {
426
+ "type": "string",
427
+ "minLength": 1,
428
+ "maxLength": 4096,
429
+ "pattern": "^[\\x20-\\x7E]+$"
430
+ },
431
+ "payload": {
432
+ "type": "object",
433
+ "x-adcp-open-payload": true,
434
+ "additionalProperties": true
435
+ }
436
+ },
437
+ "required": [
438
+ "status"
439
+ ],
440
+ "additionalProperties": true,
441
+ "not": {
442
+ "anyOf": [
443
+ {
444
+ "required": [
445
+ "task_status"
446
+ ]
447
+ },
448
+ {
449
+ "required": [
450
+ "response_status"
451
+ ]
452
+ }
453
+ ]
454
+ },
455
+ "notes": [
456
+ "Task response schemas (e.g., get-products-response.json) define ONLY the body fields; protocol-layer fields live on this envelope.",
457
+ "Transport serialization (normative):",
458
+ " - 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.",
459
+ " - 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.",
460
+ " - 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.",
461
+ "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`.",
462
+ "`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.",
463
+ "Receivers MUST handle absence of an envelope field (e.g., `replayed` omitted) as the field's documented default — see each field's `default` clause."
464
+ ]
465
+ },
466
+ "external:core/context.json": {
467
+ "type": "object",
468
+ "additionalProperties": true
469
+ },
470
+ "external:enums/task-status.json": {
471
+ "type": "string",
472
+ "enum": [
473
+ "submitted",
474
+ "working",
475
+ "input-required",
476
+ "completed",
477
+ "canceled",
478
+ "failed",
479
+ "rejected",
480
+ "auth-required",
481
+ "unknown"
482
+ ]
483
+ },
484
+ "external:core/error.json": {
485
+ "type": "object",
486
+ "properties": {
487
+ "code": {
488
+ "type": "string",
489
+ "minLength": 1,
490
+ "maxLength": 64
491
+ },
492
+ "message": {
493
+ "type": "string"
494
+ },
495
+ "field": {
496
+ "type": "string"
497
+ },
498
+ "suggestion": {
499
+ "type": "string"
500
+ },
501
+ "retry_after": {
502
+ "type": "number",
503
+ "minimum": 1,
504
+ "maximum": 3600
505
+ },
506
+ "issues": {
507
+ "type": "array",
508
+ "items": {
509
+ "type": "object",
510
+ "properties": {
511
+ "pointer": {
512
+ "type": "string"
513
+ },
514
+ "message": {
515
+ "type": "string"
516
+ },
517
+ "keyword": {
518
+ "type": "string"
519
+ },
520
+ "schemaPath": {
521
+ "type": "string"
522
+ },
523
+ "schema_id": {
524
+ "type": "string"
525
+ },
526
+ "discriminator": {
527
+ "type": "array",
528
+ "items": {
529
+ "type": "object",
530
+ "properties": {
531
+ "property_name": {
532
+ "type": "string"
533
+ },
534
+ "value": {
535
+ "type": [
536
+ "string",
537
+ "number",
538
+ "boolean",
539
+ "null"
540
+ ]
541
+ }
542
+ },
543
+ "required": [
544
+ "property_name",
545
+ "value"
546
+ ],
547
+ "additionalProperties": false
548
+ }
549
+ }
550
+ },
551
+ "required": [
552
+ "pointer",
553
+ "message",
554
+ "keyword"
555
+ ],
556
+ "additionalProperties": true
557
+ }
558
+ },
559
+ "details": {
560
+ "type": "object",
561
+ "additionalProperties": true
562
+ },
563
+ "recovery": {
564
+ "type": "string",
565
+ "enum": [
566
+ "transient",
567
+ "correctable",
568
+ "terminal"
569
+ ]
570
+ },
571
+ "source": {
572
+ "type": "string",
573
+ "enum": [
574
+ "producer",
575
+ "sdk"
576
+ ]
577
+ },
578
+ "sdk_id": {
579
+ "type": "string"
580
+ }
581
+ },
582
+ "required": [
583
+ "code",
584
+ "message"
585
+ ],
586
+ "additionalProperties": true
587
+ },
588
+ "external:core/push-notification-config.json": {
589
+ "type": "object",
590
+ "properties": {
591
+ "url": {
592
+ "type": "string",
593
+ "format": "uri"
594
+ },
595
+ "operation_id": {
596
+ "type": "string",
597
+ "minLength": 1,
598
+ "maxLength": 255,
599
+ "pattern": "^[A-Za-z0-9_.:-]{1,255}$"
600
+ },
601
+ "token": {
602
+ "type": "string",
603
+ "minLength": 16,
604
+ "maxLength": 4096
605
+ },
606
+ "authentication": {
607
+ "type": "object",
608
+ "deprecated": true,
609
+ "properties": {
610
+ "schemes": {
611
+ "type": "array",
612
+ "items": {
613
+ "$ref": "#/$defs/external:enums~1auth-scheme.json"
614
+ },
615
+ "minItems": 1,
616
+ "maxItems": 1
617
+ },
618
+ "credentials": {
619
+ "type": "string",
620
+ "minLength": 32
621
+ }
622
+ },
623
+ "required": [
624
+ "schemes",
625
+ "credentials"
626
+ ],
627
+ "additionalProperties": false
628
+ }
629
+ },
630
+ "required": [
631
+ "url"
632
+ ]
633
+ },
634
+ "external:enums/auth-scheme.json": {
635
+ "deprecated": true,
636
+ "type": "string",
637
+ "enum": [
638
+ "Bearer",
639
+ "HMAC-SHA256"
640
+ ]
641
+ },
642
+ "external:enums/catalog-action.json": {
643
+ "type": "string",
644
+ "enum": [
645
+ "created",
646
+ "updated",
647
+ "unchanged",
648
+ "failed",
649
+ "deleted"
650
+ ]
651
+ },
652
+ "external:enums/catalog-item-status.json": {
653
+ "type": "string",
654
+ "enum": [
655
+ "approved",
656
+ "pending",
657
+ "rejected",
658
+ "warning",
659
+ "withdrawn"
660
+ ]
661
+ },
662
+ "external:core/catalog-item-availability-update-result.json": {
663
+ "type": "object",
664
+ "properties": {
665
+ "request_index": {
666
+ "type": "integer",
667
+ "minimum": 0
668
+ },
669
+ "catalog_id": {
670
+ "type": "string",
671
+ "x-entity": "catalog"
672
+ },
673
+ "catalog_generation": {
674
+ "type": "string",
675
+ "minLength": 1,
676
+ "maxLength": 255,
677
+ "x-entity": "catalog_generation"
678
+ },
679
+ "item_id": {
680
+ "type": "string",
681
+ "x-entity": "catalog_item"
682
+ },
683
+ "action": {
684
+ "type": "string",
685
+ "enum": [
686
+ "suppress",
687
+ "restore"
688
+ ]
689
+ },
690
+ "status": {
691
+ "type": "string",
692
+ "enum": [
693
+ "applied",
694
+ "unchanged",
695
+ "failed"
696
+ ]
697
+ },
698
+ "availability": {
699
+ "type": "string",
700
+ "enum": [
701
+ "active",
702
+ "suppressed"
703
+ ]
704
+ },
705
+ "overlay_revision": {
706
+ "type": "integer",
707
+ "minimum": 0
708
+ },
709
+ "expires_at": {
710
+ "type": "string",
711
+ "format": "date-time"
712
+ },
713
+ "applied_at": {
714
+ "type": "string",
715
+ "format": "date-time"
716
+ },
717
+ "errors": {
718
+ "type": "array",
719
+ "minItems": 1,
720
+ "items": {
721
+ "$ref": "#/$defs/external:core~1catalog-item-availability-error.json"
722
+ }
723
+ },
724
+ "ext": {
725
+ "$ref": "#/$defs/external:core~1ext.json"
726
+ }
727
+ },
728
+ "required": [
729
+ "request_index",
730
+ "catalog_id",
731
+ "catalog_generation",
732
+ "item_id",
733
+ "action",
734
+ "status"
735
+ ],
736
+ "allOf": [
737
+ {
738
+ "if": {
739
+ "properties": {
740
+ "status": {
741
+ "const": "failed"
742
+ }
743
+ },
744
+ "required": [
745
+ "status"
746
+ ]
747
+ },
748
+ "then": {
749
+ "required": [
750
+ "errors"
751
+ ],
752
+ "propertyNames": {
753
+ "enum": [
754
+ "request_index",
755
+ "catalog_id",
756
+ "catalog_generation",
757
+ "item_id",
758
+ "action",
759
+ "status",
760
+ "errors"
761
+ ]
762
+ },
763
+ "not": {
764
+ "anyOf": [
765
+ {
766
+ "required": [
767
+ "applied_at"
768
+ ]
769
+ },
770
+ {
771
+ "required": [
772
+ "availability"
773
+ ]
774
+ },
775
+ {
776
+ "required": [
777
+ "overlay_revision"
778
+ ]
779
+ },
780
+ {
781
+ "required": [
782
+ "expires_at"
783
+ ]
784
+ }
785
+ ]
786
+ }
787
+ },
788
+ "else": {
789
+ "required": [
790
+ "availability",
791
+ "overlay_revision"
792
+ ],
793
+ "not": {
794
+ "required": [
795
+ "errors"
796
+ ]
797
+ }
798
+ }
799
+ },
800
+ {
801
+ "if": {
802
+ "properties": {
803
+ "errors": {
804
+ "contains": {
805
+ "properties": {
806
+ "code": {
807
+ "const": "REFERENCE_NOT_FOUND"
808
+ }
809
+ },
810
+ "required": [
811
+ "code"
812
+ ]
813
+ }
814
+ }
815
+ },
816
+ "required": [
817
+ "errors"
818
+ ]
819
+ },
820
+ "then": {
821
+ "properties": {
822
+ "errors": {
823
+ "maxItems": 1,
824
+ "items": {
825
+ "$ref": "#/$defs/external:core~1catalog-item-reference-not-found-error.json"
826
+ }
827
+ }
828
+ }
829
+ }
830
+ },
831
+ {
832
+ "if": {
833
+ "properties": {
834
+ "status": {
835
+ "const": "applied"
836
+ }
837
+ },
838
+ "required": [
839
+ "status"
840
+ ]
841
+ },
842
+ "then": {
843
+ "required": [
844
+ "applied_at"
845
+ ],
846
+ "not": {
847
+ "required": [
848
+ "errors"
849
+ ]
850
+ }
851
+ }
852
+ },
853
+ {
854
+ "if": {
855
+ "required": [
856
+ "expires_at"
857
+ ]
858
+ },
859
+ "then": {
860
+ "properties": {
861
+ "availability": {
862
+ "const": "suppressed"
863
+ }
864
+ }
865
+ }
866
+ },
867
+ {
868
+ "if": {
869
+ "properties": {
870
+ "action": {
871
+ "const": "suppress"
872
+ },
873
+ "status": {
874
+ "enum": [
875
+ "applied",
876
+ "unchanged"
877
+ ]
878
+ }
879
+ },
880
+ "required": [
881
+ "action",
882
+ "status"
883
+ ]
884
+ },
885
+ "then": {
886
+ "properties": {
887
+ "availability": {
888
+ "const": "suppressed"
889
+ }
890
+ }
891
+ }
892
+ },
893
+ {
894
+ "if": {
895
+ "properties": {
896
+ "action": {
897
+ "const": "restore"
898
+ },
899
+ "status": {
900
+ "enum": [
901
+ "applied",
902
+ "unchanged"
903
+ ]
904
+ }
905
+ },
906
+ "required": [
907
+ "action",
908
+ "status"
909
+ ]
910
+ },
911
+ "then": {
912
+ "properties": {
913
+ "availability": {
914
+ "const": "active"
915
+ }
916
+ }
917
+ }
918
+ }
919
+ ],
920
+ "additionalProperties": true
921
+ },
922
+ "external:core/catalog-item-availability-error.json": {
923
+ "allOf": [
924
+ {
925
+ "$ref": "#/$defs/external:core~1error.json"
926
+ },
927
+ {
928
+ "if": {
929
+ "properties": {
930
+ "code": {
931
+ "const": "REFERENCE_NOT_FOUND"
932
+ }
933
+ },
934
+ "required": [
935
+ "code"
936
+ ]
937
+ },
938
+ "then": {
939
+ "$ref": "#/$defs/external:core~1catalog-item-reference-not-found-error.json"
940
+ }
941
+ }
942
+ ]
943
+ },
944
+ "external:core/catalog-item-reference-not-found-error.json": {
945
+ "type": "object",
946
+ "properties": {
947
+ "code": {
948
+ "type": "string",
949
+ "const": "REFERENCE_NOT_FOUND"
950
+ },
951
+ "message": {
952
+ "type": "string",
953
+ "const": "Catalog item not found"
954
+ },
955
+ "recovery": {
956
+ "type": "string",
957
+ "const": "correctable"
958
+ }
959
+ },
960
+ "required": [
961
+ "code",
962
+ "message",
963
+ "recovery"
964
+ ],
965
+ "additionalProperties": false
966
+ },
967
+ "external:core/ext.json": {
968
+ "type": "object",
969
+ "additionalProperties": true
970
+ },
971
+ "external:core/catalog-item-availability-state.json": {
972
+ "type": "object",
973
+ "properties": {
974
+ "request_index": {
975
+ "type": "integer",
976
+ "minimum": 0
977
+ },
978
+ "catalog_id": {
979
+ "type": "string",
980
+ "minLength": 1,
981
+ "maxLength": 255,
982
+ "x-entity": "catalog"
983
+ },
984
+ "catalog_generation": {
985
+ "type": "string",
986
+ "minLength": 1,
987
+ "maxLength": 255,
988
+ "x-entity": "catalog_generation"
989
+ },
990
+ "item_id": {
991
+ "type": "string",
992
+ "minLength": 1,
993
+ "maxLength": 255,
994
+ "x-entity": "catalog_item"
995
+ },
996
+ "status": {
997
+ "type": "string",
998
+ "enum": [
999
+ "found",
1000
+ "failed"
1001
+ ]
1002
+ },
1003
+ "availability": {
1004
+ "type": "string",
1005
+ "enum": [
1006
+ "active",
1007
+ "suppressed"
1008
+ ]
1009
+ },
1010
+ "overlay_revision": {
1011
+ "type": "integer",
1012
+ "minimum": 0
1013
+ },
1014
+ "expires_at": {
1015
+ "type": "string",
1016
+ "format": "date-time"
1017
+ },
1018
+ "updated_at": {
1019
+ "type": "string",
1020
+ "format": "date-time"
1021
+ },
1022
+ "errors": {
1023
+ "type": "array",
1024
+ "minItems": 1,
1025
+ "items": {
1026
+ "$ref": "#/$defs/external:core~1catalog-item-availability-error.json"
1027
+ }
1028
+ },
1029
+ "ext": {
1030
+ "$ref": "#/$defs/external:core~1ext.json"
1031
+ }
1032
+ },
1033
+ "required": [
1034
+ "request_index",
1035
+ "catalog_id",
1036
+ "catalog_generation",
1037
+ "item_id",
1038
+ "status"
1039
+ ],
1040
+ "allOf": [
1041
+ {
1042
+ "if": {
1043
+ "properties": {
1044
+ "status": {
1045
+ "const": "found"
1046
+ }
1047
+ },
1048
+ "required": [
1049
+ "status"
1050
+ ]
1051
+ },
1052
+ "then": {
1053
+ "required": [
1054
+ "availability",
1055
+ "overlay_revision",
1056
+ "updated_at"
1057
+ ],
1058
+ "not": {
1059
+ "required": [
1060
+ "errors"
1061
+ ]
1062
+ }
1063
+ },
1064
+ "else": {
1065
+ "required": [
1066
+ "errors"
1067
+ ],
1068
+ "propertyNames": {
1069
+ "enum": [
1070
+ "request_index",
1071
+ "catalog_id",
1072
+ "catalog_generation",
1073
+ "item_id",
1074
+ "status",
1075
+ "errors"
1076
+ ]
1077
+ },
1078
+ "not": {
1079
+ "anyOf": [
1080
+ {
1081
+ "required": [
1082
+ "availability"
1083
+ ]
1084
+ },
1085
+ {
1086
+ "required": [
1087
+ "overlay_revision"
1088
+ ]
1089
+ },
1090
+ {
1091
+ "required": [
1092
+ "expires_at"
1093
+ ]
1094
+ },
1095
+ {
1096
+ "required": [
1097
+ "updated_at"
1098
+ ]
1099
+ }
1100
+ ]
1101
+ }
1102
+ }
1103
+ },
1104
+ {
1105
+ "if": {
1106
+ "required": [
1107
+ "expires_at"
1108
+ ]
1109
+ },
1110
+ "then": {
1111
+ "properties": {
1112
+ "availability": {
1113
+ "const": "suppressed"
1114
+ }
1115
+ }
1116
+ }
1117
+ },
1118
+ {
1119
+ "if": {
1120
+ "properties": {
1121
+ "errors": {
1122
+ "contains": {
1123
+ "properties": {
1124
+ "code": {
1125
+ "const": "REFERENCE_NOT_FOUND"
1126
+ }
1127
+ },
1128
+ "required": [
1129
+ "code"
1130
+ ]
1131
+ }
1132
+ }
1133
+ },
1134
+ "required": [
1135
+ "errors"
1136
+ ]
1137
+ },
1138
+ "then": {
1139
+ "properties": {
1140
+ "errors": {
1141
+ "maxItems": 1,
1142
+ "items": {
1143
+ "$ref": "#/$defs/external:core~1catalog-item-reference-not-found-error.json"
1144
+ }
1145
+ }
1146
+ }
1147
+ }
1148
+ }
1149
+ ],
1150
+ "additionalProperties": true
1151
+ }
1152
+ }
1153
+ }