@koda-sl/baker-cli 0.520.0 → 0.521.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/{account-Z2N545F3.js → account-JXUUHDEB.js} +3 -3
- package/dist/{account-assets-UQ5RS66K.js → account-assets-3SIBPJXJ.js} +9 -9
- package/dist/account-assets-3SIBPJXJ.js.map +1 -0
- package/dist/{account-level-QHTIN4DY.js → account-level-46AIGZXA.js} +5 -5
- package/dist/{account-reads-QDVBCQ7D.js → account-reads-5VPDX6NF.js} +3 -3
- package/dist/{accounts-DAWCHDAC.js → accounts-D6FP4DC2.js} +3 -3
- package/dist/{activities-UIBWZUGE.js → activities-NYWRMNCH.js} +3 -3
- package/dist/{ads-6OUSUM5Y.js → ads-ALI6QLW2.js} +4 -4
- package/dist/{ads-I2KFV42R.js → ads-DRMVHMJH.js} +12 -12
- package/dist/{adsets-GYVCPG4K.js → adsets-XE5S6J5S.js} +11 -11
- package/dist/{asset-writes-F5E3TWLS.js → asset-writes-5TAUIKSN.js} +5 -5
- package/dist/{audience-writes-LVPTXKT7.js → audience-writes-P63WFDXJ.js} +4 -4
- package/dist/{audiences-AVQ2VWHF.js → audiences-U6MQRRTP.js} +8 -8
- package/dist/{businesses-XH7A32WX.js → businesses-RRYQYTG4.js} +3 -3
- package/dist/{campaigns-7ZUR46T2.js → campaigns-DDUXFR77.js} +11 -11
- package/dist/{catalogs-L6SLRMPR.js → catalogs-A6CHXN5B.js} +4 -4
- package/dist/{chunk-LC75VG6J.js → chunk-2UQJ5BDJ.js} +2 -2
- package/dist/{chunk-AI3ICPS6.js → chunk-3XG6I4K6.js} +2 -2
- package/dist/{chunk-7RERKOMK.js → chunk-IQ3MYXCJ.js} +2 -2
- package/dist/{chunk-6HZF5XQB.js → chunk-JHEWSMOS.js} +2 -2
- package/dist/{chunk-EAIFDVBK.js → chunk-NAYO267Q.js} +2 -2
- package/dist/{chunk-Y2JZX6JB.js → chunk-QALAJNBG.js} +6 -5
- package/dist/chunk-QALAJNBG.js.map +1 -0
- package/dist/cli.js +2 -2
- package/dist/{conversion-upload-command-OG3UCC5N.js → conversion-upload-command-TYGIB7XJ.js} +3 -3
- package/dist/{copy-writes-USCBG57G.js → copy-writes-GUOL2QUD.js} +5 -5
- package/dist/{creatives-52E7O3RB.js → creatives-BGYARLCC.js} +6 -6
- package/dist/{custom-conversions-L3CMZCTZ.js → custom-conversions-SUXA7KSN.js} +6 -6
- package/dist/{draft-7VJRJ2XH.js → draft-2EO63W4K.js} +3 -3
- package/dist/{draft-RF6LORXE.js → draft-PJT5TSFQ.js} +3 -3
- package/dist/{forecast-3G6GGAKZ.js → forecast-IECMUBL2.js} +3 -3
- package/dist/{google-4BN4ERUJ.js → google-CWHRLDBL.js} +11 -11
- package/dist/{insights-HOZ5H4A3.js → insights-VW475N6G.js} +3 -3
- package/dist/{instant-experiences-ARUYYGVW.js → instant-experiences-JJJKZAQQ.js} +4 -4
- package/dist/{leads-KCFSCWZY.js → leads-2BXRQDT5.js} +4 -4
- package/dist/{media-SXILZKYE.js → media-KXBWT2YJ.js} +3 -3
- package/dist/{meta-ZQLFWVAR.js → meta-5ODNL2LA.js} +38 -38
- package/dist/{page-photos-22Q6ZH2W.js → page-photos-CJIFQDW5.js} +4 -4
- package/dist/{pages-DYWRNXQP.js → pages-NJN2E5HU.js} +3 -3
- package/dist/{pixels-R3ISRBUJ.js → pixels-E7UYF4KE.js} +3 -3
- package/dist/{preview-UOMZ5TUK.js → preview-QGLUDJ3A.js} +3 -3
- package/dist/{rule-writes-OGVSR5US.js → rule-writes-AHDYOYVO.js} +4 -4
- package/dist/{rules-O2TI4YBB.js → rules-5HIC2F34.js} +9 -9
- package/dist/{shared-DADIQPBQ.js → shared-S7ZPZXF5.js} +3 -3
- package/dist/{shopify-3KNP5U4O.js → shopify-4JA7QEOL.js} +2 -2
- package/dist/{studies-6NJN4GE4.js → studies-FXX4XW4A.js} +7 -7
- package/dist/{study-writes-UTBR34XR.js → study-writes-H6RDMXF3.js} +4 -4
- package/dist/{targeting-RF7GL7TJ.js → targeting-URLZVNS2.js} +4 -4
- package/dist/{terms-2PXN3ZKO.js → terms-VIAM2BO5.js} +2 -2
- package/dist/{themes-SHDZQODW.js → themes-CIXQPTFX.js} +3 -3
- package/dist/{write-commands-K2XXF7JP.js → write-commands-AANGPJ5F.js} +8 -8
- package/package.json +1 -1
- package/dist/account-assets-UQ5RS66K.js.map +0 -1
- package/dist/chunk-Y2JZX6JB.js.map +0 -1
- /package/dist/{account-Z2N545F3.js.map → account-JXUUHDEB.js.map} +0 -0
- /package/dist/{account-level-QHTIN4DY.js.map → account-level-46AIGZXA.js.map} +0 -0
- /package/dist/{account-reads-QDVBCQ7D.js.map → account-reads-5VPDX6NF.js.map} +0 -0
- /package/dist/{accounts-DAWCHDAC.js.map → accounts-D6FP4DC2.js.map} +0 -0
- /package/dist/{activities-UIBWZUGE.js.map → activities-NYWRMNCH.js.map} +0 -0
- /package/dist/{ads-6OUSUM5Y.js.map → ads-ALI6QLW2.js.map} +0 -0
- /package/dist/{ads-I2KFV42R.js.map → ads-DRMVHMJH.js.map} +0 -0
- /package/dist/{adsets-GYVCPG4K.js.map → adsets-XE5S6J5S.js.map} +0 -0
- /package/dist/{asset-writes-F5E3TWLS.js.map → asset-writes-5TAUIKSN.js.map} +0 -0
- /package/dist/{audience-writes-LVPTXKT7.js.map → audience-writes-P63WFDXJ.js.map} +0 -0
- /package/dist/{audiences-AVQ2VWHF.js.map → audiences-U6MQRRTP.js.map} +0 -0
- /package/dist/{businesses-XH7A32WX.js.map → businesses-RRYQYTG4.js.map} +0 -0
- /package/dist/{campaigns-7ZUR46T2.js.map → campaigns-DDUXFR77.js.map} +0 -0
- /package/dist/{catalogs-L6SLRMPR.js.map → catalogs-A6CHXN5B.js.map} +0 -0
- /package/dist/{chunk-LC75VG6J.js.map → chunk-2UQJ5BDJ.js.map} +0 -0
- /package/dist/{chunk-AI3ICPS6.js.map → chunk-3XG6I4K6.js.map} +0 -0
- /package/dist/{chunk-7RERKOMK.js.map → chunk-IQ3MYXCJ.js.map} +0 -0
- /package/dist/{chunk-6HZF5XQB.js.map → chunk-JHEWSMOS.js.map} +0 -0
- /package/dist/{chunk-EAIFDVBK.js.map → chunk-NAYO267Q.js.map} +0 -0
- /package/dist/{conversion-upload-command-OG3UCC5N.js.map → conversion-upload-command-TYGIB7XJ.js.map} +0 -0
- /package/dist/{copy-writes-USCBG57G.js.map → copy-writes-GUOL2QUD.js.map} +0 -0
- /package/dist/{creatives-52E7O3RB.js.map → creatives-BGYARLCC.js.map} +0 -0
- /package/dist/{custom-conversions-L3CMZCTZ.js.map → custom-conversions-SUXA7KSN.js.map} +0 -0
- /package/dist/{draft-7VJRJ2XH.js.map → draft-2EO63W4K.js.map} +0 -0
- /package/dist/{draft-RF6LORXE.js.map → draft-PJT5TSFQ.js.map} +0 -0
- /package/dist/{forecast-3G6GGAKZ.js.map → forecast-IECMUBL2.js.map} +0 -0
- /package/dist/{google-4BN4ERUJ.js.map → google-CWHRLDBL.js.map} +0 -0
- /package/dist/{insights-HOZ5H4A3.js.map → insights-VW475N6G.js.map} +0 -0
- /package/dist/{instant-experiences-ARUYYGVW.js.map → instant-experiences-JJJKZAQQ.js.map} +0 -0
- /package/dist/{leads-KCFSCWZY.js.map → leads-2BXRQDT5.js.map} +0 -0
- /package/dist/{media-SXILZKYE.js.map → media-KXBWT2YJ.js.map} +0 -0
- /package/dist/{meta-ZQLFWVAR.js.map → meta-5ODNL2LA.js.map} +0 -0
- /package/dist/{page-photos-22Q6ZH2W.js.map → page-photos-CJIFQDW5.js.map} +0 -0
- /package/dist/{pages-DYWRNXQP.js.map → pages-NJN2E5HU.js.map} +0 -0
- /package/dist/{pixels-R3ISRBUJ.js.map → pixels-E7UYF4KE.js.map} +0 -0
- /package/dist/{preview-UOMZ5TUK.js.map → preview-QGLUDJ3A.js.map} +0 -0
- /package/dist/{rule-writes-OGVSR5US.js.map → rule-writes-AHDYOYVO.js.map} +0 -0
- /package/dist/{rules-O2TI4YBB.js.map → rules-5HIC2F34.js.map} +0 -0
- /package/dist/{shared-DADIQPBQ.js.map → shared-S7ZPZXF5.js.map} +0 -0
- /package/dist/{shopify-3KNP5U4O.js.map → shopify-4JA7QEOL.js.map} +0 -0
- /package/dist/{studies-6NJN4GE4.js.map → studies-FXX4XW4A.js.map} +0 -0
- /package/dist/{study-writes-UTBR34XR.js.map → study-writes-H6RDMXF3.js.map} +0 -0
- /package/dist/{targeting-RF7GL7TJ.js.map → targeting-URLZVNS2.js.map} +0 -0
- /package/dist/{terms-2PXN3ZKO.js.map → terms-VIAM2BO5.js.map} +0 -0
- /package/dist/{themes-SHDZQODW.js.map → themes-CIXQPTFX.js.map} +0 -0
- /package/dist/{write-commands-K2XXF7JP.js.map → write-commands-AANGPJ5F.js.map} +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
handleMetaError,
|
|
3
3
|
resolveAccountIdArg
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-JHEWSMOS.js";
|
|
5
|
+
import "./chunk-QALAJNBG.js";
|
|
6
6
|
import {
|
|
7
7
|
writeJsonEnvelope
|
|
8
8
|
} from "./chunk-X7DMNLDD.js";
|
|
@@ -136,4 +136,4 @@ export {
|
|
|
136
136
|
accountDeliveryHints,
|
|
137
137
|
accountPermissionHints
|
|
138
138
|
};
|
|
139
|
-
//# sourceMappingURL=account-
|
|
139
|
+
//# sourceMappingURL=account-JXUUHDEB.js.map
|
|
@@ -2,8 +2,8 @@ import {
|
|
|
2
2
|
csvOrJson,
|
|
3
3
|
handleMetaError,
|
|
4
4
|
resolveAccountIdArg
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-JHEWSMOS.js";
|
|
6
|
+
import "./chunk-QALAJNBG.js";
|
|
7
7
|
import {
|
|
8
8
|
writeAdsOutput,
|
|
9
9
|
writeJsonEnvelope
|
|
@@ -147,7 +147,7 @@ var dsaRecommendationsCommand = defineCommand({
|
|
|
147
147
|
ok: true,
|
|
148
148
|
data: names,
|
|
149
149
|
hints: [
|
|
150
|
-
"An ad set reaching the EU needs dsa_beneficiary and dsa_payor. Baker fills both
|
|
150
|
+
"An ad set reaching the EU needs dsa_beneficiary and dsa_payor. When they are missing Baker fills both from the ad account's saved EU advertiser and payer, else the first of these, else the business name; pass one of these instead when the user names someone else (an agency paying for a client)."
|
|
151
151
|
]
|
|
152
152
|
});
|
|
153
153
|
} catch (err) {
|
|
@@ -221,11 +221,11 @@ var labelsCommand = defineCommand({
|
|
|
221
221
|
},
|
|
222
222
|
subCommands: {
|
|
223
223
|
list: () => labelsListCommand,
|
|
224
|
-
create: () => import("./asset-writes-
|
|
225
|
-
rename: () => import("./asset-writes-
|
|
226
|
-
delete: () => import("./asset-writes-
|
|
227
|
-
attach: () => import("./asset-writes-
|
|
228
|
-
detach: () => import("./asset-writes-
|
|
224
|
+
create: () => import("./asset-writes-5TAUIKSN.js").then((m) => m.labelsCreateCommand),
|
|
225
|
+
rename: () => import("./asset-writes-5TAUIKSN.js").then((m) => m.labelsRenameCommand),
|
|
226
|
+
delete: () => import("./asset-writes-5TAUIKSN.js").then((m) => m.labelsDeleteCommand),
|
|
227
|
+
attach: () => import("./asset-writes-5TAUIKSN.js").then((m) => m.labelsAttachCommand),
|
|
228
|
+
detach: () => import("./asset-writes-5TAUIKSN.js").then((m) => m.labelsDetachCommand)
|
|
229
229
|
},
|
|
230
230
|
args: labelsListArgs,
|
|
231
231
|
default: "list"
|
|
@@ -287,4 +287,4 @@ export {
|
|
|
287
287
|
instagramIdentityHints,
|
|
288
288
|
labelsCommand
|
|
289
289
|
};
|
|
290
|
-
//# sourceMappingURL=account-assets-
|
|
290
|
+
//# sourceMappingURL=account-assets-3SIBPJXJ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/ads/meta/account-assets.ts"],"sourcesContent":["import { defineCommand } from \"citty\";\nimport { NO_CACHE_ARG } from \"../../../cache-flag.ts\";\nimport { apiGet } from \"../../../client.ts\";\nimport { registerSchema } from \"../../../schemas.ts\";\nimport { writeAdsOutput, writeJsonEnvelope } from \"../output.ts\";\nimport { csvOrJson, handleMetaError, resolveAccountIdArg } from \"./shared.ts\";\n\n/**\n * The account's identities and libraries an ad is built from — reads that used\n * to exist only as backend routes. They were left off the CLI as \"rarely\n * needed in isolation\", but each answers a question staging otherwise answers\n * with a refusal: which Instagram account an ad can run as, which apps it can\n * promote, whom an EU ad names, what an image hash or label id is, which\n * product sets a catalog ad can use, what an A/B test found.\n */\n\ntype Row = Record<string, unknown>;\ntype Args = Record<string, unknown>;\n\nfunction emit(rows: Row[], args: Args, hints: string[]): void {\n const fmt = csvOrJson(args);\n if (fmt !== \"json\") {\n writeAdsOutput(rows, fmt, undefined, hints);\n return;\n }\n writeJsonEnvelope(hints.length > 0 ? { ok: true, data: rows, hints } : { ok: true, data: rows });\n}\n\nasync function read<T>(path: string, params: Record<string, string>, args: Args): Promise<T> {\n if (args[\"no-cache\"]) params[\"skip-cache\"] = \"true\";\n return await apiGet<T>(path, params);\n}\n\nconst outputArg = { type: \"string\", description: \"json|csv|jsonl|md\", default: \"json\" } as const;\nconst accountArg = { type: \"string\", description: \"Meta ad account ID (act_...)\" } as const;\nconst schemaAccount = { type: \"string\", description: \"Meta ad account ID (act_123)\", required: false };\nconst schemaNoCache = { type: \"boolean\", description: \"Bypass the cache\", required: false };\nconst schemaOutput = { type: \"string\", description: \"json|csv|jsonl|md\", required: false, default: \"json\" };\n\n// --- Instagram identities ---\n\nexport interface MetaInstagramIdentity {\n id: string;\n username?: string;\n sources: Array<\"ad_account\" | \"connected\" | \"page\" | \"page_backed\">;\n pageId?: string;\n pageName?: string;\n}\n\nexport function instagramIdentityHints(rows: readonly MetaInstagramIdentity[]): string[] {\n if (rows.length === 0) {\n return [\n \"No Instagram account is linked to this ad account or its Pages. A creative without --instagram-user cannot run in Instagram feeds, Stories or Reels — the account owner links one in Meta Business settings (Accounts → Instagram accounts) and assigns it to the ad account.\",\n ];\n }\n const listed = rows.filter((row) => row.sources.includes(\"ad_account\") || row.sources.includes(\"connected\"));\n const hints = [\"Pass the id as `creatives create --instagram-user <id>`.\"];\n if (listed.length > 0 && listed.length < rows.length) {\n hints.push(\n `Use one listed on the ad account (${listed.map((row) => row.username ?? row.id).join(\", \")}): when the account lists any, staging refuses an identity it does not list.`,\n );\n } else if (listed.length === 0) {\n hints.push(\n \"Only Page identities are listed (page = the Page's linked Instagram account, page_backed = an Instagram presence Meta made for a Page with none). Meta accepts either as --instagram-user; a page_backed one shows the Page's name and picture on Instagram.\",\n );\n }\n if (new Set(rows.map((row) => row.pageId).filter(Boolean)).size > 1) {\n hints.push(\"Several Pages are involved — use the identity of the Page the creative runs from (--page).\");\n }\n return hints;\n}\n\nregisterSchema({\n command: \"ads.meta.instagram-accounts\",\n description:\n \"The Instagram accounts an ad on this account can run as — the id `creatives create --instagram-user` takes. Lists accounts assigned or connected to the ad account and each promotable Page's linked or page-backed one.\",\n args: {\n \"account-id\": schemaAccount,\n \"no-cache\": schemaNoCache,\n output: { type: \"string\", description: \"json|csv\", required: false, default: \"json\" },\n },\n});\n\nexport const instagramAccountsCommand = defineCommand({\n meta: {\n name: \"instagram-accounts\",\n description:\n \"Instagram identities an ad can run as (the --instagram-user id). Start here before creatives create: baker ads meta instagram-accounts --account-id act_123\",\n },\n args: { \"account-id\": accountArg, \"no-cache\": NO_CACHE_ARG, output: outputArg },\n run: async ({ args }) => {\n const accountId = resolveAccountIdArg(args);\n try {\n const rows = await read<MetaInstagramIdentity[]>(\n \"/api/ads/meta/instagram-accounts\",\n { \"account-id\": accountId },\n args,\n );\n emit(\n rows.map((row) => ({ ...row, sources: row.sources.join(\",\") })),\n args,\n instagramIdentityHints(rows),\n );\n } catch (err) {\n handleMetaError(err);\n }\n },\n});\n\n// --- Apps ---\n\nregisterSchema({\n command: \"ads.meta.apps\",\n description:\n \"The apps this ad account can promote (app installs / app engagement), with their store URLs — the application_id and object_store_url an app ad set's promoted_object takes.\",\n args: { \"account-id\": schemaAccount, \"no-cache\": schemaNoCache, output: schemaOutput },\n});\n\nexport const appsCommand = defineCommand({\n meta: {\n name: \"apps\",\n description:\n \"Apps the ad account can promote, for an app ad set's promoted_object. Example: baker ads meta apps --account-id act_123\",\n },\n args: { \"account-id\": accountArg, \"no-cache\": NO_CACHE_ARG, output: outputArg },\n run: async ({ args }) => {\n const accountId = resolveAccountIdArg(args);\n try {\n const rows = await read<Array<{ id: string; name?: string; object_store_urls?: Record<string, string> }>>(\n \"/api/ads/meta/apps\",\n { \"account-id\": accountId },\n args,\n );\n emit(\n rows.map((row) => ({ ...row })),\n args,\n rows.length > 0\n ? [\n 'An app ad set promotes one: promoted_object {\"application_id\":\"<id>\",\"object_store_url\":\"<store url>\"}. Use a real store URL (itunes / google_play); fb_canvas and instant_game are not app stores.',\n ]\n : [\n \"No promotable apps. The app has to be registered in Meta for Developers and its owner has to add this ad account under the app's Advanced settings → Advertising accounts.\",\n ],\n );\n } catch (err) {\n handleMetaError(err);\n }\n },\n});\n\n// --- DSA ---\n\nregisterSchema({\n command: \"ads.meta.dsa-recommendations\",\n description:\n \"Names Meta suggests for the EU Digital Services Act disclosure (who benefits from and who pays for an ad) on this account.\",\n args: { \"account-id\": schemaAccount, \"no-cache\": schemaNoCache },\n});\n\nexport const dsaRecommendationsCommand = defineCommand({\n meta: {\n name: \"dsa-recommendations\",\n description:\n \"Meta's suggested DSA beneficiary/payor names for EU ad sets. Example: baker ads meta dsa-recommendations --account-id act_123\",\n },\n args: { \"account-id\": accountArg, \"no-cache\": NO_CACHE_ARG },\n run: async ({ args }) => {\n const accountId = resolveAccountIdArg(args);\n try {\n const names = await read<string[]>(\"/api/ads/meta/dsa-recommendations\", { \"account-id\": accountId }, args);\n writeJsonEnvelope({\n ok: true,\n data: names,\n hints: [\n \"An ad set reaching the EU needs dsa_beneficiary and dsa_payor. When they are missing Baker fills both from the ad account's saved EU advertiser and payer, else the first of these, else the business name; pass one of these instead when the user names someone else (an agency paying for a client).\",\n ],\n });\n } catch (err) {\n handleMetaError(err);\n }\n },\n});\n\n// --- Images and labels ---\n\nfunction compactImage(row: Row): Row {\n return {\n hash: row.hash,\n name: row.name,\n width: row.width,\n height: row.height,\n status: row.status,\n created_time: row.created_time,\n };\n}\n\nregisterSchema({\n command: \"ads.meta.images\",\n description:\n \"The ad account's image library — each image_hash a creative can reuse without uploading again. --hash looks one up.\",\n args: {\n \"account-id\": schemaAccount,\n hash: { type: \"string\", description: \"One image hash\", required: false },\n limit: { type: \"string\", description: \"Max rows (default 500)\", required: false },\n full: { type: \"boolean\", description: \"URLs, permalink and which creatives use it\", required: false },\n \"no-cache\": schemaNoCache,\n output: schemaOutput,\n },\n});\n\nexport const imagesCommand = defineCommand({\n meta: {\n name: \"images\",\n description:\n \"Image library of the ad account (image hashes). Example: baker ads meta images --account-id act_123 --limit 20; --hash <hash> for one\",\n },\n args: {\n \"account-id\": accountArg,\n hash: { type: \"string\", description: \"Look up one image hash\" },\n limit: { type: \"string\", description: \"Max rows (default 500)\" },\n full: { type: \"boolean\", description: \"Every field: url, permalink_url, creatives\" },\n \"no-cache\": NO_CACHE_ARG,\n output: outputArg,\n },\n run: async ({ args }) => {\n const accountId = resolveAccountIdArg(args);\n const params: Record<string, string> = { \"account-id\": accountId };\n if (args.hash) params.hash = args.hash as string;\n if (args.limit) params.limit = args.limit as string;\n try {\n const rows = await read<Row[]>(\"/api/ads/meta/images\", params, args);\n emit(args.full ? rows : rows.map(compactImage), args, [\n \"A creative reuses one with its hash (the `image_hash` of a creative file). To push a Baker-library image, stage `media upload` instead.\",\n ]);\n } catch (err) {\n handleMetaError(err);\n }\n },\n});\n\nregisterSchema({\n command: \"ads.meta.labels\",\n description: \"Ad labels defined on the account (Meta's tags for campaigns, ad sets, ads and creatives).\",\n args: { \"account-id\": schemaAccount, \"no-cache\": schemaNoCache, output: schemaOutput },\n});\n\nconst labelsListArgs = { \"account-id\": accountArg, \"no-cache\": NO_CACHE_ARG, output: outputArg };\n\nexport const labelsCommand = defineCommand({\n meta: {\n name: \"labels\",\n description: `Ad labels on the account (list), or stage label writes: create, rename, delete, attach (file campaigns/ad sets/ads/creatives under one), detach.\n baker ads meta labels --account-id act_123\n baker ads meta labels create --name \"Q4 launch\"\n baker ads meta labels attach <labelId|meta_temp_…> --campaigns 6123,6124 --ads 6125`,\n },\n subCommands: {\n list: () => labelsListCommand,\n create: () => import(\"./asset-writes.ts\").then((m) => m.labelsCreateCommand),\n rename: () => import(\"./asset-writes.ts\").then((m) => m.labelsRenameCommand),\n delete: () => import(\"./asset-writes.ts\").then((m) => m.labelsDeleteCommand),\n attach: () => import(\"./asset-writes.ts\").then((m) => m.labelsAttachCommand),\n detach: () => import(\"./asset-writes.ts\").then((m) => m.labelsDetachCommand),\n },\n args: labelsListArgs,\n default: \"list\",\n});\n\nconst labelsListCommand = defineCommand({\n meta: {\n name: \"list\",\n description: \"Ad labels on the account. Runs by default. Example: baker ads meta labels --account-id act_123\",\n },\n args: labelsListArgs,\n run: async ({ args }) => {\n const accountId = resolveAccountIdArg(args);\n try {\n const rows = await read<Row[]>(\"/api/ads/meta/labels\", { \"account-id\": accountId }, args);\n emit(rows, args, rows.length === 0 ? [\"This account has no ad labels.\"] : []);\n } catch (err) {\n handleMetaError(err);\n }\n },\n});\n\n// --- High-demand periods ---\n\nregisterSchema({\n command: \"ads.meta.high-demand-periods\",\n description: \"The budget boosts (high-demand periods) set on a campaign or ad set: when each runs and by how much.\",\n args: {\n \"campaign-id\": { type: \"string\", description: \"Campaign or ad set ID\", required: true },\n \"no-cache\": schemaNoCache,\n output: schemaOutput,\n },\n});\n\nexport const highDemandPeriodsCommand = defineCommand({\n meta: {\n name: \"high-demand-periods\",\n description:\n \"Budget boosts on a campaign or ad set. Example: baker ads meta high-demand-periods --campaign-id 6123 (stage new ones with --budget-boost on campaigns or adsets create|update)\",\n },\n args: {\n \"campaign-id\": { type: \"string\", description: \"Campaign (or ad set) ID\", required: true },\n \"no-cache\": NO_CACHE_ARG,\n output: outputArg,\n },\n run: async ({ args }) => {\n try {\n const rows = await read<Row[]>(\n \"/api/ads/meta/high-demand-periods\",\n { \"campaign-id\": args[\"campaign-id\"] as string },\n args,\n );\n emit(rows, args, rows.length === 0 ? [\"No budget boosts on this campaign.\"] : []);\n } catch (err) {\n handleMetaError(err);\n }\n },\n});\n"],"mappings":"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","names":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
dayPartingFromFlags
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-3XG6I4K6.js";
|
|
4
4
|
import {
|
|
5
5
|
bareAccountId,
|
|
6
6
|
failWriteValidation,
|
|
@@ -8,12 +8,12 @@ import {
|
|
|
8
8
|
numberFlag,
|
|
9
9
|
requireTarget,
|
|
10
10
|
stageOp
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-2UQJ5BDJ.js";
|
|
12
12
|
import "./chunk-GC5P4KWY.js";
|
|
13
13
|
import "./chunk-GDFJOCDO.js";
|
|
14
14
|
import {
|
|
15
15
|
handleMetaError
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-JHEWSMOS.js";
|
|
17
17
|
import {
|
|
18
18
|
repeatedValues
|
|
19
19
|
} from "./chunk-ERSX3MKH.js";
|
|
@@ -21,7 +21,7 @@ import "./chunk-QBFJGCWA.js";
|
|
|
21
21
|
import "./chunk-4NZ47VXO.js";
|
|
22
22
|
import "./chunk-D5FY4FAK.js";
|
|
23
23
|
import "./chunk-JRQI6EVP.js";
|
|
24
|
-
import "./chunk-
|
|
24
|
+
import "./chunk-QALAJNBG.js";
|
|
25
25
|
import {
|
|
26
26
|
writeJsonEnvelope
|
|
27
27
|
} from "./chunk-X7DMNLDD.js";
|
|
@@ -608,4 +608,4 @@ export {
|
|
|
608
608
|
pagePostsCommand,
|
|
609
609
|
reachFrequencyCommand
|
|
610
610
|
};
|
|
611
|
-
//# sourceMappingURL=account-level-
|
|
611
|
+
//# sourceMappingURL=account-level-46AIGZXA.js.map
|
|
@@ -5,13 +5,13 @@ import {
|
|
|
5
5
|
failWriteValidation,
|
|
6
6
|
listFlag,
|
|
7
7
|
requireCustomerId
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-IQ3MYXCJ.js";
|
|
9
9
|
import "./chunk-ERSX3MKH.js";
|
|
10
10
|
import "./chunk-QBFJGCWA.js";
|
|
11
11
|
import "./chunk-4NZ47VXO.js";
|
|
12
12
|
import "./chunk-D5FY4FAK.js";
|
|
13
13
|
import "./chunk-JRQI6EVP.js";
|
|
14
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-QALAJNBG.js";
|
|
15
15
|
import "./chunk-44ZRCSR7.js";
|
|
16
16
|
import {
|
|
17
17
|
getManagerIdForCustomer,
|
|
@@ -216,4 +216,4 @@ export {
|
|
|
216
216
|
invoicesCommand,
|
|
217
217
|
previewsCommand
|
|
218
218
|
};
|
|
219
|
-
//# sourceMappingURL=account-reads-
|
|
219
|
+
//# sourceMappingURL=account-reads-5VPDX6NF.js.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
csvOrJson,
|
|
3
3
|
handleMetaError
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-JHEWSMOS.js";
|
|
5
|
+
import "./chunk-QALAJNBG.js";
|
|
6
6
|
import {
|
|
7
7
|
connectedResourceHints
|
|
8
8
|
} from "./chunk-P4NSJS54.js";
|
|
@@ -73,4 +73,4 @@ Examples:
|
|
|
73
73
|
export {
|
|
74
74
|
accountsCommand
|
|
75
75
|
};
|
|
76
|
-
//# sourceMappingURL=accounts-
|
|
76
|
+
//# sourceMappingURL=accounts-D6FP4DC2.js.map
|
|
@@ -8,8 +8,8 @@ import {
|
|
|
8
8
|
csvOrJson,
|
|
9
9
|
handleMetaError,
|
|
10
10
|
resolveAccountIdArg
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import "./chunk-
|
|
11
|
+
} from "./chunk-JHEWSMOS.js";
|
|
12
|
+
import "./chunk-QALAJNBG.js";
|
|
13
13
|
import "./chunk-X7DMNLDD.js";
|
|
14
14
|
import {
|
|
15
15
|
NO_CACHE_ARG
|
|
@@ -72,4 +72,4 @@ Examples:
|
|
|
72
72
|
export {
|
|
73
73
|
activitiesCommand
|
|
74
74
|
};
|
|
75
|
-
//# sourceMappingURL=activities-
|
|
75
|
+
//# sourceMappingURL=activities-NYWRMNCH.js.map
|
|
@@ -33,16 +33,16 @@ Examples:
|
|
|
33
33
|
Full guides: __tooling__/docs/tools/baker/ads-<platform>.md (google|meta|linkedin|x|chatgpt|performance|terms)`
|
|
34
34
|
},
|
|
35
35
|
subCommands: {
|
|
36
|
-
google: () => import("./google-
|
|
37
|
-
meta: () => import("./meta-
|
|
36
|
+
google: () => import("./google-CWHRLDBL.js").then((m) => m.googleCommand),
|
|
37
|
+
meta: () => import("./meta-5ODNL2LA.js").then((m) => m.metaCommand),
|
|
38
38
|
linkedin: () => import("./linkedin-FTRTC4FJ.js").then((m) => m.linkedinCommand),
|
|
39
39
|
x: () => import("./x-AIP6SGS3.js").then((m) => m.xCommand),
|
|
40
40
|
chatgpt: () => import("./chatgpt-6PP4HANG.js").then((m) => m.chatgptCommand),
|
|
41
41
|
performance: () => import("./performance-S5PPW6WN.js").then((m) => m.performanceCommand),
|
|
42
|
-
terms: () => import("./terms-
|
|
42
|
+
terms: () => import("./terms-VIAM2BO5.js").then((m) => m.termsCommand)
|
|
43
43
|
}
|
|
44
44
|
});
|
|
45
45
|
export {
|
|
46
46
|
adsCommand
|
|
47
47
|
};
|
|
48
|
-
//# sourceMappingURL=ads-
|
|
48
|
+
//# sourceMappingURL=ads-ALI6QLW2.js.map
|
|
@@ -11,8 +11,8 @@ import {
|
|
|
11
11
|
resolveAccountIdArg,
|
|
12
12
|
resolveEffectiveStatus,
|
|
13
13
|
statusFilterHints
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import "./chunk-
|
|
14
|
+
} from "./chunk-JHEWSMOS.js";
|
|
15
|
+
import "./chunk-QALAJNBG.js";
|
|
16
16
|
import "./chunk-X7DMNLDD.js";
|
|
17
17
|
import {
|
|
18
18
|
NO_CACHE_ARG
|
|
@@ -92,15 +92,15 @@ Examples:
|
|
|
92
92
|
},
|
|
93
93
|
subCommands: {
|
|
94
94
|
list: listCommand,
|
|
95
|
-
create: () => import("./write-commands-
|
|
96
|
-
update: () => import("./write-commands-
|
|
97
|
-
pause: () => import("./write-commands-
|
|
98
|
-
resume: () => import("./write-commands-
|
|
99
|
-
archive: () => import("./write-commands-
|
|
100
|
-
delete: () => import("./write-commands-
|
|
101
|
-
duplicate: () => import("./write-commands-
|
|
102
|
-
copy: () => import("./copy-writes-
|
|
103
|
-
retag: () => import("./write-commands-
|
|
95
|
+
create: () => import("./write-commands-AANGPJ5F.js").then((m) => m.adsCreateCommand),
|
|
96
|
+
update: () => import("./write-commands-AANGPJ5F.js").then((m) => m.adsUpdateCommand),
|
|
97
|
+
pause: () => import("./write-commands-AANGPJ5F.js").then((m) => m.adsPauseCommand),
|
|
98
|
+
resume: () => import("./write-commands-AANGPJ5F.js").then((m) => m.adsResumeCommand),
|
|
99
|
+
archive: () => import("./write-commands-AANGPJ5F.js").then((m) => m.adsArchiveCommand),
|
|
100
|
+
delete: () => import("./write-commands-AANGPJ5F.js").then((m) => m.adsDeleteCommand),
|
|
101
|
+
duplicate: () => import("./write-commands-AANGPJ5F.js").then((m) => m.adsDuplicateCommand),
|
|
102
|
+
copy: () => import("./copy-writes-GUOL2QUD.js").then((m) => m.adsCopyCommand),
|
|
103
|
+
retag: () => import("./write-commands-AANGPJ5F.js").then((m) => m.adsRetagCommand)
|
|
104
104
|
},
|
|
105
105
|
// `args` stays even though the parent has no `run`: citty scans rawArgs for the
|
|
106
106
|
// subcommand name using THIS command's arg defs, so without them `--account-id act_1`
|
|
@@ -112,4 +112,4 @@ Examples:
|
|
|
112
112
|
export {
|
|
113
113
|
adsListCommand
|
|
114
114
|
};
|
|
115
|
-
//# sourceMappingURL=ads-
|
|
115
|
+
//# sourceMappingURL=ads-DRMVHMJH.js.map
|
|
@@ -19,11 +19,11 @@ import {
|
|
|
19
19
|
resolveAccountIdArg,
|
|
20
20
|
resolveEffectiveStatus,
|
|
21
21
|
statusFilterHints
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-JHEWSMOS.js";
|
|
23
23
|
import {
|
|
24
24
|
rememberedJev
|
|
25
25
|
} from "./chunk-JRQI6EVP.js";
|
|
26
|
-
import "./chunk-
|
|
26
|
+
import "./chunk-QALAJNBG.js";
|
|
27
27
|
import {
|
|
28
28
|
writeAdsOutput
|
|
29
29
|
} from "./chunk-X7DMNLDD.js";
|
|
@@ -160,14 +160,14 @@ Examples:
|
|
|
160
160
|
},
|
|
161
161
|
subCommands: {
|
|
162
162
|
list: listCommand,
|
|
163
|
-
create: () => import("./write-commands-
|
|
164
|
-
update: () => import("./write-commands-
|
|
165
|
-
pause: () => import("./write-commands-
|
|
166
|
-
resume: () => import("./write-commands-
|
|
167
|
-
archive: () => import("./write-commands-
|
|
168
|
-
delete: () => import("./write-commands-
|
|
169
|
-
duplicate: () => import("./write-commands-
|
|
170
|
-
copy: () => import("./copy-writes-
|
|
163
|
+
create: () => import("./write-commands-AANGPJ5F.js").then((m) => m.adSetsCreateCommand),
|
|
164
|
+
update: () => import("./write-commands-AANGPJ5F.js").then((m) => m.adSetsUpdateCommand),
|
|
165
|
+
pause: () => import("./write-commands-AANGPJ5F.js").then((m) => m.adSetsPauseCommand),
|
|
166
|
+
resume: () => import("./write-commands-AANGPJ5F.js").then((m) => m.adSetsResumeCommand),
|
|
167
|
+
archive: () => import("./write-commands-AANGPJ5F.js").then((m) => m.adSetsArchiveCommand),
|
|
168
|
+
delete: () => import("./write-commands-AANGPJ5F.js").then((m) => m.adSetsDeleteCommand),
|
|
169
|
+
duplicate: () => import("./write-commands-AANGPJ5F.js").then((m) => m.adSetsDuplicateCommand),
|
|
170
|
+
copy: () => import("./copy-writes-GUOL2QUD.js").then((m) => m.adSetsCopyCommand)
|
|
171
171
|
},
|
|
172
172
|
// `args` stays even though the parent has no `run`: citty scans rawArgs for the
|
|
173
173
|
// subcommand name using THIS command's arg defs, so without them `--account-id act_1`
|
|
@@ -179,4 +179,4 @@ Examples:
|
|
|
179
179
|
export {
|
|
180
180
|
adsetsCommand
|
|
181
181
|
};
|
|
182
|
-
//# sourceMappingURL=adsets-
|
|
182
|
+
//# sourceMappingURL=adsets-XE5S6J5S.js.map
|
|
@@ -9,17 +9,17 @@ import {
|
|
|
9
9
|
labelsDetachCommand,
|
|
10
10
|
labelsRenameCommand,
|
|
11
11
|
mediaDeleteCommand
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import "./chunk-
|
|
12
|
+
} from "./chunk-NAYO267Q.js";
|
|
13
|
+
import "./chunk-2UQJ5BDJ.js";
|
|
14
14
|
import "./chunk-GC5P4KWY.js";
|
|
15
15
|
import "./chunk-GDFJOCDO.js";
|
|
16
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-JHEWSMOS.js";
|
|
17
17
|
import "./chunk-ERSX3MKH.js";
|
|
18
18
|
import "./chunk-QBFJGCWA.js";
|
|
19
19
|
import "./chunk-4NZ47VXO.js";
|
|
20
20
|
import "./chunk-D5FY4FAK.js";
|
|
21
21
|
import "./chunk-JRQI6EVP.js";
|
|
22
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-QALAJNBG.js";
|
|
23
23
|
import "./chunk-X7DMNLDD.js";
|
|
24
24
|
import "./chunk-K6HH2KF3.js";
|
|
25
25
|
import "./chunk-M7MLFR2S.js";
|
|
@@ -47,4 +47,4 @@ export {
|
|
|
47
47
|
labelsRenameCommand,
|
|
48
48
|
mediaDeleteCommand
|
|
49
49
|
};
|
|
50
|
-
//# sourceMappingURL=asset-writes-
|
|
50
|
+
//# sourceMappingURL=asset-writes-5TAUIKSN.js.map
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
repeatedListFlag,
|
|
11
11
|
requireTarget,
|
|
12
12
|
stageOp
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-2UQJ5BDJ.js";
|
|
14
14
|
import {
|
|
15
15
|
CUSTOMER_LIST_BATCH_ROWS,
|
|
16
16
|
CUSTOMER_LIST_MAX_BATCHES,
|
|
@@ -21,13 +21,13 @@ import {
|
|
|
21
21
|
csvOrJson,
|
|
22
22
|
handleMetaError,
|
|
23
23
|
resolveAccountIdArg
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-JHEWSMOS.js";
|
|
25
25
|
import "./chunk-ERSX3MKH.js";
|
|
26
26
|
import "./chunk-QBFJGCWA.js";
|
|
27
27
|
import "./chunk-4NZ47VXO.js";
|
|
28
28
|
import "./chunk-D5FY4FAK.js";
|
|
29
29
|
import "./chunk-JRQI6EVP.js";
|
|
30
|
-
import "./chunk-
|
|
30
|
+
import "./chunk-QALAJNBG.js";
|
|
31
31
|
import {
|
|
32
32
|
writeAdsOutput,
|
|
33
33
|
writeJsonEnvelope
|
|
@@ -324,4 +324,4 @@ export {
|
|
|
324
324
|
savedAudiencesCommand,
|
|
325
325
|
targetingFromSavedAudience
|
|
326
326
|
};
|
|
327
|
-
//# sourceMappingURL=audience-writes-
|
|
327
|
+
//# sourceMappingURL=audience-writes-P63WFDXJ.js.map
|
|
@@ -2,8 +2,8 @@ import {
|
|
|
2
2
|
csvOrJson,
|
|
3
3
|
handleMetaError,
|
|
4
4
|
resolveAccountIdArg
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-JHEWSMOS.js";
|
|
6
|
+
import "./chunk-QALAJNBG.js";
|
|
7
7
|
import {
|
|
8
8
|
writeAdsJson,
|
|
9
9
|
writeAdsOutput
|
|
@@ -67,11 +67,11 @@ Examples:
|
|
|
67
67
|
},
|
|
68
68
|
subCommands: {
|
|
69
69
|
list: listCommand,
|
|
70
|
-
create: () => import("./write-commands-
|
|
71
|
-
update: () => import("./write-commands-
|
|
72
|
-
delete: () => import("./audience-writes-
|
|
73
|
-
members: () => import("./audience-writes-
|
|
74
|
-
saved: () => import("./audience-writes-
|
|
70
|
+
create: () => import("./write-commands-AANGPJ5F.js").then((m) => m.audiencesCreateCommand),
|
|
71
|
+
update: () => import("./write-commands-AANGPJ5F.js").then((m) => m.audiencesUpdateCommand),
|
|
72
|
+
delete: () => import("./audience-writes-P63WFDXJ.js").then((m) => m.audiencesDeleteCommand),
|
|
73
|
+
members: () => import("./audience-writes-P63WFDXJ.js").then((m) => m.audiencesMembersCommand),
|
|
74
|
+
saved: () => import("./audience-writes-P63WFDXJ.js").then((m) => m.savedAudiencesCommand)
|
|
75
75
|
},
|
|
76
76
|
// `args` stays even though the parent has no `run`: citty scans rawArgs for the
|
|
77
77
|
// subcommand name using THIS command's arg defs, so without them `--account-id act_1`
|
|
@@ -83,4 +83,4 @@ Examples:
|
|
|
83
83
|
export {
|
|
84
84
|
audiencesCommand
|
|
85
85
|
};
|
|
86
|
-
//# sourceMappingURL=audiences-
|
|
86
|
+
//# sourceMappingURL=audiences-U6MQRRTP.js.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
csvOrJson,
|
|
3
3
|
handleMetaError
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-JHEWSMOS.js";
|
|
5
|
+
import "./chunk-QALAJNBG.js";
|
|
6
6
|
import {
|
|
7
7
|
writeAdsJson,
|
|
8
8
|
writeAdsOutput
|
|
@@ -51,4 +51,4 @@ Examples:
|
|
|
51
51
|
export {
|
|
52
52
|
businessesCommand
|
|
53
53
|
};
|
|
54
|
-
//# sourceMappingURL=businesses-
|
|
54
|
+
//# sourceMappingURL=businesses-RRYQYTG4.js.map
|
|
@@ -12,8 +12,8 @@ import {
|
|
|
12
12
|
resolveAccountIdArg,
|
|
13
13
|
resolveEffectiveStatus,
|
|
14
14
|
statusFilterHints
|
|
15
|
-
} from "./chunk-
|
|
16
|
-
import "./chunk-
|
|
15
|
+
} from "./chunk-JHEWSMOS.js";
|
|
16
|
+
import "./chunk-QALAJNBG.js";
|
|
17
17
|
import "./chunk-X7DMNLDD.js";
|
|
18
18
|
import {
|
|
19
19
|
NO_CACHE_ARG
|
|
@@ -107,14 +107,14 @@ Examples:
|
|
|
107
107
|
},
|
|
108
108
|
subCommands: {
|
|
109
109
|
list: listCommand,
|
|
110
|
-
create: () => import("./write-commands-
|
|
111
|
-
update: () => import("./write-commands-
|
|
112
|
-
pause: () => import("./write-commands-
|
|
113
|
-
resume: () => import("./write-commands-
|
|
114
|
-
archive: () => import("./write-commands-
|
|
115
|
-
delete: () => import("./write-commands-
|
|
116
|
-
duplicate: () => import("./write-commands-
|
|
117
|
-
copy: () => import("./copy-writes-
|
|
110
|
+
create: () => import("./write-commands-AANGPJ5F.js").then((m) => m.campaignsCreateCommand),
|
|
111
|
+
update: () => import("./write-commands-AANGPJ5F.js").then((m) => m.campaignsUpdateCommand),
|
|
112
|
+
pause: () => import("./write-commands-AANGPJ5F.js").then((m) => m.campaignsPauseCommand),
|
|
113
|
+
resume: () => import("./write-commands-AANGPJ5F.js").then((m) => m.campaignsResumeCommand),
|
|
114
|
+
archive: () => import("./write-commands-AANGPJ5F.js").then((m) => m.campaignsArchiveCommand),
|
|
115
|
+
delete: () => import("./write-commands-AANGPJ5F.js").then((m) => m.campaignsDeleteCommand),
|
|
116
|
+
duplicate: () => import("./write-commands-AANGPJ5F.js").then((m) => m.campaignsDuplicateCommand),
|
|
117
|
+
copy: () => import("./copy-writes-GUOL2QUD.js").then((m) => m.campaignsCopyCommand)
|
|
118
118
|
},
|
|
119
119
|
// `args` stays even though the parent has no `run`: citty scans rawArgs for the
|
|
120
120
|
// subcommand name using THIS command's arg defs, so without them `--account-id act_1`
|
|
@@ -127,4 +127,4 @@ export {
|
|
|
127
127
|
advantagePlusHints,
|
|
128
128
|
campaignsCommand
|
|
129
129
|
};
|
|
130
|
-
//# sourceMappingURL=campaigns-
|
|
130
|
+
//# sourceMappingURL=campaigns-DDUXFR77.js.map
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
requireTarget,
|
|
8
8
|
stageOp,
|
|
9
9
|
upper
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-2UQJ5BDJ.js";
|
|
11
11
|
import {
|
|
12
12
|
retailerIdFilter
|
|
13
13
|
} from "./chunk-GC5P4KWY.js";
|
|
@@ -15,7 +15,7 @@ import "./chunk-GDFJOCDO.js";
|
|
|
15
15
|
import {
|
|
16
16
|
csvOrJson,
|
|
17
17
|
handleMetaError
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-JHEWSMOS.js";
|
|
19
19
|
import {
|
|
20
20
|
repeatedValues
|
|
21
21
|
} from "./chunk-ERSX3MKH.js";
|
|
@@ -23,7 +23,7 @@ import "./chunk-QBFJGCWA.js";
|
|
|
23
23
|
import "./chunk-4NZ47VXO.js";
|
|
24
24
|
import "./chunk-D5FY4FAK.js";
|
|
25
25
|
import "./chunk-JRQI6EVP.js";
|
|
26
|
-
import "./chunk-
|
|
26
|
+
import "./chunk-QALAJNBG.js";
|
|
27
27
|
import {
|
|
28
28
|
writeAdsJson,
|
|
29
29
|
writeAdsOutput,
|
|
@@ -778,4 +778,4 @@ export {
|
|
|
778
778
|
productFieldsFromArgs,
|
|
779
779
|
productSetFilterFromArgs
|
|
780
780
|
};
|
|
781
|
-
//# sourceMappingURL=catalogs-
|
|
781
|
+
//# sourceMappingURL=catalogs-A6CHXN5B.js.map
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
handleMetaError,
|
|
6
6
|
resolveAccountIdArg
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-JHEWSMOS.js";
|
|
8
8
|
import {
|
|
9
9
|
repeatedValues
|
|
10
10
|
} from "./chunk-ERSX3MKH.js";
|
|
@@ -204,4 +204,4 @@ export {
|
|
|
204
204
|
stageOps,
|
|
205
205
|
stageStatusChange
|
|
206
206
|
};
|
|
207
|
-
//# sourceMappingURL=chunk-
|
|
207
|
+
//# sourceMappingURL=chunk-2UQJ5BDJ.js.map
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
failWriteValidation,
|
|
3
3
|
parseDateFlag,
|
|
4
4
|
parseMoneyFlag
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-2UQJ5BDJ.js";
|
|
6
6
|
import {
|
|
7
7
|
repeatedValues
|
|
8
8
|
} from "./chunk-ERSX3MKH.js";
|
|
@@ -284,4 +284,4 @@ export {
|
|
|
284
284
|
clearFromFlags,
|
|
285
285
|
clearArg
|
|
286
286
|
};
|
|
287
|
-
//# sourceMappingURL=chunk-
|
|
287
|
+
//# sourceMappingURL=chunk-3XG6I4K6.js.map
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
} from "./chunk-D5FY4FAK.js";
|
|
13
13
|
import {
|
|
14
14
|
termsRefusalFix
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-QALAJNBG.js";
|
|
16
16
|
import {
|
|
17
17
|
cacheGet,
|
|
18
18
|
cacheSet,
|
|
@@ -673,4 +673,4 @@ export {
|
|
|
673
673
|
fileCreateCommand,
|
|
674
674
|
bidModifierFlag
|
|
675
675
|
};
|
|
676
|
-
//# sourceMappingURL=chunk-
|
|
676
|
+
//# sourceMappingURL=chunk-IQ3MYXCJ.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
termsRefusalFix
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-QALAJNBG.js";
|
|
4
4
|
import {
|
|
5
5
|
handleConnectionError,
|
|
6
6
|
isOrganizationReadRefusal,
|
|
@@ -172,4 +172,4 @@ export {
|
|
|
172
172
|
resolveEffectiveStatus,
|
|
173
173
|
statusFilterHints
|
|
174
174
|
};
|
|
175
|
-
//# sourceMappingURL=chunk-
|
|
175
|
+
//# sourceMappingURL=chunk-JHEWSMOS.js.map
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
requireTarget,
|
|
6
6
|
stageOp,
|
|
7
7
|
stageOps
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-2UQJ5BDJ.js";
|
|
9
9
|
import {
|
|
10
10
|
repeatedValues
|
|
11
11
|
} from "./chunk-ERSX3MKH.js";
|
|
@@ -216,4 +216,4 @@ export {
|
|
|
216
216
|
labelsAttachCommand,
|
|
217
217
|
labelsDetachCommand
|
|
218
218
|
};
|
|
219
|
-
//# sourceMappingURL=chunk-
|
|
219
|
+
//# sourceMappingURL=chunk-NAYO267Q.js.map
|
|
@@ -20,7 +20,7 @@ var TERMS_ACTION_PREFIX = "Action needed before publishing:";
|
|
|
20
20
|
var PLATFORM_BY_LABEL = new Map(
|
|
21
21
|
ADS_TERMS_PLATFORMS.map((platform) => [ADS_TERMS_PLATFORM_LABEL[platform], platform])
|
|
22
22
|
);
|
|
23
|
-
var NOTICE_SHAPE = /^accept (.+?) in (Meta|Google Ads|LinkedIn)\. (.+?) Who: (.+?)\. Steps: (1\. .+)$/;
|
|
23
|
+
var NOTICE_SHAPE = /^(accept|complete) (.+?) in (Meta|Google Ads|LinkedIn)\. (.+?) Who: (.+?)\. Steps: (1\. .+)$/;
|
|
24
24
|
function numberedSteps(text) {
|
|
25
25
|
const steps = [];
|
|
26
26
|
let rest = text.replace(/^1\.\s/, "");
|
|
@@ -37,12 +37,13 @@ function parseTermsActionNotice(text) {
|
|
|
37
37
|
if (!text.startsWith(TERMS_ACTION_PREFIX)) return void 0;
|
|
38
38
|
const match = NOTICE_SHAPE.exec(text.slice(TERMS_ACTION_PREFIX.length).trim());
|
|
39
39
|
if (!match) return void 0;
|
|
40
|
-
const [, name, label, consequence, who, stepText] = match;
|
|
40
|
+
const [, verb, name, label, consequence, who, stepText] = match;
|
|
41
41
|
const platform = label ? PLATFORM_BY_LABEL.get(label) : void 0;
|
|
42
|
-
|
|
42
|
+
const action = verb === "accept" || verb === "complete" ? verb : void 0;
|
|
43
|
+
if (!platform || !action || !name || !consequence || !who || !stepText) return void 0;
|
|
43
44
|
const steps = numberedSteps(stepText);
|
|
44
45
|
const link = stepText.match(/https:\/\/\S+?(?=[\s,;)]|\.(?:\s|$)|$)/)?.[0] ?? null;
|
|
45
|
-
return { platform, name, consequence, who, steps, link };
|
|
46
|
+
return { platform, action, name, consequence, who, steps, link };
|
|
46
47
|
}
|
|
47
48
|
var adsTermsRequestSchema = z.strictObject({
|
|
48
49
|
platform: adsTermsPlatformSchema,
|
|
@@ -134,4 +135,4 @@ export {
|
|
|
134
135
|
termsHints,
|
|
135
136
|
termsRefusalFix
|
|
136
137
|
};
|
|
137
|
-
//# sourceMappingURL=chunk-
|
|
138
|
+
//# sourceMappingURL=chunk-QALAJNBG.js.map
|