@adcp/client 2.7.1 → 3.0.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 (116) hide show
  1. package/bin/adcp-async-handler.js +10 -8
  2. package/bin/adcp-config.js +13 -6
  3. package/bin/adcp.js +113 -40
  4. package/dist/lib/advanced.d.ts +41 -0
  5. package/dist/lib/advanced.d.ts.map +1 -0
  6. package/dist/lib/advanced.js +49 -0
  7. package/dist/lib/advanced.js.map +1 -0
  8. package/dist/lib/auth/index.d.ts +4 -0
  9. package/dist/lib/auth/index.d.ts.map +1 -1
  10. package/dist/lib/auth/index.js +13 -14
  11. package/dist/lib/auth/index.js.map +1 -1
  12. package/dist/lib/core/ADCPMultiAgentClient.d.ts +54 -7
  13. package/dist/lib/core/ADCPMultiAgentClient.d.ts.map +1 -1
  14. package/dist/lib/core/ADCPMultiAgentClient.js +84 -10
  15. package/dist/lib/core/ADCPMultiAgentClient.js.map +1 -1
  16. package/dist/lib/core/AgentClient.d.ts +11 -2
  17. package/dist/lib/core/AgentClient.d.ts.map +1 -1
  18. package/dist/lib/core/AgentClient.js +57 -13
  19. package/dist/lib/core/AgentClient.js.map +1 -1
  20. package/dist/lib/core/AsyncHandler.d.ts +2 -1
  21. package/dist/lib/core/AsyncHandler.d.ts.map +1 -1
  22. package/dist/lib/core/AsyncHandler.js +3 -3
  23. package/dist/lib/core/AsyncHandler.js.map +1 -1
  24. package/dist/lib/core/ConfigurationManager.d.ts.map +1 -1
  25. package/dist/lib/core/ConfigurationManager.js +8 -17
  26. package/dist/lib/core/ConfigurationManager.js.map +1 -1
  27. package/dist/lib/core/ConversationTypes.d.ts.map +1 -1
  28. package/dist/lib/core/CreativeAgentClient.d.ts +5 -5
  29. package/dist/lib/core/CreativeAgentClient.d.ts.map +1 -1
  30. package/dist/lib/core/CreativeAgentClient.js +6 -6
  31. package/dist/lib/core/CreativeAgentClient.js.map +1 -1
  32. package/dist/lib/core/ProtocolResponseParser.d.ts +1 -1
  33. package/dist/lib/core/ProtocolResponseParser.d.ts.map +1 -1
  34. package/dist/lib/core/ProtocolResponseParser.js +4 -4
  35. package/dist/lib/core/ProtocolResponseParser.js.map +1 -1
  36. package/dist/lib/core/ResponseValidator.d.ts.map +1 -1
  37. package/dist/lib/core/ResponseValidator.js +1 -1
  38. package/dist/lib/core/ResponseValidator.js.map +1 -1
  39. package/dist/lib/core/{ADCPClient.d.ts → SingleAgentClient.d.ts} +22 -13
  40. package/dist/lib/core/SingleAgentClient.d.ts.map +1 -0
  41. package/dist/lib/core/{ADCPClient.js → SingleAgentClient.js} +125 -105
  42. package/dist/lib/core/SingleAgentClient.js.map +1 -0
  43. package/dist/lib/core/TaskEventTypes.js +1 -1
  44. package/dist/lib/core/TaskExecutor.d.ts.map +1 -1
  45. package/dist/lib/core/TaskExecutor.js +76 -57
  46. package/dist/lib/core/TaskExecutor.js.map +1 -1
  47. package/dist/lib/discovery/property-crawler.d.ts.map +1 -1
  48. package/dist/lib/discovery/property-crawler.js +24 -21
  49. package/dist/lib/discovery/property-crawler.js.map +1 -1
  50. package/dist/lib/discovery/property-index.d.ts.map +1 -1
  51. package/dist/lib/discovery/property-index.js +5 -5
  52. package/dist/lib/discovery/property-index.js.map +1 -1
  53. package/dist/lib/discovery/types.d.ts.map +1 -1
  54. package/dist/lib/errors/index.d.ts.map +1 -1
  55. package/dist/lib/errors/index.js +3 -3
  56. package/dist/lib/errors/index.js.map +1 -1
  57. package/dist/lib/handlers/types.d.ts.map +1 -1
  58. package/dist/lib/handlers/types.js.map +1 -1
  59. package/dist/lib/index.d.ts +18 -42
  60. package/dist/lib/index.d.ts.map +1 -1
  61. package/dist/lib/index.js +14 -50
  62. package/dist/lib/index.js.map +1 -1
  63. package/dist/lib/protocols/a2a.js +20 -20
  64. package/dist/lib/protocols/a2a.js.map +1 -1
  65. package/dist/lib/protocols/index.d.ts.map +1 -1
  66. package/dist/lib/protocols/index.js +5 -5
  67. package/dist/lib/protocols/index.js.map +1 -1
  68. package/dist/lib/protocols/mcp.d.ts.map +1 -1
  69. package/dist/lib/protocols/mcp.js +30 -69
  70. package/dist/lib/protocols/mcp.js.map +1 -1
  71. package/dist/lib/storage/MemoryStorage.d.ts.map +1 -1
  72. package/dist/lib/storage/MemoryStorage.js +4 -4
  73. package/dist/lib/storage/MemoryStorage.js.map +1 -1
  74. package/dist/lib/storage/interfaces.d.ts.map +1 -1
  75. package/dist/lib/testing/index.d.ts +2 -0
  76. package/dist/lib/testing/index.d.ts.map +1 -0
  77. package/dist/lib/testing/index.js +22 -0
  78. package/dist/lib/testing/index.js.map +1 -0
  79. package/dist/lib/testing/test-helpers.d.ts +217 -0
  80. package/dist/lib/testing/test-helpers.d.ts.map +1 -0
  81. package/dist/lib/testing/test-helpers.js +258 -0
  82. package/dist/lib/testing/test-helpers.js.map +1 -0
  83. package/dist/lib/types/adcp.d.ts.map +1 -1
  84. package/dist/lib/types/core.generated.d.ts +146 -58
  85. package/dist/lib/types/core.generated.d.ts.map +1 -1
  86. package/dist/lib/types/core.generated.js +1 -1
  87. package/dist/lib/types/index.d.ts +1 -1
  88. package/dist/lib/types/index.d.ts.map +1 -1
  89. package/dist/lib/types/schemas.generated.d.ts +2608 -1536
  90. package/dist/lib/types/schemas.generated.d.ts.map +1 -1
  91. package/dist/lib/types/schemas.generated.js +361 -259
  92. package/dist/lib/types/schemas.generated.js.map +1 -1
  93. package/dist/lib/types/tools.generated.d.ts +688 -359
  94. package/dist/lib/types/tools.generated.d.ts.map +1 -1
  95. package/dist/lib/types/tools.generated.js +1 -1
  96. package/dist/lib/types/tools.generated.js.map +1 -1
  97. package/dist/lib/utils/index.d.ts +1 -0
  98. package/dist/lib/utils/index.d.ts.map +1 -1
  99. package/dist/lib/utils/index.js +15 -10
  100. package/dist/lib/utils/index.js.map +1 -1
  101. package/dist/lib/utils/logger.js +6 -6
  102. package/dist/lib/utils/preview-utils.d.ts +87 -0
  103. package/dist/lib/utils/preview-utils.d.ts.map +1 -0
  104. package/dist/lib/utils/preview-utils.js +322 -0
  105. package/dist/lib/utils/preview-utils.js.map +1 -0
  106. package/dist/lib/utils/protocol-detection.d.ts.map +1 -1
  107. package/dist/lib/utils/protocol-detection.js +4 -4
  108. package/dist/lib/utils/protocol-detection.js.map +1 -1
  109. package/dist/lib/validation/index.d.ts.map +1 -1
  110. package/dist/lib/validation/index.js +5 -5
  111. package/dist/lib/validation/index.js.map +1 -1
  112. package/dist/lib/version.d.ts +3 -3
  113. package/dist/lib/version.js +3 -3
  114. package/package.json +18 -5
  115. package/dist/lib/core/ADCPClient.d.ts.map +0 -1
  116. package/dist/lib/core/ADCPClient.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  // Generated Zod v4 schemas from TypeScript types
