@koda-sl/baker-cli 0.162.0 → 0.163.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/README.md CHANGED
@@ -503,6 +503,9 @@ baker ads google budgets create --customer-id 1234567890 --name "Search budget"
503
503
  # → { ref: "g_temp_ab12", ... }
504
504
  baker ads google campaigns create --customer-id 1234567890 --name "Brand — Search" \
505
505
  --channel-type SEARCH --budget-ref g_temp_ab12 --bidding-strategy MANUAL_CPC
506
+ # New campaigns are declared as NOT containing EU political advertising (Google requires the
507
+ # declaration on every create); pass --eu-political-ads only when the campaign does contain it.
508
+ # On update, --eu-political-ads / --eu-political-ads=false corrects an existing declaration.
506
509
  baker ads google ad-groups create --customer-id 1234567890 --name "Brand terms" --campaign-ref g_temp_<campaign>
507
510
  baker ads google keywords add --customer-id 1234567890 --ad-group-ref g_temp_<adgroup> --text "brand name" --match-type EXACT
508
511
  # Shared negative keyword list → attach to the campaign
package/dist/cli.js CHANGED
@@ -4752,6 +4752,11 @@ var campaignCreateSchema2 = z13.object({
4752
4752
  finalUrlSuffix: finalUrlSuffixSchema.optional(),
4753
4753
  /** Advisory Google Ads UI objective — drives warnings, not sent to the API. */
4754
4754
  objective: z13.enum(CAMPAIGN_OBJECTIVES).optional(),
4755
+ /**
4756
+ * Whether the campaign contains EU political advertising. Google requires the declaration on
4757
+ * every campaign create (FieldError.REQUIRED without it); omitted means it does not.
4758
+ */
4759
+ euPoliticalAds: z13.boolean().optional(),
4755
4760
  status: stageableStatusSchema2.default("PAUSED")
4756
4761
  }).superRefine((p, ctx) => {
4757
4762
  if (!p.bidding && !p.biddingStrategy) {
@@ -4784,6 +4789,8 @@ var campaignUpdateSchema2 = z13.object({
4784
4789
  endDate: dateSchema.optional(),
4785
4790
  /** Campaign-level override of the account's final URL suffix. `""` clears it back to the account value. */
4786
4791
  finalUrlSuffix: finalUrlSuffixSchema.optional(),
4792
+ /** Corrects the campaign's EU political advertising declaration (true = contains, false = does not). */
4793
+ euPoliticalAds: z13.boolean().optional(),
4787
4794
  status: z13.enum(["ENABLED", "PAUSED", "REMOVED"]).optional()
4788
4795
  }).refine((p) => Object.values(p).some((v) => v !== void 0), "update needs at least one field");
4789
4796
  var adGroupCreateSchema = z13.object({
@@ -8490,6 +8497,10 @@ var campaignsCommand = defineCommand30({
8490
8497
  objective: { type: "string", description: "Advisory UI objective (SALES, LEADS, \u2026)" },
8491
8498
  "start-date": { type: "string", description: "YYYY-MM-DD" },
8492
8499
  "end-date": { type: "string", description: "YYYY-MM-DD" },
8500
+ "eu-political-ads": {
8501
+ type: "boolean",
8502
+ description: "Pass when the campaign contains EU political advertising. Google requires the declaration on every new campaign; omitted stages the campaign as not containing EU political ads."
8503
+ },
8493
8504
  status: { type: "string", description: "ENABLED | PAUSED (default PAUSED)" }
8494
8505
  },
8495
8506
  run: async ({ args }) => {
@@ -8504,6 +8515,7 @@ var campaignsCommand = defineCommand30({
8504
8515
  objective: args.objective,
8505
8516
  startDate: args["start-date"],
8506
8517
  endDate: args["end-date"],
8518
+ euPoliticalAds: args["eu-political-ads"],
8507
8519
  status: args.status
8508
8520
  });
8509
8521
  await stageCreate("google.campaign.create", customerId, payload);
@@ -8521,6 +8533,10 @@ var campaignsCommand = defineCommand30({
8521
8533
  "target-roas": { type: "string" },
8522
8534
  ...maxCpcArg,
8523
8535
  ...finalUrlSuffixArg,
8536
+ "eu-political-ads": {
8537
+ type: "boolean",
8538
+ description: "Corrects the campaign's EU political advertising declaration: --eu-political-ads if it contains EU political ads, --eu-political-ads=false if it does not. Existing campaigns without a declaration block location-targeting changes until one is set."
8539
+ },
8524
8540
  level: {
8525
8541
  type: "string",
8526
8542
  description: "campaign (default) | account. `account` stages nothing \u2014 it reports where an account-wide final URL suffix has to be set instead."
@@ -8542,6 +8558,7 @@ var campaignsCommand = defineCommand30({
8542
8558
  budget: args["budget-ref"],
8543
8559
  bidding: biddingFromFlags(args),
8544
8560
  finalUrlSuffix: args["final-url-suffix"],
8561
+ euPoliticalAds: args["eu-political-ads"],
8545
8562
  status: args.status
8546
8563
  });
8547
8564
  await stageUpdate("google.campaign.update", customerId, target, payload);