@adcp/sdk 14.0.0-beta.5 → 14.0.0-beta.6
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.
- package/dist/lib/core/AgentClient.d.ts.map +1 -1
- package/dist/lib/core/AgentClient.js +26 -10
- package/dist/lib/core/AgentClient.js.map +1 -1
- package/dist/lib/core/AgentClient.mjs +26 -10
- package/dist/lib/core/AgentClient.mjs.map +1 -1
- package/dist/lib/core/AsyncHandler.d.mts +4 -2
- package/dist/lib/core/AsyncHandler.d.ts +4 -2
- package/dist/lib/core/AsyncHandler.d.ts.map +1 -1
- package/dist/lib/core/AsyncHandler.js +15 -1
- package/dist/lib/core/AsyncHandler.js.map +1 -1
- package/dist/lib/core/AsyncHandler.mjs +15 -1
- package/dist/lib/core/AsyncHandler.mjs.map +1 -1
- package/dist/lib/core/SingleAgentClient.d.mts +3 -1
- package/dist/lib/core/SingleAgentClient.d.ts +3 -1
- package/dist/lib/core/SingleAgentClient.d.ts.map +1 -1
- package/dist/lib/core/SingleAgentClient.js +158 -39
- package/dist/lib/core/SingleAgentClient.js.map +1 -1
- package/dist/lib/core/SingleAgentClient.mjs +167 -40
- package/dist/lib/core/SingleAgentClient.mjs.map +1 -1
- package/dist/lib/core/TaskExecutor.d.mts +57 -2
- package/dist/lib/core/TaskExecutor.d.ts +57 -2
- package/dist/lib/core/TaskExecutor.d.ts.map +1 -1
- package/dist/lib/core/TaskExecutor.js +382 -44
- package/dist/lib/core/TaskExecutor.js.map +1 -1
- package/dist/lib/core/TaskExecutor.mjs +382 -45
- package/dist/lib/core/TaskExecutor.mjs.map +1 -1
- package/dist/lib/core/request-proposals-guard.d.mts +11 -0
- package/dist/lib/core/request-proposals-guard.d.ts +12 -0
- package/dist/lib/core/request-proposals-guard.d.ts.map +1 -0
- package/dist/lib/core/request-proposals-guard.js +65 -0
- package/dist/lib/core/request-proposals-guard.js.map +1 -0
- package/dist/lib/core/request-proposals-guard.mjs +39 -0
- package/dist/lib/core/request-proposals-guard.mjs.map +1 -0
- package/dist/lib/core/webhook-registration.d.mts +5 -0
- package/dist/lib/core/webhook-registration.d.ts +5 -0
- package/dist/lib/core/webhook-registration.d.ts.map +1 -1
- package/dist/lib/core/webhook-registration.js +13 -0
- package/dist/lib/core/webhook-registration.js.map +1 -1
- package/dist/lib/core/webhook-registration.mjs +13 -0
- package/dist/lib/core/webhook-registration.mjs.map +1 -1
- package/dist/lib/media-buy/compatibility.d.mts +45 -10
- package/dist/lib/media-buy/compatibility.d.ts +45 -10
- package/dist/lib/media-buy/compatibility.d.ts.map +1 -1
- package/dist/lib/media-buy/compatibility.js +295 -113
- package/dist/lib/media-buy/compatibility.js.map +1 -1
- package/dist/lib/media-buy/compatibility.mjs +295 -113
- package/dist/lib/media-buy/compatibility.mjs.map +1 -1
- package/dist/lib/schemas-data/v2.5/_provenance.json +1 -1
- package/dist/lib/testing/storyboard/validations.d.mts +1 -1
- package/dist/lib/testing/storyboard/validations.d.ts +1 -1
- package/dist/lib/types/core.generated.d.mts +334 -85
- package/dist/lib/types/core.generated.d.ts +334 -85
- package/dist/lib/types/core.generated.d.ts.map +1 -1
- package/dist/lib/types/core.generated.js.map +1 -1
- package/dist/lib/types/decline-proposals.d.ts +0 -5
- package/dist/lib/types/index.d.mts +2 -0
- package/dist/lib/types/index.d.ts +2 -0
- package/dist/lib/types/index.d.ts.map +1 -1
- package/dist/lib/types/index.js.map +1 -1
- package/dist/lib/types/index.mjs.map +1 -1
- package/dist/lib/types/request-proposals.d.ts +254 -36
- package/dist/lib/types/schemas.generated.d.ts +3123 -835
- package/dist/lib/types/schemas.generated.d.ts.map +1 -1
- package/dist/lib/types/schemas.generated.js +192 -85
- package/dist/lib/types/schemas.generated.js.map +1 -1
- package/dist/lib/types/schemas.generated.mjs +192 -85
- package/dist/lib/types/schemas.generated.mjs.map +1 -1
- package/dist/lib/types/tools.generated.d.mts +1 -121
- package/dist/lib/types/tools.generated.d.ts +1 -121
- package/dist/lib/types/tools.generated.d.ts.map +1 -1
- package/dist/lib/types/tools.generated.js.map +1 -1
- package/dist/lib/version.d.mts +3 -3
- package/dist/lib/version.d.ts +3 -3
- package/dist/lib/version.js +3 -3
- package/dist/lib/version.js.map +1 -1
- package/dist/lib/version.mjs +3 -3
- package/dist/lib/version.mjs.map +1 -1
- package/docs/guides/MEDIA-BUY-3.2-COMPATIBILITY.md +28 -14
- package/docs/llms.txt +1 -1
- package/package.json +1 -1
|
@@ -3711,8 +3711,6 @@ const DeclineProposalsResponseSchema = import_zod.z.union([import_zod.z.object({
|
|
|
3711
3711
|
}).passthrough(), import_zod.z.object({
|
|
3712
3712
|
outcome: import_zod.z.literal("unable")
|
|
3713
3713
|
}).passthrough()])),
|
|
3714
|
-
status: import_zod.z.literal("submitted").optional(),
|
|
3715
|
-
task_id: import_zod.z.string().min(1).optional(),
|
|
3716
3714
|
message: import_zod.z.string().max(2e3).optional(),
|
|
3717
3715
|
errors: import_zod.z.array(ErrorSchema).optional(),
|
|
3718
3716
|
context: ContextObjectSchema.optional(),
|
|
@@ -11790,6 +11788,10 @@ const ValidationResultSchema = import_zod.z.object({
|
|
|
11790
11788
|
authorization: AuthorizationResultSchema.optional(),
|
|
11791
11789
|
ext: ExtensionObjectSchema.optional()
|
|
11792
11790
|
}).passthrough();
|
|
11791
|
+
const ProductDiscoveryTargetingResolutionSchema = import_zod.z.object({
|
|
11792
|
+
brief_targeting: TargetingOverlaySchema,
|
|
11793
|
+
ext: ExtensionObjectSchema.optional()
|
|
11794
|
+
}).passthrough();
|
|
11793
11795
|
const AudienceEvidenceSchema = import_zod.z.object({}).passthrough().merge(import_zod.z.object({}).passthrough()).merge(import_zod.z.object({}).passthrough()).merge(import_zod.z.object({
|
|
11794
11796
|
evidence_id: import_zod.z.string(),
|
|
11795
11797
|
snapshot_id: import_zod.z.string(),
|
|
@@ -13360,10 +13362,6 @@ const ProductSchema = import_zod.z.object({
|
|
|
13360
13362
|
}).passthrough().optional(),
|
|
13361
13363
|
ext: ExtensionObjectSchema.optional()
|
|
13362
13364
|
}).passthrough();
|
|
13363
|
-
const ProductDiscoveryTargetingResolutionSchema = import_zod.z.object({
|
|
13364
|
-
brief_targeting: TargetingOverlaySchema,
|
|
13365
|
-
ext: ExtensionObjectSchema.optional()
|
|
13366
|
-
}).passthrough();
|
|
13367
13365
|
const ProductAllocationSchema = import_zod.z.object({
|
|
13368
13366
|
product_id: import_zod.z.string(),
|
|
13369
13367
|
allocation_percentage: import_zod.z.number().optional(),
|
|
@@ -14441,43 +14439,6 @@ const RequestProposalsRequestSchema = import_zod.z.object({
|
|
|
14441
14439
|
status: import_zod.z.literal("open").optional()
|
|
14442
14440
|
}).passthrough()).optional()
|
|
14443
14441
|
}).passthrough();
|
|
14444
|
-
const CanonicalProductSchema = import_zod.z.object({
|
|
14445
|
-
product_id: import_zod.z.string(),
|
|
14446
|
-
name: import_zod.z.string(),
|
|
14447
|
-
description: import_zod.z.string().optional(),
|
|
14448
|
-
publisher_properties: import_zod.z.array(PublisherPropertySelectorSchema.and(import_zod.z.object({}).passthrough())).optional(),
|
|
14449
|
-
channels: import_zod.z.array(MediaChannelSchema).optional(),
|
|
14450
|
-
video_placement_types: import_zod.z.array(VideoPlacementTypeSchema).optional(),
|
|
14451
|
-
audio_distribution_types: import_zod.z.array(AudioDistributionTypeSchema).optional(),
|
|
14452
|
-
sponsored_placement_types: import_zod.z.array(SponsoredPlacementTypeSchema).optional(),
|
|
14453
|
-
social_placement_surfaces: import_zod.z.array(SocialPlacementSurfaceSchema).optional(),
|
|
14454
|
-
format_options: import_zod.z.array(CanonicalFormatOptionSchema).optional(),
|
|
14455
|
-
placements: import_zod.z.array(CanonicalProductPlacementSchema).optional(),
|
|
14456
|
-
delivery_type: DeliveryTypeSchema.optional(),
|
|
14457
|
-
exclusivity: ExclusivitySchema.optional(),
|
|
14458
|
-
pricing_options: import_zod.z.array(CanonicalPricingOptionSchema).optional(),
|
|
14459
|
-
forecast: CanonicalDeliveryForecastSchema.optional(),
|
|
14460
|
-
reporting_capabilities: CanonicalReportingCapabilitiesSchema.optional(),
|
|
14461
|
-
measurement_terms: CanonicalMeasurementTermsSchema.optional(),
|
|
14462
|
-
performance_standards: import_zod.z.array(CanonicalPerformanceStandardSchema).optional(),
|
|
14463
|
-
catalog_types: import_zod.z.array(CatalogTypeSchema).optional(),
|
|
14464
|
-
signal_targeting_allowed: import_zod.z.boolean().optional(),
|
|
14465
|
-
signal_targeting_rules: SignalTargetingRulesSchema.optional(),
|
|
14466
|
-
demographic_targeting: DemographicTargetingCapabilitySchema.optional(),
|
|
14467
|
-
audience_evidence: import_zod.z.array(CanonicalAudienceEvidenceSchema).optional(),
|
|
14468
|
-
audience_evidence_selections: import_zod.z.array(CanonicalAudienceEvidenceSelectionSchema).optional(),
|
|
14469
|
-
max_optimization_goals: import_zod.z.number().optional(),
|
|
14470
|
-
catalog_match: import_zod.z.object({
|
|
14471
|
-
matched_gtins: import_zod.z.array(import_zod.z.string()).optional(),
|
|
14472
|
-
matched_ids: import_zod.z.array(import_zod.z.string()).optional(),
|
|
14473
|
-
matched_count: import_zod.z.number().optional(),
|
|
14474
|
-
submitted_count: import_zod.z.number()
|
|
14475
|
-
}).passthrough().optional(),
|
|
14476
|
-
brief_relevance: import_zod.z.string().optional(),
|
|
14477
|
-
expires_at: import_zod.z.string().optional(),
|
|
14478
|
-
allowed_actions: import_zod.z.array(CanonicalProductActionSchema).optional(),
|
|
14479
|
-
ext: ExtensionObjectSchema.optional()
|
|
14480
|
-
}).passthrough();
|
|
14481
14442
|
const CommercialTermsSchema = import_zod.z.object({
|
|
14482
14443
|
source_feed_version: import_zod.z.string().optional(),
|
|
14483
14444
|
source_pricing_version: import_zod.z.string().optional(),
|
|
@@ -15090,6 +15051,43 @@ const CanonicalProposalSchema = (() => {
|
|
|
15090
15051
|
extend: objectSchema.extend.bind(objectSchema)
|
|
15091
15052
|
});
|
|
15092
15053
|
})();
|
|
15054
|
+
const CanonicalProductSchema = import_zod.z.object({
|
|
15055
|
+
product_id: import_zod.z.string(),
|
|
15056
|
+
name: import_zod.z.string(),
|
|
15057
|
+
description: import_zod.z.string().optional(),
|
|
15058
|
+
publisher_properties: import_zod.z.array(PublisherPropertySelectorSchema.and(import_zod.z.object({}).passthrough())).optional(),
|
|
15059
|
+
channels: import_zod.z.array(MediaChannelSchema).optional(),
|
|
15060
|
+
video_placement_types: import_zod.z.array(VideoPlacementTypeSchema).optional(),
|
|
15061
|
+
audio_distribution_types: import_zod.z.array(AudioDistributionTypeSchema).optional(),
|
|
15062
|
+
sponsored_placement_types: import_zod.z.array(SponsoredPlacementTypeSchema).optional(),
|
|
15063
|
+
social_placement_surfaces: import_zod.z.array(SocialPlacementSurfaceSchema).optional(),
|
|
15064
|
+
format_options: import_zod.z.array(CanonicalFormatOptionSchema).optional(),
|
|
15065
|
+
placements: import_zod.z.array(CanonicalProductPlacementSchema).optional(),
|
|
15066
|
+
delivery_type: DeliveryTypeSchema.optional(),
|
|
15067
|
+
exclusivity: ExclusivitySchema.optional(),
|
|
15068
|
+
pricing_options: import_zod.z.array(CanonicalPricingOptionSchema).optional(),
|
|
15069
|
+
forecast: CanonicalDeliveryForecastSchema.optional(),
|
|
15070
|
+
reporting_capabilities: CanonicalReportingCapabilitiesSchema.optional(),
|
|
15071
|
+
measurement_terms: CanonicalMeasurementTermsSchema.optional(),
|
|
15072
|
+
performance_standards: import_zod.z.array(CanonicalPerformanceStandardSchema).optional(),
|
|
15073
|
+
catalog_types: import_zod.z.array(CatalogTypeSchema).optional(),
|
|
15074
|
+
signal_targeting_allowed: import_zod.z.boolean().optional(),
|
|
15075
|
+
signal_targeting_rules: SignalTargetingRulesSchema.optional(),
|
|
15076
|
+
demographic_targeting: DemographicTargetingCapabilitySchema.optional(),
|
|
15077
|
+
audience_evidence: import_zod.z.array(CanonicalAudienceEvidenceSchema).optional(),
|
|
15078
|
+
audience_evidence_selections: import_zod.z.array(CanonicalAudienceEvidenceSelectionSchema).optional(),
|
|
15079
|
+
max_optimization_goals: import_zod.z.number().optional(),
|
|
15080
|
+
catalog_match: import_zod.z.object({
|
|
15081
|
+
matched_gtins: import_zod.z.array(import_zod.z.string()).optional(),
|
|
15082
|
+
matched_ids: import_zod.z.array(import_zod.z.string()).optional(),
|
|
15083
|
+
matched_count: import_zod.z.number().optional(),
|
|
15084
|
+
submitted_count: import_zod.z.number()
|
|
15085
|
+
}).passthrough().optional(),
|
|
15086
|
+
brief_relevance: import_zod.z.string().optional(),
|
|
15087
|
+
expires_at: import_zod.z.string().optional(),
|
|
15088
|
+
allowed_actions: import_zod.z.array(CanonicalProductActionSchema).optional(),
|
|
15089
|
+
ext: ExtensionObjectSchema.optional()
|
|
15090
|
+
}).passthrough();
|
|
15093
15091
|
const BuyProductsRequestSchema = import_zod.z.object({
|
|
15094
15092
|
adcp_version: import_zod.z.string().optional(),
|
|
15095
15093
|
adcp_major_version: import_zod.z.number().optional(),
|
|
@@ -16625,58 +16623,135 @@ const ValidatePropertyDeliveryResponseSchema = import_zod.z.object({
|
|
|
16625
16623
|
list_resolved_at: import_zod.z.iso.datetime().optional(),
|
|
16626
16624
|
ext: ExtensionObjectSchema.optional()
|
|
16627
16625
|
}).passthrough();
|
|
16628
|
-
const MediaBuySchema = import_zod.z.object({
|
|
16629
|
-
media_buy_id: import_zod.z.string(),
|
|
16630
|
-
name: import_zod.z.string().min(1).max(255).regex(/\S/).optional(),
|
|
16631
|
-
accepted_proposal_id: import_zod.z.string().min(1).max(255).optional(),
|
|
16632
|
-
accepted_proposal_terms_digest: import_zod.z.string().regex(/^sha256:[A-Za-z0-9_-]{43}$/).optional(),
|
|
16633
|
-
account: AccountSchema.optional(),
|
|
16634
|
-
status: MediaBuyStatusSchema,
|
|
16635
|
-
health: MediaBuyHealthSchema.and(import_zod.z.string()).optional(),
|
|
16636
|
-
impairments: import_zod.z.array(ImpairmentSchema).optional(),
|
|
16637
|
-
rejection_reason: import_zod.z.string().optional(),
|
|
16638
|
-
confirmed_at: import_zod.z.iso.datetime().nullable(),
|
|
16639
|
-
cancellation: import_zod.z.object({
|
|
16640
|
-
canceled_at: import_zod.z.iso.datetime(),
|
|
16641
|
-
canceled_by: CanceledBySchema,
|
|
16642
|
-
reason: import_zod.z.string().max(500).optional()
|
|
16643
|
-
}).passthrough().optional(),
|
|
16644
|
-
total_budget: import_zod.z.number().min(0),
|
|
16645
|
-
daily_budget_cap: import_zod.z.number().min(0).optional(),
|
|
16646
|
-
budget_cap_timezone: import_zod.z.string().optional(),
|
|
16647
|
-
currency: import_zod.z.string().regex(/^[A-Z]{3}$/).optional(),
|
|
16648
|
-
budget_allocation: BudgetAllocationSchema.optional(),
|
|
16649
|
-
pacing: PacingSchema.optional(),
|
|
16650
|
-
bidding: BiddingPolicySchema.optional(),
|
|
16651
|
-
packages: import_zod.z.array(PackageSchema),
|
|
16652
|
-
context: ContextObjectSchema.optional(),
|
|
16653
|
-
invoice_recipient: BusinessEntity1Schema.optional(),
|
|
16654
|
-
creative_deadline: import_zod.z.iso.datetime().optional(),
|
|
16655
|
-
revision: import_zod.z.number().min(1),
|
|
16656
|
-
created_at: import_zod.z.iso.datetime().optional(),
|
|
16657
|
-
updated_at: import_zod.z.iso.datetime().optional(),
|
|
16658
|
-
ext: ExtensionObjectSchema.optional()
|
|
16659
|
-
}).passthrough();
|
|
16660
16626
|
const RequestProposalsResponseSchema = import_zod.z.union([import_zod.z.object({
|
|
16627
|
+
adcp_version: import_zod.z.string().optional(),
|
|
16661
16628
|
outcome: import_zod.z.literal("proposed"),
|
|
16662
|
-
|
|
16629
|
+
reason: import_zod.z.never().optional(),
|
|
16630
|
+
suggestions: import_zod.z.never().optional(),
|
|
16631
|
+
proposals: import_zod.z.tuple([CanonicalProposalSchema.and(import_zod.z.object({
|
|
16632
|
+
proposal_status: import_zod.z.literal("draft"),
|
|
16633
|
+
expires_at: import_zod.z.iso.datetime()
|
|
16634
|
+
}).passthrough())]).rest(CanonicalProposalSchema.and(import_zod.z.object({
|
|
16635
|
+
proposal_status: import_zod.z.literal("draft"),
|
|
16636
|
+
expires_at: import_zod.z.iso.datetime()
|
|
16637
|
+
}).passthrough())),
|
|
16638
|
+
products: import_zod.z.array(CanonicalProductSchema),
|
|
16639
|
+
incomplete: import_zod.z.tuple([import_zod.z.object({
|
|
16640
|
+
scope: import_zod.z.union([import_zod.z.literal("products"), import_zod.z.literal("pricing"), import_zod.z.literal("forecast"), import_zod.z.literal("proposals"), import_zod.z.literal("wholesale_feed")]),
|
|
16641
|
+
description: import_zod.z.string().min(1),
|
|
16642
|
+
estimated_wait: DurationSchema.optional()
|
|
16643
|
+
}).passthrough()]).rest(import_zod.z.object({
|
|
16644
|
+
scope: import_zod.z.union([import_zod.z.literal("products"), import_zod.z.literal("pricing"), import_zod.z.literal("forecast"), import_zod.z.literal("proposals"), import_zod.z.literal("wholesale_feed")]),
|
|
16645
|
+
description: import_zod.z.string().min(1),
|
|
16646
|
+
estimated_wait: DurationSchema.optional()
|
|
16647
|
+
}).passthrough()).optional(),
|
|
16648
|
+
purchase_continuation: import_zod.z.never().optional(),
|
|
16649
|
+
targeting_resolution: ProductDiscoveryTargetingResolutionSchema.optional(),
|
|
16650
|
+
status: import_zod.z.literal("completed").optional(),
|
|
16651
|
+
task_id: import_zod.z.never().optional(),
|
|
16652
|
+
message: import_zod.z.string().max(2e3).optional(),
|
|
16653
|
+
errors: import_zod.z.array(ErrorSchema).optional(),
|
|
16654
|
+
context: ContextObjectSchema.optional(),
|
|
16655
|
+
ext: ExtensionObjectSchema.optional(),
|
|
16656
|
+
replayed: import_zod.z.literal(true).optional()
|
|
16663
16657
|
}).passthrough(), import_zod.z.object({
|
|
16658
|
+
adcp_version: import_zod.z.string().optional(),
|
|
16664
16659
|
outcome: import_zod.z.literal("products_available"),
|
|
16665
|
-
|
|
16660
|
+
reason: import_zod.z.never().optional(),
|
|
16661
|
+
suggestions: import_zod.z.never().optional(),
|
|
16662
|
+
proposals: import_zod.z.never().optional(),
|
|
16663
|
+
products: import_zod.z.array(CanonicalProductSchema),
|
|
16664
|
+
incomplete: import_zod.z.tuple([import_zod.z.object({
|
|
16665
|
+
scope: import_zod.z.union([import_zod.z.literal("products"), import_zod.z.literal("pricing"), import_zod.z.literal("forecast"), import_zod.z.literal("proposals"), import_zod.z.literal("wholesale_feed")]),
|
|
16666
|
+
description: import_zod.z.string().min(1),
|
|
16667
|
+
estimated_wait: DurationSchema.optional()
|
|
16668
|
+
}).passthrough()]).rest(import_zod.z.object({
|
|
16669
|
+
scope: import_zod.z.union([import_zod.z.literal("products"), import_zod.z.literal("pricing"), import_zod.z.literal("forecast"), import_zod.z.literal("proposals"), import_zod.z.literal("wholesale_feed")]),
|
|
16670
|
+
description: import_zod.z.string().min(1),
|
|
16671
|
+
estimated_wait: DurationSchema.optional()
|
|
16672
|
+
}).passthrough()).optional(),
|
|
16673
|
+
purchase_continuation: import_zod.z.union([import_zod.z.object({
|
|
16674
|
+
kind: import_zod.z.literal("listed_purchase"),
|
|
16675
|
+
product_ids: import_zod.z.array(import_zod.z.string()),
|
|
16676
|
+
cache_scope: import_zod.z.literal("account"),
|
|
16677
|
+
feed_version: import_zod.z.string().min(1),
|
|
16678
|
+
pricing_version: import_zod.z.string().min(1).optional()
|
|
16679
|
+
}).passthrough(), import_zod.z.object({
|
|
16680
|
+
kind: import_zod.z.literal("legacy_create"),
|
|
16681
|
+
continuation_token: import_zod.z.string().min(16),
|
|
16682
|
+
continuation_expires_at: import_zod.z.iso.datetime(),
|
|
16683
|
+
source_adcp_version: import_zod.z.union([import_zod.z.literal("2.5"), import_zod.z.literal("3.0"), import_zod.z.literal("3.1")]),
|
|
16684
|
+
product_ids: import_zod.z.array(import_zod.z.string()),
|
|
16685
|
+
losses: import_zod.z.tuple([import_zod.z.union([import_zod.z.literal("feed_version_not_atomic"), import_zod.z.literal("pricing_version_not_atomic"), import_zod.z.literal("mutation_idempotency_not_guaranteed")]), import_zod.z.union([import_zod.z.literal("feed_version_not_atomic"), import_zod.z.literal("pricing_version_not_atomic"), import_zod.z.literal("mutation_idempotency_not_guaranteed")])]).rest(import_zod.z.union([import_zod.z.literal("feed_version_not_atomic"), import_zod.z.literal("pricing_version_not_atomic"), import_zod.z.literal("mutation_idempotency_not_guaranteed")])),
|
|
16686
|
+
requires_explicit_acceptance: import_zod.z.literal(true)
|
|
16687
|
+
}).passthrough().superRefine((value, ctx) => {
|
|
16688
|
+
if (value.product_ids.length === 0) {
|
|
16689
|
+
ctx.addIssue({ code: "custom", path: ["product_ids"], message: "product_ids must contain at least one entry" });
|
|
16690
|
+
}
|
|
16691
|
+
if (value.product_ids.some((productId) => productId.length === 0)) {
|
|
16692
|
+
ctx.addIssue({ code: "custom", path: ["product_ids"], message: "product_ids must not contain empty IDs" });
|
|
16693
|
+
}
|
|
16694
|
+
if (new Set(value.product_ids).size !== value.product_ids.length) {
|
|
16695
|
+
ctx.addIssue({ code: "custom", path: ["product_ids"], message: "product_ids must be unique" });
|
|
16696
|
+
}
|
|
16697
|
+
if (value.losses.length < 2) {
|
|
16698
|
+
ctx.addIssue({ code: "custom", path: ["losses"], message: "losses must contain at least two entries" });
|
|
16699
|
+
}
|
|
16700
|
+
if (new Set(value.losses).size !== value.losses.length) {
|
|
16701
|
+
ctx.addIssue({ code: "custom", path: ["losses"], message: "losses must be unique" });
|
|
16702
|
+
}
|
|
16703
|
+
for (const required of ["feed_version_not_atomic", "pricing_version_not_atomic"]) {
|
|
16704
|
+
if (!value.losses.includes(required)) {
|
|
16705
|
+
ctx.addIssue({ code: "custom", path: ["losses"], message: `losses must contain ${required}` });
|
|
16706
|
+
}
|
|
16707
|
+
}
|
|
16708
|
+
if (value.source_adcp_version === "2.5" && !value.losses.includes("mutation_idempotency_not_guaranteed")) {
|
|
16709
|
+
ctx.addIssue({ code: "custom", path: ["losses"], message: "AdCP 2.5 losses must contain mutation_idempotency_not_guaranteed" });
|
|
16710
|
+
}
|
|
16711
|
+
})]),
|
|
16712
|
+
targeting_resolution: ProductDiscoveryTargetingResolutionSchema.optional(),
|
|
16713
|
+
status: import_zod.z.literal("completed").optional(),
|
|
16714
|
+
task_id: import_zod.z.never().optional(),
|
|
16715
|
+
message: import_zod.z.string().max(2e3).optional(),
|
|
16716
|
+
errors: import_zod.z.array(ErrorSchema).optional(),
|
|
16717
|
+
context: ContextObjectSchema.optional(),
|
|
16718
|
+
ext: ExtensionObjectSchema.optional(),
|
|
16719
|
+
replayed: import_zod.z.literal(true).optional()
|
|
16666
16720
|
}).passthrough(), import_zod.z.object({
|
|
16721
|
+
adcp_version: import_zod.z.string().optional(),
|
|
16667
16722
|
outcome: import_zod.z.literal("rejected"),
|
|
16668
|
-
|
|
16669
|
-
|
|
16723
|
+
reason: import_zod.z.string().min(1),
|
|
16724
|
+
suggestions: import_zod.z.array(import_zod.z.string()).optional(),
|
|
16725
|
+
proposals: import_zod.z.never().optional(),
|
|
16726
|
+
products: import_zod.z.never().optional(),
|
|
16727
|
+
incomplete: import_zod.z.never().optional(),
|
|
16728
|
+
purchase_continuation: import_zod.z.never().optional(),
|
|
16729
|
+
targeting_resolution: ProductDiscoveryTargetingResolutionSchema.optional(),
|
|
16730
|
+
status: import_zod.z.literal("completed").optional(),
|
|
16731
|
+
task_id: import_zod.z.never().optional(),
|
|
16732
|
+
message: import_zod.z.string().max(2e3).optional(),
|
|
16733
|
+
errors: import_zod.z.array(ErrorSchema).optional(),
|
|
16734
|
+
context: ContextObjectSchema.optional(),
|
|
16735
|
+
ext: ExtensionObjectSchema.optional(),
|
|
16736
|
+
replayed: import_zod.z.literal(true).optional()
|
|
16737
|
+
}).passthrough(), import_zod.z.object({
|
|
16670
16738
|
adcp_version: import_zod.z.string().optional(),
|
|
16671
16739
|
outcome: import_zod.z.union([import_zod.z.literal("proposed"), import_zod.z.literal("products_available"), import_zod.z.literal("rejected")]).optional(),
|
|
16672
16740
|
reason: import_zod.z.string().min(1).optional(),
|
|
16673
16741
|
suggestions: import_zod.z.array(import_zod.z.string()).optional(),
|
|
16674
|
-
proposals: import_zod.z.
|
|
16742
|
+
proposals: import_zod.z.tuple([CanonicalProposalSchema.and(import_zod.z.object({
|
|
16743
|
+
proposal_status: import_zod.z.literal("draft"),
|
|
16744
|
+
expires_at: import_zod.z.iso.datetime()
|
|
16745
|
+
}).passthrough())]).rest(CanonicalProposalSchema.and(import_zod.z.object({
|
|
16675
16746
|
proposal_status: import_zod.z.literal("draft"),
|
|
16676
16747
|
expires_at: import_zod.z.iso.datetime()
|
|
16677
16748
|
}).passthrough())).optional(),
|
|
16678
16749
|
products: import_zod.z.array(CanonicalProductSchema).optional(),
|
|
16679
|
-
incomplete: import_zod.z.
|
|
16750
|
+
incomplete: import_zod.z.tuple([import_zod.z.object({
|
|
16751
|
+
scope: import_zod.z.union([import_zod.z.literal("products"), import_zod.z.literal("pricing"), import_zod.z.literal("forecast"), import_zod.z.literal("proposals"), import_zod.z.literal("wholesale_feed")]),
|
|
16752
|
+
description: import_zod.z.string().min(1),
|
|
16753
|
+
estimated_wait: DurationSchema.optional()
|
|
16754
|
+
}).passthrough()]).rest(import_zod.z.object({
|
|
16680
16755
|
scope: import_zod.z.union([import_zod.z.literal("products"), import_zod.z.literal("pricing"), import_zod.z.literal("forecast"), import_zod.z.literal("proposals"), import_zod.z.literal("wholesale_feed")]),
|
|
16681
16756
|
description: import_zod.z.string().min(1),
|
|
16682
16757
|
estimated_wait: DurationSchema.optional()
|
|
@@ -16693,7 +16768,7 @@ const RequestProposalsResponseSchema = import_zod.z.union([import_zod.z.object({
|
|
|
16693
16768
|
continuation_expires_at: import_zod.z.iso.datetime(),
|
|
16694
16769
|
source_adcp_version: import_zod.z.union([import_zod.z.literal("2.5"), import_zod.z.literal("3.0"), import_zod.z.literal("3.1")]),
|
|
16695
16770
|
product_ids: import_zod.z.array(import_zod.z.string()),
|
|
16696
|
-
losses: import_zod.z.
|
|
16771
|
+
losses: import_zod.z.tuple([import_zod.z.union([import_zod.z.literal("feed_version_not_atomic"), import_zod.z.literal("pricing_version_not_atomic"), import_zod.z.literal("mutation_idempotency_not_guaranteed")]), import_zod.z.union([import_zod.z.literal("feed_version_not_atomic"), import_zod.z.literal("pricing_version_not_atomic"), import_zod.z.literal("mutation_idempotency_not_guaranteed")])]).rest(import_zod.z.union([import_zod.z.literal("feed_version_not_atomic"), import_zod.z.literal("pricing_version_not_atomic"), import_zod.z.literal("mutation_idempotency_not_guaranteed")])),
|
|
16697
16772
|
requires_explicit_acceptance: import_zod.z.literal(true)
|
|
16698
16773
|
}).passthrough().superRefine((value, ctx) => {
|
|
16699
16774
|
if (value.product_ids.length === 0) {
|
|
@@ -16721,14 +16796,14 @@ const RequestProposalsResponseSchema = import_zod.z.union([import_zod.z.object({
|
|
|
16721
16796
|
}
|
|
16722
16797
|
})]).optional(),
|
|
16723
16798
|
targeting_resolution: ProductDiscoveryTargetingResolutionSchema.optional(),
|
|
16724
|
-
status: import_zod.z.
|
|
16725
|
-
task_id: import_zod.z.string().min(1)
|
|
16799
|
+
status: import_zod.z.literal("submitted"),
|
|
16800
|
+
task_id: import_zod.z.string().min(1),
|
|
16726
16801
|
message: import_zod.z.string().max(2e3).optional(),
|
|
16727
16802
|
errors: import_zod.z.array(ErrorSchema).optional(),
|
|
16728
16803
|
context: ContextObjectSchema.optional(),
|
|
16729
16804
|
ext: ExtensionObjectSchema.optional(),
|
|
16730
16805
|
replayed: import_zod.z.literal(true).optional()
|
|
16731
|
-
}).passthrough()).superRefine((value, ctx) => {
|
|
16806
|
+
}).passthrough()]).superRefine((value, ctx) => {
|
|
16732
16807
|
const present = (field) => Object.prototype.hasOwnProperty.call(value, field);
|
|
16733
16808
|
const requireNonEmptyArray = (field) => {
|
|
16734
16809
|
if (!Array.isArray(value[field]) || value[field].length === 0) {
|
|
@@ -16786,6 +16861,38 @@ const RequestProposalsResponseSchema = import_zod.z.union([import_zod.z.object({
|
|
|
16786
16861
|
forbid(["proposals", "products", "incomplete", "purchase_continuation", "task_id"]);
|
|
16787
16862
|
}
|
|
16788
16863
|
});
|
|
16864
|
+
const MediaBuySchema = import_zod.z.object({
|
|
16865
|
+
media_buy_id: import_zod.z.string(),
|
|
16866
|
+
name: import_zod.z.string().min(1).max(255).regex(/\S/).optional(),
|
|
16867
|
+
accepted_proposal_id: import_zod.z.string().min(1).max(255).optional(),
|
|
16868
|
+
accepted_proposal_terms_digest: import_zod.z.string().regex(/^sha256:[A-Za-z0-9_-]{43}$/).optional(),
|
|
16869
|
+
account: AccountSchema.optional(),
|
|
16870
|
+
status: MediaBuyStatusSchema,
|
|
16871
|
+
health: MediaBuyHealthSchema.and(import_zod.z.string()).optional(),
|
|
16872
|
+
impairments: import_zod.z.array(ImpairmentSchema).optional(),
|
|
16873
|
+
rejection_reason: import_zod.z.string().optional(),
|
|
16874
|
+
confirmed_at: import_zod.z.iso.datetime().nullable(),
|
|
16875
|
+
cancellation: import_zod.z.object({
|
|
16876
|
+
canceled_at: import_zod.z.iso.datetime(),
|
|
16877
|
+
canceled_by: CanceledBySchema,
|
|
16878
|
+
reason: import_zod.z.string().max(500).optional()
|
|
16879
|
+
}).passthrough().optional(),
|
|
16880
|
+
total_budget: import_zod.z.number().min(0),
|
|
16881
|
+
daily_budget_cap: import_zod.z.number().min(0).optional(),
|
|
16882
|
+
budget_cap_timezone: import_zod.z.string().optional(),
|
|
16883
|
+
currency: import_zod.z.string().regex(/^[A-Z]{3}$/).optional(),
|
|
16884
|
+
budget_allocation: BudgetAllocationSchema.optional(),
|
|
16885
|
+
pacing: PacingSchema.optional(),
|
|
16886
|
+
bidding: BiddingPolicySchema.optional(),
|
|
16887
|
+
packages: import_zod.z.array(PackageSchema),
|
|
16888
|
+
context: ContextObjectSchema.optional(),
|
|
16889
|
+
invoice_recipient: BusinessEntity1Schema.optional(),
|
|
16890
|
+
creative_deadline: import_zod.z.iso.datetime().optional(),
|
|
16891
|
+
revision: import_zod.z.number().min(1),
|
|
16892
|
+
created_at: import_zod.z.iso.datetime().optional(),
|
|
16893
|
+
updated_at: import_zod.z.iso.datetime().optional(),
|
|
16894
|
+
ext: ExtensionObjectSchema.optional()
|
|
16895
|
+
}).passthrough();
|
|
16789
16896
|
const RefineProposalsResponseSchema = import_zod.z.union([import_zod.z.object({
|
|
16790
16897
|
adcp_version: import_zod.z.string().optional(),
|
|
16791
16898
|
results: import_zod.z.array(import_zod.z.union([import_zod.z.object({
|