@adcp/client 3.3.2 → 3.4.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 (47) hide show
  1. package/bin/adcp.js +1 -1
  2. package/dist/lib/core/ADCPMultiAgentClient.d.ts +3 -1
  3. package/dist/lib/core/ADCPMultiAgentClient.d.ts.map +1 -1
  4. package/dist/lib/core/ADCPMultiAgentClient.js +4 -2
  5. package/dist/lib/core/ADCPMultiAgentClient.js.map +1 -1
  6. package/dist/lib/core/AgentClient.d.ts +29 -1
  7. package/dist/lib/core/AgentClient.d.ts.map +1 -1
  8. package/dist/lib/core/AgentClient.js +51 -2
  9. package/dist/lib/core/AgentClient.js.map +1 -1
  10. package/dist/lib/core/AsyncHandler.d.ts +23 -27
  11. package/dist/lib/core/AsyncHandler.d.ts.map +1 -1
  12. package/dist/lib/core/AsyncHandler.js +9 -19
  13. package/dist/lib/core/AsyncHandler.js.map +1 -1
  14. package/dist/lib/core/SingleAgentClient.d.ts +126 -22
  15. package/dist/lib/core/SingleAgentClient.d.ts.map +1 -1
  16. package/dist/lib/core/SingleAgentClient.js +373 -83
  17. package/dist/lib/core/SingleAgentClient.js.map +1 -1
  18. package/dist/lib/core/TaskExecutor.d.ts.map +1 -1
  19. package/dist/lib/core/TaskExecutor.js +3 -0
  20. package/dist/lib/core/TaskExecutor.js.map +1 -1
  21. package/dist/lib/index.d.ts +2 -1
  22. package/dist/lib/index.d.ts.map +1 -1
  23. package/dist/lib/index.js +36 -1
  24. package/dist/lib/index.js.map +1 -1
  25. package/dist/lib/types/adcp.d.ts +13 -25
  26. package/dist/lib/types/adcp.d.ts.map +1 -1
  27. package/dist/lib/types/core.generated.d.ts +489 -39
  28. package/dist/lib/types/core.generated.d.ts.map +1 -1
  29. package/dist/lib/types/core.generated.js +1 -1
  30. package/dist/lib/types/index.d.ts +1 -1
  31. package/dist/lib/types/index.d.ts.map +1 -1
  32. package/dist/lib/types/index.js.map +1 -1
  33. package/dist/lib/types/schemas.generated.d.ts +837 -218
  34. package/dist/lib/types/schemas.generated.d.ts.map +1 -1
  35. package/dist/lib/types/schemas.generated.js +148 -138
  36. package/dist/lib/types/schemas.generated.js.map +1 -1
  37. package/dist/lib/types/tools.generated.d.ts +243 -195
  38. package/dist/lib/types/tools.generated.d.ts.map +1 -1
  39. package/dist/lib/types/tools.generated.js +1 -1
  40. package/dist/lib/types/tools.generated.js.map +1 -1
  41. package/dist/lib/utils/typeGuards.d.ts +147 -0
  42. package/dist/lib/utils/typeGuards.d.ts.map +1 -0
  43. package/dist/lib/utils/typeGuards.js +240 -0
  44. package/dist/lib/utils/typeGuards.js.map +1 -0
  45. package/dist/lib/version.d.ts +3 -3
  46. package/dist/lib/version.js +3 -3
  47. package/package.json +2 -2
@@ -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
  */
