@adcp/sdk 16.0.0-beta.8 → 16.0.0-beta.9

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 (355) hide show
  1. package/AGENTS.md +3 -3
  2. package/README.md +3 -0
  3. package/bin/adcp.js +10 -13
  4. package/dist/lib/core/AgentClient.d.mts +8 -5
  5. package/dist/lib/core/AgentClient.d.ts +8 -5
  6. package/dist/lib/core/AgentClient.js +9 -4
  7. package/dist/lib/core/AgentClient.mjs +9 -4
  8. package/dist/lib/core/SingleAgentClient.d.mts +19 -112
  9. package/dist/lib/core/SingleAgentClient.d.ts +19 -112
  10. package/dist/lib/core/SingleAgentClient.js +270 -252
  11. package/dist/lib/core/SingleAgentClient.mjs +275 -253
  12. package/dist/lib/core/TaskExecutor.d.mts +1 -16
  13. package/dist/lib/core/TaskExecutor.d.ts +1 -16
  14. package/dist/lib/core/TaskExecutor.js +34 -51
  15. package/dist/lib/core/TaskExecutor.mjs +12 -29
  16. package/dist/lib/core/product-cache.d.mts +3 -1
  17. package/dist/lib/core/product-cache.d.ts +3 -1
  18. package/dist/lib/core/product-cache.js +2 -1
  19. package/dist/lib/core/product-cache.mjs +2 -1
  20. package/dist/lib/errors/index.d.mts +2 -8
  21. package/dist/lib/errors/index.d.ts +2 -8
  22. package/dist/lib/errors/index.js +4 -4
  23. package/dist/lib/errors/index.mjs +4 -4
  24. package/dist/lib/index.d.mts +4 -4
  25. package/dist/lib/index.d.ts +4 -4
  26. package/dist/lib/index.js +0 -14
  27. package/dist/lib/index.mjs +0 -14
  28. package/dist/lib/media-buy/compatibility.d.mts +1 -1
  29. package/dist/lib/media-buy/compatibility.d.ts +1 -1
  30. package/dist/lib/media-buy/compatibility.js +26 -45
  31. package/dist/lib/media-buy/compatibility.mjs +26 -45
  32. package/dist/lib/media-buy/legacy-purchase-continuation.d.mts +2 -2
  33. package/dist/lib/media-buy/legacy-purchase-continuation.d.ts +2 -2
  34. package/dist/lib/protocols/index.js +14 -22
  35. package/dist/lib/protocols/index.mjs +5 -13
  36. package/dist/lib/registry/types.d.mts +3 -2
  37. package/dist/lib/registry/types.d.ts +3 -2
  38. package/dist/lib/registry/types.generated.d.mts +51 -11
  39. package/dist/lib/registry/types.generated.d.ts +51 -11
  40. package/dist/lib/reporting/source/conformance.d.mts +8 -8
  41. package/dist/lib/reporting/source/conformance.d.ts +8 -8
  42. package/dist/lib/reporting/source/manifest.d.mts +27 -27
  43. package/dist/lib/reporting/source/manifest.d.ts +27 -27
  44. package/dist/lib/server/create-adcp-server.js +6 -0
  45. package/dist/lib/server/create-adcp-server.mjs +6 -0
  46. package/dist/lib/testing/compliance/comply.js +0 -8
  47. package/dist/lib/testing/compliance/comply.mjs +0 -8
  48. package/dist/lib/testing/compliance/storyboard-tracks.js +11 -0
  49. package/dist/lib/testing/compliance/storyboard-tracks.mjs +11 -0
  50. package/dist/lib/testing/index.d.mts +2 -0
  51. package/dist/lib/testing/index.d.ts +2 -0
  52. package/dist/lib/testing/index.js +5 -0
  53. package/dist/lib/testing/index.mjs +3 -0
  54. package/dist/lib/testing/scenarios/capabilities.d.mts +2 -2
  55. package/dist/lib/testing/scenarios/capabilities.d.ts +2 -2
  56. package/dist/lib/testing/scenarios/capabilities.js +8 -41
  57. package/dist/lib/testing/scenarios/capabilities.mjs +9 -42
  58. package/dist/lib/testing/storyboard/creative-build-probe.d.mts +34 -0
  59. package/dist/lib/testing/storyboard/creative-build-probe.d.ts +34 -0
  60. package/dist/lib/testing/storyboard/creative-build-probe.js +395 -0
  61. package/dist/lib/testing/storyboard/creative-build-probe.mjs +373 -0
  62. package/dist/lib/testing/storyboard/index.d.mts +2 -0
  63. package/dist/lib/testing/storyboard/index.d.ts +2 -0
  64. package/dist/lib/testing/storyboard/index.js +5 -0
  65. package/dist/lib/testing/storyboard/index.mjs +3 -0
  66. package/dist/lib/testing/storyboard/loader.js +12 -0
  67. package/dist/lib/testing/storyboard/loader.mjs +12 -0
  68. package/dist/lib/testing/storyboard/property-list-reference.d.mts +15 -0
  69. package/dist/lib/testing/storyboard/property-list-reference.d.ts +15 -0
  70. package/dist/lib/testing/storyboard/property-list-reference.js +514 -0
  71. package/dist/lib/testing/storyboard/property-list-reference.mjs +487 -0
  72. package/dist/lib/testing/storyboard/runner.js +318 -58
  73. package/dist/lib/testing/storyboard/runner.mjs +322 -58
  74. package/dist/lib/testing/storyboard/types.d.mts +38 -16
  75. package/dist/lib/testing/storyboard/types.d.ts +38 -16
  76. package/dist/lib/testing/storyboard/types.js +1 -0
  77. package/dist/lib/testing/storyboard/types.mjs +1 -0
  78. package/dist/lib/testing/storyboard/validations.d.mts +1 -1
  79. package/dist/lib/testing/storyboard/validations.d.ts +1 -1
  80. package/dist/lib/testing/storyboard/validations.js +64 -0
  81. package/dist/lib/testing/storyboard/validations.mjs +67 -1
  82. package/dist/lib/testing/types.d.mts +15 -1
  83. package/dist/lib/testing/types.d.ts +15 -1
  84. package/dist/lib/types/schemas.generated.d.ts +65 -65
  85. package/dist/lib/types/wellknown-schemas.generated.d.mts +21 -21
  86. package/dist/lib/types/wellknown-schemas.generated.d.ts +21 -21
  87. package/dist/lib/utils/adcp-version-config.js +6 -0
  88. package/dist/lib/utils/adcp-version-config.mjs +6 -0
  89. package/dist/lib/utils/capabilities.d.mts +7 -9
  90. package/dist/lib/utils/capabilities.d.ts +7 -9
  91. package/dist/lib/utils/capabilities.js +14 -28
  92. package/dist/lib/utils/capabilities.mjs +14 -27
  93. package/dist/lib/utils/creative-adapter.d.mts +15 -113
  94. package/dist/lib/utils/creative-adapter.d.ts +15 -113
  95. package/dist/lib/utils/creative-adapter.js +7 -106
  96. package/dist/lib/utils/creative-adapter.mjs +7 -102
  97. package/dist/lib/utils/format-renders.d.mts +20 -80
  98. package/dist/lib/utils/format-renders.d.ts +20 -80
  99. package/dist/lib/utils/format-renders.js +7 -67
  100. package/dist/lib/utils/format-renders.mjs +7 -66
  101. package/dist/lib/utils/index.d.mts +1 -2
  102. package/dist/lib/utils/index.d.ts +1 -2
  103. package/dist/lib/utils/index.js +0 -7
  104. package/dist/lib/utils/index.mjs +0 -6
  105. package/dist/lib/utils/preview-normalizer.d.mts +31 -80
  106. package/dist/lib/utils/preview-normalizer.d.ts +31 -80
  107. package/dist/lib/utils/preview-normalizer.js +5 -50
  108. package/dist/lib/utils/preview-normalizer.mjs +5 -49
  109. package/dist/lib/utils/pricing-adapter.d.mts +2 -36
  110. package/dist/lib/utils/pricing-adapter.d.ts +2 -36
  111. package/dist/lib/utils/pricing-adapter.js +0 -105
  112. package/dist/lib/utils/pricing-adapter.mjs +0 -100
  113. package/dist/lib/utils/request-normalizer.d.mts +1 -2
  114. package/dist/lib/utils/request-normalizer.d.ts +1 -2
  115. package/dist/lib/v2/projection/creative-delivery.d.mts +2 -0
  116. package/dist/lib/v2/projection/creative-delivery.d.ts +2 -0
  117. package/dist/lib/v2/projection/creative-delivery.js +7 -0
  118. package/dist/lib/v2/projection/creative-delivery.mjs +6 -0
  119. package/dist/lib/v2/projection/legacy-metadata.d.mts +12 -0
  120. package/dist/lib/v2/projection/legacy-metadata.d.ts +12 -0
  121. package/dist/lib/v2/projection/legacy-metadata.js +41 -1
  122. package/dist/lib/v2/projection/legacy-metadata.mjs +37 -1
  123. package/dist/lib/v2/projection/legacy-normalization.d.mts +1 -1
  124. package/dist/lib/v2/projection/legacy-normalization.d.ts +1 -1
  125. package/dist/lib/v2/projection/v1-to-v2.js +13 -0
  126. package/dist/lib/v2/projection/v1-to-v2.mjs +14 -0
  127. package/dist/lib/validation/client-hooks.d.mts +1 -4
  128. package/dist/lib/validation/client-hooks.d.ts +1 -4
  129. package/dist/lib/validation/get-products-request.d.mts +1 -1
  130. package/dist/lib/validation/get-products-request.d.ts +1 -1
  131. package/dist/lib/validation/schema-loader.js +6 -0
  132. package/dist/lib/validation/schema-loader.mjs +6 -0
  133. package/dist/lib/validation/schema-validator.js +1 -26
  134. package/dist/lib/validation/schema-validator.mjs +1 -26
  135. package/dist/lib/version.d.mts +5 -5
  136. package/dist/lib/version.d.ts +5 -5
  137. package/dist/lib/version.js +3 -5
  138. package/dist/lib/version.mjs +3 -5
  139. package/docs/TYPE-SUMMARY.md +2 -2
  140. package/docs/development/PROTOCOL_DIFFERENCES.md +1 -1
  141. package/docs/guides/CONFORMANCE.md +25 -0
  142. package/docs/guides/CREATIVE-BUILD-PROBE.md +156 -0
  143. package/docs/guides/CREATIVE-DELIVERY.md +45 -6
  144. package/docs/guides/MEDIA-BUY-3.2-COMPATIBILITY.md +15 -18
  145. package/docs/guides/VALIDATE-YOUR-AGENT.md +5 -0
  146. package/docs/llms.txt +2 -2
  147. package/docs/migration-13-to-14.md +20 -16
  148. package/docs/migration-14.x-rc-worksheet.md +5 -5
  149. package/docs/migration-4.x-to-5.x.md +12 -7
  150. package/docs/migration-drop-adcp-2.md +25 -0
  151. package/package.json +3 -18
  152. package/skills/call-adcp-agent/SKILL.md +23 -25
  153. package/dist/lib/adapters/legacy/v2-5/create_media_buy.d.mts +0 -3
  154. package/dist/lib/adapters/legacy/v2-5/create_media_buy.d.ts +0 -3
  155. package/dist/lib/adapters/legacy/v2-5/create_media_buy.js +0 -33
  156. package/dist/lib/adapters/legacy/v2-5/create_media_buy.mjs +0 -9
  157. package/dist/lib/adapters/legacy/v2-5/get_products.d.mts +0 -8
  158. package/dist/lib/adapters/legacy/v2-5/get_products.d.ts +0 -8
  159. package/dist/lib/adapters/legacy/v2-5/get_products.js +0 -33
  160. package/dist/lib/adapters/legacy/v2-5/get_products.mjs +0 -9
  161. package/dist/lib/adapters/legacy/v2-5/index.d.mts +0 -34
  162. package/dist/lib/adapters/legacy/v2-5/index.d.ts +0 -34
  163. package/dist/lib/adapters/legacy/v2-5/index.js +0 -50
  164. package/dist/lib/adapters/legacy/v2-5/index.mjs +0 -25
  165. package/dist/lib/adapters/legacy/v2-5/list_creative_formats.d.mts +0 -8
  166. package/dist/lib/adapters/legacy/v2-5/list_creative_formats.d.ts +0 -8
  167. package/dist/lib/adapters/legacy/v2-5/list_creative_formats.js +0 -33
  168. package/dist/lib/adapters/legacy/v2-5/list_creative_formats.mjs +0 -9
  169. package/dist/lib/adapters/legacy/v2-5/preview_creative.d.mts +0 -3
  170. package/dist/lib/adapters/legacy/v2-5/preview_creative.d.ts +0 -3
  171. package/dist/lib/adapters/legacy/v2-5/preview_creative.js +0 -33
  172. package/dist/lib/adapters/legacy/v2-5/preview_creative.mjs +0 -9
  173. package/dist/lib/adapters/legacy/v2-5/sync_creatives.d.mts +0 -11
  174. package/dist/lib/adapters/legacy/v2-5/sync_creatives.d.ts +0 -11
  175. package/dist/lib/adapters/legacy/v2-5/sync_creatives.js +0 -32
  176. package/dist/lib/adapters/legacy/v2-5/sync_creatives.mjs +0 -8
  177. package/dist/lib/adapters/legacy/v2-5/types.d.mts +0 -39
  178. package/dist/lib/adapters/legacy/v2-5/types.d.ts +0 -39
  179. package/dist/lib/adapters/legacy/v2-5/types.js +0 -16
  180. package/dist/lib/adapters/legacy/v2-5/types.mjs +0 -0
  181. package/dist/lib/adapters/legacy/v2-5/update_media_buy.d.mts +0 -3
  182. package/dist/lib/adapters/legacy/v2-5/update_media_buy.d.ts +0 -3
  183. package/dist/lib/adapters/legacy/v2-5/update_media_buy.js +0 -35
  184. package/dist/lib/adapters/legacy/v2-5/update_media_buy.mjs +0 -11
  185. package/dist/lib/schemas-data/v2.5/_provenance.json +0 -8
  186. package/dist/lib/schemas-data/v2.5/adagents.json +0 -494
  187. package/dist/lib/schemas-data/v2.5/core/activation-key.json +0 -50
  188. package/dist/lib/schemas-data/v2.5/core/assets/audio-asset.json +0 -32
  189. package/dist/lib/schemas-data/v2.5/core/assets/css-asset.json +0 -21
  190. package/dist/lib/schemas-data/v2.5/core/assets/daast-asset.json +0 -87
  191. package/dist/lib/schemas-data/v2.5/core/assets/html-asset.json +0 -21
  192. package/dist/lib/schemas-data/v2.5/core/assets/image-asset.json +0 -38
  193. package/dist/lib/schemas-data/v2.5/core/assets/javascript-asset.json +0 -21
  194. package/dist/lib/schemas-data/v2.5/core/assets/markdown-asset.json +0 -31
  195. package/dist/lib/schemas-data/v2.5/core/assets/text-asset.json +0 -21
  196. package/dist/lib/schemas-data/v2.5/core/assets/url-asset.json +0 -26
  197. package/dist/lib/schemas-data/v2.5/core/assets/vast-asset.json +0 -87
  198. package/dist/lib/schemas-data/v2.5/core/assets/video-asset.json +0 -44
  199. package/dist/lib/schemas-data/v2.5/core/assets/webhook-asset.json +0 -71
  200. package/dist/lib/schemas-data/v2.5/core/async-response-data.json +0 -88
  201. package/dist/lib/schemas-data/v2.5/core/brand-manifest-ref.json +0 -33
  202. package/dist/lib/schemas-data/v2.5/core/brand-manifest.json +0 -409
  203. package/dist/lib/schemas-data/v2.5/core/context.json +0 -8
  204. package/dist/lib/schemas-data/v2.5/core/creative-asset.json +0 -125
  205. package/dist/lib/schemas-data/v2.5/core/creative-assignment.json +0 -31
  206. package/dist/lib/schemas-data/v2.5/core/creative-filters.json +0 -111
  207. package/dist/lib/schemas-data/v2.5/core/creative-manifest.json +0 -72
  208. package/dist/lib/schemas-data/v2.5/core/creative-policy.json +0 -27
  209. package/dist/lib/schemas-data/v2.5/core/delivery-metrics.json +0 -171
  210. package/dist/lib/schemas-data/v2.5/core/deployment.json +0 -93
  211. package/dist/lib/schemas-data/v2.5/core/destination.json +0 -53
  212. package/dist/lib/schemas-data/v2.5/core/error.json +0 -40
  213. package/dist/lib/schemas-data/v2.5/core/ext.json +0 -8
  214. package/dist/lib/schemas-data/v2.5/core/format-id.json +0 -47
  215. package/dist/lib/schemas-data/v2.5/core/format.json +0 -324
  216. package/dist/lib/schemas-data/v2.5/core/frequency-cap.json +0 -18
  217. package/dist/lib/schemas-data/v2.5/core/mcp-webhook-payload.json +0 -152
  218. package/dist/lib/schemas-data/v2.5/core/measurement.json +0 -48
  219. package/dist/lib/schemas-data/v2.5/core/media-buy.json +0 -62
  220. package/dist/lib/schemas-data/v2.5/core/package.json +0 -72
  221. package/dist/lib/schemas-data/v2.5/core/performance-feedback.json +0 -90
  222. package/dist/lib/schemas-data/v2.5/core/placement.json +0 -34
  223. package/dist/lib/schemas-data/v2.5/core/pricing-option.json +0 -35
  224. package/dist/lib/schemas-data/v2.5/core/product-filters.json +0 -102
  225. package/dist/lib/schemas-data/v2.5/core/product.json +0 -153
  226. package/dist/lib/schemas-data/v2.5/core/promoted-offerings.json +0 -115
  227. package/dist/lib/schemas-data/v2.5/core/promoted-products.json +0 -67
  228. package/dist/lib/schemas-data/v2.5/core/property-id.json +0 -14
  229. package/dist/lib/schemas-data/v2.5/core/property-tag.json +0 -16
  230. package/dist/lib/schemas-data/v2.5/core/property.json +0 -62
  231. package/dist/lib/schemas-data/v2.5/core/protocol-envelope.json +0 -146
  232. package/dist/lib/schemas-data/v2.5/core/publisher-property-selector.json +0 -92
  233. package/dist/lib/schemas-data/v2.5/core/push-notification-config.json +0 -48
  234. package/dist/lib/schemas-data/v2.5/core/reporting-capabilities.json +0 -71
  235. package/dist/lib/schemas-data/v2.5/core/response.json +0 -24
  236. package/dist/lib/schemas-data/v2.5/core/signal-filters.json +0 -35
  237. package/dist/lib/schemas-data/v2.5/core/start-timing.json +0 -18
  238. package/dist/lib/schemas-data/v2.5/core/sub-asset.json +0 -79
  239. package/dist/lib/schemas-data/v2.5/core/targeting.json +0 -50
  240. package/dist/lib/schemas-data/v2.5/core/tasks-get-request.json +0 -43
  241. package/dist/lib/schemas-data/v2.5/core/tasks-get-response.json +0 -166
  242. package/dist/lib/schemas-data/v2.5/core/tasks-list-request.json +0 -192
  243. package/dist/lib/schemas-data/v2.5/core/tasks-list-response.json +0 -183
  244. package/dist/lib/schemas-data/v2.5/creative/asset-types/index.json +0 -101
  245. package/dist/lib/schemas-data/v2.5/creative/list-creative-formats-request.json +0 -73
  246. package/dist/lib/schemas-data/v2.5/creative/list-creative-formats-response.json +0 -61
  247. package/dist/lib/schemas-data/v2.5/creative/preview-creative-request.json +0 -164
  248. package/dist/lib/schemas-data/v2.5/creative/preview-creative-response.json +0 -245
  249. package/dist/lib/schemas-data/v2.5/creative/preview-render.json +0 -225
  250. package/dist/lib/schemas-data/v2.5/enums/adcp-domain.json +0 -11
  251. package/dist/lib/schemas-data/v2.5/enums/asset-content-type.json +0 -22
  252. package/dist/lib/schemas-data/v2.5/enums/auth-scheme.json +0 -11
  253. package/dist/lib/schemas-data/v2.5/enums/available-metric.json +0 -18
  254. package/dist/lib/schemas-data/v2.5/enums/channels.json +0 -18
  255. package/dist/lib/schemas-data/v2.5/enums/co-branding-requirement.json +0 -12
  256. package/dist/lib/schemas-data/v2.5/enums/creative-action.json +0 -14
  257. package/dist/lib/schemas-data/v2.5/enums/creative-agent-capability.json +0 -13
  258. package/dist/lib/schemas-data/v2.5/enums/creative-sort-field.json +0 -15
  259. package/dist/lib/schemas-data/v2.5/enums/creative-status.json +0 -19
  260. package/dist/lib/schemas-data/v2.5/enums/daast-tracking-event.json +0 -20
  261. package/dist/lib/schemas-data/v2.5/enums/daast-version.json +0 -11
  262. package/dist/lib/schemas-data/v2.5/enums/delivery-type.json +0 -15
  263. package/dist/lib/schemas-data/v2.5/enums/dimension-unit.json +0 -13
  264. package/dist/lib/schemas-data/v2.5/enums/feed-format.json +0 -12
  265. package/dist/lib/schemas-data/v2.5/enums/feedback-source.json +0 -13
  266. package/dist/lib/schemas-data/v2.5/enums/format-category.json +0 -16
  267. package/dist/lib/schemas-data/v2.5/enums/format-id-parameter.json +0 -11
  268. package/dist/lib/schemas-data/v2.5/enums/frequency-cap-scope.json +0 -13
  269. package/dist/lib/schemas-data/v2.5/enums/history-entry-type.json +0 -11
  270. package/dist/lib/schemas-data/v2.5/enums/http-method.json +0 -11
  271. package/dist/lib/schemas-data/v2.5/enums/identifier-types.json +0 -34
  272. package/dist/lib/schemas-data/v2.5/enums/javascript-module-type.json +0 -12
  273. package/dist/lib/schemas-data/v2.5/enums/landing-page-requirement.json +0 -12
  274. package/dist/lib/schemas-data/v2.5/enums/markdown-flavor.json +0 -11
  275. package/dist/lib/schemas-data/v2.5/enums/media-buy-status.json +0 -19
  276. package/dist/lib/schemas-data/v2.5/enums/metric-type.json +0 -17
  277. package/dist/lib/schemas-data/v2.5/enums/notification-type.json +0 -13
  278. package/dist/lib/schemas-data/v2.5/enums/pacing.json +0 -17
  279. package/dist/lib/schemas-data/v2.5/enums/preview-output-format.json +0 -11
  280. package/dist/lib/schemas-data/v2.5/enums/pricing-model.json +0 -25
  281. package/dist/lib/schemas-data/v2.5/enums/property-type.json +0 -16
  282. package/dist/lib/schemas-data/v2.5/enums/publisher-identifier-types.json +0 -19
  283. package/dist/lib/schemas-data/v2.5/enums/reporting-frequency.json +0 -12
  284. package/dist/lib/schemas-data/v2.5/enums/signal-catalog-type.json +0 -12
  285. package/dist/lib/schemas-data/v2.5/enums/sort-direction.json +0 -11
  286. package/dist/lib/schemas-data/v2.5/enums/standard-format-ids.json +0 -103
  287. package/dist/lib/schemas-data/v2.5/enums/task-status.json +0 -29
  288. package/dist/lib/schemas-data/v2.5/enums/task-type.json +0 -27
  289. package/dist/lib/schemas-data/v2.5/enums/update-frequency.json +0 -13
  290. package/dist/lib/schemas-data/v2.5/enums/url-asset-type.json +0 -12
  291. package/dist/lib/schemas-data/v2.5/enums/validation-mode.json +0 -11
  292. package/dist/lib/schemas-data/v2.5/enums/vast-tracking-event.json +0 -25
  293. package/dist/lib/schemas-data/v2.5/enums/vast-version.json +0 -14
  294. package/dist/lib/schemas-data/v2.5/enums/webhook-response-type.json +0 -13
  295. package/dist/lib/schemas-data/v2.5/enums/webhook-security-method.json +0 -12
  296. package/dist/lib/schemas-data/v2.5/index.json +0 -604
  297. package/dist/lib/schemas-data/v2.5/media-buy/build-creative-request.json +0 -31
  298. package/dist/lib/schemas-data/v2.5/media-buy/build-creative-response.json +0 -65
  299. package/dist/lib/schemas-data/v2.5/media-buy/create-media-buy-async-response-input-required.json +0 -31
  300. package/dist/lib/schemas-data/v2.5/media-buy/create-media-buy-async-response-submitted.json +0 -16
  301. package/dist/lib/schemas-data/v2.5/media-buy/create-media-buy-async-response-working.json +0 -36
  302. package/dist/lib/schemas-data/v2.5/media-buy/create-media-buy-request.json +0 -126
  303. package/dist/lib/schemas-data/v2.5/media-buy/create-media-buy-response.json +0 -97
  304. package/dist/lib/schemas-data/v2.5/media-buy/get-media-buy-delivery-request.json +0 -54
  305. package/dist/lib/schemas-data/v2.5/media-buy/get-media-buy-delivery-response.json +0 -285
  306. package/dist/lib/schemas-data/v2.5/media-buy/get-products-async-response-input-required.json +0 -38
  307. package/dist/lib/schemas-data/v2.5/media-buy/get-products-async-response-submitted.json +0 -21
  308. package/dist/lib/schemas-data/v2.5/media-buy/get-products-async-response-working.json +0 -34
  309. package/dist/lib/schemas-data/v2.5/media-buy/get-products-request.json +0 -28
  310. package/dist/lib/schemas-data/v2.5/media-buy/get-products-response.json +0 -33
  311. package/dist/lib/schemas-data/v2.5/media-buy/list-authorized-properties-request.json +0 -26
  312. package/dist/lib/schemas-data/v2.5/media-buy/list-authorized-properties-response.json +0 -70
  313. package/dist/lib/schemas-data/v2.5/media-buy/list-creative-formats-request.json +0 -58
  314. package/dist/lib/schemas-data/v2.5/media-buy/list-creative-formats-response.json +0 -61
  315. package/dist/lib/schemas-data/v2.5/media-buy/list-creatives-request.json +0 -137
  316. package/dist/lib/schemas-data/v2.5/media-buy/list-creatives-response.json +0 -437
  317. package/dist/lib/schemas-data/v2.5/media-buy/package-request.json +0 -80
  318. package/dist/lib/schemas-data/v2.5/media-buy/provide-performance-feedback-request.json +0 -88
  319. package/dist/lib/schemas-data/v2.5/media-buy/provide-performance-feedback-response.json +0 -66
  320. package/dist/lib/schemas-data/v2.5/media-buy/sync-creatives-async-response-input-required.json +0 -25
  321. package/dist/lib/schemas-data/v2.5/media-buy/sync-creatives-async-response-submitted.json +0 -16
  322. package/dist/lib/schemas-data/v2.5/media-buy/sync-creatives-async-response-working.json +0 -46
  323. package/dist/lib/schemas-data/v2.5/media-buy/sync-creatives-request.json +0 -178
  324. package/dist/lib/schemas-data/v2.5/media-buy/sync-creatives-response.json +0 -149
  325. package/dist/lib/schemas-data/v2.5/media-buy/update-media-buy-async-response-input-required.json +0 -24
  326. package/dist/lib/schemas-data/v2.5/media-buy/update-media-buy-async-response-submitted.json +0 -16
  327. package/dist/lib/schemas-data/v2.5/media-buy/update-media-buy-async-response-working.json +0 -36
  328. package/dist/lib/schemas-data/v2.5/media-buy/update-media-buy-request.json +0 -129
  329. package/dist/lib/schemas-data/v2.5/media-buy/update-media-buy-response.json +0 -99
  330. package/dist/lib/schemas-data/v2.5/pricing-options/cpc-option.json +0 -52
  331. package/dist/lib/schemas-data/v2.5/pricing-options/cpcv-option.json +0 -52
  332. package/dist/lib/schemas-data/v2.5/pricing-options/cpm-auction-option.json +0 -81
  333. package/dist/lib/schemas-data/v2.5/pricing-options/cpm-fixed-option.json +0 -52
  334. package/dist/lib/schemas-data/v2.5/pricing-options/cpp-option.json +0 -73
  335. package/dist/lib/schemas-data/v2.5/pricing-options/cpv-option.json +0 -88
  336. package/dist/lib/schemas-data/v2.5/pricing-options/flat-rate-option.json +0 -93
  337. package/dist/lib/schemas-data/v2.5/pricing-options/vcpm-auction-option.json +0 -81
  338. package/dist/lib/schemas-data/v2.5/pricing-options/vcpm-fixed-option.json +0 -52
  339. package/dist/lib/schemas-data/v2.5/protocols/adcp-extension.json +0 -33
  340. package/dist/lib/schemas-data/v2.5/signals/activate-signal-request.json +0 -32
  341. package/dist/lib/schemas-data/v2.5/signals/activate-signal-response.json +0 -68
  342. package/dist/lib/schemas-data/v2.5/signals/get-signals-request.json +0 -59
  343. package/dist/lib/schemas-data/v2.5/signals/get-signals-response.json +0 -100
  344. package/dist/lib/types/v2-5/index.d.mts +0 -1
  345. package/dist/lib/types/v2-5/index.d.ts +0 -1
  346. package/dist/lib/types/v2-5/index.js +0 -22
  347. package/dist/lib/types/v2-5/index.mjs +0 -1
  348. package/dist/lib/types/v2-5/tools.generated.d.mts +0 -3568
  349. package/dist/lib/types/v2-5/tools.generated.d.ts +0 -3568
  350. package/dist/lib/types/v2-5/tools.generated.js +0 -16
  351. package/dist/lib/types/v2-5/tools.generated.mjs +0 -0
  352. package/dist/lib/utils/sync-creatives-adapter.d.mts +0 -33
  353. package/dist/lib/utils/sync-creatives-adapter.d.ts +0 -33
  354. package/dist/lib/utils/sync-creatives-adapter.js +0 -83
  355. package/dist/lib/utils/sync-creatives-adapter.mjs +0 -59
