@koda-sl/baker-cli 0.526.0 → 0.528.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.
Files changed (101) hide show
  1. package/README.md +2 -0
  2. package/dist/{account-APMJVG2F.js → account-CQJFUII3.js} +3 -3
  3. package/dist/{account-APMJVG2F.js.map → account-CQJFUII3.js.map} +1 -1
  4. package/dist/{account-assets-TAUEBCY5.js → account-assets-IDVG4DGK.js} +12 -12
  5. package/dist/account-assets-IDVG4DGK.js.map +1 -0
  6. package/dist/{account-level-2MYDHOID.js → account-level-GK7M2MMQ.js} +14 -14
  7. package/dist/account-level-GK7M2MMQ.js.map +1 -0
  8. package/dist/{accounts-VIAQC3PA.js → accounts-KRW3JNCW.js} +2 -2
  9. package/dist/{activities-MJMAV3SI.js → activities-2RAJXP3J.js} +3 -3
  10. package/dist/{activities-MJMAV3SI.js.map → activities-2RAJXP3J.js.map} +1 -1
  11. package/dist/{ads-O4RL4JXD.js → ads-6ESCXPHK.js} +3 -3
  12. package/dist/{ads-NNKUR4HG.js → ads-JVBLNTBF.js} +20 -15
  13. package/dist/ads-JVBLNTBF.js.map +1 -0
  14. package/dist/{adsets-VO5C7PDM.js → adsets-FN5ZWSYF.js} +11 -11
  15. package/dist/adsets-FN5ZWSYF.js.map +1 -0
  16. package/dist/{asset-writes-PQNENVYY.js → asset-writes-SSI3CO2A.js} +4 -4
  17. package/dist/{audience-writes-QDDADCYE.js → audience-writes-G64754LR.js} +6 -6
  18. package/dist/audience-writes-G64754LR.js.map +1 -0
  19. package/dist/{audiences-TQ5ZEWIR.js → audiences-JAVNJ5NC.js} +8 -8
  20. package/dist/audiences-JAVNJ5NC.js.map +1 -0
  21. package/dist/{businesses-CW4RB36R.js → businesses-DXRDQIFP.js} +2 -2
  22. package/dist/{campaigns-IQYYYD2S.js → campaigns-GQWFSKGC.js} +11 -11
  23. package/dist/campaigns-GQWFSKGC.js.map +1 -0
  24. package/dist/{catalogs-PLBY32BE.js → catalogs-TBRONC2D.js} +15 -15
  25. package/dist/catalogs-TBRONC2D.js.map +1 -0
  26. package/dist/{chunk-OEJNZSJG.js → chunk-4XXA4WCS.js} +4 -4
  27. package/dist/chunk-4XXA4WCS.js.map +1 -0
  28. package/dist/{chunk-HPAGYPAF.js → chunk-BN4TDL5L.js} +65 -23
  29. package/dist/chunk-BN4TDL5L.js.map +1 -0
  30. package/dist/{chunk-5LN7GWRE.js → chunk-GEFZVG4P.js} +10 -10
  31. package/dist/chunk-GEFZVG4P.js.map +1 -0
  32. package/dist/{chunk-XB2FODWU.js → chunk-TKDOVFO6.js} +2 -2
  33. package/dist/cli.js +1 -1
  34. package/dist/{copy-writes-GZ744FHU.js → copy-writes-EUFEVWDW.js} +5 -5
  35. package/dist/{copy-writes-GZ744FHU.js.map → copy-writes-EUFEVWDW.js.map} +1 -1
  36. package/dist/{creatives-GTRQAZSB.js → creatives-6VJDUHEY.js} +6 -6
  37. package/dist/creatives-6VJDUHEY.js.map +1 -0
  38. package/dist/{custom-conversions-VQ3LBWYV.js → custom-conversions-NDY5RHSM.js} +6 -6
  39. package/dist/{custom-conversions-VQ3LBWYV.js.map → custom-conversions-NDY5RHSM.js.map} +1 -1
  40. package/dist/{draft-ME4TNPO7.js → draft-G432FJ7N.js} +2 -2
  41. package/dist/{insights-INIFHYR7.js → insights-IVW6W5CP.js} +2 -2
  42. package/dist/{instant-experiences-NMJUWNP3.js → instant-experiences-6F6GXZ67.js} +5 -5
  43. package/dist/{instant-experiences-NMJUWNP3.js.map → instant-experiences-6F6GXZ67.js.map} +1 -1
  44. package/dist/{leads-QBWR7FKT.js → leads-CJKRKB2Q.js} +6 -6
  45. package/dist/{leads-QBWR7FKT.js.map → leads-CJKRKB2Q.js.map} +1 -1
  46. package/dist/{media-23IW442U.js → media-HDHZULQ7.js} +3 -3
  47. package/dist/{meta-H3KBPU33.js → meta-MOSJVYIE.js} +38 -38
  48. package/dist/{page-photos-SHIGXDYE.js → page-photos-4JTIKXAW.js} +5 -5
  49. package/dist/page-photos-4JTIKXAW.js.map +1 -0
  50. package/dist/{pages-XJF3FBOJ.js → pages-BAUS7LQM.js} +2 -2
  51. package/dist/{performance-L3Q57H4H.js → performance-6XFKDJGY.js} +11 -2
  52. package/dist/performance-6XFKDJGY.js.map +1 -0
  53. package/dist/{pixels-AZCIWWXK.js → pixels-QOSEYXCP.js} +3 -3
  54. package/dist/pixels-QOSEYXCP.js.map +1 -0
  55. package/dist/{preview-BIEVHIDJ.js → preview-X6EJGPAY.js} +2 -2
  56. package/dist/{rule-writes-QLZNJ7CT.js → rule-writes-A4BFYHPA.js} +7 -7
  57. package/dist/rule-writes-A4BFYHPA.js.map +1 -0
  58. package/dist/{rules-FJHYG4SJ.js → rules-HLREXY2M.js} +11 -11
  59. package/dist/rules-HLREXY2M.js.map +1 -0
  60. package/dist/{shared-HY2VP7PT.js → shared-I3SB77VH.js} +2 -2
  61. package/dist/{studies-Z2ZIWLTO.js → studies-IGOCWM7F.js} +7 -7
  62. package/dist/{studies-Z2ZIWLTO.js.map → studies-IGOCWM7F.js.map} +1 -1
  63. package/dist/{study-writes-V7BXLTQG.js → study-writes-Z5P2W7JH.js} +6 -6
  64. package/dist/study-writes-Z5P2W7JH.js.map +1 -0
  65. package/dist/{targeting-YBIWD27C.js → targeting-7HXKBXWY.js} +12 -12
  66. package/dist/targeting-7HXKBXWY.js.map +1 -0
  67. package/dist/{write-commands-R5SN6CVQ.js → write-commands-CY734U34.js} +22 -22
  68. package/dist/write-commands-CY734U34.js.map +1 -0
  69. package/package.json +1 -1
  70. package/dist/account-assets-TAUEBCY5.js.map +0 -1
  71. package/dist/account-level-2MYDHOID.js.map +0 -1
  72. package/dist/ads-NNKUR4HG.js.map +0 -1
  73. package/dist/adsets-VO5C7PDM.js.map +0 -1
  74. package/dist/audience-writes-QDDADCYE.js.map +0 -1
  75. package/dist/audiences-TQ5ZEWIR.js.map +0 -1
  76. package/dist/campaigns-IQYYYD2S.js.map +0 -1
  77. package/dist/catalogs-PLBY32BE.js.map +0 -1
  78. package/dist/chunk-5LN7GWRE.js.map +0 -1
  79. package/dist/chunk-HPAGYPAF.js.map +0 -1
  80. package/dist/chunk-OEJNZSJG.js.map +0 -1
  81. package/dist/creatives-GTRQAZSB.js.map +0 -1
  82. package/dist/page-photos-SHIGXDYE.js.map +0 -1
  83. package/dist/performance-L3Q57H4H.js.map +0 -1
  84. package/dist/pixels-AZCIWWXK.js.map +0 -1
  85. package/dist/rule-writes-QLZNJ7CT.js.map +0 -1
  86. package/dist/rules-FJHYG4SJ.js.map +0 -1
  87. package/dist/study-writes-V7BXLTQG.js.map +0 -1
  88. package/dist/targeting-YBIWD27C.js.map +0 -1
  89. package/dist/write-commands-R5SN6CVQ.js.map +0 -1
  90. /package/dist/{accounts-VIAQC3PA.js.map → accounts-KRW3JNCW.js.map} +0 -0
  91. /package/dist/{ads-O4RL4JXD.js.map → ads-6ESCXPHK.js.map} +0 -0
  92. /package/dist/{asset-writes-PQNENVYY.js.map → asset-writes-SSI3CO2A.js.map} +0 -0
  93. /package/dist/{businesses-CW4RB36R.js.map → businesses-DXRDQIFP.js.map} +0 -0
  94. /package/dist/{chunk-XB2FODWU.js.map → chunk-TKDOVFO6.js.map} +0 -0
  95. /package/dist/{draft-ME4TNPO7.js.map → draft-G432FJ7N.js.map} +0 -0
  96. /package/dist/{insights-INIFHYR7.js.map → insights-IVW6W5CP.js.map} +0 -0
  97. /package/dist/{media-23IW442U.js.map → media-HDHZULQ7.js.map} +0 -0
  98. /package/dist/{meta-H3KBPU33.js.map → meta-MOSJVYIE.js.map} +0 -0
  99. /package/dist/{pages-XJF3FBOJ.js.map → pages-BAUS7LQM.js.map} +0 -0
  100. /package/dist/{preview-BIEVHIDJ.js.map → preview-X6EJGPAY.js.map} +0 -0
  101. /package/dist/{shared-HY2VP7PT.js.map → shared-I3SB77VH.js.map} +0 -0