@@ -1671,7 +1633,11 @@ export interface CreativeAsset {
1671
1633
  /**
1672
1634
  * 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
1635
  */
1674
- export interface Dimensions {
1636
+ export interface ImageAsset {
1637
+ /**
1638
+ * URL to the image asset
1639
+ */
1640
+ url: string;
1675
1641
  /**
1676
1642
  * Width in pixels
1677
1643
  */
@@ -1680,6 +1646,43 @@ export interface Dimensions {
1680
1646
  * Height in pixels
1681
1647
  */
1682
1648
  height: number;
1649
+ /**
1650
+ * Image file format (jpg, png, gif, webp, etc.)
1651
+ */
1652
+ format?: string;
1653
+ /**
1654
+ * Alternative text for accessibility
1655
+ */
1656
+ alt_text?: string;
1657
+ }
1658
+ /**
1659
+ * Video asset with URL and specifications
1660
+ */
1661
+ export interface VideoAsset {
1662
+ /**
1663
+ * URL to the video asset
1664
+ */
1665
+ url: string;
1666
+ /**
1667
+ * Width in pixels
1668
+ */
1669
+ width: number;
1670
+ /**
1671
+ * Height in pixels
1672
+ */
1673
+ height: number;
1674
+ /**
1675
+ * Video duration in milliseconds
1676
+ */
1677
+ duration_ms?: number;
1678
+ /**
1679
+ * Video file format (mp4, webm, mov, etc.)
1680
+ */
1681
+ format?: string;
1682
+ /**
1683
+ * Video bitrate in kilobits per second
1684
+ */
1685
+ bitrate_kbps?: number;
1683
1686
  }
1684
1687
  /**
1685
1688
  * Audio asset with URL and specifications
@@ -1864,7 +1867,11 @@ export interface PushNotificationConfig {
1864
1867
  /**
1865
1868
  * 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.
1866
1869
  */
1867
- export type CreateMediaBuyResponse = {
1870
+ export type CreateMediaBuyResponse = CreateMediaBuySuccess | CreateMediaBuyError;
1871
+ /**
1872
+ * Budget pacing strategy
1873
+ */
1874
+ export interface CreateMediaBuySuccess {
1868
1875
  /**
1869
1876
  * Publisher's unique identifier for the created media buy
1870
1877
  */
@@ -1883,18 +1890,9 @@ export type CreateMediaBuyResponse = {
1883
1890
  packages: Package[];
1884
1891
  context?: ContextObject;
1885
1892
  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
- };
1893
+ }
1896
1894
  /**
1897
- * Budget pacing strategy
1895
+ * A specific product within a media buy (line item)
1898
1896
  */
1899
1897
  export interface Package {
1900
1898
  /**
@@ -1963,8 +1961,21 @@ export interface CreativeAssignment {
1963
1961
  /**
1964
1962
  * 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
1963
  */
1964
+ export interface CreateMediaBuyError {
1965
+ /**
1966
+ * Array of errors explaining why the operation failed
1967
+ *
1968
+ * @minItems 1
1969
+ */
1970
+ errors: [Error, ...Error[]];
1971
+ context?: ContextObject;
1972
+ ext?: ExtensionObject;
1973
+ }
1974
+ /**
1975
+ * Standard error structure for task-specific errors and warnings
1976
+ */
1966
1977
  /**
1967
- * Image asset with URL and dimensions
1978
+ * JavaScript module type
1968
1979
  */
1969
1980
  export type ValidationMode = 'strict' | 'lenient';
1970
1981
  /**
@@ -2014,7 +2025,15 @@ export interface SyncCreativesRequest {
2014
2025
  /**
2015
2026
  * 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
2027
  */
2017
- export type SyncCreativesResponse = {
2028
+ export type SyncCreativesResponse = SyncCreativesSuccess | SyncCreativesError;
2029
+ /**
2030
+ * Action taken for this creative
2031
+ */
2032
+ export type CreativeAction = 'created' | 'updated' | 'unchanged' | 'failed' | 'deleted';
2033
+ /**
2034
+ * Success response - sync operation processed creatives (may include per-item failures)
2035
+ */
2036
+ export interface SyncCreativesSuccess {
2018
2037
  /**
2019
2038
  * Whether this was a dry run (no actual changes made)
2020
2039
  */
@@ -2071,7 +2090,11 @@ export type SyncCreativesResponse = {
2071
2090
  }[];
2072
2091
  context?: ContextObject;
2073
2092
  ext?: ExtensionObject;
2074
- } | {
2093
+ }
2094
+ /**
2095
+ * 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.
2096
+ */
2097
+ export interface SyncCreativesError {
2075
2098
  /**
2076
2099
  * Operation-level errors that prevented processing any creatives (e.g., authentication failure, service unavailable, invalid request format)
2077
2100
  *
@@ -2080,13 +2103,9 @@ export type SyncCreativesResponse = {
2080
2103
  errors: [Error, ...Error[]];
2081
2104
  context?: ContextObject;
2082
2105
  ext?: ExtensionObject;
2083
- };
2084
- /**
2085
- * Action taken for this creative
2086
- */
2087
- export type CreativeAction = 'created' | 'updated' | 'unchanged' | 'failed' | 'deleted';
2106
+ }
2088
2107
  /**
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.
2108
+ * Standard error structure for task-specific errors and warnings
2090
2109
  */
2091
2110
  /**
2092
2111
  * Filter by creative approval status
@@ -2460,13 +2479,10 @@ export interface ListCreativesResponse {
2460
2479
  /**
2461
2480
  * Request parameters for updating campaign and package settings
2462
2481
  */
2463
- export type UpdateMediaBuyRequest = UpdateMediaBuyRequest1 & UpdateMediaBuyRequest2;
2482
+ export type UpdateMediaBuyRequest = UpdateMediaBuyRequest1;
2464
2483
  /**
2465
2484
  * Campaign start timing: 'asap' or ISO 8601 date-time
2466
2485
  */
2467
- export type UpdateMediaBuyRequest2 = {
2468
- [k: string]: unknown;
2469
- };
2470
2486
  export interface UpdateMediaBuyRequest1 {
2471
2487
  /**
2472
2488
  * Publisher's ID of the media buy to update
@@ -2503,7 +2519,11 @@ export interface UpdateMediaBuyRequest1 {
2503
2519
  /**
2504
2520
  * 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.
2505
2521
  */
2506
- export type UpdateMediaBuyResponse = {
2522
+ export type UpdateMediaBuyResponse = UpdateMediaBuySuccess | UpdateMediaBuyError;
2523
+ /**
2524
+ * Budget pacing strategy
2525
+ */
2526
+ export interface UpdateMediaBuySuccess {
2507
2527
  /**
2508
2528
  * Publisher's identifier for the media buy
2509
2529
  */
@@ -2522,7 +2542,11 @@ export type UpdateMediaBuyResponse = {
2522
2542
  affected_packages?: Package[];
2523
2543
  context?: ContextObject;
2524
2544
  ext?: ExtensionObject;
2525
- } | {
2545
+ }
2546
+ /**
2547
+ * A specific product within a media buy (line item)
2548
+ */
2549
+ export interface UpdateMediaBuyError {
2526
2550
  /**
2527
2551
  * Array of errors explaining why the operation failed
2528
2552
  *
@@ -2531,9 +2555,9 @@ export type UpdateMediaBuyResponse = {
2531
2555
  errors: [Error, ...Error[]];
2532
2556
  context?: ContextObject;
2533
2557
  ext?: ExtensionObject;
2534
- };
2558
+ }
2535
2559
  /**
2536
- * Budget pacing strategy
2560
+ * Standard error structure for task-specific errors and warnings
2537
2561
  */
2538
2562
  /**
2539
2563
  * Status of a media buy
@@ -2928,7 +2952,7 @@ export interface ListAuthorizedPropertiesResponse {
2928
2952
  /**
2929
2953
  * Request payload for provide_performance_feedback task
2930
2954
  */
2931
- export type ProvidePerformanceFeedbackRequest = ProvidePerformanceFeedbackRequest1 & ProvidePerformanceFeedbackRequest2;
2955
+ export type ProvidePerformanceFeedbackRequest = ProvidePerformanceFeedbackRequest1;
2932
2956
  /**
2933
2957
  * The business metric being measured
2934
2958
  */
@@ -2937,9 +2961,6 @@ export type MetricType = 'overall_performance' | 'conversion_rate' | 'brand_lift
2937
2961
  * Source of the performance data
2938
2962
  */
2939
2963
  export type FeedbackSource = 'buyer_attribution' | 'third_party_measurement' | 'platform_analytics' | 'verification_partner';
2940
- export type ProvidePerformanceFeedbackRequest2 = {
2941
- [k: string]: unknown;
2942
- };
2943
2964
  export interface ProvidePerformanceFeedbackRequest1 {
2944
2965
  /**
2945
2966
  * Publisher's media buy identifier
@@ -2985,14 +3006,22 @@ export interface ProvidePerformanceFeedbackRequest1 {
2985
3006
  /**
2986
3007
  * Response payload for provide_performance_feedback task. Returns either success confirmation OR error information, never both.
2987
3008
  */
2988
- export type ProvidePerformanceFeedbackResponse = {
3009
+ export type ProvidePerformanceFeedbackResponse = ProvidePerformanceFeedbackSuccess | ProvidePerformanceFeedbackError;
3010
+ /**
3011
+ * Success response - feedback received and processed
3012
+ */
3013
+ export interface ProvidePerformanceFeedbackSuccess {
2989
3014
  /**
2990
3015
  * Whether the performance feedback was successfully received
2991
3016
  */
2992
3017
  success: true;
2993
3018
  context?: ContextObject;
2994
3019
  ext?: ExtensionObject;
2995
- } | {
3020
+ }
3021
+ /**
3022
+ * 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.
3023
+ */
3024
+ export interface ProvidePerformanceFeedbackError {
2996
3025
  /**
2997
3026
  * Array of errors explaining why feedback was rejected (e.g., invalid measurement period, missing campaign data)
2998
3027
  *
@@ -3001,12 +3030,12 @@ export type ProvidePerformanceFeedbackResponse = {
3001
3030
  errors: [Error, ...Error[]];
3002
3031
  context?: ContextObject;
3003
3032
  ext?: ExtensionObject;
3004
- };
3033
+ }
3005
3034
  /**
3006
- * 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.
3035
+ * Standard error structure for task-specific errors and warnings
3007
3036
  */
3008
3037
  /**
3009
- * Image asset with URL and dimensions
3038
+ * VAST (Video Ad Serving Template) tag for third-party video ad serving
3010
3039
  */
3011
3040
  export type HTTPMethod = 'GET' | 'POST';
3012
3041
  /**
@@ -3096,11 +3125,19 @@ export interface WebhookAsset {
3096
3125
  /**
3097
3126
  * 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.
3098
3127
  */
3099
- export type BuildCreativeResponse = {
3128
+ export type BuildCreativeResponse = BuildCreativeSuccess | BuildCreativeError;
3129
+ /**
3130
+ * VAST (Video Ad Serving Template) tag for third-party video ad serving
3131
+ */
3132
+ export interface BuildCreativeSuccess {
3100
3133
  creative_manifest: CreativeManifest;
3101
3134
  context?: ContextObject;
3102
3135
  ext?: ExtensionObject;
3103
- } | {
3136
+ }
3137
+ /**
3138
+ * The generated or transformed creative manifest
3139
+ */
3140
+ export interface BuildCreativeError {
3104
3141
  /**
3105
3142
  * Array of errors explaining why creative generation failed
3106
3143
  *
@@ -3109,9 +3146,9 @@ export type BuildCreativeResponse = {
3109
3146
  errors: [Error, ...Error[]];
3110
3147
  context?: ContextObject;
3111
3148
  ext?: ExtensionObject;
3112
- };
3149
+ }
3113
3150
  /**
3114
- * Image asset with URL and dimensions
3151
+ * Standard error structure for task-specific errors and warnings
3115
3152
  */
3116
3153
  /**
3117
3154
  * Request to generate previews of one or more creative manifests. Accepts either a single creative request or an array of requests for batch processing.
@@ -3223,7 +3260,7 @@ export type PreviewCreativeRequest = {
3223
3260
  ext?: ExtensionObject;
3224
3261
  };
3225
3262
  /**
3226
- * Image asset with URL and dimensions
3263
+ * VAST (Video Ad Serving Template) tag for third-party video ad serving
3227
3264
  */
3228
3265
  export type PreviewOutputFormat = 'url' | 'html';
3229
3266
  /**
@@ -3260,115 +3297,7 @@ export interface CreativeManifest1 {
3260
3297
  /**
3261
3298
  * Response containing preview links for one or more creatives. Format matches the request: single preview response for single requests, batch results for batch requests.
3262
3299
  */
3263
- export type PreviewCreativeResponse = {
3264
- /**
3265
- * Discriminator indicating this is a single preview response
3266
- */
3267
- response_type: 'single';
3268
- /**
3269
- * Array of preview variants. Each preview corresponds to an input set from the request. If no inputs were provided, returns a single default preview.
3270
- *
3271
- * @minItems 1
3272
- */
3273
- previews: [
3274
- {
3275
- /**
3276
- * Unique identifier for this preview variant
3277
- */
3278
- preview_id: string;
3279
- /**
3280
- * 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.
3281
- *
3282
- * @minItems 1
3283
- */
3284
- renders: [PreviewRender, ...PreviewRender[]];
3285
- /**
3286
- * The input parameters that generated this preview variant. Echoes back the request input or shows defaults used.
3287
- */
3288
- input: {
3289
- /**
3290
- * Human-readable name for this variant
3291
- */
3292
- name: string;
3293
- /**
3294
- * Macro values applied to this variant
3295
- */
3296
- macros?: {
3297
- [k: string]: string;
3298
- };
3299
- /**
3300
- * Context description applied to this variant
3301
- */
3302
- context_description?: string;
3303
- };
3304
- },
3305
- ...{
3306
- /**
3307
- * Unique identifier for this preview variant
3308
- */
3309
- preview_id: string;
3310
- /**
3311
- * 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.
3312
- *
3313
- * @minItems 1
3314
- */
3315
- renders: [PreviewRender, ...PreviewRender[]];
3316
- /**
3317
- * The input parameters that generated this preview variant. Echoes back the request input or shows defaults used.
3318
- */
3319
- input: {
3320
- /**
3321
- * Human-readable name for this variant
3322
- */
3323
- name: string;
3324
- /**
3325
- * Macro values applied to this variant
3326
- */
3327
- macros?: {
3328
- [k: string]: string;
3329
- };
3330
- /**
3331
- * Context description applied to this variant
3332
- */
3333
- context_description?: string;
3334
- };
3335
- }[]
3336
- ];
3337
- /**
3338
- * 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.
3339
- */
3340
- interactive_url?: string;
3341
- /**
3342
- * ISO 8601 timestamp when preview links expire
3343
- */
3344
- expires_at: string;
3345
- context?: ContextObject;
3346
- ext?: ExtensionObject;
3347
- } | {
3348
- /**
3349
- * Discriminator indicating this is a batch preview response
3350
- */
3351
- response_type: 'batch';
3352
- /**
3353
- * 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.
3354
- *
3355
- * @minItems 1
3356
- */
3357
- results: [
3358
- ({
3359
- success?: true;
3360
- } | {
3361
- success?: false;
3362
- }),
3363
- ...({
3364
- success?: true;
3365
- } | {
3366
- success?: false;
3367
- })[]
3368
- ];
3369
- context?: ContextObject;
3370
- ext?: ExtensionObject;
3371
- };
3300
+ export type PreviewCreativeResponse = PreviewCreativeSingleResponse | PreviewCreativeBatchResponse;
3372
3301
  /**
3373
3302
  * A single rendered piece of a creative preview with discriminated output format
3374
3303
  */
@@ -3512,9 +3441,120 @@ export type PreviewRender = {
3512
3441
  csp_policy?: string;
3513
3442
  };
3514
3443
  };
3444
+ /**
3445
+ * Single preview response - each preview URL returns an HTML page that can be embedded in an iframe
3446
+ */
3447
+ export interface PreviewCreativeSingleResponse {
3448
+ /**
3449
+ * Discriminator indicating this is a single preview response
3450
+ */
3451
+ response_type: 'single';
3452
+ /**
3453
+ * Array of preview variants. Each preview corresponds to an input set from the request. If no inputs were provided, returns a single default preview.
3454
+ *
3455
+ * @minItems 1
3456
+ */
3457
+ previews: [
3458
+ {
3459
+ /**
3460
+ * Unique identifier for this preview variant
3461
+ */
3462
+ preview_id: string;
3463
+ /**
3464
+ * 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.
3465
+ *
3466
+ * @minItems 1
3467
+ */
3468
+ renders: [PreviewRender, ...PreviewRender[]];
3469
+ /**
3470
+ * The input parameters that generated this preview variant. Echoes back the request input or shows defaults used.
3471
+ */
3472
+ input: {
3473
+ /**
3474
+ * Human-readable name for this variant
3475
+ */
3476
+ name: string;
3477
+ /**
3478
+ * Macro values applied to this variant
3479
+ */
3480
+ macros?: {
3481
+ [k: string]: string;
3482
+ };
3483
+ /**
3484
+ * Context description applied to this variant
3485
+ */
3486
+ context_description?: string;
3487
+ };
3488
+ },
3489
+ ...{
3490
+ /**
3491
+ * Unique identifier for this preview variant
3492
+ */
3493
+ preview_id: string;
3494
+ /**
3495
+ * 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.
3496
+ *
3497
+ * @minItems 1
3498
+ */
3499
+ renders: [PreviewRender, ...PreviewRender[]];
3500
+ /**
3501
+ * The input parameters that generated this preview variant. Echoes back the request input or shows defaults used.
3502
+ */
3503
+ input: {
3504
+ /**
3505
+ * Human-readable name for this variant
3506
+ */
3507
+ name: string;
3508
+ /**
3509
+ * Macro values applied to this variant
3510
+ */
3511
+ macros?: {
3512
+ [k: string]: string;
3513
+ };
3514
+ /**
3515
+ * Context description applied to this variant
3516
+ */
3517
+ context_description?: string;
3518
+ };
3519
+ }[]
3520
+ ];
3521
+ /**
3522
+ * 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.
3523
+ */
3524
+ interactive_url?: string;
3525
+ /**
3526
+ * ISO 8601 timestamp when preview links expire
3527
+ */
3528
+ expires_at: string;
3529
+ context?: ContextObject;
3530
+ ext?: ExtensionObject;
3531
+ }
3515
3532
  /**
3516
3533
  * 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.
3517
3534
  */
3535
+ export interface PreviewCreativeBatchResponse {
3536
+ /**
3537
+ * Discriminator indicating this is a batch preview response
3538
+ */
3539
+ response_type: 'batch';
3540
+ /**
3541
+ * 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.
3542
+ *
3543
+ * @minItems 1
3544
+ */
3545
+ results: [
3546
+ PreviewBatchResultSuccess | PreviewBatchResultError,
3547
+ ...(PreviewBatchResultSuccess | PreviewBatchResultError)[]
3548
+ ];
3549
+ context?: ContextObject;
3550
+ ext?: ExtensionObject;
3551
+ }
3552
+ export interface PreviewBatchResultSuccess {
3553
+ success?: true;
3554
+ }
3555
+ export interface PreviewBatchResultError {
3556
+ success?: false;
3557
+ }
3518
3558
  /**
3519
3559
  * A deployment target where signals can be activated (DSP, sales agent, etc.)
3520
3560
  */
@@ -3792,14 +3832,22 @@ export interface ActivateSignalRequest {
3792
3832
  /**
3793
3833
  * 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.
3794
3834
  */
3795
- export type ActivateSignalResponse = {
3835
+ export type ActivateSignalResponse = ActivateSignalSuccess | ActivateSignalError;
3836
+ /**
3837
+ * A signal deployment to a specific deployment target with activation status and key
3838
+ */
3839
+ export interface ActivateSignalSuccess {
3796
3840
  /**
3797
3841
  * Array of deployment results for each deployment target
3798
3842
  */
3799
3843
  deployments: Deployment[];
3800
3844
  context?: ContextObject;
3801
3845
  ext?: ExtensionObject;
3802
- } | {
3846
+ }
3847
+ /**
3848
+ * 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.
3849
+ */
3850
+ export interface ActivateSignalError {
3803
3851
  /**
3804
3852
  * Array of errors explaining why activation failed (e.g., platform connectivity issues, signal definition problems, authentication failures)
3805
3853
  *
@@ -3808,8 +3856,8 @@ export type ActivateSignalResponse = {
3808
3856
  errors: [Error, ...Error[]];
3809
3857
  context?: ContextObject;
3810
3858
  ext?: ExtensionObject;
3811
- };
3859
+ }
3812
3860
  /**
3813
- * A signal deployment to a specific deployment target with activation status and key
3861
+ * Standard error structure for task-specific errors and warnings
3814
3862
  */
3815
3863
  //# sourceMappingURL=tools.generated.d.ts.map