@koda-sl/baker-cli 0.160.0 → 0.160.1

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
@@ -4798,7 +4798,7 @@ var adTextAssetSchema = z13.object({
4798
4798
  text: z13.string().min(1),
4799
4799
  pinnedField: z13.enum(PINNED_FIELDS).optional()
4800
4800
  });
4801
- var responsiveSearchAdSchema = z13.object({
4801
+ var responsiveSearchAdSchema = z13.strictObject({
4802
4802
  format: z13.literal("responsiveSearch"),
4803
4803
  headlines: z13.array(
4804
4804
  adTextAssetSchema.refine(
@@ -4816,7 +4816,7 @@ var responsiveSearchAdSchema = z13.object({
4816
4816
  path2: z13.string().max(GOOGLE_ADS_LIMITS.responsiveSearchAd.pathMax).optional(),
4817
4817
  finalUrls: z13.array(httpsUrlSchema2).min(1)
4818
4818
  });
4819
- var responsiveDisplayAdSchema = z13.object({
4819
+ var responsiveDisplayAdSchema = z13.strictObject({
4820
4820
  format: z13.literal("responsiveDisplay"),
4821
4821
  headlines: z13.array(z13.object({ text: z13.string().min(1).max(GOOGLE_ADS_LIMITS.responsiveDisplayAd.headlineTextMax) })).min(1).max(5),
4822
4822
  longHeadline: z13.object({ text: z13.string().min(1).max(GOOGLE_ADS_LIMITS.responsiveDisplayAd.longHeadlineTextMax) }),
@@ -4830,7 +4830,7 @@ var responsiveDisplayAdSchema = z13.object({
4830
4830
  logoImageAssets: z13.array(refSchema).optional(),
4831
4831
  finalUrls: z13.array(httpsUrlSchema2).min(1)
4832
4832
  });
4833
- var callAdSchema = z13.object({
4833
+ var callAdSchema = z13.strictObject({
4834
4834
  format: z13.literal("call"),
4835
4835
  countryCode: z13.string().length(2),
4836
4836
  phoneNumber: z13.string().min(3),
@@ -4841,22 +4841,26 @@ var callAdSchema = z13.object({
4841
4841
  businessName: z13.string().min(1).max(25),
4842
4842
  finalUrls: z13.array(httpsUrlSchema2).min(1)
4843
4843
  });
4844
- var appAdSchema = z13.object({
4844
+ var appAdSchema = z13.strictObject({
4845
4845
  format: z13.literal("app"),
4846
4846
  headlines: z13.array(z13.object({ text: z13.string().min(1).max(30) })).min(1),
4847
4847
  descriptions: z13.array(z13.object({ text: z13.string().min(1).max(90) })).min(1),
4848
4848
  // An App campaign ad carries its images on its own content (`AppAdInfo.images`), not as
4849
4849
  // campaign-level asset links — same shape as a responsive display ad's marketing images.
4850
- images: z13.array(refSchema).optional()
4850
+ images: z13.array(refSchema).optional(),
4851
+ // `AppAdInfo.youtube_videos` — an App ad's videos live on its content too. Without this field
4852
+ // there is no way to express "keep these videos on the ad", so a content update that only
4853
+ // restated headlines silently left the ad's videos to whatever the mask happened to omit.
4854
+ youtubeVideos: z13.array(refSchema).optional()
4851
4855
  });
4852
- var videoAdSchema = z13.object({
4856
+ var videoAdSchema = z13.strictObject({
4853
4857
  format: z13.literal("video"),
4854
4858
  // A raw YouTube id is not a publishable Google Ads reference — the video must be staged as
4855
4859
  // its own `google.asset.create` (type: youtubeVideo) first, then referenced here by asset ref.
4856
4860
  videoAssets: z13.array(refSchema).min(1),
4857
4861
  finalUrls: z13.array(httpsUrlSchema2).min(1)
4858
4862
  });
4859
- var demandGenAdSchema = z13.object({
4863
+ var demandGenAdSchema = z13.strictObject({
4860
4864
  format: z13.literal("demandGen"),
4861
4865
  headlines: z13.array(z13.object({ text: z13.string().min(1).max(40) })).min(1).max(5),
4862
4866
  descriptions: z13.array(z13.object({ text: z13.string().min(1).max(90) })).min(1).max(5),
@@ -8839,6 +8843,10 @@ function appContentFromFlags(args, base) {
8839
8843
  if (images) {
8840
8844
  content.images = images;
8841
8845
  }
8846
+ const videos = listFlag(args["video-assets"]);
8847
+ if (videos) {
8848
+ content.youtubeVideos = videos;
8849
+ }
8842
8850
  return content;
8843
8851
  }
8844
8852
  function adContentFromFlags(args, format, fileContent) {
@@ -8881,7 +8889,7 @@ var adContentArgs = {
8881
8889
  "logo-images": { type: "string", description: "Comma-separated logo image asset refs (responsiveDisplay)" },
8882
8890
  "video-assets": {
8883
8891
  type: "string",
8884
- description: `Comma-separated video asset refs (video format) \u2014 stage the YouTube video as an asset first (assets create --file '{"type":"youtubeVideo",\u2026}')`
8892
+ description: `Comma-separated video asset refs (video/app formats) \u2014 stage the YouTube video as an asset first (assets create --file '{"type":"youtubeVideo",\u2026}')`
8885
8893
  },
8886
8894
  "image-assets": { type: "string", description: "Comma-separated image asset refs (demandGen/app)" },
8887
8895
  "square-image-assets": { type: "string", description: "Comma-separated square image asset refs (demandGen)" },
@@ -31774,7 +31782,7 @@ function handleError3(err) {
31774
31782
  process.exit(1);
31775
31783
  }
31776
31784
  var STAGE_HINTS = [
31777
- "Staged only \u2014 nothing has changed in Tag Manager yet. These apply when the chat completes, in dependency order, and close as a Tag Manager version. Whether that version goes live is a per-company setting, so never promise the user their tracking is live; say the changes are ready and will apply when you finish."
31785
+ "Staged only \u2014 nothing has changed in Tag Manager yet. These apply when the chat completes, in dependency order, and close as a Tag Manager version that is then published, so they do go live on the user's site. Say the changes are ready and go live when they publish \u2014 not that they are live already."
31778
31786
  ];
31779
31787
  async function stageOp3(op) {
31780
31788
  const chatId = requireChatId();