@koda-sl/baker-cli 0.573.0 → 0.574.0-dev.19539e5a8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/account-H6OOCEE3.js +82 -0
- package/dist/account-JVDP5ERG.js +82 -0
- package/dist/account-reads-OQCA5LEM.js +219 -0
- package/dist/account-users-VBPW6FPY.js +64 -0
- package/dist/account-writes-KEXINJ5D.js +68 -0
- package/dist/accounts-CNWJYCUV.js +80 -0
- package/dist/accounts-M5SCXY6W.js +713 -0
- package/dist/accounts-QR6OQ3GC.js +119 -0
- package/dist/actions-6DC3FUQF.js +55 -0
- package/dist/activecampaign-YMVIS6EN.js +938 -0
- package/dist/ad-group-writes-SVR4RCKB.js +172 -0
- package/dist/ad-groups-C726HUXS.js +70 -0
- package/dist/ad-writes-RWJIWGEL.js +176 -0
- package/dist/add-ITTW4LQC.js +305 -0
- package/dist/add-QZHZIAVE.js +107 -0
- package/dist/ads-3KK7VQPU.js +79 -0
- package/dist/ads-UZ355BQS.js +48 -0
- package/dist/advertisers-Z2WLSJEC.js +123 -0
- package/dist/analytics-64DI3ZJL.js +2437 -0
- package/dist/analytics-GILIREA3.js +447 -0
- package/dist/animate-GTUI7XX4.js +480 -0
- package/dist/assign-6RI3EC7U.js +80 -0
- package/dist/audience-size-M6NORPEU.js +76 -0
- package/dist/audiences-6L43K2T2.js +280 -0
- package/dist/audit-CPEOJSCV.js +154 -0
- package/dist/autocomplete-DCCI3W5Y.js +114 -0
- package/dist/avatars-GDRSOS6V.js +38 -0
- package/dist/bid-pricing-FQ6VJSH6.js +103 -0
- package/dist/brand-6TUMI2GH.js +22 -0
- package/dist/brief-U6ZT5UYG.js +543 -0
- package/dist/campaign-groups-RTP2MKNJ.js +99 -0
- package/dist/campaign-writes-4NVY7S4U.js +168 -0
- package/dist/campaign-writes-FUIGN5OR.js +176 -0
- package/dist/campaigns-7ZVVYTBM.js +113 -0
- package/dist/campaigns-CCDJKV7I.js +111 -0
- package/dist/campaigns-N2SWSBYT.js +78 -0
- package/dist/canvas-UYRDIRPR.js +46 -0
- package/dist/capabilities-4KGVNK4Q.js +147 -0
- package/dist/catalog-JICUCAJZ.js +66 -0
- package/dist/catalogs-G5NOKL4L.js +130 -0
- package/dist/changes-AS4RVEAL.js +167 -0
- package/dist/chatgpt-O6EEAYLF.js +47 -0
- package/dist/chats-JNL4L6GZ.js +589 -0
- package/dist/check-EXT5WAYI.js +107 -0
- package/dist/chunk-2NOFIV6M.js +5368 -0
- package/dist/chunk-3QLGV4XN.js +604 -0
- package/dist/chunk-3QNSGFE2.js +103 -0
- package/dist/chunk-5CH2JQCA.js +547 -0
- package/dist/chunk-5LEIUG5H.js +399 -0
- package/dist/chunk-5N77IAOT.js +7901 -0
- package/dist/chunk-5N77IAOT.js.map +1 -0
- package/dist/chunk-5NMKNHJI.js +46 -0
- package/dist/chunk-66LB37BF.js +455 -0
- package/dist/chunk-6D7WTUF3.js +98 -0
- package/dist/chunk-6OIKNJ7G.js +26 -0
- package/dist/chunk-6RWLCOAH.js +334 -0
- package/dist/chunk-6TNRSWNA.js +207 -0
- package/dist/chunk-7YXBMYSM.js +91 -0
- package/dist/chunk-A6LOIUWB.js +51 -0
- package/dist/chunk-AUDVBN6H.js +8985 -0
- package/dist/chunk-AUDVBN6H.js.map +1 -0
- package/dist/chunk-BBS5VXLK.js +91 -0
- package/dist/chunk-BPDUE3MT.js +312 -0
- package/dist/chunk-C3XJ46C2.js +203 -0
- package/dist/chunk-CC42TKFH.js +19 -0
- package/dist/chunk-CFF7VAOQ.js +142 -0
- package/dist/chunk-CUTTTFAU.js +783 -0
- package/dist/chunk-D32EWSMB.js +150 -0
- package/dist/chunk-EDZDYB3C.js +23 -0
- package/dist/chunk-ELFZ63XY.js +392 -0
- package/dist/chunk-EM5R3BYC.js +131 -0
- package/dist/chunk-F3CZFUXZ.js +3187 -0
- package/dist/chunk-F3CZFUXZ.js.map +1 -0
- package/dist/chunk-F5VR6HSI.js +170 -0
- package/dist/chunk-FE2MFNVT.js +5471 -0
- package/dist/chunk-FLZNYVMN.js +2235 -0
- package/dist/chunk-FLZNYVMN.js.map +1 -0
- package/dist/chunk-FPYMFYML.js +468 -0
- package/dist/chunk-FWYWLEDP.js +755 -0
- package/dist/chunk-G4TPYA7F.js +454 -0
- package/dist/chunk-GRX3JXSR.js +843 -0
- package/dist/chunk-H423YXYY.js +249 -0
- package/dist/chunk-IMS53EQU.js +4277 -0
- package/dist/chunk-IMS53EQU.js.map +1 -0
- package/dist/chunk-J4AWNWKN.js +1919 -0
- package/dist/chunk-JLAFNORO.js +285 -0
- package/dist/chunk-JQYB2DS3.js +197 -0
- package/dist/chunk-JYOP6YVT.js +66 -0
- package/dist/chunk-KOKPQE4N.js +494 -0
- package/dist/chunk-KTX7QAKP.js +831 -0
- package/dist/chunk-KTX7QAKP.js.map +1 -0
- package/dist/chunk-LAMSUL26.js +1518 -0
- package/dist/chunk-LYGZBNSC.js +224 -0
- package/dist/chunk-NI5R6Y24.js +89 -0
- package/dist/chunk-NOCBNING.js +638 -0
- package/dist/chunk-OEO2NSNC.js +297 -0
- package/dist/chunk-OZNBVJGC.js +220 -0
- package/dist/chunk-PYZVVMF4.js +430 -0
- package/dist/chunk-QGAUDVMR.js +148 -0
- package/dist/chunk-QZ4YHQLW.js +63 -0
- package/dist/chunk-RIIMF75G.js +64 -0
- package/dist/chunk-RUMHZX5N.js +225 -0
- package/dist/chunk-S36WWACM.js +3510 -0
- package/dist/chunk-SHYUXLE5.js +61 -0
- package/dist/chunk-SIKCVWM3.js +76 -0
- package/dist/chunk-SNVAE572.js +167 -0
- package/dist/chunk-UVUY6FLV.js +1254 -0
- package/dist/chunk-UZVFXGMS.js +930 -0
- package/dist/chunk-V4HS5JRL.js +1320 -0
- package/dist/chunk-VCG3Q3O4.js +479 -0
- package/dist/chunk-VKIKIN5U.js +1920 -0
- package/dist/chunk-VZIYTP3X.js +163 -0
- package/dist/chunk-WEBWXSFF.js +169 -0
- package/dist/chunk-WOHTTXLG.js +57 -0
- package/dist/chunk-WZXMZFVB.js +238 -0
- package/dist/chunk-X7USE7IA.js +24026 -0
- package/dist/chunk-X7USE7IA.js.map +1 -0
- package/dist/chunk-XY7W6MQN.js +274 -0
- package/dist/chunk-YEQTBPEB.js +344 -0
- package/dist/chunk-YHBMCP6C.js +156 -0
- package/dist/chunk-YJEG6TQ3.js +685 -0
- package/dist/chunk-YQYCWYFJ.js +962 -0
- package/dist/claim-4LKB2Z6T.js +200 -0
- package/dist/cli.js +32 -32
- package/dist/companies-KCHDEHAA.js +198 -0
- package/dist/company-C2Y7LY5H.js +308 -0
- package/dist/complete-MNN3PAZE.js +84 -0
- package/dist/connect-IABMKFGA.js +45 -0
- package/dist/conversation-FETU4KTF.js +96 -0
- package/dist/conversion-report-33SG7SHU.js +127 -0
- package/dist/conversion-upload-command-DWIGVHQZ.js +439 -0
- package/dist/conversion-writes-XGGTBML5.js +122 -0
- package/dist/conversions-PPP4QK7U.js +78 -0
- package/dist/conversions-S3WIR5R4.js +140 -0
- package/dist/create-A3ZIQVIH.js +239 -0
- package/dist/create-ESKBBBJX.js +135 -0
- package/dist/create-U2ITO4RV.js +218 -0
- package/dist/create-VNYTZJ4T.js +62 -0
- package/dist/creatives-WSCRC5GO.js +58 -0
- package/dist/creatives-XO5E4AIC.js +229 -0
- package/dist/credentials-ZV66ZUCK.js +290 -0
- package/dist/critique-ODWLA52C.js +1451 -0
- package/dist/critique-X3433R5M.js +232 -0
- package/dist/crm-WPPM2R7I.js +323 -0
- package/dist/crm-XPIQAGH7.js +229 -0
- package/dist/currency-HK2ZW2VW.js +88 -0
- package/dist/customers-GCM7WZII.js +65 -0
- package/dist/delete-GAIV2YVD.js +69 -0
- package/dist/delete-RVJLATPO.js +57 -0
- package/dist/delete-VJ5QXKZR.js +67 -0
- package/dist/demographics-XWIW3YJF.js +141 -0
- package/dist/discard-TWX2CQF5.js +69 -0
- package/dist/discover-Q5PAOIQQ.js +172 -0
- package/dist/domain-FE32BE2E.js +101 -0
- package/dist/download-5FYHTIGR.js +172 -0
- package/dist/draft-5VLO5UYZ.js +332 -0
- package/dist/draft-L2NXCIYT.js +315 -0
- package/dist/draft-L757UIW5.js +374 -0
- package/dist/draft-WK4PEMB6.js +614 -0
- package/dist/draft-ZCP3MIV6.js +220 -0
- package/dist/engine/index.js +8 -8
- package/dist/experiments-DVR7WBGQ.js +236 -0
- package/dist/extract-JM6FAWAS.js +143 -0
- package/dist/facets-IEQJK5AW.js +117 -0
- package/dist/feedback-QUJ2V4WD.js +114 -0
- package/dist/feedback-SSCN7LEP.js +115 -0
- package/dist/feedback-record-P6WK4UPP.js +269 -0
- package/dist/fetch-Q6BIDVN5.js +204 -0
- package/dist/fit-XLK5LDPS.js +65 -0
- package/dist/flows-QVGZEYCH.js +340 -0
- package/dist/fonts-GARRSRIB.js +39 -0
- package/dist/forecast-GEYNZ5PQ.js +121 -0
- package/dist/forecast-THQNGKPE.js +169 -0
- package/dist/funnel-OABL4MLZ.js +397 -0
- package/dist/generate-Y4NJEYIH.js +263 -0
- package/dist/get-63KQ62KN.js +82 -0
- package/dist/get-RDGC3QA5.js +62 -0
- package/dist/google-32BCQC7C.js +163 -0
- package/dist/google-VYCMEWUL.js +3300 -0
- package/dist/google-ads-PCXGVHZV.js +198 -0
- package/dist/history-J7ANCPWY.js +153 -0
- package/dist/history-NX67UIZ7.js +102 -0
- package/dist/history-VKRYKQ4C.js +69 -0
- package/dist/hubspot-Z3J3JBEH.js +814 -0
- package/dist/ideas-22I7JTI7.js +45 -0
- package/dist/images-3C4Y6RWL.js +92 -0
- package/dist/ingest-CFH2MPSF.js +131 -0
- package/dist/ingest-VXX2Y76C.js +28 -0
- package/dist/insights-3IPSEBYW.js +132 -0
- package/dist/inspect-LDXPOGGH.js +192 -0
- package/dist/intent-ZM4K623V.js +95 -0
- package/dist/keyword-gap-FAAF2I6V.js +130 -0
- package/dist/keyword-metrics-E36SMZSP.js +200 -0
- package/dist/keywords-for-site-AWGWDXZA.js +131 -0
- package/dist/landing-PVTDVL22.js +28 -0
- package/dist/languages-ZGDTERIQ.js +40 -0
- package/dist/leads-XC3C5HGC.js +115 -0
- package/dist/learn-NYRL53NQ.js +207 -0
- package/dist/line-item-writes-LMSYCR6G.js +211 -0
- package/dist/line-items-P24SOGVZ.js +107 -0
- package/dist/link-H3TTWJJO.js +67 -0
- package/dist/linkedin-57JHH7QN.js +1344 -0
- package/dist/linkedin-person-HKKIE32Q.js +139 -0
- package/dist/list-KHCFVTQU.js +154 -0
- package/dist/list-LC2GRYEI.js +67 -0
- package/dist/list-UCTFATXS.js +306 -0
- package/dist/locations-A65MFB7Q.js +69 -0
- package/dist/locations-WN6B3IJK.js +40 -0
- package/dist/log-SLYCPRCY.js +95 -0
- package/dist/make-HTCPU6HU.js +1367 -0
- package/dist/map-237LQ5N5.js +445 -0
- package/dist/mcp-GX5TOO7Y.js +729 -0
- package/dist/media-sources-ODNIS7A5.js +35 -0
- package/dist/members-TYQKWR7Z.js +47 -0
- package/dist/metrics-3U3ZO2RF.js +152 -0
- package/dist/models-VOSJJFO2.js +155 -0
- package/dist/normalize-MDTMKLYO.js +144 -0
- package/dist/options-MEADUZY3.js +125 -0
- package/dist/organization-BXJSHRZG.js +949 -0
- package/dist/performance-CU65TLCB.js +5565 -0
- package/dist/performance-IGCOP5VH.js +27 -0
- package/dist/pixels-U6UA662G.js +62 -0
- package/dist/preview-YQ6P5A53.js +101 -0
- package/dist/promoted-tweet-writes-X2CUNBU2.js +183 -0
- package/dist/promoted-tweets-G2NOW5OF.js +119 -0
- package/dist/publish-YPCXCU4P.js +350 -0
- package/dist/query-SAQADBM2.js +62 -0
- package/dist/reddit-XMAGZMD4.js +29 -0
- package/dist/refresh-QIK3CXLV.js +97 -0
- package/dist/release-O7KGD5MI.js +63 -0
- package/dist/relevant-pages-KTSODNNW.js +99 -0
- package/dist/remove-7FAWM2H4.js +53 -0
- package/dist/reopen-4ZWEYNCI.js +66 -0
- package/dist/rerun-IDUKOW6Z.js +97 -0
- package/dist/research-SPFILN24.js +75 -0
- package/dist/research-Y5MSZH6T.js +265 -0
- package/dist/reset-4K7BXUY6.js +57 -0
- package/dist/reset-YSDYSZ64.js +57 -0
- package/dist/resolve-DD6ES7GJ.js +124 -0
- package/dist/retry-PZTS6KMQ.js +65 -0
- package/dist/retry-YAZ3JXYL.js +63 -0
- package/dist/revenue-PLJ46IYH.js +91 -0
- package/dist/rules-I4PL72J7.js +99 -0
- package/dist/rules-add-EFD2YSLH.js +465 -0
- package/dist/run-FN365AXZ.js +72 -0
- package/dist/run-WCFKVQQQ.js +69 -0
- package/dist/scaffold-ad-PI4IHOG5.js +1513 -0
- package/dist/scaffold-static-ad-RDOCRFEP.js +1012 -0
- package/dist/scaffold-video-HPRYTHE6.js +885 -0
- package/dist/schedule-NPZPVNSO.js +64 -0
- package/dist/scheduled-agents-5TNWITKB.js +55 -0
- package/dist/schema-PMVRMIRU.js +135 -0
- package/dist/search-BRANRGRU.js +177 -0
- package/dist/select-CLDJE7VJ.js +110 -0
- package/dist/set-prompt-7VHSKVO6.js +199 -0
- package/dist/setup-links-PAA7XYV5.js +144 -0
- package/dist/shopify-VWIRGI6H.js +4009 -0
- package/dist/site-Q3PMNJ2Z.js +180 -0
- package/dist/sources-4YHNM22P.js +30 -0
- package/dist/sources-BYMGSUPZ.js +457 -0
- package/dist/stale-WO6FTPLQ.js +90 -0
- package/dist/status-B2WRAPZO.js +65 -0
- package/dist/stock-BOOSUS2C.js +212 -0
- package/dist/studio-XLC37YGX.js +49 -0
- package/dist/sync-2QIPZFSK.js +57 -0
- package/dist/sync-definition-L52PGD7B.js +70 -0
- package/dist/tags-AIE4XEU2.js +227 -0
- package/dist/tags-DF6JNSNA.js +26 -0
- package/dist/tags-SWP4MXQO.js +23 -0
- package/dist/tags-VXHV4JWM.js +23 -0
- package/dist/tags-XYQUPA6M.js +23 -0
- package/dist/targeting-criteria-UYAEVSX3.js +113 -0
- package/dist/targets-XFL7CE7N.js +106 -0
- package/dist/testimonials-DTCPATQ2.js +32 -0
- package/dist/themes-HBWSZRFM.js +95 -0
- package/dist/top-companies-SCKUWYFG.js +111 -0
- package/dist/transcript-H7VSMOMV.js +165 -0
- package/dist/translate-LCLG4NYR.js +603 -0
- package/dist/triggers-HN3O2CNG.js +144 -0
- package/dist/unlink-B5CD7ZW6.js +70 -0
- package/dist/unstage-34W4OU5D.js +88 -0
- package/dist/update-2OTR4JQV.js +101 -0
- package/dist/update-3CKLLPYX.js +66 -0
- package/dist/update-6V2A4JGZ.js +192 -0
- package/dist/update-7FBCTLFP.js +155 -0
- package/dist/upload-72ARWDHN.js +137 -0
- package/dist/url-options-6WC2XQKB.js +131 -0
- package/dist/url-params-TAZ2S675.js +101 -0
- package/dist/validate-6F3JKVQV.js +135 -0
- package/dist/videos-UCUYPQNK.js +41 -0
- package/dist/viewer-check-XZYL55G6.js +83 -0
- package/dist/web-YYXQXIH4.js +173 -0
- package/dist/winning-ads-H3HCI5QT.js +86 -0
- package/dist/write-commands-DS7WNSYA.js +1524 -0
- package/dist/x-K4N6QIH2.js +47 -0
- package/package.json +1 -1
- package/dist/account-52WDLW4Z.js +0 -82
- package/dist/account-SGHH4SIM.js +0 -82
- package/dist/account-reads-CQIJCPCH.js +0 -219
- package/dist/account-users-KP6A43DU.js +0 -64
- package/dist/account-writes-3BJSUM2V.js +0 -68
- package/dist/accounts-FV5FPX3X.js +0 -80
- package/dist/accounts-LQFSNBIC.js +0 -713
- package/dist/accounts-ZV4IXOF5.js +0 -119
- package/dist/actions-RZ62K3WT.js +0 -55
- package/dist/activecampaign-E6PM6YNO.js +0 -938
- package/dist/ad-group-writes-KU4QMQZP.js +0 -172
- package/dist/ad-groups-NMW2G32A.js +0 -70
- package/dist/ad-writes-7NOFTOM4.js +0 -176
- package/dist/add-HMAQJG4J.js +0 -305
- package/dist/add-MLTE6PPC.js +0 -107
- package/dist/ads-P4Z3MLKS.js +0 -79
- package/dist/ads-T6J6QQKX.js +0 -48
- package/dist/advertisers-FP7MTMUI.js +0 -123
- package/dist/analytics-AYYFKMF6.js +0 -2437
- package/dist/analytics-D2IA2P5E.js +0 -447
- package/dist/animate-VX7E7KJE.js +0 -480
- package/dist/assign-EE4EDOPX.js +0 -80
- package/dist/audience-size-SRNH57FA.js +0 -76
- package/dist/audiences-P3SPTAJT.js +0 -280
- package/dist/audit-R5JG3ABY.js +0 -154
- package/dist/autocomplete-AIKXLHME.js +0 -114
- package/dist/avatars-3CAQ5OBN.js +0 -38
- package/dist/bid-pricing-PDZIJGOX.js +0 -103
- package/dist/brand-2SN7MM72.js +0 -22
- package/dist/brief-FPEBHIE3.js +0 -543
- package/dist/campaign-groups-OHL6POG2.js +0 -99
- package/dist/campaign-writes-P5XPFTRK.js +0 -176
- package/dist/campaign-writes-RKCE4MSZ.js +0 -168
- package/dist/campaigns-HGMQSYUM.js +0 -113
- package/dist/campaigns-SWZJVE2T.js +0 -78
- package/dist/campaigns-UWUEENB6.js +0 -111
- package/dist/canvas-II524GS7.js +0 -46
- package/dist/capabilities-FF6NNJ5L.js +0 -147
- package/dist/catalog-TOHUVBEU.js +0 -66
- package/dist/catalogs-V7PTEJBO.js +0 -130
- package/dist/changes-5OW3UYMF.js +0 -167
- package/dist/chatgpt-JBMYNVJB.js +0 -47
- package/dist/chats-XVAFLM47.js +0 -589
- package/dist/check-FFRPBGUH.js +0 -107
- package/dist/chunk-22RM3UOO.js +0 -63
- package/dist/chunk-2EEDKWYY.js +0 -479
- package/dist/chunk-2KQQHBBQ.js +0 -547
- package/dist/chunk-2N7TB346.js +0 -5368
- package/dist/chunk-33ZP44QR.js +0 -103
- package/dist/chunk-34RDCDCF.js +0 -207
- package/dist/chunk-47VWQ7FQ.js +0 -843
- package/dist/chunk-4SAO6RT2.js +0 -962
- package/dist/chunk-4W4MLIRR.js +0 -19
- package/dist/chunk-5XB352F5.js +0 -197
- package/dist/chunk-643AA3RB.js +0 -220
- package/dist/chunk-7GFGFBWZ.js +0 -344
- package/dist/chunk-7MIOMG22.js +0 -685
- package/dist/chunk-7YEP3NFN.js +0 -163
- package/dist/chunk-AP7X3ONA.js +0 -297
- package/dist/chunk-BFAPSFS7.js +0 -1518
- package/dist/chunk-BMMXYR7A.js +0 -238
- package/dist/chunk-BNEWJXKU.js +0 -638
- package/dist/chunk-C3G56TJV.js +0 -66
- package/dist/chunk-C4BPAMAJ.js +0 -8954
- package/dist/chunk-C4BPAMAJ.js.map +0 -1
- package/dist/chunk-C57CXCTI.js +0 -455
- package/dist/chunk-C7KV5O5J.js +0 -274
- package/dist/chunk-C7LLNXRJ.js +0 -91
- package/dist/chunk-CKN4HQZM.js +0 -89
- package/dist/chunk-DXQ5DUFU.js +0 -392
- package/dist/chunk-EV2HVFTJ.js +0 -224
- package/dist/chunk-GQUBM3Z6.js +0 -249
- package/dist/chunk-H7LKYGLJ.js +0 -24026
- package/dist/chunk-H7LKYGLJ.js.map +0 -1
- package/dist/chunk-HM4NWA72.js +0 -5471
- package/dist/chunk-IB6VWG32.js +0 -755
- package/dist/chunk-ICASR3ES.js +0 -7901
- package/dist/chunk-ICASR3ES.js.map +0 -1
- package/dist/chunk-IGCS3X4F.js +0 -150
- package/dist/chunk-IJ6WA2JW.js +0 -148
- package/dist/chunk-ITIUWJGQ.js +0 -131
- package/dist/chunk-IZXYI5NB.js +0 -2234
- package/dist/chunk-IZXYI5NB.js.map +0 -1
- package/dist/chunk-J4BJLHLQ.js +0 -3510
- package/dist/chunk-JAC6JVCI.js +0 -26
- package/dist/chunk-JGK2FDZW.js +0 -1919
- package/dist/chunk-JJBO7QIR.js +0 -604
- package/dist/chunk-K7APGDEO.js +0 -430
- package/dist/chunk-L2LGHWJN.js +0 -156
- package/dist/chunk-LAOCXV6Z.js +0 -98
- package/dist/chunk-M2RXXLK3.js +0 -51
- package/dist/chunk-MCJ5I5LR.js +0 -3187
- package/dist/chunk-MCJ5I5LR.js.map +0 -1
- package/dist/chunk-MKG57P2E.js +0 -783
- package/dist/chunk-MYGPWKEI.js +0 -170
- package/dist/chunk-MZPS46OR.js +0 -76
- package/dist/chunk-N7EHQNNG.js +0 -312
- package/dist/chunk-OHVXHNUR.js +0 -57
- package/dist/chunk-OJRS3TGS.js +0 -399
- package/dist/chunk-OJZKY5UM.js +0 -46
- package/dist/chunk-OX5DS7UE.js +0 -1920
- package/dist/chunk-PRHDGULQ.js +0 -819
- package/dist/chunk-PRHDGULQ.js.map +0 -1
- package/dist/chunk-PRZBEZBA.js +0 -203
- package/dist/chunk-PTE6BNCH.js +0 -334
- package/dist/chunk-Q5DLTIYL.js +0 -142
- package/dist/chunk-QVHZTCB5.js +0 -1254
- package/dist/chunk-QVO5VPNA.js +0 -169
- package/dist/chunk-RBR5PHYJ.js +0 -91
- package/dist/chunk-RHBCKOF2.js +0 -61
- package/dist/chunk-S3XCG55E.js +0 -454
- package/dist/chunk-SPNF2V46.js +0 -468
- package/dist/chunk-SPNY52S5.js +0 -494
- package/dist/chunk-TEQEZAJI.js +0 -1320
- package/dist/chunk-U6AWJIFP.js +0 -225
- package/dist/chunk-VAV5CCDD.js +0 -167
- package/dist/chunk-VSALEVXN.js +0 -23
- package/dist/chunk-W3TZPHZO.js +0 -285
- package/dist/chunk-XHWHBGKX.js +0 -4277
- package/dist/chunk-XHWHBGKX.js.map +0 -1
- package/dist/chunk-XPV3KK6B.js +0 -930
- package/dist/chunk-Z3RGBLVJ.js +0 -64
- package/dist/claim-YABJMHON.js +0 -200
- package/dist/companies-K2IVXNC5.js +0 -198
- package/dist/company-6JAVJPSU.js +0 -308
- package/dist/complete-4R6O7TAF.js +0 -84
- package/dist/connect-FWT2IC5N.js +0 -45
- package/dist/conversation-DSRM4JIU.js +0 -96
- package/dist/conversion-report-2FREFML5.js +0 -127
- package/dist/conversion-upload-command-JAGV6GMG.js +0 -439
- package/dist/conversion-writes-JZIJSQ7T.js +0 -122
- package/dist/conversions-4D5TEPO4.js +0 -140
- package/dist/conversions-Q5EBTEXA.js +0 -78
- package/dist/create-3OYFSUR5.js +0 -62
- package/dist/create-FMGLMQZC.js +0 -218
- package/dist/create-SDFDKJGJ.js +0 -239
- package/dist/create-VW23RNWT.js +0 -135
- package/dist/creatives-B7GJ2IC5.js +0 -58
- package/dist/creatives-E33LXJG7.js +0 -229
- package/dist/credentials-WGGZFBDJ.js +0 -290
- package/dist/critique-EOYMGUIK.js +0 -232
- package/dist/critique-US4B3ZY5.js +0 -1451
- package/dist/crm-T4XPJZTR.js +0 -229
- package/dist/crm-UBQ735O6.js +0 -323
- package/dist/currency-EFDQYW5B.js +0 -88
- package/dist/customers-HHQUU3MA.js +0 -65
- package/dist/delete-JPIV5E2Y.js +0 -67
- package/dist/delete-UC5XQZWC.js +0 -69
- package/dist/delete-X5TD7P3U.js +0 -57
- package/dist/demographics-6GQYZIVR.js +0 -141
- package/dist/discard-5UNX5TEZ.js +0 -69
- package/dist/discover-BPUUWRBP.js +0 -172
- package/dist/domain-7BOPJLTP.js +0 -101
- package/dist/download-B4IV43AJ.js +0 -172
- package/dist/draft-FVB6SEP3.js +0 -332
- package/dist/draft-GCOCG4PO.js +0 -315
- package/dist/draft-GSDDK6FO.js +0 -614
- package/dist/draft-QT6MVG47.js +0 -220
- package/dist/draft-VRE52N6B.js +0 -374
- package/dist/experiments-3JSDRY5W.js +0 -236
- package/dist/extract-BVSL6H3S.js +0 -143
- package/dist/facets-NN33WFSR.js +0 -117
- package/dist/feedback-BYXZEEW3.js +0 -114
- package/dist/feedback-HN32HLFT.js +0 -115
- package/dist/feedback-record-GZNCHZFT.js +0 -269
- package/dist/fetch-3JPN4QAJ.js +0 -204
- package/dist/fit-2R5NGB7E.js +0 -65
- package/dist/flows-XM7GBTIU.js +0 -340
- package/dist/fonts-IO4X2AKN.js +0 -39
- package/dist/forecast-HMNQZFVL.js +0 -169
- package/dist/forecast-MOFJ3BKH.js +0 -121
- package/dist/funnel-FR7JQUZW.js +0 -397
- package/dist/generate-KAWRRYTT.js +0 -263
- package/dist/get-BMJIYS25.js +0 -62
- package/dist/get-MXXANBI3.js +0 -82
- package/dist/google-3CAUWNWE.js +0 -3300
- package/dist/google-MHFI5OGW.js +0 -163
- package/dist/google-ads-ULZRFDZU.js +0 -198
- package/dist/history-F3U3WNEJ.js +0 -102
- package/dist/history-SGFTHPT2.js +0 -153
- package/dist/history-YQSYXBJH.js +0 -69
- package/dist/hubspot-FASIF5U5.js +0 -814
- package/dist/ideas-TKCOPOMS.js +0 -45
- package/dist/images-K4EPTLTF.js +0 -92
- package/dist/ingest-MCCJBWYC.js +0 -131
- package/dist/ingest-T3AV5OR4.js +0 -28
- package/dist/insights-UVCFOB3N.js +0 -132
- package/dist/inspect-3OHTBHNO.js +0 -192
- package/dist/intent-F5NTOSQC.js +0 -95
- package/dist/keyword-gap-EB5QATYN.js +0 -130
- package/dist/keyword-metrics-E4PPLUYX.js +0 -200
- package/dist/keywords-for-site-HD2FOBMH.js +0 -131
- package/dist/landing-NC2A277E.js +0 -28
- package/dist/languages-4S26FJDP.js +0 -40
- package/dist/leads-LL2S6ENL.js +0 -115
- package/dist/learn-2CP2SROJ.js +0 -207
- package/dist/line-item-writes-56A4ITU6.js +0 -211
- package/dist/line-items-AIIDDTTH.js +0 -107
- package/dist/link-BIXBY5KG.js +0 -67
- package/dist/linkedin-TXX22PPH.js +0 -1344
- package/dist/linkedin-person-5KEGEX6G.js +0 -139
- package/dist/list-C5AT3LF4.js +0 -306
- package/dist/list-UQNU4QUE.js +0 -154
- package/dist/list-YBHQ3HIB.js +0 -67
- package/dist/locations-UWBQLHXW.js +0 -40
- package/dist/locations-WXGOI3VV.js +0 -69
- package/dist/log-FZJTWN3S.js +0 -95
- package/dist/make-ESUFN3T4.js +0 -1367
- package/dist/map-WDOBMEAW.js +0 -445
- package/dist/mcp-JJZ5YGSS.js +0 -729
- package/dist/media-sources-AJ5USQXV.js +0 -35
- package/dist/members-NSR7S62Y.js +0 -47
- package/dist/metrics-4AFEEDVP.js +0 -152
- package/dist/models-2ZEM64H5.js +0 -155
- package/dist/normalize-RQEHHRES.js +0 -144
- package/dist/options-4BW4P6JD.js +0 -125
- package/dist/organization-TKGXZYH6.js +0 -949
- package/dist/performance-27VHB3UA.js +0 -27
- package/dist/performance-XGHZDQGU.js +0 -5565
- package/dist/pixels-HEI5WVAO.js +0 -62
- package/dist/preview-2YRMPWI2.js +0 -101
- package/dist/promoted-tweet-writes-PT6BW64X.js +0 -183
- package/dist/promoted-tweets-SBZXEU7S.js +0 -119
- package/dist/publish-Z7ZK3XB7.js +0 -350
- package/dist/query-K7MYBRTS.js +0 -62
- package/dist/reddit-L4RQNJBL.js +0 -29
- package/dist/refresh-EWALAFUQ.js +0 -97
- package/dist/release-C2H2KBNY.js +0 -63
- package/dist/relevant-pages-XYQKVX3U.js +0 -99
- package/dist/remove-JOXARFD3.js +0 -53
- package/dist/reopen-WRW4JVO2.js +0 -66
- package/dist/rerun-GYWQOZOF.js +0 -97
- package/dist/research-422BF4O4.js +0 -265
- package/dist/research-MCTV6ZJZ.js +0 -75
- package/dist/reset-7ANRT4I3.js +0 -57
- package/dist/reset-MZDRR5VP.js +0 -57
- package/dist/resolve-KKRG65WF.js +0 -124
- package/dist/retry-PDKRPWIZ.js +0 -63
- package/dist/retry-YZCBWAHT.js +0 -65
- package/dist/revenue-F7E5ZRLB.js +0 -91
- package/dist/rules-GRLAFAZU.js +0 -99
- package/dist/rules-add-3C7LW4HD.js +0 -465
- package/dist/run-QDPXTMW6.js +0 -72
- package/dist/run-ZV73UQ3E.js +0 -69
- package/dist/scaffold-ad-LBLEARDJ.js +0 -1513
- package/dist/scaffold-static-ad-TM3JX4HS.js +0 -1012
- package/dist/scaffold-video-EINW32ZH.js +0 -885
- package/dist/schedule-X5ZKZXPC.js +0 -64
- package/dist/scheduled-agents-APZA42K2.js +0 -55
- package/dist/schema-6JF4ZNGY.js +0 -135
- package/dist/search-4VAIJA2O.js +0 -177
- package/dist/select-TNLQGGNE.js +0 -110
- package/dist/set-prompt-GU3HPWWZ.js +0 -199
- package/dist/setup-links-ORBZ5T4H.js +0 -144
- package/dist/shopify-SN3TBTL5.js +0 -4009
- package/dist/site-3ZORNMAE.js +0 -180
- package/dist/sources-WGEC6FGZ.js +0 -457
- package/dist/sources-WT6M3QIX.js +0 -30
- package/dist/stale-5YYPMXWX.js +0 -90
- package/dist/status-WED3AXTZ.js +0 -65
- package/dist/stock-33GHQWNQ.js +0 -212
- package/dist/studio-4EV5S7PR.js +0 -49
- package/dist/sync-2GLGCSRQ.js +0 -57
- package/dist/sync-definition-SNUWHPGO.js +0 -70
- package/dist/tags-AQNOA7X5.js +0 -23
- package/dist/tags-CVPMOYKI.js +0 -23
- package/dist/tags-IQY7GYMU.js +0 -227
- package/dist/tags-MYUCES3W.js +0 -26
- package/dist/tags-SCMHCPF4.js +0 -23
- package/dist/targeting-criteria-RVJHW22S.js +0 -113
- package/dist/targets-G6SN6VTL.js +0 -106
- package/dist/testimonials-JALUWWLB.js +0 -32
- package/dist/themes-FW3VWZJE.js +0 -95
- package/dist/top-companies-WR6TXTNM.js +0 -111
- package/dist/transcript-JMRRJEET.js +0 -165
- package/dist/translate-IGCEMHXS.js +0 -603
- package/dist/triggers-UUSPHGXX.js +0 -144
- package/dist/unlink-U5VBTO7P.js +0 -70
- package/dist/unstage-KSYT7FOP.js +0 -88
- package/dist/update-GFKDIJRE.js +0 -66
- package/dist/update-QF6BLM5F.js +0 -101
- package/dist/update-VBQKI72I.js +0 -192
- package/dist/update-ZIKHDZRT.js +0 -155
- package/dist/upload-UYE73VLK.js +0 -137
- package/dist/url-options-AHJPR5VY.js +0 -131
- package/dist/url-params-P6MV2HKB.js +0 -101
- package/dist/validate-HIYNINCN.js +0 -135
- package/dist/videos-XGQL37V4.js +0 -41
- package/dist/viewer-check-TYTVCSQW.js +0 -83
- package/dist/web-PIMTCU4V.js +0 -173
- package/dist/winning-ads-P4MXWYK6.js +0 -86
- package/dist/write-commands-24EOSYWL.js +0 -1524
- package/dist/x-HBA6AJJA.js +0 -47
- /package/dist/{account-SGHH4SIM.js.map → account-H6OOCEE3.js.map} +0 -0
- /package/dist/{account-52WDLW4Z.js.map → account-JVDP5ERG.js.map} +0 -0
- /package/dist/{account-reads-CQIJCPCH.js.map → account-reads-OQCA5LEM.js.map} +0 -0
- /package/dist/{account-users-KP6A43DU.js.map → account-users-VBPW6FPY.js.map} +0 -0
- /package/dist/{account-writes-3BJSUM2V.js.map → account-writes-KEXINJ5D.js.map} +0 -0
- /package/dist/{accounts-FV5FPX3X.js.map → accounts-CNWJYCUV.js.map} +0 -0
- /package/dist/{accounts-LQFSNBIC.js.map → accounts-M5SCXY6W.js.map} +0 -0
- /package/dist/{accounts-ZV4IXOF5.js.map → accounts-QR6OQ3GC.js.map} +0 -0
- /package/dist/{actions-RZ62K3WT.js.map → actions-6DC3FUQF.js.map} +0 -0
- /package/dist/{activecampaign-E6PM6YNO.js.map → activecampaign-YMVIS6EN.js.map} +0 -0
- /package/dist/{ad-group-writes-KU4QMQZP.js.map → ad-group-writes-SVR4RCKB.js.map} +0 -0
- /package/dist/{ad-groups-NMW2G32A.js.map → ad-groups-C726HUXS.js.map} +0 -0
- /package/dist/{ad-writes-7NOFTOM4.js.map → ad-writes-RWJIWGEL.js.map} +0 -0
- /package/dist/{add-HMAQJG4J.js.map → add-ITTW4LQC.js.map} +0 -0
- /package/dist/{add-MLTE6PPC.js.map → add-QZHZIAVE.js.map} +0 -0
- /package/dist/{ads-P4Z3MLKS.js.map → ads-3KK7VQPU.js.map} +0 -0
- /package/dist/{ads-T6J6QQKX.js.map → ads-UZ355BQS.js.map} +0 -0
- /package/dist/{advertisers-FP7MTMUI.js.map → advertisers-Z2WLSJEC.js.map} +0 -0
- /package/dist/{analytics-AYYFKMF6.js.map → analytics-64DI3ZJL.js.map} +0 -0
- /package/dist/{analytics-D2IA2P5E.js.map → analytics-GILIREA3.js.map} +0 -0
- /package/dist/{animate-VX7E7KJE.js.map → animate-GTUI7XX4.js.map} +0 -0
- /package/dist/{assign-EE4EDOPX.js.map → assign-6RI3EC7U.js.map} +0 -0
- /package/dist/{audience-size-SRNH57FA.js.map → audience-size-M6NORPEU.js.map} +0 -0
- /package/dist/{audiences-P3SPTAJT.js.map → audiences-6L43K2T2.js.map} +0 -0
- /package/dist/{audit-R5JG3ABY.js.map → audit-CPEOJSCV.js.map} +0 -0
- /package/dist/{autocomplete-AIKXLHME.js.map → autocomplete-DCCI3W5Y.js.map} +0 -0
- /package/dist/{avatars-3CAQ5OBN.js.map → avatars-GDRSOS6V.js.map} +0 -0
- /package/dist/{bid-pricing-PDZIJGOX.js.map → bid-pricing-FQ6VJSH6.js.map} +0 -0
- /package/dist/{brand-2SN7MM72.js.map → brand-6TUMI2GH.js.map} +0 -0
- /package/dist/{brief-FPEBHIE3.js.map → brief-U6ZT5UYG.js.map} +0 -0
- /package/dist/{campaign-groups-OHL6POG2.js.map → campaign-groups-RTP2MKNJ.js.map} +0 -0
- /package/dist/{campaign-writes-RKCE4MSZ.js.map → campaign-writes-4NVY7S4U.js.map} +0 -0
- /package/dist/{campaign-writes-P5XPFTRK.js.map → campaign-writes-FUIGN5OR.js.map} +0 -0
- /package/dist/{campaigns-HGMQSYUM.js.map → campaigns-7ZVVYTBM.js.map} +0 -0
- /package/dist/{campaigns-UWUEENB6.js.map → campaigns-CCDJKV7I.js.map} +0 -0
- /package/dist/{campaigns-SWZJVE2T.js.map → campaigns-N2SWSBYT.js.map} +0 -0
- /package/dist/{canvas-II524GS7.js.map → canvas-UYRDIRPR.js.map} +0 -0
- /package/dist/{capabilities-FF6NNJ5L.js.map → capabilities-4KGVNK4Q.js.map} +0 -0
- /package/dist/{catalog-TOHUVBEU.js.map → catalog-JICUCAJZ.js.map} +0 -0
- /package/dist/{catalogs-V7PTEJBO.js.map → catalogs-G5NOKL4L.js.map} +0 -0
- /package/dist/{changes-5OW3UYMF.js.map → changes-AS4RVEAL.js.map} +0 -0
- /package/dist/{chatgpt-JBMYNVJB.js.map → chatgpt-O6EEAYLF.js.map} +0 -0
- /package/dist/{chats-XVAFLM47.js.map → chats-JNL4L6GZ.js.map} +0 -0
- /package/dist/{check-FFRPBGUH.js.map → check-EXT5WAYI.js.map} +0 -0
- /package/dist/{chunk-2N7TB346.js.map → chunk-2NOFIV6M.js.map} +0 -0
- /package/dist/{chunk-JJBO7QIR.js.map → chunk-3QLGV4XN.js.map} +0 -0
- /package/dist/{chunk-33ZP44QR.js.map → chunk-3QNSGFE2.js.map} +0 -0
- /package/dist/{chunk-2KQQHBBQ.js.map → chunk-5CH2JQCA.js.map} +0 -0
- /package/dist/{chunk-OJRS3TGS.js.map → chunk-5LEIUG5H.js.map} +0 -0
- /package/dist/{chunk-OJZKY5UM.js.map → chunk-5NMKNHJI.js.map} +0 -0
- /package/dist/{chunk-C57CXCTI.js.map → chunk-66LB37BF.js.map} +0 -0
- /package/dist/{chunk-LAOCXV6Z.js.map → chunk-6D7WTUF3.js.map} +0 -0
- /package/dist/{chunk-JAC6JVCI.js.map → chunk-6OIKNJ7G.js.map} +0 -0
- /package/dist/{chunk-PTE6BNCH.js.map → chunk-6RWLCOAH.js.map} +0 -0
- /package/dist/{chunk-34RDCDCF.js.map → chunk-6TNRSWNA.js.map} +0 -0
- /package/dist/{chunk-RBR5PHYJ.js.map → chunk-7YXBMYSM.js.map} +0 -0
- /package/dist/{chunk-M2RXXLK3.js.map → chunk-A6LOIUWB.js.map} +0 -0
- /package/dist/{chunk-C7LLNXRJ.js.map → chunk-BBS5VXLK.js.map} +0 -0
- /package/dist/{chunk-N7EHQNNG.js.map → chunk-BPDUE3MT.js.map} +0 -0
- /package/dist/{chunk-PRZBEZBA.js.map → chunk-C3XJ46C2.js.map} +0 -0
- /package/dist/{chunk-4W4MLIRR.js.map → chunk-CC42TKFH.js.map} +0 -0
- /package/dist/{chunk-Q5DLTIYL.js.map → chunk-CFF7VAOQ.js.map} +0 -0
- /package/dist/{chunk-MKG57P2E.js.map → chunk-CUTTTFAU.js.map} +0 -0
- /package/dist/{chunk-IGCS3X4F.js.map → chunk-D32EWSMB.js.map} +0 -0
- /package/dist/{chunk-VSALEVXN.js.map → chunk-EDZDYB3C.js.map} +0 -0
- /package/dist/{chunk-DXQ5DUFU.js.map → chunk-ELFZ63XY.js.map} +0 -0
- /package/dist/{chunk-ITIUWJGQ.js.map → chunk-EM5R3BYC.js.map} +0 -0
- /package/dist/{chunk-MYGPWKEI.js.map → chunk-F5VR6HSI.js.map} +0 -0
- /package/dist/{chunk-HM4NWA72.js.map → chunk-FE2MFNVT.js.map} +0 -0
- /package/dist/{chunk-SPNF2V46.js.map → chunk-FPYMFYML.js.map} +0 -0
- /package/dist/{chunk-IB6VWG32.js.map → chunk-FWYWLEDP.js.map} +0 -0
- /package/dist/{chunk-S3XCG55E.js.map → chunk-G4TPYA7F.js.map} +0 -0
- /package/dist/{chunk-47VWQ7FQ.js.map → chunk-GRX3JXSR.js.map} +0 -0
- /package/dist/{chunk-GQUBM3Z6.js.map → chunk-H423YXYY.js.map} +0 -0
- /package/dist/{chunk-JGK2FDZW.js.map → chunk-J4AWNWKN.js.map} +0 -0
- /package/dist/{chunk-W3TZPHZO.js.map → chunk-JLAFNORO.js.map} +0 -0
- /package/dist/{chunk-5XB352F5.js.map → chunk-JQYB2DS3.js.map} +0 -0
- /package/dist/{chunk-C3G56TJV.js.map → chunk-JYOP6YVT.js.map} +0 -0
- /package/dist/{chunk-SPNY52S5.js.map → chunk-KOKPQE4N.js.map} +0 -0
- /package/dist/{chunk-BFAPSFS7.js.map → chunk-LAMSUL26.js.map} +0 -0
- /package/dist/{chunk-EV2HVFTJ.js.map → chunk-LYGZBNSC.js.map} +0 -0
- /package/dist/{chunk-CKN4HQZM.js.map → chunk-NI5R6Y24.js.map} +0 -0
- /package/dist/{chunk-BNEWJXKU.js.map → chunk-NOCBNING.js.map} +0 -0
- /package/dist/{chunk-AP7X3ONA.js.map → chunk-OEO2NSNC.js.map} +0 -0
- /package/dist/{chunk-643AA3RB.js.map → chunk-OZNBVJGC.js.map} +0 -0
- /package/dist/{chunk-K7APGDEO.js.map → chunk-PYZVVMF4.js.map} +0 -0
- /package/dist/{chunk-IJ6WA2JW.js.map → chunk-QGAUDVMR.js.map} +0 -0
- /package/dist/{chunk-22RM3UOO.js.map → chunk-QZ4YHQLW.js.map} +0 -0
- /package/dist/{chunk-Z3RGBLVJ.js.map → chunk-RIIMF75G.js.map} +0 -0
- /package/dist/{chunk-U6AWJIFP.js.map → chunk-RUMHZX5N.js.map} +0 -0
- /package/dist/{chunk-J4BJLHLQ.js.map → chunk-S36WWACM.js.map} +0 -0
- /package/dist/{chunk-RHBCKOF2.js.map → chunk-SHYUXLE5.js.map} +0 -0
- /package/dist/{chunk-MZPS46OR.js.map → chunk-SIKCVWM3.js.map} +0 -0
- /package/dist/{chunk-VAV5CCDD.js.map → chunk-SNVAE572.js.map} +0 -0
- /package/dist/{chunk-QVHZTCB5.js.map → chunk-UVUY6FLV.js.map} +0 -0
- /package/dist/{chunk-XPV3KK6B.js.map → chunk-UZVFXGMS.js.map} +0 -0
- /package/dist/{chunk-TEQEZAJI.js.map → chunk-V4HS5JRL.js.map} +0 -0
- /package/dist/{chunk-2EEDKWYY.js.map → chunk-VCG3Q3O4.js.map} +0 -0
- /package/dist/{chunk-OX5DS7UE.js.map → chunk-VKIKIN5U.js.map} +0 -0
- /package/dist/{chunk-7YEP3NFN.js.map → chunk-VZIYTP3X.js.map} +0 -0
- /package/dist/{chunk-QVO5VPNA.js.map → chunk-WEBWXSFF.js.map} +0 -0
- /package/dist/{chunk-OHVXHNUR.js.map → chunk-WOHTTXLG.js.map} +0 -0
- /package/dist/{chunk-BMMXYR7A.js.map → chunk-WZXMZFVB.js.map} +0 -0
- /package/dist/{chunk-C7KV5O5J.js.map → chunk-XY7W6MQN.js.map} +0 -0
- /package/dist/{chunk-7GFGFBWZ.js.map → chunk-YEQTBPEB.js.map} +0 -0
- /package/dist/{chunk-L2LGHWJN.js.map → chunk-YHBMCP6C.js.map} +0 -0
- /package/dist/{chunk-7MIOMG22.js.map → chunk-YJEG6TQ3.js.map} +0 -0
- /package/dist/{chunk-4SAO6RT2.js.map → chunk-YQYCWYFJ.js.map} +0 -0
- /package/dist/{claim-YABJMHON.js.map → claim-4LKB2Z6T.js.map} +0 -0
- /package/dist/{companies-K2IVXNC5.js.map → companies-KCHDEHAA.js.map} +0 -0
- /package/dist/{company-6JAVJPSU.js.map → company-C2Y7LY5H.js.map} +0 -0
- /package/dist/{complete-4R6O7TAF.js.map → complete-MNN3PAZE.js.map} +0 -0
- /package/dist/{connect-FWT2IC5N.js.map → connect-IABMKFGA.js.map} +0 -0
- /package/dist/{conversation-DSRM4JIU.js.map → conversation-FETU4KTF.js.map} +0 -0
- /package/dist/{conversion-report-2FREFML5.js.map → conversion-report-33SG7SHU.js.map} +0 -0
- /package/dist/{conversion-upload-command-JAGV6GMG.js.map → conversion-upload-command-DWIGVHQZ.js.map} +0 -0
- /package/dist/{conversion-writes-JZIJSQ7T.js.map → conversion-writes-XGGTBML5.js.map} +0 -0
- /package/dist/{conversions-Q5EBTEXA.js.map → conversions-PPP4QK7U.js.map} +0 -0
- /package/dist/{conversions-4D5TEPO4.js.map → conversions-S3WIR5R4.js.map} +0 -0
- /package/dist/{create-SDFDKJGJ.js.map → create-A3ZIQVIH.js.map} +0 -0
- /package/dist/{create-VW23RNWT.js.map → create-ESKBBBJX.js.map} +0 -0
- /package/dist/{create-FMGLMQZC.js.map → create-U2ITO4RV.js.map} +0 -0
- /package/dist/{create-3OYFSUR5.js.map → create-VNYTZJ4T.js.map} +0 -0
- /package/dist/{creatives-B7GJ2IC5.js.map → creatives-WSCRC5GO.js.map} +0 -0
- /package/dist/{creatives-E33LXJG7.js.map → creatives-XO5E4AIC.js.map} +0 -0
- /package/dist/{credentials-WGGZFBDJ.js.map → credentials-ZV66ZUCK.js.map} +0 -0
- /package/dist/{critique-US4B3ZY5.js.map → critique-ODWLA52C.js.map} +0 -0
- /package/dist/{critique-EOYMGUIK.js.map → critique-X3433R5M.js.map} +0 -0
- /package/dist/{crm-UBQ735O6.js.map → crm-WPPM2R7I.js.map} +0 -0
- /package/dist/{crm-T4XPJZTR.js.map → crm-XPIQAGH7.js.map} +0 -0
- /package/dist/{currency-EFDQYW5B.js.map → currency-HK2ZW2VW.js.map} +0 -0
- /package/dist/{customers-HHQUU3MA.js.map → customers-GCM7WZII.js.map} +0 -0
- /package/dist/{delete-UC5XQZWC.js.map → delete-GAIV2YVD.js.map} +0 -0
- /package/dist/{delete-X5TD7P3U.js.map → delete-RVJLATPO.js.map} +0 -0
- /package/dist/{delete-JPIV5E2Y.js.map → delete-VJ5QXKZR.js.map} +0 -0
- /package/dist/{demographics-6GQYZIVR.js.map → demographics-XWIW3YJF.js.map} +0 -0
- /package/dist/{discard-5UNX5TEZ.js.map → discard-TWX2CQF5.js.map} +0 -0
- /package/dist/{discover-BPUUWRBP.js.map → discover-Q5PAOIQQ.js.map} +0 -0
- /package/dist/{domain-7BOPJLTP.js.map → domain-FE32BE2E.js.map} +0 -0
- /package/dist/{download-B4IV43AJ.js.map → download-5FYHTIGR.js.map} +0 -0
- /package/dist/{draft-FVB6SEP3.js.map → draft-5VLO5UYZ.js.map} +0 -0
- /package/dist/{draft-GCOCG4PO.js.map → draft-L2NXCIYT.js.map} +0 -0
- /package/dist/{draft-VRE52N6B.js.map → draft-L757UIW5.js.map} +0 -0
- /package/dist/{draft-GSDDK6FO.js.map → draft-WK4PEMB6.js.map} +0 -0
- /package/dist/{draft-QT6MVG47.js.map → draft-ZCP3MIV6.js.map} +0 -0
- /package/dist/{experiments-3JSDRY5W.js.map → experiments-DVR7WBGQ.js.map} +0 -0
- /package/dist/{extract-BVSL6H3S.js.map → extract-JM6FAWAS.js.map} +0 -0
- /package/dist/{facets-NN33WFSR.js.map → facets-IEQJK5AW.js.map} +0 -0
- /package/dist/{feedback-BYXZEEW3.js.map → feedback-QUJ2V4WD.js.map} +0 -0
- /package/dist/{feedback-HN32HLFT.js.map → feedback-SSCN7LEP.js.map} +0 -0
- /package/dist/{feedback-record-GZNCHZFT.js.map → feedback-record-P6WK4UPP.js.map} +0 -0
- /package/dist/{fetch-3JPN4QAJ.js.map → fetch-Q6BIDVN5.js.map} +0 -0
- /package/dist/{fit-2R5NGB7E.js.map → fit-XLK5LDPS.js.map} +0 -0
- /package/dist/{flows-XM7GBTIU.js.map → flows-QVGZEYCH.js.map} +0 -0
- /package/dist/{fonts-IO4X2AKN.js.map → fonts-GARRSRIB.js.map} +0 -0
- /package/dist/{forecast-MOFJ3BKH.js.map → forecast-GEYNZ5PQ.js.map} +0 -0
- /package/dist/{forecast-HMNQZFVL.js.map → forecast-THQNGKPE.js.map} +0 -0
- /package/dist/{funnel-FR7JQUZW.js.map → funnel-OABL4MLZ.js.map} +0 -0
- /package/dist/{generate-KAWRRYTT.js.map → generate-Y4NJEYIH.js.map} +0 -0
- /package/dist/{get-MXXANBI3.js.map → get-63KQ62KN.js.map} +0 -0
- /package/dist/{get-BMJIYS25.js.map → get-RDGC3QA5.js.map} +0 -0
- /package/dist/{google-MHFI5OGW.js.map → google-32BCQC7C.js.map} +0 -0
- /package/dist/{google-3CAUWNWE.js.map → google-VYCMEWUL.js.map} +0 -0
- /package/dist/{google-ads-ULZRFDZU.js.map → google-ads-PCXGVHZV.js.map} +0 -0
- /package/dist/{history-SGFTHPT2.js.map → history-J7ANCPWY.js.map} +0 -0
- /package/dist/{history-F3U3WNEJ.js.map → history-NX67UIZ7.js.map} +0 -0
- /package/dist/{history-YQSYXBJH.js.map → history-VKRYKQ4C.js.map} +0 -0
- /package/dist/{hubspot-FASIF5U5.js.map → hubspot-Z3J3JBEH.js.map} +0 -0
- /package/dist/{ideas-TKCOPOMS.js.map → ideas-22I7JTI7.js.map} +0 -0
- /package/dist/{images-K4EPTLTF.js.map → images-3C4Y6RWL.js.map} +0 -0
- /package/dist/{ingest-MCCJBWYC.js.map → ingest-CFH2MPSF.js.map} +0 -0
- /package/dist/{ingest-T3AV5OR4.js.map → ingest-VXX2Y76C.js.map} +0 -0
- /package/dist/{insights-UVCFOB3N.js.map → insights-3IPSEBYW.js.map} +0 -0
- /package/dist/{inspect-3OHTBHNO.js.map → inspect-LDXPOGGH.js.map} +0 -0
- /package/dist/{intent-F5NTOSQC.js.map → intent-ZM4K623V.js.map} +0 -0
- /package/dist/{keyword-gap-EB5QATYN.js.map → keyword-gap-FAAF2I6V.js.map} +0 -0
- /package/dist/{keyword-metrics-E4PPLUYX.js.map → keyword-metrics-E36SMZSP.js.map} +0 -0
- /package/dist/{keywords-for-site-HD2FOBMH.js.map → keywords-for-site-AWGWDXZA.js.map} +0 -0
- /package/dist/{landing-NC2A277E.js.map → landing-PVTDVL22.js.map} +0 -0
- /package/dist/{languages-4S26FJDP.js.map → languages-ZGDTERIQ.js.map} +0 -0
- /package/dist/{leads-LL2S6ENL.js.map → leads-XC3C5HGC.js.map} +0 -0
- /package/dist/{learn-2CP2SROJ.js.map → learn-NYRL53NQ.js.map} +0 -0
- /package/dist/{line-item-writes-56A4ITU6.js.map → line-item-writes-LMSYCR6G.js.map} +0 -0
- /package/dist/{line-items-AIIDDTTH.js.map → line-items-P24SOGVZ.js.map} +0 -0
- /package/dist/{link-BIXBY5KG.js.map → link-H3TTWJJO.js.map} +0 -0
- /package/dist/{linkedin-TXX22PPH.js.map → linkedin-57JHH7QN.js.map} +0 -0
- /package/dist/{linkedin-person-5KEGEX6G.js.map → linkedin-person-HKKIE32Q.js.map} +0 -0
- /package/dist/{list-UQNU4QUE.js.map → list-KHCFVTQU.js.map} +0 -0
- /package/dist/{list-YBHQ3HIB.js.map → list-LC2GRYEI.js.map} +0 -0
- /package/dist/{list-C5AT3LF4.js.map → list-UCTFATXS.js.map} +0 -0
- /package/dist/{locations-WXGOI3VV.js.map → locations-A65MFB7Q.js.map} +0 -0
- /package/dist/{locations-UWBQLHXW.js.map → locations-WN6B3IJK.js.map} +0 -0
- /package/dist/{log-FZJTWN3S.js.map → log-SLYCPRCY.js.map} +0 -0
- /package/dist/{make-ESUFN3T4.js.map → make-HTCPU6HU.js.map} +0 -0
- /package/dist/{map-WDOBMEAW.js.map → map-237LQ5N5.js.map} +0 -0
- /package/dist/{mcp-JJZ5YGSS.js.map → mcp-GX5TOO7Y.js.map} +0 -0
- /package/dist/{media-sources-AJ5USQXV.js.map → media-sources-ODNIS7A5.js.map} +0 -0
- /package/dist/{members-NSR7S62Y.js.map → members-TYQKWR7Z.js.map} +0 -0
- /package/dist/{metrics-4AFEEDVP.js.map → metrics-3U3ZO2RF.js.map} +0 -0
- /package/dist/{models-2ZEM64H5.js.map → models-VOSJJFO2.js.map} +0 -0
- /package/dist/{normalize-RQEHHRES.js.map → normalize-MDTMKLYO.js.map} +0 -0
- /package/dist/{options-4BW4P6JD.js.map → options-MEADUZY3.js.map} +0 -0
- /package/dist/{organization-TKGXZYH6.js.map → organization-BXJSHRZG.js.map} +0 -0
- /package/dist/{performance-XGHZDQGU.js.map → performance-CU65TLCB.js.map} +0 -0
- /package/dist/{performance-27VHB3UA.js.map → performance-IGCOP5VH.js.map} +0 -0
- /package/dist/{pixels-HEI5WVAO.js.map → pixels-U6UA662G.js.map} +0 -0
- /package/dist/{preview-2YRMPWI2.js.map → preview-YQ6P5A53.js.map} +0 -0
- /package/dist/{promoted-tweet-writes-PT6BW64X.js.map → promoted-tweet-writes-X2CUNBU2.js.map} +0 -0
- /package/dist/{promoted-tweets-SBZXEU7S.js.map → promoted-tweets-G2NOW5OF.js.map} +0 -0
- /package/dist/{publish-Z7ZK3XB7.js.map → publish-YPCXCU4P.js.map} +0 -0
- /package/dist/{query-K7MYBRTS.js.map → query-SAQADBM2.js.map} +0 -0
- /package/dist/{reddit-L4RQNJBL.js.map → reddit-XMAGZMD4.js.map} +0 -0
- /package/dist/{refresh-EWALAFUQ.js.map → refresh-QIK3CXLV.js.map} +0 -0
- /package/dist/{release-C2H2KBNY.js.map → release-O7KGD5MI.js.map} +0 -0
- /package/dist/{relevant-pages-XYQKVX3U.js.map → relevant-pages-KTSODNNW.js.map} +0 -0
- /package/dist/{remove-JOXARFD3.js.map → remove-7FAWM2H4.js.map} +0 -0
- /package/dist/{reopen-WRW4JVO2.js.map → reopen-4ZWEYNCI.js.map} +0 -0
- /package/dist/{rerun-GYWQOZOF.js.map → rerun-IDUKOW6Z.js.map} +0 -0
- /package/dist/{research-MCTV6ZJZ.js.map → research-SPFILN24.js.map} +0 -0
- /package/dist/{research-422BF4O4.js.map → research-Y5MSZH6T.js.map} +0 -0
- /package/dist/{reset-MZDRR5VP.js.map → reset-4K7BXUY6.js.map} +0 -0
- /package/dist/{reset-7ANRT4I3.js.map → reset-YSDYSZ64.js.map} +0 -0
- /package/dist/{resolve-KKRG65WF.js.map → resolve-DD6ES7GJ.js.map} +0 -0
- /package/dist/{retry-YZCBWAHT.js.map → retry-PZTS6KMQ.js.map} +0 -0
- /package/dist/{retry-PDKRPWIZ.js.map → retry-YAZ3JXYL.js.map} +0 -0
- /package/dist/{revenue-F7E5ZRLB.js.map → revenue-PLJ46IYH.js.map} +0 -0
- /package/dist/{rules-GRLAFAZU.js.map → rules-I4PL72J7.js.map} +0 -0
- /package/dist/{rules-add-3C7LW4HD.js.map → rules-add-EFD2YSLH.js.map} +0 -0
- /package/dist/{run-QDPXTMW6.js.map → run-FN365AXZ.js.map} +0 -0
- /package/dist/{run-ZV73UQ3E.js.map → run-WCFKVQQQ.js.map} +0 -0
- /package/dist/{scaffold-ad-LBLEARDJ.js.map → scaffold-ad-PI4IHOG5.js.map} +0 -0
- /package/dist/{scaffold-static-ad-TM3JX4HS.js.map → scaffold-static-ad-RDOCRFEP.js.map} +0 -0
- /package/dist/{scaffold-video-EINW32ZH.js.map → scaffold-video-HPRYTHE6.js.map} +0 -0
- /package/dist/{schedule-X5ZKZXPC.js.map → schedule-NPZPVNSO.js.map} +0 -0
- /package/dist/{scheduled-agents-APZA42K2.js.map → scheduled-agents-5TNWITKB.js.map} +0 -0
- /package/dist/{schema-6JF4ZNGY.js.map → schema-PMVRMIRU.js.map} +0 -0
- /package/dist/{search-4VAIJA2O.js.map → search-BRANRGRU.js.map} +0 -0
- /package/dist/{select-TNLQGGNE.js.map → select-CLDJE7VJ.js.map} +0 -0
- /package/dist/{set-prompt-GU3HPWWZ.js.map → set-prompt-7VHSKVO6.js.map} +0 -0
- /package/dist/{setup-links-ORBZ5T4H.js.map → setup-links-PAA7XYV5.js.map} +0 -0
- /package/dist/{shopify-SN3TBTL5.js.map → shopify-VWIRGI6H.js.map} +0 -0
- /package/dist/{site-3ZORNMAE.js.map → site-Q3PMNJ2Z.js.map} +0 -0
- /package/dist/{sources-WT6M3QIX.js.map → sources-4YHNM22P.js.map} +0 -0
- /package/dist/{sources-WGEC6FGZ.js.map → sources-BYMGSUPZ.js.map} +0 -0
- /package/dist/{stale-5YYPMXWX.js.map → stale-WO6FTPLQ.js.map} +0 -0
- /package/dist/{status-WED3AXTZ.js.map → status-B2WRAPZO.js.map} +0 -0
- /package/dist/{stock-33GHQWNQ.js.map → stock-BOOSUS2C.js.map} +0 -0
- /package/dist/{studio-4EV5S7PR.js.map → studio-XLC37YGX.js.map} +0 -0
- /package/dist/{sync-2GLGCSRQ.js.map → sync-2QIPZFSK.js.map} +0 -0
- /package/dist/{sync-definition-SNUWHPGO.js.map → sync-definition-L52PGD7B.js.map} +0 -0
- /package/dist/{tags-IQY7GYMU.js.map → tags-AIE4XEU2.js.map} +0 -0
- /package/dist/{tags-MYUCES3W.js.map → tags-DF6JNSNA.js.map} +0 -0
- /package/dist/{tags-SCMHCPF4.js.map → tags-SWP4MXQO.js.map} +0 -0
- /package/dist/{tags-CVPMOYKI.js.map → tags-VXHV4JWM.js.map} +0 -0
- /package/dist/{tags-AQNOA7X5.js.map → tags-XYQUPA6M.js.map} +0 -0
- /package/dist/{targeting-criteria-RVJHW22S.js.map → targeting-criteria-UYAEVSX3.js.map} +0 -0
- /package/dist/{targets-G6SN6VTL.js.map → targets-XFL7CE7N.js.map} +0 -0
- /package/dist/{testimonials-JALUWWLB.js.map → testimonials-DTCPATQ2.js.map} +0 -0
- /package/dist/{themes-FW3VWZJE.js.map → themes-HBWSZRFM.js.map} +0 -0
- /package/dist/{top-companies-WR6TXTNM.js.map → top-companies-SCKUWYFG.js.map} +0 -0
- /package/dist/{transcript-JMRRJEET.js.map → transcript-H7VSMOMV.js.map} +0 -0
- /package/dist/{translate-IGCEMHXS.js.map → translate-LCLG4NYR.js.map} +0 -0
- /package/dist/{triggers-UUSPHGXX.js.map → triggers-HN3O2CNG.js.map} +0 -0
- /package/dist/{unlink-U5VBTO7P.js.map → unlink-B5CD7ZW6.js.map} +0 -0
- /package/dist/{unstage-KSYT7FOP.js.map → unstage-34W4OU5D.js.map} +0 -0
- /package/dist/{update-QF6BLM5F.js.map → update-2OTR4JQV.js.map} +0 -0
- /package/dist/{update-GFKDIJRE.js.map → update-3CKLLPYX.js.map} +0 -0
- /package/dist/{update-VBQKI72I.js.map → update-6V2A4JGZ.js.map} +0 -0
- /package/dist/{update-ZIKHDZRT.js.map → update-7FBCTLFP.js.map} +0 -0
- /package/dist/{upload-UYE73VLK.js.map → upload-72ARWDHN.js.map} +0 -0
- /package/dist/{url-options-AHJPR5VY.js.map → url-options-6WC2XQKB.js.map} +0 -0
- /package/dist/{url-params-P6MV2HKB.js.map → url-params-TAZ2S675.js.map} +0 -0
- /package/dist/{validate-HIYNINCN.js.map → validate-6F3JKVQV.js.map} +0 -0
- /package/dist/{videos-XGQL37V4.js.map → videos-UCUYPQNK.js.map} +0 -0
- /package/dist/{viewer-check-TYTVCSQW.js.map → viewer-check-XZYL55G6.js.map} +0 -0
- /package/dist/{web-PIMTCU4V.js.map → web-YYXQXIH4.js.map} +0 -0
- /package/dist/{winning-ads-P4MXWYK6.js.map → winning-ads-H3HCI5QT.js.map} +0 -0
- /package/dist/{write-commands-24EOSYWL.js.map → write-commands-DS7WNSYA.js.map} +0 -0
- /package/dist/{x-HBA6AJJA.js.map → x-K4N6QIH2.js.map} +0 -0
package/README.md
CHANGED
|
@@ -7062,7 +7062,7 @@ The canvas is validated before it is written. stdout returns `{ ok, canvas_path,
|
|
|
7062
7062
|
|
|
7063
7063
|
**Who sees the ad.** `--target-adset <id>` names the Meta ad set the ad will run in. Before anything is billed, the viewer its targeting reaches is read exactly as `baker ads meta adsets --audience` reads it (`temperature`, what they already `knows`, `placements`) and written to `_definition.md` as `targetAdSet` and `viewer` (an existing definition keeps every other field). The sizes, the brief and the prefilter keep clear of that viewer's placements (`staticSafeArea`; `automatic`, a bare `facebook`/`instagram` or no placements is Advantage+, Reels included), and every `baker canvas run` checks the ad against that viewer. With no ad account, give the viewer from the Knowledge: `--viewer-temperature cold|warm|hot [--viewer-knows brand,offer,product] [--viewer-placements <placement,…>]`, recorded with `source: knowledge`; next to `--target-adset` they correct the read, and its `reasons` say so. A bad value exits 2 (`invalid_viewer`) before any billed pass; an ad set that cannot be read never stops the scaffold (a hint says why, and the sizes keep clear of every placement). With neither flag, a `viewer` (or `targetAdSet`) already in `_definition.md` is used as it is. stdout carries `target_adset`, `viewer` and a `checklist.viewer` line.
|
|
7064
7064
|
|
|
7065
|
-
**After a run** the CLI reads the finished ad back on what makes a static win, not a checklist of elements: every delivered image's pixel shape against its format; **every line of `prompt.json`'s copy (in-scene and designed alike) read back with its box by a box reader and compared** (a line more than 2% off, missing, or joined by words nobody asked for is blocking; case and punctuation fold, as does a capital I read as an l (one stroke in a sans-serif), accents do not; words the picture adds are blocking only when set at the copy's usual size or making a claim (a figure, a price, an offer), and otherwise a note, as a screen's code, a poster or a mug in the scene, except a price (a currency sign beside a figure) the copy does not hold, blocking at any size and blurred by the correction, the document it is on kept; every render is asked for no readable prices on a bill, quote, receipt, screen or price tag beyond the copy; a copy line is "on the ad twice" only when most of its words repeat, never a word or two echoed on a prop; on a native screen, which code typesets from the spec, a line read differently is the reader's error and only a missing one counts); **the ad's own copy and its logo measured against the format's safe area** (`staticSafeArea`, the one owner of those areas; `must-show.ts` decides what is measured: never what the scene prints, nor a copy line printed again in the scene while the line itself sits clear). On a 9:16, which runs in Stories and Reels alike (Advantage+, or both named), what either covers (Stories' header and reply bar, Reels' caption and the buttons down its right side, `blockingArea`, from `AD_PLACEMENTS`; and any other app's interface named) blocks for the logo, the button, the headline, the figure and the offer, said as "where Stories and Reels cover it", or "where Reels' caption and buttons cover it" for what Stories shows ("where Reels covers it" for an ad set that runs only in Reels), while a supporting line (body, caption, label, small print) there is a note; words merely close to where an app draws are no finding. The plate's words zone, the words and re-layout briefs, the code move of the words (up to a quarter of the frame) and the safe fit keep to the same band. The steps that place a size clear of an interface (`static_safe_fit`, `static_place`) are told the same copy (`prompt.json`'s lines, their roles, and the brand's name and the logo's words, a wordmark read close to them counting as the logo) and move the ad for those alone, a supporting line included only where the frame cuts it; on a feed image such as a 4:5, only a design margin, so words close to the edge are a warning and only words the frame cuts are blocking); a copy line written over two lines (`"15%\noff"`) is matched part by part wherever the reader finds each; designed type in a colour far from the brand palette is a warning; supporting lines too small to read on a phone are one note per size; the main line set smaller than a supporting one is a note, the brand's wordmark never counted as part of a line that starts with its name; the logo set twice is a note, a far smaller mark printed on something in the scene (a hoodie, a bag) is not. When the copy names a real person ("Lautaro Suarez, CTO at Vibiz", "田中 美咲、Acme 創業者"; read by a text model in any language, cached by copy, `scripts/named-people-evals`), the run casts them as themselves before it renders (`baker avatars research --create`, their avatar's sheet added to `prompt.json` `references` as a `PERSON_n`), and a face shown as a named person the ad has no photo of is blocking. An ad that casts nobody (no person picture, and its scene names nobody or rules people out) blocks any person drawn in it, a tiny round avatar in an interface aside; a brief trimmed to fit its word budget says again what its scene ruled out ("no people, no phone"). A correction of the spec never puts a person in an ad that casts nobody. When the reader cannot answer, the vision pass transcribes the copy instead and judges the safe zones by eye. Then one vision pass for clipping, overlaps, artifacts, one dominant idea, the brand with the logo covered and the concept's mechanisms; an ad built on a proven ad is checked against that ad's picture for each element it must keep, and what stops the scroll and the proof (`job: stop | proof`) are asked one by one for every size (`keeps`): a size that lost either is blocking whatever the model graded its words, typed with the job it did, and no second look lifts it (`vitalFindings`) (each finding typed by the model with the item it answers, what it is about, what is wrong and the edges that cut it, which the grading and the automatic correction read instead of its words), with every format shown a second time at phone-feed thumbnail size (240px wide, same call): a lead message unreadable at that size is blocking. **Every size a model drew apart from the lead** (each `adapt_<size>`, or a size cut from a picture painted wider) **is compared with it**: people, faces and animals counted on two reads of the subject boxes, and a side-by-side vision comparison (catalog role `sizeMatch`) for the same product and people, nothing shown twice, never the lead boxed inside a bigger frame; a difference is one blocking `<size>: …` finding (item `sizes`) that the automatic correction answers by making that size again (painting `plate_wide` again when the size is cut from it), and a size that could not be compared is named in the hints. A size cut from the chosen picture (`format_<size>`) is consistent by construction and is not compared. A missing logo, CTA or copy is never a finding; a logo that is drawn and broken is. **The delivered logo is held to the brand's file on the pixels**: where it was placed from the file, the size at the composite's box must show the file's own pixels (98% of them), and the composite's own check must find the logo and the headline wholly inside the frame and its safe area with no line of the copy under the logo; where a model drew it, the logo is found by its shape among the file's colourways and blocked when the frame cuts it or it is not the file as it is (Red Points' "POIПTS" drawn as "POINTS"). Each is a blocking `<size>: …` finding the automatic correction answers by setting that size's words again. stdout carries `verdict` (`ready` | `ready_with_notes` | `needs_fixes` | `not_reviewed`), the findings as `review` and the next step as `hints`; `--full` adds `judge` (the per-candidate scores) and prints the full guide in `hints`, ending with what the run made (without it, the guide is on stderr as `[hint]` lines); the findings are stored on the run as its `review`. `needs_fixes` means the ad is not done even though every node completed, and the run is recorded with `presentable: false` so it is never shown as a version; every fix is an edit to `prompt.json` and a re-run (wrong words: the lines in `copy`; wrong picture: the `scene`; a bad roll: `--regenerate static_variants`; one size wrong while the chosen picture is right: `--regenerate format_<size>`, which sets its words again, or `adapt_<size>` on an ad laid out again for each size, named in the hints); a blocking defect is first corrected by the run itself (`--autofix`, above). The checks rank the variants before the pick and the judge only breaks an exact tie, comparing pairwise against the compiled brief, knowing the brand and the viewer; every variant stays on offer to the person in Baker. Within one chat turn an ad gets two runs you start
|
|
7065
|
+
**After a run** the CLI reads the finished ad back on what makes a static win, not a checklist of elements: every delivered image's pixel shape against its format; **every line of `prompt.json`'s copy (in-scene and designed alike) read back with its box by a box reader and compared** (a line more than 2% off, missing, or joined by words nobody asked for is blocking; case and punctuation fold, as does a capital I read as an l (one stroke in a sans-serif), accents do not; words the picture adds are blocking only when set at the copy's usual size or making a claim (a figure, a price, an offer), and otherwise a note, as a screen's code, a poster or a mug in the scene, except a price (a currency sign beside a figure) the copy does not hold, blocking at any size and blurred by the correction, the document it is on kept; every render is asked for no readable prices on a bill, quote, receipt, screen or price tag beyond the copy; a copy line is "on the ad twice" only when most of its words repeat, never a word or two echoed on a prop; on a native screen, which code typesets from the spec, a line read differently is the reader's error and only a missing one counts); **the ad's own copy and its logo measured against the format's safe area** (`staticSafeArea`, the one owner of those areas; `must-show.ts` decides what is measured: never what the scene prints, nor a copy line printed again in the scene while the line itself sits clear). On a 9:16, which runs in Stories and Reels alike (Advantage+, or both named), what either covers (Stories' header and reply bar, Reels' caption and the buttons down its right side, `blockingArea`, from `AD_PLACEMENTS`; and any other app's interface named) blocks for the logo, the button, the headline, the figure and the offer, said as "where Stories and Reels cover it", or "where Reels' caption and buttons cover it" for what Stories shows ("where Reels covers it" for an ad set that runs only in Reels), while a supporting line (body, caption, label, small print) there is a note; words merely close to where an app draws are no finding. The plate's words zone, the words and re-layout briefs, the code move of the words (up to a quarter of the frame) and the safe fit keep to the same band. The steps that place a size clear of an interface (`static_safe_fit`, `static_place`) are told the same copy (`prompt.json`'s lines, their roles, and the brand's name and the logo's words, a wordmark read close to them counting as the logo) and move the ad for those alone, a supporting line included only where the frame cuts it; on a feed image such as a 4:5, only a design margin, so words close to the edge are a warning and only words the frame cuts are blocking); a copy line written over two lines (`"15%\noff"`) is matched part by part wherever the reader finds each; designed type in a colour far from the brand palette is a warning; supporting lines too small to read on a phone are one note per size; the main line set smaller than a supporting one is a note, the brand's wordmark never counted as part of a line that starts with its name; the logo set twice is a note, a far smaller mark printed on something in the scene (a hoodie, a bag) is not. When the copy names a real person ("Lautaro Suarez, CTO at Vibiz", "田中 美咲、Acme 創業者"; read by a text model in any language, cached by copy, `scripts/named-people-evals`), the run casts them as themselves before it renders (`baker avatars research --create`, their avatar's sheet added to `prompt.json` `references` as a `PERSON_n`), and a face shown as a named person the ad has no photo of is blocking. An ad that casts nobody (no person picture, and its scene names nobody or rules people out) blocks any person drawn in it, a tiny round avatar in an interface aside; a brief trimmed to fit its word budget says again what its scene ruled out ("no people, no phone"). A correction of the spec never puts a person in an ad that casts nobody. When the reader cannot answer, the vision pass transcribes the copy instead and judges the safe zones by eye. Then one vision pass for clipping, overlaps, artifacts, one dominant idea, the brand with the logo covered and the concept's mechanisms; an ad built on a proven ad is checked against that ad's picture for each element it must keep, and what stops the scroll and the proof (`job: stop | proof`) are asked one by one for every size (`keeps`): a size that lost either is blocking whatever the model graded its words, typed with the job it did, and no second look lifts it (`vitalFindings`) (each finding typed by the model with the item it answers, what it is about, what is wrong and the edges that cut it, which the grading and the automatic correction read instead of its words), with every format shown a second time at phone-feed thumbnail size (240px wide, same call): a lead message unreadable at that size is blocking. **Every size a model drew apart from the lead** (each `adapt_<size>`, or a size cut from a picture painted wider) **is compared with it**: people, faces and animals counted on two reads of the subject boxes, and a side-by-side vision comparison (catalog role `sizeMatch`) for the same product and people, nothing shown twice, never the lead boxed inside a bigger frame; a difference is one blocking `<size>: …` finding (item `sizes`) that the automatic correction answers by making that size again (painting `plate_wide` again when the size is cut from it), and a size that could not be compared is named in the hints. A size cut from the chosen picture (`format_<size>`) is consistent by construction and is not compared. A missing logo, CTA or copy is never a finding; a logo that is drawn and broken is. **The delivered logo is held to the brand's file on the pixels**: where it was placed from the file, the size at the composite's box must show the file's own pixels (98% of them), and the composite's own check must find the logo and the headline wholly inside the frame and its safe area with no line of the copy under the logo; where a model drew it, the logo is found by its shape among the file's colourways and blocked when the frame cuts it or it is not the file as it is (Red Points' "POIПTS" drawn as "POINTS"). Each is a blocking `<size>: …` finding the automatic correction answers by setting that size's words again. stdout carries `verdict` (`ready` | `ready_with_notes` | `needs_fixes` | `not_reviewed`), the findings as `review` and the next step as `hints`; `--full` adds `judge` (the per-candidate scores) and prints the full guide in `hints`, ending with what the run made (without it, the guide is on stderr as `[hint]` lines); the findings are stored on the run as its `review`. `needs_fixes` means the ad is not done even though every node completed, and the run is recorded with `presentable: false` so it is never shown as a version; every fix is an edit to `prompt.json` and a re-run (wrong words: the lines in `copy`; wrong picture: the `scene`; a bad roll: `--regenerate static_variants`; one size wrong while the chosen picture is right: `--regenerate format_<size>`, which sets its words again, or `adapt_<size>` on an ad laid out again for each size, named in the hints); a blocking defect is first corrected by the run itself (`--autofix`, above). The checks rank the variants before the pick and the judge only breaks an exact tie, comparing pairwise against the compiled brief, knowing the brand and the viewer; every variant stays on offer to the person in Baker. Within one chat turn an ad gets two runs you start (each with its automatic corrections) and about 12 minutes in all: a correction round that would take it past that is not started (`[autofix] not started`), the version shown as it stands, and no render starts once it is spent; once the ad is `ready` or `ready_with_notes` only a correction of it starts (`--fix`, one size's `--regenerate format_<size>` or `adapt_<size>`, or an edit of its words or colours), within the same two runs, and anything else is refused (`CONFLICT`, exit 2) with what to show instead; the person's next message starts a new turn (`turn-renders.ts`). When a defect still stands after the automatic rounds, the hints say to fix it with a `--fix`, then by changing the spec or the approach, and if it still cannot be fixed to show the best version and name what is left in one plain sentence, without a question.
|
|
7066
7066
|
|
|
7067
7067
|
The render prompt is **model-aware**: each model's profile (`src/engine/lib/prompt-profiles.ts`) sets its shape, word budget, picture order and request params. gpt-image gets short labelled sections with the constraints last; Gemini gets sentences that give the reason and a positive closing list of the only words allowed. A profile change, or a new model on the router (`src/engine/lib/image-model-router.ts`), is re-run on the static bench (`scripts/creative-evals`, `--job static`) before it ships. Run `baker canvas critique` on the scaffolded canvas for an advisory read before you spend.
|
|
7068
7068
|
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import {
|
|
2
|
+
csvOrJson,
|
|
3
|
+
handleLinkedinError,
|
|
4
|
+
resolveAccountIdArg
|
|
5
|
+
} from "./chunk-6TNRSWNA.js";
|
|
6
|
+
import {
|
|
7
|
+
writeAdsJson,
|
|
8
|
+
writeAdsOutput
|
|
9
|
+
} from "./chunk-MPTNN35I.js";
|
|
10
|
+
import {
|
|
11
|
+
NO_CACHE_ARG
|
|
12
|
+
} from "./chunk-HPF3USL2.js";
|
|
13
|
+
import "./chunk-5N77IAOT.js";
|
|
14
|
+
import "./chunk-QV6AST5T.js";
|
|
15
|
+
import "./chunk-WCU362Z6.js";
|
|
16
|
+
import "./chunk-GIWHHCD6.js";
|
|
17
|
+
import "./chunk-SOPVIIUW.js";
|
|
18
|
+
import "./chunk-G4FG5EQO.js";
|
|
19
|
+
import "./chunk-R7XDGNZD.js";
|
|
20
|
+
import "./chunk-IMS53EQU.js";
|
|
21
|
+
import {
|
|
22
|
+
apiGet
|
|
23
|
+
} from "./chunk-LJEJCIHR.js";
|
|
24
|
+
import "./chunk-SIRRBWQ2.js";
|
|
25
|
+
import "./chunk-B64KJW5C.js";
|
|
26
|
+
import "./chunk-NXNOXZGB.js";
|
|
27
|
+
import "./chunk-YQSBHWOI.js";
|
|
28
|
+
|
|
29
|
+
// src/commands/ads/linkedin/account.ts
|
|
30
|
+
import { defineCommand } from "citty";
|
|
31
|
+
var accountDetailCommand = defineCommand({
|
|
32
|
+
meta: {
|
|
33
|
+
name: "detail",
|
|
34
|
+
description: `Single LinkedIn ad account detail (currency, status, type).
|
|
35
|
+
|
|
36
|
+
Examples:
|
|
37
|
+
baker ads linkedin account --account-id 503001492
|
|
38
|
+
baker ads linkedin account --account-urn urn:li:sponsoredAccount:503001492 --output md`
|
|
39
|
+
},
|
|
40
|
+
args: {
|
|
41
|
+
"account-id": { type: "string", description: "Numeric account ID or urn:li:sponsoredAccount:N" },
|
|
42
|
+
"account-urn": { type: "string", description: "Alias for --account-id" },
|
|
43
|
+
"no-cache": NO_CACHE_ARG,
|
|
44
|
+
output: { type: "string", description: "json|csv|jsonl|md", default: "json" }
|
|
45
|
+
},
|
|
46
|
+
run: async ({ args }) => {
|
|
47
|
+
const accountId = resolveAccountIdArg(args);
|
|
48
|
+
try {
|
|
49
|
+
const params = { "account-id": accountId };
|
|
50
|
+
if (args["no-cache"]) params["skip-cache"] = "true";
|
|
51
|
+
const data = await apiGet("/api/ads/linkedin/account", params);
|
|
52
|
+
const fmt = csvOrJson(args);
|
|
53
|
+
if (fmt !== "json") {
|
|
54
|
+
writeAdsOutput([data], fmt);
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
writeAdsJson({ ok: true, data });
|
|
58
|
+
} catch (err) {
|
|
59
|
+
handleLinkedinError(err);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
var accountCommand = defineCommand({
|
|
64
|
+
meta: {
|
|
65
|
+
name: "account",
|
|
66
|
+
description: `LinkedIn ad account: its detail, and the settings that apply across every ad set in it.
|
|
67
|
+
|
|
68
|
+
Examples:
|
|
69
|
+
baker ads linkedin account --account-id 503001492 \u2014 currency, status, type
|
|
70
|
+
baker ads linkedin account url-params --param utm_source=linkedin \u2014 UTMs for every ad in the account`
|
|
71
|
+
},
|
|
72
|
+
subCommands: {
|
|
73
|
+
detail: accountDetailCommand,
|
|
74
|
+
"url-params": () => import("./write-commands-DS7WNSYA.js").then((m) => m.accountUrlParamsCommand)
|
|
75
|
+
},
|
|
76
|
+
args: accountDetailCommand.args,
|
|
77
|
+
default: "detail"
|
|
78
|
+
});
|
|
79
|
+
export {
|
|
80
|
+
accountCommand
|
|
81
|
+
};
|
|
82
|
+
//# sourceMappingURL=account-H6OOCEE3.js.map
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CHATGPT_ADS_REFERENCE,
|
|
3
|
+
runChatgptRead
|
|
4
|
+
} from "./chunk-X7USE7IA.js";
|
|
5
|
+
import "./chunk-MPTNN35I.js";
|
|
6
|
+
import "./chunk-SOPVIIUW.js";
|
|
7
|
+
import "./chunk-G4FG5EQO.js";
|
|
8
|
+
import {
|
|
9
|
+
apiGet
|
|
10
|
+
} from "./chunk-LJEJCIHR.js";
|
|
11
|
+
import "./chunk-SIRRBWQ2.js";
|
|
12
|
+
import "./chunk-B64KJW5C.js";
|
|
13
|
+
import {
|
|
14
|
+
registerSchema
|
|
15
|
+
} from "./chunk-NXNOXZGB.js";
|
|
16
|
+
import "./chunk-YQSBHWOI.js";
|
|
17
|
+
|
|
18
|
+
// src/commands/ads/chatgpt/account.ts
|
|
19
|
+
import { defineCommand } from "citty";
|
|
20
|
+
registerSchema({
|
|
21
|
+
command: "ads.chatgpt.account",
|
|
22
|
+
description: "The connected ChatGPT Ads account: name, currency, timezone, status, and the brand and account reviews that decide whether anything in it can serve.",
|
|
23
|
+
args: {
|
|
24
|
+
full: { type: "boolean", description: "Return ChatGPT Ads' own account object", required: false }
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
function accountHints(account) {
|
|
28
|
+
const hints = [];
|
|
29
|
+
if (account.brandReview.status !== "approved") {
|
|
30
|
+
const reason = account.brandReview.reason ? ` (${account.brandReview.reason})` : "";
|
|
31
|
+
hints.push(
|
|
32
|
+
`Brand review is ${account.brandReview.status}${reason}: nothing in this account serves until it is approved. Fix it in ChatGPT Ads Manager before changing campaigns.`
|
|
33
|
+
);
|
|
34
|
+
}
|
|
35
|
+
if (account.accountReview && account.accountReview.status !== "approved") {
|
|
36
|
+
hints.push(`A separate account review is ${account.accountReview.status}; delivery can wait on it too.`);
|
|
37
|
+
}
|
|
38
|
+
if (account.status === "paused") {
|
|
39
|
+
hints.push("The whole account is paused, so no campaign in it serves whatever its own status says.");
|
|
40
|
+
}
|
|
41
|
+
return hints;
|
|
42
|
+
}
|
|
43
|
+
var SHOW_ARGS = {
|
|
44
|
+
full: { type: "boolean", description: "Return ChatGPT Ads' own account object", required: false }
|
|
45
|
+
};
|
|
46
|
+
var accountShowCommand = defineCommand({
|
|
47
|
+
meta: {
|
|
48
|
+
name: "show",
|
|
49
|
+
description: "The connected ChatGPT Ads account. Example: baker ads chatgpt account"
|
|
50
|
+
},
|
|
51
|
+
args: SHOW_ARGS,
|
|
52
|
+
run: async ({ args }) => {
|
|
53
|
+
await runChatgptRead(
|
|
54
|
+
CHATGPT_ADS_REFERENCE.account,
|
|
55
|
+
() => apiGet("/api/ads/chatgpt/account", args.full ? { full: "true" } : void 0),
|
|
56
|
+
(account) => args.full ? [] : accountHints(account)
|
|
57
|
+
);
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
var accountCommand = defineCommand({
|
|
61
|
+
meta: {
|
|
62
|
+
name: "account",
|
|
63
|
+
description: `The connected ChatGPT Ads account. Start here: currency and timezone for every figure, and whether reviews let anything serve.
|
|
64
|
+
|
|
65
|
+
Examples:
|
|
66
|
+
baker ads chatgpt account
|
|
67
|
+
baker ads chatgpt account --full
|
|
68
|
+
baker ads chatgpt account update --favicon-url https://example.com/icon.png \u2014 staged; applies on publish`
|
|
69
|
+
},
|
|
70
|
+
subCommands: {
|
|
71
|
+
show: accountShowCommand,
|
|
72
|
+
update: () => import("./account-writes-KEXINJ5D.js").then((m) => m.accountUpdateCommand)
|
|
73
|
+
},
|
|
74
|
+
// A parent must never declare `run`: citty falls through to it after the matched subcommand.
|
|
75
|
+
args: SHOW_ARGS,
|
|
76
|
+
default: "show"
|
|
77
|
+
});
|
|
78
|
+
export {
|
|
79
|
+
accountCommand,
|
|
80
|
+
accountHints
|
|
81
|
+
};
|
|
82
|
+
//# sourceMappingURL=account-JVDP5ERG.js.map
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
import {
|
|
2
|
+
exitWithServiceReadError
|
|
3
|
+
} from "./chunk-URGXEDFV.js";
|
|
4
|
+
import {
|
|
5
|
+
failWriteValidation,
|
|
6
|
+
listFlag,
|
|
7
|
+
requireCustomerId
|
|
8
|
+
} from "./chunk-FWYWLEDP.js";
|
|
9
|
+
import "./chunk-ERSX3MKH.js";
|
|
10
|
+
import "./chunk-YRWCXYWW.js";
|
|
11
|
+
import "./chunk-4NZ47VXO.js";
|
|
12
|
+
import "./chunk-D5FY4FAK.js";
|
|
13
|
+
import "./chunk-BIBXZJZI.js";
|
|
14
|
+
import "./chunk-QALAJNBG.js";
|
|
15
|
+
import "./chunk-WZXMZFVB.js";
|
|
16
|
+
import {
|
|
17
|
+
getManagerIdForCustomer,
|
|
18
|
+
writeJsonEnvelope
|
|
19
|
+
} from "./chunk-MPTNN35I.js";
|
|
20
|
+
import "./chunk-Q3G4ZI2U.js";
|
|
21
|
+
import "./chunk-DGHSXHZR.js";
|
|
22
|
+
import "./chunk-Q736UFSD.js";
|
|
23
|
+
import "./chunk-CBVUO7SK.js";
|
|
24
|
+
import "./chunk-UK4XSLV2.js";
|
|
25
|
+
import "./chunk-O5VSYBUA.js";
|
|
26
|
+
import "./chunk-R7XDGNZD.js";
|
|
27
|
+
import "./chunk-IMS53EQU.js";
|
|
28
|
+
import {
|
|
29
|
+
apiPost
|
|
30
|
+
} from "./chunk-LJEJCIHR.js";
|
|
31
|
+
import "./chunk-SIRRBWQ2.js";
|
|
32
|
+
import "./chunk-B64KJW5C.js";
|
|
33
|
+
import {
|
|
34
|
+
registerSchema
|
|
35
|
+
} from "./chunk-NXNOXZGB.js";
|
|
36
|
+
import "./chunk-YQSBHWOI.js";
|
|
37
|
+
|
|
38
|
+
// src/commands/ads/google/account-reads.ts
|
|
39
|
+
import { defineCommand } from "citty";
|
|
40
|
+
function register(command, description, args) {
|
|
41
|
+
registerSchema({
|
|
42
|
+
command,
|
|
43
|
+
description,
|
|
44
|
+
args: Object.fromEntries(
|
|
45
|
+
Object.entries(args).map(([name, arg]) => [
|
|
46
|
+
name,
|
|
47
|
+
{ type: arg.type, description: arg.description, required: false }
|
|
48
|
+
])
|
|
49
|
+
)
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
async function serviceRead(path, customerId, body) {
|
|
53
|
+
const managerId = getManagerIdForCustomer(customerId);
|
|
54
|
+
const { data } = await apiPost(path, {
|
|
55
|
+
customerId,
|
|
56
|
+
...managerId ? { managerId } : {},
|
|
57
|
+
...body
|
|
58
|
+
});
|
|
59
|
+
return data;
|
|
60
|
+
}
|
|
61
|
+
var CUSTOMER_ARG = {
|
|
62
|
+
"customer-id": { type: "string", description: "Google Ads customer ID (10 digits, no dashes)" }
|
|
63
|
+
};
|
|
64
|
+
var INVOICE_ARGS = {
|
|
65
|
+
...CUSTOMER_ARG,
|
|
66
|
+
month: { type: "string", description: "Issue month, YYYY-MM (default: last month)" }
|
|
67
|
+
};
|
|
68
|
+
register(
|
|
69
|
+
"ads.google.invoices",
|
|
70
|
+
"List the invoices Google issued in one month (accounts on monthly invoicing only): id, dates, service period, subtotal/tax/total in micros, PDF link. Start here: `baker ads google invoices --customer-id 1234567890 --month 2026-09`. An account that pays automatically has no invoices \u2014 the error's fix says where its receipts are; carry on.",
|
|
71
|
+
INVOICE_ARGS
|
|
72
|
+
);
|
|
73
|
+
var invoicesCommand = defineCommand({
|
|
74
|
+
meta: {
|
|
75
|
+
name: "invoices",
|
|
76
|
+
description: `List one month's invoices (monthly-invoicing accounts only). Read-only.
|
|
77
|
+
|
|
78
|
+
Example:
|
|
79
|
+
baker ads google invoices --customer-id 1234567890 --month 2026-09`
|
|
80
|
+
},
|
|
81
|
+
args: INVOICE_ARGS,
|
|
82
|
+
run: async ({ args }) => {
|
|
83
|
+
const customerId = requireCustomerId(args);
|
|
84
|
+
try {
|
|
85
|
+
const data = await serviceRead("/api/ads/google/invoices", customerId, {
|
|
86
|
+
...args.month ? { month: args.month } : {}
|
|
87
|
+
});
|
|
88
|
+
const hints = data.invoices.length === 0 ? [`No invoice was issued in ${data.month}. Try the month before with --month.`] : [
|
|
89
|
+
"Amounts are micros in each invoice's currency_code (divide by 1,000,000). pdf_url needs the user's Google sign-in."
|
|
90
|
+
];
|
|
91
|
+
writeJsonEnvelope({ ok: true, data, hints });
|
|
92
|
+
} catch (err) {
|
|
93
|
+
exitWithServiceReadError(err);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
register(
|
|
98
|
+
"ads.google.identity-verification",
|
|
99
|
+
"Advertiser identity verification status: each program's status (PENDING_USER_ACTION, PENDING_REVIEW, SUCCESS, FAILURE), deadlines and the link where the user completes it. Start here: `baker ads google identity-verification --customer-id 1234567890`. Google only answers for accounts on monthly invoicing \u2014 otherwise the error's fix says where the user reads it; carry on.",
|
|
100
|
+
CUSTOMER_ARG
|
|
101
|
+
);
|
|
102
|
+
var identityVerificationCommand = defineCommand({
|
|
103
|
+
meta: {
|
|
104
|
+
name: "identity-verification",
|
|
105
|
+
description: `Advertiser identity verification status and deadlines. Read-only.
|
|
106
|
+
|
|
107
|
+
Example:
|
|
108
|
+
baker ads google identity-verification --customer-id 1234567890`
|
|
109
|
+
},
|
|
110
|
+
args: CUSTOMER_ARG,
|
|
111
|
+
run: async ({ args }) => {
|
|
112
|
+
const customerId = requireCustomerId(args);
|
|
113
|
+
try {
|
|
114
|
+
const data = await serviceRead(
|
|
115
|
+
"/api/ads/google/identity-verification",
|
|
116
|
+
customerId,
|
|
117
|
+
{}
|
|
118
|
+
);
|
|
119
|
+
const pending = data.programs.filter((program) => program.status === "PENDING_USER_ACTION");
|
|
120
|
+
const hints = pending.length > 0 ? [
|
|
121
|
+
`Verification is waiting on the advertiser${pending[0]?.completion_deadline ? ` (deadline ${pending[0].completion_deadline})` : ""}: give the user the action_url \u2014 ads stop serving if it lapses.`
|
|
122
|
+
] : [];
|
|
123
|
+
writeJsonEnvelope(hints.length > 0 ? { ok: true, data, hints } : { ok: true, data });
|
|
124
|
+
} catch (err) {
|
|
125
|
+
exitWithServiceReadError(err);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
var PREVIEW_ARGS = {
|
|
130
|
+
...CUSTOMER_ARG,
|
|
131
|
+
ads: {
|
|
132
|
+
type: "string",
|
|
133
|
+
description: "Comma-separated video ads of Video campaigns as {adGroupId}~{adId} (from `ads list`) \u2014 previewed live on YouTube"
|
|
134
|
+
},
|
|
135
|
+
"asset-groups": {
|
|
136
|
+
type: "string",
|
|
137
|
+
description: "Comma-separated Performance Max asset group ids (from `asset-groups list`) \u2014 previewed on Google's preview page"
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
register(
|
|
141
|
+
"ads.google.previews",
|
|
142
|
+
"Shareable preview links for Performance Max asset groups (Google's preview page) and video ads (live on YouTube) that already exist in the account \u2014 a link the user can open or forward. Start here: `baker ads google previews --customer-id 1234567890 --asset-groups 6743268912`. Returns { previews: [{ target, url, youtube_tv_url, expires_at }] }. Only video ads of Video campaigns can be previewed by ad (search, display and Demand Gen ads have no shareable preview); staged (unpublished) changes cannot be previewed.",
|
|
143
|
+
PREVIEW_ARGS
|
|
144
|
+
);
|
|
145
|
+
var previewsCommand = defineCommand({
|
|
146
|
+
meta: {
|
|
147
|
+
name: "previews",
|
|
148
|
+
description: `Shareable preview links for existing Performance Max asset groups and video ads. Read-only.
|
|
149
|
+
|
|
150
|
+
Examples:
|
|
151
|
+
baker ads google previews --customer-id 1234567890 --asset-groups 6743268912
|
|
152
|
+
baker ads google previews --customer-id 1234567890 --ads 195752489650~826812181091 # a video ad, live on YouTube`
|
|
153
|
+
},
|
|
154
|
+
args: PREVIEW_ARGS,
|
|
155
|
+
run: async ({ args }) => {
|
|
156
|
+
const customerId = requireCustomerId(args);
|
|
157
|
+
const ads = listFlag(args.ads);
|
|
158
|
+
const assetGroups = listFlag(args["asset-groups"]);
|
|
159
|
+
if (!ads?.length && !assetGroups?.length) failWriteValidation("pass --ads and/or --asset-groups");
|
|
160
|
+
try {
|
|
161
|
+
const data = await serviceRead("/api/ads/google/previews", customerId, {
|
|
162
|
+
...ads ? { ads } : {},
|
|
163
|
+
...assetGroups ? { assetGroups } : {}
|
|
164
|
+
});
|
|
165
|
+
writeJsonEnvelope({
|
|
166
|
+
ok: true,
|
|
167
|
+
data,
|
|
168
|
+
hints: [
|
|
169
|
+
"Each link expires (expires_at). It shows what is live in the account now, not anything staged in this chat."
|
|
170
|
+
]
|
|
171
|
+
});
|
|
172
|
+
} catch (err) {
|
|
173
|
+
exitWithServiceReadError(err);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
var BRAND_ARGS = {
|
|
178
|
+
...CUSTOMER_ARG,
|
|
179
|
+
prefix: { type: "string", description: "The start of the brand's name (at least 2 letters)" }
|
|
180
|
+
};
|
|
181
|
+
register(
|
|
182
|
+
"ads.google.brands",
|
|
183
|
+
"Find a brand's Google entity id \u2014 what a BRANDS list member names (`keyword-lists add --brand /g/\u2026`). Start here: `baker ads google brands --customer-id 1234567890 --prefix nike`. Several brands can share a name: pick by the URL. Read-only.",
|
|
184
|
+
BRAND_ARGS
|
|
185
|
+
);
|
|
186
|
+
var brandsCommand = defineCommand({
|
|
187
|
+
meta: {
|
|
188
|
+
name: "brands",
|
|
189
|
+
description: `Find brand entity ids for a brand list (BRANDS). Read-only.
|
|
190
|
+
|
|
191
|
+
Example:
|
|
192
|
+
baker ads google brands --customer-id 1234567890 --prefix nike`
|
|
193
|
+
},
|
|
194
|
+
args: BRAND_ARGS,
|
|
195
|
+
run: async ({ args }) => {
|
|
196
|
+
const customerId = requireCustomerId(args);
|
|
197
|
+
if (typeof args.prefix !== "string" || args.prefix.trim().length < 2) {
|
|
198
|
+
failWriteValidation("--prefix needs at least the first 2 letters of the brand");
|
|
199
|
+
}
|
|
200
|
+
try {
|
|
201
|
+
const data = await serviceRead("/api/ads/google/brands", customerId, {
|
|
202
|
+
prefix: args.prefix
|
|
203
|
+
});
|
|
204
|
+
const hints = data.brands.length > 0 ? [
|
|
205
|
+
"Several brands can share a name \u2014 pick the one whose URL is the brand you mean, then `keyword-lists add --list-ref <BRANDS list> --brand <entity_id>`."
|
|
206
|
+
] : ["No brand starts with that \u2014 try a shorter or different prefix."];
|
|
207
|
+
writeJsonEnvelope({ ok: true, data, hints });
|
|
208
|
+
} catch (err) {
|
|
209
|
+
exitWithServiceReadError(err);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
});
|
|
213
|
+
export {
|
|
214
|
+
brandsCommand,
|
|
215
|
+
identityVerificationCommand,
|
|
216
|
+
invoicesCommand,
|
|
217
|
+
previewsCommand
|
|
218
|
+
};
|
|
219
|
+
//# sourceMappingURL=account-reads-OQCA5LEM.js.map
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import {
|
|
2
|
+
bareAccountId
|
|
3
|
+
} from "./chunk-5LEIUG5H.js";
|
|
4
|
+
import {
|
|
5
|
+
handleLinkedinError
|
|
6
|
+
} from "./chunk-6TNRSWNA.js";
|
|
7
|
+
import "./chunk-YRWCXYWW.js";
|
|
8
|
+
import "./chunk-4NZ47VXO.js";
|
|
9
|
+
import "./chunk-D5FY4FAK.js";
|
|
10
|
+
import "./chunk-BIBXZJZI.js";
|
|
11
|
+
import {
|
|
12
|
+
writeJsonEnvelope
|
|
13
|
+
} from "./chunk-MPTNN35I.js";
|
|
14
|
+
import "./chunk-Q3G4ZI2U.js";
|
|
15
|
+
import "./chunk-DGHSXHZR.js";
|
|
16
|
+
import "./chunk-Q736UFSD.js";
|
|
17
|
+
import "./chunk-CBVUO7SK.js";
|
|
18
|
+
import "./chunk-UK4XSLV2.js";
|
|
19
|
+
import "./chunk-O5VSYBUA.js";
|
|
20
|
+
import "./chunk-5N77IAOT.js";
|
|
21
|
+
import "./chunk-QV6AST5T.js";
|
|
22
|
+
import "./chunk-WCU362Z6.js";
|
|
23
|
+
import "./chunk-GIWHHCD6.js";
|
|
24
|
+
import "./chunk-SOPVIIUW.js";
|
|
25
|
+
import "./chunk-G4FG5EQO.js";
|
|
26
|
+
import "./chunk-R7XDGNZD.js";
|
|
27
|
+
import "./chunk-IMS53EQU.js";
|
|
28
|
+
import {
|
|
29
|
+
apiGet
|
|
30
|
+
} from "./chunk-LJEJCIHR.js";
|
|
31
|
+
import "./chunk-SIRRBWQ2.js";
|
|
32
|
+
import "./chunk-B64KJW5C.js";
|
|
33
|
+
import "./chunk-NXNOXZGB.js";
|
|
34
|
+
import "./chunk-YQSBHWOI.js";
|
|
35
|
+
|
|
36
|
+
// src/commands/ads/linkedin/account-users.ts
|
|
37
|
+
import { defineCommand } from "citty";
|
|
38
|
+
var accountUsersCommand = defineCommand({
|
|
39
|
+
meta: {
|
|
40
|
+
name: "account-users",
|
|
41
|
+
description: `Who works on the ad account and their Campaign Manager role (Billing admin, Account manager, Campaign manager, Creative manager, Viewer); \`connectedLinkedin: true\` marks the person whose connection Baker publishes with.
|
|
42
|
+
Start here when: a conversation or message ad needs a sender (\`creatives create --format conversation --sender <person>\` \u2014 the default is the connected person), or a publish was refused for want of a role (a Viewer or Creative manager can't change campaigns).
|
|
43
|
+
LinkedIn only gives this app each person's id, not their name.
|
|
44
|
+
Example: baker ads linkedin account-users --account-id 513852526`
|
|
45
|
+
},
|
|
46
|
+
args: {
|
|
47
|
+
"account-id": { type: "string", description: "Numeric account ID or urn:li:sponsoredAccount:N" },
|
|
48
|
+
"account-urn": { type: "string", description: "Alias for --account-id" }
|
|
49
|
+
},
|
|
50
|
+
run: async ({ args }) => {
|
|
51
|
+
try {
|
|
52
|
+
const data = await apiGet("/api/ads/linkedin/account-users", {
|
|
53
|
+
"account-id": bareAccountId(args)
|
|
54
|
+
});
|
|
55
|
+
writeJsonEnvelope({ ok: true, data });
|
|
56
|
+
} catch (err) {
|
|
57
|
+
handleLinkedinError(err);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
export {
|
|
62
|
+
accountUsersCommand
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=account-users-VBPW6FPY.js.map
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import {
|
|
2
|
+
compact,
|
|
3
|
+
schemaArgs,
|
|
4
|
+
stageChatgptOp
|
|
5
|
+
} from "./chunk-XY7W6MQN.js";
|
|
6
|
+
import {
|
|
7
|
+
CHATGPT_ADS_REFERENCE,
|
|
8
|
+
chatgptFailure
|
|
9
|
+
} from "./chunk-X7USE7IA.js";
|
|
10
|
+
import {
|
|
11
|
+
writeJsonEnvelope
|
|
12
|
+
} from "./chunk-MPTNN35I.js";
|
|
13
|
+
import "./chunk-SOPVIIUW.js";
|
|
14
|
+
import "./chunk-G4FG5EQO.js";
|
|
15
|
+
import {
|
|
16
|
+
apiGet
|
|
17
|
+
} from "./chunk-LJEJCIHR.js";
|
|
18
|
+
import "./chunk-SIRRBWQ2.js";
|
|
19
|
+
import "./chunk-B64KJW5C.js";
|
|
20
|
+
import {
|
|
21
|
+
registerSchema
|
|
22
|
+
} from "./chunk-NXNOXZGB.js";
|
|
23
|
+
import "./chunk-YQSBHWOI.js";
|
|
24
|
+
|
|
25
|
+
// src/commands/ads/chatgpt/account-writes.ts
|
|
26
|
+
import { defineCommand } from "citty";
|
|
27
|
+
var REFERENCE = CHATGPT_ADS_REFERENCE.account;
|
|
28
|
+
var UPDATE_ARGS = {
|
|
29
|
+
name: { type: "string", description: "The advertiser name shown on every card" },
|
|
30
|
+
"favicon-url": { type: "string", description: "https:// square icon, at least 128 \xD7 128 px" }
|
|
31
|
+
};
|
|
32
|
+
registerSchema({
|
|
33
|
+
command: "ads.chatgpt.account.update",
|
|
34
|
+
description: "Stage a change to the advertiser's brand name or icon. It applies when the chat is published and starts a new brand review; nothing in the account serves until it is approved.",
|
|
35
|
+
args: schemaArgs(UPDATE_ARGS)
|
|
36
|
+
});
|
|
37
|
+
var accountUpdateCommand = defineCommand({
|
|
38
|
+
meta: {
|
|
39
|
+
name: "update",
|
|
40
|
+
description: `Stage a change to the brand name or icon (applies when the chat is published).
|
|
41
|
+
|
|
42
|
+
Examples:
|
|
43
|
+
baker ads chatgpt account update --favicon-url https://example.com/icon.png
|
|
44
|
+
baker ads chatgpt account update --name "GreenLeaf Energy"`
|
|
45
|
+
},
|
|
46
|
+
args: UPDATE_ARGS,
|
|
47
|
+
run: async ({ args }) => {
|
|
48
|
+
let account;
|
|
49
|
+
try {
|
|
50
|
+
account = await apiGet("/api/ads/chatgpt/account");
|
|
51
|
+
} catch (err) {
|
|
52
|
+
writeJsonEnvelope({ ...chatgptFailure(err, REFERENCE) });
|
|
53
|
+
process.exit(1);
|
|
54
|
+
}
|
|
55
|
+
await stageChatgptOp(
|
|
56
|
+
{
|
|
57
|
+
kind: "account.update",
|
|
58
|
+
target: account.id,
|
|
59
|
+
payload: compact({ name: args.name, faviconUrl: args["favicon-url"] })
|
|
60
|
+
},
|
|
61
|
+
REFERENCE
|
|
62
|
+
);
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
export {
|
|
66
|
+
accountUpdateCommand
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=account-writes-KEXINJ5D.js.map
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import {
|
|
2
|
+
csvOrJson,
|
|
3
|
+
handleLinkedinError
|
|
4
|
+
} from "./chunk-6TNRSWNA.js";
|
|
5
|
+
import {
|
|
6
|
+
connectedResourceHints
|
|
7
|
+
} from "./chunk-P4NSJS54.js";
|
|
8
|
+
import {
|
|
9
|
+
AVAILABLE_ARG,
|
|
10
|
+
writeAvailableAccounts
|
|
11
|
+
} from "./chunk-RRKUXGAU.js";
|
|
12
|
+
import {
|
|
13
|
+
writeAdsOutput,
|
|
14
|
+
writeJsonEnvelope
|
|
15
|
+
} from "./chunk-MPTNN35I.js";
|
|
16
|
+
import {
|
|
17
|
+
NO_CACHE_ARG
|
|
18
|
+
} from "./chunk-HPF3USL2.js";
|
|
19
|
+
import "./chunk-5N77IAOT.js";
|
|
20
|
+
import "./chunk-QV6AST5T.js";
|
|
21
|
+
import "./chunk-WCU362Z6.js";
|
|
22
|
+
import "./chunk-GIWHHCD6.js";
|
|
23
|
+
import "./chunk-SOPVIIUW.js";
|
|
24
|
+
import "./chunk-G4FG5EQO.js";
|
|
25
|
+
import "./chunk-R7XDGNZD.js";
|
|
26
|
+
import "./chunk-IMS53EQU.js";
|
|
27
|
+
import {
|
|
28
|
+
apiGet
|
|
29
|
+
} from "./chunk-LJEJCIHR.js";
|
|
30
|
+
import "./chunk-SIRRBWQ2.js";
|
|
31
|
+
import "./chunk-B64KJW5C.js";
|
|
32
|
+
import "./chunk-NXNOXZGB.js";
|
|
33
|
+
import "./chunk-YQSBHWOI.js";
|
|
34
|
+
|
|
35
|
+
// src/commands/ads/linkedin/accounts.ts
|
|
36
|
+
import { defineCommand } from "citty";
|
|
37
|
+
function accountHints(accounts) {
|
|
38
|
+
return connectedResourceHints({
|
|
39
|
+
plural: "LinkedIn ad accounts",
|
|
40
|
+
singular: "LinkedIn ad account",
|
|
41
|
+
flag: "--account-id",
|
|
42
|
+
resources: accounts.map((account) => ({ id: account.externalId, label: account.name }))
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
var accountsCommand = defineCommand({
|
|
46
|
+
meta: {
|
|
47
|
+
name: "accounts",
|
|
48
|
+
description: `List LinkedIn ad accounts in this company's connected scope.
|
|
49
|
+
|
|
50
|
+
Examples:
|
|
51
|
+
baker ads linkedin accounts
|
|
52
|
+
baker ads linkedin accounts --output csv
|
|
53
|
+
baker ads linkedin accounts --available # every account the login reaches, selected or not`
|
|
54
|
+
},
|
|
55
|
+
args: {
|
|
56
|
+
"no-cache": NO_CACHE_ARG,
|
|
57
|
+
output: { type: "string", description: "Output format: json|csv|jsonl|md", default: "json" },
|
|
58
|
+
available: AVAILABLE_ARG
|
|
59
|
+
},
|
|
60
|
+
run: async ({ args }) => {
|
|
61
|
+
if (args.available) return writeAvailableAccounts("linkedin", handleLinkedinError);
|
|
62
|
+
try {
|
|
63
|
+
const params = {};
|
|
64
|
+
if (args["no-cache"]) params["skip-cache"] = "true";
|
|
65
|
+
const data = await apiGet("/api/ads/linkedin/accounts", params);
|
|
66
|
+
const fmt = csvOrJson(args);
|
|
67
|
+
if (fmt !== "json") {
|
|
68
|
+
writeAdsOutput(data, fmt);
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
writeJsonEnvelope({ ok: true, data, hints: accountHints(data) });
|
|
72
|
+
} catch (err) {
|
|
73
|
+
handleLinkedinError(err);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
export {
|
|
78
|
+
accountsCommand
|
|
79
|
+
};
|
|
80
|
+
//# sourceMappingURL=accounts-CNWJYCUV.js.map
|