@adcp/client 3.3.3 → 3.5.0

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 (108) hide show
  1. package/dist/lib/auth/index.d.ts +1 -7
  2. package/dist/lib/auth/index.d.ts.map +1 -1
  3. package/dist/lib/auth/index.js +2 -33
  4. package/dist/lib/auth/index.js.map +1 -1
  5. package/dist/lib/core/ADCPMultiAgentClient.d.ts +5 -4
  6. package/dist/lib/core/ADCPMultiAgentClient.d.ts.map +1 -1
  7. package/dist/lib/core/ADCPMultiAgentClient.js +7 -6
  8. package/dist/lib/core/ADCPMultiAgentClient.js.map +1 -1
  9. package/dist/lib/core/AgentClient.d.ts +29 -1
  10. package/dist/lib/core/AgentClient.d.ts.map +1 -1
  11. package/dist/lib/core/AgentClient.js +51 -2
  12. package/dist/lib/core/AgentClient.js.map +1 -1
  13. package/dist/lib/core/AsyncHandler.d.ts +23 -27
  14. package/dist/lib/core/AsyncHandler.d.ts.map +1 -1
  15. package/dist/lib/core/AsyncHandler.js +9 -19
  16. package/dist/lib/core/AsyncHandler.js.map +1 -1
  17. package/dist/lib/core/ConfigurationManager.d.ts.map +1 -1
  18. package/dist/lib/core/ConfigurationManager.js +5 -14
  19. package/dist/lib/core/ConfigurationManager.js.map +1 -1
  20. package/dist/lib/core/CreativeAgentClient.js +1 -1
  21. package/dist/lib/core/CreativeAgentClient.js.map +1 -1
  22. package/dist/lib/core/SingleAgentClient.d.ts +126 -22
  23. package/dist/lib/core/SingleAgentClient.d.ts.map +1 -1
  24. package/dist/lib/core/SingleAgentClient.js +372 -84
  25. package/dist/lib/core/SingleAgentClient.js.map +1 -1
  26. package/dist/lib/core/TaskExecutor.d.ts.map +1 -1
  27. package/dist/lib/core/TaskExecutor.js +3 -0
  28. package/dist/lib/core/TaskExecutor.js.map +1 -1
  29. package/dist/lib/discovery/property-crawler.js +1 -1
  30. package/dist/lib/discovery/property-crawler.js.map +1 -1
  31. package/dist/lib/index.d.ts +2 -1
  32. package/dist/lib/index.d.ts.map +1 -1
  33. package/dist/lib/index.js +36 -1
  34. package/dist/lib/index.js.map +1 -1
  35. package/dist/lib/testing/agent-tester.d.ts +33 -0
  36. package/dist/lib/testing/agent-tester.d.ts.map +1 -0
  37. package/dist/lib/testing/agent-tester.js +211 -0
  38. package/dist/lib/testing/agent-tester.js.map +1 -0
  39. package/dist/lib/testing/client.d.ts +54 -0
  40. package/dist/lib/testing/client.d.ts.map +1 -0
  41. package/dist/lib/testing/client.js +293 -0
  42. package/dist/lib/testing/client.js.map +1 -0
  43. package/dist/lib/testing/formatter.d.ts +17 -0
  44. package/dist/lib/testing/formatter.d.ts.map +1 -0
  45. package/dist/lib/testing/formatter.js +79 -0
  46. package/dist/lib/testing/formatter.js.map +1 -0
  47. package/dist/lib/testing/index.d.ts +1 -0
  48. package/dist/lib/testing/index.d.ts.map +1 -1
  49. package/dist/lib/testing/index.js +26 -1
  50. package/dist/lib/testing/index.js.map +1 -1
  51. package/dist/lib/testing/scenarios/creative.d.ts +24 -0
  52. package/dist/lib/testing/scenarios/creative.d.ts.map +1 -0
  53. package/dist/lib/testing/scenarios/creative.js +224 -0
  54. package/dist/lib/testing/scenarios/creative.js.map +1 -0
  55. package/dist/lib/testing/scenarios/discovery.d.ts +15 -0
  56. package/dist/lib/testing/scenarios/discovery.d.ts.map +1 -0
  57. package/dist/lib/testing/scenarios/discovery.js +66 -0
  58. package/dist/lib/testing/scenarios/discovery.js.map +1 -0
  59. package/dist/lib/testing/scenarios/edge-cases.d.ts +64 -0
  60. package/dist/lib/testing/scenarios/edge-cases.d.ts.map +1 -0
  61. package/dist/lib/testing/scenarios/edge-cases.js +610 -0
  62. package/dist/lib/testing/scenarios/edge-cases.js.map +1 -0
  63. package/dist/lib/testing/scenarios/health.d.ts +12 -0
  64. package/dist/lib/testing/scenarios/health.d.ts.map +1 -0
  65. package/dist/lib/testing/scenarios/health.js +21 -0
  66. package/dist/lib/testing/scenarios/health.js.map +1 -0
  67. package/dist/lib/testing/scenarios/index.d.ts +12 -0
  68. package/dist/lib/testing/scenarios/index.d.ts.map +1 -0
  69. package/dist/lib/testing/scenarios/index.js +38 -0
  70. package/dist/lib/testing/scenarios/index.js.map +1 -0
  71. package/dist/lib/testing/scenarios/media-buy.d.ts +59 -0
  72. package/dist/lib/testing/scenarios/media-buy.d.ts.map +1 -0
  73. package/dist/lib/testing/scenarios/media-buy.js +422 -0
  74. package/dist/lib/testing/scenarios/media-buy.js.map +1 -0
  75. package/dist/lib/testing/scenarios/signals.d.ts +26 -0
  76. package/dist/lib/testing/scenarios/signals.d.ts.map +1 -0
  77. package/dist/lib/testing/scenarios/signals.js +227 -0
  78. package/dist/lib/testing/scenarios/signals.js.map +1 -0
  79. package/dist/lib/testing/test-helpers.d.ts.map +1 -1
  80. package/dist/lib/testing/test-helpers.js +2 -6
  81. package/dist/lib/testing/test-helpers.js.map +1 -1
  82. package/dist/lib/testing/types.d.ts +92 -0
  83. package/dist/lib/testing/types.d.ts.map +1 -0
  84. package/dist/lib/testing/types.js +6 -0
  85. package/dist/lib/testing/types.js.map +1 -0
  86. package/dist/lib/types/adcp.d.ts +14 -29
  87. package/dist/lib/types/adcp.d.ts.map +1 -1
  88. package/dist/lib/types/core.generated.d.ts +489 -39
  89. package/dist/lib/types/core.generated.d.ts.map +1 -1
  90. package/dist/lib/types/core.generated.js +2 -2
  91. package/dist/lib/types/index.d.ts +1 -1
  92. package/dist/lib/types/index.d.ts.map +1 -1
  93. package/dist/lib/types/index.js.map +1 -1
  94. package/dist/lib/types/schemas.generated.d.ts +834 -214
  95. package/dist/lib/types/schemas.generated.d.ts.map +1 -1
  96. package/dist/lib/types/schemas.generated.js +155 -137
  97. package/dist/lib/types/schemas.generated.js.map +1 -1
  98. package/dist/lib/types/tools.generated.d.ts +297 -216
  99. package/dist/lib/types/tools.generated.d.ts.map +1 -1
  100. package/dist/lib/types/tools.generated.js +1 -1
  101. package/dist/lib/types/tools.generated.js.map +1 -1
  102. package/dist/lib/utils/typeGuards.d.ts +147 -0
  103. package/dist/lib/utils/typeGuards.d.ts.map +1 -0
  104. package/dist/lib/utils/typeGuards.js +240 -0
  105. package/dist/lib/utils/typeGuards.js.map +1 -0
  106. package/dist/lib/version.d.ts +3 -3
  107. package/dist/lib/version.js +3 -3
  108. package/package.json +1 -1