@@ -33,28 +33,6 @@ function getFloorPrice(option) {
33
33
  }
34
34
  return option.price_guidance?.floor;
35
35
  }
36
- function adaptPricingOptionForV2(option) {
37
- if (!usesV3PricingFields(option)) {
38
- return option;
39
- }
40
- const { fixed_price, floor_price, price_guidance, ...rest } = option;
41
- const result = { ...rest };
42
- if (fixed_price !== void 0) {
43
- result.rate = fixed_price;
44
- result.is_fixed = true;
45
- } else {
46
- result.is_fixed = false;
47
- if (floor_price !== void 0 || price_guidance) {
48
- result.price_guidance = {
49
- ...price_guidance || {}
50
- };
51
- if (floor_price !== void 0) {
52
- result.price_guidance.floor = floor_price;
53
- }
54
- }
55
- }
56
- return result;
57
- }
58
36
  function normalizePricingOption(option) {
59
37
  if (usesV3PricingFields(option) && !usesV2PricingFields(option)) {
60
38
  return option;
@@ -76,15 +54,6 @@ function normalizePricingOption(option) {
76
54
  }
77
55
  return result;
78
56
  }
79
- function adaptProductPricingForV2(product) {
80
- if (!product?.pricing_options || !Array.isArray(product.pricing_options)) {
81
- return product;
82
- }
83
- return {
84
- ...product,
85
- pricing_options: product.pricing_options.map(adaptPricingOptionForV2)
86
- };
87
- }
88
57
  function normalizeProductPricing(product) {
89
58
  if (!product?.pricing_options || !Array.isArray(product.pricing_options)) {
90
59
  return product;
@@ -94,64 +63,6 @@ function normalizeProductPricing(product) {
94
63
  pricing_options: product.pricing_options.map(normalizePricingOption)
95
64
  };
96
65
  }
97
- function adaptGetProductsRequestForV2(request) {
98
- const adapted = { ...request };
99
- if (adapted.brand?.domain) {
100
- adapted.brand_manifest = `https://${adapted.brand.domain}`;
101
- delete adapted.brand;
102
- }
103
- if (adapted.catalog) {
104
- const catalog = adapted.catalog;
105
- if (catalog.type === "product") {
106
- adapted.promoted_offerings = {
107
- product_selectors: {
108
- ...catalog.gtins?.length && { manifest_gtins: catalog.gtins },
109
- ...catalog.ids?.length && { manifest_skus: catalog.ids },
110
- ...catalog.tags?.length && { manifest_tags: catalog.tags },
111
- ...catalog.category && { manifest_category: catalog.category },
112
- ...catalog.query && { manifest_query: catalog.query }
113
- }
114
- };
115
- } else if (catalog.type === "offering") {
116
- adapted.promoted_offerings = {
117
- ...catalog.items?.length && { offerings: catalog.items }
118
- };
119
- }
120
- delete adapted.catalog;
121
- }
122
- if (adapted.filters?.channels) {
123
- const v2ChannelMap = {
124
- olv: "video",
125
- ctv: "video",
126
- streaming_audio: "audio",
127
- retail_media: "retail"
128
- };
129
- const mapped = adapted.filters.channels.map((ch) => v2ChannelMap[ch] ?? ch);
130
- adapted.filters = {
131
- ...adapted.filters,
132
- channels: [...new Set(mapped)]
133
- };
134
- }
135
- if (adapted.filters) {
136
- const {
137
- required_features,
138
- required_axe_integrations,
139
- required_geo_targeting,
140
- signal_targeting,
141
- regions,
142
- metros,
143
- ...v2Filters
144
- } = adapted.filters;
145
- adapted.filters = v2Filters;
146
- }
147
- delete adapted.buying_mode;
148
- delete adapted.buyer_campaign_ref;
149
- delete adapted.property_list;
150
- delete adapted.account;
151
- delete adapted.pagination;
152
- delete adapted.adcp_major_version;
153
- return adapted;
154
- }
155
66
  function normalizeProductChannels(product) {
156
67
  if (!product?.channels || !Array.isArray(product.channels)) {
157
68
  return product;
@@ -249,12 +160,6 @@ function normalizeGetProductsResponse(response) {
249
160
  )
250
161
  };
251
162
  }
252
- function adaptPackagePricingForV2(pkg) {
253
- return pkg;
254
- }
255
- function adaptMediaBuyPricingForV2(request) {
256
- return request;
257
- }
258
163
  function normalizeMediaBuyPricingResponse(response) {
259
164
  if (response?.products && Array.isArray(response.products)) {
260
165
  return {
@@ -265,11 +170,6 @@ function normalizeMediaBuyPricingResponse(response) {
265
170
  return response;
266
171
  }
267
172
  export {
268
- adaptGetProductsRequestForV2,
269
- adaptMediaBuyPricingForV2,
270
- adaptPackagePricingForV2,
271
- adaptPricingOptionForV2,
272
- adaptProductPricingForV2,
273
173
  getFloorPrice,
274
174
  getPrice,
275
175
  isCPAPricing,
@@ -14,8 +14,7 @@
14
14
  *
15
15
  * Does NOT copy `context.buyer_ref` up to a top-level `buyer_ref`. The top-level
16
16
  * field was removed from the package schema in AdCP 3.0 and strict v3 receivers
17
- * reject it. When a request routes to a v2.5 seller, the v2 adapter in
18
- * `creative-adapter.ts` derives `buyer_ref` (from a caller-supplied value,
17
+ * reject it. Historical SDK releases derived `buyer_ref` (from a caller-supplied value,
19
18
  * `context.buyer_ref`, `idempotency_key`, or parent/index) — that adapter is
20
19
  * gated on `serverVersion !== 'v3'`, so the field only lands on the wire for
21
20
  * sellers that still expect it.
@@ -14,8 +14,7 @@
14
14
  *
15
15
  * Does NOT copy `context.buyer_ref` up to a top-level `buyer_ref`. The top-level
16
16
  * field was removed from the package schema in AdCP 3.0 and strict v3 receivers
17
- * reject it. When a request routes to a v2.5 seller, the v2 adapter in
18
- * `creative-adapter.ts` derives `buyer_ref` (from a caller-supplied value,
17
+ * reject it. Historical SDK releases derived `buyer_ref` (from a caller-supplied value,
19
18
  * `context.buyer_ref`, `idempotency_key`, or parent/index) — that adapter is
20
19
  * gated on `serverVersion !== 'v3'`, so the field only lands on the wire for
21
20
  * sellers that still expect it.
@@ -254,6 +254,8 @@ export interface CreativeFormatSelectorContainer {
254
254
  /** Canonical package/product selectors accepted by the primary sync API. */
255
255
  export interface CanonicalCreativeFormatSelectorContainer {
256
256
  package_id?: string;
257
+ /** Target product, used to recover seller declarations after serializing selectors. */
258
+ product_id?: string;
257
259
  format_options?: ReadonlyArray<CanonicalFormatDeclaration>;
258
260
  format_option_refs?: ReadonlyArray<FormatOptionReference>;
259
261
  format_kind?: CanonicalFormatKind;
@@ -254,6 +254,8 @@ export interface CreativeFormatSelectorContainer {
254
254
  /** Canonical package/product selectors accepted by the primary sync API. */
255
255
  export interface CanonicalCreativeFormatSelectorContainer {
256
256
  package_id?: string;
257
+ /** Target product, used to recover seller declarations after serializing selectors. */
258
+ product_id?: string;
257
259
  format_options?: ReadonlyArray<CanonicalFormatDeclaration>;
258
260
  format_option_refs?: ReadonlyArray<FormatOptionReference>;
259
261
  format_kind?: CanonicalFormatKind;
@@ -20,6 +20,7 @@ var creative_delivery_exports = {};
20
20
  __export(creative_delivery_exports, {
21
21
  CreativeFormatCapabilityError: () => CreativeFormatCapabilityError,
22
22
  CreativeFormatProjectionError: () => CreativeFormatProjectionError,
23
+ canUseProductOptionsForCreativeWire: () => canUseProductOptionsForCreativeWire,
23
24
  projectCreativeForDelivery: () => projectCreativeForDelivery,
24
25
  projectMediaBuyCreativesForDelivery: () => projectMediaBuyCreativesForDelivery,
25
26
  projectSyncCreativesForDelivery: () => projectSyncCreativesForDelivery,
@@ -1134,10 +1135,16 @@ function resolveCreativeFormatWireMode(capabilities, negotiatedVersion) {
1134
1135
  if (explicitCanonical === false) return "legacy";
1135
1136
  return "unknown";
1136
1137
  }
1138
+ function canUseProductOptionsForCreativeWire(capabilities, requestedVersion) {
1139
+ const caps = record(capabilities);
1140
+ const negotiated = mutuallyServedRelease(caps, record(caps?._raw), requestedVersion);
1141
+ return negotiated?.major === 3 && negotiated.minor === 1;
1142
+ }
1137
1143
  // Annotate the CommonJS export names for ESM import in node:
1138
1144
  0 && (module.exports = {
1139
1145
  CreativeFormatCapabilityError,
1140
1146
  CreativeFormatProjectionError,
1147
+ canUseProductOptionsForCreativeWire,
1141
1148
  projectCreativeForDelivery,
1142
1149
  projectMediaBuyCreativesForDelivery,
1143
1150
  projectSyncCreativesForDelivery,
@@ -1114,9 +1114,15 @@ function resolveCreativeFormatWireMode(capabilities, negotiatedVersion) {
1114
1114
  if (explicitCanonical === false) return "legacy";
1115
1115
  return "unknown";
1116
1116
  }
1117
+ function canUseProductOptionsForCreativeWire(capabilities, requestedVersion) {
1118
+ const caps = record(capabilities);
1119
+ const negotiated = mutuallyServedRelease(caps, record(caps?._raw), requestedVersion);
1120
+ return negotiated?.major === 3 && negotiated.minor === 1;
1121
+ }
1117
1122
  export {
1118
1123
  CreativeFormatCapabilityError,
1119
1124
  CreativeFormatProjectionError,
1125
+ canUseProductOptionsForCreativeWire,
1120
1126
  projectCreativeForDelivery,
1121
1127
  projectMediaBuyCreativesForDelivery,
1122
1128
  projectSyncCreativesForDelivery,
@@ -12,9 +12,21 @@ type DeclarationWithMetadata = CanonicalFormatDeclaration;
12
12
  export type PackageSelectionMetadata = {
13
13
  format_option_refs?: readonly unknown[];
14
14
  };
15
+ export interface SellerFormatEvidence {
16
+ scopeKey: string;
17
+ accountScope: string;
18
+ productId: string;
19
+ expiresAt: number;
20
+ }
21
+ /** Positive evidence is client/account-bound and cannot survive a JSON round trip on its own. */
22
+ export declare function rememberSellerFormatEvidence(declaration: object, evidence: SellerFormatEvidence): void;
23
+ export declare function sellerFormatEvidence(declaration: object): SellerFormatEvidence | undefined;
15
24
  /** Keep seller-origin evidence private while canonical products pass through the cache. */
16
25
  export declare function rememberSellerDeclaredFormatOption(declaration: object, declared: boolean): void;
17
26
  export declare function sellerDeclaredFormatOption(declaration: object): boolean | undefined;
27
+ /** A pure legacy projection cannot establish what the original seller advertised. */
28
+ export declare function rememberSynthesizedFormatOption(declaration: object): void;
29
+ export declare function isSynthesizedFormatOption(declaration: object): boolean;
18
30
  export declare function concealLegacyFormatRefs(declaration: ProductFormatDeclaration | V2ProductFormatDeclaration | CanonicalFormatDeclaration): DeclarationWithMetadata;
19
31
  export declare function legacyFormatRefsForDeclaration(value: unknown): readonly V1FormatId[];
20
32
  export declare function selectedFormatOptions(value: unknown): readonly DeclarationWithMetadata[];
@@ -12,9 +12,21 @@ type DeclarationWithMetadata = CanonicalFormatDeclaration;
12
12
  export type PackageSelectionMetadata = {
13
13
  format_option_refs?: readonly unknown[];
14
14
  };
15
+ export interface SellerFormatEvidence {
16
+ scopeKey: string;
17
+ accountScope: string;
18
+ productId: string;
19
+ expiresAt: number;
20
+ }
21
+ /** Positive evidence is client/account-bound and cannot survive a JSON round trip on its own. */
22
+ export declare function rememberSellerFormatEvidence(declaration: object, evidence: SellerFormatEvidence): void;
23
+ export declare function sellerFormatEvidence(declaration: object): SellerFormatEvidence | undefined;
15
24
  /** Keep seller-origin evidence private while canonical products pass through the cache. */
16
25
  export declare function rememberSellerDeclaredFormatOption(declaration: object, declared: boolean): void;
17
26
  export declare function sellerDeclaredFormatOption(declaration: object): boolean | undefined;
27
+ /** A pure legacy projection cannot establish what the original seller advertised. */
28
+ export declare function rememberSynthesizedFormatOption(declaration: object): void;
29
+ export declare function isSynthesizedFormatOption(declaration: object): boolean;
18
30
  export declare function concealLegacyFormatRefs(declaration: ProductFormatDeclaration | V2ProductFormatDeclaration | CanonicalFormatDeclaration): DeclarationWithMetadata;
19
31
  export declare function legacyFormatRefsForDeclaration(value: unknown): readonly V1FormatId[];
20
32
  export declare function selectedFormatOptions(value: unknown): readonly DeclarationWithMetadata[];
@@ -20,22 +20,52 @@ var legacy_metadata_exports = {};
20
20
  __export(legacy_metadata_exports, {
21
21
  concealLegacyFormatRefs: () => concealLegacyFormatRefs,
22
22
  concealSelectedFormatOptions: () => concealSelectedFormatOptions,
23
+ isSynthesizedFormatOption: () => isSynthesizedFormatOption,
23
24
  legacyFormatRefsForDeclaration: () => legacyFormatRefsForDeclaration,
24
25
  rememberSellerDeclaredFormatOption: () => rememberSellerDeclaredFormatOption,
26
+ rememberSellerFormatEvidence: () => rememberSellerFormatEvidence,
27
+ rememberSynthesizedFormatOption: () => rememberSynthesizedFormatOption,
25
28
  selectedFormatOptions: () => selectedFormatOptions,
26
29
  sellerDeclaredFormatOption: () => sellerDeclaredFormatOption,
30
+ sellerFormatEvidence: () => sellerFormatEvidence,
27
31
  structuredCloneWithLegacyCreativeMetadata: () => structuredCloneWithLegacyCreativeMetadata,
28
32
  transferLegacyCreativeMetadata: () => transferLegacyCreativeMetadata
29
33
  });
30
34
  module.exports = __toCommonJS(legacy_metadata_exports);
35
+ var import_jcs = require('../../utils/jcs.js');
31
36
  const legacyRefsByDeclaration = /* @__PURE__ */ new WeakMap();
32
37
  const selectedOptionsByRefs = /* @__PURE__ */ new WeakMap();
33
38
  const sellerDeclaredByDeclaration = /* @__PURE__ */ new WeakMap();
39
+ const sellerEvidenceByDeclaration = /* @__PURE__ */ new WeakMap();
40
+ function rememberSellerFormatEvidence(declaration, evidence) {
41
+ try {
42
+ sellerEvidenceByDeclaration.set(
43
+ declaration,
44
+ Object.freeze({ ...evidence, fingerprint: (0, import_jcs.canonicalize)(declaration) })
45
+ );
46
+ } catch {
47
+ }
48
+ }
49
+ function sellerFormatEvidence(declaration) {
50
+ const evidence = sellerEvidenceByDeclaration.get(declaration);
51
+ try {
52
+ return evidence?.fingerprint === (0, import_jcs.canonicalize)(declaration) ? evidence : void 0;
53
+ } catch {
54
+ return void 0;
55
+ }
56
+ }
34
57
  function rememberSellerDeclaredFormatOption(declaration, declared) {
35
58
  sellerDeclaredByDeclaration.set(declaration, declared);
36
59
  }
37
60
  function sellerDeclaredFormatOption(declaration) {
38
- return sellerDeclaredByDeclaration.get(declaration);
61
+ const origin = sellerDeclaredByDeclaration.get(declaration);
62
+ return typeof origin === "boolean" ? origin : void 0;
63
+ }
64
+ function rememberSynthesizedFormatOption(declaration) {
65
+ sellerDeclaredByDeclaration.set(declaration, "synthesized");
66
+ }
67
+ function isSynthesizedFormatOption(declaration) {
68
+ return sellerDeclaredByDeclaration.get(declaration) === "synthesized";
39
69
  }
40
70
  function concealLegacyFormatRefs(declaration) {
41
71
  const { v1_format_ref: refs, ...canonical } = declaration;
@@ -43,6 +73,8 @@ function concealLegacyFormatRefs(declaration) {
43
73
  const refsToConceal = Array.isArray(existingHidden) && existingHidden.length > 0 ? existingHidden : refs;
44
74
  const declared = sellerDeclaredByDeclaration.get(declaration);
45
75
  if (declared !== void 0) sellerDeclaredByDeclaration.set(canonical, declared);
76
+ const evidence = sellerEvidenceByDeclaration.get(declaration);
77
+ if (evidence) sellerEvidenceByDeclaration.set(canonical, evidence);
46
78
  if (Array.isArray(refsToConceal) && refsToConceal.length > 0) {
47
79
  legacyRefsByDeclaration.set(
48
80
  canonical,
@@ -75,6 +107,8 @@ function transferLegacyCreativeMetadata(source, target) {
75
107
  if (selected) selectedOptionsByRefs.set(target, selected);
76
108
  const declared = sellerDeclaredByDeclaration.get(source);
77
109
  if (declared !== void 0) sellerDeclaredByDeclaration.set(target, declared);
110
+ const evidence = sellerEvidenceByDeclaration.get(source);
111
+ if (evidence) sellerEvidenceByDeclaration.set(target, evidence);
78
112
  }
79
113
  function structuredCloneWithLegacyCreativeMetadata(value) {
80
114
  const clone = structuredClone(value);
@@ -82,6 +116,8 @@ function structuredCloneWithLegacyCreativeMetadata(value) {
82
116
  const snapshotMetadata = (source, target) => {
83
117
  const declared = sellerDeclaredByDeclaration.get(source);
84
118
  if (declared !== void 0) sellerDeclaredByDeclaration.set(target, declared);
119
+ const evidence = sellerEvidenceByDeclaration.get(source);
120
+ if (evidence) sellerEvidenceByDeclaration.set(target, evidence);
85
121
  const refs = legacyRefsByDeclaration.get(source);
86
122
  if (refs) legacyRefsByDeclaration.set(target, structuredClone(refs));
87
123
  const selected = selectedOptionsByRefs.get(source);
@@ -119,10 +155,14 @@ function structuredCloneWithLegacyCreativeMetadata(value) {
119
155
  0 && (module.exports = {
120
156
  concealLegacyFormatRefs,
121
157
  concealSelectedFormatOptions,
158
+ isSynthesizedFormatOption,
122
159
  legacyFormatRefsForDeclaration,
123
160
  rememberSellerDeclaredFormatOption,
161
+ rememberSellerFormatEvidence,
162
+ rememberSynthesizedFormatOption,
124
163
  selectedFormatOptions,
125
164
  sellerDeclaredFormatOption,
165
+ sellerFormatEvidence,
126
166
  structuredCloneWithLegacyCreativeMetadata,
127
167
  transferLegacyCreativeMetadata
128
168
  });
@@ -1,11 +1,37 @@
1
+ import { canonicalize } from "../../utils/jcs.mjs";
1
2
  const legacyRefsByDeclaration = /* @__PURE__ */ new WeakMap();
2
3
  const selectedOptionsByRefs = /* @__PURE__ */ new WeakMap();
3
4
  const sellerDeclaredByDeclaration = /* @__PURE__ */ new WeakMap();
5
+ const sellerEvidenceByDeclaration = /* @__PURE__ */ new WeakMap();
6
+ function rememberSellerFormatEvidence(declaration, evidence) {
7
+ try {
8
+ sellerEvidenceByDeclaration.set(
9
+ declaration,
10
+ Object.freeze({ ...evidence, fingerprint: canonicalize(declaration) })
11
+ );
12
+ } catch {
13
+ }
14
+ }
15
+ function sellerFormatEvidence(declaration) {
16
+ const evidence = sellerEvidenceByDeclaration.get(declaration);
17
+ try {
18
+ return evidence?.fingerprint === canonicalize(declaration) ? evidence : void 0;
19
+ } catch {
20
+ return void 0;
21
+ }
22
+ }
4
23
  function rememberSellerDeclaredFormatOption(declaration, declared) {
5
24
  sellerDeclaredByDeclaration.set(declaration, declared);
6
25
  }
7
26
  function sellerDeclaredFormatOption(declaration) {
8
- return sellerDeclaredByDeclaration.get(declaration);
27
+ const origin = sellerDeclaredByDeclaration.get(declaration);
28
+ return typeof origin === "boolean" ? origin : void 0;
29
+ }
30
+ function rememberSynthesizedFormatOption(declaration) {
31
+ sellerDeclaredByDeclaration.set(declaration, "synthesized");
32
+ }
33
+ function isSynthesizedFormatOption(declaration) {
34
+ return sellerDeclaredByDeclaration.get(declaration) === "synthesized";
9
35
  }
10
36
  function concealLegacyFormatRefs(declaration) {
11
37
  const { v1_format_ref: refs, ...canonical } = declaration;
@@ -13,6 +39,8 @@ function concealLegacyFormatRefs(declaration) {
13
39
  const refsToConceal = Array.isArray(existingHidden) && existingHidden.length > 0 ? existingHidden : refs;
14
40
  const declared = sellerDeclaredByDeclaration.get(declaration);
15
41
  if (declared !== void 0) sellerDeclaredByDeclaration.set(canonical, declared);
42
+ const evidence = sellerEvidenceByDeclaration.get(declaration);
43
+ if (evidence) sellerEvidenceByDeclaration.set(canonical, evidence);
16
44
  if (Array.isArray(refsToConceal) && refsToConceal.length > 0) {
17
45
  legacyRefsByDeclaration.set(
18
46
  canonical,
@@ -45,6 +73,8 @@ function transferLegacyCreativeMetadata(source, target) {
45
73
  if (selected) selectedOptionsByRefs.set(target, selected);
46
74
  const declared = sellerDeclaredByDeclaration.get(source);
47
75
  if (declared !== void 0) sellerDeclaredByDeclaration.set(target, declared);
76
+ const evidence = sellerEvidenceByDeclaration.get(source);
77
+ if (evidence) sellerEvidenceByDeclaration.set(target, evidence);
48
78
  }
49
79
  function structuredCloneWithLegacyCreativeMetadata(value) {
50
80
  const clone = structuredClone(value);
@@ -52,6 +82,8 @@ function structuredCloneWithLegacyCreativeMetadata(value) {
52
82
  const snapshotMetadata = (source, target) => {
53
83
  const declared = sellerDeclaredByDeclaration.get(source);
54
84
  if (declared !== void 0) sellerDeclaredByDeclaration.set(target, declared);
85
+ const evidence = sellerEvidenceByDeclaration.get(source);
86
+ if (evidence) sellerEvidenceByDeclaration.set(target, evidence);
55
87
  const refs = legacyRefsByDeclaration.get(source);
56
88
  if (refs) legacyRefsByDeclaration.set(target, structuredClone(refs));
57
89
  const selected = selectedOptionsByRefs.get(source);
@@ -88,10 +120,14 @@ function structuredCloneWithLegacyCreativeMetadata(value) {
88
120
  export {
89
121
  concealLegacyFormatRefs,
90
122
  concealSelectedFormatOptions,
123
+ isSynthesizedFormatOption,
91
124
  legacyFormatRefsForDeclaration,
92
125
  rememberSellerDeclaredFormatOption,
126
+ rememberSellerFormatEvidence,
127
+ rememberSynthesizedFormatOption,
93
128
  selectedFormatOptions,
94
129
  sellerDeclaredFormatOption,
130
+ sellerFormatEvidence,
95
131
  structuredCloneWithLegacyCreativeMetadata,
96
132
  transferLegacyCreativeMetadata
97
133
  };
@@ -12,7 +12,7 @@ export type NormalizedLegacyProduct<TProduct extends LegacyProductNormalizationI
12
12
  forecast?: Record<string, unknown>;
13
13
  };
14
14
  /**
15
- * Apply the SDK's complete v2.5 `get_products` compatibility normalization
15
+ * Apply the SDK's established `get_products` field normalization
16
16
  * before projecting a response recovered through a custom `tasks_get` flow.
17
17
  */
18
18
  export declare function normalizeLegacyGetProductsResponse<TProduct extends LegacyProductNormalizationInput, TResponse extends object & {
@@ -12,7 +12,7 @@ export type NormalizedLegacyProduct<TProduct extends LegacyProductNormalizationI
12
12
  forecast?: Record<string, unknown>;
13
13
  };
14
14
  /**
15
- * Apply the SDK's complete v2.5 `get_products` compatibility normalization
15
+ * Apply the SDK's established `get_products` field normalization
16
16
  * before projecting a response recovered through a custom `tasks_get` flow.
17
17
  */
18
18
  export declare function normalizeLegacyGetProductsResponse<TProduct extends LegacyProductNormalizationInput, TResponse extends object & {
@@ -339,6 +339,7 @@ function projectV1ProductToV2(v1, options) {
339
339
  ...rest,
340
340
  format_options
341
341
  };
342
+ for (const declaration of format_options) (0, import_legacy_metadata.rememberSynthesizedFormatOption)(declaration);
342
343
  return { v2: v2Product, diagnostics, legacyRoutes: (0, import_legacy_routes.legacyRoutesForProduct)(v1.product_id, format_options) };
343
344
  }
344
345
  function canonicalDeclarationFromBareId(id, options) {
@@ -400,6 +401,18 @@ function compatible(option, ref) {
400
401
  )) {
401
402
  return false;
402
403
  }
404
+ for (const dimension of ["width", "height"]) {
405
+ const actual = constraints[dimension];
406
+ const min = params[`min_${dimension}`];
407
+ const max = params[`max_${dimension}`];
408
+ if (typeof actual === "number" && (typeof min === "number" && actual < min || typeof max === "number" && actual > max))
409
+ return false;
410
+ }
411
+ const duration = constraints.duration_ms_exact;
412
+ if (typeof duration === "number" && typeof params.duration_ms_exact !== "number" && Array.isArray(params.duration_ms_range)) {
413
+ const [min, max] = params.duration_ms_range;
414
+ if (typeof min === "number" && duration < min || typeof max === "number" && duration > max) return false;
415
+ }
403
416
  if (Array.isArray(params.sizes) && params.sizes.length > 0) {
404
417
  return params.sizes.some((value) => {
405
418
  const size = record(value);
@@ -15,6 +15,7 @@ import { legacyRoutesForProduct } from "./legacy-routes.mjs";
15
15
  import {
16
16
  concealLegacyFormatRefs,
17
17
  legacyFormatRefsForDeclaration,
18
+ rememberSynthesizedFormatOption,
18
19
  transferLegacyCreativeMetadata
19
20
  } from "./legacy-metadata.mjs";
20
21
  const SDK_ID = `@adcp/sdk@${LIBRARY_VERSION}`;
@@ -321,6 +322,7 @@ function projectV1ProductToV2(v1, options) {
321
322
  ...rest,
322
323
  format_options
323
324
  };
325
+ for (const declaration of format_options) rememberSynthesizedFormatOption(declaration);
324
326
  return { v2: v2Product, diagnostics, legacyRoutes: legacyRoutesForProduct(v1.product_id, format_options) };
325
327
  }
326
328
  function canonicalDeclarationFromBareId(id, options) {
@@ -382,6 +384,18 @@ function compatible(option, ref) {
382
384
  )) {
383
385
  return false;
384
386
  }
387
+ for (const dimension of ["width", "height"]) {
388
+ const actual = constraints[dimension];
389
+ const min = params[`min_${dimension}`];
390
+ const max = params[`max_${dimension}`];
391
+ if (typeof actual === "number" && (typeof min === "number" && actual < min || typeof max === "number" && actual > max))
392
+ return false;
393
+ }
394
+ const duration = constraints.duration_ms_exact;
395
+ if (typeof duration === "number" && typeof params.duration_ms_exact !== "number" && Array.isArray(params.duration_ms_range)) {
396
+ const [min, max] = params.duration_ms_range;
397
+ if (typeof min === "number" && duration < min || typeof max === "number" && duration > max) return false;
398
+ }
385
399
  if (Array.isArray(params.sizes) && params.sizes.length > 0) {
386
400
  return params.sizes.some((value) => {
387
401
  const size = record(value);
@@ -16,10 +16,7 @@ export interface ValidationHookConfig {
16
16
  *
17
17
  * Both default to `warn` everywhere — buyers get drift surfaced through
18
18
  * `result.debug_logs` without losing the response payload to a strict
19
- * rejection. v2.5 sellers in particular ship enough legacy drift
20
- * (envelope nulls, optional-required fields, enum mismatches) that
21
- * strict-by-default leaves callers staring at "0 products" with no
22
- * useful signal. Buyers and harnesses that want hard-stop behavior
19
+ * rejection. Buyers and harnesses that want hard-stop behavior
23
20
  * (conformance suites, third-party validators) opt into strict via
24
21
  * `validation: { responses: 'strict' }` — explicit config always wins.
25
22
  *
@@ -16,10 +16,7 @@ export interface ValidationHookConfig {
16
16
  *
17
17
  * Both default to `warn` everywhere — buyers get drift surfaced through
18
18
  * `result.debug_logs` without losing the response payload to a strict
19
- * rejection. v2.5 sellers in particular ship enough legacy drift
20
- * (envelope nulls, optional-required fields, enum mismatches) that
21
- * strict-by-default leaves callers staring at "0 products" with no
22
- * useful signal. Buyers and harnesses that want hard-stop behavior
19
+ * rejection. Buyers and harnesses that want hard-stop behavior
23
20
  * (conformance suites, third-party validators) opt into strict via
24
21
  * `validation: { responses: 'strict' }` — explicit config always wins.
25
22
  *
@@ -107,7 +107,7 @@ export declare const LegacyGetProductsRequestSchema: z.ZodObject<{
107
107
  required_overlay_support: z.ZodOptional<z.ZodType<import("../types/core.generated.mjs").TargetingOverlayRequirements, import("../types/core.generated.mjs").TargetingOverlayRequirements, z.core.$ZodTypeInternals<import("../types/core.generated.mjs").TargetingOverlayRequirements, import("../types/core.generated.mjs").TargetingOverlayRequirements>>>;
108
108
  required_media_buy_support: z.ZodOptional<z.ZodType<import("../types/tools.generated.mjs").ProductMediaBuySupportRequirements, import("../types/tools.generated.mjs").ProductMediaBuySupportRequirements, z.core.$ZodTypeInternals<import("../types/tools.generated.mjs").ProductMediaBuySupportRequirements, import("../types/tools.generated.mjs").ProductMediaBuySupportRequirements>>>;
109
109
  property_list: z.ZodOptional<z.ZodType<import("../types/tools.generated.mjs").PropertyListReference, import("../types/tools.generated.mjs").PropertyListReference, z.core.$ZodTypeInternals<import("../types/tools.generated.mjs").PropertyListReference, import("../types/tools.generated.mjs").PropertyListReference>>>;
110
- fields: z.ZodOptional<z.ZodType<("name" | "identity" | "forecast" | "description" | "publisher_properties" | "audience_evidence" | "product_id" | "channels" | "video_placement_types" | "audio_distribution_types" | "sponsored_placement_types" | "social_placement_surfaces" | "format_options" | "placements" | "delivery_type" | "exclusivity" | "pricing_options" | "reporting_capabilities" | "measurement_terms" | "performance_standards" | "catalog_types" | "signal_targeting_allowed" | "signal_targeting_rules" | "demographic_targeting" | "overlay_support" | "collections" | "collection_targeting_allowed" | "media_buy_support" | "audience_evidence_selections" | "max_optimization_goals" | "catalog_match" | "list_applications" | "brief_relevance" | "targeting_resolution" | "acceptance_policy_profile_ids" | "execution_requirements" | "expires_at" | "allowed_actions" | "product_card" | "format_ids" | "outcome_measurement" | "delivery_measurement" | "creative_policy" | "metric_optimization" | "conversion_tracking" | "data_provider_signals" | "included_signals" | "signal_targeting_options" | "installments" | "is_custom" | "product_card_detailed" | "enforced_policies" | "trusted_match")[], ("name" | "identity" | "forecast" | "description" | "publisher_properties" | "audience_evidence" | "product_id" | "channels" | "video_placement_types" | "audio_distribution_types" | "sponsored_placement_types" | "social_placement_surfaces" | "format_options" | "placements" | "delivery_type" | "exclusivity" | "pricing_options" | "reporting_capabilities" | "measurement_terms" | "performance_standards" | "catalog_types" | "signal_targeting_allowed" | "signal_targeting_rules" | "demographic_targeting" | "overlay_support" | "collections" | "collection_targeting_allowed" | "media_buy_support" | "audience_evidence_selections" | "max_optimization_goals" | "catalog_match" | "list_applications" | "brief_relevance" | "targeting_resolution" | "acceptance_policy_profile_ids" | "execution_requirements" | "expires_at" | "allowed_actions" | "product_card" | "format_ids" | "outcome_measurement" | "delivery_measurement" | "creative_policy" | "metric_optimization" | "conversion_tracking" | "data_provider_signals" | "included_signals" | "signal_targeting_options" | "installments" | "is_custom" | "product_card_detailed" | "enforced_policies" | "trusted_match")[], z.core.$ZodTypeInternals<("name" | "identity" | "forecast" | "description" | "publisher_properties" | "audience_evidence" | "product_id" | "channels" | "video_placement_types" | "audio_distribution_types" | "sponsored_placement_types" | "social_placement_surfaces" | "format_options" | "placements" | "delivery_type" | "exclusivity" | "pricing_options" | "reporting_capabilities" | "measurement_terms" | "performance_standards" | "catalog_types" | "signal_targeting_allowed" | "signal_targeting_rules" | "demographic_targeting" | "overlay_support" | "collections" | "collection_targeting_allowed" | "media_buy_support" | "audience_evidence_selections" | "max_optimization_goals" | "catalog_match" | "list_applications" | "brief_relevance" | "targeting_resolution" | "acceptance_policy_profile_ids" | "execution_requirements" | "expires_at" | "allowed_actions" | "product_card" | "format_ids" | "outcome_measurement" | "delivery_measurement" | "creative_policy" | "metric_optimization" | "conversion_tracking" | "data_provider_signals" | "included_signals" | "signal_targeting_options" | "installments" | "is_custom" | "product_card_detailed" | "enforced_policies" | "trusted_match")[], ("name" | "identity" | "forecast" | "description" | "publisher_properties" | "audience_evidence" | "product_id" | "channels" | "video_placement_types" | "audio_distribution_types" | "sponsored_placement_types" | "social_placement_surfaces" | "format_options" | "placements" | "delivery_type" | "exclusivity" | "pricing_options" | "reporting_capabilities" | "measurement_terms" | "performance_standards" | "catalog_types" | "signal_targeting_allowed" | "signal_targeting_rules" | "demographic_targeting" | "overlay_support" | "collections" | "collection_targeting_allowed" | "media_buy_support" | "audience_evidence_selections" | "max_optimization_goals" | "catalog_match" | "list_applications" | "brief_relevance" | "targeting_resolution" | "acceptance_policy_profile_ids" | "execution_requirements" | "expires_at" | "allowed_actions" | "product_card" | "format_ids" | "outcome_measurement" | "delivery_measurement" | "creative_policy" | "metric_optimization" | "conversion_tracking" | "data_provider_signals" | "included_signals" | "signal_targeting_options" | "installments" | "is_custom" | "product_card_detailed" | "enforced_policies" | "trusted_match")[]>>>;
110
+ fields: z.ZodOptional<z.ZodType<("name" | "audience_evidence" | "identity" | "forecast" | "description" | "publisher_properties" | "product_id" | "channels" | "video_placement_types" | "audio_distribution_types" | "sponsored_placement_types" | "social_placement_surfaces" | "format_options" | "placements" | "delivery_type" | "exclusivity" | "pricing_options" | "reporting_capabilities" | "measurement_terms" | "performance_standards" | "catalog_types" | "signal_targeting_allowed" | "signal_targeting_rules" | "demographic_targeting" | "overlay_support" | "collections" | "collection_targeting_allowed" | "media_buy_support" | "audience_evidence_selections" | "max_optimization_goals" | "catalog_match" | "list_applications" | "brief_relevance" | "targeting_resolution" | "acceptance_policy_profile_ids" | "execution_requirements" | "expires_at" | "allowed_actions" | "product_card" | "format_ids" | "outcome_measurement" | "delivery_measurement" | "creative_policy" | "metric_optimization" | "conversion_tracking" | "data_provider_signals" | "included_signals" | "signal_targeting_options" | "installments" | "is_custom" | "product_card_detailed" | "enforced_policies" | "trusted_match")[], ("name" | "audience_evidence" | "identity" | "forecast" | "description" | "publisher_properties" | "product_id" | "channels" | "video_placement_types" | "audio_distribution_types" | "sponsored_placement_types" | "social_placement_surfaces" | "format_options" | "placements" | "delivery_type" | "exclusivity" | "pricing_options" | "reporting_capabilities" | "measurement_terms" | "performance_standards" | "catalog_types" | "signal_targeting_allowed" | "signal_targeting_rules" | "demographic_targeting" | "overlay_support" | "collections" | "collection_targeting_allowed" | "media_buy_support" | "audience_evidence_selections" | "max_optimization_goals" | "catalog_match" | "list_applications" | "brief_relevance" | "targeting_resolution" | "acceptance_policy_profile_ids" | "execution_requirements" | "expires_at" | "allowed_actions" | "product_card" | "format_ids" | "outcome_measurement" | "delivery_measurement" | "creative_policy" | "metric_optimization" | "conversion_tracking" | "data_provider_signals" | "included_signals" | "signal_targeting_options" | "installments" | "is_custom" | "product_card_detailed" | "enforced_policies" | "trusted_match")[], z.core.$ZodTypeInternals<("name" | "audience_evidence" | "identity" | "forecast" | "description" | "publisher_properties" | "product_id" | "channels" | "video_placement_types" | "audio_distribution_types" | "sponsored_placement_types" | "social_placement_surfaces" | "format_options" | "placements" | "delivery_type" | "exclusivity" | "pricing_options" | "reporting_capabilities" | "measurement_terms" | "performance_standards" | "catalog_types" | "signal_targeting_allowed" | "signal_targeting_rules" | "demographic_targeting" | "overlay_support" | "collections" | "collection_targeting_allowed" | "media_buy_support" | "audience_evidence_selections" | "max_optimization_goals" | "catalog_match" | "list_applications" | "brief_relevance" | "targeting_resolution" | "acceptance_policy_profile_ids" | "execution_requirements" | "expires_at" | "allowed_actions" | "product_card" | "format_ids" | "outcome_measurement" | "delivery_measurement" | "creative_policy" | "metric_optimization" | "conversion_tracking" | "data_provider_signals" | "included_signals" | "signal_targeting_options" | "installments" | "is_custom" | "product_card_detailed" | "enforced_policies" | "trusted_match")[], ("name" | "audience_evidence" | "identity" | "forecast" | "description" | "publisher_properties" | "product_id" | "channels" | "video_placement_types" | "audio_distribution_types" | "sponsored_placement_types" | "social_placement_surfaces" | "format_options" | "placements" | "delivery_type" | "exclusivity" | "pricing_options" | "reporting_capabilities" | "measurement_terms" | "performance_standards" | "catalog_types" | "signal_targeting_allowed" | "signal_targeting_rules" | "demographic_targeting" | "overlay_support" | "collections" | "collection_targeting_allowed" | "media_buy_support" | "audience_evidence_selections" | "max_optimization_goals" | "catalog_match" | "list_applications" | "brief_relevance" | "targeting_resolution" | "acceptance_policy_profile_ids" | "execution_requirements" | "expires_at" | "allowed_actions" | "product_card" | "format_ids" | "outcome_measurement" | "delivery_measurement" | "creative_policy" | "metric_optimization" | "conversion_tracking" | "data_provider_signals" | "included_signals" | "signal_targeting_options" | "installments" | "is_custom" | "product_card_detailed" | "enforced_policies" | "trusted_match")[]>>>;
111
111
  time_budget: z.ZodOptional<z.ZodType<import("../index.mjs").Duration, import("../index.mjs").Duration, z.core.$ZodTypeInternals<import("../index.mjs").Duration, import("../index.mjs").Duration>>>;
112
112
  push_notification_config: z.ZodOptional<z.ZodType<import("../types/tools.generated.mjs").PushNotificationConfig, import("../types/tools.generated.mjs").PushNotificationConfig, z.core.$ZodTypeInternals<import("../types/tools.generated.mjs").PushNotificationConfig, import("../types/tools.generated.mjs").PushNotificationConfig>>>;
113
113
  pagination: z.ZodOptional<z.ZodType<import("../index.mjs").PaginationRequest, import("../index.mjs").PaginationRequest, z.core.$ZodTypeInternals<import("../index.mjs").PaginationRequest, import("../index.mjs").PaginationRequest>>>;
@@ -107,7 +107,7 @@ export declare const LegacyGetProductsRequestSchema: z.ZodObject<{
107
107
  required_overlay_support: z.ZodOptional<z.ZodType<import("../types/core.generated").TargetingOverlayRequirements, import("../types/core.generated").TargetingOverlayRequirements, z.core.$ZodTypeInternals<import("../types/core.generated").TargetingOverlayRequirements, import("../types/core.generated").TargetingOverlayRequirements>>>;
108
108
  required_media_buy_support: z.ZodOptional<z.ZodType<import("../types/tools.generated").ProductMediaBuySupportRequirements, import("../types/tools.generated").ProductMediaBuySupportRequirements, z.core.$ZodTypeInternals<import("../types/tools.generated").ProductMediaBuySupportRequirements, import("../types/tools.generated").ProductMediaBuySupportRequirements>>>;
109
109
  property_list: z.ZodOptional<z.ZodType<import("../types/tools.generated").PropertyListReference, import("../types/tools.generated").PropertyListReference, z.core.$ZodTypeInternals<import("../types/tools.generated").PropertyListReference, import("../types/tools.generated").PropertyListReference>>>;
110
- fields: z.ZodOptional<z.ZodType<("name" | "identity" | "forecast" | "description" | "publisher_properties" | "audience_evidence" | "product_id" | "channels" | "video_placement_types" | "audio_distribution_types" | "sponsored_placement_types" | "social_placement_surfaces" | "format_options" | "placements" | "delivery_type" | "exclusivity" | "pricing_options" | "reporting_capabilities" | "measurement_terms" | "performance_standards" | "catalog_types" | "signal_targeting_allowed" | "signal_targeting_rules" | "demographic_targeting" | "overlay_support" | "collections" | "collection_targeting_allowed" | "media_buy_support" | "audience_evidence_selections" | "max_optimization_goals" | "catalog_match" | "list_applications" | "brief_relevance" | "targeting_resolution" | "acceptance_policy_profile_ids" | "execution_requirements" | "expires_at" | "allowed_actions" | "product_card" | "format_ids" | "outcome_measurement" | "delivery_measurement" | "creative_policy" | "metric_optimization" | "conversion_tracking" | "data_provider_signals" | "included_signals" | "signal_targeting_options" | "installments" | "is_custom" | "product_card_detailed" | "enforced_policies" | "trusted_match")[], ("name" | "identity" | "forecast" | "description" | "publisher_properties" | "audience_evidence" | "product_id" | "channels" | "video_placement_types" | "audio_distribution_types" | "sponsored_placement_types" | "social_placement_surfaces" | "format_options" | "placements" | "delivery_type" | "exclusivity" | "pricing_options" | "reporting_capabilities" | "measurement_terms" | "performance_standards" | "catalog_types" | "signal_targeting_allowed" | "signal_targeting_rules" | "demographic_targeting" | "overlay_support" | "collections" | "collection_targeting_allowed" | "media_buy_support" | "audience_evidence_selections" | "max_optimization_goals" | "catalog_match" | "list_applications" | "brief_relevance" | "targeting_resolution" | "acceptance_policy_profile_ids" | "execution_requirements" | "expires_at" | "allowed_actions" | "product_card" | "format_ids" | "outcome_measurement" | "delivery_measurement" | "creative_policy" | "metric_optimization" | "conversion_tracking" | "data_provider_signals" | "included_signals" | "signal_targeting_options" | "installments" | "is_custom" | "product_card_detailed" | "enforced_policies" | "trusted_match")[], z.core.$ZodTypeInternals<("name" | "identity" | "forecast" | "description" | "publisher_properties" | "audience_evidence" | "product_id" | "channels" | "video_placement_types" | "audio_distribution_types" | "sponsored_placement_types" | "social_placement_surfaces" | "format_options" | "placements" | "delivery_type" | "exclusivity" | "pricing_options" | "reporting_capabilities" | "measurement_terms" | "performance_standards" | "catalog_types" | "signal_targeting_allowed" | "signal_targeting_rules" | "demographic_targeting" | "overlay_support" | "collections" | "collection_targeting_allowed" | "media_buy_support" | "audience_evidence_selections" | "max_optimization_goals" | "catalog_match" | "list_applications" | "brief_relevance" | "targeting_resolution" | "acceptance_policy_profile_ids" | "execution_requirements" | "expires_at" | "allowed_actions" | "product_card" | "format_ids" | "outcome_measurement" | "delivery_measurement" | "creative_policy" | "metric_optimization" | "conversion_tracking" | "data_provider_signals" | "included_signals" | "signal_targeting_options" | "installments" | "is_custom" | "product_card_detailed" | "enforced_policies" | "trusted_match")[], ("name" | "identity" | "forecast" | "description" | "publisher_properties" | "audience_evidence" | "product_id" | "channels" | "video_placement_types" | "audio_distribution_types" | "sponsored_placement_types" | "social_placement_surfaces" | "format_options" | "placements" | "delivery_type" | "exclusivity" | "pricing_options" | "reporting_capabilities" | "measurement_terms" | "performance_standards" | "catalog_types" | "signal_targeting_allowed" | "signal_targeting_rules" | "demographic_targeting" | "overlay_support" | "collections" | "collection_targeting_allowed" | "media_buy_support" | "audience_evidence_selections" | "max_optimization_goals" | "catalog_match" | "list_applications" | "brief_relevance" | "targeting_resolution" | "acceptance_policy_profile_ids" | "execution_requirements" | "expires_at" | "allowed_actions" | "product_card" | "format_ids" | "outcome_measurement" | "delivery_measurement" | "creative_policy" | "metric_optimization" | "conversion_tracking" | "data_provider_signals" | "included_signals" | "signal_targeting_options" | "installments" | "is_custom" | "product_card_detailed" | "enforced_policies" | "trusted_match")[]>>>;
110
+ fields: z.ZodOptional<z.ZodType<("name" | "audience_evidence" | "identity" | "forecast" | "description" | "publisher_properties" | "product_id" | "channels" | "video_placement_types" | "audio_distribution_types" | "sponsored_placement_types" | "social_placement_surfaces" | "format_options" | "placements" | "delivery_type" | "exclusivity" | "pricing_options" | "reporting_capabilities" | "measurement_terms" | "performance_standards" | "catalog_types" | "signal_targeting_allowed" | "signal_targeting_rules" | "demographic_targeting" | "overlay_support" | "collections" | "collection_targeting_allowed" | "media_buy_support" | "audience_evidence_selections" | "max_optimization_goals" | "catalog_match" | "list_applications" | "brief_relevance" | "targeting_resolution" | "acceptance_policy_profile_ids" | "execution_requirements" | "expires_at" | "allowed_actions" | "product_card" | "format_ids" | "outcome_measurement" | "delivery_measurement" | "creative_policy" | "metric_optimization" | "conversion_tracking" | "data_provider_signals" | "included_signals" | "signal_targeting_options" | "installments" | "is_custom" | "product_card_detailed" | "enforced_policies" | "trusted_match")[], ("name" | "audience_evidence" | "identity" | "forecast" | "description" | "publisher_properties" | "product_id" | "channels" | "video_placement_types" | "audio_distribution_types" | "sponsored_placement_types" | "social_placement_surfaces" | "format_options" | "placements" | "delivery_type" | "exclusivity" | "pricing_options" | "reporting_capabilities" | "measurement_terms" | "performance_standards" | "catalog_types" | "signal_targeting_allowed" | "signal_targeting_rules" | "demographic_targeting" | "overlay_support" | "collections" | "collection_targeting_allowed" | "media_buy_support" | "audience_evidence_selections" | "max_optimization_goals" | "catalog_match" | "list_applications" | "brief_relevance" | "targeting_resolution" | "acceptance_policy_profile_ids" | "execution_requirements" | "expires_at" | "allowed_actions" | "product_card" | "format_ids" | "outcome_measurement" | "delivery_measurement" | "creative_policy" | "metric_optimization" | "conversion_tracking" | "data_provider_signals" | "included_signals" | "signal_targeting_options" | "installments" | "is_custom" | "product_card_detailed" | "enforced_policies" | "trusted_match")[], z.core.$ZodTypeInternals<("name" | "audience_evidence" | "identity" | "forecast" | "description" | "publisher_properties" | "product_id" | "channels" | "video_placement_types" | "audio_distribution_types" | "sponsored_placement_types" | "social_placement_surfaces" | "format_options" | "placements" | "delivery_type" | "exclusivity" | "pricing_options" | "reporting_capabilities" | "measurement_terms" | "performance_standards" | "catalog_types" | "signal_targeting_allowed" | "signal_targeting_rules" | "demographic_targeting" | "overlay_support" | "collections" | "collection_targeting_allowed" | "media_buy_support" | "audience_evidence_selections" | "max_optimization_goals" | "catalog_match" | "list_applications" | "brief_relevance" | "targeting_resolution" | "acceptance_policy_profile_ids" | "execution_requirements" | "expires_at" | "allowed_actions" | "product_card" | "format_ids" | "outcome_measurement" | "delivery_measurement" | "creative_policy" | "metric_optimization" | "conversion_tracking" | "data_provider_signals" | "included_signals" | "signal_targeting_options" | "installments" | "is_custom" | "product_card_detailed" | "enforced_policies" | "trusted_match")[], ("name" | "audience_evidence" | "identity" | "forecast" | "description" | "publisher_properties" | "product_id" | "channels" | "video_placement_types" | "audio_distribution_types" | "sponsored_placement_types" | "social_placement_surfaces" | "format_options" | "placements" | "delivery_type" | "exclusivity" | "pricing_options" | "reporting_capabilities" | "measurement_terms" | "performance_standards" | "catalog_types" | "signal_targeting_allowed" | "signal_targeting_rules" | "demographic_targeting" | "overlay_support" | "collections" | "collection_targeting_allowed" | "media_buy_support" | "audience_evidence_selections" | "max_optimization_goals" | "catalog_match" | "list_applications" | "brief_relevance" | "targeting_resolution" | "acceptance_policy_profile_ids" | "execution_requirements" | "expires_at" | "allowed_actions" | "product_card" | "format_ids" | "outcome_measurement" | "delivery_measurement" | "creative_policy" | "metric_optimization" | "conversion_tracking" | "data_provider_signals" | "included_signals" | "signal_targeting_options" | "installments" | "is_custom" | "product_card_detailed" | "enforced_policies" | "trusted_match")[]>>>;
111
111
  time_budget: z.ZodOptional<z.ZodType<import("..").Duration, import("..").Duration, z.core.$ZodTypeInternals<import("..").Duration, import("..").Duration>>>;
112
112
  push_notification_config: z.ZodOptional<z.ZodType<import("../types/tools.generated").PushNotificationConfig, import("../types/tools.generated").PushNotificationConfig, z.core.$ZodTypeInternals<import("../types/tools.generated").PushNotificationConfig, import("../types/tools.generated").PushNotificationConfig>>>;
113
113
  pagination: z.ZodOptional<z.ZodType<import("..").PaginationRequest, import("..").PaginationRequest, z.core.$ZodTypeInternals<import("..").PaginationRequest, import("..").PaginationRequest>>>;