@koda-sl/baker-cli 0.335.0 → 0.337.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.
package/dist/cli.js CHANGED
@@ -3148,18 +3148,18 @@ var urlCustomParametersSchema = z5.array(
3148
3148
  "each custom parameter key can appear only once"
3149
3149
  );
3150
3150
  var keywordTextSchema = z5.string().min(1).max(GOOGLE_ADS_LIMITS.keyword.textMax).refine((t) => t.trim().split(/\s+/).length <= GOOGLE_ADS_LIMITS.keyword.wordsMax, "keyword exceeds 10 words");
3151
- var budgetCreateSchema = z5.object({
3151
+ var budgetCreateSchema = z5.strictObject({
3152
3152
  name: z5.string().min(1).max(GOOGLE_ADS_LIMITS.budget.nameMax),
3153
3153
  amountMicros: microsSchema,
3154
3154
  deliveryMethod: z5.enum(BUDGET_DELIVERY_METHODS).default("STANDARD"),
3155
3155
  explicitlyShared: z5.boolean().default(false)
3156
3156
  });
3157
- var budgetUpdateSchema = z5.object({
3157
+ var budgetUpdateSchema = z5.strictObject({
3158
3158
  name: z5.string().min(1).max(GOOGLE_ADS_LIMITS.budget.nameMax).optional(),
3159
3159
  amountMicros: microsSchema.optional(),
3160
3160
  deliveryMethod: z5.enum(BUDGET_DELIVERY_METHODS).optional()
3161
3161
  }).refine((p) => Object.values(p).some((v) => v !== void 0), "update needs at least one field");
3162
- var biddingConfigSchema = z5.object({
3162
+ var biddingConfigSchema = z5.strictObject({
3163
3163
  type: z5.enum(BIDDING_STRATEGY_TYPES),
3164
3164
  targetCpaMicros: microsSchema.optional(),
3165
3165
  targetRoas: z5.number().positive().optional(),
@@ -3267,7 +3267,7 @@ var campaignUpdateSchema2 = z5.strictObject({
3267
3267
  euPoliticalAds: z5.boolean().optional(),
3268
3268
  status: z5.enum(["ENABLED", "PAUSED", "REMOVED"]).optional()
3269
3269
  }).refine((p) => Object.values(p).some((v) => v !== void 0), "update needs at least one field");
3270
- var adGroupCreateSchema = z5.object({
3270
+ var adGroupCreateSchema = z5.strictObject({
3271
3271
  name: z5.string().min(1).max(GOOGLE_ADS_LIMITS.adGroup.nameMax),
3272
3272
  campaign: refSchema,
3273
3273
  /**
@@ -3285,7 +3285,7 @@ var adGroupUpdateSchema = z5.strictObject({
3285
3285
  cpcBidMicros: microsSchema.optional(),
3286
3286
  status: z5.enum(["ENABLED", "PAUSED", "REMOVED"]).optional()
3287
3287
  }).refine((p) => Object.values(p).some((v) => v !== void 0), "update needs at least one field");
3288
- var keywordAddSchema = z5.object({
3288
+ var keywordAddSchema = z5.strictObject({
3289
3289
  adGroup: refSchema,
3290
3290
  text: keywordTextSchema,
3291
3291
  matchType: matchTypeSchema,
@@ -3293,31 +3293,31 @@ var keywordAddSchema = z5.object({
3293
3293
  finalUrls: z5.array(httpsUrlSchema2).optional(),
3294
3294
  status: stageableStatusSchema2.default("ENABLED")
3295
3295
  });
3296
- var keywordUpdateSchema = z5.object({
3296
+ var keywordUpdateSchema = z5.strictObject({
3297
3297
  cpcBidMicros: microsSchema.optional(),
3298
3298
  finalUrls: z5.array(httpsUrlSchema2).optional(),
3299
3299
  status: z5.enum(["ENABLED", "PAUSED", "REMOVED"]).optional()
3300
3300
  }).refine((p) => Object.values(p).some((v) => v !== void 0), "update needs at least one field");
3301
- var negativeKeywordAddSchema = z5.object({
3301
+ var negativeKeywordAddSchema = z5.strictObject({
3302
3302
  level: z5.enum(["adGroup", "campaign"]),
3303
3303
  parent: refSchema,
3304
3304
  text: keywordTextSchema,
3305
3305
  matchType: matchTypeSchema
3306
3306
  });
3307
- var sharedSetCreateSchema = z5.object({
3307
+ var sharedSetCreateSchema = z5.strictObject({
3308
3308
  name: z5.string().min(1).max(GOOGLE_ADS_LIMITS.sharedSet.nameMax),
3309
3309
  type: z5.enum(SHARED_SET_TYPES).default("NEGATIVE_KEYWORDS")
3310
3310
  });
3311
- var sharedSetMemberAddSchema = z5.object({
3311
+ var sharedSetMemberAddSchema = z5.strictObject({
3312
3312
  sharedSet: refSchema,
3313
3313
  text: keywordTextSchema,
3314
3314
  matchType: matchTypeSchema
3315
3315
  });
3316
- var campaignSharedSetAttachSchema = z5.object({
3316
+ var campaignSharedSetAttachSchema = z5.strictObject({
3317
3317
  campaign: refSchema,
3318
3318
  sharedSet: refSchema
3319
3319
  });
3320
- var adTextAssetSchema = z5.object({
3320
+ var adTextAssetSchema = z5.strictObject({
3321
3321
  text: z5.string().min(1),
3322
3322
  pinnedField: z5.enum(PINNED_FIELDS).optional()
3323
3323
  });
@@ -3341,9 +3341,11 @@ var responsiveSearchAdSchema = z5.strictObject({
3341
3341
  });
3342
3342
  var responsiveDisplayAdSchema = z5.strictObject({
3343
3343
  format: z5.literal("responsiveDisplay"),
3344
- headlines: z5.array(z5.object({ text: z5.string().min(1).max(GOOGLE_ADS_LIMITS.responsiveDisplayAd.headlineTextMax) })).min(1).max(5),
3345
- longHeadline: z5.object({ text: z5.string().min(1).max(GOOGLE_ADS_LIMITS.responsiveDisplayAd.longHeadlineTextMax) }),
3346
- descriptions: z5.array(z5.object({ text: z5.string().min(1).max(GOOGLE_ADS_LIMITS.responsiveDisplayAd.descriptionTextMax) })).min(1).max(5),
3344
+ headlines: z5.array(z5.strictObject({ text: z5.string().min(1).max(GOOGLE_ADS_LIMITS.responsiveDisplayAd.headlineTextMax) })).min(1).max(5),
3345
+ longHeadline: z5.strictObject({
3346
+ text: z5.string().min(1).max(GOOGLE_ADS_LIMITS.responsiveDisplayAd.longHeadlineTextMax)
3347
+ }),
3348
+ descriptions: z5.array(z5.strictObject({ text: z5.string().min(1).max(GOOGLE_ADS_LIMITS.responsiveDisplayAd.descriptionTextMax) })).min(1).max(5),
3347
3349
  businessName: z5.string().min(1).max(GOOGLE_ADS_LIMITS.responsiveDisplayAd.businessNameMax),
3348
3350
  // A Responsive Display Ad's images are fields on the ad's own content (never campaign-level
3349
3351
  // asset links). Google requires ≥1 landscape marketing image (1.91:1) AND ≥1 square marketing
@@ -3366,8 +3368,8 @@ var callAdSchema = z5.strictObject({
3366
3368
  });
3367
3369
  var appAdSchema = z5.strictObject({
3368
3370
  format: z5.literal("app"),
3369
- headlines: z5.array(z5.object({ text: z5.string().min(1).max(GOOGLE_ADS_LIMITS.appAd.headlineTextMax) })).min(GOOGLE_ADS_LIMITS.appAd.headlinesMin).max(GOOGLE_ADS_LIMITS.appAd.headlinesMax),
3370
- descriptions: z5.array(z5.object({ text: z5.string().min(1).max(GOOGLE_ADS_LIMITS.appAd.descriptionTextMax) })).min(GOOGLE_ADS_LIMITS.appAd.descriptionsMin).max(GOOGLE_ADS_LIMITS.appAd.descriptionsMax),
3371
+ headlines: z5.array(z5.strictObject({ text: z5.string().min(1).max(GOOGLE_ADS_LIMITS.appAd.headlineTextMax) })).min(GOOGLE_ADS_LIMITS.appAd.headlinesMin).max(GOOGLE_ADS_LIMITS.appAd.headlinesMax),
3372
+ descriptions: z5.array(z5.strictObject({ text: z5.string().min(1).max(GOOGLE_ADS_LIMITS.appAd.descriptionTextMax) })).min(GOOGLE_ADS_LIMITS.appAd.descriptionsMin).max(GOOGLE_ADS_LIMITS.appAd.descriptionsMax),
3371
3373
  // An App campaign ad carries its images on its own content (`AppAdInfo.images`), not as
3372
3374
  // campaign-level asset links — same shape as a responsive display ad's marketing images.
3373
3375
  images: z5.array(refSchema).max(GOOGLE_ADS_LIMITS.appAd.imagesMax).optional(),
@@ -3390,8 +3392,8 @@ var demandGenAdSchema = z5.strictObject({
3390
3392
  * account with no name was created, and reads back with none. Only the video format requires one.
3391
3393
  */
3392
3394
  name: z5.string().min(1).max(GOOGLE_ADS_LIMITS.demandGenAd.adNameMax).optional(),
3393
- headlines: z5.array(z5.object({ text: z5.string().min(1).max(GOOGLE_ADS_LIMITS.demandGenAd.headlineTextMax) })).min(GOOGLE_ADS_LIMITS.demandGenAd.headlinesMin).max(GOOGLE_ADS_LIMITS.demandGenAd.headlinesMax),
3394
- descriptions: z5.array(z5.object({ text: z5.string().min(1).max(GOOGLE_ADS_LIMITS.demandGenAd.descriptionTextMax) })).min(GOOGLE_ADS_LIMITS.demandGenAd.descriptionsMin).max(GOOGLE_ADS_LIMITS.demandGenAd.descriptionsMax),
3395
+ headlines: z5.array(z5.strictObject({ text: z5.string().min(1).max(GOOGLE_ADS_LIMITS.demandGenAd.headlineTextMax) })).min(GOOGLE_ADS_LIMITS.demandGenAd.headlinesMin).max(GOOGLE_ADS_LIMITS.demandGenAd.headlinesMax),
3396
+ descriptions: z5.array(z5.strictObject({ text: z5.string().min(1).max(GOOGLE_ADS_LIMITS.demandGenAd.descriptionTextMax) })).min(GOOGLE_ADS_LIMITS.demandGenAd.descriptionsMin).max(GOOGLE_ADS_LIMITS.demandGenAd.descriptionsMax),
3395
3397
  businessName: z5.string().min(1).max(GOOGLE_ADS_LIMITS.demandGenAd.businessNameMax),
3396
3398
  finalUrls: z5.array(httpsUrlSchema2).min(1),
3397
3399
  imageAssets: z5.array(refSchema).optional(),
@@ -3409,9 +3411,9 @@ var demandGenVideoAdSchema = z5.strictObject({
3409
3411
  * IMMUTABLE — an update must be able to restate the whole content without renaming the ad.
3410
3412
  */
3411
3413
  name: z5.string().min(1).max(GOOGLE_ADS_LIMITS.demandGenVideoAd.adNameMax).optional(),
3412
- headlines: z5.array(z5.object({ text: z5.string().min(1).max(GOOGLE_ADS_LIMITS.demandGenVideoAd.headlineTextMax) })).min(GOOGLE_ADS_LIMITS.demandGenVideoAd.headlinesMin).max(GOOGLE_ADS_LIMITS.demandGenVideoAd.headlinesMax),
3413
- longHeadlines: z5.array(z5.object({ text: z5.string().min(1).max(GOOGLE_ADS_LIMITS.demandGenVideoAd.longHeadlineTextMax) })).min(GOOGLE_ADS_LIMITS.demandGenVideoAd.longHeadlinesMin).max(GOOGLE_ADS_LIMITS.demandGenVideoAd.longHeadlinesMax),
3414
- descriptions: z5.array(z5.object({ text: z5.string().min(1).max(GOOGLE_ADS_LIMITS.demandGenVideoAd.descriptionTextMax) })).min(GOOGLE_ADS_LIMITS.demandGenVideoAd.descriptionsMin).max(GOOGLE_ADS_LIMITS.demandGenVideoAd.descriptionsMax),
3414
+ headlines: z5.array(z5.strictObject({ text: z5.string().min(1).max(GOOGLE_ADS_LIMITS.demandGenVideoAd.headlineTextMax) })).min(GOOGLE_ADS_LIMITS.demandGenVideoAd.headlinesMin).max(GOOGLE_ADS_LIMITS.demandGenVideoAd.headlinesMax),
3415
+ longHeadlines: z5.array(z5.strictObject({ text: z5.string().min(1).max(GOOGLE_ADS_LIMITS.demandGenVideoAd.longHeadlineTextMax) })).min(GOOGLE_ADS_LIMITS.demandGenVideoAd.longHeadlinesMin).max(GOOGLE_ADS_LIMITS.demandGenVideoAd.longHeadlinesMax),
3416
+ descriptions: z5.array(z5.strictObject({ text: z5.string().min(1).max(GOOGLE_ADS_LIMITS.demandGenVideoAd.descriptionTextMax) })).min(GOOGLE_ADS_LIMITS.demandGenVideoAd.descriptionsMin).max(GOOGLE_ADS_LIMITS.demandGenVideoAd.descriptionsMax),
3415
3417
  businessName: z5.string().min(1).max(GOOGLE_ADS_LIMITS.demandGenVideoAd.businessNameMax),
3416
3418
  finalUrls: z5.array(httpsUrlSchema2).min(1),
3417
3419
  videoAssets: z5.array(refSchema).optional(),
@@ -3427,35 +3429,35 @@ var adContentSchema2 = z5.discriminatedUnion("format", [
3427
3429
  demandGenAdSchema,
3428
3430
  demandGenVideoAdSchema
3429
3431
  ]);
3430
- var adCreateSchema = z5.object({
3432
+ var adCreateSchema = z5.strictObject({
3431
3433
  adGroup: refSchema,
3432
3434
  status: stageableStatusSchema2.default("PAUSED"),
3433
3435
  content: adContentSchema2
3434
3436
  });
3435
- var adUpdateSchema = z5.object({
3437
+ var adUpdateSchema = z5.strictObject({
3436
3438
  status: z5.enum(["ENABLED", "PAUSED", "REMOVED"]).optional(),
3437
3439
  /** Whole-content replacement for RSA-like formats; re-validated against adContentSchema. */
3438
3440
  content: z5.record(z5.string(), z5.unknown()).optional()
3439
3441
  }).refine((p) => Object.values(p).some((v) => v !== void 0), "update needs at least one field");
3440
- var textAssetSchema = z5.object({ type: z5.literal("text"), text: z5.string().min(1) });
3441
- var imageAssetSchema = z5.object({
3442
+ var textAssetSchema = z5.strictObject({ type: z5.literal("text"), text: z5.string().min(1) });
3443
+ var imageAssetSchema = z5.strictObject({
3442
3444
  type: z5.literal("image"),
3443
3445
  imageId: z5.string().min(1),
3444
3446
  name: z5.string().optional()
3445
3447
  });
3446
- var youtubeVideoAssetSchema = z5.object({
3448
+ var youtubeVideoAssetSchema = z5.strictObject({
3447
3449
  type: z5.literal("youtubeVideo"),
3448
3450
  youtubeVideoId: z5.string().min(1),
3449
3451
  name: z5.string().optional()
3450
3452
  });
3451
- var sitelinkAssetSchema = z5.object({
3453
+ var sitelinkAssetSchema = z5.strictObject({
3452
3454
  type: z5.literal("sitelink"),
3453
3455
  linkText: z5.string().min(1).max(GOOGLE_ADS_LIMITS.asset.sitelinkLinkTextMax),
3454
3456
  description1: z5.string().max(GOOGLE_ADS_LIMITS.asset.sitelinkDescriptionMax).optional(),
3455
3457
  description2: z5.string().max(GOOGLE_ADS_LIMITS.asset.sitelinkDescriptionMax).optional(),
3456
3458
  finalUrls: z5.array(httpsUrlSchema2).min(1)
3457
3459
  });
3458
- var calloutAssetSchema = z5.object({
3460
+ var calloutAssetSchema = z5.strictObject({
3459
3461
  type: z5.literal("callout"),
3460
3462
  calloutText: z5.string().min(1).max(GOOGLE_ADS_LIMITS.asset.calloutTextMax)
3461
3463
  });
@@ -3470,12 +3472,12 @@ var structuredSnippetHeaderSchema = z5.string().min(1).transform((header, ctx) =
3470
3472
  }
3471
3473
  return canonical2;
3472
3474
  });
3473
- var structuredSnippetAssetSchema = z5.object({
3475
+ var structuredSnippetAssetSchema = z5.strictObject({
3474
3476
  type: z5.literal("structuredSnippet"),
3475
3477
  header: structuredSnippetHeaderSchema,
3476
3478
  values: z5.array(z5.string().min(1).max(GOOGLE_ADS_LIMITS.asset.structuredSnippetValueMax)).min(GOOGLE_ADS_LIMITS.asset.structuredSnippetValuesMin).max(GOOGLE_ADS_LIMITS.asset.structuredSnippetValuesMax)
3477
3479
  });
3478
- var callToActionAssetSchema = z5.object({ type: z5.literal("callToAction"), callToAction: z5.string().min(1) });
3480
+ var callToActionAssetSchema = z5.strictObject({ type: z5.literal("callToAction"), callToAction: z5.string().min(1) });
3479
3481
  var assetCreateSchema = z5.discriminatedUnion("type", [
3480
3482
  textAssetSchema,
3481
3483
  imageAssetSchema,
@@ -3485,7 +3487,7 @@ var assetCreateSchema = z5.discriminatedUnion("type", [
3485
3487
  structuredSnippetAssetSchema,
3486
3488
  callToActionAssetSchema
3487
3489
  ]);
3488
- var assetUpdateSchema = z5.object({
3490
+ var assetUpdateSchema = z5.strictObject({
3489
3491
  name: z5.string().min(1).optional(),
3490
3492
  linkText: z5.string().min(1).max(GOOGLE_ADS_LIMITS.asset.sitelinkLinkTextMax).optional(),
3491
3493
  description1: z5.string().max(GOOGLE_ADS_LIMITS.asset.sitelinkDescriptionMax).optional(),
@@ -3497,7 +3499,7 @@ var assetUpdateSchema = z5.object({
3497
3499
  callToAction: z5.string().min(1).optional(),
3498
3500
  text: z5.string().min(1).optional()
3499
3501
  }).refine((p) => Object.values(p).some((v) => v !== void 0), "update needs at least one field");
3500
- var assetLinkAttachSchema = z5.object({
3502
+ var assetLinkAttachSchema = z5.strictObject({
3501
3503
  level: z5.enum(["campaign", "adGroup", "customer"]),
3502
3504
  parent: refSchema.optional(),
3503
3505
  asset: refSchema,
@@ -3525,13 +3527,13 @@ var assetLinkAttachSchema = z5.object({
3525
3527
  });
3526
3528
  }
3527
3529
  });
3528
- var assetGroupCreateSchema = z5.object({
3530
+ var assetGroupCreateSchema = z5.strictObject({
3529
3531
  campaign: refSchema,
3530
3532
  name: z5.string().min(1).max(GOOGLE_ADS_LIMITS.assetGroup.nameMax),
3531
3533
  finalUrls: z5.array(httpsUrlSchema2).min(1),
3532
- headlines: z5.array(z5.object({ text: z5.string().min(1).max(GOOGLE_ADS_LIMITS.assetGroup.headlineTextMax) })).min(GOOGLE_ADS_LIMITS.assetGroup.headlinesMin).max(GOOGLE_ADS_LIMITS.assetGroup.headlinesMax),
3533
- longHeadlines: z5.array(z5.object({ text: z5.string().min(1).max(GOOGLE_ADS_LIMITS.assetGroup.longHeadlineTextMax) })).min(GOOGLE_ADS_LIMITS.assetGroup.longHeadlinesMin).max(GOOGLE_ADS_LIMITS.assetGroup.longHeadlinesMax),
3534
- descriptions: z5.array(z5.object({ text: z5.string().min(1).max(GOOGLE_ADS_LIMITS.assetGroup.descriptionTextMax) })).min(GOOGLE_ADS_LIMITS.assetGroup.descriptionsMin).max(GOOGLE_ADS_LIMITS.assetGroup.descriptionsMax),
3534
+ headlines: z5.array(z5.strictObject({ text: z5.string().min(1).max(GOOGLE_ADS_LIMITS.assetGroup.headlineTextMax) })).min(GOOGLE_ADS_LIMITS.assetGroup.headlinesMin).max(GOOGLE_ADS_LIMITS.assetGroup.headlinesMax),
3535
+ longHeadlines: z5.array(z5.strictObject({ text: z5.string().min(1).max(GOOGLE_ADS_LIMITS.assetGroup.longHeadlineTextMax) })).min(GOOGLE_ADS_LIMITS.assetGroup.longHeadlinesMin).max(GOOGLE_ADS_LIMITS.assetGroup.longHeadlinesMax),
3536
+ descriptions: z5.array(z5.strictObject({ text: z5.string().min(1).max(GOOGLE_ADS_LIMITS.assetGroup.descriptionTextMax) })).min(GOOGLE_ADS_LIMITS.assetGroup.descriptionsMin).max(GOOGLE_ADS_LIMITS.assetGroup.descriptionsMax),
3535
3537
  businessName: z5.string().min(1).max(GOOGLE_ADS_LIMITS.assetGroup.businessNameMax),
3536
3538
  imageAssets: z5.array(refSchema).optional(),
3537
3539
  squareImageAssets: z5.array(refSchema).optional(),
@@ -3539,17 +3541,17 @@ var assetGroupCreateSchema = z5.object({
3539
3541
  logoAssets: z5.array(refSchema).optional(),
3540
3542
  status: z5.enum(["ENABLED", "PAUSED"]).default("PAUSED")
3541
3543
  });
3542
- var assetGroupAssetAttachSchema = z5.object({
3544
+ var assetGroupAssetAttachSchema = z5.strictObject({
3543
3545
  assetGroup: refSchema,
3544
3546
  asset: refSchema,
3545
3547
  fieldType: z5.enum(ASSET_GROUP_ASSET_FIELD_TYPES)
3546
3548
  });
3547
- var assetGroupUpdateSchema = z5.object({
3549
+ var assetGroupUpdateSchema = z5.strictObject({
3548
3550
  name: z5.string().min(1).max(GOOGLE_ADS_LIMITS.assetGroup.nameMax).optional(),
3549
3551
  finalUrls: z5.array(httpsUrlSchema2).min(1).optional(),
3550
3552
  status: z5.enum(["ENABLED", "PAUSED", "REMOVED"]).optional()
3551
3553
  }).refine((p) => Object.values(p).some((v) => v !== void 0), "update needs at least one field");
3552
- var audienceCreateSchema2 = z5.object({
3554
+ var audienceCreateSchema2 = z5.strictObject({
3553
3555
  name: z5.string().min(1).max(GOOGLE_ADS_LIMITS.audience.nameMax),
3554
3556
  type: z5.enum(USER_LIST_TYPES).default("BASIC"),
3555
3557
  description: z5.string().optional(),
@@ -3573,7 +3575,7 @@ var targetingSettingSetSchema = z5.strictObject({
3573
3575
  audience: z5.enum(["OBSERVATION", "TARGETING"]),
3574
3576
  preserved: z5.array(targetRestrictionSchema).optional()
3575
3577
  });
3576
- var conversionActionCreateSchema = z5.object({
3578
+ var conversionActionCreateSchema = z5.strictObject({
3577
3579
  name: z5.string().min(1).max(GOOGLE_ADS_LIMITS.conversionAction.nameMax),
3578
3580
  type: z5.enum(CONVERSION_ACTION_TYPES).optional(),
3579
3581
  category: z5.enum(CONVERSION_ACTION_CATEGORIES).optional(),
@@ -3595,7 +3597,7 @@ var conversionActionCreateSchema = z5.object({
3595
3597
  primaryForGoal: z5.boolean().optional()
3596
3598
  });
3597
3599
  var HIDDEN_CONVERSION_STATUS_ERROR = 'Google rejects status HIDDEN on every conversion action write ("the field\'s value is on a deny-list"), so it is not part of this contract. To stop automated bidding optimizing toward a conversion while it keeps measuring, demote it instead: `baker ads google conversions update --target <id> --no-primary`. To stop it counting altogether, use `status: "REMOVED"`. Pick one of those and carry on with the rest of the job.';
3598
- var conversionActionUpdateSchema = z5.object({
3600
+ var conversionActionUpdateSchema = z5.strictObject({
3599
3601
  name: z5.string().min(1).max(GOOGLE_ADS_LIMITS.conversionAction.nameMax).optional(),
3600
3602
  category: z5.enum(CONVERSION_ACTION_CATEGORIES).optional(),
3601
3603
  countingType: z5.enum(CONVERSION_COUNTING_TYPES).optional(),
@@ -3621,14 +3623,14 @@ var conversionActionUpdateSchema = z5.object({
3621
3623
  (p) => p.status !== "REMOVED" || Object.entries(p).every(([k, v]) => k === "status" || v === void 0),
3622
3624
  'removing a conversion action cannot be combined with other edits \u2014 `status: "REMOVED"` deletes it, so a name or category sent alongside would be silently discarded. Stage the removal on its own.'
3623
3625
  );
3624
- var conversionGoalSetSchema = z5.object({
3626
+ var conversionGoalSetSchema = z5.strictObject({
3625
3627
  category: z5.enum(CONVERSION_ACTION_CATEGORIES),
3626
3628
  origin: z5.enum(CONVERSION_ORIGINS),
3627
3629
  /** True = conversions of this category/origin count toward automated bidding; false = reported only. */
3628
3630
  biddable: z5.boolean()
3629
3631
  });
3630
3632
  var PORTFOLIO_TARGET_CPC_MESSAGE = "portfolio strategies cannot be Target CPC \u2014 it is set on the Demand Gen campaign itself";
3631
- var biddingStrategyCreateSchema = z5.object({
3633
+ var biddingStrategyCreateSchema = z5.strictObject({
3632
3634
  name: z5.string().min(1).max(GOOGLE_ADS_LIMITS.biddingStrategy.nameMax),
3633
3635
  config: biddingConfigSchema
3634
3636
  }).superRefine((p, ctx) => {
@@ -3639,7 +3641,7 @@ var biddingStrategyCreateSchema = z5.object({
3639
3641
  ctx.addIssue({ code: "custom", path: ["config", "type"], message: PORTFOLIO_TARGET_CPC_MESSAGE });
3640
3642
  }
3641
3643
  });
3642
- var biddingStrategyUpdateSchema = z5.object({
3644
+ var biddingStrategyUpdateSchema = z5.strictObject({
3643
3645
  name: z5.string().min(1).max(GOOGLE_ADS_LIMITS.biddingStrategy.nameMax).optional(),
3644
3646
  config: biddingConfigSchema.optional()
3645
3647
  }).superRefine((p, ctx) => {
@@ -3650,25 +3652,25 @@ var biddingStrategyUpdateSchema = z5.object({
3650
3652
  ctx.addIssue({ code: "custom", path: ["config", "type"], message: PORTFOLIO_TARGET_CPC_MESSAGE });
3651
3653
  }
3652
3654
  });
3653
- var labelCreateSchema = z5.object({
3655
+ var labelCreateSchema = z5.strictObject({
3654
3656
  name: z5.string().min(1).max(GOOGLE_ADS_LIMITS.label.nameMax),
3655
3657
  backgroundColor: z5.string().regex(/^#[0-9A-Fa-f]{6}$/).optional(),
3656
3658
  description: z5.string().optional()
3657
3659
  });
3658
- var labelAttachSchema = z5.object({
3660
+ var labelAttachSchema = z5.strictObject({
3659
3661
  level: z5.enum(["campaign", "adGroup", "ad"]),
3660
3662
  parent: refSchema,
3661
3663
  label: refSchema
3662
3664
  });
3663
- var locationCriterionSchema = z5.object({
3665
+ var locationCriterionSchema = z5.strictObject({
3664
3666
  criterionType: z5.literal("location"),
3665
3667
  geoTargetConstant: z5.union([z5.string().regex(GEO_TARGET_CONSTANT_REGEX), z5.string().regex(NUMERIC_ID_REGEX2)])
3666
3668
  });
3667
- var languageCriterionSchema = z5.object({
3669
+ var languageCriterionSchema = z5.strictObject({
3668
3670
  criterionType: z5.literal("language"),
3669
3671
  languageConstant: z5.union([z5.string().regex(LANGUAGE_CONSTANT_REGEX), z5.string().regex(NUMERIC_ID_REGEX2)])
3670
3672
  });
3671
- var adScheduleCriterionSchema = z5.object({
3673
+ var adScheduleCriterionSchema = z5.strictObject({
3672
3674
  criterionType: z5.literal("adSchedule"),
3673
3675
  dayOfWeek: z5.enum(DAYS_OF_WEEK),
3674
3676
  startHour: z5.number().int().min(0).max(23),
@@ -3679,12 +3681,12 @@ var adScheduleCriterionSchema = z5.object({
3679
3681
  var bidModifierSchema = z5.number().min(0).max(10).refine((v) => v === 0 || v >= 0.1, {
3680
3682
  message: "bid modifier must be 0 (exclude the device) or between 0.1 and 10.0"
3681
3683
  });
3682
- var deviceCriterionSchema = z5.object({
3684
+ var deviceCriterionSchema = z5.strictObject({
3683
3685
  criterionType: z5.literal("device"),
3684
3686
  device: z5.enum(DEVICE_TYPES),
3685
3687
  bidModifier: bidModifierSchema.optional()
3686
3688
  });
3687
- var campaignCriterionAddSchema = z5.object({
3689
+ var campaignCriterionAddSchema = z5.strictObject({
3688
3690
  campaign: refSchema,
3689
3691
  negative: z5.boolean().default(false),
3690
3692
  criterion: z5.discriminatedUnion("criterionType", [
@@ -3703,7 +3705,7 @@ var campaignCriterionAddSchema = z5.object({
3703
3705
  });
3704
3706
  }
3705
3707
  });
3706
- var campaignCriterionUpdateSchema = z5.object({
3708
+ var campaignCriterionUpdateSchema = z5.strictObject({
3707
3709
  bidModifier: bidModifierSchema
3708
3710
  });
3709
3711
  var GOOGLE_DRAFT_OP_KINDS = [