@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,175 @@
1
+ {
2
+ "mcp_protocol_version": "2026-07-28",
3
+ "schema_dialect": "https://json-schema.org/draft/2020-12/schema",
4
+ "source_schema_dialect": "http://json-schema.org/draft-07/schema#",
5
+ "compatibility": "semantics-preserving projection; no 4.0 strictness rules applied",
6
+ "delivery": "client-side prompt input projection; servers continue to advertise outputSchema and clients validate with the parent profile",
7
+ "annotation_mode": "model-context",
8
+ "schema_fields": [
9
+ "inputSchema"
10
+ ],
11
+ "profile": "media-buy",
12
+ "profile_kind": "active-role-catalog",
13
+ "view": "client-prompt-inputs",
14
+ "surface_version": "3.2.0",
15
+ "compatibility_scope": "active-3.2-only",
16
+ "filters": {
17
+ "include_tools": [
18
+ "accept_proposal",
19
+ "buy_products",
20
+ "control_media_buy",
21
+ "decline_proposals",
22
+ "get_account_financials",
23
+ "get_adcp_capabilities",
24
+ "get_media_buy_delivery",
25
+ "get_media_buys",
26
+ "get_task_status",
27
+ "list_accounts",
28
+ "list_creatives",
29
+ "list_products",
30
+ "list_tasks",
31
+ "log_event",
32
+ "provide_performance_feedback",
33
+ "refine_proposals",
34
+ "report_usage",
35
+ "request_proposals",
36
+ "sync_accounts",
37
+ "sync_agent_notification_configs",
38
+ "sync_audiences",
39
+ "sync_catalogs",
40
+ "sync_creatives",
41
+ "sync_event_sources",
42
+ "sync_governance"
43
+ ],
44
+ "exclude_deprecated": true
45
+ },
46
+ "validation_profile": "../manifest.json",
47
+ "canonical_projection": "../../../manifest.json",
48
+ "tools": {
49
+ "accept_proposal": {
50
+ "protocol": "media-buy",
51
+ "summary": "Accept a committed proposal to create or amend a media buy, or apply a negotiated cancellation.",
52
+ "inputSchema": "media-buy/accept-proposal-request.json"
53
+ },
54
+ "buy_products": {
55
+ "protocol": "media-buy",
56
+ "summary": "Create a media buy directly from published seller products and record its accepted commercial snapshot.",
57
+ "inputSchema": "media-buy/buy-products-request.json"
58
+ },
59
+ "control_media_buy": {
60
+ "protocol": "media-buy",
61
+ "summary": "Pause, resume, cancel, or adjust delivery controls without changing accepted commercial terms.",
62
+ "inputSchema": "media-buy/control-media-buy-request.json"
63
+ },
64
+ "decline_proposals": {
65
+ "protocol": "media-buy",
66
+ "summary": "Terminally decline one or more proposals and record the buyer's reason.",
67
+ "inputSchema": "media-buy/decline-proposals-request.json"
68
+ },
69
+ "get_account_financials": {
70
+ "protocol": "account",
71
+ "summary": "Retrieve spend, credit or balance status, and invoice history for an operator-billed account.",
72
+ "inputSchema": "account/get-account-financials-request.json"
73
+ },
74
+ "get_adcp_capabilities": {
75
+ "protocol": "protocol",
76
+ "summary": "Discover the AdCP protocols and feature sets supported by this agent.",
77
+ "inputSchema": "protocol/get-adcp-capabilities-request.json"
78
+ },
79
+ "get_media_buy_delivery": {
80
+ "protocol": "media-buy",
81
+ "summary": "Retrieve media-buy delivery metrics with optional date, package, window, attribution, and dimension breakdowns.",
82
+ "inputSchema": "media-buy/get-media-buy-delivery-request.json"
83
+ },
84
+ "get_media_buys": {
85
+ "protocol": "media-buy",
86
+ "summary": "List media buys with current status, creative approval state, and optional delivery snapshots.",
87
+ "inputSchema": "media-buy/get-media-buys-request.json"
88
+ },
89
+ "get_task_status": {
90
+ "protocol": "protocol",
91
+ "summary": "Retrieve an AdCP asynchronous task, its conversation history, and terminal result by task ID.",
92
+ "inputSchema": "protocol/get-task-status-request.json"
93
+ },
94
+ "list_accounts": {
95
+ "protocol": "account",
96
+ "summary": "List accounts accessible to the caller and recover their canonical account references.",
97
+ "inputSchema": "account/list-accounts-request.json"
98
+ },
99
+ "list_creatives": {
100
+ "protocol": "creative",
101
+ "summary": "List creative-library assets with filtering, sorting, and pagination.",
102
+ "inputSchema": "creative/list-creatives-request.json"
103
+ },
104
+ "list_products": {
105
+ "protocol": "media-buy",
106
+ "summary": "List seller products that match structured discovery criteria.",
107
+ "inputSchema": "media-buy/list-products-request.json"
108
+ },
109
+ "list_tasks": {
110
+ "protocol": "protocol",
111
+ "summary": "List and filter AdCP asynchronous tasks for state reconciliation.",
112
+ "inputSchema": "protocol/list-tasks-request.json"
113
+ },
114
+ "log_event": {
115
+ "protocol": "media-buy",
116
+ "summary": "Log batches of marketing events against a configured event source for measurement and attribution.",
117
+ "inputSchema": "media-buy/log-event-request.json"
118
+ },
119
+ "provide_performance_feedback": {
120
+ "protocol": "media-buy",
121
+ "summary": "Submit an optimizer-ready performance assertion for validation and forwarding to a seller.",
122
+ "inputSchema": "media-buy/provide-performance-feedback-request.json"
123
+ },
124
+ "refine_proposals": {
125
+ "protocol": "media-buy",
126
+ "summary": "Revise draft proposals or finalize them into committed, inventory-held snapshots.",
127
+ "inputSchema": "media-buy/refine-proposals-request.json"
128
+ },
129
+ "report_usage": {
130
+ "protocol": "account",
131
+ "summary": "Report vendor-service consumption and final measurements for revenue tracking and billing reconciliation.",
132
+ "inputSchema": "account/report-usage-request.json"
133
+ },
134
+ "request_proposals": {
135
+ "protocol": "media-buy",
136
+ "summary": "Ask a seller to create one or more draft media-plan proposals from a campaign brief.",
137
+ "inputSchema": "media-buy/request-proposals-request.json"
138
+ },
139
+ "sync_accounts": {
140
+ "protocol": "account",
141
+ "summary": "Provision advertiser accounts or update settings for existing accounts through declarative synchronization.",
142
+ "inputSchema": "account/sync-accounts-request.json"
143
+ },
144
+ "sync_agent_notification_configs": {
145
+ "protocol": "protocol",
146
+ "summary": "Register, replace, pause, or clear caller-scoped webhooks for agent-level notifications.",
147
+ "inputSchema": "protocol/sync-agent-notification-configs-request.json"
148
+ },
149
+ "sync_audiences": {
150
+ "protocol": "media-buy",
151
+ "summary": "List or synchronize account audiences with upsert, member-delta, and optional replacement semantics.",
152
+ "inputSchema": "media-buy/sync-audiences-request.json"
153
+ },
154
+ "sync_catalogs": {
155
+ "protocol": "media-buy",
156
+ "summary": "List or synchronize buyer-managed account catalog feeds, suppress or restore specific items, and read current availability state.",
157
+ "inputSchema": "media-buy/sync-catalogs-request.json"
158
+ },
159
+ "sync_creatives": {
160
+ "protocol": "creative",
161
+ "summary": "List or synchronize creative assets, scoped updates, and media-buy assignments.",
162
+ "inputSchema": "creative/sync-creatives-request.json"
163
+ },
164
+ "sync_event_sources": {
165
+ "protocol": "media-buy",
166
+ "summary": "List or synchronize account event sources with upsert and optional replacement semantics.",
167
+ "inputSchema": "media-buy/sync-event-sources-request.json"
168
+ },
169
+ "sync_governance": {
170
+ "protocol": "account",
171
+ "summary": "Bind or replace the governance agent used for approval across specific advertiser accounts.",
172
+ "inputSchema": "account/sync-governance-request.json"
173
+ }
174
+ }
175
+ }
@@ -0,0 +1,498 @@
1
+ {
2
+ "type": "object",
3
+ "properties": {
4
+ "adcp_version": {
5
+ "$ref": "#/$defs/external:core~1version-envelope.json/properties/adcp_version"
6
+ },
7
+ "idempotency_key": {
8
+ "type": "string"
9
+ },
10
+ "account": {
11
+ "$ref": "#/$defs/external:core~1canonical-account-ref.json"
12
+ },
13
+ "proposal_id": {
14
+ "type": "string"
15
+ },
16
+ "proposal_terms_digest": {
17
+ "type": "string"
18
+ },
19
+ "total_budget": {
20
+ "type": "object",
21
+ "properties": {
22
+ "amount": {
23
+ "type": "number"
24
+ },
25
+ "currency": {
26
+ "type": "string"
27
+ }
28
+ },
29
+ "required": [
30
+ "amount",
31
+ "currency"
32
+ ]
33
+ },
34
+ "daily_budget_cap": {
35
+ "type": "number"
36
+ },
37
+ "budget_cap_timezone": {
38
+ "type": "string"
39
+ },
40
+ "io_acceptance": {
41
+ "type": "object",
42
+ "properties": {
43
+ "io_id": {
44
+ "type": "string"
45
+ },
46
+ "accepted_at": {
47
+ "type": "string"
48
+ },
49
+ "signatory": {
50
+ "type": "string"
51
+ },
52
+ "signature_id": {
53
+ "type": "string"
54
+ }
55
+ },
56
+ "required": [
57
+ "io_id",
58
+ "accepted_at",
59
+ "signatory"
60
+ ]
61
+ },
62
+ "purchase_order_ref": {
63
+ "type": "string"
64
+ },
65
+ "governance_context": {
66
+ "type": "string"
67
+ },
68
+ "push_notification_config": {
69
+ "$ref": "#/$defs/external:core~1push-notification-config.json"
70
+ },
71
+ "reporting_webhook": {
72
+ "$ref": "#/$defs/external:core~1reporting-webhook.json"
73
+ },
74
+ "opportunity": {
75
+ "allOf": [
76
+ {
77
+ "$ref": "#/$defs/external:core~1opportunity-context.json"
78
+ },
79
+ {
80
+ "properties": {
81
+ "status": {
82
+ "const": "closed"
83
+ }
84
+ },
85
+ "if": {
86
+ "properties": {
87
+ "status": {
88
+ "const": "closed"
89
+ }
90
+ },
91
+ "required": [
92
+ "status"
93
+ ]
94
+ },
95
+ "then": {
96
+ "properties": {
97
+ "close_reason": {
98
+ "const": "accepted_with_seller"
99
+ }
100
+ }
101
+ }
102
+ }
103
+ ]
104
+ },
105
+ "context": {
106
+ "$ref": "#/$defs/external:core~1context.json"
107
+ },
108
+ "ext": {
109
+ "$ref": "#/$defs/external:core~1ext.json"
110
+ }
111
+ },
112
+ "required": [
113
+ "idempotency_key",
114
+ "account",
115
+ "proposal_id",
116
+ "proposal_terms_digest"
117
+ ],
118
+ "not": {
119
+ "anyOf": [
120
+ {
121
+ "required": [
122
+ "packages"
123
+ ]
124
+ },
125
+ {
126
+ "required": [
127
+ "purchases"
128
+ ]
129
+ },
130
+ {
131
+ "required": [
132
+ "creatives"
133
+ ]
134
+ },
135
+ {
136
+ "required": [
137
+ "creative_assignments"
138
+ ]
139
+ }
140
+ ]
141
+ },
142
+ "$defs": {
143
+ "external:core/version-envelope.json": {
144
+ "type": "object",
145
+ "properties": {
146
+ "adcp_version": {
147
+ "type": "string"
148
+ },
149
+ "adcp_major_version": {
150
+ "type": "integer"
151
+ }
152
+ }
153
+ },
154
+ "external:core/canonical-account-ref.json": {
155
+ "type": "object",
156
+ "anyOf": [
157
+ {
158
+ "properties": {
159
+ "account_id": {
160
+ "type": "string"
161
+ }
162
+ },
163
+ "required": [
164
+ "account_id"
165
+ ]
166
+ },
167
+ {
168
+ "properties": {
169
+ "brand": {
170
+ "$ref": "#/$defs/external:core~1brand-key.json"
171
+ },
172
+ "operator": {
173
+ "type": "string"
174
+ },
175
+ "operator_unit": {
176
+ "$ref": "#/$defs/external:core~1operator-unit.json"
177
+ },
178
+ "currency": {
179
+ "type": "string"
180
+ },
181
+ "timezone": {
182
+ "type": "string"
183
+ },
184
+ "sandbox": {
185
+ "type": "boolean"
186
+ }
187
+ },
188
+ "required": [
189
+ "brand",
190
+ "operator"
191
+ ]
192
+ }
193
+ ]
194
+ },
195
+ "external:core/brand-key.json": {
196
+ "type": "object",
197
+ "properties": {
198
+ "domain": {
199
+ "type": "string"
200
+ },
201
+ "brand_id": {
202
+ "$ref": "#/$defs/external:core~1brand-id.json"
203
+ },
204
+ "countries": {
205
+ "type": "array",
206
+ "items": {
207
+ "type": "string"
208
+ }
209
+ }
210
+ },
211
+ "required": [
212
+ "domain"
213
+ ]
214
+ },
215
+ "external:core/brand-id.json": {
216
+ "type": "string"
217
+ },
218
+ "external:core/operator-unit.json": {
219
+ "type": "object",
220
+ "properties": {
221
+ "id": {
222
+ "type": "string"
223
+ },
224
+ "name": {
225
+ "type": "string"
226
+ }
227
+ },
228
+ "required": [
229
+ "id"
230
+ ]
231
+ },
232
+ "external:core/push-notification-config.json": {
233
+ "type": "object",
234
+ "properties": {
235
+ "url": {
236
+ "type": "string"
237
+ },
238
+ "operation_id": {
239
+ "type": "string"
240
+ },
241
+ "token": {
242
+ "type": "string"
243
+ },
244
+ "authentication": {
245
+ "type": "object",
246
+ "properties": {
247
+ "schemes": {
248
+ "type": "array",
249
+ "items": {
250
+ "$ref": "#/$defs/external:enums~1auth-scheme.json"
251
+ }
252
+ },
253
+ "credentials": {
254
+ "type": "string"
255
+ }
256
+ },
257
+ "required": [
258
+ "schemes",
259
+ "credentials"
260
+ ]
261
+ }
262
+ },
263
+ "required": [
264
+ "url"
265
+ ]
266
+ },
267
+ "external:enums/auth-scheme.json": {
268
+ "type": "string",
269
+ "enum": [
270
+ "Bearer",
271
+ "HMAC-SHA256"
272
+ ]
273
+ },
274
+ "external:core/reporting-webhook.json": {
275
+ "type": "object",
276
+ "properties": {
277
+ "url": {
278
+ "type": "string"
279
+ },
280
+ "token": {
281
+ "type": "string"
282
+ },
283
+ "authentication": {
284
+ "type": "object",
285
+ "properties": {
286
+ "schemes": {
287
+ "type": "array",
288
+ "items": {
289
+ "$ref": "#/$defs/external:enums~1auth-scheme.json"
290
+ }
291
+ },
292
+ "credentials": {
293
+ "type": "string"
294
+ }
295
+ },
296
+ "required": [
297
+ "schemes",
298
+ "credentials"
299
+ ]
300
+ },
301
+ "reporting_frequency": {
302
+ "type": "string",
303
+ "enum": [
304
+ "hourly",
305
+ "daily",
306
+ "monthly"
307
+ ]
308
+ },
309
+ "requested_metrics": {
310
+ "type": "array",
311
+ "items": {
312
+ "$ref": "#/$defs/external:enums~1available-metric.json"
313
+ }
314
+ }
315
+ },
316
+ "required": [
317
+ "url",
318
+ "authentication",
319
+ "reporting_frequency"
320
+ ],
321
+ "additionalProperties": true
322
+ },
323
+ "external:enums/available-metric.json": {
324
+ "type": "string",
325
+ "enum": [
326
+ "impressions",
327
+ "spend",
328
+ "clicks",
329
+ "ctr",
330
+ "views",
331
+ "completed_views",
332
+ "completion_rate",
333
+ "conversions",
334
+ "conversion_value",
335
+ "commissionable_value",
336
+ "roas",
337
+ "cost_per_acquisition",
338
+ "new_to_brand_rate",
339
+ "leads",
340
+ "reach",
341
+ "frequency",
342
+ "grps",
343
+ "engagements",
344
+ "engagement_rate",
345
+ "follows",
346
+ "saves",
347
+ "profile_visits",
348
+ "viewability",
349
+ "quartile_data",
350
+ "dooh_metrics",
351
+ "cost_per_click",
352
+ "cost_per_completed_view",
353
+ "cpm",
354
+ "downloads",
355
+ "units_sold",
356
+ "new_to_brand_units",
357
+ "plays",
358
+ "incremental_sales_lift",
359
+ "brand_lift",
360
+ "foot_traffic",
361
+ "conversion_lift",
362
+ "brand_search_lift"
363
+ ]
364
+ },
365
+ "external:core/opportunity-context.json": {
366
+ "type": "object",
367
+ "properties": {
368
+ "opportunity_id": {
369
+ "type": "string"
370
+ },
371
+ "phase": {
372
+ "type": "string",
373
+ "enum": [
374
+ "exploratory",
375
+ "planning",
376
+ "active_sourcing"
377
+ ]
378
+ },
379
+ "intent": {
380
+ "type": "string",
381
+ "enum": [
382
+ "test",
383
+ "speculative",
384
+ "planning",
385
+ "live_rfp"
386
+ ]
387
+ },
388
+ "planning_horizon": {
389
+ "$ref": "#/$defs/external:core~1date-range.json"
390
+ },
391
+ "response_deadline": {
392
+ "type": "string"
393
+ },
394
+ "status": {
395
+ "type": "string",
396
+ "enum": [
397
+ "open",
398
+ "closed"
399
+ ]
400
+ },
401
+ "close_reason": {
402
+ "type": "string",
403
+ "enum": [
404
+ "accepted_with_seller",
405
+ "purchased_elsewhere",
406
+ "selected_alternative",
407
+ "not_pursued",
408
+ "budget_changed",
409
+ "timing_changed",
410
+ "other"
411
+ ]
412
+ },
413
+ "close_detail": {
414
+ "type": "string"
415
+ }
416
+ },
417
+ "required": [
418
+ "opportunity_id"
419
+ ],
420
+ "allOf": [
421
+ {
422
+ "if": {
423
+ "properties": {
424
+ "status": {
425
+ "const": "closed"
426
+ }
427
+ },
428
+ "required": [
429
+ "status"
430
+ ]
431
+ },
432
+ "then": {
433
+ "required": [
434
+ "close_reason"
435
+ ]
436
+ },
437
+ "else": {
438
+ "not": {
439
+ "anyOf": [
440
+ {
441
+ "required": [
442
+ "close_reason"
443
+ ]
444
+ },
445
+ {
446
+ "required": [
447
+ "close_detail"
448
+ ]
449
+ }
450
+ ]
451
+ }
452
+ }
453
+ },
454
+ {
455
+ "if": {
456
+ "properties": {
457
+ "close_reason": {
458
+ "const": "other"
459
+ }
460
+ },
461
+ "required": [
462
+ "close_reason"
463
+ ]
464
+ },
465
+ "then": {
466
+ "required": [
467
+ "close_detail"
468
+ ]
469
+ }
470
+ }
471
+ ]
472
+ },
473
+ "external:core/date-range.json": {
474
+ "type": "object",
475
+ "properties": {
476
+ "start": {
477
+ "type": "string"
478
+ },
479
+ "end": {
480
+ "type": "string"
481
+ }
482
+ },
483
+ "required": [
484
+ "start",
485
+ "end"
486
+ ],
487
+ "additionalProperties": true
488
+ },
489
+ "external:core/context.json": {
490
+ "type": "object",
491
+ "additionalProperties": true
492
+ },
493
+ "external:core/ext.json": {
494
+ "type": "object",
495
+ "additionalProperties": true
496
+ }
497
+ }
498
+ }