@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../api/src/ads-terms.ts","../src/commands/ads/terms-output.ts"],"sourcesContent":["/**\n * Ad platform terms — the shared CLI ⇄ backend ⇄ dashboard contract for the agreements a Baker\n * feature depends on (`baker ads terms`, `/api/ads/terms`, every staging gate that checks one, and\n * the review's \"Action needed before publishing\" row).\n *\n * Each platform asks a person on the account to accept some terms once before it takes certain\n * work (a customer list, a lead form, conversions matched by email). Baker can read whether most\n * of them are accepted, never accept them for anyone, and must say who does it and where — in the\n * same plain words wherever it is said. So the words live here, once: `adsTermGuide` is the whole\n * guide for one agreement, `termsActionNotice` is the one sentence a staging refusal or warning\n * carries, and `parseTermsActionNotice` lets the review render that sentence as a row with the\n * platform's mark and numbered steps.\n *\n * The inventory and its official sources: docs/platform-terms.md.\n *\n * This package must not depend on `convex`.\n */\nimport { z } from \"zod\";\n\nexport const ADS_TERMS_PLATFORMS = [\"meta\", \"google\", \"linkedin\"] as const;\nexport const adsTermsPlatformSchema = z.enum(ADS_TERMS_PLATFORMS);\nexport type AdsTermsPlatform = z.infer<typeof adsTermsPlatformSchema>;\n\nexport const ADS_TERMS_PLATFORM_LABEL: Readonly<Record<AdsTermsPlatform, string>> = {\n meta: \"Meta\",\n google: \"Google Ads\",\n linkedin: \"LinkedIn\",\n};\n\nexport const ADS_TERM_IDS = [\n \"meta.custom_audience\",\n \"meta.web_custom_audience\",\n \"meta.lead_generation\",\n \"google.customer_data\",\n \"google.lead_form\",\n] as const;\nexport const adsTermIdSchema = z.enum(ADS_TERM_IDS);\nexport type AdsTermId = z.infer<typeof adsTermIdSchema>;\n\nexport const ADS_TERM_STATUSES = [\"accepted\", \"not_accepted\", \"unknown\"] as const;\nexport type AdsTermStatus = (typeof ADS_TERM_STATUSES)[number];\n\n/** Where one agreement is accepted: the account (or Page) it belongs to, as the platform names it. */\nexport interface AdsTermSubject {\n accountId: string;\n pageId?: string;\n pageName?: string;\n}\n\nexport interface AdsTermGuide {\n id: AdsTermId;\n platform: AdsTermsPlatform;\n /** What the platform calls it on its own screens. */\n name: string;\n /** The Baker work that needs it, in the user's words. */\n neededFor: string[];\n /** True when the platform refuses that work without it; false when it takes it but its policy requires them. */\n blocks: boolean;\n /** What happens without them, one sentence. */\n consequence: string;\n /** Who can accept them. */\n who: string;\n /** Numbered-in-order steps a person follows, plain words. */\n steps: string[];\n /** Where to start, when the platform has a direct address for it. */\n link: string | null;\n}\n\nconst bare = (accountId: string) => accountId.replace(/^act_/, \"\").replace(/-/g, \"\");\n\n/** The address Meta gives for an ad account's Custom Audience terms (`act=` takes the bare id). */\nexport function metaCustomAudienceTermsUrl(accountId: string): string {\n return `https://business.facebook.com/ads/manage/customaudiences/tos/?act=${bare(accountId)}`;\n}\n\nexport const META_LEAD_GENERATION_TERMS_URL = \"https://www.facebook.com/ads/leadgen/tos\";\n\nconst GOOGLE_ADS_URL = \"https://ads.google.com\";\n\n/** \"the Google Ads account 386-508-3115\" as Google writes it, or just \"the Google Ads account\" when unknown. */\nfunction googleAccount(accountId: string): string {\n const digits = bare(accountId);\n if (!digits) return \"the Google Ads account\";\n return `the Google Ads account ${digits.length === 10 ? `${digits.slice(0, 3)}-${digits.slice(3, 6)}-${digits.slice(6)}` : digits}`;\n}\n\n/** The whole guide for one agreement on one account (or Page). Sources: docs/platform-terms.md. */\nexport function adsTermGuide(id: AdsTermId, subject: AdsTermSubject): AdsTermGuide {\n const account = bare(subject.accountId);\n switch (id) {\n case \"meta.custom_audience\": {\n const link = metaCustomAudienceTermsUrl(account);\n return {\n id,\n platform: \"meta\",\n name: \"Custom Audience terms\",\n neededFor: [\"customer lists\", \"Shopify buyer audiences\", \"lookalikes made from a customer list\"],\n blocks: true,\n consequence: \"Meta refuses every customer list on this ad account until they are accepted.\",\n who: `a person with a role on the ad account ${account}`,\n steps: [\n `Open ${link} while signed in to Facebook as a person with a role on ad account ${account}.`,\n \"Read Meta's Custom Audience terms and click Accept.\",\n \"Tell Baker it's done; Baker checks again before anything is published.\",\n ],\n link,\n };\n }\n case \"meta.web_custom_audience\": {\n const link = `https://adsmanager.facebook.com/adsmanager/audiences?act=${account}`;\n return {\n id,\n platform: \"meta\",\n name: \"Custom Audience terms for website audiences\",\n neededFor: [\"website visitor audiences (from the Meta pixel)\"],\n blocks: true,\n consequence: \"Meta refuses website visitor audiences on this ad account until they are accepted.\",\n who: `a person with a role on the ad account ${account}`,\n steps: [\n `Open ${link} (Meta Ads Manager ▸ Audiences for ad account ${account}).`,\n \"Click Create audience ▸ Custom audience ▸ Website; Meta shows its terms the first time.\",\n \"Read them and click Accept, then close the window without creating anything.\",\n \"Tell Baker it's done; Baker checks again before anything is published.\",\n ],\n link,\n };\n }\n case \"meta.lead_generation\": {\n const page = subject.pageName ? `\"${subject.pageName}\"` : `with id ${subject.pageId ?? \"?\"}`;\n return {\n id,\n platform: \"meta\",\n name: \"Lead Ads Terms\",\n neededFor: [\"instant forms\", \"lead ads that open a form inside the ad\"],\n blocks: true,\n consequence: `Meta refuses instant forms and lead ads for the Facebook Page ${page} until they are accepted, once per Page.`,\n who: `someone who can advertise for the Facebook Page ${page}`,\n steps: [\n `Open ${META_LEAD_GENERATION_TERMS_URL} while signed in to Facebook as someone who manages the Page.`,\n `Choose the Page ${page}.`,\n \"Read Meta's Lead Ads Terms and click Accept (in Ads Manager the same terms appear as View Terms ▸ I agree when making a first instant form).\",\n \"Tell Baker it's done; Baker checks again before anything is published.\",\n ],\n link: META_LEAD_GENERATION_TERMS_URL,\n };\n }\n case \"google.customer_data\":\n return {\n id,\n platform: \"google\",\n name: \"Customer data terms\",\n neededFor: [\n \"conversions uploaded with a customer's email or phone\",\n \"enhanced conversions\",\n \"customer lists and Shopify buyer audiences\",\n ],\n blocks: true,\n consequence:\n \"Google refuses conversions matched by a customer's email or phone until they are accepted, and its Customer Match policy expects them for customer lists.\",\n who: `an admin of ${googleAccount(account)} — or of its manager account, when the manager tracks this account's conversions`,\n steps: [\n `Sign in at ${GOOGLE_ADS_URL} and open ${googleAccount(account)} (the manager account instead, if it tracks this account's conversions).`,\n \"Click Goals, then Settings (in some accounts: Goals ▸ Conversions ▸ Settings).\",\n 'Next to \"Customer data terms\" (newer accounts: \"Customer data use\"), click View terms, tick that you accept them for your company, and click Agree.',\n \"Tell Baker it's done; Baker checks again before anything is published.\",\n ],\n link: GOOGLE_ADS_URL,\n };\n case \"google.lead_form\":\n return {\n id,\n platform: \"google\",\n name: \"Lead form ads terms\",\n neededFor: [\"lead forms inside Google ads (Baker can't create these yet)\"],\n blocks: true,\n consequence: \"Google refuses lead forms on this account until they are accepted.\",\n who: `an admin of ${googleAccount(account)}`,\n steps: [\n `Sign in at ${GOOGLE_ADS_URL} and open ${googleAccount(account)}.`,\n 'Click Admin, then Account settings, open \"Lead form ads terms\" and accept them (Google also asks the first time a lead form is made in Google Ads).',\n \"Tell Baker it's done; Baker checks again before anything is published.\",\n ],\n link: GOOGLE_ADS_URL,\n };\n default:\n return unreachableTerm(id);\n }\n}\n\nfunction unreachableTerm(id: never): never {\n throw new Error(`No guide for terms ${String(id)}`);\n}\n\n/** Every refusal or warning that asks a person to accept a platform's terms starts with this. */\nexport const TERMS_ACTION_PREFIX = \"Action needed before publishing:\";\n\nconst PLATFORM_BY_LABEL = new Map(\n ADS_TERMS_PLATFORMS.map((platform) => [ADS_TERMS_PLATFORM_LABEL[platform], platform] as const),\n);\n\n/**\n * The one sentence a staging refusal or warning carries for terms a person still has to accept:\n * what, where, why, who, and the numbered steps. Read back by `parseTermsActionNotice`. `consequence`\n * replaces the guide's when the caller knows more (how many conversions, what else would work).\n */\nexport function termsActionNotice(guide: AdsTermGuide, consequence: string = guide.consequence): string {\n return actionNotice(\"accept\", guide.name, guide.platform, consequence, guide.who, guide.steps);\n}\n\n/** What a notice asks the person to do: accept terms, or complete a check the platform runs on them. */\nexport type NoticeAction = \"accept\" | \"complete\";\n\nfunction actionNotice(\n action: NoticeAction,\n name: string,\n platform: AdsTermsPlatform,\n consequence: string,\n who: string,\n steps: readonly string[],\n): string {\n const numbered = steps.map((step, index) => `${index + 1}. ${step}`).join(\" \");\n return `${TERMS_ACTION_PREFIX} ${action} ${name} in ${ADS_TERMS_PLATFORM_LABEL[platform]}. ${consequence} Who: ${who}. Steps: ${numbered}`;\n}\n\n/** An ad account's \"Verifications and ad transparency\" settings in Ads Manager (`act=` takes the bare id). */\nexport function metaAdvertisingSettingsUrl(accountId: string): string {\n return `https://adsmanager.facebook.com/adsmanager/manage/advertising_settings?act=${bare(accountId)}`;\n}\n\n/**\n * Meta refusing an ad set until the ad account names an advertiser it has verified for where the ad\n * set runs (subcode 3858634, \"Provide a verified advertiser so ads in this ad set can be delivered to\n * audiences in the selected locations\"; 3858548, \"Advertiser is missing\"). Meta asks it of some ad\n * accounts and not others, so only a person on that account can clear it, in Ads Manager.\n */\nexport function metaAdvertiserVerificationNotice(\n accountId: string,\n consequence = \"Meta won't run new ad sets from this ad account where the ads are shown (the EU among those places) until it has verified who the advertiser is and who pays.\",\n): string {\n const account = bare(accountId);\n return actionNotice(\n \"complete\",\n \"advertiser verification\",\n \"meta\",\n consequence,\n `an admin of the ad account ${account}`,\n [\n `Open ${metaAdvertisingSettingsUrl(account)} while signed in to Facebook as an admin of ad account ${account}.`,\n \"Choose Verifications and ad transparency, then the section for where the ads run (European Union for Spain, France, Germany and the rest of the EU).\",\n \"Complete the advertiser verification Meta asks for, and set the advertiser and the payer to the company's exact legal name.\",\n \"Tell Baker it's done and ask it to make the ad set again; Baker uses the names saved there.\",\n ],\n );\n}\n\nexport interface ParsedTermsActionNotice {\n platform: AdsTermsPlatform;\n action: NoticeAction;\n name: string;\n consequence: string;\n who: string;\n steps: string[];\n link: string | null;\n}\n\nconst NOTICE_SHAPE = /^(accept|complete) (.+?) in (Meta|Google Ads|LinkedIn)\\. (.+?) Who: (.+?)\\. Steps: (1\\. .+)$/;\n\n/** \"1. a 2. b\" → [\"a\", \"b\"], cutting only at the next number in sequence (a step may hold other numbers). */\nfunction numberedSteps(text: string): string[] {\n const steps: string[] = [];\n let rest = text.replace(/^1\\.\\s/, \"\");\n for (let next = 2; ; next++) {\n const cut = rest.indexOf(` ${next}. `);\n if (cut < 0) break;\n steps.push(rest.slice(0, cut).trim());\n rest = rest.slice(cut + ` ${next}. `.length);\n }\n steps.push(rest.trim());\n return steps;\n}\n\n/** A notice made by `termsActionNotice`, taken apart for the review row; `undefined` for any other text. */\nexport function parseTermsActionNotice(text: string): ParsedTermsActionNotice | undefined {\n if (!text.startsWith(TERMS_ACTION_PREFIX)) return undefined;\n const match = NOTICE_SHAPE.exec(text.slice(TERMS_ACTION_PREFIX.length).trim());\n if (!match) return undefined;\n const [, verb, name, label, consequence, who, stepText] = match;\n const platform = label ? PLATFORM_BY_LABEL.get(label) : undefined;\n const action = verb === \"accept\" || verb === \"complete\" ? verb : undefined;\n if (!platform || !action || !name || !consequence || !who || !stepText) return undefined;\n const steps = numberedSteps(stepText);\n const link = stepText.match(/https:\\/\\/\\S+?(?=[\\s,;)]|\\.(?:\\s|$)|$)/)?.[0] ?? null;\n return { platform, action, name, consequence, who, steps, link };\n}\n\n// --- `baker ads terms` -------------------------------------------------------------------------\n\nexport const adsTermsRequestSchema = z.strictObject({\n platform: adsTermsPlatformSchema,\n /** Meta `act_<id>` or bare id; Google 10-digit customer id; LinkedIn sponsored account id. */\n accountId: z.string().min(1),\n /** Google: the manager the account is reached through, when there is one. */\n managerId: z\n .string()\n .regex(/^\\d{10}$/, \"a 10-digit manager id\")\n .optional(),\n /** Meta: the Facebook Pages whose Lead Ads Terms to read (`baker ads meta pages`). */\n pageIds: z.array(z.string().regex(/^\\d+$/, \"a numeric Facebook Page id\")).max(10).optional(),\n});\nexport type AdsTermsRequest = z.infer<typeof adsTermsRequestSchema>;\n\nexport const adsTermSchema = z.object({\n id: adsTermIdSchema,\n name: z.string(),\n status: z.enum(ADS_TERM_STATUSES),\n /** The Page this row is about, for Page-owned terms. */\n pageId: z.string().optional(),\n neededFor: z.array(z.string()),\n blocks: z.boolean(),\n who: z.string(),\n steps: z.array(z.string()),\n link: z.string().nullable(),\n /** Why the status is what it is — the field read, or why it could not be. */\n basis: z.string(),\n});\nexport type AdsTerm = z.infer<typeof adsTermSchema>;\n\nexport const adsTermsResponseSchema = z.object({\n platform: adsTermsPlatformSchema,\n accountId: z.string(),\n terms: z.array(adsTermSchema),\n /** Agreements this platform has that Baker cannot read, or no Baker work needs today. */\n notes: z.array(z.string()),\n});\nexport type AdsTermsResponse = z.infer<typeof adsTermsResponseSchema>;\n\n/** One row of the read: the guide, plus what the platform said. */\nexport function adsTermRow(guide: AdsTermGuide, status: AdsTermStatus, basis: string, pageId?: string): AdsTerm {\n return {\n id: guide.id,\n name: guide.name,\n status,\n ...(pageId ? { pageId } : {}),\n neededFor: guide.neededFor,\n blocks: guide.blocks,\n who: guide.who,\n steps: guide.steps,\n link: guide.link,\n basis,\n };\n}\n","import {\n ADS_TERMS_PLATFORM_LABEL,\n type AdsTerm,\n type AdsTermsResponse,\n parseTermsActionNotice,\n} from \"@baker/api/ads-terms\";\n\n/**\n * What `baker ads terms` prints, and the `error.fix` every staging command gives for terms a\n * person still has to accept. Pure.\n */\n\ntype CompactTerm = Pick<AdsTerm, \"id\" | \"name\" | \"status\" | \"neededFor\"> &\n Partial<Pick<AdsTerm, \"pageId\" | \"who\" | \"steps\" | \"link\">>;\n\n/** Compact by default: an accepted term needs no steps; one that isn't carries who and how. */\nexport function compactTerms(answer: AdsTermsResponse): {\n platform: string;\n accountId: string;\n terms: CompactTerm[];\n notes: string[];\n} {\n return {\n platform: answer.platform,\n accountId: answer.accountId,\n terms: answer.terms.map((term) => ({\n id: term.id,\n name: term.name,\n status: term.status,\n ...(term.pageId ? { pageId: term.pageId } : {}),\n neededFor: term.neededFor,\n ...(term.status === \"accepted\" ? {} : { who: term.who, steps: term.steps, link: term.link }),\n })),\n notes: answer.notes,\n };\n}\n\nexport function termsHints(answer: AdsTermsResponse): string[] {\n const platform = ADS_TERMS_PLATFORM_LABEL[answer.platform];\n const hints: string[] = [];\n for (const term of answer.terms) {\n const page = term.pageId ? ` for Page ${term.pageId}` : \"\";\n if (term.status === \"not_accepted\") {\n hints.push(\n `${term.name}${page} are NOT accepted in ${platform}; needed for ${term.neededFor.join(\", \")}. Before proposing or staging that work, tell the user in plain words, give them the numbered steps and link exactly as listed, and say who has to do it (${term.who}). Baker cannot accept terms for them. Carry on with the rest of the task, and run this command again when they say it's done.`,\n );\n } else if (term.status === \"unknown\") {\n hints.push(\n `${platform} did not say whether ${term.name}${page} are accepted (${term.basis}). Don't tell the user they are accepted; if the work needs them, give the steps and ask the user to check.`,\n );\n }\n }\n if (hints.length === 0 && answer.terms.length > 0) {\n hints.push(`Every ${platform} term listed is accepted; nothing for the user to do.`);\n }\n return hints;\n}\n\nexport interface TermsRefusal {\n code: \"PLATFORM_TERMS_NOT_ACCEPTED\";\n fix: { action: \"ask_user\"; explanation: string; steps?: string[]; link?: string };\n}\n\n/**\n * The fix for a staging refusal whose message is a `termsActionNotice`; null for any other failure.\n * `code` is the CLI client's (`client.ts` `mapHttpError`): a backend 400 arrives as VALIDATION_ERROR.\n */\nexport function termsRefusalFix(code: string, message: string): TermsRefusal | null {\n if (code !== \"VALIDATION_ERROR\" && code !== \"FORBIDDEN\") return null;\n const notice = parseTermsActionNotice(message);\n if (!notice) return null;\n const platform = ADS_TERMS_PLATFORM_LABEL[notice.platform];\n return {\n code: \"PLATFORM_TERMS_NOT_ACCEPTED\",\n fix: {\n action: \"ask_user\",\n explanation: `${platform} needs ${notice.name} accepted first, and only ${notice.who} can do it — Baker cannot. Tell the user plainly, give them the numbered steps (and link) below, and ask them to say when it's done. Don't retry before that; keep going with the rest of the task. When they confirm, run \\`baker ads terms --platform ${notice.platform} --account-id <id>\\` to check, then stage it again.`,\n steps: notice.steps,\n ...(notice.link ? { link: notice.link } : {}),\n },\n };\n}\n"],"mappings":"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","names":[]}
|
package/dist/cli.js
CHANGED
|
@@ -169,7 +169,7 @@ Introspection: Run 'baker schema <command>' to inspect argument schemas.`
|
|
|
169
169
|
capabilities: () => import("./capabilities-IV3TIY5P.js").then((m) => m.capabilitiesCommand),
|
|
170
170
|
actions: () => import("./actions-WQBRBRQM.js").then((m) => m.actionsCommand),
|
|
171
171
|
"scheduled-agents": () => import("./scheduled-agents-A5OLKMAB.js").then((m) => m.scheduledAgentsCommand),
|
|
172
|
-
ads: () => import("./ads-
|
|
172
|
+
ads: () => import("./ads-ALI6QLW2.js").then((m) => m.adsCommand),
|
|
173
173
|
brand: () => import("./brand-XPLJH74A.js").then((m) => m.brandCommand),
|
|
174
174
|
analytics: () => import("./analytics-OBXOCY64.js").then((m) => m.analyticsCommand),
|
|
175
175
|
experiment: () => import("./experiment-XNEYJVLH.js").then((m) => m.experimentCommand),
|
|
@@ -195,7 +195,7 @@ Introspection: Run 'baker schema <command>' to inspect argument schemas.`
|
|
|
195
195
|
hubspot: () => import("./hubspot-FHJHMYJI.js").then((m) => m.hubspotCommand),
|
|
196
196
|
activecampaign: () => import("./activecampaign-GJ4QHU5I.js").then((m) => m.activecampaignCommand),
|
|
197
197
|
accounts: () => import("./accounts-X6OS6LFQ.js").then((m) => m.accountsCommand),
|
|
198
|
-
shopify: () => import("./shopify-
|
|
198
|
+
shopify: () => import("./shopify-4JA7QEOL.js").then((m) => m.shopifyCommand),
|
|
199
199
|
"winning-ads": () => import("./winning-ads-YIBTH2Q5.js").then((m) => m.winningAdsCommand),
|
|
200
200
|
"media-sources": () => import("./media-sources-WZJ67OP7.js").then((m) => m.mediaSourcesCommand),
|
|
201
201
|
posts: () => import("./posts-PPSQ726T.js").then((m) => m.postsCommand),
|
package/dist/{conversion-upload-command-OG3UCC5N.js → conversion-upload-command-TYGIB7XJ.js}
RENAMED
|
@@ -2,13 +2,13 @@ import {
|
|
|
2
2
|
failWriteValidation,
|
|
3
3
|
requireCustomerId,
|
|
4
4
|
stageGoogleOps
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-IQ3MYXCJ.js";
|
|
6
6
|
import "./chunk-ERSX3MKH.js";
|
|
7
7
|
import "./chunk-QBFJGCWA.js";
|
|
8
8
|
import "./chunk-4NZ47VXO.js";
|
|
9
9
|
import "./chunk-D5FY4FAK.js";
|
|
10
10
|
import "./chunk-JRQI6EVP.js";
|
|
11
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-QALAJNBG.js";
|
|
12
12
|
import "./chunk-44ZRCSR7.js";
|
|
13
13
|
import "./chunk-X7DMNLDD.js";
|
|
14
14
|
import "./chunk-K6HH2KF3.js";
|
|
@@ -436,4 +436,4 @@ var conversionsUploadCommand = defineCommand({
|
|
|
436
436
|
export {
|
|
437
437
|
conversionsUploadCommand
|
|
438
438
|
};
|
|
439
|
-
//# sourceMappingURL=conversion-upload-command-
|
|
439
|
+
//# sourceMappingURL=conversion-upload-command-TYGIB7XJ.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
command
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-NAYO267Q.js";
|
|
4
4
|
import {
|
|
5
5
|
bareAccountId,
|
|
6
6
|
failWriteValidation,
|
|
@@ -8,16 +8,16 @@ import {
|
|
|
8
8
|
requireTarget,
|
|
9
9
|
stageOp,
|
|
10
10
|
upper
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-2UQJ5BDJ.js";
|
|
12
12
|
import "./chunk-GC5P4KWY.js";
|
|
13
13
|
import "./chunk-GDFJOCDO.js";
|
|
14
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-JHEWSMOS.js";
|
|
15
15
|
import "./chunk-ERSX3MKH.js";
|
|
16
16
|
import "./chunk-QBFJGCWA.js";
|
|
17
17
|
import "./chunk-4NZ47VXO.js";
|
|
18
18
|
import "./chunk-D5FY4FAK.js";
|
|
19
19
|
import "./chunk-JRQI6EVP.js";
|
|
20
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-QALAJNBG.js";
|
|
21
21
|
import "./chunk-X7DMNLDD.js";
|
|
22
22
|
import "./chunk-K6HH2KF3.js";
|
|
23
23
|
import "./chunk-M7MLFR2S.js";
|
|
@@ -167,4 +167,4 @@ export {
|
|
|
167
167
|
campaignsCopyCommand,
|
|
168
168
|
copyPayloadFromFlags
|
|
169
169
|
};
|
|
170
|
-
//# sourceMappingURL=copy-writes-
|
|
170
|
+
//# sourceMappingURL=copy-writes-GUOL2QUD.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
|
|
@@ -72,9 +72,9 @@ Examples:
|
|
|
72
72
|
},
|
|
73
73
|
subCommands: {
|
|
74
74
|
list: listCommand,
|
|
75
|
-
create: () => import("./write-commands-
|
|
76
|
-
update: () => import("./write-commands-
|
|
77
|
-
delete: () => import("./asset-writes-
|
|
75
|
+
create: () => import("./write-commands-AANGPJ5F.js").then((m) => m.adCreativesCreateCommand),
|
|
76
|
+
update: () => import("./write-commands-AANGPJ5F.js").then((m) => m.adCreativesUpdateCommand),
|
|
77
|
+
delete: () => import("./asset-writes-5TAUIKSN.js").then((m) => m.creativesDeleteCommand)
|
|
78
78
|
},
|
|
79
79
|
// `args` stays even though the parent has no `run`: citty scans rawArgs for the
|
|
80
80
|
// subcommand name using THIS command's arg defs, so without them `--account-id act_1`
|
|
@@ -86,4 +86,4 @@ Examples:
|
|
|
86
86
|
export {
|
|
87
87
|
creativesCommand
|
|
88
88
|
};
|
|
89
|
-
//# sourceMappingURL=creatives-
|
|
89
|
+
//# sourceMappingURL=creatives-BGYARLCC.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
|
|
@@ -110,9 +110,9 @@ Examples:
|
|
|
110
110
|
},
|
|
111
111
|
subCommands: {
|
|
112
112
|
list: listCommand,
|
|
113
|
-
create: () => import("./write-commands-
|
|
114
|
-
update: () => import("./asset-writes-
|
|
115
|
-
delete: () => import("./asset-writes-
|
|
113
|
+
create: () => import("./write-commands-AANGPJ5F.js").then((m) => m.customConversionsCreateCommand),
|
|
114
|
+
update: () => import("./asset-writes-5TAUIKSN.js").then((m) => m.customConversionsUpdateCommand),
|
|
115
|
+
delete: () => import("./asset-writes-5TAUIKSN.js").then((m) => m.customConversionsDeleteCommand)
|
|
116
116
|
},
|
|
117
117
|
// `args` stays even though the parent has no `run`: citty scans rawArgs for
|
|
118
118
|
// the subcommand name using THIS command's arg defs. `default` (not `run`)
|
|
@@ -125,4 +125,4 @@ export {
|
|
|
125
125
|
customConversionHints,
|
|
126
126
|
customConversionsCommand
|
|
127
127
|
};
|
|
128
|
-
//# sourceMappingURL=custom-conversions-
|
|
128
|
+
//# sourceMappingURL=custom-conversions-SUXA7KSN.js.map
|
|
@@ -7,13 +7,13 @@ import {
|
|
|
7
7
|
loadPatchArg,
|
|
8
8
|
requireTarget,
|
|
9
9
|
stageGoogleOps
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-IQ3MYXCJ.js";
|
|
11
11
|
import "./chunk-ERSX3MKH.js";
|
|
12
12
|
import "./chunk-QBFJGCWA.js";
|
|
13
13
|
import "./chunk-4NZ47VXO.js";
|
|
14
14
|
import "./chunk-D5FY4FAK.js";
|
|
15
15
|
import "./chunk-JRQI6EVP.js";
|
|
16
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-QALAJNBG.js";
|
|
17
17
|
import "./chunk-44ZRCSR7.js";
|
|
18
18
|
import {
|
|
19
19
|
writeJsonEnvelope
|
|
@@ -305,4 +305,4 @@ export {
|
|
|
305
305
|
BULK_STAGE_HINTS,
|
|
306
306
|
draftCommand
|
|
307
307
|
};
|
|
308
|
-
//# sourceMappingURL=draft-
|
|
308
|
+
//# sourceMappingURL=draft-2EO63W4K.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
handleMetaError
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-JHEWSMOS.js";
|
|
4
4
|
import {
|
|
5
5
|
hintLines
|
|
6
6
|
} from "./chunk-D5FY4FAK.js";
|
|
7
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-QALAJNBG.js";
|
|
8
8
|
import {
|
|
9
9
|
writeJsonEnvelope
|
|
10
10
|
} from "./chunk-X7DMNLDD.js";
|
|
@@ -237,4 +237,4 @@ var metaDraftCommand = defineCommand({
|
|
|
237
237
|
export {
|
|
238
238
|
metaDraftCommand
|
|
239
239
|
};
|
|
240
|
-
//# sourceMappingURL=draft-
|
|
240
|
+
//# sourceMappingURL=draft-PJT5TSFQ.js.map
|
|
@@ -6,13 +6,13 @@ import {
|
|
|
6
6
|
keywordEntries,
|
|
7
7
|
microsFlag,
|
|
8
8
|
requireCustomerId
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-IQ3MYXCJ.js";
|
|
10
10
|
import "./chunk-ERSX3MKH.js";
|
|
11
11
|
import "./chunk-QBFJGCWA.js";
|
|
12
12
|
import "./chunk-4NZ47VXO.js";
|
|
13
13
|
import "./chunk-D5FY4FAK.js";
|
|
14
14
|
import "./chunk-JRQI6EVP.js";
|
|
15
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-QALAJNBG.js";
|
|
16
16
|
import {
|
|
17
17
|
googleKeywordForecastRequestSchema
|
|
18
18
|
} from "./chunk-44ZRCSR7.js";
|
|
@@ -166,4 +166,4 @@ export {
|
|
|
166
166
|
forecastBidding,
|
|
167
167
|
forecastCommand
|
|
168
168
|
};
|
|
169
|
-
//# sourceMappingURL=forecast-
|
|
169
|
+
//# sourceMappingURL=forecast-IECMUBL2.js.map
|
|
@@ -29,7 +29,7 @@ import {
|
|
|
29
29
|
stageTarget,
|
|
30
30
|
stageUpdate,
|
|
31
31
|
targetEntries
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-IQ3MYXCJ.js";
|
|
33
33
|
import {
|
|
34
34
|
repeatedFlagValues,
|
|
35
35
|
repeatedValues
|
|
@@ -40,7 +40,7 @@ import {
|
|
|
40
40
|
import "./chunk-4NZ47VXO.js";
|
|
41
41
|
import "./chunk-D5FY4FAK.js";
|
|
42
42
|
import "./chunk-JRQI6EVP.js";
|
|
43
|
-
import "./chunk-
|
|
43
|
+
import "./chunk-QALAJNBG.js";
|
|
44
44
|
import "./chunk-44ZRCSR7.js";
|
|
45
45
|
import {
|
|
46
46
|
getManagerIdForCustomer
|
|
@@ -92,8 +92,8 @@ Examples:
|
|
|
92
92
|
subCommands: {
|
|
93
93
|
discover: () => import("./discover-2ZX3DYSF.js").then((m) => m.discoverCommand),
|
|
94
94
|
metrics: () => import("./metrics-NCSG7SLD.js").then((m) => m.metricsCommand),
|
|
95
|
-
forecast: () => import("./forecast-
|
|
96
|
-
themes: () => import("./themes-
|
|
95
|
+
forecast: () => import("./forecast-IECMUBL2.js").then((m) => m.forecastCommand),
|
|
96
|
+
themes: () => import("./themes-CIXQPTFX.js").then((m) => m.themesCommand),
|
|
97
97
|
locations: () => import("./locations-N5TZTS5F.js").then((m) => m.locationsCommand),
|
|
98
98
|
languages: () => import("./languages-JR3RSGUP.js").then((m) => m.languagesCommand)
|
|
99
99
|
}
|
|
@@ -2989,7 +2989,7 @@ var conversionsCommand = defineCommand4({
|
|
|
2989
2989
|
description: "Stage conversion action create/update (via --file), the account-level goal, and manual conversion uploads for a period where tracking was broken"
|
|
2990
2990
|
},
|
|
2991
2991
|
subCommands: {
|
|
2992
|
-
upload: () => import("./conversion-upload-command-
|
|
2992
|
+
upload: () => import("./conversion-upload-command-TYGIB7XJ.js").then((m) => m.conversionsUploadCommand),
|
|
2993
2993
|
create: fileCreateCommand(
|
|
2994
2994
|
"create",
|
|
2995
2995
|
"google.conversionAction.create",
|
|
@@ -3250,18 +3250,18 @@ Full guide: __tooling__/docs/tools/baker/ads-google.md`
|
|
|
3250
3250
|
currency: () => import("./currency-SVEUNKHP.js").then((m) => m.currencyCommand),
|
|
3251
3251
|
"url-options": () => import("./url-options-7ZFP6Y2T.js").then((m) => m.urlOptionsCommand),
|
|
3252
3252
|
changes: () => import("./changes-UQYFPZWO.js").then((m) => m.changesCommand),
|
|
3253
|
-
invoices: () => import("./account-reads-
|
|
3254
|
-
"identity-verification": () => import("./account-reads-
|
|
3255
|
-
previews: () => import("./account-reads-
|
|
3256
|
-
brands: () => import("./account-reads-
|
|
3253
|
+
invoices: () => import("./account-reads-5VPDX6NF.js").then((m) => m.invoicesCommand),
|
|
3254
|
+
"identity-verification": () => import("./account-reads-5VPDX6NF.js").then((m) => m.identityVerificationCommand),
|
|
3255
|
+
previews: () => import("./account-reads-5VPDX6NF.js").then((m) => m.previewsCommand),
|
|
3256
|
+
brands: () => import("./account-reads-5VPDX6NF.js").then((m) => m.brandsCommand),
|
|
3257
3257
|
query: () => import("./query-G4L42FHT.js").then((m) => m.queryCommand),
|
|
3258
3258
|
keywords: keywordsWithWrites,
|
|
3259
3259
|
...googleWriteCommandsWithLists,
|
|
3260
3260
|
"merchant-center": merchantCenterCommand,
|
|
3261
|
-
draft: () => import("./draft-
|
|
3261
|
+
draft: () => import("./draft-2EO63W4K.js").then((m) => m.draftCommand)
|
|
3262
3262
|
}
|
|
3263
3263
|
});
|
|
3264
3264
|
export {
|
|
3265
3265
|
googleCommand
|
|
3266
3266
|
};
|
|
3267
|
-
//# sourceMappingURL=google-
|
|
3267
|
+
//# sourceMappingURL=google-CWHRLDBL.js.map
|
|
@@ -7,12 +7,12 @@ import {
|
|
|
7
7
|
csvOrJson,
|
|
8
8
|
getDateRange,
|
|
9
9
|
handleMetaError
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-JHEWSMOS.js";
|
|
11
11
|
import {
|
|
12
12
|
metaBreakdownSyncedHint,
|
|
13
13
|
syncedFirstHint
|
|
14
14
|
} from "./chunk-Y2FAUFWK.js";
|
|
15
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-QALAJNBG.js";
|
|
16
16
|
import {
|
|
17
17
|
writeAdsJson,
|
|
18
18
|
writeAdsOutput,
|
|
@@ -436,4 +436,4 @@ export {
|
|
|
436
436
|
insightsCommand,
|
|
437
437
|
wantsAsync
|
|
438
438
|
};
|
|
439
|
-
//# sourceMappingURL=insights-
|
|
439
|
+
//# sourceMappingURL=insights-VW475N6G.js.map
|
|
@@ -5,19 +5,19 @@ import {
|
|
|
5
5
|
mergePayload,
|
|
6
6
|
requireTarget,
|
|
7
7
|
stageOp
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-2UQJ5BDJ.js";
|
|
9
9
|
import "./chunk-GC5P4KWY.js";
|
|
10
10
|
import "./chunk-GDFJOCDO.js";
|
|
11
11
|
import {
|
|
12
12
|
csvOrJson,
|
|
13
13
|
handleMetaError
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-JHEWSMOS.js";
|
|
15
15
|
import "./chunk-ERSX3MKH.js";
|
|
16
16
|
import "./chunk-QBFJGCWA.js";
|
|
17
17
|
import "./chunk-4NZ47VXO.js";
|
|
18
18
|
import "./chunk-D5FY4FAK.js";
|
|
19
19
|
import "./chunk-JRQI6EVP.js";
|
|
20
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-QALAJNBG.js";
|
|
21
21
|
import {
|
|
22
22
|
writeAdsOutput,
|
|
23
23
|
writeJsonEnvelope
|
|
@@ -257,4 +257,4 @@ export {
|
|
|
257
257
|
instantExperiencesCreateCommand,
|
|
258
258
|
instantExperiencesUpdateCommand
|
|
259
259
|
};
|
|
260
|
-
//# sourceMappingURL=instant-experiences-
|
|
260
|
+
//# sourceMappingURL=instant-experiences-JJJKZAQQ.js.map
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
requireTarget,
|
|
7
7
|
stageOp,
|
|
8
8
|
upper
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-2UQJ5BDJ.js";
|
|
10
10
|
import {
|
|
11
11
|
isMetaLeadAdsRefusal
|
|
12
12
|
} from "./chunk-GC5P4KWY.js";
|
|
@@ -14,7 +14,7 @@ import "./chunk-GDFJOCDO.js";
|
|
|
14
14
|
import {
|
|
15
15
|
csvOrJson,
|
|
16
16
|
handleMetaError
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-JHEWSMOS.js";
|
|
18
18
|
import {
|
|
19
19
|
repeatedValues
|
|
20
20
|
} from "./chunk-ERSX3MKH.js";
|
|
@@ -22,7 +22,7 @@ import "./chunk-QBFJGCWA.js";
|
|
|
22
22
|
import "./chunk-4NZ47VXO.js";
|
|
23
23
|
import "./chunk-D5FY4FAK.js";
|
|
24
24
|
import "./chunk-JRQI6EVP.js";
|
|
25
|
-
import "./chunk-
|
|
25
|
+
import "./chunk-QALAJNBG.js";
|
|
26
26
|
import {
|
|
27
27
|
writeAdsJson,
|
|
28
28
|
writeAdsOutput,
|
|
@@ -537,4 +537,4 @@ export {
|
|
|
537
537
|
leadPageHints,
|
|
538
538
|
leadsCommand
|
|
539
539
|
};
|
|
540
|
-
//# sourceMappingURL=leads-
|
|
540
|
+
//# sourceMappingURL=leads-2BXRQDT5.js.map
|
|
@@ -8,11 +8,11 @@ var metaMediaCommand = defineCommand({
|
|
|
8
8
|
description: "Stage Baker library media uploads to Meta so creatives can reference them (upload), or take an image out of the account's image library (delete --image-hash). Upload publishes an ad-image hash or video id a creative binds via --image-ref/--video-ref."
|
|
9
9
|
},
|
|
10
10
|
subCommands: {
|
|
11
|
-
upload: () => import("./write-commands-
|
|
12
|
-
delete: () => import("./asset-writes-
|
|
11
|
+
upload: () => import("./write-commands-AANGPJ5F.js").then((m) => m.mediaUploadCommand),
|
|
12
|
+
delete: () => import("./asset-writes-5TAUIKSN.js").then((m) => m.mediaDeleteCommand)
|
|
13
13
|
}
|
|
14
14
|
});
|
|
15
15
|
export {
|
|
16
16
|
metaMediaCommand
|
|
17
17
|
};
|
|
18
|
-
//# sourceMappingURL=media-
|
|
18
|
+
//# sourceMappingURL=media-KXBWT2YJ.js.map
|
|
@@ -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-
|
|
81
|
-
account: () => import("./account-
|
|
82
|
-
businesses: () => import("./businesses-
|
|
83
|
-
pages: () => import("./pages-
|
|
84
|
-
"lead-forms": () => import("./leads-
|
|
85
|
-
"instant-experiences": () => import("./instant-experiences-
|
|
86
|
-
leads: () => import("./leads-
|
|
87
|
-
campaigns: () => import("./campaigns-
|
|
88
|
-
adsets: () => import("./adsets-
|
|
89
|
-
ads: () => import("./ads-
|
|
90
|
-
creatives: () => import("./creatives-
|
|
91
|
-
audiences: () => import("./audiences-
|
|
92
|
-
"custom-conversions": () => import("./custom-conversions-
|
|
93
|
-
pixels: () => import("./pixels-
|
|
94
|
-
activities: () => import("./activities-
|
|
95
|
-
insights: () => import("./insights-
|
|
96
|
-
preview: () => import("./preview-
|
|
97
|
-
targeting: () => import("./targeting-
|
|
98
|
-
"instagram-accounts": () => import("./account-assets-
|
|
99
|
-
apps: () => import("./account-assets-
|
|
100
|
-
"dsa-recommendations": () => import("./account-assets-
|
|
101
|
-
images: () => import("./account-assets-
|
|
102
|
-
labels: () => import("./account-assets-
|
|
103
|
-
studies: () => import("./studies-
|
|
104
|
-
catalogs: () => import("./catalogs-
|
|
105
|
-
"page-photos": () => import("./page-photos-
|
|
106
|
-
"page-posts": () => import("./account-level-
|
|
107
|
-
"instagram-media": () => import("./account-level-
|
|
108
|
-
comments: () => import("./account-level-
|
|
109
|
-
"account-settings": () => import("./account-level-
|
|
110
|
-
"account-details": () => import("./account-level-
|
|
111
|
-
"block-lists": () => import("./account-level-
|
|
112
|
-
"reach-frequency": () => import("./account-level-
|
|
113
|
-
"high-demand-periods": () => import("./account-assets-
|
|
114
|
-
rules: () => import("./rules-
|
|
115
|
-
media: () => import("./media-
|
|
116
|
-
draft: () => import("./draft-
|
|
80
|
+
accounts: () => import("./accounts-D6FP4DC2.js").then((m) => m.accountsCommand),
|
|
81
|
+
account: () => import("./account-JXUUHDEB.js").then((m) => m.accountCommand),
|
|
82
|
+
businesses: () => import("./businesses-RRYQYTG4.js").then((m) => m.businessesCommand),
|
|
83
|
+
pages: () => import("./pages-NJN2E5HU.js").then((m) => m.pagesCommand),
|
|
84
|
+
"lead-forms": () => import("./leads-2BXRQDT5.js").then((m) => m.leadFormsCommand),
|
|
85
|
+
"instant-experiences": () => import("./instant-experiences-JJJKZAQQ.js").then((m) => m.instantExperiencesCommand),
|
|
86
|
+
leads: () => import("./leads-2BXRQDT5.js").then((m) => m.leadsCommand),
|
|
87
|
+
campaigns: () => import("./campaigns-DDUXFR77.js").then((m) => m.campaignsCommand),
|
|
88
|
+
adsets: () => import("./adsets-XE5S6J5S.js").then((m) => m.adsetsCommand),
|
|
89
|
+
ads: () => import("./ads-DRMVHMJH.js").then((m) => m.adsListCommand),
|
|
90
|
+
creatives: () => import("./creatives-BGYARLCC.js").then((m) => m.creativesCommand),
|
|
91
|
+
audiences: () => import("./audiences-U6MQRRTP.js").then((m) => m.audiencesCommand),
|
|
92
|
+
"custom-conversions": () => import("./custom-conversions-SUXA7KSN.js").then((m) => m.customConversionsCommand),
|
|
93
|
+
pixels: () => import("./pixels-E7UYF4KE.js").then((m) => m.pixelsCommand),
|
|
94
|
+
activities: () => import("./activities-NYWRMNCH.js").then((m) => m.activitiesCommand),
|
|
95
|
+
insights: () => import("./insights-VW475N6G.js").then((m) => m.insightsCommand),
|
|
96
|
+
preview: () => import("./preview-QGLUDJ3A.js").then((m) => m.previewCommand),
|
|
97
|
+
targeting: () => import("./targeting-URLZVNS2.js").then((m) => m.targetingCommand),
|
|
98
|
+
"instagram-accounts": () => import("./account-assets-3SIBPJXJ.js").then((m) => m.instagramAccountsCommand),
|
|
99
|
+
apps: () => import("./account-assets-3SIBPJXJ.js").then((m) => m.appsCommand),
|
|
100
|
+
"dsa-recommendations": () => import("./account-assets-3SIBPJXJ.js").then((m) => m.dsaRecommendationsCommand),
|
|
101
|
+
images: () => import("./account-assets-3SIBPJXJ.js").then((m) => m.imagesCommand),
|
|
102
|
+
labels: () => import("./account-assets-3SIBPJXJ.js").then((m) => m.labelsCommand),
|
|
103
|
+
studies: () => import("./studies-FXX4XW4A.js").then((m) => m.studiesCommand),
|
|
104
|
+
catalogs: () => import("./catalogs-A6CHXN5B.js").then((m) => m.catalogsCommand),
|
|
105
|
+
"page-photos": () => import("./page-photos-CJIFQDW5.js").then((m) => m.pagePhotosCommand),
|
|
106
|
+
"page-posts": () => import("./account-level-46AIGZXA.js").then((m) => m.pagePostsCommand),
|
|
107
|
+
"instagram-media": () => import("./account-level-46AIGZXA.js").then((m) => m.instagramMediaCommand),
|
|
108
|
+
comments: () => import("./account-level-46AIGZXA.js").then((m) => m.commentsCommand),
|
|
109
|
+
"account-settings": () => import("./account-level-46AIGZXA.js").then((m) => m.accountSettingsCommand),
|
|
110
|
+
"account-details": () => import("./account-level-46AIGZXA.js").then((m) => m.accountDetailsCommand),
|
|
111
|
+
"block-lists": () => import("./account-level-46AIGZXA.js").then((m) => m.blockListsCommand),
|
|
112
|
+
"reach-frequency": () => import("./account-level-46AIGZXA.js").then((m) => m.reachFrequencyCommand),
|
|
113
|
+
"high-demand-periods": () => import("./account-assets-3SIBPJXJ.js").then((m) => m.highDemandPeriodsCommand),
|
|
114
|
+
rules: () => import("./rules-5HIC2F34.js").then((m) => m.rulesCommand),
|
|
115
|
+
media: () => import("./media-KXBWT2YJ.js").then((m) => m.metaMediaCommand),
|
|
116
|
+
draft: () => import("./draft-PJT5TSFQ.js").then((m) => m.metaDraftCommand)
|
|
117
117
|
}
|
|
118
118
|
});
|
|
119
119
|
export {
|
|
120
120
|
metaCommand
|
|
121
121
|
};
|
|
122
|
-
//# sourceMappingURL=meta-
|
|
122
|
+
//# sourceMappingURL=meta-5ODNL2LA.js.map
|
|
@@ -3,16 +3,16 @@ import {
|
|
|
3
3
|
failWriteValidation,
|
|
4
4
|
requireTarget,
|
|
5
5
|
stageOp
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-2UQJ5BDJ.js";
|
|
7
7
|
import "./chunk-GC5P4KWY.js";
|
|
8
8
|
import "./chunk-GDFJOCDO.js";
|
|
9
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-JHEWSMOS.js";
|
|
10
10
|
import "./chunk-ERSX3MKH.js";
|
|
11
11
|
import "./chunk-QBFJGCWA.js";
|
|
12
12
|
import "./chunk-4NZ47VXO.js";
|
|
13
13
|
import "./chunk-D5FY4FAK.js";
|
|
14
14
|
import "./chunk-JRQI6EVP.js";
|
|
15
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-QALAJNBG.js";
|
|
16
16
|
import "./chunk-X7DMNLDD.js";
|
|
17
17
|
import "./chunk-K6HH2KF3.js";
|
|
18
18
|
import "./chunk-M7MLFR2S.js";
|
|
@@ -115,4 +115,4 @@ var pagePhotosCommand = defineCommand({
|
|
|
115
115
|
export {
|
|
116
116
|
pagePhotosCommand
|
|
117
117
|
};
|
|
118
|
-
//# sourceMappingURL=page-photos-
|
|
118
|
+
//# sourceMappingURL=page-photos-CJIFQDW5.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
|
writeAdsOutput,
|
|
8
8
|
writeJsonEnvelope
|
|
@@ -64,4 +64,4 @@ export {
|
|
|
64
64
|
pageSelectionHints,
|
|
65
65
|
pagesCommand
|
|
66
66
|
};
|
|
67
|
-
//# sourceMappingURL=pages-
|
|
67
|
+
//# sourceMappingURL=pages-NJN2E5HU.js.map
|
|
@@ -4,8 +4,8 @@ import {
|
|
|
4
4
|
handleMetaError,
|
|
5
5
|
resolveAccountIdArg,
|
|
6
6
|
todayIso
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-JHEWSMOS.js";
|
|
8
|
+
import "./chunk-QALAJNBG.js";
|
|
9
9
|
import {
|
|
10
10
|
writeAdsJson,
|
|
11
11
|
writeAdsOutput
|
|
@@ -106,4 +106,4 @@ export {
|
|
|
106
106
|
pixelWarnings,
|
|
107
107
|
pixelsCommand
|
|
108
108
|
};
|
|
109
|
-
//# sourceMappingURL=pixels-
|
|
109
|
+
//# sourceMappingURL=pixels-E7UYF4KE.js.map
|
|
@@ -7,8 +7,8 @@ import {
|
|
|
7
7
|
import "./chunk-GDFJOCDO.js";
|
|
8
8
|
import {
|
|
9
9
|
handleMetaError
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import "./chunk-
|
|
10
|
+
} from "./chunk-JHEWSMOS.js";
|
|
11
|
+
import "./chunk-QALAJNBG.js";
|
|
12
12
|
import {
|
|
13
13
|
writeAdsJson,
|
|
14
14
|
writeJsonEnvelope
|
|
@@ -215,4 +215,4 @@ Examples:
|
|
|
215
215
|
export {
|
|
216
216
|
previewCommand
|
|
217
217
|
};
|
|
218
|
-
//# sourceMappingURL=preview-
|
|
218
|
+
//# sourceMappingURL=preview-QGLUDJ3A.js.map
|
|
@@ -6,10 +6,10 @@ import {
|
|
|
6
6
|
failWriteValidation,
|
|
7
7
|
requireTarget,
|
|
8
8
|
stageOp
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-2UQJ5BDJ.js";
|
|
10
10
|
import "./chunk-GC5P4KWY.js";
|
|
11
11
|
import "./chunk-GDFJOCDO.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-JHEWSMOS.js";
|
|
13
13
|
import {
|
|
14
14
|
repeatedValues
|
|
15
15
|
} from "./chunk-ERSX3MKH.js";
|
|
@@ -17,7 +17,7 @@ import "./chunk-QBFJGCWA.js";
|
|
|
17
17
|
import "./chunk-4NZ47VXO.js";
|
|
18
18
|
import "./chunk-D5FY4FAK.js";
|
|
19
19
|
import "./chunk-JRQI6EVP.js";
|
|
20
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-QALAJNBG.js";
|
|
21
21
|
import "./chunk-X7DMNLDD.js";
|
|
22
22
|
import "./chunk-K6HH2KF3.js";
|
|
23
23
|
import "./chunk-M7MLFR2S.js";
|
|
@@ -522,4 +522,4 @@ export {
|
|
|
522
522
|
rulesRunCommand,
|
|
523
523
|
rulesUpdateCommand
|
|
524
524
|
};
|
|
525
|
-
//# sourceMappingURL=rule-writes-
|
|
525
|
+
//# sourceMappingURL=rule-writes-AHDYOYVO.js.map
|