@@ -1311,44 +1311,6 @@ export interface FormatID3 {
1311
1311
  * Budget pacing strategy
1312
1312
  */
1313
1313
  export type Pacing = 'even' | 'asap' | 'front_loaded';
1314
- /**
1315
- * Image asset with URL and dimensions
1316
- */
1317
- export type ImageAsset = Dimensions & {
1318
- /**
1319
- * URL to the image asset
1320
- */
1321
- url: string;
1322
- /**
1323
- * Image file format (jpg, png, gif, webp, etc.)
1324
- */
1325
- format?: string;
1326
- /**
1327
- * Alternative text for accessibility
1328
- */
1329
- alt_text?: string;
1330
- };
1331
- /**
1332
- * Video asset with URL and specifications
1333
- */
1334
- export type VideoAsset = Dimensions & {
1335
- /**
1336
- * URL to the video asset
1337
- */
1338
- url: string;
1339
- /**
1340
- * Video duration in milliseconds
1341
- */
1342
- duration_ms?: number;
1343
- /**
1344
- * Video file format (mp4, webm, mov, etc.)
1345
- */
1346
- format?: string;
1347
- /**
1348
- * Video bitrate in kilobits per second
1349
- */
1350
- bitrate_kbps?: number;
1351
- };
1352
1314
  /**
1353
1315
  * JavaScript module type
1354
1316
  */
@@ -1511,7 +1473,34 @@ export interface CreateMediaBuyRequest {
1511
1473
  * Campaign end date/time in ISO 8601 format
1512
1474
  */
1513
1475
  end_time: string;
1514
- reporting_webhook?: PushNotificationConfig & {
1476
+ /**
1477
+ * Optional webhook configuration for automated reporting delivery. Combines push_notification_config structure with reporting-specific fields.
1478
+ */
1479
+ reporting_webhook?: {
1480
+ /**
1481
+ * Webhook endpoint URL for reporting notifications
1482
+ */
1483
+ url: string;
1484
+ /**
1485
+ * Optional client-provided token for webhook validation. Echoed back in webhook payload to validate request authenticity.
1486
+ */
1487
+ token?: string;
1488
+ /**
1489
+ * Authentication configuration for webhook delivery (A2A-compatible)
1490
+ */
1491
+ authentication: {
1492
+ /**
1493
+ * Array of authentication schemes. Supported: ['Bearer'] for simple token auth, ['HMAC-SHA256'] for signature verification (recommended for production)
1494
+ *
1495
+ * @minItems 1
1496
+ * @maxItems 1
1497
+ */
1498
+ schemes: [AuthenticationScheme];
1499
+ /**
1500
+ * Credentials for authentication. For Bearer: token sent in Authorization header. For HMAC-SHA256: shared secret used to generate signature. Minimum 32 characters. Exchanged out-of-band during onboarding.
1501
+ */
1502
+ credentials: string;
1503
+ };
1515
1504
  /**
1516
1505
  * Frequency for automated reporting delivery. Must be supported by all products in the media buy.
1517
1506
  */
@@ -1671,7 +1660,36 @@ export interface CreativeAsset {
1671
1660
  /**
1672
1661
  * 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.
1673
1662
  */
1674
- export interface Dimensions {
1663
+ export interface ImageAsset {
1664
+ /**
1665
+ * URL to the image asset
1666
+ */
1667
+ url: string;
1668
+ /**
1669
+ * Width in pixels
1670
+ */
1671
+ width: number;
1672
+ /**
1673
+ * Height in pixels
1674
+ */
1675
+ height: number;
1676
+ /**
1677
+ * Image file format (jpg, png, gif, webp, etc.)
1678
+ */
1679
+ format?: string;
1680
+ /**
1681
+ * Alternative text for accessibility
1682
+ */
1683
+ alt_text?: string;
1684
+ }
1685
+ /**
1686
+ * Video asset with URL and specifications
1687
+ */
1688
+ export interface VideoAsset {
1689
+ /**
1690
+ * URL to the video asset
1691
+ */
1692
+ url: string;
1675
1693
  /**
1676
1694
  * Width in pixels
1677
1695
  */
@@ -1680,6 +1698,18 @@ export interface Dimensions {
1680
1698
  * Height in pixels
1681
1699
  */
1682
1700
  height: number;
1701
+ /**
1702
+ * Video duration in milliseconds
1703
+ */
1704
+ duration_ms?: number;
1705
+ /**
1706
+ * Video file format (mp4, webm, mov, etc.)
1707
+ */
1708
+ format?: string;
1709
+ /**
1710
+ * Video bitrate in kilobits per second
1711
+ */
1712
+ bitrate_kbps?: number;
1683
1713
  }
1684
1714
  /**
1685
1715
  * Audio asset with URL and specifications
@@ -1832,39 +1862,14 @@ export interface URLAsset {
1832
1862
  /**
1833
1863
  * 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.
1834
1864
  */
1835
- export interface PushNotificationConfig {
1836
- /**
1837
- * Webhook endpoint URL for task status notifications
1838
- */
1839
- url: string;
1840
- /**
1841
- * Optional client-provided token for webhook validation. Echoed back in webhook payload to validate request authenticity.
1842
- */
1843
- token?: string;
1844
- /**
1845
- * Authentication configuration for webhook delivery (A2A-compatible)
1846
- */
1847
- authentication: {
1848
- /**
1849
- * Array of authentication schemes. Supported: ['Bearer'] for simple token auth, ['HMAC-SHA256'] for signature verification (recommended for production)
1850
- *
1851
- * @minItems 1
1852
- * @maxItems 1
1853
- */
1854
- schemes: [AuthenticationScheme];
1855
- /**
1856
- * Credentials for authentication. For Bearer: token sent in Authorization header. For HMAC-SHA256: shared secret used to generate signature. Minimum 32 characters. Exchanged out-of-band during onboarding.
1857
- */
1858
- credentials: string;
1859
- };
1860
- }
1861
1865
  /**
1862
- * Opaque correlation data that is echoed unchanged in responses. Used for internal tracking, UI session IDs, trace IDs, and other caller-specific identifiers that don't affect protocol behavior. Context data is never parsed by AdCP agents - it's simply preserved and returned.
1866
+ * Response payload for create_media_buy task. Returns either complete success data OR error information, never both. This enforces atomic operation semantics - the media buy is either fully created or not created at all.
1863
1867
  */
1868
+ export type CreateMediaBuyResponse = CreateMediaBuySuccess | CreateMediaBuyError;
1864
1869
  /**
1865
- * Response payload for create_media_buy task. Returns either complete success data OR error information, never both. This enforces atomic operation semantics - the media buy is either fully created or not created at all.
1870
+ * Budget pacing strategy
1866
1871
  */
1867
- export type CreateMediaBuyResponse = {
1872
+ export interface CreateMediaBuySuccess {
1868
1873
  /**
1869
1874
  * Publisher's unique identifier for the created media buy
1870
1875
  */
@@ -1883,18 +1888,9 @@ export type CreateMediaBuyResponse = {
1883
1888
  packages: Package[];
1884
1889
  context?: ContextObject;
1885
1890
  ext?: ExtensionObject;
1886
- } | {
1887
- /**
1888
- * Array of errors explaining why the operation failed
1889
- *
1890
- * @minItems 1
1891
- */
1892
- errors: [Error, ...Error[]];
1893
- context?: ContextObject;
1894
- ext?: ExtensionObject;
1895
- };
1891
+ }
1896
1892
  /**
1897
- * Budget pacing strategy
1893
+ * A specific product within a media buy (line item)
1898
1894
  */
1899
1895
  export interface Package {
1900
1896
  /**
@@ -1963,8 +1959,21 @@ export interface CreativeAssignment {
1963
1959
  /**
1964
1960
  * 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.
1965
1961
  */
1962
+ export interface CreateMediaBuyError {
1963
+ /**
1964
+ * Array of errors explaining why the operation failed
1965
+ *
1966
+ * @minItems 1
1967
+ */
1968
+ errors: [Error, ...Error[]];
1969
+ context?: ContextObject;
1970
+ ext?: ExtensionObject;
1971
+ }
1972
+ /**
1973
+ * Standard error structure for task-specific errors and warnings
1974
+ */
1966
1975
  /**
1967
- * Image asset with URL and dimensions
1976
+ * JavaScript module type
1968
1977
  */
1969
1978
  export type ValidationMode = 'strict' | 'lenient';
1970
1979
  /**
@@ -2011,10 +2020,47 @@ export interface SyncCreativesRequest {
2011
2020
  /**
2012
2021
  * Creative asset for upload to library - supports static assets, generative formats, and third-party snippets
2013
2022
  */
2023
+ export interface PushNotificationConfig {
2024
+ /**
2025
+ * Webhook endpoint URL for task status notifications
2026
+ */
2027
+ url: string;
2028
+ /**
2029
+ * Optional client-provided token for webhook validation. Echoed back in webhook payload to validate request authenticity.
2030
+ */
2031
+ token?: string;
2032
+ /**
2033
+ * Authentication configuration for webhook delivery (A2A-compatible)
2034
+ */
2035
+ authentication: {
2036
+ /**
2037
+ * Array of authentication schemes. Supported: ['Bearer'] for simple token auth, ['HMAC-SHA256'] for signature verification (recommended for production)
2038
+ *
2039
+ * @minItems 1
2040
+ * @maxItems 1
2041
+ */
2042
+ schemes: [AuthenticationScheme];
2043
+ /**
2044
+ * Credentials for authentication. For Bearer: token sent in Authorization header. For HMAC-SHA256: shared secret used to generate signature. Minimum 32 characters. Exchanged out-of-band during onboarding.
2045
+ */
2046
+ credentials: string;
2047
+ };
2048
+ }
2049
+ /**
2050
+ * Opaque correlation data that is echoed unchanged in responses. Used for internal tracking, UI session IDs, trace IDs, and other caller-specific identifiers that don't affect protocol behavior. Context data is never parsed by AdCP agents - it's simply preserved and returned.
2051
+ */
2014
2052
  /**
2015
2053
  * Response from creative sync operation. Returns either per-creative results (best-effort processing) OR operation-level errors (complete failure). This enforces atomic semantics at the operation level while allowing per-item failures within successful operations.
2016
2054
  */
2017
- export type SyncCreativesResponse = {
2055
+ export type SyncCreativesResponse = SyncCreativesSuccess | SyncCreativesError;
2056
+ /**
2057
+ * Action taken for this creative
2058
+ */
2059
+ export type CreativeAction = 'created' | 'updated' | 'unchanged' | 'failed' | 'deleted';
2060
+ /**
2061
+ * Success response - sync operation processed creatives (may include per-item failures)
2062
+ */
2063
+ export interface SyncCreativesSuccess {
2018
2064
  /**
2019
2065
  * Whether this was a dry run (no actual changes made)
2020
2066
  */
@@ -2071,7 +2117,11 @@ export type SyncCreativesResponse = {
2071
2117
  }[];
2072
2118
  context?: ContextObject;
2073
2119
  ext?: ExtensionObject;
2074
- } | {
2120
+ }
2121
+ /**
2122
+ * Opaque correlation data that is echoed unchanged in responses. Used for internal tracking, UI session IDs, trace IDs, and other caller-specific identifiers that don't affect protocol behavior. Context data is never parsed by AdCP agents - it's simply preserved and returned.
2123
+ */
2124
+ export interface SyncCreativesError {
2075
2125
  /**
2076
2126
  * Operation-level errors that prevented processing any creatives (e.g., authentication failure, service unavailable, invalid request format)
2077
2127
  *
@@ -2080,13 +2130,9 @@ export type SyncCreativesResponse = {
2080
2130
  errors: [Error, ...Error[]];
2081
2131
  context?: ContextObject;
2082
2132
  ext?: ExtensionObject;
2083
- };
2084
- /**
2085
- * Action taken for this creative
2086
- */
2087
- export type CreativeAction = 'created' | 'updated' | 'unchanged' | 'failed' | 'deleted';
2133
+ }
2088
2134
  /**
2089
- * Opaque correlation data that is echoed unchanged in responses. Used for internal tracking, UI session IDs, trace IDs, and other caller-specific identifiers that don't affect protocol behavior. Context data is never parsed by AdCP agents - it's simply preserved and returned.
2135
+ * Standard error structure for task-specific errors and warnings
2090
2136
  */
2091
2137
  /**
2092
2138
  * Filter by creative approval status
@@ -2500,7 +2546,11 @@ export interface UpdateMediaBuyRequest1 {
2500
2546
  /**
2501
2547
  * Response payload for update_media_buy task. Returns either complete success data OR error information, never both. This enforces atomic operation semantics - updates are either fully applied or not applied at all.
2502
2548
  */
2503
- export type UpdateMediaBuyResponse = {
2549
+ export type UpdateMediaBuyResponse = UpdateMediaBuySuccess | UpdateMediaBuyError;
2550
+ /**
2551
+ * Budget pacing strategy
2552
+ */
2553
+ export interface UpdateMediaBuySuccess {
2504
2554
  /**
2505
2555
  * Publisher's identifier for the media buy
2506
2556
  */
@@ -2519,7 +2569,11 @@ export type UpdateMediaBuyResponse = {
2519
2569
  affected_packages?: Package[];
2520
2570
  context?: ContextObject;
2521
2571
  ext?: ExtensionObject;
2522
- } | {
2572
+ }
2573
+ /**
2574
+ * A specific product within a media buy (line item)
2575
+ */
2576
+ export interface UpdateMediaBuyError {
2523
2577
  /**
2524
2578
  * Array of errors explaining why the operation failed
2525
2579
  *
@@ -2528,9 +2582,9 @@ export type UpdateMediaBuyResponse = {
2528
2582
  errors: [Error, ...Error[]];
2529
2583
  context?: ContextObject;
2530
2584
  ext?: ExtensionObject;
2531
- };
2585
+ }
2532
2586
  /**
2533
- * Budget pacing strategy
2587
+ * Standard error structure for task-specific errors and warnings
2534
2588
  */
2535
2589
  /**
2536
2590
  * Status of a media buy
@@ -2979,14 +3033,22 @@ export interface ProvidePerformanceFeedbackRequest1 {
2979
3033
  /**
2980
3034
  * Response payload for provide_performance_feedback task. Returns either success confirmation OR error information, never both.
2981
3035
  */
2982
- export type ProvidePerformanceFeedbackResponse = {
3036
+ export type ProvidePerformanceFeedbackResponse = ProvidePerformanceFeedbackSuccess | ProvidePerformanceFeedbackError;
3037
+ /**
3038
+ * Success response - feedback received and processed
3039
+ */
3040
+ export interface ProvidePerformanceFeedbackSuccess {
2983
3041
  /**
2984
3042
  * Whether the performance feedback was successfully received
2985
3043
  */
2986
3044
  success: true;
2987
3045
  context?: ContextObject;
2988
3046
  ext?: ExtensionObject;
2989
- } | {
3047
+ }
3048
+ /**
3049
+ * Opaque correlation data that is echoed unchanged in responses. Used for internal tracking, UI session IDs, trace IDs, and other caller-specific identifiers that don't affect protocol behavior. Context data is never parsed by AdCP agents - it's simply preserved and returned.
3050
+ */
3051
+ export interface ProvidePerformanceFeedbackError {
2990
3052
  /**
2991
3053
  * Array of errors explaining why feedback was rejected (e.g., invalid measurement period, missing campaign data)
2992
3054
  *
@@ -2995,12 +3057,12 @@ export type ProvidePerformanceFeedbackResponse = {
2995
3057
  errors: [Error, ...Error[]];
2996
3058
  context?: ContextObject;
2997
3059
  ext?: ExtensionObject;
2998
- };
3060
+ }
2999
3061
  /**
3000
- * Opaque correlation data that is echoed unchanged in responses. Used for internal tracking, UI session IDs, trace IDs, and other caller-specific identifiers that don't affect protocol behavior. Context data is never parsed by AdCP agents - it's simply preserved and returned.
3062
+ * Standard error structure for task-specific errors and warnings
3001
3063
  */
3002
3064
  /**
3003
- * Image asset with URL and dimensions
3065
+ * VAST (Video Ad Serving Template) tag for third-party video ad serving
3004
3066
  */
3005
3067
  export type HTTPMethod = 'GET' | 'POST';
3006
3068
  /**
@@ -3090,11 +3152,19 @@ export interface WebhookAsset {
3090
3152
  /**
3091
3153
  * Response containing the transformed or generated creative manifest, ready for use with preview_creative or sync_creatives. Returns either the complete creative manifest OR error information, never both.
3092
3154
  */
3093
- export type BuildCreativeResponse = {
3155
+ export type BuildCreativeResponse = BuildCreativeSuccess | BuildCreativeError;
3156
+ /**
3157
+ * VAST (Video Ad Serving Template) tag for third-party video ad serving
3158
+ */
3159
+ export interface BuildCreativeSuccess {
3094
3160
  creative_manifest: CreativeManifest;
3095
3161
  context?: ContextObject;
3096
3162
  ext?: ExtensionObject;
3097
- } | {
3163
+ }
3164
+ /**
3165
+ * The generated or transformed creative manifest
3166
+ */
3167
+ export interface BuildCreativeError {
3098
3168
  /**
3099
3169
  * Array of errors explaining why creative generation failed
3100
3170
  *
@@ -3103,9 +3173,9 @@ export type BuildCreativeResponse = {
3103
3173
  errors: [Error, ...Error[]];
3104
3174
  context?: ContextObject;
3105
3175
  ext?: ExtensionObject;
3106
- };
3176
+ }
3107
3177
  /**
3108
- * Image asset with URL and dimensions
3178
+ * Standard error structure for task-specific errors and warnings
3109
3179
  */
3110
3180
  /**
3111
3181
  * Request to generate previews of one or more creative manifests. Accepts either a single creative request or an array of requests for batch processing.
@@ -3217,7 +3287,7 @@ export type PreviewCreativeRequest = {
3217
3287
  ext?: ExtensionObject;
3218
3288
  };
3219
3289
  /**
3220
- * Image asset with URL and dimensions
3290
+ * VAST (Video Ad Serving Template) tag for third-party video ad serving
3221
3291
  */
3222
3292
  export type PreviewOutputFormat = 'url' | 'html';
3223
3293
  /**
@@ -3254,115 +3324,7 @@ export interface CreativeManifest1 {
3254
3324
  /**
3255
3325
  * Response containing preview links for one or more creatives. Format matches the request: single preview response for single requests, batch results for batch requests.
3256
3326
  */
3257
- export type PreviewCreativeResponse = {
3258
- /**
3259
- * Discriminator indicating this is a single preview response
3260
- */
3261
- response_type: 'single';
3262
- /**
3263
- * Array of preview variants. Each preview corresponds to an input set from the request. If no inputs were provided, returns a single default preview.
3264
- *
3265
- * @minItems 1
3266
- */
3267
- previews: [
3268
- {
3269
- /**
3270
- * Unique identifier for this preview variant
3271
- */
3272
- preview_id: string;
3273
- /**
3274
- * Array of rendered pieces for this preview variant. Most formats render as a single piece. Companion ad formats (video + banner), multi-placement formats, and adaptive formats render as multiple pieces.
3275
- *
3276
- * @minItems 1
3277
- */
3278
- renders: [PreviewRender, ...PreviewRender[]];
3279
- /**
3280
- * The input parameters that generated this preview variant. Echoes back the request input or shows defaults used.
3281
- */
3282
- input: {
3283
- /**
3284
- * Human-readable name for this variant
3285
- */
3286
- name: string;
3287
- /**
3288
- * Macro values applied to this variant
3289
- */
3290
- macros?: {
3291
- [k: string]: string;
3292
- };
3293
- /**
3294
- * Context description applied to this variant
3295
- */
3296
- context_description?: string;
3297
- };
3298
- },
3299
- ...{
3300
- /**
3301
- * Unique identifier for this preview variant
3302
- */
3303
- preview_id: string;
3304
- /**
3305
- * Array of rendered pieces for this preview variant. Most formats render as a single piece. Companion ad formats (video + banner), multi-placement formats, and adaptive formats render as multiple pieces.
3306
- *
3307
- * @minItems 1
3308
- */
3309
- renders: [PreviewRender, ...PreviewRender[]];
3310
- /**
3311
- * The input parameters that generated this preview variant. Echoes back the request input or shows defaults used.
3312
- */
3313
- input: {
3314
- /**
3315
- * Human-readable name for this variant
3316
- */
3317
- name: string;
3318
- /**
3319
- * Macro values applied to this variant
3320
- */
3321
- macros?: {
3322
- [k: string]: string;
3323
- };
3324
- /**
3325
- * Context description applied to this variant
3326
- */
3327
- context_description?: string;
3328
- };
3329
- }[]
3330
- ];
3331
- /**
3332
- * Optional URL to an interactive testing page that shows all preview variants with controls to switch between them, modify macro values, and test different scenarios.
3333
- */
3334
- interactive_url?: string;
3335
- /**
3336
- * ISO 8601 timestamp when preview links expire
3337
- */
3338
- expires_at: string;
3339
- context?: ContextObject;
3340
- ext?: ExtensionObject;
3341
- } | {
3342
- /**
3343
- * Discriminator indicating this is a batch preview response
3344
- */
3345
- response_type: 'batch';
3346
- /**
3347
- * Array of preview results corresponding to each request in the same order. results[0] is the result for requests[0], results[1] for requests[1], etc. Order is guaranteed even when some requests fail. Each result contains either a successful preview response or an error.
3348
- *
3349
- * @minItems 1
3350
- */
3351
- results: [
3352
- ({
3353
- success?: true;
3354
- } | {
3355
- success?: false;
3356
- }),
3357
- ...({
3358
- success?: true;
3359
- } | {
3360
- success?: false;
3361
- })[]
3362
- ];
3363
- context?: ContextObject;
3364
- ext?: ExtensionObject;
3365
- };
3327
+ export type PreviewCreativeResponse = PreviewCreativeSingleResponse | PreviewCreativeBatchResponse;
3366
3328
  /**
3367
3329
  * A single rendered piece of a creative preview with discriminated output format
3368
3330
  */
@@ -3506,9 +3468,120 @@ export type PreviewRender = {
3506
3468
  csp_policy?: string;
3507
3469
  };
3508
3470
  };
3471
+ /**
3472
+ * Single preview response - each preview URL returns an HTML page that can be embedded in an iframe
3473
+ */
3474
+ export interface PreviewCreativeSingleResponse {
3475
+ /**
3476
+ * Discriminator indicating this is a single preview response
3477
+ */
3478
+ response_type: 'single';
3479
+ /**
3480
+ * Array of preview variants. Each preview corresponds to an input set from the request. If no inputs were provided, returns a single default preview.
3481
+ *
3482
+ * @minItems 1
3483
+ */
3484
+ previews: [
3485
+ {
3486
+ /**
3487
+ * Unique identifier for this preview variant
3488
+ */
3489
+ preview_id: string;
3490
+ /**
3491
+ * Array of rendered pieces for this preview variant. Most formats render as a single piece. Companion ad formats (video + banner), multi-placement formats, and adaptive formats render as multiple pieces.
3492
+ *
3493
+ * @minItems 1
3494
+ */
3495
+ renders: [PreviewRender, ...PreviewRender[]];
3496
+ /**
3497
+ * The input parameters that generated this preview variant. Echoes back the request input or shows defaults used.
3498
+ */
3499
+ input: {
3500
+ /**
3501
+ * Human-readable name for this variant
3502
+ */
3503
+ name: string;
3504
+ /**
3505
+ * Macro values applied to this variant
3506
+ */
3507
+ macros?: {
3508
+ [k: string]: string;
3509
+ };
3510
+ /**
3511
+ * Context description applied to this variant
3512
+ */
3513
+ context_description?: string;
3514
+ };
3515
+ },
3516
+ ...{
3517
+ /**
3518
+ * Unique identifier for this preview variant
3519
+ */
3520
+ preview_id: string;
3521
+ /**
3522
+ * Array of rendered pieces for this preview variant. Most formats render as a single piece. Companion ad formats (video + banner), multi-placement formats, and adaptive formats render as multiple pieces.
3523
+ *
3524
+ * @minItems 1
3525
+ */
3526
+ renders: [PreviewRender, ...PreviewRender[]];
3527
+ /**
3528
+ * The input parameters that generated this preview variant. Echoes back the request input or shows defaults used.
3529
+ */
3530
+ input: {
3531
+ /**
3532
+ * Human-readable name for this variant
3533
+ */
3534
+ name: string;
3535
+ /**
3536
+ * Macro values applied to this variant
3537
+ */
3538
+ macros?: {
3539
+ [k: string]: string;
3540
+ };
3541
+ /**
3542
+ * Context description applied to this variant
3543
+ */
3544
+ context_description?: string;
3545
+ };
3546
+ }[]
3547
+ ];
3548
+ /**
3549
+ * Optional URL to an interactive testing page that shows all preview variants with controls to switch between them, modify macro values, and test different scenarios.
3550
+ */
3551
+ interactive_url?: string;
3552
+ /**
3553
+ * ISO 8601 timestamp when preview links expire
3554
+ */
3555
+ expires_at: string;
3556
+ context?: ContextObject;
3557
+ ext?: ExtensionObject;
3558
+ }
3509
3559
  /**
3510
3560
  * Opaque correlation data that is echoed unchanged in responses. Used for internal tracking, UI session IDs, trace IDs, and other caller-specific identifiers that don't affect protocol behavior. Context data is never parsed by AdCP agents - it's simply preserved and returned.
3511
3561
  */
3562
+ export interface PreviewCreativeBatchResponse {
3563
+ /**
3564
+ * Discriminator indicating this is a batch preview response
3565
+ */
3566
+ response_type: 'batch';
3567
+ /**
3568
+ * Array of preview results corresponding to each request in the same order. results[0] is the result for requests[0], results[1] for requests[1], etc. Order is guaranteed even when some requests fail. Each result contains either a successful preview response or an error.
3569
+ *
3570
+ * @minItems 1
3571
+ */
3572
+ results: [
3573
+ PreviewBatchResultSuccess | PreviewBatchResultError,
3574
+ ...(PreviewBatchResultSuccess | PreviewBatchResultError)[]
3575
+ ];
3576
+ context?: ContextObject;
3577
+ ext?: ExtensionObject;
3578
+ }
3579
+ export interface PreviewBatchResultSuccess {
3580
+ success?: true;
3581
+ }
3582
+ export interface PreviewBatchResultError {
3583
+ success?: false;
3584
+ }
3512
3585
  /**
3513
3586
  * A deployment target where signals can be activated (DSP, sales agent, etc.)
3514
3587
  */
@@ -3786,14 +3859,22 @@ export interface ActivateSignalRequest {
3786
3859
  /**
3787
3860
  * Response payload for activate_signal task. Returns either complete success data OR error information, never both. This enforces atomic operation semantics - the signal is either fully activated or not activated at all.
3788
3861
  */
3789
- export type ActivateSignalResponse = {
3862
+ export type ActivateSignalResponse = ActivateSignalSuccess | ActivateSignalError;
3863
+ /**
3864
+ * A signal deployment to a specific deployment target with activation status and key
3865
+ */
3866
+ export interface ActivateSignalSuccess {
3790
3867
  /**
3791
3868
  * Array of deployment results for each deployment target
3792
3869
  */
3793
3870
  deployments: Deployment[];
3794
3871
  context?: ContextObject;
3795
3872
  ext?: ExtensionObject;
3796
- } | {
3873
+ }
3874
+ /**
3875
+ * Opaque correlation data that is echoed unchanged in responses. Used for internal tracking, UI session IDs, trace IDs, and other caller-specific identifiers that don't affect protocol behavior. Context data is never parsed by AdCP agents - it's simply preserved and returned.
3876
+ */
3877
+ export interface ActivateSignalError {
3797
3878
  /**
3798
3879
  * Array of errors explaining why activation failed (e.g., platform connectivity issues, signal definition problems, authentication failures)
3799
3880
  *
@@ -3802,8 +3883,8 @@ export type ActivateSignalResponse = {
3802
3883
  errors: [Error, ...Error[]];
3803
3884
  context?: ContextObject;
3804
3885
  ext?: ExtensionObject;
3805
- };
3886
+ }
3806
3887
  /**
3807
- * A signal deployment to a specific deployment target with activation status and key
3888
+ * Standard error structure for task-specific errors and warnings
3808
3889
  */
3809
3890
  //# sourceMappingURL=tools.generated.d.ts.map