@adcp/client 2.1.0 → 2.3.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.
@@ -0,0 +1,790 @@
1
+ "use strict";
2
+ // Generated Zod v4 schemas from TypeScript types
3
+ // Generated at: 2025-10-20T16:05:33.469Z
4
+ // Sources:
5
+ // - core.generated.ts (core types)
6
+ // - tools.generated.ts (tool types)
7
+ //
8
+ // These schemas provide runtime validation for AdCP data structures
9
+ // Generated using ts-to-zod from TypeScript type definitions
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.ErrorSchema = exports.CreativeAssetSchema = exports.ProductSchema = exports.PromotedOfferingsSchema = exports.MediaBuySchema = exports.Product1Schema = exports.BrandManifestReferenceSchema = exports.BrandManifestSchema = exports.PackageSchema = exports.TargetingOverlaySchema = exports.CreativePolicySchema = exports.ReportingCapabilitiesSchema = exports.MeasurementSchema = exports.PricingOptionSchema = exports.PropertySchema = exports.FlatRatePricingOptionSchema = exports.CPPPricingOptionSchema = exports.CPVPricingOptionSchema = exports.CPCVPricingOptionSchema = exports.CPCPricingOptionSchema = exports.VCPMAuctionPricingOptionSchema = exports.VCPMFixedRatePricingOptionSchema = exports.CPMAuctionPricingOptionSchema = exports.CPMFixedRatePricingOptionSchema = exports.DeliveryTypeSchema = exports.PropertyIdentifierTypesSchema = exports.Product2Schema = exports.PromotedProductsSchema = exports.URLAssetSchema = exports.DAASTAssetSchema = exports.VASTAssetSchema = exports.JavaScriptAssetSchema = exports.CSSAssetSchema = exports.HTMLAssetSchema = exports.TextAssetSchema = exports.AudioAssetSchema = exports.VideoAssetSchema = exports.ImageAssetSchema = exports.BrandManifest2Schema = exports.BrandManifest1Schema = exports.DAASTAsset2Schema = exports.DAASTAsset1Schema = exports.VASTAsset2Schema = exports.VASTAsset1Schema = exports.FrequencyCapSchema = exports.FormatIDSchema = exports.CreativeAssignmentSchema = exports.PackageStatusSchema = exports.PacingSchema = exports.MediaBuyStatusSchema = void 0;
12
+ exports.ListCreativeFormatsResponseSchema = exports.GetMediaBuyDeliveryResponseSchema = exports.UpdateMediaBuyRequestSchema = exports.ListCreativesRequestSchema = exports.FormatSchema = exports.ActivateSignalResponseSchema = exports.ActivateSignalRequestSchema = exports.GetSignalsResponseSchema = exports.GetSignalsRequestSchema = exports.PreviewCreativeResponseSchema = exports.FormatID1Schema = exports.ProvidePerformanceFeedbackResponseSchema = exports.ProvidePerformanceFeedbackRequestSchema = exports.AdvertisingChannelsSchema = exports.ListAuthorizedPropertiesRequestSchema = exports.DeliveryMetricsSchema = exports.PricingModelSchema = exports.GetMediaBuyDeliveryRequestSchema = exports.UpdateMediaBuyResponseSchema = exports.UpdateMediaBuyRequest2Schema = exports.UpdateMediaBuyRequest1Schema = exports.CreativeStatus1Schema = exports.CreativeStatusSchema = exports.SyncCreativesResponseSchema = exports.CreateMediaBuyResponseSchema = exports.PushNotificationConfigSchema = exports.StartTimingSchema = exports.ListCreativeFormatsRequestSchema = void 0;
13
+ // Generated by ts-to-zod
14
+ const zod_1 = require("zod");
15
+ exports.MediaBuyStatusSchema = zod_1.z.union([zod_1.z.literal("pending_activation"), zod_1.z.literal("active"), zod_1.z.literal("paused"), zod_1.z.literal("completed")]);
16
+ exports.PacingSchema = zod_1.z.union([zod_1.z.literal("even"), zod_1.z.literal("asap"), zod_1.z.literal("front_loaded")]);
17
+ exports.PackageStatusSchema = zod_1.z.union([zod_1.z.literal("draft"), zod_1.z.literal("active"), zod_1.z.literal("paused"), zod_1.z.literal("completed")]);
18
+ exports.CreativeAssignmentSchema = zod_1.z.object({
19
+ creative_id: zod_1.z.string(),
20
+ weight: zod_1.z.number().optional()
21
+ });
22
+ exports.FormatIDSchema = zod_1.z.object({
23
+ agent_url: zod_1.z.string(),
24
+ id: zod_1.z.string()
25
+ });
26
+ exports.FrequencyCapSchema = zod_1.z.object({
27
+ suppress_minutes: zod_1.z.number()
28
+ });
29
+ exports.VASTAsset1Schema = zod_1.z.object({
30
+ url: zod_1.z.string().optional(),
31
+ content: zod_1.z.string().optional(),
32
+ vast_version: zod_1.z.union([zod_1.z.literal("2.0"), zod_1.z.literal("3.0"), zod_1.z.literal("4.0"), zod_1.z.literal("4.1"), zod_1.z.literal("4.2")]).optional(),
33
+ vpaid_enabled: zod_1.z.boolean().optional(),
34
+ duration_ms: zod_1.z.number().optional(),
35
+ tracking_events: zod_1.z.array(zod_1.z.union([zod_1.z.literal("start"), zod_1.z.literal("firstQuartile"), zod_1.z.literal("midpoint"), zod_1.z.literal("thirdQuartile"), zod_1.z.literal("complete"), zod_1.z.literal("impression"), zod_1.z.literal("click"), zod_1.z.literal("pause"), zod_1.z.literal("resume"), zod_1.z.literal("skip"), zod_1.z.literal("mute"), zod_1.z.literal("unmute"), zod_1.z.literal("fullscreen"), zod_1.z.literal("exitFullscreen"), zod_1.z.literal("playerExpand"), zod_1.z.literal("playerCollapse")])).optional()
36
+ });
37
+ exports.VASTAsset2Schema = zod_1.z.record(zod_1.z.string(), zod_1.z.unknown());
38
+ exports.DAASTAsset1Schema = zod_1.z.object({
39
+ url: zod_1.z.string().optional(),
40
+ content: zod_1.z.string().optional(),
41
+ daast_version: zod_1.z.union([zod_1.z.literal("1.0"), zod_1.z.literal("1.1")]).optional(),
42
+ duration_ms: zod_1.z.number().optional(),
43
+ tracking_events: zod_1.z.array(zod_1.z.union([zod_1.z.literal("start"), zod_1.z.literal("firstQuartile"), zod_1.z.literal("midpoint"), zod_1.z.literal("thirdQuartile"), zod_1.z.literal("complete"), zod_1.z.literal("impression"), zod_1.z.literal("pause"), zod_1.z.literal("resume"), zod_1.z.literal("skip"), zod_1.z.literal("mute"), zod_1.z.literal("unmute")])).optional(),
44
+ companion_ads: zod_1.z.boolean().optional()
45
+ });
46
+ exports.DAASTAsset2Schema = zod_1.z.record(zod_1.z.string(), zod_1.z.unknown());
47
+ exports.BrandManifest1Schema = zod_1.z.record(zod_1.z.string(), zod_1.z.unknown());
48
+ exports.BrandManifest2Schema = zod_1.z.object({
49
+ url: zod_1.z.string().optional(),
50
+ name: zod_1.z.string().optional(),
51
+ logos: zod_1.z.array(zod_1.z.object({
52
+ url: zod_1.z.string(),
53
+ tags: zod_1.z.array(zod_1.z.string()).optional(),
54
+ width: zod_1.z.number().optional(),
55
+ height: zod_1.z.number().optional()
56
+ })).optional(),
57
+ colors: zod_1.z.object({
58
+ primary: zod_1.z.string().optional(),
59
+ secondary: zod_1.z.string().optional(),
60
+ accent: zod_1.z.string().optional(),
61
+ background: zod_1.z.string().optional(),
62
+ text: zod_1.z.string().optional()
63
+ }).optional(),
64
+ fonts: zod_1.z.object({
65
+ primary: zod_1.z.string().optional(),
66
+ secondary: zod_1.z.string().optional(),
67
+ font_urls: zod_1.z.array(zod_1.z.string()).optional()
68
+ }).optional(),
69
+ tone: zod_1.z.string().optional(),
70
+ tagline: zod_1.z.string().optional(),
71
+ assets: zod_1.z.array(zod_1.z.object({
72
+ asset_id: zod_1.z.string(),
73
+ asset_type: zod_1.z.union([zod_1.z.literal("image"), zod_1.z.literal("video"), zod_1.z.literal("audio"), zod_1.z.literal("text")]),
74
+ url: zod_1.z.string(),
75
+ tags: zod_1.z.array(zod_1.z.string()).optional(),
76
+ name: zod_1.z.string().optional(),
77
+ description: zod_1.z.string().optional(),
78
+ width: zod_1.z.number().optional(),
79
+ height: zod_1.z.number().optional(),
80
+ duration_seconds: zod_1.z.number().optional(),
81
+ file_size_bytes: zod_1.z.number().optional(),
82
+ format: zod_1.z.string().optional(),
83
+ metadata: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()).optional()
84
+ })).optional(),
85
+ product_catalog: zod_1.z.object({
86
+ feed_url: zod_1.z.string(),
87
+ feed_format: zod_1.z.union([zod_1.z.literal("google_merchant_center"), zod_1.z.literal("facebook_catalog"), zod_1.z.literal("custom")]).optional(),
88
+ categories: zod_1.z.array(zod_1.z.string()).optional(),
89
+ last_updated: zod_1.z.string().optional(),
90
+ update_frequency: zod_1.z.union([zod_1.z.literal("realtime"), zod_1.z.literal("hourly"), zod_1.z.literal("daily"), zod_1.z.literal("weekly")]).optional()
91
+ }).optional(),
92
+ disclaimers: zod_1.z.array(zod_1.z.object({
93
+ text: zod_1.z.string(),
94
+ context: zod_1.z.string().optional(),
95
+ required: zod_1.z.boolean().optional()
96
+ })).optional(),
97
+ industry: zod_1.z.string().optional(),
98
+ target_audience: zod_1.z.string().optional(),
99
+ contact: zod_1.z.object({
100
+ email: zod_1.z.string().optional(),
101
+ phone: zod_1.z.string().optional()
102
+ }).optional(),
103
+ metadata: zod_1.z.object({
104
+ created_date: zod_1.z.string().optional(),
105
+ updated_date: zod_1.z.string().optional(),
106
+ version: zod_1.z.string().optional()
107
+ }).optional()
108
+ });
109
+ exports.ImageAssetSchema = zod_1.z.object({
110
+ url: zod_1.z.string(),
111
+ width: zod_1.z.number().optional(),
112
+ height: zod_1.z.number().optional(),
113
+ format: zod_1.z.string().optional(),
114
+ alt_text: zod_1.z.string().optional()
115
+ });
116
+ exports.VideoAssetSchema = zod_1.z.object({
117
+ url: zod_1.z.string(),
118
+ width: zod_1.z.number().optional(),
119
+ height: zod_1.z.number().optional(),
120
+ duration_ms: zod_1.z.number().optional(),
121
+ format: zod_1.z.string().optional(),
122
+ bitrate_kbps: zod_1.z.number().optional()
123
+ });
124
+ exports.AudioAssetSchema = zod_1.z.object({
125
+ url: zod_1.z.string(),
126
+ duration_ms: zod_1.z.number().optional(),
127
+ format: zod_1.z.string().optional(),
128
+ bitrate_kbps: zod_1.z.number().optional()
129
+ });
130
+ exports.TextAssetSchema = zod_1.z.object({
131
+ content: zod_1.z.string(),
132
+ language: zod_1.z.string().optional()
133
+ });
134
+ exports.HTMLAssetSchema = zod_1.z.object({
135
+ content: zod_1.z.string(),
136
+ version: zod_1.z.string().optional()
137
+ });
138
+ exports.CSSAssetSchema = zod_1.z.object({
139
+ content: zod_1.z.string(),
140
+ media: zod_1.z.string().optional()
141
+ });
142
+ exports.JavaScriptAssetSchema = zod_1.z.object({
143
+ content: zod_1.z.string(),
144
+ module_type: zod_1.z.union([zod_1.z.literal("esm"), zod_1.z.literal("commonjs"), zod_1.z.literal("script")]).optional()
145
+ });
146
+ exports.VASTAssetSchema = exports.VASTAsset1Schema.and(exports.VASTAsset2Schema);
147
+ exports.DAASTAssetSchema = exports.DAASTAsset1Schema.and(exports.DAASTAsset2Schema);
148
+ exports.URLAssetSchema = zod_1.z.object({
149
+ url: zod_1.z.string(),
150
+ description: zod_1.z.string().optional()
151
+ });
152
+ exports.PromotedProductsSchema = zod_1.z.object({
153
+ manifest_skus: zod_1.z.array(zod_1.z.string()).optional(),
154
+ manifest_tags: zod_1.z.array(zod_1.z.string()).optional(),
155
+ manifest_category: zod_1.z.string().optional(),
156
+ manifest_query: zod_1.z.string().optional()
157
+ });
158
+ exports.Product2Schema = zod_1.z.record(zod_1.z.string(), zod_1.z.unknown());
159
+ exports.PropertyIdentifierTypesSchema = zod_1.z.union([zod_1.z.literal("domain"), zod_1.z.literal("subdomain"), zod_1.z.literal("network_id"), zod_1.z.literal("ios_bundle"), zod_1.z.literal("android_package"), zod_1.z.literal("apple_app_store_id"), zod_1.z.literal("google_play_id"), zod_1.z.literal("roku_store_id"), zod_1.z.literal("fire_tv_asin"), zod_1.z.literal("samsung_app_id"), zod_1.z.literal("apple_tv_bundle"), zod_1.z.literal("bundle_id"), zod_1.z.literal("venue_id"), zod_1.z.literal("screen_id"), zod_1.z.literal("openooh_venue_type"), zod_1.z.literal("rss_url"), zod_1.z.literal("apple_podcast_id"), zod_1.z.literal("spotify_show_id"), zod_1.z.literal("podcast_guid")]);
160
+ exports.DeliveryTypeSchema = zod_1.z.union([zod_1.z.literal("guaranteed"), zod_1.z.literal("non_guaranteed")]);
161
+ exports.CPMFixedRatePricingOptionSchema = zod_1.z.object({
162
+ pricing_option_id: zod_1.z.string(),
163
+ pricing_model: zod_1.z.literal("cpm"),
164
+ rate: zod_1.z.number(),
165
+ currency: zod_1.z.string(),
166
+ min_spend_per_package: zod_1.z.number().optional()
167
+ });
168
+ exports.CPMAuctionPricingOptionSchema = zod_1.z.object({
169
+ pricing_option_id: zod_1.z.string(),
170
+ pricing_model: zod_1.z.literal("cpm"),
171
+ currency: zod_1.z.string(),
172
+ price_guidance: zod_1.z.object({
173
+ floor: zod_1.z.number(),
174
+ p25: zod_1.z.number().optional(),
175
+ p50: zod_1.z.number().optional(),
176
+ p75: zod_1.z.number().optional(),
177
+ p90: zod_1.z.number().optional()
178
+ }),
179
+ min_spend_per_package: zod_1.z.number().optional()
180
+ });
181
+ exports.VCPMFixedRatePricingOptionSchema = zod_1.z.object({
182
+ pricing_option_id: zod_1.z.string(),
183
+ pricing_model: zod_1.z.literal("vcpm"),
184
+ rate: zod_1.z.number(),
185
+ currency: zod_1.z.string(),
186
+ min_spend_per_package: zod_1.z.number().optional()
187
+ });
188
+ exports.VCPMAuctionPricingOptionSchema = zod_1.z.object({
189
+ pricing_option_id: zod_1.z.string(),
190
+ pricing_model: zod_1.z.literal("vcpm"),
191
+ currency: zod_1.z.string(),
192
+ price_guidance: zod_1.z.object({
193
+ floor: zod_1.z.number(),
194
+ p25: zod_1.z.number().optional(),
195
+ p50: zod_1.z.number().optional(),
196
+ p75: zod_1.z.number().optional(),
197
+ p90: zod_1.z.number().optional()
198
+ }),
199
+ min_spend_per_package: zod_1.z.number().optional()
200
+ });
201
+ exports.CPCPricingOptionSchema = zod_1.z.object({
202
+ pricing_option_id: zod_1.z.string(),
203
+ pricing_model: zod_1.z.literal("cpc"),
204
+ rate: zod_1.z.number(),
205
+ currency: zod_1.z.string(),
206
+ min_spend_per_package: zod_1.z.number().optional()
207
+ });
208
+ exports.CPCVPricingOptionSchema = zod_1.z.object({
209
+ pricing_option_id: zod_1.z.string(),
210
+ pricing_model: zod_1.z.literal("cpcv"),
211
+ rate: zod_1.z.number(),
212
+ currency: zod_1.z.string(),
213
+ min_spend_per_package: zod_1.z.number().optional()
214
+ });
215
+ exports.CPVPricingOptionSchema = zod_1.z.object({
216
+ pricing_option_id: zod_1.z.string(),
217
+ pricing_model: zod_1.z.literal("cpv"),
218
+ rate: zod_1.z.number(),
219
+ currency: zod_1.z.string(),
220
+ parameters: zod_1.z.object({
221
+ view_threshold: zod_1.z.union([zod_1.z.number(), zod_1.z.object({
222
+ duration_seconds: zod_1.z.number()
223
+ })])
224
+ }),
225
+ min_spend_per_package: zod_1.z.number().optional()
226
+ });
227
+ exports.CPPPricingOptionSchema = zod_1.z.object({
228
+ pricing_option_id: zod_1.z.string(),
229
+ pricing_model: zod_1.z.literal("cpp"),
230
+ rate: zod_1.z.number(),
231
+ currency: zod_1.z.string(),
232
+ parameters: zod_1.z.object({
233
+ demographic: zod_1.z.string(),
234
+ min_points: zod_1.z.number().optional()
235
+ }),
236
+ min_spend_per_package: zod_1.z.number().optional()
237
+ });
238
+ exports.FlatRatePricingOptionSchema = zod_1.z.object({
239
+ pricing_option_id: zod_1.z.string(),
240
+ pricing_model: zod_1.z.literal("flat_rate"),
241
+ rate: zod_1.z.number(),
242
+ currency: zod_1.z.string(),
243
+ is_fixed: zod_1.z.literal(true),
244
+ parameters: zod_1.z.object({
245
+ duration_hours: zod_1.z.number().optional(),
246
+ sov_percentage: zod_1.z.number().optional(),
247
+ loop_duration_seconds: zod_1.z.number().optional(),
248
+ min_plays_per_hour: zod_1.z.number().optional(),
249
+ venue_package: zod_1.z.string().optional(),
250
+ estimated_impressions: zod_1.z.number().optional(),
251
+ daypart: zod_1.z.string().optional()
252
+ }).optional(),
253
+ min_spend_per_package: zod_1.z.number().optional()
254
+ });
255
+ exports.PropertySchema = zod_1.z.object({
256
+ property_type: zod_1.z.union([zod_1.z.literal("website"), zod_1.z.literal("mobile_app"), zod_1.z.literal("ctv_app"), zod_1.z.literal("dooh"), zod_1.z.literal("podcast"), zod_1.z.literal("radio"), zod_1.z.literal("streaming_audio")]),
257
+ name: zod_1.z.string(),
258
+ identifiers: zod_1.z.tuple([zod_1.z.object({
259
+ type: exports.PropertyIdentifierTypesSchema,
260
+ value: zod_1.z.string()
261
+ })]).rest(zod_1.z.object({
262
+ type: exports.PropertyIdentifierTypesSchema,
263
+ value: zod_1.z.string()
264
+ })),
265
+ tags: zod_1.z.array(zod_1.z.string()).optional(),
266
+ publisher_domain: zod_1.z.string()
267
+ });
268
+ exports.PricingOptionSchema = zod_1.z.union([exports.CPMFixedRatePricingOptionSchema, exports.CPMAuctionPricingOptionSchema, exports.VCPMFixedRatePricingOptionSchema, exports.VCPMAuctionPricingOptionSchema, exports.CPCPricingOptionSchema, exports.CPCVPricingOptionSchema, exports.CPVPricingOptionSchema, exports.CPPPricingOptionSchema, exports.FlatRatePricingOptionSchema]);
269
+ exports.MeasurementSchema = zod_1.z.object({
270
+ type: zod_1.z.string(),
271
+ attribution: zod_1.z.string(),
272
+ window: zod_1.z.string().optional(),
273
+ reporting: zod_1.z.string()
274
+ });
275
+ exports.ReportingCapabilitiesSchema = zod_1.z.object({
276
+ available_reporting_frequencies: zod_1.z.tuple([zod_1.z.union([zod_1.z.literal("hourly"), zod_1.z.literal("daily"), zod_1.z.literal("monthly")])]).rest(zod_1.z.union([zod_1.z.literal("hourly"), zod_1.z.literal("daily"), zod_1.z.literal("monthly")])),
277
+ expected_delay_minutes: zod_1.z.number(),
278
+ timezone: zod_1.z.string(),
279
+ supports_webhooks: zod_1.z.boolean(),
280
+ available_metrics: zod_1.z.array(zod_1.z.union([zod_1.z.literal("impressions"), zod_1.z.literal("spend"), zod_1.z.literal("clicks"), zod_1.z.literal("ctr"), zod_1.z.literal("video_completions"), zod_1.z.literal("completion_rate"), zod_1.z.literal("conversions"), zod_1.z.literal("viewability"), zod_1.z.literal("engagement_rate")]))
281
+ });
282
+ exports.CreativePolicySchema = zod_1.z.object({
283
+ co_branding: zod_1.z.union([zod_1.z.literal("required"), zod_1.z.literal("optional"), zod_1.z.literal("none")]),
284
+ landing_page: zod_1.z.union([zod_1.z.literal("any"), zod_1.z.literal("retailer_site_only"), zod_1.z.literal("must_include_retailer")]),
285
+ templates_available: zod_1.z.boolean()
286
+ });
287
+ exports.TargetingOverlaySchema = zod_1.z.object({
288
+ geo_country_any_of: zod_1.z.array(zod_1.z.string()).optional(),
289
+ geo_region_any_of: zod_1.z.array(zod_1.z.string()).optional(),
290
+ geo_metro_any_of: zod_1.z.array(zod_1.z.string()).optional(),
291
+ geo_postal_code_any_of: zod_1.z.array(zod_1.z.string()).optional(),
292
+ frequency_cap: exports.FrequencyCapSchema.optional()
293
+ });
294
+ exports.PackageSchema = zod_1.z.object({
295
+ package_id: zod_1.z.string(),
296
+ buyer_ref: zod_1.z.string().optional(),
297
+ product_id: zod_1.z.string().optional(),
298
+ budget: zod_1.z.number().optional(),
299
+ pacing: exports.PacingSchema.optional(),
300
+ pricing_option_id: zod_1.z.string().optional(),
301
+ bid_price: zod_1.z.number().optional(),
302
+ impressions: zod_1.z.number().optional(),
303
+ targeting_overlay: exports.TargetingOverlaySchema.optional(),
304
+ creative_assignments: zod_1.z.array(exports.CreativeAssignmentSchema).optional(),
305
+ format_ids_to_provide: zod_1.z.array(exports.FormatIDSchema).optional(),
306
+ status: exports.PackageStatusSchema
307
+ });
308
+ exports.BrandManifestSchema = exports.BrandManifest1Schema.and(exports.BrandManifest2Schema);
309
+ exports.BrandManifestReferenceSchema = zod_1.z.union([exports.BrandManifestSchema, zod_1.z.string()]);
310
+ exports.Product1Schema = zod_1.z.object({
311
+ product_id: zod_1.z.string(),
312
+ name: zod_1.z.string(),
313
+ description: zod_1.z.string(),
314
+ properties: zod_1.z.tuple([exports.PropertySchema]).rest(exports.PropertySchema).optional(),
315
+ property_tags: zod_1.z.tuple([zod_1.z.string()]).rest(zod_1.z.string()).optional(),
316
+ format_ids: zod_1.z.array(exports.FormatIDSchema),
317
+ delivery_type: exports.DeliveryTypeSchema,
318
+ pricing_options: zod_1.z.tuple([exports.PricingOptionSchema]).rest(exports.PricingOptionSchema),
319
+ estimated_exposures: zod_1.z.number().optional(),
320
+ measurement: exports.MeasurementSchema.optional(),
321
+ delivery_measurement: zod_1.z.object({
322
+ provider: zod_1.z.string(),
323
+ notes: zod_1.z.string().optional()
324
+ }),
325
+ reporting_capabilities: exports.ReportingCapabilitiesSchema.optional(),
326
+ creative_policy: exports.CreativePolicySchema.optional(),
327
+ is_custom: zod_1.z.boolean().optional(),
328
+ brief_relevance: zod_1.z.string().optional(),
329
+ expires_at: zod_1.z.string().optional()
330
+ });
331
+ exports.MediaBuySchema = zod_1.z.object({
332
+ media_buy_id: zod_1.z.string(),
333
+ buyer_ref: zod_1.z.string().optional(),
334
+ status: exports.MediaBuyStatusSchema,
335
+ promoted_offering: zod_1.z.string(),
336
+ total_budget: zod_1.z.number(),
337
+ packages: zod_1.z.array(exports.PackageSchema),
338
+ creative_deadline: zod_1.z.string().optional(),
339
+ created_at: zod_1.z.string().optional(),
340
+ updated_at: zod_1.z.string().optional()
341
+ });
342
+ exports.PromotedOfferingsSchema = zod_1.z.object({
343
+ brand_manifest: exports.BrandManifestReferenceSchema,
344
+ product_selectors: exports.PromotedProductsSchema.optional(),
345
+ offerings: zod_1.z.array(zod_1.z.object({
346
+ name: zod_1.z.string(),
347
+ description: zod_1.z.string().optional(),
348
+ assets: zod_1.z.array(zod_1.z.record(zod_1.z.string(), zod_1.z.unknown())).optional()
349
+ })).optional(),
350
+ asset_selectors: zod_1.z.object({
351
+ tags: zod_1.z.array(zod_1.z.string()).optional(),
352
+ asset_types: zod_1.z.array(zod_1.z.union([zod_1.z.literal("image"), zod_1.z.literal("video"), zod_1.z.literal("audio"), zod_1.z.literal("vast"), zod_1.z.literal("daast"), zod_1.z.literal("text"), zod_1.z.literal("url"), zod_1.z.literal("html"), zod_1.z.literal("css"), zod_1.z.literal("javascript"), zod_1.z.literal("webhook")])).optional(),
353
+ exclude_tags: zod_1.z.array(zod_1.z.string()).optional()
354
+ }).optional()
355
+ });
356
+ exports.ProductSchema = exports.Product1Schema.and(exports.Product2Schema);
357
+ exports.CreativeAssetSchema = zod_1.z.object({
358
+ creative_id: zod_1.z.string(),
359
+ name: zod_1.z.string(),
360
+ format_id: exports.FormatIDSchema,
361
+ assets: zod_1.z.record(zod_1.z.string(), zod_1.z.union([exports.ImageAssetSchema, exports.VideoAssetSchema, exports.AudioAssetSchema, exports.TextAssetSchema, exports.HTMLAssetSchema, exports.CSSAssetSchema, exports.JavaScriptAssetSchema, exports.VASTAssetSchema, exports.DAASTAssetSchema, exports.PromotedOfferingsSchema, exports.URLAssetSchema])),
362
+ inputs: zod_1.z.array(zod_1.z.object({
363
+ name: zod_1.z.string(),
364
+ macros: zod_1.z.record(zod_1.z.string(), zod_1.z.string()).optional(),
365
+ context_description: zod_1.z.string().optional()
366
+ })).optional(),
367
+ tags: zod_1.z.array(zod_1.z.string()).optional(),
368
+ approved: zod_1.z.boolean().optional()
369
+ });
370
+ // ====== TOOL SCHEMAS ======
371
+ // Generated by ts-to-zod
372
+ exports.ErrorSchema = zod_1.z.object({
373
+ code: zod_1.z.string(),
374
+ message: zod_1.z.string(),
375
+ field: zod_1.z.string().optional(),
376
+ suggestion: zod_1.z.string().optional(),
377
+ retry_after: zod_1.z.number().optional(),
378
+ details: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()).optional()
379
+ });
380
+ exports.ListCreativeFormatsRequestSchema = zod_1.z.object({
381
+ format_ids: zod_1.z.array(exports.FormatIDSchema).optional(),
382
+ type: zod_1.z.union([zod_1.z.literal("audio"), zod_1.z.literal("video"), zod_1.z.literal("display"), zod_1.z.literal("dooh")]).optional(),
383
+ asset_types: zod_1.z.array(zod_1.z.union([zod_1.z.literal("image"), zod_1.z.literal("video"), zod_1.z.literal("audio"), zod_1.z.literal("text"), zod_1.z.literal("html"), zod_1.z.literal("javascript"), zod_1.z.literal("url")])).optional(),
384
+ max_width: zod_1.z.number().optional(),
385
+ max_height: zod_1.z.number().optional(),
386
+ min_width: zod_1.z.number().optional(),
387
+ min_height: zod_1.z.number().optional(),
388
+ is_responsive: zod_1.z.boolean().optional(),
389
+ name_search: zod_1.z.string().optional()
390
+ });
391
+ exports.StartTimingSchema = zod_1.z.union([zod_1.z.literal("asap"), zod_1.z.string()]);
392
+ exports.PushNotificationConfigSchema = zod_1.z.object({
393
+ url: zod_1.z.string(),
394
+ token: zod_1.z.string().optional(),
395
+ authentication: zod_1.z.object({
396
+ schemes: zod_1.z.tuple([zod_1.z.union([zod_1.z.literal("Bearer"), zod_1.z.literal("HMAC-SHA256")])]),
397
+ credentials: zod_1.z.string()
398
+ })
399
+ });
400
+ exports.CreateMediaBuyResponseSchema = zod_1.z.object({
401
+ media_buy_id: zod_1.z.string().optional(),
402
+ buyer_ref: zod_1.z.string(),
403
+ creative_deadline: zod_1.z.string().optional(),
404
+ packages: zod_1.z.array(zod_1.z.object({
405
+ package_id: zod_1.z.string(),
406
+ buyer_ref: zod_1.z.string()
407
+ })).optional(),
408
+ errors: zod_1.z.array(exports.ErrorSchema).optional()
409
+ });
410
+ exports.SyncCreativesResponseSchema = zod_1.z.object({
411
+ dry_run: zod_1.z.boolean().optional(),
412
+ creatives: zod_1.z.array(zod_1.z.object({
413
+ creative_id: zod_1.z.string(),
414
+ action: zod_1.z.union([zod_1.z.literal("created"), zod_1.z.literal("updated"), zod_1.z.literal("unchanged"), zod_1.z.literal("failed"), zod_1.z.literal("deleted")]),
415
+ platform_id: zod_1.z.string().optional(),
416
+ changes: zod_1.z.array(zod_1.z.string()).optional(),
417
+ errors: zod_1.z.array(zod_1.z.string()).optional(),
418
+ warnings: zod_1.z.array(zod_1.z.string()).optional(),
419
+ preview_url: zod_1.z.string().optional(),
420
+ expires_at: zod_1.z.string().optional(),
421
+ assigned_to: zod_1.z.array(zod_1.z.string()).optional(),
422
+ assignment_errors: zod_1.z.record(zod_1.z.string(), zod_1.z.string()).optional()
423
+ }))
424
+ });
425
+ exports.CreativeStatusSchema = zod_1.z.union([zod_1.z.literal("processing"), zod_1.z.literal("approved"), zod_1.z.literal("rejected"), zod_1.z.literal("pending_review")]);
426
+ exports.CreativeStatus1Schema = zod_1.z.union([zod_1.z.literal("processing"), zod_1.z.literal("approved"), zod_1.z.literal("rejected"), zod_1.z.literal("pending_review")]);
427
+ exports.UpdateMediaBuyRequest1Schema = zod_1.z.object({
428
+ media_buy_id: zod_1.z.string().optional(),
429
+ buyer_ref: zod_1.z.string().optional(),
430
+ active: zod_1.z.boolean().optional(),
431
+ start_time: exports.StartTimingSchema.optional(),
432
+ end_time: zod_1.z.string().optional(),
433
+ budget: zod_1.z.number().optional(),
434
+ packages: zod_1.z.array(zod_1.z.union([zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()), zod_1.z.record(zod_1.z.string(), zod_1.z.unknown())])).optional(),
435
+ push_notification_config: exports.PushNotificationConfigSchema.optional()
436
+ });
437
+ exports.UpdateMediaBuyRequest2Schema = zod_1.z.record(zod_1.z.string(), zod_1.z.unknown());
438
+ exports.UpdateMediaBuyResponseSchema = zod_1.z.object({
439
+ media_buy_id: zod_1.z.string(),
440
+ buyer_ref: zod_1.z.string(),
441
+ implementation_date: zod_1.z.string().optional().nullable(),
442
+ affected_packages: zod_1.z.array(zod_1.z.object({
443
+ package_id: zod_1.z.string(),
444
+ buyer_ref: zod_1.z.string()
445
+ })).optional(),
446
+ errors: zod_1.z.array(exports.ErrorSchema).optional()
447
+ });
448
+ exports.GetMediaBuyDeliveryRequestSchema = zod_1.z.object({
449
+ media_buy_ids: zod_1.z.array(zod_1.z.string()).optional(),
450
+ buyer_refs: zod_1.z.array(zod_1.z.string()).optional(),
451
+ status_filter: zod_1.z.union([zod_1.z.union([zod_1.z.literal("active"), zod_1.z.literal("pending"), zod_1.z.literal("paused"), zod_1.z.literal("completed"), zod_1.z.literal("failed"), zod_1.z.literal("all")]), zod_1.z.array(zod_1.z.union([zod_1.z.literal("active"), zod_1.z.literal("pending"), zod_1.z.literal("paused"), zod_1.z.literal("completed"), zod_1.z.literal("failed")]))]).optional(),
452
+ start_date: zod_1.z.string().optional(),
453
+ end_date: zod_1.z.string().optional()
454
+ });
455
+ exports.PricingModelSchema = zod_1.z.union([zod_1.z.literal("cpm"), zod_1.z.literal("vcpm"), zod_1.z.literal("cpc"), zod_1.z.literal("cpcv"), zod_1.z.literal("cpv"), zod_1.z.literal("cpp"), zod_1.z.literal("flat_rate")]);
456
+ exports.DeliveryMetricsSchema = zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()).and(zod_1.z.object({
457
+ impressions: zod_1.z.number().optional(),
458
+ spend: zod_1.z.number().optional(),
459
+ clicks: zod_1.z.number().optional(),
460
+ ctr: zod_1.z.number().optional(),
461
+ views: zod_1.z.number().optional(),
462
+ completed_views: zod_1.z.number().optional(),
463
+ completion_rate: zod_1.z.number().optional(),
464
+ conversions: zod_1.z.number().optional(),
465
+ leads: zod_1.z.number().optional(),
466
+ grps: zod_1.z.number().optional(),
467
+ reach: zod_1.z.number().optional(),
468
+ frequency: zod_1.z.number().optional(),
469
+ quartile_data: zod_1.z.object({
470
+ q1_views: zod_1.z.number().optional(),
471
+ q2_views: zod_1.z.number().optional(),
472
+ q3_views: zod_1.z.number().optional(),
473
+ q4_views: zod_1.z.number().optional()
474
+ }).optional(),
475
+ dooh_metrics: zod_1.z.object({
476
+ loop_plays: zod_1.z.number().optional(),
477
+ screens_used: zod_1.z.number().optional(),
478
+ screen_time_seconds: zod_1.z.number().optional(),
479
+ sov_achieved: zod_1.z.number().optional(),
480
+ calculation_notes: zod_1.z.string().optional(),
481
+ venue_breakdown: zod_1.z.array(zod_1.z.object({
482
+ venue_id: zod_1.z.string(),
483
+ venue_name: zod_1.z.string().optional(),
484
+ venue_type: zod_1.z.string().optional(),
485
+ impressions: zod_1.z.number(),
486
+ loop_plays: zod_1.z.number().optional(),
487
+ screens_used: zod_1.z.number().optional()
488
+ })).optional()
489
+ }).optional()
490
+ }));
491
+ exports.ListAuthorizedPropertiesRequestSchema = zod_1.z.object({
492
+ tags: zod_1.z.array(zod_1.z.string()).optional()
493
+ });
494
+ exports.AdvertisingChannelsSchema = zod_1.z.union([zod_1.z.literal("display"), zod_1.z.literal("video"), zod_1.z.literal("audio"), zod_1.z.literal("native"), zod_1.z.literal("dooh"), zod_1.z.literal("ctv"), zod_1.z.literal("podcast"), zod_1.z.literal("retail"), zod_1.z.literal("social")]);
495
+ exports.ProvidePerformanceFeedbackRequestSchema = zod_1.z.object({
496
+ media_buy_id: zod_1.z.string(),
497
+ measurement_period: zod_1.z.object({
498
+ start: zod_1.z.string(),
499
+ end: zod_1.z.string()
500
+ }),
501
+ performance_index: zod_1.z.number(),
502
+ package_id: zod_1.z.string().optional(),
503
+ creative_id: zod_1.z.string().optional(),
504
+ metric_type: zod_1.z.union([zod_1.z.literal("overall_performance"), zod_1.z.literal("conversion_rate"), zod_1.z.literal("brand_lift"), zod_1.z.literal("click_through_rate"), zod_1.z.literal("completion_rate"), zod_1.z.literal("viewability"), zod_1.z.literal("brand_safety"), zod_1.z.literal("cost_efficiency")]).optional(),
505
+ feedback_source: zod_1.z.union([zod_1.z.literal("buyer_attribution"), zod_1.z.literal("third_party_measurement"), zod_1.z.literal("platform_analytics"), zod_1.z.literal("verification_partner")]).optional()
506
+ });
507
+ exports.ProvidePerformanceFeedbackResponseSchema = zod_1.z.object({
508
+ success: zod_1.z.boolean(),
509
+ errors: zod_1.z.array(exports.ErrorSchema).optional()
510
+ });
511
+ exports.FormatID1Schema = zod_1.z.object({
512
+ agent_url: zod_1.z.string(),
513
+ id: zod_1.z.string()
514
+ });
515
+ exports.PreviewCreativeResponseSchema = zod_1.z.object({
516
+ previews: zod_1.z.tuple([zod_1.z.object({
517
+ preview_id: zod_1.z.string(),
518
+ renders: zod_1.z.tuple([zod_1.z.object({
519
+ render_id: zod_1.z.string(),
520
+ preview_url: zod_1.z.string(),
521
+ role: zod_1.z.string(),
522
+ dimensions: zod_1.z.object({
523
+ width: zod_1.z.number(),
524
+ height: zod_1.z.number()
525
+ }).optional(),
526
+ embedding: zod_1.z.object({
527
+ recommended_sandbox: zod_1.z.string().optional(),
528
+ requires_https: zod_1.z.boolean().optional(),
529
+ supports_fullscreen: zod_1.z.boolean().optional(),
530
+ csp_policy: zod_1.z.string().optional()
531
+ }).optional()
532
+ })]).rest(zod_1.z.object({
533
+ render_id: zod_1.z.string(),
534
+ preview_url: zod_1.z.string(),
535
+ role: zod_1.z.string(),
536
+ dimensions: zod_1.z.object({
537
+ width: zod_1.z.number(),
538
+ height: zod_1.z.number()
539
+ }).optional(),
540
+ embedding: zod_1.z.object({
541
+ recommended_sandbox: zod_1.z.string().optional(),
542
+ requires_https: zod_1.z.boolean().optional(),
543
+ supports_fullscreen: zod_1.z.boolean().optional(),
544
+ csp_policy: zod_1.z.string().optional()
545
+ }).optional()
546
+ })),
547
+ input: zod_1.z.object({
548
+ name: zod_1.z.string(),
549
+ macros: zod_1.z.record(zod_1.z.string(), zod_1.z.string()).optional(),
550
+ context_description: zod_1.z.string().optional()
551
+ })
552
+ })]).rest(zod_1.z.object({
553
+ preview_id: zod_1.z.string(),
554
+ renders: zod_1.z.tuple([zod_1.z.object({
555
+ render_id: zod_1.z.string(),
556
+ preview_url: zod_1.z.string(),
557
+ role: zod_1.z.string(),
558
+ dimensions: zod_1.z.object({
559
+ width: zod_1.z.number(),
560
+ height: zod_1.z.number()
561
+ }).optional(),
562
+ embedding: zod_1.z.object({
563
+ recommended_sandbox: zod_1.z.string().optional(),
564
+ requires_https: zod_1.z.boolean().optional(),
565
+ supports_fullscreen: zod_1.z.boolean().optional(),
566
+ csp_policy: zod_1.z.string().optional()
567
+ }).optional()
568
+ })]).rest(zod_1.z.object({
569
+ render_id: zod_1.z.string(),
570
+ preview_url: zod_1.z.string(),
571
+ role: zod_1.z.string(),
572
+ dimensions: zod_1.z.object({
573
+ width: zod_1.z.number(),
574
+ height: zod_1.z.number()
575
+ }).optional(),
576
+ embedding: zod_1.z.object({
577
+ recommended_sandbox: zod_1.z.string().optional(),
578
+ requires_https: zod_1.z.boolean().optional(),
579
+ supports_fullscreen: zod_1.z.boolean().optional(),
580
+ csp_policy: zod_1.z.string().optional()
581
+ }).optional()
582
+ })),
583
+ input: zod_1.z.object({
584
+ name: zod_1.z.string(),
585
+ macros: zod_1.z.record(zod_1.z.string(), zod_1.z.string()).optional(),
586
+ context_description: zod_1.z.string().optional()
587
+ })
588
+ })),
589
+ interactive_url: zod_1.z.string().optional(),
590
+ expires_at: zod_1.z.string()
591
+ });
592
+ exports.GetSignalsRequestSchema = zod_1.z.object({
593
+ signal_spec: zod_1.z.string(),
594
+ deliver_to: zod_1.z.object({
595
+ platforms: zod_1.z.union([zod_1.z.literal("all"), zod_1.z.array(zod_1.z.string())]),
596
+ accounts: zod_1.z.array(zod_1.z.object({
597
+ platform: zod_1.z.string(),
598
+ account: zod_1.z.string()
599
+ })).optional(),
600
+ countries: zod_1.z.array(zod_1.z.string())
601
+ }),
602
+ filters: zod_1.z.object({
603
+ catalog_types: zod_1.z.array(zod_1.z.union([zod_1.z.literal("marketplace"), zod_1.z.literal("custom"), zod_1.z.literal("owned")])).optional(),
604
+ data_providers: zod_1.z.array(zod_1.z.string()).optional(),
605
+ max_cpm: zod_1.z.number().optional(),
606
+ min_coverage_percentage: zod_1.z.number().optional()
607
+ }).optional(),
608
+ max_results: zod_1.z.number().optional()
609
+ });
610
+ exports.GetSignalsResponseSchema = zod_1.z.object({
611
+ signals: zod_1.z.array(zod_1.z.object({
612
+ signal_agent_segment_id: zod_1.z.string(),
613
+ name: zod_1.z.string(),
614
+ description: zod_1.z.string(),
615
+ signal_type: zod_1.z.union([zod_1.z.literal("marketplace"), zod_1.z.literal("custom"), zod_1.z.literal("owned")]),
616
+ data_provider: zod_1.z.string(),
617
+ coverage_percentage: zod_1.z.number(),
618
+ deployments: zod_1.z.array(zod_1.z.object({
619
+ platform: zod_1.z.string(),
620
+ account: zod_1.z.string().optional().nullable(),
621
+ is_live: zod_1.z.boolean(),
622
+ scope: zod_1.z.union([zod_1.z.literal("platform-wide"), zod_1.z.literal("account-specific")]),
623
+ decisioning_platform_segment_id: zod_1.z.string().optional(),
624
+ estimated_activation_duration_minutes: zod_1.z.number().optional()
625
+ })),
626
+ pricing: zod_1.z.object({
627
+ cpm: zod_1.z.number(),
628
+ currency: zod_1.z.string()
629
+ })
630
+ })),
631
+ errors: zod_1.z.array(exports.ErrorSchema).optional()
632
+ });
633
+ exports.ActivateSignalRequestSchema = zod_1.z.object({
634
+ signal_agent_segment_id: zod_1.z.string(),
635
+ platform: zod_1.z.string(),
636
+ account: zod_1.z.string().optional()
637
+ });
638
+ exports.ActivateSignalResponseSchema = zod_1.z.object({
639
+ decisioning_platform_segment_id: zod_1.z.string().optional(),
640
+ estimated_activation_duration_minutes: zod_1.z.number().optional(),
641
+ deployed_at: zod_1.z.string().optional(),
642
+ errors: zod_1.z.array(exports.ErrorSchema).optional()
643
+ });
644
+ exports.FormatSchema = zod_1.z.object({
645
+ format_id: exports.FormatIDSchema,
646
+ name: zod_1.z.string(),
647
+ description: zod_1.z.string().optional(),
648
+ preview_image: zod_1.z.string().optional(),
649
+ example_url: zod_1.z.string().optional(),
650
+ type: zod_1.z.union([zod_1.z.literal("audio"), zod_1.z.literal("video"), zod_1.z.literal("display"), zod_1.z.literal("native"), zod_1.z.literal("dooh"), zod_1.z.literal("rich_media"), zod_1.z.literal("universal")]),
651
+ renders: zod_1.z.tuple([zod_1.z.object({
652
+ role: zod_1.z.string(),
653
+ dimensions: zod_1.z.object({
654
+ width: zod_1.z.number().optional(),
655
+ height: zod_1.z.number().optional(),
656
+ min_width: zod_1.z.number().optional(),
657
+ min_height: zod_1.z.number().optional(),
658
+ max_width: zod_1.z.number().optional(),
659
+ max_height: zod_1.z.number().optional(),
660
+ responsive: zod_1.z.object({
661
+ width: zod_1.z.boolean(),
662
+ height: zod_1.z.boolean()
663
+ }).optional(),
664
+ aspect_ratio: zod_1.z.string().optional(),
665
+ unit: zod_1.z.union([zod_1.z.literal("px"), zod_1.z.literal("dp"), zod_1.z.literal("inches"), zod_1.z.literal("cm")])
666
+ })
667
+ })]).rest(zod_1.z.object({
668
+ role: zod_1.z.string(),
669
+ dimensions: zod_1.z.object({
670
+ width: zod_1.z.number().optional(),
671
+ height: zod_1.z.number().optional(),
672
+ min_width: zod_1.z.number().optional(),
673
+ min_height: zod_1.z.number().optional(),
674
+ max_width: zod_1.z.number().optional(),
675
+ max_height: zod_1.z.number().optional(),
676
+ responsive: zod_1.z.object({
677
+ width: zod_1.z.boolean(),
678
+ height: zod_1.z.boolean()
679
+ }).optional(),
680
+ aspect_ratio: zod_1.z.string().optional(),
681
+ unit: zod_1.z.union([zod_1.z.literal("px"), zod_1.z.literal("dp"), zod_1.z.literal("inches"), zod_1.z.literal("cm")])
682
+ })
683
+ })).optional(),
684
+ assets_required: zod_1.z.array(zod_1.z.union([zod_1.z.object({
685
+ asset_id: zod_1.z.string(),
686
+ asset_type: zod_1.z.union([zod_1.z.literal("image"), zod_1.z.literal("video"), zod_1.z.literal("audio"), zod_1.z.literal("vast"), zod_1.z.literal("daast"), zod_1.z.literal("text"), zod_1.z.literal("html"), zod_1.z.literal("css"), zod_1.z.literal("javascript"), zod_1.z.literal("url"), zod_1.z.literal("webhook"), zod_1.z.literal("promoted_offerings")]),
687
+ asset_role: zod_1.z.string().optional(),
688
+ required: zod_1.z.boolean().optional(),
689
+ requirements: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()).optional()
690
+ }), zod_1.z.object({
691
+ asset_group_id: zod_1.z.string(),
692
+ repeatable: zod_1.z.literal(true),
693
+ min_count: zod_1.z.number(),
694
+ max_count: zod_1.z.number(),
695
+ assets: zod_1.z.array(zod_1.z.object({
696
+ asset_id: zod_1.z.string(),
697
+ asset_type: zod_1.z.union([zod_1.z.literal("image"), zod_1.z.literal("video"), zod_1.z.literal("audio"), zod_1.z.literal("vast"), zod_1.z.literal("daast"), zod_1.z.literal("text"), zod_1.z.literal("html"), zod_1.z.literal("css"), zod_1.z.literal("javascript"), zod_1.z.literal("url"), zod_1.z.literal("webhook"), zod_1.z.literal("promoted_offerings")]),
698
+ asset_role: zod_1.z.string().optional(),
699
+ required: zod_1.z.boolean().optional(),
700
+ requirements: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()).optional()
701
+ }))
702
+ })])).optional(),
703
+ delivery: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()).optional(),
704
+ supported_macros: zod_1.z.array(zod_1.z.string()).optional(),
705
+ output_format_ids: zod_1.z.array(exports.FormatID1Schema).optional()
706
+ });
707
+ exports.ListCreativesRequestSchema = zod_1.z.object({
708
+ filters: zod_1.z.object({
709
+ format: zod_1.z.string().optional(),
710
+ formats: zod_1.z.array(zod_1.z.string()).optional(),
711
+ status: exports.CreativeStatusSchema.optional(),
712
+ statuses: zod_1.z.array(exports.CreativeStatus1Schema).optional(),
713
+ tags: zod_1.z.array(zod_1.z.string()).optional(),
714
+ tags_any: zod_1.z.array(zod_1.z.string()).optional(),
715
+ name_contains: zod_1.z.string().optional(),
716
+ creative_ids: zod_1.z.array(zod_1.z.string()).optional(),
717
+ created_after: zod_1.z.string().optional(),
718
+ created_before: zod_1.z.string().optional(),
719
+ updated_after: zod_1.z.string().optional(),
720
+ updated_before: zod_1.z.string().optional(),
721
+ assigned_to_package: zod_1.z.string().optional(),
722
+ assigned_to_packages: zod_1.z.array(zod_1.z.string()).optional(),
723
+ unassigned: zod_1.z.boolean().optional(),
724
+ has_performance_data: zod_1.z.boolean().optional()
725
+ }).optional(),
726
+ sort: zod_1.z.object({
727
+ field: zod_1.z.union([zod_1.z.literal("created_date"), zod_1.z.literal("updated_date"), zod_1.z.literal("name"), zod_1.z.literal("status"), zod_1.z.literal("assignment_count"), zod_1.z.literal("performance_score")]).optional(),
728
+ direction: zod_1.z.union([zod_1.z.literal("asc"), zod_1.z.literal("desc")]).optional()
729
+ }).optional(),
730
+ pagination: zod_1.z.object({
731
+ limit: zod_1.z.number().optional(),
732
+ offset: zod_1.z.number().optional()
733
+ }).optional(),
734
+ include_assignments: zod_1.z.boolean().optional(),
735
+ include_performance: zod_1.z.boolean().optional(),
736
+ include_sub_assets: zod_1.z.boolean().optional(),
737
+ fields: zod_1.z.array(zod_1.z.union([zod_1.z.literal("creative_id"), zod_1.z.literal("name"), zod_1.z.literal("format"), zod_1.z.literal("status"), zod_1.z.literal("created_date"), zod_1.z.literal("updated_date"), zod_1.z.literal("tags"), zod_1.z.literal("assignments"), zod_1.z.literal("performance"), zod_1.z.literal("sub_assets")])).optional()
738
+ });
739
+ exports.UpdateMediaBuyRequestSchema = exports.UpdateMediaBuyRequest1Schema.and(exports.UpdateMediaBuyRequest2Schema);
740
+ exports.GetMediaBuyDeliveryResponseSchema = zod_1.z.object({
741
+ notification_type: zod_1.z.union([zod_1.z.literal("scheduled"), zod_1.z.literal("final"), zod_1.z.literal("delayed"), zod_1.z.literal("adjusted")]).optional(),
742
+ partial_data: zod_1.z.boolean().optional(),
743
+ unavailable_count: zod_1.z.number().optional(),
744
+ sequence_number: zod_1.z.number().optional(),
745
+ next_expected_at: zod_1.z.string().optional(),
746
+ reporting_period: zod_1.z.object({
747
+ start: zod_1.z.string(),
748
+ end: zod_1.z.string()
749
+ }),
750
+ currency: zod_1.z.string(),
751
+ aggregated_totals: zod_1.z.object({
752
+ impressions: zod_1.z.number(),
753
+ spend: zod_1.z.number(),
754
+ clicks: zod_1.z.number().optional(),
755
+ video_completions: zod_1.z.number().optional(),
756
+ media_buy_count: zod_1.z.number()
757
+ }).optional(),
758
+ media_buy_deliveries: zod_1.z.array(zod_1.z.object({
759
+ media_buy_id: zod_1.z.string(),
760
+ buyer_ref: zod_1.z.string().optional(),
761
+ status: zod_1.z.union([zod_1.z.literal("pending"), zod_1.z.literal("active"), zod_1.z.literal("paused"), zod_1.z.literal("completed"), zod_1.z.literal("failed"), zod_1.z.literal("reporting_delayed")]),
762
+ expected_availability: zod_1.z.string().optional(),
763
+ is_adjusted: zod_1.z.boolean().optional(),
764
+ pricing_model: exports.PricingModelSchema.optional(),
765
+ totals: exports.DeliveryMetricsSchema.and(zod_1.z.object({
766
+ effective_rate: zod_1.z.number().optional()
767
+ })),
768
+ by_package: zod_1.z.array(exports.DeliveryMetricsSchema.and(zod_1.z.object({
769
+ package_id: zod_1.z.string(),
770
+ buyer_ref: zod_1.z.string().optional(),
771
+ pacing_index: zod_1.z.number().optional()
772
+ }))),
773
+ daily_breakdown: zod_1.z.array(zod_1.z.object({
774
+ date: zod_1.z.string(),
775
+ impressions: zod_1.z.number(),
776
+ spend: zod_1.z.number()
777
+ })).optional()
778
+ })),
779
+ errors: zod_1.z.array(exports.ErrorSchema).optional()
780
+ });
781
+ exports.ListCreativeFormatsResponseSchema = zod_1.z.object({
782
+ formats: zod_1.z.array(exports.FormatSchema),
783
+ creative_agents: zod_1.z.array(zod_1.z.object({
784
+ agent_url: zod_1.z.string(),
785
+ agent_name: zod_1.z.string().optional(),
786
+ capabilities: zod_1.z.array(zod_1.z.union([zod_1.z.literal("validation"), zod_1.z.literal("assembly"), zod_1.z.literal("generation"), zod_1.z.literal("preview")])).optional()
787
+ })).optional(),
788
+ errors: zod_1.z.array(exports.ErrorSchema).optional()
789
+ });
790
+ //# sourceMappingURL=schemas.generated.js.map