@adcp/client 3.25.1 → 4.0.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 (36) hide show
  1. package/dist/lib/agents/index.generated.d.ts +9 -1
  2. package/dist/lib/agents/index.generated.d.ts.map +1 -1
  3. package/dist/lib/agents/index.generated.js +12 -0
  4. package/dist/lib/agents/index.generated.js.map +1 -1
  5. package/dist/lib/core/AgentClient.d.ts.map +1 -1
  6. package/dist/lib/core/SingleAgentClient.d.ts +8 -0
  7. package/dist/lib/core/SingleAgentClient.d.ts.map +1 -1
  8. package/dist/lib/core/SingleAgentClient.js +52 -11
  9. package/dist/lib/core/SingleAgentClient.js.map +1 -1
  10. package/dist/lib/index.d.ts +3 -3
  11. package/dist/lib/index.d.ts.map +1 -1
  12. package/dist/lib/index.js +5 -3
  13. package/dist/lib/index.js.map +1 -1
  14. package/dist/lib/types/core.generated.d.ts +175 -78
  15. package/dist/lib/types/core.generated.d.ts.map +1 -1
  16. package/dist/lib/types/core.generated.js +1 -1
  17. package/dist/lib/types/schemas.generated.d.ts +1654 -328
  18. package/dist/lib/types/schemas.generated.d.ts.map +1 -1
  19. package/dist/lib/types/schemas.generated.js +182 -87
  20. package/dist/lib/types/schemas.generated.js.map +1 -1
  21. package/dist/lib/types/tools.generated.d.ts +496 -482
  22. package/dist/lib/types/tools.generated.d.ts.map +1 -1
  23. package/dist/lib/types/tools.generated.js +0 -3
  24. package/dist/lib/types/tools.generated.js.map +1 -1
  25. package/dist/lib/utils/capabilities.d.ts +40 -0
  26. package/dist/lib/utils/capabilities.d.ts.map +1 -1
  27. package/dist/lib/utils/capabilities.js +25 -0
  28. package/dist/lib/utils/capabilities.js.map +1 -1
  29. package/dist/lib/utils/creative-adapter.d.ts +2 -2
  30. package/dist/lib/utils/creative-adapter.d.ts.map +1 -1
  31. package/dist/lib/utils/creative-adapter.js +19 -4
  32. package/dist/lib/utils/creative-adapter.js.map +1 -1
  33. package/dist/lib/utils/pricing-adapter.d.ts.map +1 -1
  34. package/dist/lib/utils/pricing-adapter.js +3 -5
  35. package/dist/lib/utils/pricing-adapter.js.map +1 -1
  36. package/package.json +2 -1
package/dist/lib/index.js CHANGED
@@ -17,9 +17,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
17
  };
18
18
  Object.defineProperty(exports, "__esModule", { value: true });
19
19
  exports.createAdCPHeaders = exports.getAuthToken = exports.promotedOfferingsToCatalog = exports.promotedProductsToCatalog = exports.brandManifestToBrandReference = exports.InputRequiredError = exports.is401Error = exports.extractErrorInfo = exports.isErrorOfType = exports.isADCPError = exports.AuthenticationRequiredError = exports.ConfigurationError = exports.InvalidContextError = exports.MissingInputHandlerError = exports.ADCPValidationError = exports.ProtocolError = exports.UnsupportedTaskError = exports.AgentNotFoundError = exports.TaskAbortedError = exports.DeferredTaskError = exports.MaxClarificationError = exports.TaskTimeoutError = exports.ADCPError = exports.createMemoryStorageConfig = exports.createMemoryStorage = exports.MemoryStorage = exports.createAsyncHandler = exports.AsyncHandler = exports.createOperationId = exports.responseValidator = exports.ResponseValidator = exports.ADCP_STATUS = exports.responseParser = exports.ProtocolResponseParser = exports.TaskExecutor = exports.STANDARD_CREATIVE_AGENTS = exports.createCreativeAgentClient = exports.CreativeAgentClient = exports.ConfigurationManager = exports.createADCPMultiAgentClient = exports.ADCPMultiAgentClient = exports.AgentClient = exports.UnsupportedFeatureError = exports.createSingleAgentClient = exports.SingleAgentClient = exports.PropertyCrawler = exports.resetPropertyIndex = exports.getPropertyIndex = exports.PropertyIndex = exports.RegistryClient = void 0;
