@koda-sl/baker-cli 0.335.0 → 0.336.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
@@ -3154,12 +3154,12 @@ var budgetCreateSchema = z5.object({
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(),
@@ -3293,7 +3293,7 @@ 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()
@@ -3317,7 +3317,7 @@ var campaignSharedSetAttachSchema = z5.object({
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(),
@@ -3437,25 +3439,25 @@ var adUpdateSchema = z5.object({
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(),
@@ -3529,9 +3531,9 @@ var assetGroupCreateSchema = z5.object({
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(),
@@ -3544,7 +3546,7 @@ var assetGroupAssetAttachSchema = z5.object({
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()
@@ -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(),
@@ -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) => {
@@ -3660,15 +3662,15 @@ var labelAttachSchema = z5.object({
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,7 +3681,7 @@ 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()
@@ -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 = [