3
- // Generated at: 2025-10-29T10:26:11.970Z
3
+ // Generated at: 2025-11-08T20:44:53.441Z
4
4
  // Sources:
5
5
  // - core.generated.ts (core types)
6
6
  // - tools.generated.ts (tool types)
@@ -8,8 +8,8 @@
8
8
  // These schemas provide runtime validation for AdCP data structures
9
9
  // Generated using ts-to-zod from TypeScript type definitions
10
10
  Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.FormatID1Schema = exports.PushNotificationConfigSchema = exports.StartTimingSchema = exports.BrandManifestReference1Schema = exports.ListCreativeFormatsRequestSchema = exports.ErrorSchema = exports.ProductSchema = exports.BrandManifestReferenceSchema = exports.BrandManifestSchema = exports.PropertySchema = exports.PropertyIdentifierTypesSchema = exports.TargetingOverlaySchema = exports.CreativePolicySchema = exports.ReportingCapabilitiesSchema = exports.MeasurementSchema = exports.PricingOptionSchema = exports.PlacementSchema = exports.FlatRatePricingOptionSchema = exports.CPPPricingOptionSchema = exports.CPVPricingOptionSchema = exports.CPCVPricingOptionSchema = exports.CPCPricingOptionSchema = exports.VCPMAuctionPricingOptionSchema = exports.VCPMFixedRatePricingOptionSchema = exports.CPMAuctionPricingOptionSchema = exports.CPMFixedRatePricingOptionSchema = exports.DeliveryTypeSchema = 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.CreateMediaBuyRequestSchema = exports.ListCreativeFormatsResponseSchema = exports.MediaBuySchema = exports.BuildCreativeResponseSchema = exports.BuildCreativeRequestSchema = exports.ListAuthorizedPropertiesResponseSchema = exports.GetMediaBuyDeliveryResponseSchema = exports.UpdateMediaBuyRequestSchema = exports.ListCreativesResponseSchema = exports.ListCreativesRequestSchema = exports.SyncCreativesRequestSchema = exports.PackageRequestSchema = exports.FormatSchema = exports.GetProductsResponseSchema = exports.GetProductsRequestSchema = exports.PackageSchema = exports.ActivateSignalResponseSchema = exports.ActivateSignalRequestSchema = exports.GetSignalsResponseSchema = exports.GetSignalsRequestSchema = exports.PreviewCreativeResponseSchema = exports.PreviewCreativeRequestSchema = exports.CreativeManifestSchema = exports.WebhookAssetSchema = exports.ProvidePerformanceFeedbackResponseSchema = exports.ProvidePerformanceFeedbackRequestSchema = exports.AdvertisingChannelsSchema = exports.ListAuthorizedPropertiesRequestSchema = exports.DeliveryMetricsSchema = exports.PricingModelSchema = exports.GetMediaBuyDeliveryRequestSchema = exports.UpdateMediaBuyResponseSchema = exports.UpdateMediaBuyRequest2Schema = exports.UpdateMediaBuyRequest1Schema = exports.SubAssetSchema = exports.SubAsset2Schema = exports.SubAsset1Schema = exports.CreativeStatus1Schema = exports.CreativeStatusSchema = exports.SyncCreativesResponseSchema = exports.CreativeAssetSchema = exports.CreateMediaBuyResponseSchema = exports.PromotedOfferingsSchema = void 0;
11
+ exports.CreateMediaBuyResponseSchema = exports.PromotedOfferingsSchema = exports.PushNotificationConfigSchema = exports.StartTimingSchema = exports.BrandManifestReference1Schema = exports.FormatID3Schema = exports.ListCreativeFormatsRequestSchema = exports.ErrorSchema = exports.ProductSchema = exports.BrandManifestReferenceSchema = exports.BrandManifestSchema = exports.PropertySchema = exports.PropertyIdentifierTypesSchema = exports.TargetingOverlaySchema = exports.FormatID2Schema = exports.FormatID1Schema = exports.CreativePolicySchema = exports.ReportingCapabilitiesSchema = exports.MeasurementSchema = exports.PricingOptionSchema = exports.PlacementSchema = exports.FlatRatePricingOptionSchema = exports.CPPPricingOptionSchema = exports.CPVPricingOptionSchema = exports.CPCVPricingOptionSchema = exports.CPCPricingOptionSchema = exports.VCPMAuctionPricingOptionSchema = exports.VCPMFixedRatePricingOptionSchema = exports.CPMAuctionPricingOptionSchema = exports.CPMFixedRatePricingOptionSchema = exports.DeliveryTypeSchema = exports.PromotedProductsSchema = exports.URLAssetSchema = exports.JavaScriptAssetSchema = exports.CSSAssetSchema = exports.HTMLAssetSchema = exports.TextAssetSchema = exports.AudioAssetSchema = exports.VideoAssetSchema = exports.ImageAssetSchema = exports.BrandManifest2Schema = exports.BrandManifest1Schema = exports.DAASTAssetSchema = exports.VASTAssetSchema = exports.FrequencyCapSchema = exports.FormatIDSchema = exports.CreativeAssignmentSchema = exports.PackageStatusSchema = exports.PacingSchema = exports.MediaBuyStatusSchema = void 0;
12
+ exports.CreateMediaBuyRequestSchema = exports.ListCreativeFormatsResponseSchema = exports.MediaBuySchema = exports.GetSignalsResponseSchema = exports.PreviewCreativeResponseSchema = exports.PreviewCreativeRequestSchema = exports.BuildCreativeResponseSchema = exports.BuildCreativeRequestSchema = exports.ListAuthorizedPropertiesResponseSchema = exports.GetMediaBuyDeliveryResponseSchema = exports.UpdateMediaBuyRequestSchema = exports.ListCreativesRequestSchema = exports.SyncCreativesRequestSchema = exports.PackageRequestSchema = exports.FormatSchema = exports.GetProductsResponseSchema = exports.GetProductsRequestSchema = exports.PackageSchema = exports.ActivateSignalResponseSchema = exports.ActivateSignalRequestSchema = exports.DeploymentSchema = exports.ActivationKey1Schema = exports.ActivationKeySchema = exports.GetSignalsRequestSchema = exports.DestinationSchema = exports.PreviewRenderSchema = exports.CreativeManifest1Schema = exports.CreativeManifestSchema = exports.WebhookAssetSchema = exports.ProvidePerformanceFeedbackResponseSchema = exports.ProvidePerformanceFeedbackRequestSchema = exports.AdvertisingChannelsSchema = exports.ListAuthorizedPropertiesRequestSchema = exports.DeliveryMetricsSchema = exports.PricingModelSchema = exports.GetMediaBuyDeliveryRequestSchema = exports.UpdateMediaBuyResponseSchema = exports.UpdateMediaBuyRequest2Schema = exports.UpdateMediaBuyRequest1Schema = exports.ListCreativesResponseSchema = exports.SubAssetSchema = exports.CreativeStatus1Schema = exports.CreativeStatusSchema = exports.SyncCreativesResponseSchema = exports.CreativeAssetSchema = void 0;
13
13
  // Generated by ts-to-zod