20
- exports.usesV2CreativeIds = exports.normalizeMediaBuyResponse = exports.normalizePackageResponse = exports.adaptUpdateMediaBuyRequestForV2 = exports.adaptCreateMediaBuyRequestForV2 = exports.adaptPackageRequestForV2 = exports.PROTOCOL_TOOLS = exports.ACCOUNT_TOOLS = exports.EVENT_TRACKING_TOOLS = exports.CREATIVE_TOOLS = exports.GOVERNANCE_TOOLS = exports.SIGNALS_TOOLS = exports.MEDIA_BUY_TOOLS = exports.supportsContentStandards = exports.supportsPropertyListFiltering = exports.supportsProtocol = exports.supportsV3 = exports.parseCapabilitiesResponse = exports.buildSyntheticCapabilities = exports.hasAssets = exports.getAssetCount = exports.usesDeprecatedAssetsField = exports.getRepeatableGroups = exports.getIndividualAssets = exports.getOptionalAssets = exports.getRequiredAssets = exports.getFormatAssets = exports.paginatePages = exports.paginate = exports.isCPAPricing = exports.detectProtocolWithTimeout = exports.detectProtocol = exports.STANDARD_FORMATS = exports.MAX_CONCURRENT = exports.REQUEST_TIMEOUT = exports.isAdcpSuccess = exports.isAdcpError = exports.unwrapProtocolResponse = exports.getStandardFormats = exports.createA2AClient = exports.createMCPClient = exports.callA2ATool = exports.callMCPTool = exports.ProtocolClient = exports.handleAdCPResponse = exports.getExpectedSchema = exports.validateAdCPResponse = exports.validateAgentUrl = exports.createAuthenticatedFetch = exports.createMCPAuthHeaders = void 0;
21
- exports.getLibraryVersion = exports.getAdcpVersion = exports.isSyncCreativesFailed = exports.isSyncCreativesSubmitted = exports.isSyncCreativesInputRequired = exports.isSyncCreativesWorking = exports.isSyncCreativesCompleted = exports.isUpdateMediaBuyFailed = exports.isUpdateMediaBuySubmitted = exports.isUpdateMediaBuyInputRequired = exports.isUpdateMediaBuyWorking = exports.isUpdateMediaBuyCompleted = exports.isCreateMediaBuyFailed = exports.isCreateMediaBuySubmitted = exports.isCreateMediaBuyInputRequired = exports.isCreateMediaBuyWorking = exports.isCreateMediaBuyCompleted = exports.isGetProductsFailed = exports.isGetProductsSubmitted = exports.isGetProductsInputRequired = exports.isGetProductsWorking = exports.isGetProductsCompleted = exports.isStatusRejected = exports.isStatusFailed = exports.isStatusSubmitted = exports.isStatusInputRequired = exports.isStatusWorking = exports.isStatusCompleted = exports.getPreviewHtml = exports.getPreviewUrl = exports.getPrimaryPreviewRender = exports.getRenderRole = exports.getRenderId = exports.usesV3RenderFields = exports.usesV2RenderFields = exports.normalizePreviewCreativeResponse = exports.normalizePreview = exports.normalizePreviewRender = exports.getFormatDimensions = exports.usesV3Renders = exports.usesV2Dimensions = exports.isMultiRenderFormat = exports.getCompanionRenders = exports.getPrimaryRender = exports.getFormatRenders = exports.normalizeFormatsResponse = exports.normalizeFormatRenders = exports.getCreativeAssignments = exports.getCreativeIds = exports.usesV3CreativeAssignments = void 0;
22
- exports.creativeAgent = exports.TEST_AGENT_NO_AUTH_A2A_CONFIG = exports.TEST_AGENT_NO_AUTH_MCP_CONFIG = exports.testAgentNoAuthA2A = exports.testAgentNoAuth = exports.TEST_AGENT_A2A_CONFIG = exports.TEST_AGENT_MCP_CONFIG = exports.TEST_AGENT_TOKEN = exports.createTestAgent = exports.testAgentClient = exports.testAgentA2A = exports.testAgent = exports.AdCPClient = exports.defaultSISessionManager = exports.SIErrorCodes = exports.AISISessionManager = exports.SISessionManager = exports.defaultProposalManager = exports.ProposalErrorCodes = exports.AIProposalManager = exports.ProposalManager = exports.defaultPropertyListAdapter = exports.isPropertyListError = exports.PropertyListErrorCodes = exports.PropertyListAdapter = exports.defaultContentStandardsAdapter = exports.isContentStandardsError = exports.ContentStandardsErrorCodes = exports.ContentStandardsAdapter = exports.AgentCollection = exports.Agent = exports.VERSION_INFO = exports.COMPATIBLE_ADCP_VERSIONS = exports.LIBRARY_VERSION = exports.ADCP_VERSION = exports.getCompatibleVersions = exports.isCompatibleWith = void 0;
20
+ exports.normalizePackageResponse = exports.adaptUpdateMediaBuyRequestForV2 = exports.adaptCreateMediaBuyRequestForV2 = exports.adaptPackageRequestForV2 = exports.PROTOCOL_TOOLS = exports.ACCOUNT_TOOLS = exports.EVENT_TRACKING_TOOLS = exports.CREATIVE_TOOLS = exports.GOVERNANCE_TOOLS = exports.SIGNALS_TOOLS = exports.MEDIA_BUY_TOOLS = exports.requiresAccountForProducts = exports.requiresOperatorAuth = exports.supportsContentStandards = exports.supportsPropertyListFiltering = exports.supportsProtocol = exports.supportsV3 = exports.parseCapabilitiesResponse = exports.buildSyntheticCapabilities = exports.hasAssets = exports.getAssetCount = exports.usesDeprecatedAssetsField = exports.getRepeatableGroups = exports.getIndividualAssets = exports.getOptionalAssets = exports.getRequiredAssets = exports.getFormatAssets = exports.paginatePages = exports.paginate = exports.isCPAPricing = exports.detectProtocolWithTimeout = exports.detectProtocol = exports.STANDARD_FORMATS = exports.MAX_CONCURRENT = exports.REQUEST_TIMEOUT = exports.isAdcpSuccess = exports.isAdcpError = exports.unwrapProtocolResponse = exports.getStandardFormats = exports.createA2AClient = exports.createMCPClient = exports.callA2ATool = exports.callMCPTool = exports.ProtocolClient = exports.handleAdCPResponse = exports.getExpectedSchema = exports.validateAdCPResponse = exports.validateAgentUrl = exports.createAuthenticatedFetch = exports.createMCPAuthHeaders = void 0;
21
+ exports.isSyncCreativesFailed = exports.isSyncCreativesSubmitted = exports.isSyncCreativesInputRequired = exports.isSyncCreativesWorking = exports.isSyncCreativesCompleted = exports.isUpdateMediaBuyFailed = exports.isUpdateMediaBuySubmitted = exports.isUpdateMediaBuyInputRequired = exports.isUpdateMediaBuyWorking = exports.isUpdateMediaBuyCompleted = exports.isCreateMediaBuyFailed = exports.isCreateMediaBuySubmitted = exports.isCreateMediaBuyInputRequired = exports.isCreateMediaBuyWorking = exports.isCreateMediaBuyCompleted = exports.isGetProductsFailed = exports.isGetProductsSubmitted = exports.isGetProductsInputRequired = exports.isGetProductsWorking = exports.isGetProductsCompleted = exports.isStatusRejected = exports.isStatusFailed = exports.isStatusSubmitted = exports.isStatusInputRequired = exports.isStatusWorking = exports.isStatusCompleted = exports.getPreviewHtml = exports.getPreviewUrl = exports.getPrimaryPreviewRender = exports.getRenderRole = exports.getRenderId = exports.usesV3RenderFields = exports.usesV2RenderFields = exports.normalizePreviewCreativeResponse = exports.normalizePreview = exports.normalizePreviewRender = exports.getFormatDimensions = exports.usesV3Renders = exports.usesV2Dimensions = exports.isMultiRenderFormat = exports.getCompanionRenders = exports.getPrimaryRender = exports.getFormatRenders = exports.normalizeFormatsResponse = exports.normalizeFormatRenders = exports.getCreativeAssignments = exports.getCreativeIds = exports.usesV3CreativeAssignments = exports.usesV2CreativeIds = exports.normalizeMediaBuyResponse = void 0;
22
+ exports.creativeAgent = exports.TEST_AGENT_NO_AUTH_A2A_CONFIG = exports.TEST_AGENT_NO_AUTH_MCP_CONFIG = exports.testAgentNoAuthA2A = exports.testAgentNoAuth = exports.TEST_AGENT_A2A_CONFIG = exports.TEST_AGENT_MCP_CONFIG = exports.TEST_AGENT_TOKEN = exports.createTestAgent = exports.testAgentClient = exports.testAgentA2A = exports.testAgent = exports.AdCPClient = exports.defaultSISessionManager = exports.SIErrorCodes = exports.AISISessionManager = exports.SISessionManager = exports.defaultProposalManager = exports.ProposalErrorCodes = exports.AIProposalManager = exports.ProposalManager = exports.defaultPropertyListAdapter = exports.isPropertyListError = exports.PropertyListErrorCodes = exports.PropertyListAdapter = exports.defaultContentStandardsAdapter = exports.isContentStandardsError = exports.ContentStandardsErrorCodes = exports.ContentStandardsAdapter = exports.AgentCollection = exports.Agent = exports.VERSION_INFO = exports.COMPATIBLE_ADCP_VERSIONS = exports.LIBRARY_VERSION = exports.ADCP_VERSION = exports.getCompatibleVersions = exports.isCompatibleWith = exports.getLibraryVersion = exports.getAdcpVersion = void 0;
23
23
  exports.createAdCPClient = createAdCPClient;
24
24
  exports.createAdCPClientFromEnv = createAdCPClientFromEnv;
25
25
  // ====== REGISTRY LOOKUPS ======