@@ -77,46 +77,46 @@ Audit & review:
77
77
  Full guide: __tooling__/docs/tools/baker/ads-meta.md`
78
78
  },
79
79
  subCommands: {
80
- accounts: () => import("./accounts-VIAQC3PA.js").then((m) => m.accountsCommand),
81
- account: () => import("./account-APMJVG2F.js").then((m) => m.accountCommand),
82
- businesses: () => import("./businesses-CW4RB36R.js").then((m) => m.businessesCommand),
83
- pages: () => import("./pages-XJF3FBOJ.js").then((m) => m.pagesCommand),
84
- "lead-forms": () => import("./leads-QBWR7FKT.js").then((m) => m.leadFormsCommand),
85
- "instant-experiences": () => import("./instant-experiences-NMJUWNP3.js").then((m) => m.instantExperiencesCommand),
86
- leads: () => import("./leads-QBWR7FKT.js").then((m) => m.leadsCommand),
87
- campaigns: () => import("./campaigns-IQYYYD2S.js").then((m) => m.campaignsCommand),
88
- adsets: () => import("./adsets-VO5C7PDM.js").then((m) => m.adsetsCommand),
89
- ads: () => import("./ads-NNKUR4HG.js").then((m) => m.adsListCommand),
90
- creatives: () => import("./creatives-GTRQAZSB.js").then((m) => m.creativesCommand),
91
- audiences: () => import("./audiences-TQ5ZEWIR.js").then((m) => m.audiencesCommand),
92
- "custom-conversions": () => import("./custom-conversions-VQ3LBWYV.js").then((m) => m.customConversionsCommand),
93
- pixels: () => import("./pixels-AZCIWWXK.js").then((m) => m.pixelsCommand),
94
- activities: () => import("./activities-MJMAV3SI.js").then((m) => m.activitiesCommand),
95
- insights: () => import("./insights-INIFHYR7.js").then((m) => m.insightsCommand),
96
- preview: () => import("./preview-BIEVHIDJ.js").then((m) => m.previewCommand),
97
- targeting: () => import("./targeting-YBIWD27C.js").then((m) => m.targetingCommand),
98
- "instagram-accounts": () => import("./account-assets-TAUEBCY5.js").then((m) => m.instagramAccountsCommand),
99
- apps: () => import("./account-assets-TAUEBCY5.js").then((m) => m.appsCommand),
100
- "dsa-recommendations": () => import("./account-assets-TAUEBCY5.js").then((m) => m.dsaRecommendationsCommand),
101
- images: () => import("./account-assets-TAUEBCY5.js").then((m) => m.imagesCommand),
102
- labels: () => import("./account-assets-TAUEBCY5.js").then((m) => m.labelsCommand),
103
- studies: () => import("./studies-Z2ZIWLTO.js").then((m) => m.studiesCommand),
104
- catalogs: () => import("./catalogs-PLBY32BE.js").then((m) => m.catalogsCommand),
105
- "page-photos": () => import("./page-photos-SHIGXDYE.js").then((m) => m.pagePhotosCommand),
106
- "page-posts": () => import("./account-level-2MYDHOID.js").then((m) => m.pagePostsCommand),
107
- "instagram-media": () => import("./account-level-2MYDHOID.js").then((m) => m.instagramMediaCommand),
108
- comments: () => import("./account-level-2MYDHOID.js").then((m) => m.commentsCommand),
109
- "account-settings": () => import("./account-level-2MYDHOID.js").then((m) => m.accountSettingsCommand),
110
- "account-details": () => import("./account-level-2MYDHOID.js").then((m) => m.accountDetailsCommand),
111
- "block-lists": () => import("./account-level-2MYDHOID.js").then((m) => m.blockListsCommand),
112
- "reach-frequency": () => import("./account-level-2MYDHOID.js").then((m) => m.reachFrequencyCommand),
113
- "high-demand-periods": () => import("./account-assets-TAUEBCY5.js").then((m) => m.highDemandPeriodsCommand),
114
- rules: () => import("./rules-FJHYG4SJ.js").then((m) => m.rulesCommand),
115
- media: () => import("./media-23IW442U.js").then((m) => m.metaMediaCommand),
116
- draft: () => import("./draft-ME4TNPO7.js").then((m) => m.metaDraftCommand)
80
+ accounts: () => import("./accounts-KRW3JNCW.js").then((m) => m.accountsCommand),
81
+ account: () => import("./account-CQJFUII3.js").then((m) => m.accountCommand),
82
+ businesses: () => import("./businesses-DXRDQIFP.js").then((m) => m.businessesCommand),
83
+ pages: () => import("./pages-BAUS7LQM.js").then((m) => m.pagesCommand),
84
+ "lead-forms": () => import("./leads-CJKRKB2Q.js").then((m) => m.leadFormsCommand),
85
+ "instant-experiences": () => import("./instant-experiences-6F6GXZ67.js").then((m) => m.instantExperiencesCommand),
86
+ leads: () => import("./leads-CJKRKB2Q.js").then((m) => m.leadsCommand),
87
+ campaigns: () => import("./campaigns-GQWFSKGC.js").then((m) => m.campaignsCommand),
88
+ adsets: () => import("./adsets-FN5ZWSYF.js").then((m) => m.adsetsCommand),
89
+ ads: () => import("./ads-JVBLNTBF.js").then((m) => m.adsListCommand),
90
+ creatives: () => import("./creatives-6VJDUHEY.js").then((m) => m.creativesCommand),
91
+ audiences: () => import("./audiences-JAVNJ5NC.js").then((m) => m.audiencesCommand),
92
+ "custom-conversions": () => import("./custom-conversions-NDY5RHSM.js").then((m) => m.customConversionsCommand),
93
+ pixels: () => import("./pixels-QOSEYXCP.js").then((m) => m.pixelsCommand),
94
+ activities: () => import("./activities-2RAJXP3J.js").then((m) => m.activitiesCommand),
95
+ insights: () => import("./insights-IVW6W5CP.js").then((m) => m.insightsCommand),
96
+ preview: () => import("./preview-X6EJGPAY.js").then((m) => m.previewCommand),
97
+ targeting: () => import("./targeting-7HXKBXWY.js").then((m) => m.targetingCommand),
98
+ "instagram-accounts": () => import("./account-assets-IDVG4DGK.js").then((m) => m.instagramAccountsCommand),
99
+ apps: () => import("./account-assets-IDVG4DGK.js").then((m) => m.appsCommand),
100
+ "dsa-recommendations": () => import("./account-assets-IDVG4DGK.js").then((m) => m.dsaRecommendationsCommand),
101
+ images: () => import("./account-assets-IDVG4DGK.js").then((m) => m.imagesCommand),
102
+ labels: () => import("./account-assets-IDVG4DGK.js").then((m) => m.labelsCommand),
103
+ studies: () => import("./studies-IGOCWM7F.js").then((m) => m.studiesCommand),
104
+ catalogs: () => import("./catalogs-TBRONC2D.js").then((m) => m.catalogsCommand),
105
+ "page-photos": () => import("./page-photos-4JTIKXAW.js").then((m) => m.pagePhotosCommand),
106
+ "page-posts": () => import("./account-level-GK7M2MMQ.js").then((m) => m.pagePostsCommand),
107
+ "instagram-media": () => import("./account-level-GK7M2MMQ.js").then((m) => m.instagramMediaCommand),
108
+ comments: () => import("./account-level-GK7M2MMQ.js").then((m) => m.commentsCommand),
109
+ "account-settings": () => import("./account-level-GK7M2MMQ.js").then((m) => m.accountSettingsCommand),
110
+ "account-details": () => import("./account-level-GK7M2MMQ.js").then((m) => m.accountDetailsCommand),
111
+ "block-lists": () => import("./account-level-GK7M2MMQ.js").then((m) => m.blockListsCommand),
112
+ "reach-frequency": () => import("./account-level-GK7M2MMQ.js").then((m) => m.reachFrequencyCommand),
113
+ "high-demand-periods": () => import("./account-assets-IDVG4DGK.js").then((m) => m.highDemandPeriodsCommand),
114
+ rules: () => import("./rules-HLREXY2M.js").then((m) => m.rulesCommand),
115
+ media: () => import("./media-HDHZULQ7.js").then((m) => m.metaMediaCommand),
116
+ draft: () => import("./draft-G432FJ7N.js").then((m) => m.metaDraftCommand)
117
117
  }
118
118
  });
119
119
  export {
120
120
  metaCommand
121
121
  };
122
- //# sourceMappingURL=meta-H3KBPU33.js.map
122
+ //# sourceMappingURL=meta-MOSJVYIE.js.map
@@ -3,10 +3,10 @@ import {
3
3
  failWriteValidation,
4
4
  requireTarget,
5
5
  stageOp
6
- } from "./chunk-OEJNZSJG.js";
6
+ } from "./chunk-4XXA4WCS.js";
7
7
  import "./chunk-GC5P4KWY.js";
8
8
  import "./chunk-GDFJOCDO.js";
9
- import "./chunk-HPAGYPAF.js";
9
+ import "./chunk-BN4TDL5L.js";
10
10
  import "./chunk-ERSX3MKH.js";
11
11
  import "./chunk-WPAW6EVY.js";
12
12
  import "./chunk-4NZ47VXO.js";
@@ -64,7 +64,7 @@ Then: baker ads meta instant-experiences create --page-id 904238019441800 --phot
64
64
  await stageOp(
65
65
  {
66
66
  kind: "pagePhoto.create",
67
- accountId: bareAccountId(args),
67
+ accountId: await bareAccountId(args),
68
68
  payload: {
69
69
  page_id: args["page-id"],
70
70
  bakerImageId: args["image-id"],
@@ -97,7 +97,7 @@ Example: baker ads meta page-photos delete 122142489045161003 --account-id act_1
97
97
  run: async ({ args }) => {
98
98
  await stageOp({
99
99
  kind: "pagePhoto.update",
100
- accountId: bareAccountId(args),
100
+ accountId: await bareAccountId(args),
101
101
  target: requireTarget(args, "Page photo"),
102
102
  payload: { status: "DELETED" }
103
103
  });
@@ -115,4 +115,4 @@ var pagePhotosCommand = defineCommand({
115
115
  export {
116
116
  pagePhotosCommand
117
117
  };
118
- //# sourceMappingURL=page-photos-SHIGXDYE.js.map
118
+ //# sourceMappingURL=page-photos-4JTIKXAW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/ads/meta/page-photos.ts"],"sourcesContent":["import { defineCommand } from \"citty\";\nimport { registerSchema } from \"../../../schemas.ts\";\nimport { bareAccountId, failWriteValidation, requireTarget, stageOp } from \"./write-shared.ts\";\n\n/**\n * Photos put on a Facebook Page without posting them — what an Instant\n * Experience's photo element takes, and what a collection ad's four-photo\n * experience is built from. Needs the Page posts permission for Meta.\n */\n\nconst STAGED_NOTE = \"Staged until publish — review with `baker ads meta draft`.\";\ntype Args = Record<string, unknown>;\n\nregisterSchema({\n command: \"ads.meta.page-photos.upload\",\n description:\n \"Stage a photo upload to a Facebook Page, NOT posted to its timeline, made at publish — for Instant Experience photo elements (`instant-experiences create --photo-id <ref>`). Needs the Page posts permission for Meta.\",\n args: {\n \"account-id\": { type: \"string\", description: \"Ad account the change is staged under\", required: false },\n \"page-id\": { type: \"string\", description: \"The Facebook Page\", required: true },\n \"image-id\": { type: \"string\", description: \"Baker library image id\", required: false },\n url: { type: \"string\", description: \"Or a public https picture address\", required: false },\n caption: { type: \"string\", description: \"Caption kept with the photo (never posted)\", required: false },\n },\n});\n\nconst uploadCommand = defineCommand({\n meta: {\n name: \"upload\",\n description: `Put a photo on a Facebook Page without posting it. ${STAGED_NOTE}\nExample: baker ads meta page-photos upload --account-id act_123 --page-id 904238019441800 --image-id <library image id>\nThen: baker ads meta instant-experiences create --page-id 904238019441800 --photo-id meta_temp_… …`,\n },\n args: {\n \"account-id\": { type: \"string\", description: \"Numeric account ID or act_N\" },\n \"page-id\": { type: \"string\", description: \"The Facebook Page — from `baker ads meta pages`\" },\n \"image-id\": { type: \"string\", description: \"Baker library image id (`baker images library …`)\" },\n url: { type: \"string\", description: \"Or a public https picture address Meta can fetch\" },\n caption: { type: \"string\", description: \"Caption kept with the photo; it is never posted\" },\n },\n run: async ({ args }) => {\n if (!args[\"image-id\"] && !args.url) failWriteValidation(\"pass --image-id (a library image) or --url\");\n await stageOp(\n {\n kind: \"pagePhoto.create\",\n accountId: await bareAccountId(args as Args),\n payload: {\n page_id: args[\"page-id\"],\n bakerImageId: args[\"image-id\"],\n url: args.url,\n caption: args.caption,\n },\n },\n [\"Use it in an Instant Experience with `instant-experiences create --photo-id <ref>`.\"],\n );\n },\n});\n\nregisterSchema({\n command: \"ads.meta.page-photos.delete\",\n description: \"Stage deleting a photo from a Facebook Page. An Instant Experience already made with it keeps it.\",\n args: {\n id: { type: \"positional\", description: \"Page photo id\", required: true },\n \"account-id\": { type: \"string\", description: \"Ad account the change is staged under\", required: false },\n },\n});\n\nconst deleteCommand = defineCommand({\n meta: {\n name: \"delete\",\n description: `Delete a photo from its Facebook Page. ${STAGED_NOTE}\nExample: baker ads meta page-photos delete 122142489045161003 --account-id act_123`,\n },\n args: {\n id: { type: \"positional\", description: \"Page photo id\", required: true },\n \"account-id\": { type: \"string\", description: \"Numeric account ID or act_N\" },\n },\n run: async ({ args }) => {\n await stageOp({\n kind: \"pagePhoto.update\",\n accountId: await bareAccountId(args as Args),\n target: requireTarget(args as Args, \"Page photo\"),\n payload: { status: \"DELETED\" },\n });\n },\n});\n\nexport const pagePhotosCommand = defineCommand({\n meta: {\n name: \"page-photos\",\n description: `Photos on a Facebook Page that are never posted — for Instant Experiences and collection ads. Needs the Page posts permission for Meta.\n baker ads meta page-photos upload --page-id <id> --image-id <library id>\n baker ads meta page-photos delete <photo id>`,\n },\n subCommands: { upload: uploadCommand, delete: deleteCommand },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,qBAAqB;AAU9B,IAAM,cAAc;AAGpB,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM;AAAA,IACJ,cAAc,EAAE,MAAM,UAAU,aAAa,yCAAyC,UAAU,MAAM;AAAA,IACtG,WAAW,EAAE,MAAM,UAAU,aAAa,qBAAqB,UAAU,KAAK;AAAA,IAC9E,YAAY,EAAE,MAAM,UAAU,aAAa,0BAA0B,UAAU,MAAM;AAAA,IACrF,KAAK,EAAE,MAAM,UAAU,aAAa,qCAAqC,UAAU,MAAM;AAAA,IACzF,SAAS,EAAE,MAAM,UAAU,aAAa,8CAA8C,UAAU,MAAM;AAAA,EACxG;AACF,CAAC;AAED,IAAM,gBAAgB,cAAc;AAAA,EAClC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa,sDAAsD,WAAW;AAAA;AAAA;AAAA,EAGhF;AAAA,EACA,MAAM;AAAA,IACJ,cAAc,EAAE,MAAM,UAAU,aAAa,8BAA8B;AAAA,IAC3E,WAAW,EAAE,MAAM,UAAU,aAAa,uDAAkD;AAAA,IAC5F,YAAY,EAAE,MAAM,UAAU,aAAa,yDAAoD;AAAA,IAC/F,KAAK,EAAE,MAAM,UAAU,aAAa,mDAAmD;AAAA,IACvF,SAAS,EAAE,MAAM,UAAU,aAAa,kDAAkD;AAAA,EAC5F;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,QAAI,CAAC,KAAK,UAAU,KAAK,CAAC,KAAK,IAAK,qBAAoB,4CAA4C;AACpG,UAAM;AAAA,MACJ;AAAA,QACE,MAAM;AAAA,QACN,WAAW,MAAM,cAAc,IAAY;AAAA,QAC3C,SAAS;AAAA,UACP,SAAS,KAAK,SAAS;AAAA,UACvB,cAAc,KAAK,UAAU;AAAA,UAC7B,KAAK,KAAK;AAAA,UACV,SAAS,KAAK;AAAA,QAChB;AAAA,MACF;AAAA,MACA,CAAC,qFAAqF;AAAA,IACxF;AAAA,EACF;AACF,CAAC;AAED,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aAAa;AAAA,EACb,MAAM;AAAA,IACJ,IAAI,EAAE,MAAM,cAAc,aAAa,iBAAiB,UAAU,KAAK;AAAA,IACvE,cAAc,EAAE,MAAM,UAAU,aAAa,yCAAyC,UAAU,MAAM;AAAA,EACxG;AACF,CAAC;AAED,IAAM,gBAAgB,cAAc;AAAA,EAClC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa,0CAA0C,WAAW;AAAA;AAAA,EAEpE;AAAA,EACA,MAAM;AAAA,IACJ,IAAI,EAAE,MAAM,cAAc,aAAa,iBAAiB,UAAU,KAAK;AAAA,IACvE,cAAc,EAAE,MAAM,UAAU,aAAa,8BAA8B;AAAA,EAC7E;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,UAAM,QAAQ;AAAA,MACZ,MAAM;AAAA,MACN,WAAW,MAAM,cAAc,IAAY;AAAA,MAC3C,QAAQ,cAAc,MAAc,YAAY;AAAA,MAChD,SAAS,EAAE,QAAQ,UAAU;AAAA,IAC/B,CAAC;AAAA,EACH;AACF,CAAC;AAEM,IAAM,oBAAoB,cAAc;AAAA,EAC7C,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA,EAGf;AAAA,EACA,aAAa,EAAE,QAAQ,eAAe,QAAQ,cAAc;AAC9D,CAAC;","names":[]}
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  csvOrJson,
3
3
  handleMetaError
4
- } from "./chunk-HPAGYPAF.js";
4
+ } from "./chunk-BN4TDL5L.js";
5
5
  import "./chunk-QALAJNBG.js";
6
6
  import {
7
7
  writeAdsOutput,
@@ -64,4 +64,4 @@ export {
64
64
  pageSelectionHints,
65
65
  pagesCommand
66
66
  };
67
- //# sourceMappingURL=pages-XJF3FBOJ.js.map
67
+ //# sourceMappingURL=pages-BAUS7LQM.js.map
@@ -2257,6 +2257,7 @@ function compactEntityRow(row) {
2257
2257
  budgetDaily: row.budgetDaily === null ? null : roundNumber(row.budgetDaily),
2258
2258
  budgetLifetime: row.budgetLifetime === null ? null : roundNumber(row.budgetLifetime)
2259
2259
  }),
2260
+ ...compactServing(row.serving),
2260
2261
  metrics: compactMetrics(row.metrics),
2261
2262
  ratios: compactRatios(row.ratios),
2262
2263
  ...entityPath(row) ? { path: entityPath(row) } : {},
@@ -2267,6 +2268,14 @@ function compactEntityRow(row) {
2267
2268
  ...compactSearchParts(row)
2268
2269
  };
2269
2270
  }
2271
+ function compactServing(serving) {
2272
+ if (!serving) return {};
2273
+ const { children } = serving;
2274
+ return {
2275
+ serving: serving.state,
2276
+ ...children ? { below: { level: children.level, total: children.total, on: children.active, live: children.live } } : {}
2277
+ };
2278
+ }
2270
2279
  function compactSearchParts(row) {
2271
2280
  return {
2272
2281
  ...dropEmpty({ campaignKind: row.campaignKind, segment: row.segment }),
@@ -5302,7 +5311,7 @@ var overviewCommand = report({
5302
5311
  var entitiesCommand = report({
5303
5312
  name: "entities",
5304
5313
  schemaName: "entities",
5305
- schemaDescription: `Campaigns, ad groups / ad sets, ads or keywords across platforms, ranked (default by spend), with metrics, budget, first delivery (beforeHistory: it ran before the stored history starts) and peer shares against its parent. Paged with --limit/--offset; totalRows counts every match. ${STORE_NOTE}`,
5314
+ schemaDescription: `Campaigns, ad groups / ad sets, ads or keywords across platforms, ranked (default by spend), with metrics, budget, first delivery (beforeHistory: it ran before the stored history starts) and peer shares against its parent. status is its own switch; serving says whether it really delivers given its parents and children (campaign_off, ad_group_off, off, no_children, children_off) and below counts a campaign's or ad set's children (on, live). Paged with --limit/--offset; totalRows counts every match. ${STORE_NOTE}`,
5306
5315
  help: "Campaigns, ad groups, ads or keywords ranked. Example: baker ads performance entities --level ad --sort cost_per_result --order asc",
5307
5316
  path: "entities",
5308
5317
  args: ENTITIES_ARGS,
@@ -5553,4 +5562,4 @@ Full guide: __tooling__/docs/tools/baker/ads-performance.md`
5553
5562
  export {
5554
5563
  performanceCommand
5555
5564
  };
5556
- //# sourceMappingURL=performance-L3Q57H4H.js.map
5565
+ //# sourceMappingURL=performance-6XFKDJGY.js.map