14
14
  const zod_1 = require("zod");
15
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")]);
@@ -27,24 +27,36 @@ exports.FormatIDSchema = zod_1.z.object({
27
27
  exports.FrequencyCapSchema = zod_1.z.object({
28
28
  suppress_minutes: zod_1.z.number()
29
29
  });
30
- exports.VASTAsset1Schema = zod_1.z.object({
31
- url: zod_1.z.string().optional(),
32
- content: zod_1.z.string().optional(),
33
- 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(),
34
- vpaid_enabled: zod_1.z.boolean().optional(),
35
- duration_ms: zod_1.z.number().optional(),
36
- 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()
37
- });
38
- exports.VASTAsset2Schema = 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())]);
39
- exports.DAASTAsset1Schema = zod_1.z.object({
40
- url: zod_1.z.string().optional(),
41
- content: zod_1.z.string().optional(),
42
- daast_version: zod_1.z.union([zod_1.z.literal("1.0"), zod_1.z.literal("1.1")]).optional(),
43
- duration_ms: zod_1.z.number().optional(),
44
- 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(),
45
- companion_ads: zod_1.z.boolean().optional()
46
- });
47
- exports.DAASTAsset2Schema = 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())]);
30
+ exports.VASTAssetSchema = zod_1.z.union([zod_1.z.object({
31
+ delivery_type: zod_1.z.literal("url"),
32
+ url: zod_1.z.string(),
33
+ 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(),
34
+ vpaid_enabled: zod_1.z.boolean().optional(),
35
+ duration_ms: zod_1.z.number().optional(),
36
+ 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()
37
+ }), zod_1.z.object({
38
+ delivery_type: zod_1.z.literal("inline"),
39
+ content: zod_1.z.string(),
40
+ 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(),
41
+ vpaid_enabled: zod_1.z.boolean().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("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()
44
+ })]);
45
+ exports.DAASTAssetSchema = zod_1.z.union([zod_1.z.object({
46
+ delivery_type: zod_1.z.literal("url"),
47
+ url: zod_1.z.string(),
48
+ daast_version: zod_1.z.union([zod_1.z.literal("1.0"), zod_1.z.literal("1.1")]).optional(),
49
+ duration_ms: zod_1.z.number().optional(),
50
+ 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(),
51
+ companion_ads: zod_1.z.boolean().optional()
52
+ }), zod_1.z.object({
53
+ delivery_type: zod_1.z.literal("inline"),
54
+ content: zod_1.z.string(),
55
+ daast_version: zod_1.z.union([zod_1.z.literal("1.0"), zod_1.z.literal("1.1")]).optional(),
56
+ duration_ms: zod_1.z.number().optional(),
57
+ 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(),
58
+ companion_ads: zod_1.z.boolean().optional()
59
+ })]);
48
60
  exports.BrandManifest1Schema = zod_1.z.record(zod_1.z.string(), zod_1.z.unknown());
49
61
  exports.BrandManifest2Schema = zod_1.z.object({
50
62
  url: zod_1.z.string().optional(),
@@ -144,8 +156,6 @@ exports.JavaScriptAssetSchema = zod_1.z.object({
144
156
  content: zod_1.z.string(),
145
157
  module_type: zod_1.z.union([zod_1.z.literal("esm"), zod_1.z.literal("commonjs"), zod_1.z.literal("script")]).optional()
146
158
  });
147
- exports.VASTAssetSchema = exports.VASTAsset1Schema.and(exports.VASTAsset2Schema);
148
- exports.DAASTAssetSchema = exports.DAASTAsset1Schema.and(exports.DAASTAsset2Schema);
149
159
  exports.URLAssetSchema = zod_1.z.object({
150
160
  url: zod_1.z.string(),
151
161
  url_type: zod_1.z.union([zod_1.z.literal("clickthrough"), zod_1.z.literal("tracker_pixel"), zod_1.z.literal("tracker_script")]).optional(),
@@ -277,6 +287,14 @@ exports.CreativePolicySchema = zod_1.z.object({
277
287
  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")]),
278
288
  templates_available: zod_1.z.boolean()
279
289
  });
290
+ exports.FormatID1Schema = zod_1.z.object({
291
+ agent_url: zod_1.z.string(),
292
+ id: zod_1.z.string()
293
+ });
294
+ exports.FormatID2Schema = zod_1.z.object({
295
+ agent_url: zod_1.z.string(),
296
+ id: zod_1.z.string()
297
+ });
280
298
  exports.TargetingOverlaySchema = zod_1.z.object({
281
299
  geo_country_any_of: zod_1.z.array(zod_1.z.string()).optional(),
282
300
  geo_region_any_of: zod_1.z.array(zod_1.z.string()).optional(),
@@ -328,7 +346,15 @@ exports.ProductSchema = zod_1.z.object({
328
346
  creative_policy: exports.CreativePolicySchema.optional(),
329
347
  is_custom: zod_1.z.boolean().optional(),
330
348
  brief_relevance: zod_1.z.string().optional(),
331
- expires_at: zod_1.z.string().optional()
349
+ expires_at: zod_1.z.string().optional(),
350
+ product_card: zod_1.z.object({
351
+ format_id: exports.FormatID1Schema,
352
+ manifest: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown())
353
+ }).optional(),
354
+ product_card_detailed: zod_1.z.object({
355
+ format_id: exports.FormatID2Schema,
356
+ manifest: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown())
357
+ }).optional()
332
358
  });
333
359
  exports.ErrorSchema = zod_1.z.object({
334
360
  code: zod_1.z.string(),
@@ -349,6 +375,10 @@ exports.ListCreativeFormatsRequestSchema = zod_1.z.object({
349
375
  is_responsive: zod_1.z.boolean().optional(),
350
376
  name_search: zod_1.z.string().optional()
351
377
  });
378
+ exports.FormatID3Schema = zod_1.z.object({
379
+ agent_url: zod_1.z.string(),
380
+ id: zod_1.z.string()
381
+ });
352
382
  exports.BrandManifestReference1Schema = zod_1.z.union([exports.BrandManifest1Schema, zod_1.z.string()]);
353
383
  exports.StartTimingSchema = zod_1.z.union([zod_1.z.literal("asap"), zod_1.z.string()]);
354
384
  exports.PushNotificationConfigSchema = zod_1.z.object({
@@ -359,10 +389,6 @@ exports.PushNotificationConfigSchema = zod_1.z.object({
359
389
  credentials: zod_1.z.string()
360
390
  })
361
391
  });
362
- exports.FormatID1Schema = zod_1.z.object({
363
- agent_url: zod_1.z.string(),
364
- id: zod_1.z.string()
365
- });
366
392
  exports.PromotedOfferingsSchema = zod_1.z.object({
367
393
  brand_manifest: exports.BrandManifestReferenceSchema,
368
394
  product_selectors: exports.PromotedProductsSchema.optional(),
@@ -377,16 +403,17 @@ exports.PromotedOfferingsSchema = zod_1.z.object({
377
403
  exclude_tags: zod_1.z.array(zod_1.z.string()).optional()
378
404
  }).optional()
379
405
  });
380
- exports.CreateMediaBuyResponseSchema = zod_1.z.object({
381
- media_buy_id: zod_1.z.string().optional(),
382
- buyer_ref: zod_1.z.string(),
383
- creative_deadline: zod_1.z.string().optional(),
384
- packages: zod_1.z.array(zod_1.z.object({
385
- package_id: zod_1.z.string(),
386
- buyer_ref: zod_1.z.string()
387
- })).optional(),
388
- errors: zod_1.z.array(exports.ErrorSchema).optional()
389
- });
406
+ exports.CreateMediaBuyResponseSchema = zod_1.z.union([zod_1.z.object({
407
+ media_buy_id: zod_1.z.string(),
408
+ buyer_ref: zod_1.z.string(),
409
+ creative_deadline: zod_1.z.string().optional(),
410
+ packages: zod_1.z.array(zod_1.z.object({
411
+ package_id: zod_1.z.string(),
412
+ buyer_ref: zod_1.z.string()
413
+ }))
414
+ }), zod_1.z.object({
415
+ errors: zod_1.z.tuple([exports.ErrorSchema]).rest(exports.ErrorSchema)
416
+ })]);
390
417
  exports.CreativeAssetSchema = zod_1.z.object({
391
418
  creative_id: zod_1.z.string(),
392
419
  name: zod_1.z.string(),
@@ -400,31 +427,94 @@ exports.CreativeAssetSchema = zod_1.z.object({
400
427
  tags: zod_1.z.array(zod_1.z.string()).optional(),
401
428
  approved: zod_1.z.boolean().optional()
402
429
  });
403
- exports.SyncCreativesResponseSchema = zod_1.z.object({
404
- dry_run: zod_1.z.boolean().optional(),
430
+ exports.SyncCreativesResponseSchema = zod_1.z.union([zod_1.z.object({
431
+ dry_run: zod_1.z.boolean().optional(),
432
+ creatives: zod_1.z.array(zod_1.z.object({
433
+ creative_id: zod_1.z.string(),
434
+ 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")]),
435
+ platform_id: zod_1.z.string().optional(),
436
+ changes: zod_1.z.array(zod_1.z.string()).optional(),
437
+ errors: zod_1.z.array(zod_1.z.string()).optional(),
438
+ warnings: zod_1.z.array(zod_1.z.string()).optional(),
439
+ preview_url: zod_1.z.string().optional(),
440
+ expires_at: zod_1.z.string().optional(),
441
+ assigned_to: zod_1.z.array(zod_1.z.string()).optional(),
442
+ assignment_errors: zod_1.z.record(zod_1.z.string(), zod_1.z.string()).optional()
443
+ }))
444
+ }), zod_1.z.object({
445
+ errors: zod_1.z.tuple([exports.ErrorSchema]).rest(exports.ErrorSchema)
446
+ })]);
447
+ 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")]);
448
+ 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")]);
449
+ exports.SubAssetSchema = zod_1.z.union([zod_1.z.object({
450
+ asset_kind: zod_1.z.literal("media"),
451
+ asset_type: zod_1.z.string(),
452
+ asset_id: zod_1.z.string(),
453
+ content_uri: zod_1.z.string()
454
+ }), zod_1.z.object({
455
+ asset_kind: zod_1.z.literal("text"),
456
+ asset_type: zod_1.z.string(),
457
+ asset_id: zod_1.z.string(),
458
+ content: zod_1.z.union([zod_1.z.string(), zod_1.z.array(zod_1.z.string())])
459
+ })]);
460
+ exports.ListCreativesResponseSchema = zod_1.z.object({
461
+ query_summary: zod_1.z.object({
462
+ total_matching: zod_1.z.number(),
463
+ returned: zod_1.z.number(),
464
+ filters_applied: zod_1.z.array(zod_1.z.string()).optional(),
465
+ sort_applied: zod_1.z.object({
466
+ field: zod_1.z.string().optional(),
467
+ direction: zod_1.z.union([zod_1.z.literal("asc"), zod_1.z.literal("desc")]).optional()
468
+ }).optional()
469
+ }),
470
+ pagination: zod_1.z.object({
471
+ limit: zod_1.z.number(),
472
+ offset: zod_1.z.number(),
473
+ has_more: zod_1.z.boolean(),
474
+ total_pages: zod_1.z.number().optional(),
475
+ current_page: zod_1.z.number().optional()
476
+ }),
405
477
  creatives: zod_1.z.array(zod_1.z.object({
406
478
  creative_id: zod_1.z.string(),
407
- 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")]),
408
- platform_id: zod_1.z.string().optional(),
409
- changes: zod_1.z.array(zod_1.z.string()).optional(),
410
- errors: zod_1.z.array(zod_1.z.string()).optional(),
411
- warnings: zod_1.z.array(zod_1.z.string()).optional(),
412
- preview_url: zod_1.z.string().optional(),
413
- expires_at: zod_1.z.string().optional(),
414
- assigned_to: zod_1.z.array(zod_1.z.string()).optional(),
415
- assignment_errors: zod_1.z.record(zod_1.z.string(), zod_1.z.string()).optional()
416
- }))
479
+ name: zod_1.z.string(),
480
+ format_id: exports.FormatIDSchema,
481
+ status: exports.CreativeStatusSchema,
482
+ created_date: zod_1.z.string(),
483
+ updated_date: zod_1.z.string(),
484
+ media_url: zod_1.z.string().optional(),
485
+ 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])).optional(),
486
+ click_url: zod_1.z.string().optional(),
487
+ duration: zod_1.z.number().optional(),
488
+ width: zod_1.z.number().optional(),
489
+ height: zod_1.z.number().optional(),
490
+ tags: zod_1.z.array(zod_1.z.string()).optional(),
491
+ assignments: zod_1.z.object({
492
+ assignment_count: zod_1.z.number(),
493
+ assigned_packages: zod_1.z.array(zod_1.z.object({
494
+ package_id: zod_1.z.string(),
495
+ package_name: zod_1.z.string().optional(),
496
+ assigned_date: zod_1.z.string(),
497
+ status: zod_1.z.union([zod_1.z.literal("active"), zod_1.z.literal("paused"), zod_1.z.literal("ended")])
498
+ })).optional()
499
+ }).optional(),
500
+ performance: zod_1.z.object({
501
+ impressions: zod_1.z.number().optional(),
502
+ clicks: zod_1.z.number().optional(),
503
+ ctr: zod_1.z.number().optional(),
504
+ conversion_rate: zod_1.z.number().optional(),
505
+ performance_score: zod_1.z.number().optional(),
506
+ last_updated: zod_1.z.string()
507
+ }).optional(),
508
+ sub_assets: zod_1.z.array(exports.SubAssetSchema).optional()
509
+ })),
510
+ format_summary: zod_1.z.record(zod_1.z.string(), zod_1.z.number()).optional(),
511
+ status_summary: zod_1.z.object({
512
+ approved: zod_1.z.number().optional(),
513
+ pending_review: zod_1.z.number().optional(),
514
+ rejected: zod_1.z.number().optional(),
515
+ archived: zod_1.z.number().optional()
516
+ }).optional()
417
517
  });
418
- 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")]);
419
- 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")]);
420
- exports.SubAsset1Schema = zod_1.z.object({
421
- asset_type: zod_1.z.string().optional(),
422
- asset_id: zod_1.z.string().optional(),
423
- content_uri: zod_1.z.string().optional(),
424
- content: zod_1.z.union([zod_1.z.string(), zod_1.z.array(zod_1.z.string())]).optional()
425
- });
426
- exports.SubAsset2Schema = 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())]);
427
- exports.SubAssetSchema = exports.SubAsset1Schema.and(exports.SubAsset2Schema);
428
518
  exports.UpdateMediaBuyRequest1Schema = zod_1.z.object({
429
519
  media_buy_id: zod_1.z.string().optional(),
430
520
  buyer_ref: zod_1.z.string().optional(),
@@ -435,16 +525,17 @@ exports.UpdateMediaBuyRequest1Schema = zod_1.z.object({
435
525
  push_notification_config: exports.PushNotificationConfigSchema.optional()
436
526
  });
437
527
  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
- });
528
+ exports.UpdateMediaBuyResponseSchema = zod_1.z.union([zod_1.z.object({
529
+ media_buy_id: zod_1.z.string(),
530
+ buyer_ref: zod_1.z.string(),
531
+ implementation_date: zod_1.z.string().optional().nullable(),
532
+ affected_packages: zod_1.z.array(zod_1.z.object({
533
+ package_id: zod_1.z.string(),
534
+ buyer_ref: zod_1.z.string()
535
+ })).optional()
536
+ }), zod_1.z.object({
537
+ errors: zod_1.z.tuple([exports.ErrorSchema]).rest(exports.ErrorSchema)
538
+ })]);
448
539
  exports.GetMediaBuyDeliveryRequestSchema = zod_1.z.object({
449
540
  media_buy_ids: zod_1.z.array(zod_1.z.string()).optional(),
450
541
  buyer_refs: zod_1.z.array(zod_1.z.string()).optional(),
@@ -504,10 +595,11 @@ exports.ProvidePerformanceFeedbackRequestSchema = zod_1.z.object({
504
595
  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
596
  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
597
  });
507
- exports.ProvidePerformanceFeedbackResponseSchema = zod_1.z.object({
508
- success: zod_1.z.boolean(),
509
- errors: zod_1.z.array(exports.ErrorSchema).optional()
510
- });
598
+ exports.ProvidePerformanceFeedbackResponseSchema = zod_1.z.union([zod_1.z.object({
599
+ success: zod_1.z.literal(true)
600
+ }), zod_1.z.object({
601
+ errors: zod_1.z.tuple([exports.ErrorSchema]).rest(exports.ErrorSchema)
602
+ })]);
511
603
  exports.WebhookAssetSchema = zod_1.z.object({
512
604
  url: zod_1.z.string(),
513
605
  method: zod_1.z.union([zod_1.z.literal("GET"), zod_1.z.literal("POST")]).optional(),
@@ -526,101 +618,71 @@ exports.CreativeManifestSchema = zod_1.z.object({
526
618
  promoted_offering: zod_1.z.string().optional(),
527
619
  assets: zod_1.z.record(zod_1.z.string(), zod_1.z.union([exports.ImageAssetSchema, exports.VideoAssetSchema, exports.AudioAssetSchema, exports.VASTAssetSchema, exports.TextAssetSchema, exports.URLAssetSchema, exports.HTMLAssetSchema, exports.JavaScriptAssetSchema, exports.WebhookAssetSchema, exports.CSSAssetSchema, exports.DAASTAssetSchema, exports.PromotedOfferingsSchema]))
528
620
  });
529
- exports.PreviewCreativeRequestSchema = zod_1.z.object({
530
- format_id: exports.FormatIDSchema,
531
- creative_manifest: exports.CreativeManifestSchema,
532
- inputs: zod_1.z.array(zod_1.z.object({
533
- name: zod_1.z.string(),
534
- macros: zod_1.z.record(zod_1.z.string(), zod_1.z.string()).optional(),
535
- context_description: zod_1.z.string().optional()
536
- })).optional(),
537
- template_id: zod_1.z.string().optional()
538
- });
539
- exports.PreviewCreativeResponseSchema = zod_1.z.object({
540
- previews: zod_1.z.tuple([zod_1.z.object({
541
- preview_id: zod_1.z.string(),
542
- renders: zod_1.z.tuple([zod_1.z.object({
543
- render_id: zod_1.z.string(),
544
- preview_url: zod_1.z.string(),
545
- role: zod_1.z.string(),
546
- dimensions: zod_1.z.object({
547
- width: zod_1.z.number(),
548
- height: zod_1.z.number()
549
- }).optional(),
550
- embedding: zod_1.z.object({
551
- recommended_sandbox: zod_1.z.string().optional(),
552
- requires_https: zod_1.z.boolean().optional(),
553
- supports_fullscreen: zod_1.z.boolean().optional(),
554
- csp_policy: zod_1.z.string().optional()
555
- }).optional()
556
- })]).rest(zod_1.z.object({
557
- render_id: zod_1.z.string(),
558
- preview_url: zod_1.z.string(),
559
- role: zod_1.z.string(),
560
- dimensions: zod_1.z.object({
561
- width: zod_1.z.number(),
562
- height: zod_1.z.number()
563
- }).optional(),
564
- embedding: zod_1.z.object({
565
- recommended_sandbox: zod_1.z.string().optional(),
566
- requires_https: zod_1.z.boolean().optional(),
567
- supports_fullscreen: zod_1.z.boolean().optional(),
568
- csp_policy: zod_1.z.string().optional()
569
- }).optional()
570
- })),
571
- input: zod_1.z.object({
572
- name: zod_1.z.string(),
573
- macros: zod_1.z.record(zod_1.z.string(), zod_1.z.string()).optional(),
574
- context_description: zod_1.z.string().optional()
575
- })
576
- })]).rest(zod_1.z.object({
577
- preview_id: zod_1.z.string(),
578
- renders: zod_1.z.tuple([zod_1.z.object({
579
- render_id: zod_1.z.string(),
580
- preview_url: zod_1.z.string(),
581
- role: zod_1.z.string(),
582
- dimensions: zod_1.z.object({
583
- width: zod_1.z.number(),
584
- height: zod_1.z.number()
585
- }).optional(),
586
- embedding: zod_1.z.object({
587
- recommended_sandbox: zod_1.z.string().optional(),
588
- requires_https: zod_1.z.boolean().optional(),
589
- supports_fullscreen: zod_1.z.boolean().optional(),
590
- csp_policy: zod_1.z.string().optional()
591
- }).optional()
592
- })]).rest(zod_1.z.object({
593
- render_id: zod_1.z.string(),
594
- preview_url: zod_1.z.string(),
595
- role: zod_1.z.string(),
596
- dimensions: zod_1.z.object({
597
- width: zod_1.z.number(),
598
- height: zod_1.z.number()
599
- }).optional(),
600
- embedding: zod_1.z.object({
601
- recommended_sandbox: zod_1.z.string().optional(),
602
- requires_https: zod_1.z.boolean().optional(),
603
- supports_fullscreen: zod_1.z.boolean().optional(),
604
- csp_policy: zod_1.z.string().optional()
605
- }).optional()
606
- })),
607
- input: zod_1.z.object({
608
- name: zod_1.z.string(),
609
- macros: zod_1.z.record(zod_1.z.string(), zod_1.z.string()).optional(),
610
- context_description: zod_1.z.string().optional()
611
- })
612
- })),
613
- interactive_url: zod_1.z.string().optional(),
614
- expires_at: zod_1.z.string()
621
+ exports.CreativeManifest1Schema = zod_1.z.object({
622
+ format_id: exports.FormatID1Schema,
623
+ promoted_offering: zod_1.z.string().optional(),
624
+ assets: zod_1.z.record(zod_1.z.string(), zod_1.z.union([exports.ImageAssetSchema, exports.VideoAssetSchema, exports.AudioAssetSchema, exports.VASTAssetSchema, exports.TextAssetSchema, exports.URLAssetSchema, exports.HTMLAssetSchema, exports.JavaScriptAssetSchema, exports.WebhookAssetSchema, exports.CSSAssetSchema, exports.DAASTAssetSchema, exports.PromotedOfferingsSchema]))
615
625
  });
626
+ exports.PreviewRenderSchema = zod_1.z.union([zod_1.z.object({
627
+ render_id: zod_1.z.string(),
628
+ output_format: zod_1.z.literal("url"),
629
+ preview_url: zod_1.z.string(),
630
+ role: zod_1.z.string(),
631
+ dimensions: zod_1.z.object({
632
+ width: zod_1.z.number(),
633
+ height: zod_1.z.number()
634
+ }).optional(),
635
+ embedding: zod_1.z.object({
636
+ recommended_sandbox: zod_1.z.string().optional(),
637
+ requires_https: zod_1.z.boolean().optional(),
638
+ supports_fullscreen: zod_1.z.boolean().optional(),
639
+ csp_policy: zod_1.z.string().optional()
640
+ }).optional()
641
+ }), zod_1.z.object({
642
+ render_id: zod_1.z.string(),
643
+ output_format: zod_1.z.literal("html"),
644
+ preview_html: zod_1.z.string(),
645
+ role: zod_1.z.string(),
646
+ dimensions: zod_1.z.object({
647
+ width: zod_1.z.number(),
648
+ height: zod_1.z.number()
649
+ }).optional(),
650
+ embedding: zod_1.z.object({
651
+ recommended_sandbox: zod_1.z.string().optional(),
652
+ requires_https: zod_1.z.boolean().optional(),
653
+ supports_fullscreen: zod_1.z.boolean().optional(),
654
+ csp_policy: zod_1.z.string().optional()
655
+ }).optional()
656
+ }), zod_1.z.object({
657
+ render_id: zod_1.z.string(),
658
+ output_format: zod_1.z.literal("both"),
659
+ preview_url: zod_1.z.string(),
660
+ preview_html: zod_1.z.string(),
661
+ role: zod_1.z.string(),
662
+ dimensions: zod_1.z.object({
663
+ width: zod_1.z.number(),
664
+ height: zod_1.z.number()
665
+ }).optional(),
666
+ embedding: zod_1.z.object({
667
+ recommended_sandbox: zod_1.z.string().optional(),
668
+ requires_https: zod_1.z.boolean().optional(),
669
+ supports_fullscreen: zod_1.z.boolean().optional(),
670
+ csp_policy: zod_1.z.string().optional()
671
+ }).optional()
672
+ })]);
673
+ exports.DestinationSchema = zod_1.z.union([zod_1.z.object({
674
+ type: zod_1.z.literal("platform"),
675
+ platform: zod_1.z.string(),
676
+ account: zod_1.z.string().optional()
677
+ }), zod_1.z.object({
678
+ type: zod_1.z.literal("agent"),
679
+ agent_url: zod_1.z.string(),
680
+ account: zod_1.z.string().optional()
681
+ })]);
616
682
  exports.GetSignalsRequestSchema = zod_1.z.object({
617
683
  signal_spec: zod_1.z.string(),
618
684
  deliver_to: zod_1.z.object({
619
- platforms: zod_1.z.union([zod_1.z.literal("all"), zod_1.z.array(zod_1.z.string())]),
620
- accounts: zod_1.z.array(zod_1.z.object({
621
- platform: zod_1.z.string(),
622
- account: zod_1.z.string()
623
- })).optional(),
685
+ destinations: zod_1.z.tuple([exports.DestinationSchema]).rest(exports.DestinationSchema),
624
686
  countries: zod_1.z.array(zod_1.z.string())
625
687
  }),
626
688
  filters: zod_1.z.object({
@@ -631,40 +693,48 @@ exports.GetSignalsRequestSchema = zod_1.z.object({
631
693
  }).optional(),
632
694
  max_results: zod_1.z.number().optional()
633
695
  });
634
- exports.GetSignalsResponseSchema = zod_1.z.object({
635
- signals: zod_1.z.array(zod_1.z.object({
636
- signal_agent_segment_id: zod_1.z.string(),
637
- name: zod_1.z.string(),
638
- description: zod_1.z.string(),
639
- signal_type: zod_1.z.union([zod_1.z.literal("marketplace"), zod_1.z.literal("custom"), zod_1.z.literal("owned")]),
640
- data_provider: zod_1.z.string(),
641
- coverage_percentage: zod_1.z.number(),
642
- deployments: zod_1.z.array(zod_1.z.object({
643
- platform: zod_1.z.string(),
644
- account: zod_1.z.string().optional().nullable(),
645
- is_live: zod_1.z.boolean(),
646
- scope: zod_1.z.union([zod_1.z.literal("platform-wide"), zod_1.z.literal("account-specific")]),
647
- decisioning_platform_segment_id: zod_1.z.string().optional(),
648
- estimated_activation_duration_minutes: zod_1.z.number().optional()
649
- })),
650
- pricing: zod_1.z.object({
651
- cpm: zod_1.z.number(),
652
- currency: zod_1.z.string()
653
- })
654
- })),
655
- errors: zod_1.z.array(exports.ErrorSchema).optional()
656
- });
696
+ exports.ActivationKeySchema = zod_1.z.union([zod_1.z.object({
697
+ type: zod_1.z.literal("segment_id"),
698
+ segment_id: zod_1.z.string()
699
+ }), zod_1.z.object({
700
+ type: zod_1.z.literal("key_value"),
701
+ key: zod_1.z.string(),
702
+ value: zod_1.z.string()
703
+ })]);
704
+ exports.ActivationKey1Schema = zod_1.z.union([zod_1.z.object({
705
+ type: zod_1.z.literal("segment_id"),
706
+ segment_id: zod_1.z.string()
707
+ }), zod_1.z.object({
708
+ type: zod_1.z.literal("key_value"),
709
+ key: zod_1.z.string(),
710
+ value: zod_1.z.string()
711
+ })]);
712
+ exports.DeploymentSchema = zod_1.z.union([zod_1.z.object({
713
+ type: zod_1.z.literal("platform"),
714
+ platform: zod_1.z.string(),
715
+ account: zod_1.z.string().optional(),
716
+ is_live: zod_1.z.boolean(),
717
+ activation_key: exports.ActivationKeySchema.optional(),
718
+ estimated_activation_duration_minutes: zod_1.z.number().optional(),
719
+ deployed_at: zod_1.z.string().optional()
720
+ }), zod_1.z.object({
721
+ type: zod_1.z.literal("agent"),
722
+ agent_url: zod_1.z.string(),
723
+ account: zod_1.z.string().optional(),
724
+ is_live: zod_1.z.boolean(),
725
+ activation_key: exports.ActivationKey1Schema.optional(),
726
+ estimated_activation_duration_minutes: zod_1.z.number().optional(),
727
+ deployed_at: zod_1.z.string().optional()
728
+ })]);
657
729
  exports.ActivateSignalRequestSchema = zod_1.z.object({
658
730
  signal_agent_segment_id: zod_1.z.string(),
659
- platform: zod_1.z.string(),
660
- account: zod_1.z.string().optional()
661
- });
662
- exports.ActivateSignalResponseSchema = zod_1.z.object({
663
- decisioning_platform_segment_id: zod_1.z.string().optional(),
664
- estimated_activation_duration_minutes: zod_1.z.number().optional(),
665
- deployed_at: zod_1.z.string().optional(),
666
- errors: zod_1.z.array(exports.ErrorSchema).optional()
731
+ destinations: zod_1.z.tuple([exports.DestinationSchema]).rest(exports.DestinationSchema)
667
732
  });
733
+ exports.ActivateSignalResponseSchema = zod_1.z.union([zod_1.z.object({
734
+ deployments: zod_1.z.array(exports.DeploymentSchema)
735
+ }), zod_1.z.object({
736
+ errors: zod_1.z.tuple([exports.ErrorSchema]).rest(exports.ErrorSchema)
737
+ })]);
668
738
  exports.PackageSchema = zod_1.z.object({
669
739
  package_id: zod_1.z.string(),
670
740
  buyer_ref: zod_1.z.string().optional(),
@@ -737,7 +807,7 @@ exports.FormatSchema = zod_1.z.object({
737
807
  })).optional(),
738
808
  assets_required: zod_1.z.array(zod_1.z.union([zod_1.z.object({
739
809
  asset_id: zod_1.z.string(),
740
- 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")]),
810
+ 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("markdown"), 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")]),
741
811
  asset_role: zod_1.z.string().optional(),
742
812
  required: zod_1.z.boolean().optional(),
743
813
  requirements: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()).optional()
@@ -748,7 +818,7 @@ exports.FormatSchema = zod_1.z.object({
748
818
  max_count: zod_1.z.number(),
749
819
  assets: zod_1.z.array(zod_1.z.object({
750
820
  asset_id: zod_1.z.string(),
751
- 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")]),
821
+ 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("markdown"), 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")]),
752
822
  asset_role: zod_1.z.string().optional(),
753
823
  required: zod_1.z.boolean().optional(),
754
824
  requirements: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()).optional()
@@ -756,7 +826,15 @@ exports.FormatSchema = zod_1.z.object({
756
826
  })])).optional(),
757
827
  delivery: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()).optional(),
758
828
  supported_macros: zod_1.z.array(zod_1.z.string()).optional(),
759
- output_format_ids: zod_1.z.array(exports.FormatID1Schema).optional()
829
+ output_format_ids: zod_1.z.array(exports.FormatID1Schema).optional(),
830
+ format_card: zod_1.z.object({
831
+ format_id: exports.FormatID2Schema,
832
+ manifest: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown())
833
+ }).optional(),
834
+ format_card_detailed: zod_1.z.object({
835
+ format_id: exports.FormatID3Schema,
836
+ manifest: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown())
837
+ }).optional()
760
838
  });
761
839
  exports.PackageRequestSchema = zod_1.z.object({
762
840
  buyer_ref: zod_1.z.string(),
@@ -811,64 +889,6 @@ exports.ListCreativesRequestSchema = zod_1.z.object({
811
889
  include_sub_assets: zod_1.z.boolean().optional(),
812
890
  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()
813
891
  });
814
- exports.ListCreativesResponseSchema = zod_1.z.object({
815
- query_summary: zod_1.z.object({
816
- total_matching: zod_1.z.number(),
817
- returned: zod_1.z.number(),
818
- filters_applied: zod_1.z.array(zod_1.z.string()).optional(),
819
- sort_applied: zod_1.z.object({
820
- field: zod_1.z.string().optional(),
821
- direction: zod_1.z.union([zod_1.z.literal("asc"), zod_1.z.literal("desc")]).optional()
822
- }).optional()
823
- }),
824
- pagination: zod_1.z.object({
825
- limit: zod_1.z.number(),
826
- offset: zod_1.z.number(),
827
- has_more: zod_1.z.boolean(),
828
- total_pages: zod_1.z.number().optional(),
829
- current_page: zod_1.z.number().optional()
830
- }),
831
- creatives: zod_1.z.array(zod_1.z.object({
832
- creative_id: zod_1.z.string(),
833
- name: zod_1.z.string(),
834
- format_id: exports.FormatIDSchema,
835
- status: exports.CreativeStatusSchema,
836
- created_date: zod_1.z.string(),
837
- updated_date: zod_1.z.string(),
838
- media_url: zod_1.z.string().optional(),
839
- 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])).optional(),
840
- click_url: zod_1.z.string().optional(),
841
- duration: zod_1.z.number().optional(),
842
- width: zod_1.z.number().optional(),
843
- height: zod_1.z.number().optional(),
844
- tags: zod_1.z.array(zod_1.z.string()).optional(),
845
- assignments: zod_1.z.object({
846
- assignment_count: zod_1.z.number(),
847
- assigned_packages: zod_1.z.array(zod_1.z.object({
848
- package_id: zod_1.z.string(),
849
- package_name: zod_1.z.string().optional(),
850
- assigned_date: zod_1.z.string(),
851
- status: zod_1.z.union([zod_1.z.literal("active"), zod_1.z.literal("paused"), zod_1.z.literal("ended")])
852
- })).optional()
853
- }).optional(),
854
- performance: zod_1.z.object({
855
- impressions: zod_1.z.number().optional(),
856
- clicks: zod_1.z.number().optional(),
857
- ctr: zod_1.z.number().optional(),
858
- conversion_rate: zod_1.z.number().optional(),
859
- performance_score: zod_1.z.number().optional(),
860
- last_updated: zod_1.z.string()
861
- }).optional(),
862
- sub_assets: zod_1.z.array(exports.SubAssetSchema).optional()
863
- })),
864
- format_summary: zod_1.z.record(zod_1.z.string(), zod_1.z.number()).optional(),
865
- status_summary: zod_1.z.object({
866
- approved: zod_1.z.number().optional(),
867
- pending_review: zod_1.z.number().optional(),
868
- rejected: zod_1.z.number().optional(),
869
- archived: zod_1.z.number().optional()
870
- }).optional()
871
- });
872
892
  exports.UpdateMediaBuyRequestSchema = exports.UpdateMediaBuyRequest1Schema.and(exports.UpdateMediaBuyRequest2Schema);
873
893
  exports.GetMediaBuyDeliveryResponseSchema = zod_1.z.object({
874
894
  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(),
@@ -925,8 +945,90 @@ exports.BuildCreativeRequestSchema = zod_1.z.object({
925
945
  creative_manifest: exports.CreativeManifestSchema.optional(),
926
946
  target_format_id: exports.FormatID1Schema
927
947
  });
928
- exports.BuildCreativeResponseSchema = zod_1.z.object({
929
- creative_manifest: exports.CreativeManifestSchema,
948
+ exports.BuildCreativeResponseSchema = zod_1.z.union([zod_1.z.object({
949
+ creative_manifest: exports.CreativeManifestSchema
950
+ }), zod_1.z.object({
951
+ errors: zod_1.z.tuple([exports.ErrorSchema]).rest(exports.ErrorSchema)
952
+ })]);
953
+ exports.PreviewCreativeRequestSchema = zod_1.z.union([zod_1.z.object({
954
+ format_id: exports.FormatIDSchema,
955
+ creative_manifest: exports.CreativeManifestSchema,
956
+ inputs: zod_1.z.array(zod_1.z.object({
957
+ name: zod_1.z.string(),
958
+ macros: zod_1.z.record(zod_1.z.string(), zod_1.z.string()).optional(),
959
+ context_description: zod_1.z.string().optional()
960
+ })).optional(),
961
+ template_id: zod_1.z.string().optional(),
962
+ output_format: zod_1.z.union([zod_1.z.literal("url"), zod_1.z.literal("html")]).optional()
963
+ }), zod_1.z.object({
964
+ requests: zod_1.z.tuple([zod_1.z.object({
965
+ format_id: exports.FormatID2Schema,
966
+ creative_manifest: exports.CreativeManifest1Schema,
967
+ inputs: zod_1.z.array(zod_1.z.object({
968
+ name: zod_1.z.string(),
969
+ macros: zod_1.z.record(zod_1.z.string(), zod_1.z.string()).optional(),
970
+ context_description: zod_1.z.string().optional()
971
+ })).optional(),
972
+ template_id: zod_1.z.string().optional(),
973
+ output_format: zod_1.z.union([zod_1.z.literal("url"), zod_1.z.literal("html")]).optional()
974
+ })]).rest(zod_1.z.object({
975
+ format_id: exports.FormatID2Schema,
976
+ creative_manifest: exports.CreativeManifest1Schema,
977
+ inputs: zod_1.z.array(zod_1.z.object({
978
+ name: zod_1.z.string(),
979
+ macros: zod_1.z.record(zod_1.z.string(), zod_1.z.string()).optional(),
980
+ context_description: zod_1.z.string().optional()
981
+ })).optional(),
982
+ template_id: zod_1.z.string().optional(),
983
+ output_format: zod_1.z.union([zod_1.z.literal("url"), zod_1.z.literal("html")]).optional()
984
+ })),
985
+ output_format: zod_1.z.union([zod_1.z.literal("url"), zod_1.z.literal("html")]).optional()
986
+ })]);
987
+ exports.PreviewCreativeResponseSchema = zod_1.z.union([zod_1.z.object({
988
+ previews: zod_1.z.tuple([zod_1.z.object({
989
+ preview_id: zod_1.z.string(),
990
+ renders: zod_1.z.tuple([exports.PreviewRenderSchema]).rest(exports.PreviewRenderSchema),
991
+ input: zod_1.z.object({
992
+ name: zod_1.z.string(),
993
+ macros: zod_1.z.record(zod_1.z.string(), zod_1.z.string()).optional(),
994
+ context_description: zod_1.z.string().optional()
995
+ })
996
+ })]).rest(zod_1.z.object({
997
+ preview_id: zod_1.z.string(),
998
+ renders: zod_1.z.tuple([exports.PreviewRenderSchema]).rest(exports.PreviewRenderSchema),
999
+ input: zod_1.z.object({
1000
+ name: zod_1.z.string(),
1001
+ macros: zod_1.z.record(zod_1.z.string(), zod_1.z.string()).optional(),
1002
+ context_description: zod_1.z.string().optional()
1003
+ })
1004
+ })),
1005
+ interactive_url: zod_1.z.string().optional(),
1006
+ expires_at: zod_1.z.string()
1007
+ }), zod_1.z.object({
1008
+ results: zod_1.z.tuple([zod_1.z.union([zod_1.z.object({
1009
+ success: zod_1.z.literal(true).optional()
1010
+ }), zod_1.z.object({
1011
+ success: zod_1.z.literal(false).optional()
1012
+ })])]).rest(zod_1.z.union([zod_1.z.object({
1013
+ success: zod_1.z.literal(true).optional()
1014
+ }), zod_1.z.object({
1015
+ success: zod_1.z.literal(false).optional()
1016
+ })]))
1017
+ })]);
1018
+ exports.GetSignalsResponseSchema = zod_1.z.object({
1019
+ signals: zod_1.z.array(zod_1.z.object({
1020
+ signal_agent_segment_id: zod_1.z.string(),
1021
+ name: zod_1.z.string(),
1022
+ description: zod_1.z.string(),
1023
+ signal_type: zod_1.z.union([zod_1.z.literal("marketplace"), zod_1.z.literal("custom"), zod_1.z.literal("owned")]),
1024
+ data_provider: zod_1.z.string(),
1025
+ coverage_percentage: zod_1.z.number(),
1026
+ deployments: zod_1.z.array(exports.DeploymentSchema),
1027
+ pricing: zod_1.z.object({
1028
+ cpm: zod_1.z.number(),
1029
+ currency: zod_1.z.string()
1030
+ })
1031
+ })),
930
1032
  errors: zod_1.z.array(exports.ErrorSchema).optional()
931
1033
  });
932
1034
  exports.MediaBuySchema = zod_1.z.object({