@@ -164,6 +164,8 @@ Object.defineProperty(exports, "supportsV3", { enumerable: true, get: function (
164
164
  Object.defineProperty(exports, "supportsProtocol", { enumerable: true, get: function () { return capabilities_1.supportsProtocol; } });
165
165
  Object.defineProperty(exports, "supportsPropertyListFiltering", { enumerable: true, get: function () { return capabilities_1.supportsPropertyListFiltering; } });
166
166
  Object.defineProperty(exports, "supportsContentStandards", { enumerable: true, get: function () { return capabilities_1.supportsContentStandards; } });
167
+ Object.defineProperty(exports, "requiresOperatorAuth", { enumerable: true, get: function () { return capabilities_1.requiresOperatorAuth; } });
168
+ Object.defineProperty(exports, "requiresAccountForProducts", { enumerable: true, get: function () { return capabilities_1.requiresAccountForProducts; } });
167
169
  Object.defineProperty(exports, "MEDIA_BUY_TOOLS", { enumerable: true, get: function () { return capabilities_1.MEDIA_BUY_TOOLS; } });
168
170
  Object.defineProperty(exports, "SIGNALS_TOOLS", { enumerable: true, get: function () { return capabilities_1.SIGNALS_TOOLS; } });
169
171
  Object.defineProperty(exports, "GOVERNANCE_TOOLS", { enumerable: true, get: function () { return capabilities_1.GOVERNANCE_TOOLS; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":";AAAA,qCAAqC;AACrC,sEAAsE;;;;;;;;;;;;;;;;;;;;AAmftE,4CAEC;AAMD,0DAEC;AA3fD,iCAAiC;AACjC,uCAA4C;AAAnC,0GAAA,cAAc,OAAA;AAuBvB,iDAAiD;AACjD,6DAMoC;AALlC,+GAAA,aAAa,OAAA;AACb,kHAAA,gBAAgB,OAAA;AAChB,oHAAA,kBAAkB,OAAA;AAIpB,iEAAiG;AAAxF,mHAAA,eAAe,OAAA;AASxB,gDAAgD;AAChD,4DAA4D;AAC5D,8DAA+G;AAAtG,sHAAA,iBAAiB,OAAA;AAAE,4HAAA,uBAAuB,OAAA;AAAE,4HAAA,uBAAuB,OAAA;AAE5E,kDAA8F;AAArF,0GAAA,WAAW,OAAA;AACpB,oEAA+F;AAAtF,4HAAA,oBAAoB,OAAA;AAAE,kIAAA,0BAA0B,OAAA;AACzD,oEAAmE;AAA1D,4HAAA,oBAAoB,OAAA;AAC7B,kEAOoC;AANlC,0HAAA,mBAAmB,OAAA;AACnB,gIAAA,yBAAyB,OAAA;AACzB,+HAAA,wBAAwB,OAAA;AAK1B,oDAAmD;AAA1C,4GAAA,YAAY,OAAA;AACrB,wEAAqH;AAA5G,gIAAA,sBAAsB,OAAA;AAAE,wHAAA,cAAc,OAAA;AAAE,qHAAA,WAAW,OAAA;AAC5D,8DAKkC;AAJhC,sHAAA,iBAAiB,OAAA;AACjB,sHAAA,iBAAiB,OAAA;AA4BnB,wDAA0D;AAAjD,mHAAA,iBAAiB,OAAA;AAc1B,oDAAuE;AAA9D,4GAAA,YAAY,OAAA;AAAE,kHAAA,kBAAkB,OAAA;AAEzC,+BAA+B;AAC/B,mDAAiC;AAcjC,yDAAwG;AAA/F,8GAAA,aAAa,OAAA;AAAE,oHAAA,mBAAmB,OAAA;AAAE,0HAAA,yBAAyB,OAAA;AAEtE,8BAA8B;AAC9B,mCAkBkB;AAjBhB,mGAAA,SAAS,OAAA;AACT,0GAAA,gBAAgB,OAAA;AAChB,+GAAA,qBAAqB,OAAA;AACrB,2GAAA,iBAAiB,OAAA;AACjB,0GAAA,gBAAgB,OAAA;AAChB,4GAAA,kBAAkB,OAAA;AAClB,8GAAA,oBAAoB,OAAA;AACpB,uGAAA,aAAa,OAAA;AACb,6GAAA,eAAe,OAAuB;AACtC,kHAAA,wBAAwB,OAAA;AACxB,6GAAA,mBAAmB,OAAA;AACnB,4GAAA,kBAAkB,OAAA;AAClB,qHAAA,2BAA2B,OAAA;AAC3B,qGAAA,WAAW,OAAA;AACX,uGAAA,aAAa,OAAA;AACb,0GAAA,gBAAgB,OAAA;AAChB,oGAAA,UAAU,OAAA;AAGZ,oDAAyD;AAAhD,kHAAA,kBAAkB,OAAA;AAE3B,2BAA2B;AAC3B,0CAAwB;AAqIxB,yCAAsH;AAA7G,uHAAA,6BAA6B,OAAA;AAAE,mHAAA,yBAAyB,OAAA;AAAE,oHAAA,0BAA0B,OAAA;AAE7F,qDAAqD;AACrD,sDAAsD;AACtD,4DAA0C;AAE1C,+BAA+B;AAC/B,yCAAyC;AACzC,+BAAyG;AAAhG,oGAAA,YAAY,OAAA;AAAE,yGAAA,iBAAiB,OAAA;AAAE,4GAAA,oBAAoB,OAAA;AAAE,gHAAA,wBAAwB,OAAA;AAExF,2BAA2B;AAC3B,2CAA2C;AAC3C,2CAA6G;AAApG,8GAAA,gBAAgB,OAAA;AAAE,kHAAA,oBAAoB,OAAA;AAAE,+GAAA,iBAAiB,OAAA;AAAE,gHAAA,kBAAkB,OAAA;AAEtF,iCAAiC;AACjC,qEAAqE;AACrE,yCAAyG;AAAhG,2GAAA,cAAc,OAAA;AAAE,wGAAA,WAAW,OAAA;AAAE,wGAAA,WAAW,OAAA;AAAE,4GAAA,eAAe,OAAA;AAAE,4GAAA,eAAe,OAAA;AAEnF,mCAAmC;AACnC,mDAAmD;AACnD,iCAAiG;AAAxF,2GAAA,kBAAkB,OAAA;AAAE,+GAAA,sBAAsB,OAAA;AAAE,oGAAA,WAAW,OAAA;AAAE,sGAAA,aAAa,OAAA;AAC/E,iCAA4E;AAAnE,wGAAA,eAAe,OAAA;AAAE,uGAAA,cAAc,OAAA;AAAE,yGAAA,gBAAgB,OAAA;AAC1D,iCAAoE;AAA3D,uGAAA,cAAc,OAAA;AAAE,kHAAA,yBAAyB,OAAA;AAElD,kCAAkC;AAClC,4DAA4D;AAC5D,iCAAuC;AAA9B,qGAAA,YAAY,OAAA;AAErB,qCAAqC;AACrC,0DAA0D;AAC1D,iCAAwE;AAA/D,iGAAA,QAAQ,OAAA;AAAE,sGAAA,aAAa,OAAA;AAEhC,uCAAuC;AACvC,8CAA8C;AAC9C,uDAS+B;AAR7B,gHAAA,eAAe,OAAA;AACf,kHAAA,iBAAiB,OAAA;AACjB,kHAAA,iBAAiB,OAAA;AACjB,oHAAA,mBAAmB,OAAA;AACnB,oHAAA,mBAAmB,OAAA;AACnB,0HAAA,yBAAyB,OAAA;AACzB,8GAAA,aAAa,OAAA;AACb,0GAAA,SAAS,OAAA;AAGX,6CAA6C;AAC7C,mEAAmE;AACnE,qDAgB8B;AAf5B,0HAAA,0BAA0B,OAAA;AAC1B,yHAAA,yBAAyB,OAAA;AACzB,0GAAA,UAAU,OAAA;AACV,gHAAA,gBAAgB,OAAA;AAChB,6HAAA,6BAA6B,OAAA;AAC7B,wHAAA,wBAAwB,OAAA;AACxB,oHAAA,oBAAoB,OAAA;AACpB,0HAAA,0BAA0B,OAAA;AAC1B,+GAAA,eAAe,OAAA;AACf,6GAAA,aAAa,OAAA;AACb,gHAAA,gBAAgB,OAAA;AAChB,8GAAA,cAAc,OAAA;AACd,oHAAA,oBAAoB,OAAA;AACpB,6GAAA,aAAa,OAAA;AACb,8GAAA,cAAc,OAAA;AAWhB,0EAA0E;AAC1E,6DAUkC;AAThC,4HAAA,wBAAwB,OAAA;AACxB,mIAAA,+BAA+B,OAAA;AAC/B,mIAAA,+BAA+B,OAAA;AAC/B,4HAAA,wBAAwB,OAAA;AACxB,6HAAA,yBAAyB,OAAA;AACzB,qHAAA,iBAAiB,OAAA;AACjB,6HAAA,yBAAyB,OAAA;AACzB,kHAAA,cAAc,OAAA;AACd,0HAAA,sBAAsB,OAAA;AAIxB,yDAAyD;AACzD,yDAUgC;AAT9B,wHAAA,sBAAsB,OAAA;AACtB,0HAAA,wBAAwB,OAAA;AACxB,kHAAA,gBAAgB,OAAA;AAChB,kHAAA,gBAAgB,OAAA;AAChB,qHAAA,mBAAmB,OAAA;AACnB,qHAAA,mBAAmB,OAAA;AACnB,kHAAA,gBAAgB,OAAA;AAChB,+GAAA,aAAa,OAAA;AACb,qHAAA,mBAAmB,OAAA;AAIrB,4DAA4D;AAC5D,iEAWoC;AAVlC,4HAAA,sBAAsB,OAAA;AACtB,sHAAA,gBAAgB,OAAA;AAChB,sIAAA,gCAAgC,OAAA;AAChC,wHAAA,kBAAkB,OAAA;AAClB,wHAAA,kBAAkB,OAAA;AAClB,iHAAA,WAAW,OAAA;AACX,mHAAA,aAAa,OAAA;AACb,6HAAA,uBAAuB,OAAA;AACvB,mHAAA,aAAa,OAAA;AACb,oHAAA,cAAc,OAAA;AAIhB,qCAAqC;AACrC,0EAA0E;AAC1E,iDAgC4B;AA/B1B,wBAAwB;AACxB,+GAAA,iBAAiB,OAAA;AACjB,6GAAA,eAAe,OAAA;AACf,mHAAA,qBAAqB,OAAA;AACrB,+GAAA,iBAAiB,OAAA;AACjB,4GAAA,cAAc,OAAA;AACd,8GAAA,gBAAgB,OAAA;AAChB,0BAA0B;AAC1B,oHAAA,sBAAsB,OAAA;AACtB,kHAAA,oBAAoB,OAAA;AACpB,wHAAA,0BAA0B,OAAA;AAC1B,oHAAA,sBAAsB,OAAA;AACtB,iHAAA,mBAAmB,OAAA;AACnB,6BAA6B;AAC7B,uHAAA,yBAAyB,OAAA;AACzB,qHAAA,uBAAuB,OAAA;AACvB,2HAAA,6BAA6B,OAAA;AAC7B,uHAAA,yBAAyB,OAAA;AACzB,oHAAA,sBAAsB,OAAA;AACtB,6BAA6B;AAC7B,uHAAA,yBAAyB,OAAA;AACzB,qHAAA,uBAAuB,OAAA;AACvB,2HAAA,6BAA6B,OAAA;AAC7B,uHAAA,yBAAyB,OAAA;AACzB,oHAAA,sBAAsB,OAAA;AACtB,4BAA4B;AAC5B,sHAAA,wBAAwB,OAAA;AACxB,oHAAA,sBAAsB,OAAA;AACtB,0HAAA,4BAA4B,OAAA;AAC5B,sHAAA,wBAAwB,OAAA;AACxB,mHAAA,qBAAqB,OAAA;AAGvB,oCAAoC;AACpC,qCASmB;AARjB,yGAAA,cAAc,OAAA;AACd,4GAAA,iBAAiB,OAAA;AACjB,2GAAA,gBAAgB,OAAA;AAChB,gHAAA,qBAAqB,OAAA;AACrB,uGAAA,YAAY,OAAA;AACZ,0GAAA,eAAe,OAAA;AACf,mHAAA,wBAAwB,OAAA;AACxB,uGAAA,YAAY,OAAA;AAGd,8BAA8B;AAC9B,uDAAuD;AACvD,4DAAkE;AAAzD,wGAAA,KAAK,OAAA;AAAE,kHAAA,eAAe,OAAA;AAE/B,qCAAqC;AACrC,sEAAsE;AACtE,uCA6BoB;AA5BlB,oBAAoB;AACpB,mHAAA,uBAAuB,OAAA;AAGvB,sHAAA,0BAA0B,OAAA;AAC1B,mHAAA,uBAAuB,OAAA;AACvB,0HAAA,8BAA8B,OAAA;AAC9B,iBAAiB;AACjB,+GAAA,mBAAmB,OAAA;AAGnB,kHAAA,sBAAsB,OAAA;AACtB,+GAAA,mBAAmB,OAAA;AACnB,sHAAA,0BAA0B,OAAA;AAC1B,sBAAsB;AACtB,2GAAA,eAAe,OAAA;AACf,6GAAA,iBAAiB,OAAA;AAGjB,8GAAA,kBAAkB,OAAA;AAClB,kHAAA,sBAAsB,OAAA;AACtB,kCAAkC;AAClC,4GAAA,gBAAgB,OAAA;AAChB,8GAAA,kBAAkB,OAAA;AAGlB,wGAAA,YAAY,OAAA;AACZ,mHAAA,uBAAuB,OAAA;AAMzB,sEAAmE;AAEnE;;;GAGG;AACU,QAAA,UAAU,GAAG,2CAAoB,CAAC;AAE/C,qEAAqE;AACrE,sDAAsD;AAEtD;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,MAAsB;IACrD,OAAO,IAAI,kBAAU,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAED;;;GAGG;AACH,SAAgB,uBAAuB;IACrC,OAAO,2CAAoB,CAAC,OAAO,EAAE,CAAC;AACxC,CAAC;AAED,6BAA6B;AAC7B,mFAAmF;AACnF,yCAayB;AAZvB,kGAAA,SAAS,OAAA;AACT,qGAAA,YAAY,OAAA;AACZ,wGAAA,eAAe,OAAA;AACf,wGAAA,eAAe,OAAA;AACf,yGAAA,gBAAgB,OAAA;AAChB,8GAAA,qBAAqB,OAAA;AACrB,8GAAA,qBAAqB,OAAA;AACrB,wGAAA,eAAe,OAAA;AACf,2GAAA,kBAAkB,OAAA;AAClB,sHAAA,6BAA6B,OAAA;AAC7B,sHAAA,6BAA6B,OAAA;AAC7B,sGAAA,aAAa,OAAA"}
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Brand identifier within the house portfolio. Optional for single-brand domains.
3
+ */
4
+ export type BrandID = string;
1
5
  /**
2
6
  * Status of a media buy
3
7
  */
@@ -11,11 +15,11 @@ export type Pacing = 'even' | 'asap' | 'front_loaded';
11
15
  */
12
16
  export type MetroAreaSystem = 'nielsen_dma' | 'uk_itl1' | 'uk_itl2' | 'eurostat_nuts2' | 'custom';
13
17
  /**
14
- * Metro area classification system (e.g., 'nielsen_dma', 'uk_itl2')
18
+ * Postal code system (e.g., 'us_zip', 'gb_outward'). System name encodes country and precision.
15
19
  */
16
- export type PostalCodeSystem = 'us_zip' | 'us_zip_plus_four' | 'gb_outward' | 'gb_full' | 'ca_fsa' | 'ca_full' | 'de_plz' | 'fr_code_postal' | 'au_postcode';
20
+ export type PostalCodeSystem = 'us_zip' | 'us_zip_plus_four' | 'gb_outward' | 'gb_full' | 'ca_fsa' | 'ca_full' | 'de_plz' | 'fr_code_postal' | 'au_postcode' | 'ch_plz' | 'at_plz';
17
21
  /**
18
- * Postal code system (e.g., 'us_zip', 'gb_outward'). System name encodes country and precision.
22
+ * Days of the week for daypart targeting
19
23
  */
20
24
  export type DayOfWeek = 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday' | 'sunday';
21
25
  /**
@@ -27,7 +31,100 @@ export type AgeVerificationMethod = 'facial_age_estimation' | 'id_document' | 'd
27
31
  */
28
32
  export type DevicePlatform = 'ios' | 'android' | 'windows' | 'macos' | 'linux' | 'chromeos' | 'tvos' | 'tizen' | 'webos' | 'fire_os' | 'roku_os' | 'unknown';
29
33
  /**
30
- * Event type to optimize for (e.g. purchase, lead)
34
+ * A single optimization target for a package. Packages accept an array of optimization_goals. When multiple goals are present, priority determines which the seller focuses on — 1 is highest priority (primary goal); higher numbers are secondary. Duplicate priority values result in undefined seller behavior.
35
+ */
36
+ export type OptimizationGoal = {
37
+ kind: 'metric';
38
+ /**
39
+ * Seller-native metric to optimize for. Delivery metrics: clicks (link clicks, swipe-throughs, CTA taps that navigate away), views (viewable impressions), completed_views (video/audio completions — see view_duration_seconds). Duration/score metrics: viewed_seconds (time in view per impression), attention_seconds (attention time per impression), attention_score (vendor-specific attention score). Audience action metrics: engagements (any direct interaction with the ad unit beyond viewing — social reactions/comments/shares, story/unit opens, interactive overlay taps, companion banner interactions on audio and CTV), follows (new followers, page likes, artist/podcast/channel subscribes), saves (saves, bookmarks, playlist adds, pins — signals of intent to return), profile_visits (visits to the brand's in-platform page — profile, artist page, channel, or storefront. Does not include external website clicks, which are covered by 'clicks').
40
+ */
41
+ metric: 'clicks' | 'views' | 'completed_views' | 'viewed_seconds' | 'attention_seconds' | 'attention_score' | 'engagements' | 'follows' | 'saves' | 'profile_visits';
42
+ /**
43
+ * Minimum video view duration in seconds that qualifies as a completed_view for this goal. Only applicable when metric is 'completed_views'. When omitted, the seller uses their platform default (typically 2–15 seconds). Common values: 2 (Snap/LinkedIn default), 6 (TikTok), 15 (Snap 15-second views, Meta ThruPlay). Sellers declare which durations they support in metric_optimization.supported_view_durations. Sellers must reject goals with unsupported values — silent rounding would create measurement discrepancies.
44
+ */
45
+ view_duration_seconds?: number;
46
+ /**
47
+ * Target for this metric. When omitted, the seller optimizes for maximum metric volume within budget.
48
+ */
49
+ target?: {
50
+ kind: 'cost_per';
51
+ /**
52
+ * Target cost per metric unit in the buy currency
53
+ */
54
+ value: number;
55
+ } | {
56
+ kind: 'threshold_rate';
57
+ /**
58
+ * Minimum per-impression value. Units depend on the metric: proportion (clicks, views, completed_views), seconds (viewed_seconds, attention_seconds), or score (attention_score).
59
+ */
60
+ value: number;
61
+ };
62
+ /**
63
+ * Relative priority among all optimization goals on this package. 1 = highest priority (primary goal); higher numbers are lower priority (secondary signals). When omitted, sellers may use array position as priority.
64
+ */
65
+ priority?: number;
66
+ } | {
67
+ kind: 'event';
68
+ /**
69
+ * Event source and type pairs that feed this goal. Each entry identifies a source and event type to include. When the seller supports multi_source_event_dedup (declared in get_adcp_capabilities), they deduplicate by event_id across all entries — the same business event from multiple sources counts once, using value_field and value_factor from the first matching entry. When multi_source_event_dedup is false or absent, buyers should use a single entry per goal; the seller will use only the first entry. All event sources must be configured via sync_event_sources.
70
+ */
71
+ event_sources: {
72
+ /**
73
+ * Event source to include (must be configured on this account via sync_event_sources)
74
+ */
75
+ event_source_id: string;
76
+ event_type: EventType;
77
+ /**
78
+ * Required when event_type is 'custom'. Platform-specific name for the custom event.
79
+ */
80
+ custom_event_name?: string;
81
+ /**
82
+ * Which field in the event's custom_data carries the monetary value. The seller must use this field for value extraction and aggregation when computing ROAS and conversion value metrics. Required on at least one entry when target.kind is 'per_ad_spend' or 'maximize_value'. Common values: 'value', 'order_total', 'profit_margin'. This is not passed as a parameter to underlying platform APIs — the seller maps it to their platform's value ingestion mechanism.
83
+ */
84
+ value_field?: string;
85
+ /**
86
+ * Multiplier the seller must apply to value_field before aggregation. Use -1 for refund events (negate the value), 0.01 for values in cents, -0.01 for refunds in cents. A value of 0 zeroes out this source's value contribution (the source still counts for event dedup). Defaults to 1. This is not passed as a parameter to underlying platform APIs — the seller applies it when computing aggregated value metrics.
87
+ */
88
+ value_factor?: number;
89
+ }[];
90
+ /**
91
+ * Target cost or return for this event goal. When omitted, the seller optimizes for maximum conversions within budget.
92
+ */
93
+ target?: {
94
+ kind: 'cost_per';
95
+ /**
96
+ * Target cost per event in the buy currency
97
+ */
98
+ value: number;
99
+ } | {
100
+ kind: 'per_ad_spend';
101
+ /**
102
+ * Target return ratio (e.g., 4.0 means $4 of value per $1 spent)
103
+ */
104
+ value: number;
105
+ } | {
106
+ kind: 'maximize_value';
107
+ };
108
+ /**
109
+ * Attribution window for this optimization goal. Values must match an option declared in the seller's conversion_tracking.attribution_windows capability. Sellers must reject windows not in their declared capabilities. When omitted, the seller uses their default window.
110
+ */
111
+ attribution_window?: {
112
+ /**
113
+ * Click-through attribution window (e.g. '7d', '28d', '30d')
114
+ */
115
+ click_through: string;
116
+ /**
117
+ * View-through attribution window (e.g. '1d', '7d')
118
+ */
119
+ view_through?: string;
120
+ };
121
+ /**
122
+ * Relative priority among all optimization goals on this package. 1 = highest priority (primary goal); higher numbers are lower priority (secondary signals). When omitted, sellers may use array position as priority.
123
+ */
124
+ priority?: number;
125
+ };
126
+ /**
127
+ * Event type to include from this source (e.g., purchase, lead, app_install, refund)
31
128
  */
32
129
  export type EventType = 'page_view' | 'view_content' | 'select_content' | 'select_item' | 'search' | 'share' | 'add_to_cart' | 'remove_from_cart' | 'viewed_cart' | 'add_to_wishlist' | 'initiate_checkout' | 'add_payment_info' | 'purchase' | 'refund' | 'lead' | 'qualify_lead' | 'close_convert_lead' | 'disqualify_lead' | 'complete_registration' | 'subscribe' | 'start_trial' | 'app_install' | 'app_launch' | 'contact' | 'schedule' | 'donate' | 'submit_application' | 'custom';
33
130
  /**
@@ -91,25 +188,18 @@ export interface Account {
91
188
  */
92
189
  billing_proxy?: string;
93
190
  /**
94
- * Account status. pending_approval: seller reviewing (credit, contracts). payment_required: credit limit reached or funds depleted. suspended: was active, now paused. closed: terminated.
95
- */
96
- status: 'active' | 'pending_approval' | 'payment_required' | 'suspended' | 'closed';
97
- /**
98
- * House domain where brand.json is hosted. Canonical identity anchor for the brand.
191
+ * Account status. pending_approval: seller reviewing (credit, contracts). rejected: seller declined the account request. payment_required: credit limit reached or funds depleted. suspended: was active, now paused. closed: was active, now terminated.
99
192
  */
100
- house?: string;
193
+ status: 'active' | 'pending_approval' | 'rejected' | 'payment_required' | 'suspended' | 'closed';
194
+ brand?: BrandReference;
101
195
  /**
102
- * Brand ID within the house portfolio (from brand.json)
103
- */
104
- brand_id?: string;
105
- /**
106
- * Domain of the entity operating this account
196
+ * Domain of the entity operating this account. When the brand operates directly, this is the brand's domain.
107
197
  */
108
198
  operator?: string;
109
199
  /**
110
- * Who is invoiced on this account. brand: seller invoices the brand directly. operator: seller invoices the operator (agency). agent: agent consolidates billing.
200
+ * Who is invoiced on this account. operator: seller invoices the operator (agency or brand buying direct). agent: agent consolidates billing.
111
201
  */
112
- billing?: 'brand' | 'operator' | 'agent';
202
+ billing?: 'operator' | 'agent';
113
203
  /**
114
204
  * Identifier for the rate card applied to this account
115
205
  */
@@ -142,12 +232,26 @@ export interface Account {
142
232
  */
143
233
  expires_at?: string;
144
234
  };
235
+ /**
236
+ * How the seller scoped this account. operator: shared across all brands for this operator. brand: shared across all operators for this brand. operator_brand: dedicated to a specific operator+brand combination. agent: the agent's default account with no brand or operator association.
237
+ */
238
+ account_scope?: 'operator' | 'brand' | 'operator_brand' | 'agent';
145
239
  /**
146
240
  * When true, this is a sandbox account. All requests using this account_id are treated as sandbox — no real platform calls, no real spend.
147
241
  */
148
242
  sandbox?: boolean;
149
243
  ext?: ExtensionObject;
150
244
  }
245
+ /**
246
+ * Brand reference identifying the advertiser
247
+ */
248
+ export interface BrandReference {
249
+ /**
250
+ * Domain where /.well-known/brand.json is hosted, or the brand's operating domain
251
+ */
252
+ domain: string;
253
+ brand_id?: BrandID;
254
+ }
151
255
  /**
152
256
  * Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.
153
257
  */
@@ -195,7 +299,10 @@ export interface Package {
195
299
  * Format IDs that creative assets will be provided for this package
196
300
  */
197
301
  format_ids_to_provide?: FormatID[];
198
- optimization_goal?: OptimizationGoal;
302
+ /**
303
+ * Optimization targets for this package. The seller optimizes delivery toward these goals in priority order. Common pattern: event goals (purchase, install) as primary targets at priority 1; metric goals (clicks, views) as secondary proxy signals at priority 2+.
304
+ */
305
+ optimization_goals?: OptimizationGoal[];
199
306
  /**
200
307
  * Whether this package is paused by the buyer. Paused packages do not deliver impressions. Defaults to false.
201
308
  */
@@ -416,37 +523,6 @@ export interface FormatID {
416
523
  */
417
524
  duration_ms?: number;
418
525
  }
419
- /**
420
- * Conversion optimization goal for a package. Tells the seller which event source and event type to optimize delivery against. Provide at most one of target_roas or target_cpa. If neither is provided, the seller optimizes for maximum conversions within budget.
421
- */
422
- export interface OptimizationGoal {
423
- /**
424
- * Event source to optimize against (must be configured on this account via sync_event_sources)
425
- */
426
- event_source_id: string;
427
- event_type: EventType;
428
- /**
429
- * Target return on ad spend (e.g. 4.0 = $4 conversion value per $1 spent). Mutually exclusive with target_cpa.
430
- */
431
- target_roas?: number;
432
- /**
433
- * Target cost per acquisition in the buy currency. Mutually exclusive with target_roas.
434
- */
435
- target_cpa?: number;
436
- /**
437
- * Attribution window for this optimization goal. Values must match an option declared in the seller's conversion_tracking.attribution_windows capability. When omitted, the seller uses their default window.
438
- */
439
- attribution_window?: {
440
- /**
441
- * Click-through attribution window (e.g. '7d', '28d', '30d')
442
- */
443
- click_through: string;
444
- /**
445
- * View-through attribution window (e.g. '1d', '7d')
446
- */
447
- view_through?: string;
448
- };
449
- }
450
526
  /**
451
527
  * Catalog type. Structural types: 'offering' (AdCP Offering objects), 'product' (ecommerce entries), 'inventory' (stock per location), 'store' (physical locations), 'promotion' (deals and pricing). Vertical types: 'hotel', 'flight', 'job', 'vehicle', 'real_estate', 'education', 'destination', 'app' — each with an industry-specific item schema.
452
528
  */
@@ -460,7 +536,7 @@ export type FeedFormat = 'google_merchant_center' | 'facebook_catalog' | 'shopif
460
536
  */
461
537
  export type UpdateFrequency = 'realtime' | 'hourly' | 'daily' | 'weekly';
462
538
  /**
463
- * Standard marketing event types for event logging, aligned with IAB ECAPI
539
+ * Identifier type that the event's content_ids field should be matched against for items in this catalog. For example, 'gtin' means content_ids values are Global Trade Item Numbers, 'sku' means retailer SKUs. Omit when using a custom identifier scheme not listed in the enum.
464
540
  */
465
541
  export type ContentIDType = 'sku' | 'gtin' | 'offering_id' | 'job_id' | 'hotel_id' | 'flight_id' | 'vehicle_id' | 'listing_id' | 'store_id' | 'program_id' | 'destination_id' | 'app_id';
466
542
  /**
@@ -540,7 +616,7 @@ export type VASTVersion = '2.0' | '3.0' | '4.0' | '4.1' | '4.2';
540
616
  */
541
617
  export type VASTTrackingEvent = 'start' | 'firstQuartile' | 'midpoint' | 'thirdQuartile' | 'complete' | 'impression' | 'click' | 'pause' | 'resume' | 'skip' | 'mute' | 'unmute' | 'fullscreen' | 'exitFullscreen' | 'playerExpand' | 'playerCollapse';
542
618
  /**
543
- * VAST specification version
619
+ * DAAST (Digital Audio Ad Serving Template) tag for third-party audio ad serving
544
620
  */
545
621
  export type DAASTAsset = {
546
622
  /**
@@ -604,7 +680,7 @@ export type DAASTVersion = '1.0' | '1.1';
604
680
  */
605
681
  export type DAASTTrackingEvent = 'start' | 'firstQuartile' | 'midpoint' | 'thirdQuartile' | 'complete' | 'impression' | 'pause' | 'resume' | 'skip' | 'mute' | 'unmute';
606
682
  /**
607
- * DAAST specification version
683
+ * Type of URL asset: 'clickthrough' for user click destination (landing page), 'tracker_pixel' for impression/event tracking via HTTP request (fires GET, expects pixel/204 response), 'tracker_script' for measurement SDKs that must load as <script> tag (OMID verification, native event trackers using method:2)
608
684
  */
609
685
  export type URLAssetType = 'clickthrough' | 'tracker_pixel' | 'tracker_script';
610
686
  /**
@@ -672,7 +748,7 @@ export interface CreativeAsset {
672
748
  placement_ids?: string[];
673
749
  }
674
750
  /**
675
- * Format identifier specifying which format this creative conforms to. Can be: (1) concrete format_id referencing a format with fixed dimensions, (2) template format_id referencing a template format, or (3) parameterized format_id with dimensions/duration parameters for template formats.
751
+ * A typed data feed. Catalogs carry the items, locations, stock levels, or pricing that publishers use to render ads. They can be synced to a platform via sync_catalogs (managed lifecycle with approval), provided inline, or fetched from an external URL. The catalog type determines the item schema and can be structural (offering, product, inventory, store, promotion) or vertical-specific (hotel, flight, job, vehicle, real_estate, education, destination, app). Selectors (ids, tags, category, query) filter items regardless of sourcing method.
676
752
  */
677
753
  export interface Catalog {
678
754
  /**
@@ -775,7 +851,7 @@ export interface CatalogFieldMapping {
775
851
  ext?: ExtensionObject;
776
852
  }
777
853
  /**
778
- * Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.
854
+ * Image asset with URL and dimensions
779
855
  */
780
856
  export interface ImageAsset {
781
857
  /**
@@ -1142,7 +1218,7 @@ export type PricingOption = CPMPricingOption | VCPMPricingOption | CPCPricingOpt
1142
1218
  */
1143
1219
  export type DemographicSystem = 'nielsen' | 'barb' | 'agf' | 'oztam' | 'mediametrie' | 'custom';
1144
1220
  /**
1145
- * Standard marketing event types for event logging, aligned with IAB ECAPI
1221
+ * How to interpret the points array. 'spend' (default when omitted): points at ascending budget levels. 'reach_freq': points at ascending reach/frequency targets. 'weekly'/'daily': metrics are per-period values. 'clicks'/'conversions': points at ascending outcome targets.
1146
1222
  */
1147
1223
  export type ForecastRangeUnit = 'spend' | 'reach_freq' | 'weekly' | 'daily' | 'clicks' | 'conversions';
1148
1224
  /**
@@ -1150,7 +1226,7 @@ export type ForecastRangeUnit = 'spend' | 'reach_freq' | 'weekly' | 'daily' | 'c
1150
1226
  */
1151
1227
  export type ForecastMethod = 'estimate' | 'modeled' | 'guaranteed';
1152
1228
  /**
1153
- * Measurement system for the demographic field. Ensures buyer and seller agree on demographic notation.
1229
+ * Unit of measurement for reach and audience_size metrics in this forecast. Required for cross-channel forecast comparison.
1154
1230
  */
1155
1231
  export type ReachUnit = 'individuals' | 'households' | 'devices' | 'accounts' | 'cookies' | 'custom';
1156
1232
  /**
@@ -1209,7 +1285,7 @@ export type DataProviderSignalSelector = {
1209
1285
  signal_tags: string[];
1210
1286
  };
1211
1287
  /**
1212
- * The type of catalog feed. Determines the item schema and how the platform resolves catalog items. Multiple catalog types can be synced to the same account and referenced together in creatives.
1288
+ * Where the conversion event originated
1213
1289
  */
1214
1290
  export type ActionSource = 'website' | 'app' | 'offline' | 'phone_call' | 'chat' | 'email' | 'in_store' | 'system_generated' | 'other';
1215
1291
  /**
@@ -1287,7 +1363,28 @@ export interface Product {
1287
1363
  */
1288
1364
  catalog_types?: CatalogType[];
1289
1365
  /**
1290
- * Conversion tracking for this product. Presence indicates the product supports conversion-optimized delivery. Seller-level capabilities (supported event types, UID types, attribution windows) are declared in get_adcp_capabilities.
1366
+ * Metric optimization capabilities for this product. Presence indicates the product supports optimization_goals with kind: 'metric'. No event source or conversion tracking setup required the seller tracks these metrics natively.
1367
+ */
1368
+ metric_optimization?: {
1369
+ /**
1370
+ * Metric kinds this product can optimize for. Buyers should only request metric goals for kinds listed here.
1371
+ */
1372
+ supported_metrics: ('clicks' | 'views' | 'completed_views' | 'viewed_seconds' | 'attention_seconds' | 'attention_score' | 'engagements' | 'follows' | 'saves' | 'profile_visits')[];
1373
+ /**
1374
+ * Video view duration thresholds (in seconds) this product supports for completed_views goals. Only relevant when supported_metrics includes 'completed_views'. When absent, the seller uses their platform default. Buyers must set view_duration_seconds to a value in this list — sellers reject unsupported values.
1375
+ */
1376
+ supported_view_durations?: number[];
1377
+ /**
1378
+ * Target kinds available for metric goals on this product. Values match target.kind on the optimization goal. Only these target kinds are accepted — goals with unlisted target kinds will be rejected. When omitted, buyers can set target-less metric goals (maximize volume within budget) but cannot set specific targets.
1379
+ */
1380
+ supported_targets?: ('cost_per' | 'threshold_rate')[];
1381
+ };
1382
+ /**
1383
+ * Maximum number of optimization_goals this product accepts on a package. When absent, no limit is declared. Most social platforms accept only 1 goal — buyers sending arrays longer than this value should expect the seller to use only the highest-priority (lowest priority number) goal.
1384
+ */
1385
+ max_optimization_goals?: number;
1386
+ /**
1387
+ * Conversion event tracking for this product. Presence indicates the product supports optimization_goals with kind: 'event'. Seller-level capabilities (supported event types, UID types, attribution windows) are declared in get_adcp_capabilities.
1291
1388
  */
1292
1389
  conversion_tracking?: {
1293
1390
  /**
@@ -1295,9 +1392,9 @@ export interface Product {
1295
1392
  */
1296
1393
  action_sources?: ActionSource[];
1297
1394
  /**
1298
- * Optimization strategies this product supports when an optimization_goal is set on a package
1395
+ * Target kinds available for event goals on this product. Values match target.kind on the optimization goal. cost_per: target cost per conversion event. per_ad_spend: target return on ad spend (requires value_field on event sources). maximize_value: maximize total conversion value without a specific ratio target (requires value_field). Only these target kinds are accepted — goals with unlisted target kinds will be rejected. A goal without a target implicitly maximizes conversion count within budget — no declaration needed for that mode. When omitted, buyers can still set target-less event goals.
1299
1396
  */
1300
- supported_optimization_strategies?: ('maximize_conversions' | 'target_cpa' | 'target_roas')[];
1397
+ supported_targets?: ('cost_per' | 'per_ad_spend' | 'maximize_value')[];
1301
1398
  /**
1302
1399
  * Whether the seller provides its own always-on measurement (e.g. Amazon sales attribution for Amazon advertisers). When true, sync_event_sources response will include seller-managed event sources with managed_by='seller'.
1303
1400
  */
@@ -1355,7 +1452,7 @@ export interface Product {
1355
1452
  ext?: ExtensionObject;
1356
1453
  }
1357
1454
  /**
1358
- * Structured format identifier with agent URL and format name. Can reference: (1) a concrete format with fixed dimensions (id only), (2) a template format without parameters (id only), or (3) a template format with parameters (id + dimensions/duration). Template formats accept parameters in format_id while concrete formats have fixed dimensions in their definition. Parameterized format IDs create unique, specific format variants.
1455
+ * Represents a specific ad placement within a product's inventory
1359
1456
  */
1360
1457
  export interface Placement {
1361
1458
  /**
@@ -1465,7 +1562,7 @@ export interface VCPMPricingOption {
1465
1562
  min_spend_per_package?: number;
1466
1563
  }
1467
1564
  /**
1468
- * Optional pricing guidance for auction-based bidding
1565
+ * Cost Per Click pricing. If fixed_price is present, it's fixed pricing. If absent, it's auction-based.
1469
1566
  */
1470
1567
  export interface CPCPricingOption {
1471
1568
  /**
@@ -1499,7 +1596,7 @@ export interface CPCPricingOption {
1499
1596
  min_spend_per_package?: number;
1500
1597
  }
1501
1598
  /**
1502
- * Optional pricing guidance for auction-based bidding
1599
+ * Cost Per Completed View (100% video/audio completion) pricing. If fixed_price is present, it's fixed pricing. If absent, it's auction-based.
1503
1600
  */
1504
1601
  export interface CPCVPricingOption {
1505
1602
  /**
@@ -1533,7 +1630,7 @@ export interface CPCVPricingOption {
1533
1630
  min_spend_per_package?: number;
1534
1631
  }
1535
1632
  /**
1536
- * Optional pricing guidance for auction-based bidding
1633
+ * Cost Per View (at publisher-defined threshold) pricing for video/audio. If fixed_price is present, it's fixed pricing. If absent, it's auction-based.
1537
1634
  */
1538
1635
  export interface CPVPricingOption {
1539
1636
  /**
@@ -1578,7 +1675,7 @@ export interface CPVPricingOption {
1578
1675
  min_spend_per_package?: number;
1579
1676
  }
1580
1677
  /**
1581
- * Optional pricing guidance for auction-based bidding
1678
+ * Cost Per Point (Gross Rating Point) pricing for TV and audio campaigns. If fixed_price is present, it's fixed pricing. If absent, it's auction-based.
1582
1679
  */
1583
1680
  export interface CPPPricingOption {
1584
1681
  /**
@@ -1622,7 +1719,7 @@ export interface CPPPricingOption {
1622
1719
  min_spend_per_package?: number;
1623
1720
  }
1624
1721
  /**
1625
- * Optional pricing guidance for auction-based bidding
1722
+ * Cost Per Acquisition pricing. Advertiser pays a fixed price when a specified conversion event occurs. The event_type field declares which event triggers billing (e.g., purchase, lead, app_install).
1626
1723
  */
1627
1724
  export interface CPAPricingOption {
1628
1725
  /**
@@ -1722,7 +1819,7 @@ export interface FlatRatePricingOption {
1722
1819
  min_spend_per_package?: number;
1723
1820
  }
1724
1821
  /**
1725
- * Optional pricing guidance for auction-based bidding
1822
+ * Cost per time unit (hour, day, week, or month) - rate scales with campaign duration. If fixed_price is present, it's fixed pricing. If absent, it's auction-based.
1726
1823
  */
1727
1824
  export interface TimeBasedPricingOption {
1728
1825
  /**
@@ -1769,7 +1866,7 @@ export interface TimeBasedPricingOption {
1769
1866
  min_spend_per_package?: number;
1770
1867
  }
1771
1868
  /**
1772
- * Optional pricing guidance for auction-based bidding
1869
+ * Forecasted delivery metrics for this product. Gives buyers an estimate of expected performance before requesting a proposal.
1773
1870
  */
1774
1871
  export interface DeliveryForecast {
1775
1872
  /**
@@ -1831,7 +1928,7 @@ export interface ForecastRange {
1831
1928
  high?: number;
1832
1929
  }
1833
1930
  /**
1834
- * Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.
1931
+ * Measurement capabilities included with a product
1835
1932
  */
1836
1933
  export interface Measurement {
1837
1934
  /**
@@ -1896,7 +1993,7 @@ export interface CreativePolicy {
1896
1993
  templates_available: boolean;
1897
1994
  }
1898
1995
  /**
1899
- * Structured format identifier with agent URL and format name. Can reference: (1) a concrete format with fixed dimensions (id only), (2) a template format without parameters (id only), or (3) a template format with parameters (id + dimensions/duration). Template formats accept parameters in format_id while concrete formats have fixed dimensions in their definition. Parameterized format IDs create unique, specific format variants.
1996
+ * Type of advertising property
1900
1997
  */
1901
1998
  export type PropertyType = 'website' | 'mobile_app' | 'ctv_app' | 'desktop_app' | 'dooh' | 'podcast' | 'radio' | 'streaming_audio';
1902
1999
  /**
@@ -1904,7 +2001,7 @@ export type PropertyType = 'website' | 'mobile_app' | 'ctv_app' | 'desktop_app'
1904
2001
  */
1905
2002
  export type PropertyIdentifierTypes = 'domain' | 'subdomain' | 'network_id' | 'ios_bundle' | 'android_package' | 'apple_app_store_id' | 'google_play_id' | 'roku_store_id' | 'fire_tv_asin' | 'samsung_app_id' | 'apple_tv_bundle' | 'bundle_id' | 'venue_id' | 'screen_id' | 'openooh_venue_type' | 'rss_url' | 'apple_podcast_id' | 'spotify_show_id' | 'podcast_guid';
1906
2003
  /**
1907
- * Tag for categorizing publisher properties. Must be lowercase alphanumeric with underscores only.
2004
+ * An advertising property that can be validated via adagents.json
1908
2005
  */
1909
2006
  export interface Property {
1910
2007
  property_id?: PropertyID;
@@ -1939,7 +2036,7 @@ export interface Property {
1939
2036
  /**
1940
2037
  * Type of AdCP operation that triggered this webhook. Enables webhook handlers to route to appropriate processing logic.
1941
2038
  */
1942
- export type TaskType = 'create_media_buy' | 'update_media_buy' | 'sync_creatives' | 'activate_signal' | 'get_signals' | 'create_property_list' | 'update_property_list' | 'get_property_list' | 'list_property_lists' | 'delete_property_list' | 'sync_accounts' | 'get_creative_delivery' | 'sync_event_sources' | 'sync_audiences' | 'sync_catalogs' | 'log_event';
2039
+ export type TaskType = 'create_media_buy' | 'update_media_buy' | 'sync_creatives' | 'activate_signal' | 'get_signals' | 'create_property_list' | 'update_property_list' | 'get_property_list' | 'list_property_lists' | 'delete_property_list' | 'sync_accounts' | 'get_account_financials' | 'get_creative_delivery' | 'sync_event_sources' | 'sync_audiences' | 'sync_catalogs' | 'log_event';
1943
2040
  /**
1944
2041
  * AdCP domain this task belongs to. Helps classify the operation type at a high level.
1945
2042
  */
@@ -1953,11 +2050,11 @@ export type TaskStatus = 'submitted' | 'working' | 'input-required' | 'completed
1953
2050
  */
1954
2051
  export type AdCPAsyncResponseData = GetProductsResponse | GetProductsAsyncWorking | GetProductsAsyncInputRequired | GetProductsAsyncSubmitted | CreateMediaBuyResponse | CreateMediaBuyAsyncWorking | CreateMediaBuyAsyncInputRequired | CreateMediaBuyAsyncSubmitted | UpdateMediaBuyResponse | UpdateMediaBuyAsyncWorking | UpdateMediaBuyAsyncInputRequired | UpdateMediaBuyAsyncSubmitted | SyncCreativesResponse | SyncCreativesAsyncWorking | SyncCreativesAsyncInputRequired | SyncCreativesAsyncSubmitted | SyncCatalogsResponse | SyncCatalogsAsyncWorking | SyncCatalogsAsyncInputRequired | SyncCatalogsAsyncSubmitted;
1955
2052
  /**
1956
- * Selects properties from a publisher's adagents.json. Used for both product definitions and agent authorization. Supports three selection patterns: all properties, specific IDs, or by tags.
2053
+ * Response for completed or failed create_media_buy
1957
2054
  */
1958
2055
  export type CreateMediaBuyResponse = CreateMediaBuySuccess | CreateMediaBuyError;
1959
2056
  /**
1960
- * Budget pacing strategy
2057
+ * Response for completed or failed update_media_buy
1961
2058
  */
1962
2059
  export type UpdateMediaBuyResponse = UpdateMediaBuySuccess | UpdateMediaBuyError;
1963
2060
  /**
@@ -2042,7 +2139,7 @@ export interface GetProductsResponse {
2042
2139
  ext?: ExtensionObject;
2043
2140
  }
2044
2141
  /**
2045
- * Represents available advertising inventory
2142
+ * A proposed media plan with budget allocations across products. Represents the publisher's strategic recommendation for how to structure a campaign based on the brief. Proposals are actionable - buyers can execute them directly via create_media_buy by providing the proposal_id.
2046
2143
  */
2047
2144
  export interface Proposal {
2048
2145
  /**
@@ -2129,7 +2226,7 @@ export interface ProductAllocation {
2129
2226
  ext?: ExtensionObject;
2130
2227
  }
2131
2228
  /**
2132
- * A time window for daypart targeting. Specifies days of week and an hour range. start_hour is inclusive, end_hour is exclusive (e.g., 6-10 = 6:00am to 10:00am). Follows the Google Ads AdScheduleInfo / DV360 DayPartTargeting pattern.
2229
+ * Standard error structure for task-specific errors and warnings
2133
2230
  */
2134
2231
  export interface Error {
2135
2232
  /**
@@ -2265,7 +2362,7 @@ export interface CreateMediaBuySuccess {
2265
2362
  ext?: ExtensionObject;
2266
2363
  }
2267
2364
  /**
2268
- * Account billed for this media buy. Includes advertiser, billing proxy (if any), and rate card applied.
2365
+ * Error response - operation failed, no media buy created
2269
2366
  */
2270
2367
  export interface CreateMediaBuyError {
2271
2368
  /**
@@ -2466,7 +2563,7 @@ export interface SyncCreativesSuccess {
2466
2563
  ext?: ExtensionObject;
2467
2564
  }
2468
2565
  /**
2469
- * Account that owns this creative
2566
+ * Error response - operation failed completely, no creatives were processed
2470
2567
  */
2471
2568
  export interface SyncCreativesError {
2472
2569
  /**