@koda-sl/baker-cli 0.493.0 → 0.495.0-dev.6b9c22aff
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 +6 -2
- package/dist/account-CJGLH2OL.js +80 -0
- package/dist/account-UTFFCFNW.js +79 -0
- package/dist/account-reads-SOTNVUM6.js +218 -0
- package/dist/account-users-FUJVP4UG.js +61 -0
- package/dist/account-users-FUJVP4UG.js.map +1 -0
- package/dist/account-writes-OE5FKALN.js +66 -0
- package/dist/accounts-OY4DII7M.js +611 -0
- package/dist/accounts-XUMRFVLY.js +77 -0
- package/dist/actions-KYKLFVUI.js +55 -0
- package/dist/activecampaign-P6RO7B2Q.js +935 -0
- package/dist/ad-group-writes-343HA4ZG.js +170 -0
- package/dist/ad-groups-YMU6ATTW.js +68 -0
- package/dist/ad-writes-MINKG33L.js +174 -0
- package/dist/add-34QTAS7S.js +104 -0
- package/dist/add-3IZ3Z2PX.js +302 -0
- package/dist/ads-JRZVJFXS.js +40 -0
- package/dist/ads-QOXCMKZ2.js +77 -0
- package/dist/advertisers-G2UUCWA7.js +120 -0
- package/dist/analytics-CKF7HTWT.js +433 -0
- package/dist/analytics-FO4EDDQW.js +1976 -0
- package/dist/animate-K3MJ3GW4.js +480 -0
- package/dist/assign-76E76PJY.js +77 -0
- package/dist/audience-size-IGDEX4XR.js +73 -0
- package/dist/audiences-4GRCVFZN.js +268 -0
- package/dist/audit-LPSYEY4S.js +151 -0
- package/dist/autocomplete-G7MSIJQL.js +111 -0
- package/dist/avatars-BF7VWGPH.js +38 -0
- package/dist/bid-pricing-EAZHVAMJ.js +100 -0
- package/dist/brand-WQI4NV3H.js +22 -0
- package/dist/brief-DVFCPBR3.js +538 -0
- package/dist/campaign-groups-LCTAUXTU.js +96 -0
- package/dist/campaign-groups-LCTAUXTU.js.map +1 -0
- package/dist/campaign-writes-ECPSPFAB.js +165 -0
- package/dist/campaign-writes-EZEJNO3O.js +170 -0
- package/dist/campaigns-7S35PC44.js +76 -0
- package/dist/campaigns-MVLKQWX2.js +110 -0
- package/dist/campaigns-MVLKQWX2.js.map +1 -0
- package/dist/campaigns-R3EUC5Y2.js +107 -0
- package/dist/canvas-Y3DKVETP.js +46 -0
- package/dist/capabilities-OBP5PDRK.js +144 -0
- package/dist/catalog-SZS2JCLN.js +65 -0
- package/dist/catalogs-LEABW6AS.js +128 -0
- package/dist/changes-4EDY3RNX.js +135 -0
- package/dist/chatgpt-JOAEGWCB.js +47 -0
- package/dist/chats-KE7FNWKF.js +276 -0
- package/dist/check-XHK2HVD2.js +104 -0
- package/dist/chunk-22HH46DF.js +122 -0
- package/dist/chunk-2VWWLUDJ.js +23 -0
- package/dist/chunk-2WBRRYSS.js +197 -0
- package/dist/chunk-2XH7GKCO.js +156 -0
- package/dist/chunk-3LMAPV6P.js +942 -0
- package/dist/chunk-3LZM5MWM.js +57 -0
- package/dist/chunk-4ARHIC23.js +392 -0
- package/dist/chunk-5KEQXSCN.js +1919 -0
- package/dist/chunk-5PMEMWKS.js +665 -0
- package/dist/chunk-64BRPYJD.js +225 -0
- package/dist/chunk-6DQDZIBL.js +363 -0
- package/dist/chunk-6H64SENZ.js +285 -0
- package/dist/chunk-6KGLAMPV.js +167 -0
- package/dist/chunk-6OIKNJ7G.js +26 -0
- package/dist/chunk-6VIHWBOD.js +1606 -0
- package/dist/chunk-74BP3JIV.js +275 -0
- package/dist/chunk-7AWSJ6Z5.js +66 -0
- package/dist/chunk-7IVY55AU.js +903 -0
- package/dist/chunk-7POQSUPH.js +455 -0
- package/dist/chunk-7RCNWRKK.js +206 -0
- package/dist/chunk-ABEIEHOV.js +131 -0
- package/dist/chunk-AREUZGX7.js +344 -0
- package/dist/chunk-CNFFNE4L.js +274 -0
- package/dist/chunk-CORXHFKY.js +433 -0
- package/dist/chunk-D3SHD4KA.js +399 -0
- package/dist/chunk-DD3C6TSW.js +61 -0
- package/dist/chunk-DQU2GVU7.js +51 -0
- package/dist/chunk-ECHVJII5.js +97 -0
- package/dist/chunk-EFWXYUSK.js +139 -0
- package/dist/chunk-F3CZFUXZ.js +3187 -0
- package/dist/chunk-F3CZFUXZ.js.map +1 -0
- package/dist/chunk-F4KWLFCC.js +103 -0
- package/dist/chunk-FL2KIDPV.js +494 -0
- package/dist/chunk-FL2KIDPV.js.map +1 -0
- package/dist/chunk-FT7RYWOL.js +160 -0
- package/dist/chunk-HPIKZPTU.js +297 -0
- package/dist/chunk-HUPHZ35H.js +547 -0
- package/dist/chunk-JGM4WGC2.js +6704 -0
- package/dist/chunk-JGM4WGC2.js.map +1 -0
- package/dist/chunk-JMW3AVN7.js +346 -0
- package/dist/chunk-JMW3AVN7.js.map +1 -0
- package/dist/chunk-JQHLF74O.js +8939 -0
- package/dist/chunk-K2TOE6XL.js +142 -0
- package/dist/chunk-KI6TENTW.js +5368 -0
- package/dist/chunk-LMYCLUY2.js +8914 -0
- package/dist/chunk-LQR4CKYW.js +191 -0
- package/dist/chunk-LRFNUCHV.js +89 -0
- package/dist/chunk-M2D7ZWEU.js +150 -0
- package/dist/chunk-ML7GGHTU.js +592 -0
- package/dist/chunk-MMUGSEF4.js +23992 -0
- package/dist/chunk-MMUGSEF4.js.map +1 -0
- package/dist/chunk-MYSLMKTG.js +604 -0
- package/dist/chunk-NAA4CKZZ.js +4249 -0
- package/dist/chunk-NAA4CKZZ.js.map +1 -0
- package/dist/chunk-NDKLPDZ3.js +1079 -0
- package/dist/chunk-OUQSDUVI.js +831 -0
- package/dist/chunk-PFPUPR3H.js +91 -0
- package/dist/chunk-PGD7USOH.js +207 -0
- package/dist/chunk-QKT7W5JP.js +98 -0
- package/dist/chunk-QU4XX5Z7.js +169 -0
- package/dist/chunk-R3OXH3ML.js +148 -0
- package/dist/chunk-RNQMXS7G.js +172 -0
- package/dist/chunk-SEMNRIOR.js +19 -0
- package/dist/chunk-SHBFBQYT.js +846 -0
- package/dist/chunk-SIKCVWM3.js +76 -0
- package/dist/chunk-UJPURLUZ.js +3868 -0
- package/dist/chunk-UM7NJIOU.js +64 -0
- package/dist/chunk-V57TZQPI.js +228 -0
- package/dist/chunk-WXKSUL4U.js +224 -0
- package/dist/chunk-YJRZVGES.js +1518 -0
- package/dist/chunk-YQICNXIA.js +249 -0
- package/dist/chunk-YTF2MI3E.js +627 -0
- package/dist/chunk-YYPWVQZQ.js +843 -0
- package/dist/chunk-Z7BQGWKG.js +46 -0
- package/dist/chunk-ZXSXRSFX.js +159 -0
- package/dist/claim-W2ZV4SH3.js +197 -0
- package/dist/cli.js +34 -34
- package/dist/companies-ITK3W3H6.js +195 -0
- package/dist/complete-RYEVEF3S.js +81 -0
- package/dist/connect-FFFNSJ2O.js +42 -0
- package/dist/conversation-KKJNQRFB.js +93 -0
- package/dist/conversion-report-PLQ4MVJR.js +125 -0
- package/dist/conversion-upload-command-Z7F6NQH4.js +438 -0
- package/dist/conversion-writes-VNOXZ4NR.js +120 -0
- package/dist/conversions-KHAXFD3Z.js +137 -0
- package/dist/conversions-KHAXFD3Z.js.map +1 -0
- package/dist/conversions-KPIFDO2R.js +76 -0
- package/dist/create-3R6Q2E2M.js +59 -0
- package/dist/create-A3R7YRT3.js +235 -0
- package/dist/create-TYWQP57A.js +207 -0
- package/dist/create-UUEWQUPT.js +132 -0
- package/dist/creatives-EEDDL3VG.js +220 -0
- package/dist/creatives-EEDDL3VG.js.map +1 -0
- package/dist/creatives-UK4VITNW.js +58 -0
- package/dist/credentials-A65GYH4D.js +287 -0
- package/dist/critique-46O4VVPM.js +1458 -0
- package/dist/critique-RPRMG2ZC.js +227 -0
- package/dist/crm-2WYW3D22.js +224 -0
- package/dist/crm-PQ24MNIU.js +318 -0
- package/dist/currency-Q3HCK447.js +88 -0
- package/dist/customers-YTQ7IQ5C.js +56 -0
- package/dist/delete-BBISJTFG.js +54 -0
- package/dist/delete-PQ4NUNLX.js +66 -0
- package/dist/delete-TBW6TJ6A.js +64 -0
- package/dist/demographics-EVP55FT3.js +138 -0
- package/dist/discard-LPJA4DEY.js +66 -0
- package/dist/discover-3G6CE7X3.js +172 -0
- package/dist/domain-5MM7V7JD.js +98 -0
- package/dist/draft-34D5MOKA.js +217 -0
- package/dist/draft-A6M562M4.js +307 -0
- package/dist/draft-A6M562M4.js.map +1 -0
- package/dist/draft-EGS7UFF3.js +281 -0
- package/dist/draft-J6GJXZRX.js +307 -0
- package/dist/draft-K3O7Q3A5.js +332 -0
- package/dist/engine/index.js +7 -7
- package/dist/experiment-7RJ5X2LL.js +1397 -0
- package/dist/experiments-HERTVBYK.js +233 -0
- package/dist/experiments-HERTVBYK.js.map +1 -0
- package/dist/facets-RUZKALF3.js +114 -0
- package/dist/feedback-S5LHJYZD.js +106 -0
- package/dist/feedback-record-GAM2R5GG.js +260 -0
- package/dist/fetch-FA6TR66Y.js +176 -0
- package/dist/find-2EPXK5RF.js +134 -0
- package/dist/fit-MOMO4AXL.js +62 -0
- package/dist/flows-DMMCSBWY.js +247 -0
- package/dist/fonts-G4JLXWX2.js +36 -0
- package/dist/forecast-OOP4K5DE.js +118 -0
- package/dist/forecast-V65WS5QG.js +168 -0
- package/dist/funnel-SEQPUM3X.js +394 -0
- package/dist/ga4-6EIQC2TG.js +55 -0
- package/dist/generate-IDDQD5FU.js +263 -0
- package/dist/get-DEOZMGOQ.js +56 -0
- package/dist/get-SEJINVOS.js +79 -0
- package/dist/google-7L3FWKPJ.js +3265 -0
- package/dist/google-O5OI6QFU.js +136 -0
- package/dist/google-ads-MIGWMCWY.js +195 -0
- package/dist/gsc-BM3T2GDL.js +30 -0
- package/dist/history-IBWXCDCB.js +133 -0
- package/dist/history-Z5577FPQ.js +67 -0
- package/dist/hubspot-6AZKUX72.js +779 -0
- package/dist/icon-B7DG53S5.js +137 -0
- package/dist/ideas-AX7S3NCG.js +40 -0
- package/dist/images-632SXTB5.js +92 -0
- package/dist/ingest-HS55RVKH.js +23 -0
- package/dist/ingest-T3OK3DRG.js +107 -0
- package/dist/insights-UDX66IMV.js +122 -0
- package/dist/inspect-D6ZIUBH3.js +189 -0
- package/dist/inspiration-TCCKM4R7.js +53 -0
- package/dist/intent-3WTKKTUX.js +95 -0
- package/dist/keyword-gap-7GESZXY2.js +130 -0
- package/dist/keyword-metrics-J43MV3RQ.js +197 -0
- package/dist/keywords-for-site-6YKCTFJZ.js +128 -0
- package/dist/landing-Y7DI2FUT.js +28 -0
- package/dist/languages-LSKNZI2A.js +40 -0
- package/dist/leads-R3WBKADF.js +112 -0
- package/dist/leads-R3WBKADF.js.map +1 -0
- package/dist/learn-M4UHA476.js +204 -0
- package/dist/line-item-writes-F2OPBMIE.js +208 -0
- package/dist/line-items-YJ3DLV2U.js +103 -0
- package/dist/link-RZKYW22K.js +64 -0
- package/dist/linkedin-JYZOPU7A.js +1299 -0
- package/dist/linkedin-JYZOPU7A.js.map +1 -0
- package/dist/list-NPJ34244.js +151 -0
- package/dist/list-WTVBOTA4.js +64 -0
- package/dist/list-XK5CHKYJ.js +303 -0
- package/dist/locations-DSDCNP5Z.js +40 -0
- package/dist/locations-SFZN4MYW.js +67 -0
- package/dist/log-K4FWHXIM.js +92 -0
- package/dist/logo-QTSBKP2J.js +18 -0
- package/dist/make-VQDUKVPB.js +1353 -0
- package/dist/map-Z3MEM6QX.js +433 -0
- package/dist/mcp-KJOSR534.js +714 -0
- package/dist/media-sources-44HTWIY3.js +32 -0
- package/dist/members-HGU22NL3.js +44 -0
- package/dist/metrics-OV2EKPJ6.js +152 -0
- package/dist/models-NGAUD6QJ.js +155 -0
- package/dist/normalize-IUPOHEZJ.js +141 -0
- package/dist/options-TL5TPGHK.js +122 -0
- package/dist/organization-3ORT4474.js +946 -0
- package/dist/organization-3ORT4474.js.map +1 -0
- package/dist/performance-PCZHQCZ5.js +24 -0
- package/dist/pixels-GHEAK62X.js +60 -0
- package/dist/promoted-tweet-writes-O4RTZFSI.js +180 -0
- package/dist/promoted-tweets-AWP6MGJI.js +119 -0
- package/dist/publish-PODZKJHW.js +341 -0
- package/dist/query-FUSR27T4.js +61 -0
- package/dist/reddit-UNUNWSNR.js +26 -0
- package/dist/refresh-34UO2LXY.js +94 -0
- package/dist/release-BD3EAD75.js +60 -0
- package/dist/relevant-pages-FNKYR2OG.js +99 -0
- package/dist/remove-YQYSQCWI.js +50 -0
- package/dist/reopen-MULNJOR5.js +63 -0
- package/dist/rerun-6YGYJPM7.js +90 -0
- package/dist/research-6WEL3USW.js +62 -0
- package/dist/research-OBECRSPL.js +262 -0
- package/dist/reset-5TTLZ43U.js +54 -0
- package/dist/reset-PRTK6YUD.js +54 -0
- package/dist/resolve-6RM63T55.js +121 -0
- package/dist/retry-XYTVP7BV.js +60 -0
- package/dist/retry-Z3C624JW.js +62 -0
- package/dist/revenue-VSH6KXCV.js +88 -0
- package/dist/revenue-VSH6KXCV.js.map +1 -0
- package/dist/rules-AUAJUM2T.js +96 -0
- package/dist/rules-add-7VFGPGZ7.js +462 -0
- package/dist/run-S3SVCTIB.js +65 -0
- package/dist/run-YA5RCRIX.js +66 -0
- package/dist/scaffold-ad-2KQULVJU.js +1511 -0
- package/dist/scaffold-static-ad-S46QADGV.js +1005 -0
- package/dist/scaffold-video-ZMHI2JDU.js +883 -0
- package/dist/schedule-FT6P3EKG.js +61 -0
- package/dist/scheduled-agents-L7K4QWMD.js +50 -0
- package/dist/schema-CH654RZB.js +132 -0
- package/dist/search-YKYB2P2M.js +174 -0
- package/dist/select-PM7JUDQY.js +101 -0
- package/dist/set-prompt-VATAT7H6.js +193 -0
- package/dist/setup-links-TM3NCVU7.js +141 -0
- package/dist/site-ATAXCWXS.js +177 -0
- package/dist/sources-N5RKYKFS.js +30 -0
- package/dist/sources-V544MB26.js +454 -0
- package/dist/stale-RNEYXKFX.js +71 -0
- package/dist/stats-CVF6AC7R.js +34 -0
- package/dist/status-DPTFOJVV.js +62 -0
- package/dist/stock-4LPQ6SM7.js +179 -0
- package/dist/studio-NZ3NA4L4.js +49 -0
- package/dist/sync-UBLCCOQZ.js +54 -0
- package/dist/sync-definition-RXRSI2LT.js +64 -0
- package/dist/tag-manager-FLXXLNKP.js +43 -0
- package/dist/tags-2D4AN2QB.js +224 -0
- package/dist/tags-5OM2VN3Q.js +26 -0
- package/dist/tags-CJWSUBCD.js +20 -0
- package/dist/tags-MHKZW2JN.js +20 -0
- package/dist/tags-Z6AH7FDT.js +20 -0
- package/dist/targeting-criteria-RSAN4KW5.js +113 -0
- package/dist/targets-EER2G4WH.js +103 -0
- package/dist/testimonials-4WJKAZ5S.js +32 -0
- package/dist/themes-XUALHDHR.js +94 -0
- package/dist/top-companies-BSOYGMIB.js +108 -0
- package/dist/translate-2XRHDWSC.js +604 -0
- package/dist/triggers-NU6BQ5NJ.js +142 -0
- package/dist/unlink-LQGPZND2.js +67 -0
- package/dist/unstage-GDKW56MH.js +85 -0
- package/dist/update-43QN723C.js +63 -0
- package/dist/update-6CAZKFTC.js +188 -0
- package/dist/update-EGOWYBEH.js +152 -0
- package/dist/update-QRGEMNBY.js +98 -0
- package/dist/upload-LIHRXWUY.js +126 -0
- package/dist/url-options-JXL4W7TB.js +130 -0
- package/dist/url-params-YXRZ4TUD.js +98 -0
- package/dist/validate-KO3MEJUZ.js +117 -0
- package/dist/videos-BPJ34YZL.js +39 -0
- package/dist/viewer-check-SA5AUQ26.js +80 -0
- package/dist/web-KS47ZHXX.js +140 -0
- package/dist/winning-ads-LE2ALICG.js +86 -0
- package/dist/write-commands-PPR7G4UN.js +1453 -0
- package/dist/write-commands-PPR7G4UN.js.map +1 -0
- package/dist/x-DZGRJQ7Y.js +47 -0
- package/package.json +1 -1
- package/dist/account-EF6OPUJT.js +0 -80
- package/dist/account-UHNR5KTE.js +0 -79
- package/dist/account-reads-CDZ3EL5D.js +0 -218
- package/dist/account-writes-VWU4FRGQ.js +0 -66
- package/dist/accounts-KMLXHADA.js +0 -77
- package/dist/accounts-QDGNTSTV.js +0 -611
- package/dist/actions-QL5UD2W4.js +0 -55
- package/dist/activecampaign-5OD45ROS.js +0 -935
- package/dist/ad-group-writes-ID6I3QUZ.js +0 -170
- package/dist/ad-groups-M7CV6NTH.js +0 -68
- package/dist/ad-writes-TSOAZYRE.js +0 -174
- package/dist/add-6K6LO7CM.js +0 -104
- package/dist/add-LYDJZDGO.js +0 -302
- package/dist/ads-CGLO73MH.js +0 -77
- package/dist/ads-DHPJFU52.js +0 -40
- package/dist/advertisers-23LU7GTV.js +0 -120
- package/dist/analytics-DVD4OBBR.js +0 -1976
- package/dist/analytics-HO2SLL4W.js +0 -433
- package/dist/animate-RGZWDZG2.js +0 -480
- package/dist/assign-CLKJKH2B.js +0 -77
- package/dist/audience-size-NNYYXODL.js +0 -73
- package/dist/audiences-WXIP5PJH.js +0 -268
- package/dist/audit-KB4P2XGS.js +0 -151
- package/dist/autocomplete-VZD2SMTE.js +0 -111
- package/dist/avatars-FKOO6VZ2.js +0 -38
- package/dist/bid-pricing-6LLXOLLI.js +0 -100
- package/dist/brand-OFCRZAKJ.js +0 -22
- package/dist/brief-CPJQWT6W.js +0 -538
- package/dist/campaign-groups-YPYNXOWU.js +0 -95
- package/dist/campaign-groups-YPYNXOWU.js.map +0 -1
- package/dist/campaign-writes-UJ4L2O6G.js +0 -165
- package/dist/campaign-writes-W5IL6ZGB.js +0 -170
- package/dist/campaigns-FLTPD66X.js +0 -76
- package/dist/campaigns-HLBZRH5A.js +0 -107
- package/dist/campaigns-N44ZDGB5.js +0 -109
- package/dist/campaigns-N44ZDGB5.js.map +0 -1
- package/dist/canvas-36SGP5VZ.js +0 -46
- package/dist/capabilities-LWXCWMIY.js +0 -144
- package/dist/catalog-ZDLQAODO.js +0 -65
- package/dist/catalogs-26VXVUST.js +0 -128
- package/dist/changes-SX2N5KIO.js +0 -135
- package/dist/chatgpt-YI6YNACI.js +0 -47
- package/dist/chats-7WGC2CVW.js +0 -276
- package/dist/check-EH6BXWWL.js +0 -104
- package/dist/chunk-2B772ZEA.js +0 -169
- package/dist/chunk-2KRK667G.js +0 -51
- package/dist/chunk-2TVXJPGR.js +0 -103
- package/dist/chunk-3AMLOCXY.js +0 -392
- package/dist/chunk-3N5A44NQ.js +0 -122
- package/dist/chunk-3S274625.js +0 -131
- package/dist/chunk-3WAYZQNV.js +0 -61
- package/dist/chunk-56PLT3KK.js +0 -494
- package/dist/chunk-56PLT3KK.js.map +0 -1
- package/dist/chunk-5A257KJA.js +0 -160
- package/dist/chunk-6QGS3RQP.js +0 -363
- package/dist/chunk-7KHTJQGV.js +0 -1518
- package/dist/chunk-A3DKSAEL.js +0 -1606
- package/dist/chunk-A4DZ5L3T.js +0 -665
- package/dist/chunk-ACDLKTUP.js +0 -23992
- package/dist/chunk-ACDLKTUP.js.map +0 -1
- package/dist/chunk-AW2GKIGS.js +0 -433
- package/dist/chunk-B7GF34FU.js +0 -8914
- package/dist/chunk-BDYLILMW.js +0 -150
- package/dist/chunk-DAO63OOP.js +0 -6352
- package/dist/chunk-DAO63OOP.js.map +0 -1
- package/dist/chunk-EJ4QCMM6.js +0 -285
- package/dist/chunk-EMQUW6JB.js +0 -942
- package/dist/chunk-EW3JEKIV.js +0 -139
- package/dist/chunk-F377KYIM.js +0 -274
- package/dist/chunk-FBFWMTOP.js +0 -19
- package/dist/chunk-FCM6VPFP.js +0 -98
- package/dist/chunk-FKYPAGKK.js +0 -1919
- package/dist/chunk-GXGYTFZA.js +0 -8939
- package/dist/chunk-I7J7YQXZ.js +0 -142
- package/dist/chunk-IBY44U2M.js +0 -1079
- package/dist/chunk-IFXGCI33.js +0 -297
- package/dist/chunk-IKLHXGMF.js +0 -91
- package/dist/chunk-IYTPWAN3.js +0 -604
- package/dist/chunk-J3CWAERS.js +0 -3868
- package/dist/chunk-JAC6JVCI.js +0 -26
- package/dist/chunk-JH2L5CQD.js +0 -206
- package/dist/chunk-JUVVCA7B.js +0 -97
- package/dist/chunk-MCJ5I5LR.js +0 -3187
- package/dist/chunk-MCJ5I5LR.js.map +0 -1
- package/dist/chunk-MK6XJUCQ.js +0 -197
- package/dist/chunk-MOFMOYUA.js +0 -148
- package/dist/chunk-MZPS46OR.js +0 -76
- package/dist/chunk-N3I6ZXR7.js +0 -66
- package/dist/chunk-NBO2NSAW.js +0 -592
- package/dist/chunk-NEU5QD2C.js +0 -249
- package/dist/chunk-NKIBXOHT.js +0 -344
- package/dist/chunk-NZKBW4YB.js +0 -846
- package/dist/chunk-OE3MIV4F.js +0 -547
- package/dist/chunk-OL7JS4NG.js +0 -5368
- package/dist/chunk-P2MFWJR3.js +0 -903
- package/dist/chunk-PHCIFBP3.js +0 -89
- package/dist/chunk-PTUXBO5O.js +0 -224
- package/dist/chunk-Q3LXLWZY.js +0 -275
- package/dist/chunk-Q5WBTVA7.js +0 -455
- package/dist/chunk-QMOYQJIN.js +0 -46
- package/dist/chunk-QRLTVJ6F.js +0 -167
- package/dist/chunk-RDEAVCMF.js +0 -399
- package/dist/chunk-RGMKXNQP.js +0 -23
- package/dist/chunk-RJZS4XDJ.js +0 -64
- package/dist/chunk-RZTKCCUL.js +0 -831
- package/dist/chunk-S4VLLGTW.js +0 -843
- package/dist/chunk-SVM3DGAQ.js +0 -228
- package/dist/chunk-TTKBNBQF.js +0 -156
- package/dist/chunk-VB3XUR6A.js +0 -207
- package/dist/chunk-WTJSMYY2.js +0 -4249
- package/dist/chunk-WTJSMYY2.js.map +0 -1
- package/dist/chunk-XCKINS7K.js +0 -57
- package/dist/chunk-Y46FE75E.js +0 -627
- package/dist/chunk-Y6GKV7CU.js +0 -346
- package/dist/chunk-Y6GKV7CU.js.map +0 -1
- package/dist/chunk-Z2GQREJY.js +0 -159
- package/dist/chunk-ZA7OQLDJ.js +0 -225
- package/dist/chunk-ZDAVSTEE.js +0 -172
- package/dist/chunk-ZXCSOVS5.js +0 -191
- package/dist/claim-SVDCQ2AI.js +0 -197
- package/dist/companies-BYMYQK6A.js +0 -195
- package/dist/complete-NEH3MWRI.js +0 -81
- package/dist/connect-5PGL7ZOM.js +0 -42
- package/dist/conversation-CSOKJXDW.js +0 -93
- package/dist/conversion-report-7JJ5L6WH.js +0 -125
- package/dist/conversion-upload-command-UO2QWG3J.js +0 -438
- package/dist/conversion-writes-GIGAZT4T.js +0 -120
- package/dist/conversions-4JOTTFEH.js +0 -135
- package/dist/conversions-4JOTTFEH.js.map +0 -1
- package/dist/conversions-CIJZLGII.js +0 -76
- package/dist/create-2XYMBULY.js +0 -207
- package/dist/create-56PTZABQ.js +0 -235
- package/dist/create-D6S6TGWY.js +0 -59
- package/dist/create-SMW4O5PC.js +0 -132
- package/dist/creatives-OO76DAFS.js +0 -58
- package/dist/creatives-VJUYWJL6.js +0 -182
- package/dist/creatives-VJUYWJL6.js.map +0 -1
- package/dist/credentials-2ONYUJW6.js +0 -287
- package/dist/critique-NDDFSGPE.js +0 -1458
- package/dist/critique-YXZVMLZ4.js +0 -227
- package/dist/crm-Q6CEP5XV.js +0 -224
- package/dist/crm-WRONZYDH.js +0 -318
- package/dist/currency-TAEJVMVK.js +0 -88
- package/dist/customers-2EFYSCU2.js +0 -56
- package/dist/delete-7WEVC3FS.js +0 -66
- package/dist/delete-RBWK255M.js +0 -54
- package/dist/delete-VN4WWMQF.js +0 -64
- package/dist/demographics-I5XZ435C.js +0 -138
- package/dist/discard-XJLIXTNM.js +0 -66
- package/dist/discover-5Z253HXF.js +0 -172
- package/dist/domain-M7AEGAYI.js +0 -98
- package/dist/draft-5DQI4W5F.js +0 -306
- package/dist/draft-5DQI4W5F.js.map +0 -1
- package/dist/draft-7DWRFCXW.js +0 -281
- package/dist/draft-7IIYHSY2.js +0 -332
- package/dist/draft-CN6GKVBF.js +0 -217
- package/dist/draft-MNEM4N5W.js +0 -307
- package/dist/experiment-IDDWRCJ7.js +0 -1397
- package/dist/facets-ZLZ6LIHN.js +0 -114
- package/dist/feedback-7LEX2P5Q.js +0 -106
- package/dist/feedback-record-P4JJ63KA.js +0 -260
- package/dist/fetch-MIVCEHXZ.js +0 -176
- package/dist/find-VHN34MWL.js +0 -134
- package/dist/fit-SS6HSZPU.js +0 -62
- package/dist/flows-UTIIHDNE.js +0 -247
- package/dist/fonts-JJS2PRT7.js +0 -36
- package/dist/forecast-OBSHG2GJ.js +0 -118
- package/dist/forecast-W7Z5TVQX.js +0 -168
- package/dist/funnel-Z2VLXUEQ.js +0 -394
- package/dist/ga4-ZPAEF2G2.js +0 -55
- package/dist/generate-Y76WU7M7.js +0 -263
- package/dist/get-MDAO6I7T.js +0 -56
- package/dist/get-ZB553BSH.js +0 -79
- package/dist/google-C3X7O2UO.js +0 -136
- package/dist/google-WYXDMH2N.js +0 -3265
- package/dist/google-ads-FTWL772L.js +0 -195
- package/dist/gsc-SDDHGTZK.js +0 -30
- package/dist/history-DGHMJ2XF.js +0 -67
- package/dist/history-WKJYKDMG.js +0 -133
- package/dist/hubspot-EPHVEPOO.js +0 -779
- package/dist/icon-MYPDC6FM.js +0 -137
- package/dist/ideas-3PBH7VEX.js +0 -40
- package/dist/images-J35C3WG4.js +0 -92
- package/dist/ingest-5QOPUKFE.js +0 -107
- package/dist/ingest-OKUYP632.js +0 -23
- package/dist/insights-EU45J56U.js +0 -122
- package/dist/inspect-PMNCP6MV.js +0 -189
- package/dist/inspiration-QAL7NS7G.js +0 -53
- package/dist/intent-FUGWRUSW.js +0 -95
- package/dist/keyword-gap-DXTKZLV2.js +0 -130
- package/dist/keyword-metrics-R752SJIT.js +0 -197
- package/dist/keywords-for-site-7UWPJYQF.js +0 -128
- package/dist/landing-CBVIOGJ5.js +0 -28
- package/dist/languages-XRTTEJ5P.js +0 -40
- package/dist/leads-LIJS6Y5W.js +0 -90
- package/dist/leads-LIJS6Y5W.js.map +0 -1
- package/dist/learn-N6QV7GXA.js +0 -204
- package/dist/line-item-writes-3WPJXKIL.js +0 -208
- package/dist/line-items-ZOFKOGAA.js +0 -103
- package/dist/link-DDRQKOUL.js +0 -64
- package/dist/linkedin-UWZCF66X.js +0 -1057
- package/dist/linkedin-UWZCF66X.js.map +0 -1
- package/dist/list-5PLXVPLB.js +0 -151
- package/dist/list-VSJISE7U.js +0 -303
- package/dist/list-WTVOBQYX.js +0 -64
- package/dist/locations-PCZPKH47.js +0 -40
- package/dist/locations-TGJH3URF.js +0 -67
- package/dist/log-YKKPROLZ.js +0 -92
- package/dist/logo-WE2UELX6.js +0 -18
- package/dist/make-RNOWBLZQ.js +0 -1353
- package/dist/map-WTDPQLVO.js +0 -433
- package/dist/mcp-XJNSCPP3.js +0 -714
- package/dist/media-sources-JGBDDXZ5.js +0 -32
- package/dist/members-O3BTMRXX.js +0 -44
- package/dist/metrics-PYPCW7FJ.js +0 -152
- package/dist/models-IAGO5GIH.js +0 -155
- package/dist/normalize-R5AYLA2J.js +0 -141
- package/dist/options-AILRY7JY.js +0 -122
- package/dist/organization-E6HVEKAR.js +0 -942
- package/dist/organization-E6HVEKAR.js.map +0 -1
- package/dist/performance-7YU4HOGH.js +0 -24
- package/dist/pixels-R4MOLWAR.js +0 -60
- package/dist/promoted-tweet-writes-TNELWPVG.js +0 -180
- package/dist/promoted-tweets-76WKUFJQ.js +0 -119
- package/dist/publish-BKLHCKHB.js +0 -341
- package/dist/query-XDHZMGLX.js +0 -61
- package/dist/reddit-YK3YUZEI.js +0 -26
- package/dist/refresh-WIII7KXB.js +0 -94
- package/dist/release-ZHXYQI7G.js +0 -60
- package/dist/relevant-pages-CTG72PBR.js +0 -99
- package/dist/remove-NOX4BXWK.js +0 -50
- package/dist/reopen-NLWKK5HB.js +0 -63
- package/dist/rerun-DZWQNMZQ.js +0 -90
- package/dist/research-Q3P76RHN.js +0 -62
- package/dist/research-UDZBCDNX.js +0 -262
- package/dist/reset-5UHFX7QY.js +0 -54
- package/dist/reset-MTRJQUP7.js +0 -54
- package/dist/resolve-DA72VT7Q.js +0 -121
- package/dist/retry-LQUBX5TK.js +0 -62
- package/dist/retry-U6F4CS6O.js +0 -60
- package/dist/rules-VS5PZ7VO.js +0 -96
- package/dist/rules-add-LMVZYDXE.js +0 -462
- package/dist/run-6PRA2YSD.js +0 -65
- package/dist/run-R6COFNOR.js +0 -66
- package/dist/scaffold-ad-ETZLURWU.js +0 -1511
- package/dist/scaffold-static-ad-WLKD3LDN.js +0 -1005
- package/dist/scaffold-video-3JZYFYFU.js +0 -883
- package/dist/schedule-ED2YDUPY.js +0 -61
- package/dist/scheduled-agents-5P67MVGX.js +0 -50
- package/dist/schema-4XVKERSA.js +0 -132
- package/dist/search-Y2UMIQ57.js +0 -174
- package/dist/select-OZ4E6VLF.js +0 -101
- package/dist/set-prompt-O4YAE4CE.js +0 -193
- package/dist/setup-links-2GJYCV2A.js +0 -141
- package/dist/site-47B6V2UX.js +0 -177
- package/dist/sources-DXPZAPQ7.js +0 -454
- package/dist/sources-NDXYTASG.js +0 -30
- package/dist/stale-VLVBO2L6.js +0 -71
- package/dist/stats-37OFAMPW.js +0 -34
- package/dist/status-4ODD46XY.js +0 -62
- package/dist/stock-6R5E7MJX.js +0 -179
- package/dist/studio-LEIGL3Q7.js +0 -49
- package/dist/sync-TKNVBUDM.js +0 -54
- package/dist/sync-definition-M5R3H3TP.js +0 -64
- package/dist/tag-manager-3Q55PBEW.js +0 -43
- package/dist/tags-4N5UUUN6.js +0 -26
- package/dist/tags-5NHIAD5A.js +0 -20
- package/dist/tags-UUKWSWCN.js +0 -20
- package/dist/tags-VK7B5DJF.js +0 -20
- package/dist/tags-XAHIB3WA.js +0 -224
- package/dist/targeting-criteria-AVARWV2G.js +0 -113
- package/dist/targets-6RYLQRID.js +0 -103
- package/dist/testimonials-6TF6BOFN.js +0 -32
- package/dist/themes-JZ3DPE7L.js +0 -94
- package/dist/top-companies-45EHRCJD.js +0 -108
- package/dist/translate-VHLBACCE.js +0 -604
- package/dist/triggers-ERQONJNO.js +0 -142
- package/dist/unlink-TPDO6JNF.js +0 -67
- package/dist/unstage-YKKQQ7LW.js +0 -85
- package/dist/update-43WU6X7R.js +0 -63
- package/dist/update-CAHLAXWO.js +0 -98
- package/dist/update-NGH6YADN.js +0 -152
- package/dist/update-SPJIHHLE.js +0 -188
- package/dist/upload-ACESIZIZ.js +0 -126
- package/dist/url-options-VNX5KYUQ.js +0 -130
- package/dist/url-params-MIXEDBF7.js +0 -98
- package/dist/validate-XJJA7ULE.js +0 -117
- package/dist/videos-LBXPG7WC.js +0 -39
- package/dist/viewer-check-7VJ3GUZX.js +0 -80
- package/dist/web-EWQJC2SD.js +0 -140
- package/dist/winning-ads-SAOJAKEQ.js +0 -86
- package/dist/write-commands-QPDE4GWW.js +0 -1024
- package/dist/write-commands-QPDE4GWW.js.map +0 -1
- package/dist/x-LXOJPCRF.js +0 -47
- /package/dist/{account-EF6OPUJT.js.map → account-CJGLH2OL.js.map} +0 -0
- /package/dist/{account-UHNR5KTE.js.map → account-UTFFCFNW.js.map} +0 -0
- /package/dist/{account-reads-CDZ3EL5D.js.map → account-reads-SOTNVUM6.js.map} +0 -0
- /package/dist/{account-writes-VWU4FRGQ.js.map → account-writes-OE5FKALN.js.map} +0 -0
- /package/dist/{accounts-QDGNTSTV.js.map → accounts-OY4DII7M.js.map} +0 -0
- /package/dist/{accounts-KMLXHADA.js.map → accounts-XUMRFVLY.js.map} +0 -0
- /package/dist/{actions-QL5UD2W4.js.map → actions-KYKLFVUI.js.map} +0 -0
- /package/dist/{activecampaign-5OD45ROS.js.map → activecampaign-P6RO7B2Q.js.map} +0 -0
- /package/dist/{ad-group-writes-ID6I3QUZ.js.map → ad-group-writes-343HA4ZG.js.map} +0 -0
- /package/dist/{ad-groups-M7CV6NTH.js.map → ad-groups-YMU6ATTW.js.map} +0 -0
- /package/dist/{ad-writes-TSOAZYRE.js.map → ad-writes-MINKG33L.js.map} +0 -0
- /package/dist/{add-6K6LO7CM.js.map → add-34QTAS7S.js.map} +0 -0
- /package/dist/{add-LYDJZDGO.js.map → add-3IZ3Z2PX.js.map} +0 -0
- /package/dist/{ads-DHPJFU52.js.map → ads-JRZVJFXS.js.map} +0 -0
- /package/dist/{ads-CGLO73MH.js.map → ads-QOXCMKZ2.js.map} +0 -0
- /package/dist/{advertisers-23LU7GTV.js.map → advertisers-G2UUCWA7.js.map} +0 -0
- /package/dist/{analytics-HO2SLL4W.js.map → analytics-CKF7HTWT.js.map} +0 -0
- /package/dist/{analytics-DVD4OBBR.js.map → analytics-FO4EDDQW.js.map} +0 -0
- /package/dist/{animate-RGZWDZG2.js.map → animate-K3MJ3GW4.js.map} +0 -0
- /package/dist/{assign-CLKJKH2B.js.map → assign-76E76PJY.js.map} +0 -0
- /package/dist/{audience-size-NNYYXODL.js.map → audience-size-IGDEX4XR.js.map} +0 -0
- /package/dist/{audiences-WXIP5PJH.js.map → audiences-4GRCVFZN.js.map} +0 -0
- /package/dist/{audit-KB4P2XGS.js.map → audit-LPSYEY4S.js.map} +0 -0
- /package/dist/{autocomplete-VZD2SMTE.js.map → autocomplete-G7MSIJQL.js.map} +0 -0
- /package/dist/{avatars-FKOO6VZ2.js.map → avatars-BF7VWGPH.js.map} +0 -0
- /package/dist/{bid-pricing-6LLXOLLI.js.map → bid-pricing-EAZHVAMJ.js.map} +0 -0
- /package/dist/{brand-OFCRZAKJ.js.map → brand-WQI4NV3H.js.map} +0 -0
- /package/dist/{brief-CPJQWT6W.js.map → brief-DVFCPBR3.js.map} +0 -0
- /package/dist/{campaign-writes-UJ4L2O6G.js.map → campaign-writes-ECPSPFAB.js.map} +0 -0
- /package/dist/{campaign-writes-W5IL6ZGB.js.map → campaign-writes-EZEJNO3O.js.map} +0 -0
- /package/dist/{campaigns-FLTPD66X.js.map → campaigns-7S35PC44.js.map} +0 -0
- /package/dist/{campaigns-HLBZRH5A.js.map → campaigns-R3EUC5Y2.js.map} +0 -0
- /package/dist/{canvas-36SGP5VZ.js.map → canvas-Y3DKVETP.js.map} +0 -0
- /package/dist/{capabilities-LWXCWMIY.js.map → capabilities-OBP5PDRK.js.map} +0 -0
- /package/dist/{catalog-ZDLQAODO.js.map → catalog-SZS2JCLN.js.map} +0 -0
- /package/dist/{catalogs-26VXVUST.js.map → catalogs-LEABW6AS.js.map} +0 -0
- /package/dist/{changes-SX2N5KIO.js.map → changes-4EDY3RNX.js.map} +0 -0
- /package/dist/{chatgpt-YI6YNACI.js.map → chatgpt-JOAEGWCB.js.map} +0 -0
- /package/dist/{chats-7WGC2CVW.js.map → chats-KE7FNWKF.js.map} +0 -0
- /package/dist/{check-EH6BXWWL.js.map → check-XHK2HVD2.js.map} +0 -0
- /package/dist/{chunk-3N5A44NQ.js.map → chunk-22HH46DF.js.map} +0 -0
- /package/dist/{chunk-RGMKXNQP.js.map → chunk-2VWWLUDJ.js.map} +0 -0
- /package/dist/{chunk-MK6XJUCQ.js.map → chunk-2WBRRYSS.js.map} +0 -0
- /package/dist/{chunk-TTKBNBQF.js.map → chunk-2XH7GKCO.js.map} +0 -0
- /package/dist/{chunk-EMQUW6JB.js.map → chunk-3LMAPV6P.js.map} +0 -0
- /package/dist/{chunk-XCKINS7K.js.map → chunk-3LZM5MWM.js.map} +0 -0
- /package/dist/{chunk-3AMLOCXY.js.map → chunk-4ARHIC23.js.map} +0 -0
- /package/dist/{chunk-FKYPAGKK.js.map → chunk-5KEQXSCN.js.map} +0 -0
- /package/dist/{chunk-A4DZ5L3T.js.map → chunk-5PMEMWKS.js.map} +0 -0
- /package/dist/{chunk-ZA7OQLDJ.js.map → chunk-64BRPYJD.js.map} +0 -0
- /package/dist/{chunk-6QGS3RQP.js.map → chunk-6DQDZIBL.js.map} +0 -0
- /package/dist/{chunk-EJ4QCMM6.js.map → chunk-6H64SENZ.js.map} +0 -0
- /package/dist/{chunk-QRLTVJ6F.js.map → chunk-6KGLAMPV.js.map} +0 -0
- /package/dist/{chunk-JAC6JVCI.js.map → chunk-6OIKNJ7G.js.map} +0 -0
- /package/dist/{chunk-A3DKSAEL.js.map → chunk-6VIHWBOD.js.map} +0 -0
- /package/dist/{chunk-Q3LXLWZY.js.map → chunk-74BP3JIV.js.map} +0 -0
- /package/dist/{chunk-N3I6ZXR7.js.map → chunk-7AWSJ6Z5.js.map} +0 -0
- /package/dist/{chunk-P2MFWJR3.js.map → chunk-7IVY55AU.js.map} +0 -0
- /package/dist/{chunk-Q5WBTVA7.js.map → chunk-7POQSUPH.js.map} +0 -0
- /package/dist/{chunk-JH2L5CQD.js.map → chunk-7RCNWRKK.js.map} +0 -0
- /package/dist/{chunk-3S274625.js.map → chunk-ABEIEHOV.js.map} +0 -0
- /package/dist/{chunk-NKIBXOHT.js.map → chunk-AREUZGX7.js.map} +0 -0
- /package/dist/{chunk-F377KYIM.js.map → chunk-CNFFNE4L.js.map} +0 -0
- /package/dist/{chunk-AW2GKIGS.js.map → chunk-CORXHFKY.js.map} +0 -0
- /package/dist/{chunk-RDEAVCMF.js.map → chunk-D3SHD4KA.js.map} +0 -0
- /package/dist/{chunk-3WAYZQNV.js.map → chunk-DD3C6TSW.js.map} +0 -0
- /package/dist/{chunk-2KRK667G.js.map → chunk-DQU2GVU7.js.map} +0 -0
- /package/dist/{chunk-JUVVCA7B.js.map → chunk-ECHVJII5.js.map} +0 -0
- /package/dist/{chunk-EW3JEKIV.js.map → chunk-EFWXYUSK.js.map} +0 -0
- /package/dist/{chunk-2TVXJPGR.js.map → chunk-F4KWLFCC.js.map} +0 -0
- /package/dist/{chunk-5A257KJA.js.map → chunk-FT7RYWOL.js.map} +0 -0
- /package/dist/{chunk-IFXGCI33.js.map → chunk-HPIKZPTU.js.map} +0 -0
- /package/dist/{chunk-OE3MIV4F.js.map → chunk-HUPHZ35H.js.map} +0 -0
- /package/dist/{chunk-GXGYTFZA.js.map → chunk-JQHLF74O.js.map} +0 -0
- /package/dist/{chunk-I7J7YQXZ.js.map → chunk-K2TOE6XL.js.map} +0 -0
- /package/dist/{chunk-OL7JS4NG.js.map → chunk-KI6TENTW.js.map} +0 -0
- /package/dist/{chunk-B7GF34FU.js.map → chunk-LMYCLUY2.js.map} +0 -0
- /package/dist/{chunk-ZXCSOVS5.js.map → chunk-LQR4CKYW.js.map} +0 -0
- /package/dist/{chunk-PHCIFBP3.js.map → chunk-LRFNUCHV.js.map} +0 -0
- /package/dist/{chunk-BDYLILMW.js.map → chunk-M2D7ZWEU.js.map} +0 -0
- /package/dist/{chunk-NBO2NSAW.js.map → chunk-ML7GGHTU.js.map} +0 -0
- /package/dist/{chunk-IYTPWAN3.js.map → chunk-MYSLMKTG.js.map} +0 -0
- /package/dist/{chunk-IBY44U2M.js.map → chunk-NDKLPDZ3.js.map} +0 -0
- /package/dist/{chunk-RZTKCCUL.js.map → chunk-OUQSDUVI.js.map} +0 -0
- /package/dist/{chunk-IKLHXGMF.js.map → chunk-PFPUPR3H.js.map} +0 -0
- /package/dist/{chunk-VB3XUR6A.js.map → chunk-PGD7USOH.js.map} +0 -0
- /package/dist/{chunk-FCM6VPFP.js.map → chunk-QKT7W5JP.js.map} +0 -0
- /package/dist/{chunk-2B772ZEA.js.map → chunk-QU4XX5Z7.js.map} +0 -0
- /package/dist/{chunk-MOFMOYUA.js.map → chunk-R3OXH3ML.js.map} +0 -0
- /package/dist/{chunk-ZDAVSTEE.js.map → chunk-RNQMXS7G.js.map} +0 -0
- /package/dist/{chunk-FBFWMTOP.js.map → chunk-SEMNRIOR.js.map} +0 -0
- /package/dist/{chunk-NZKBW4YB.js.map → chunk-SHBFBQYT.js.map} +0 -0
- /package/dist/{chunk-MZPS46OR.js.map → chunk-SIKCVWM3.js.map} +0 -0
- /package/dist/{chunk-J3CWAERS.js.map → chunk-UJPURLUZ.js.map} +0 -0
- /package/dist/{chunk-RJZS4XDJ.js.map → chunk-UM7NJIOU.js.map} +0 -0
- /package/dist/{chunk-SVM3DGAQ.js.map → chunk-V57TZQPI.js.map} +0 -0
- /package/dist/{chunk-PTUXBO5O.js.map → chunk-WXKSUL4U.js.map} +0 -0
- /package/dist/{chunk-7KHTJQGV.js.map → chunk-YJRZVGES.js.map} +0 -0
- /package/dist/{chunk-NEU5QD2C.js.map → chunk-YQICNXIA.js.map} +0 -0
- /package/dist/{chunk-Y46FE75E.js.map → chunk-YTF2MI3E.js.map} +0 -0
- /package/dist/{chunk-S4VLLGTW.js.map → chunk-YYPWVQZQ.js.map} +0 -0
- /package/dist/{chunk-QMOYQJIN.js.map → chunk-Z7BQGWKG.js.map} +0 -0
- /package/dist/{chunk-Z2GQREJY.js.map → chunk-ZXSXRSFX.js.map} +0 -0
- /package/dist/{claim-SVDCQ2AI.js.map → claim-W2ZV4SH3.js.map} +0 -0
- /package/dist/{companies-BYMYQK6A.js.map → companies-ITK3W3H6.js.map} +0 -0
- /package/dist/{complete-NEH3MWRI.js.map → complete-RYEVEF3S.js.map} +0 -0
- /package/dist/{connect-5PGL7ZOM.js.map → connect-FFFNSJ2O.js.map} +0 -0
- /package/dist/{conversation-CSOKJXDW.js.map → conversation-KKJNQRFB.js.map} +0 -0
- /package/dist/{conversion-report-7JJ5L6WH.js.map → conversion-report-PLQ4MVJR.js.map} +0 -0
- /package/dist/{conversion-upload-command-UO2QWG3J.js.map → conversion-upload-command-Z7F6NQH4.js.map} +0 -0
- /package/dist/{conversion-writes-GIGAZT4T.js.map → conversion-writes-VNOXZ4NR.js.map} +0 -0
- /package/dist/{conversions-CIJZLGII.js.map → conversions-KPIFDO2R.js.map} +0 -0
- /package/dist/{create-D6S6TGWY.js.map → create-3R6Q2E2M.js.map} +0 -0
- /package/dist/{create-56PTZABQ.js.map → create-A3R7YRT3.js.map} +0 -0
- /package/dist/{create-2XYMBULY.js.map → create-TYWQP57A.js.map} +0 -0
- /package/dist/{create-SMW4O5PC.js.map → create-UUEWQUPT.js.map} +0 -0
- /package/dist/{creatives-OO76DAFS.js.map → creatives-UK4VITNW.js.map} +0 -0
- /package/dist/{credentials-2ONYUJW6.js.map → credentials-A65GYH4D.js.map} +0 -0
- /package/dist/{critique-NDDFSGPE.js.map → critique-46O4VVPM.js.map} +0 -0
- /package/dist/{critique-YXZVMLZ4.js.map → critique-RPRMG2ZC.js.map} +0 -0
- /package/dist/{crm-Q6CEP5XV.js.map → crm-2WYW3D22.js.map} +0 -0
- /package/dist/{crm-WRONZYDH.js.map → crm-PQ24MNIU.js.map} +0 -0
- /package/dist/{currency-TAEJVMVK.js.map → currency-Q3HCK447.js.map} +0 -0
- /package/dist/{customers-2EFYSCU2.js.map → customers-YTQ7IQ5C.js.map} +0 -0
- /package/dist/{delete-RBWK255M.js.map → delete-BBISJTFG.js.map} +0 -0
- /package/dist/{delete-7WEVC3FS.js.map → delete-PQ4NUNLX.js.map} +0 -0
- /package/dist/{delete-VN4WWMQF.js.map → delete-TBW6TJ6A.js.map} +0 -0
- /package/dist/{demographics-I5XZ435C.js.map → demographics-EVP55FT3.js.map} +0 -0
- /package/dist/{discard-XJLIXTNM.js.map → discard-LPJA4DEY.js.map} +0 -0
- /package/dist/{discover-5Z253HXF.js.map → discover-3G6CE7X3.js.map} +0 -0
- /package/dist/{domain-M7AEGAYI.js.map → domain-5MM7V7JD.js.map} +0 -0
- /package/dist/{draft-CN6GKVBF.js.map → draft-34D5MOKA.js.map} +0 -0
- /package/dist/{draft-7DWRFCXW.js.map → draft-EGS7UFF3.js.map} +0 -0
- /package/dist/{draft-MNEM4N5W.js.map → draft-J6GJXZRX.js.map} +0 -0
- /package/dist/{draft-7IIYHSY2.js.map → draft-K3O7Q3A5.js.map} +0 -0
- /package/dist/{experiment-IDDWRCJ7.js.map → experiment-7RJ5X2LL.js.map} +0 -0
- /package/dist/{facets-ZLZ6LIHN.js.map → facets-RUZKALF3.js.map} +0 -0
- /package/dist/{feedback-7LEX2P5Q.js.map → feedback-S5LHJYZD.js.map} +0 -0
- /package/dist/{feedback-record-P4JJ63KA.js.map → feedback-record-GAM2R5GG.js.map} +0 -0
- /package/dist/{fetch-MIVCEHXZ.js.map → fetch-FA6TR66Y.js.map} +0 -0
- /package/dist/{find-VHN34MWL.js.map → find-2EPXK5RF.js.map} +0 -0
- /package/dist/{fit-SS6HSZPU.js.map → fit-MOMO4AXL.js.map} +0 -0
- /package/dist/{flows-UTIIHDNE.js.map → flows-DMMCSBWY.js.map} +0 -0
- /package/dist/{fonts-JJS2PRT7.js.map → fonts-G4JLXWX2.js.map} +0 -0
- /package/dist/{forecast-OBSHG2GJ.js.map → forecast-OOP4K5DE.js.map} +0 -0
- /package/dist/{forecast-W7Z5TVQX.js.map → forecast-V65WS5QG.js.map} +0 -0
- /package/dist/{funnel-Z2VLXUEQ.js.map → funnel-SEQPUM3X.js.map} +0 -0
- /package/dist/{ga4-ZPAEF2G2.js.map → ga4-6EIQC2TG.js.map} +0 -0
- /package/dist/{generate-Y76WU7M7.js.map → generate-IDDQD5FU.js.map} +0 -0
- /package/dist/{get-MDAO6I7T.js.map → get-DEOZMGOQ.js.map} +0 -0
- /package/dist/{get-ZB553BSH.js.map → get-SEJINVOS.js.map} +0 -0
- /package/dist/{google-WYXDMH2N.js.map → google-7L3FWKPJ.js.map} +0 -0
- /package/dist/{google-C3X7O2UO.js.map → google-O5OI6QFU.js.map} +0 -0
- /package/dist/{google-ads-FTWL772L.js.map → google-ads-MIGWMCWY.js.map} +0 -0
- /package/dist/{gsc-SDDHGTZK.js.map → gsc-BM3T2GDL.js.map} +0 -0
- /package/dist/{history-WKJYKDMG.js.map → history-IBWXCDCB.js.map} +0 -0
- /package/dist/{history-DGHMJ2XF.js.map → history-Z5577FPQ.js.map} +0 -0
- /package/dist/{hubspot-EPHVEPOO.js.map → hubspot-6AZKUX72.js.map} +0 -0
- /package/dist/{icon-MYPDC6FM.js.map → icon-B7DG53S5.js.map} +0 -0
- /package/dist/{ideas-3PBH7VEX.js.map → ideas-AX7S3NCG.js.map} +0 -0
- /package/dist/{images-J35C3WG4.js.map → images-632SXTB5.js.map} +0 -0
- /package/dist/{ingest-OKUYP632.js.map → ingest-HS55RVKH.js.map} +0 -0
- /package/dist/{ingest-5QOPUKFE.js.map → ingest-T3OK3DRG.js.map} +0 -0
- /package/dist/{insights-EU45J56U.js.map → insights-UDX66IMV.js.map} +0 -0
- /package/dist/{inspect-PMNCP6MV.js.map → inspect-D6ZIUBH3.js.map} +0 -0
- /package/dist/{inspiration-QAL7NS7G.js.map → inspiration-TCCKM4R7.js.map} +0 -0
- /package/dist/{intent-FUGWRUSW.js.map → intent-3WTKKTUX.js.map} +0 -0
- /package/dist/{keyword-gap-DXTKZLV2.js.map → keyword-gap-7GESZXY2.js.map} +0 -0
- /package/dist/{keyword-metrics-R752SJIT.js.map → keyword-metrics-J43MV3RQ.js.map} +0 -0
- /package/dist/{keywords-for-site-7UWPJYQF.js.map → keywords-for-site-6YKCTFJZ.js.map} +0 -0
- /package/dist/{landing-CBVIOGJ5.js.map → landing-Y7DI2FUT.js.map} +0 -0
- /package/dist/{languages-XRTTEJ5P.js.map → languages-LSKNZI2A.js.map} +0 -0
- /package/dist/{learn-N6QV7GXA.js.map → learn-M4UHA476.js.map} +0 -0
- /package/dist/{line-item-writes-3WPJXKIL.js.map → line-item-writes-F2OPBMIE.js.map} +0 -0
- /package/dist/{line-items-ZOFKOGAA.js.map → line-items-YJ3DLV2U.js.map} +0 -0
- /package/dist/{link-DDRQKOUL.js.map → link-RZKYW22K.js.map} +0 -0
- /package/dist/{list-5PLXVPLB.js.map → list-NPJ34244.js.map} +0 -0
- /package/dist/{list-WTVOBQYX.js.map → list-WTVBOTA4.js.map} +0 -0
- /package/dist/{list-VSJISE7U.js.map → list-XK5CHKYJ.js.map} +0 -0
- /package/dist/{locations-PCZPKH47.js.map → locations-DSDCNP5Z.js.map} +0 -0
- /package/dist/{locations-TGJH3URF.js.map → locations-SFZN4MYW.js.map} +0 -0
- /package/dist/{log-YKKPROLZ.js.map → log-K4FWHXIM.js.map} +0 -0
- /package/dist/{logo-WE2UELX6.js.map → logo-QTSBKP2J.js.map} +0 -0
- /package/dist/{make-RNOWBLZQ.js.map → make-VQDUKVPB.js.map} +0 -0
- /package/dist/{map-WTDPQLVO.js.map → map-Z3MEM6QX.js.map} +0 -0
- /package/dist/{mcp-XJNSCPP3.js.map → mcp-KJOSR534.js.map} +0 -0
- /package/dist/{media-sources-JGBDDXZ5.js.map → media-sources-44HTWIY3.js.map} +0 -0
- /package/dist/{members-O3BTMRXX.js.map → members-HGU22NL3.js.map} +0 -0
- /package/dist/{metrics-PYPCW7FJ.js.map → metrics-OV2EKPJ6.js.map} +0 -0
- /package/dist/{models-IAGO5GIH.js.map → models-NGAUD6QJ.js.map} +0 -0
- /package/dist/{normalize-R5AYLA2J.js.map → normalize-IUPOHEZJ.js.map} +0 -0
- /package/dist/{options-AILRY7JY.js.map → options-TL5TPGHK.js.map} +0 -0
- /package/dist/{performance-7YU4HOGH.js.map → performance-PCZHQCZ5.js.map} +0 -0
- /package/dist/{pixels-R4MOLWAR.js.map → pixels-GHEAK62X.js.map} +0 -0
- /package/dist/{promoted-tweet-writes-TNELWPVG.js.map → promoted-tweet-writes-O4RTZFSI.js.map} +0 -0
- /package/dist/{promoted-tweets-76WKUFJQ.js.map → promoted-tweets-AWP6MGJI.js.map} +0 -0
- /package/dist/{publish-BKLHCKHB.js.map → publish-PODZKJHW.js.map} +0 -0
- /package/dist/{query-XDHZMGLX.js.map → query-FUSR27T4.js.map} +0 -0
- /package/dist/{reddit-YK3YUZEI.js.map → reddit-UNUNWSNR.js.map} +0 -0
- /package/dist/{refresh-WIII7KXB.js.map → refresh-34UO2LXY.js.map} +0 -0
- /package/dist/{release-ZHXYQI7G.js.map → release-BD3EAD75.js.map} +0 -0
- /package/dist/{relevant-pages-CTG72PBR.js.map → relevant-pages-FNKYR2OG.js.map} +0 -0
- /package/dist/{remove-NOX4BXWK.js.map → remove-YQYSQCWI.js.map} +0 -0
- /package/dist/{reopen-NLWKK5HB.js.map → reopen-MULNJOR5.js.map} +0 -0
- /package/dist/{rerun-DZWQNMZQ.js.map → rerun-6YGYJPM7.js.map} +0 -0
- /package/dist/{research-Q3P76RHN.js.map → research-6WEL3USW.js.map} +0 -0
- /package/dist/{research-UDZBCDNX.js.map → research-OBECRSPL.js.map} +0 -0
- /package/dist/{reset-5UHFX7QY.js.map → reset-5TTLZ43U.js.map} +0 -0
- /package/dist/{reset-MTRJQUP7.js.map → reset-PRTK6YUD.js.map} +0 -0
- /package/dist/{resolve-DA72VT7Q.js.map → resolve-6RM63T55.js.map} +0 -0
- /package/dist/{retry-U6F4CS6O.js.map → retry-XYTVP7BV.js.map} +0 -0
- /package/dist/{retry-LQUBX5TK.js.map → retry-Z3C624JW.js.map} +0 -0
- /package/dist/{rules-VS5PZ7VO.js.map → rules-AUAJUM2T.js.map} +0 -0
- /package/dist/{rules-add-LMVZYDXE.js.map → rules-add-7VFGPGZ7.js.map} +0 -0
- /package/dist/{run-6PRA2YSD.js.map → run-S3SVCTIB.js.map} +0 -0
- /package/dist/{run-R6COFNOR.js.map → run-YA5RCRIX.js.map} +0 -0
- /package/dist/{scaffold-ad-ETZLURWU.js.map → scaffold-ad-2KQULVJU.js.map} +0 -0
- /package/dist/{scaffold-static-ad-WLKD3LDN.js.map → scaffold-static-ad-S46QADGV.js.map} +0 -0
- /package/dist/{scaffold-video-3JZYFYFU.js.map → scaffold-video-ZMHI2JDU.js.map} +0 -0
- /package/dist/{schedule-ED2YDUPY.js.map → schedule-FT6P3EKG.js.map} +0 -0
- /package/dist/{scheduled-agents-5P67MVGX.js.map → scheduled-agents-L7K4QWMD.js.map} +0 -0
- /package/dist/{schema-4XVKERSA.js.map → schema-CH654RZB.js.map} +0 -0
- /package/dist/{search-Y2UMIQ57.js.map → search-YKYB2P2M.js.map} +0 -0
- /package/dist/{select-OZ4E6VLF.js.map → select-PM7JUDQY.js.map} +0 -0
- /package/dist/{set-prompt-O4YAE4CE.js.map → set-prompt-VATAT7H6.js.map} +0 -0
- /package/dist/{setup-links-2GJYCV2A.js.map → setup-links-TM3NCVU7.js.map} +0 -0
- /package/dist/{site-47B6V2UX.js.map → site-ATAXCWXS.js.map} +0 -0
- /package/dist/{sources-NDXYTASG.js.map → sources-N5RKYKFS.js.map} +0 -0
- /package/dist/{sources-DXPZAPQ7.js.map → sources-V544MB26.js.map} +0 -0
- /package/dist/{stale-VLVBO2L6.js.map → stale-RNEYXKFX.js.map} +0 -0
- /package/dist/{stats-37OFAMPW.js.map → stats-CVF6AC7R.js.map} +0 -0
- /package/dist/{status-4ODD46XY.js.map → status-DPTFOJVV.js.map} +0 -0
- /package/dist/{stock-6R5E7MJX.js.map → stock-4LPQ6SM7.js.map} +0 -0
- /package/dist/{studio-LEIGL3Q7.js.map → studio-NZ3NA4L4.js.map} +0 -0
- /package/dist/{sync-TKNVBUDM.js.map → sync-UBLCCOQZ.js.map} +0 -0
- /package/dist/{sync-definition-M5R3H3TP.js.map → sync-definition-RXRSI2LT.js.map} +0 -0
- /package/dist/{tag-manager-3Q55PBEW.js.map → tag-manager-FLXXLNKP.js.map} +0 -0
- /package/dist/{tags-XAHIB3WA.js.map → tags-2D4AN2QB.js.map} +0 -0
- /package/dist/{tags-4N5UUUN6.js.map → tags-5OM2VN3Q.js.map} +0 -0
- /package/dist/{tags-VK7B5DJF.js.map → tags-CJWSUBCD.js.map} +0 -0
- /package/dist/{tags-5NHIAD5A.js.map → tags-MHKZW2JN.js.map} +0 -0
- /package/dist/{tags-UUKWSWCN.js.map → tags-Z6AH7FDT.js.map} +0 -0
- /package/dist/{targeting-criteria-AVARWV2G.js.map → targeting-criteria-RSAN4KW5.js.map} +0 -0
- /package/dist/{targets-6RYLQRID.js.map → targets-EER2G4WH.js.map} +0 -0
- /package/dist/{testimonials-6TF6BOFN.js.map → testimonials-4WJKAZ5S.js.map} +0 -0
- /package/dist/{themes-JZ3DPE7L.js.map → themes-XUALHDHR.js.map} +0 -0
- /package/dist/{top-companies-45EHRCJD.js.map → top-companies-BSOYGMIB.js.map} +0 -0
- /package/dist/{translate-VHLBACCE.js.map → translate-2XRHDWSC.js.map} +0 -0
- /package/dist/{triggers-ERQONJNO.js.map → triggers-NU6BQ5NJ.js.map} +0 -0
- /package/dist/{unlink-TPDO6JNF.js.map → unlink-LQGPZND2.js.map} +0 -0
- /package/dist/{unstage-YKKQQ7LW.js.map → unstage-GDKW56MH.js.map} +0 -0
- /package/dist/{update-43WU6X7R.js.map → update-43QN723C.js.map} +0 -0
- /package/dist/{update-SPJIHHLE.js.map → update-6CAZKFTC.js.map} +0 -0
- /package/dist/{update-NGH6YADN.js.map → update-EGOWYBEH.js.map} +0 -0
- /package/dist/{update-CAHLAXWO.js.map → update-QRGEMNBY.js.map} +0 -0
- /package/dist/{upload-ACESIZIZ.js.map → upload-LIHRXWUY.js.map} +0 -0
- /package/dist/{url-options-VNX5KYUQ.js.map → url-options-JXL4W7TB.js.map} +0 -0
- /package/dist/{url-params-MIXEDBF7.js.map → url-params-YXRZ4TUD.js.map} +0 -0
- /package/dist/{validate-XJJA7ULE.js.map → validate-KO3MEJUZ.js.map} +0 -0
- /package/dist/{videos-LBXPG7WC.js.map → videos-BPJ34YZL.js.map} +0 -0
- /package/dist/{viewer-check-7VJ3GUZX.js.map → viewer-check-SA5AUQ26.js.map} +0 -0
- /package/dist/{web-EWQJC2SD.js.map → web-KS47ZHXX.js.map} +0 -0
- /package/dist/{winning-ads-SAOJAKEQ.js.map → winning-ads-LE2ALICG.js.map} +0 -0
- /package/dist/{x-LXOJPCRF.js.map → x-DZGRJQ7Y.js.map} +0 -0
package/dist/chunk-SVM3DGAQ.js
DELETED
|
@@ -1,228 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
NUMERIC_ID_REGEX
|
|
3
|
-
} from "./chunk-WTJSMYY2.js";
|
|
4
|
-
|
|
5
|
-
// ../api/src/ads-google/change-history.ts
|
|
6
|
-
var CHANGE_SCOPES = ["detail", "summary"];
|
|
7
|
-
var CHANGE_SCOPE_MAX_DAYS = {
|
|
8
|
-
detail: 30,
|
|
9
|
-
summary: 90
|
|
10
|
-
};
|
|
11
|
-
var DEFAULT_CHANGE_DAYS = 7;
|
|
12
|
-
var MAX_CHANGE_DAYS = CHANGE_SCOPE_MAX_DAYS.summary;
|
|
13
|
-
function isChangeLookbackWithinReach(days, scope) {
|
|
14
|
-
return days <= CHANGE_SCOPE_MAX_DAYS[scope];
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
// ../api/src/ads-google/keyword-planning.ts
|
|
18
|
-
import { z } from "zod";
|
|
19
|
-
var ISO_DATE = /^\d{4}-\d{2}-\d{2}$/;
|
|
20
|
-
var micros = z.number().int().positive();
|
|
21
|
-
var FORECAST_MATCH_TYPES = ["EXACT", "PHRASE", "BROAD"];
|
|
22
|
-
var googleForecastBiddingSchema = z.discriminatedUnion("strategy", [
|
|
23
|
-
z.object({ strategy: z.literal("MANUAL_CPC"), maxCpcBidMicros: micros, dailyBudgetMicros: micros.optional() }),
|
|
24
|
-
z.object({
|
|
25
|
-
strategy: z.literal("MAXIMIZE_CLICKS"),
|
|
26
|
-
dailyTargetSpendMicros: micros,
|
|
27
|
-
maxCpcBidCeilingMicros: micros.optional()
|
|
28
|
-
}),
|
|
29
|
-
z.object({ strategy: z.literal("MAXIMIZE_CONVERSIONS"), dailyTargetSpendMicros: micros })
|
|
30
|
-
]);
|
|
31
|
-
var googleKeywordForecastRequestSchema = z.object({
|
|
32
|
-
customerId: z.string().regex(NUMERIC_ID_REGEX, "customerId must be the bare numeric customer id"),
|
|
33
|
-
managerId: z.string().optional(),
|
|
34
|
-
/** One forecast ad group per entry; most forecasts are a single group. */
|
|
35
|
-
adGroups: z.array(
|
|
36
|
-
z.object({
|
|
37
|
-
keywords: z.array(z.object({ text: z.string().trim().min(1).max(80), matchType: z.enum(FORECAST_MATCH_TYPES) })).min(1)
|
|
38
|
-
})
|
|
39
|
-
).min(1),
|
|
40
|
-
locationIds: z.array(z.string().regex(NUMERIC_ID_REGEX)).optional(),
|
|
41
|
-
languageId: z.string().regex(NUMERIC_ID_REGEX).optional(),
|
|
42
|
-
bidding: googleForecastBiddingSchema,
|
|
43
|
-
/** Must start in the future and end within a year. Without them Baker forecasts the 30 days from tomorrow. */
|
|
44
|
-
startDate: z.string().regex(ISO_DATE).optional(),
|
|
45
|
-
endDate: z.string().regex(ISO_DATE).optional(),
|
|
46
|
-
currencyCode: z.string().length(3).optional()
|
|
47
|
-
}).refine((body) => body.startDate === void 0 === (body.endDate === void 0), {
|
|
48
|
-
message: "Give both --start and --end, or neither (the forecast then covers the 30 days from tomorrow)",
|
|
49
|
-
path: ["endDate"]
|
|
50
|
-
});
|
|
51
|
-
var KEYWORD_FORECAST_SOURCE = "keyword_planner_forecast";
|
|
52
|
-
var googleKeywordForecastResponseSchema = z.object({
|
|
53
|
-
source: z.literal(KEYWORD_FORECAST_SOURCE),
|
|
54
|
-
period: z.object({ startDate: z.string(), endDate: z.string() }),
|
|
55
|
-
forecast_clicks: z.number().nullable(),
|
|
56
|
-
forecast_cost_micros: z.number().nullable(),
|
|
57
|
-
forecast_conversions: z.number().nullable(),
|
|
58
|
-
forecast_average_cpc_micros: z.number().nullable(),
|
|
59
|
-
forecast_average_cpa_micros: z.number().nullable()
|
|
60
|
-
});
|
|
61
|
-
var googleAdGroupThemesRequestSchema = z.object({
|
|
62
|
-
customerId: z.string().regex(NUMERIC_ID_REGEX, "customerId must be the bare numeric customer id"),
|
|
63
|
-
managerId: z.string().optional(),
|
|
64
|
-
keywords: z.array(z.string().trim().min(1)).min(1),
|
|
65
|
-
/** Existing ad groups to sort the keywords into: numeric ids or `customers/{cid}/adGroups/{id}`. */
|
|
66
|
-
adGroups: z.array(z.string().min(1)).min(1)
|
|
67
|
-
});
|
|
68
|
-
var googleAdGroupThemesResponseSchema = z.object({
|
|
69
|
-
suggestions: z.array(
|
|
70
|
-
z.object({
|
|
71
|
-
keyword: z.string(),
|
|
72
|
-
suggested_keyword: z.string(),
|
|
73
|
-
match_type: z.string(),
|
|
74
|
-
ad_group: z.string(),
|
|
75
|
-
campaign: z.string()
|
|
76
|
-
})
|
|
77
|
-
),
|
|
78
|
-
unusable_ad_groups: z.array(z.object({ ad_group: z.string(), campaign: z.string() }))
|
|
79
|
-
});
|
|
80
|
-
|
|
81
|
-
// ../api/src/ads-google/url-options.ts
|
|
82
|
-
import { z as z2 } from "zod";
|
|
83
|
-
var URL_OPTION_LEVELS = ["account", "campaign", "ad_group", "ad"];
|
|
84
|
-
var googleUrlOptionValueSchema = z2.discriminatedUnion("state", [
|
|
85
|
-
z2.object({ state: z2.literal("set"), value: z2.string() }),
|
|
86
|
-
z2.object({ state: z2.literal("not_set") }),
|
|
87
|
-
z2.object({ state: z2.literal("not_read"), reason: z2.string() })
|
|
88
|
-
]);
|
|
89
|
-
var googleUrlOptionsRequestSchema = z2.object({
|
|
90
|
-
customerId: z2.string().regex(NUMERIC_ID_REGEX, "customerId must be the bare numeric customer id"),
|
|
91
|
-
managerId: z2.string().optional(),
|
|
92
|
-
/** Compact by default: only campaigns that actually override the account. `full` lists every campaign. */
|
|
93
|
-
full: z2.boolean().optional(),
|
|
94
|
-
skipCache: z2.boolean().optional()
|
|
95
|
-
});
|
|
96
|
-
var googleUrlOptionsCampaignSchema = z2.object({
|
|
97
|
-
id: z2.string(),
|
|
98
|
-
name: z2.string(),
|
|
99
|
-
status: z2.string(),
|
|
100
|
-
final_url_suffix: googleUrlOptionValueSchema,
|
|
101
|
-
tracking_url_template: googleUrlOptionValueSchema
|
|
102
|
-
});
|
|
103
|
-
var googleUrlOptionsAdGroupSchema = z2.object({
|
|
104
|
-
id: z2.string(),
|
|
105
|
-
name: z2.string(),
|
|
106
|
-
status: z2.string(),
|
|
107
|
-
campaign_id: z2.string(),
|
|
108
|
-
final_url_suffix: googleUrlOptionValueSchema,
|
|
109
|
-
tracking_url_template: googleUrlOptionValueSchema
|
|
110
|
-
});
|
|
111
|
-
var googleUrlOptionsAdSchema = z2.object({
|
|
112
|
-
id: z2.string(),
|
|
113
|
-
status: z2.string(),
|
|
114
|
-
ad_group_id: z2.string(),
|
|
115
|
-
campaign_id: z2.string(),
|
|
116
|
-
final_url_suffix: googleUrlOptionValueSchema,
|
|
117
|
-
tracking_url_template: googleUrlOptionValueSchema
|
|
118
|
-
});
|
|
119
|
-
var googleUrlOptionsResponseSchema = z2.object({
|
|
120
|
-
customer_id: z2.string(),
|
|
121
|
-
account: z2.object({
|
|
122
|
-
level: z2.literal("account"),
|
|
123
|
-
read: z2.boolean(),
|
|
124
|
-
final_url_suffix: googleUrlOptionValueSchema,
|
|
125
|
-
tracking_url_template: googleUrlOptionValueSchema
|
|
126
|
-
}),
|
|
127
|
-
campaigns: z2.object({
|
|
128
|
-
level: z2.literal("campaign"),
|
|
129
|
-
read: z2.boolean(),
|
|
130
|
-
/** Campaigns actually observed. 0 with `read: true` means the account has no non-removed campaigns. */
|
|
131
|
-
campaigns_read: z2.number().int().nonnegative(),
|
|
132
|
-
/** Campaigns observed to carry no override of their own — an explicit finding, not an omission. */
|
|
133
|
-
campaigns_without_override: z2.number().int().nonnegative(),
|
|
134
|
-
overrides: z2.array(googleUrlOptionsCampaignSchema),
|
|
135
|
-
/** Compact mode only: campaigns read but not listed because they carry no override. */
|
|
136
|
-
omitted: z2.number().int().nonnegative()
|
|
137
|
-
}),
|
|
138
|
-
/**
|
|
139
|
-
* Ad groups and ads that carry an override of their own — read by asking Google only for the
|
|
140
|
-
* entities whose suffix or template IS NOT NULL, so an account of thousands of ads costs one page.
|
|
141
|
-
* `read: true` with no overrides is a finding: nothing at this level overrides the levels above.
|
|
142
|
-
* `truncated` means more overriding entities exist than one page listed.
|
|
143
|
-
*/
|
|
144
|
-
ad_groups: z2.object({
|
|
145
|
-
level: z2.literal("ad_group"),
|
|
146
|
-
read: z2.boolean(),
|
|
147
|
-
overrides: z2.array(googleUrlOptionsAdGroupSchema),
|
|
148
|
-
truncated: z2.boolean()
|
|
149
|
-
}),
|
|
150
|
-
ads: z2.object({
|
|
151
|
-
level: z2.literal("ad"),
|
|
152
|
-
read: z2.boolean(),
|
|
153
|
-
overrides: z2.array(googleUrlOptionsAdSchema),
|
|
154
|
-
truncated: z2.boolean()
|
|
155
|
-
}),
|
|
156
|
-
/** Levels this command could not read. Nothing here may be reported as "not configured". */
|
|
157
|
-
levels_not_read: z2.array(z2.object({ level: z2.enum(URL_OPTION_LEVELS), reason: z2.string() }))
|
|
158
|
-
});
|
|
159
|
-
var ACCOUNT_URL_OPTIONS_LOCATION = "Google Ads UI \u2192 Admin \u2192 Account settings \u2192 Tracking (account-level tracking template and final URL suffix)";
|
|
160
|
-
var ACCOUNT_URL_OPTIONS_STAGE_COMMAND = 'baker ads google account update --customer-id <id> --final-url-suffix "utm_agency=baker"';
|
|
161
|
-
function isSet(value) {
|
|
162
|
-
return value.state === "set";
|
|
163
|
-
}
|
|
164
|
-
function entityOverrideHints(label, plural, field, level) {
|
|
165
|
-
if (!level.read) return [];
|
|
166
|
-
const hints = [];
|
|
167
|
-
const overriding = level.overrides.filter((entity) => isSet(entity.final_url_suffix));
|
|
168
|
-
if (overriding.length > 0) {
|
|
169
|
-
const named = overriding.slice(0, 5).map((entity) => entity.name || entity.id).join(", ");
|
|
170
|
-
hints.push(
|
|
171
|
-
`${overriding.length} ${label}(s) set their own final URL suffix (${named}${overriding.length > 5 ? ", \u2026" : ""}). It REPLACES the campaign and account suffix for every click through it, so an account-wide parameter must be added to theirs too.`
|
|
172
|
-
);
|
|
173
|
-
}
|
|
174
|
-
if (level.truncated) {
|
|
175
|
-
hints.push(
|
|
176
|
-
`More ${plural} override the URL options than one page lists \u2014 read them all with \`baker ads google query\` on ${field}.final_url_suffix IS NOT NULL --all before saying which ones do.`
|
|
177
|
-
);
|
|
178
|
-
}
|
|
179
|
-
return hints;
|
|
180
|
-
}
|
|
181
|
-
function urlOptionsHints(report) {
|
|
182
|
-
const hints = [];
|
|
183
|
-
const { account, campaigns } = report;
|
|
184
|
-
if (!account.read) {
|
|
185
|
-
hints.push(
|
|
186
|
-
"The account level did NOT read \u2014 its URL options are unknown, not empty. Re-run before telling the user anything about account-wide tagging."
|
|
187
|
-
);
|
|
188
|
-
} else if (account.final_url_suffix.state === "not_set") {
|
|
189
|
-
hints.push(
|
|
190
|
-
`No account-level final URL suffix is set. An account-wide parameter (agency/partner tagging such as utm_agency=\u2026) belongs at the account level so it reaches every ad \u2014 stage it with \`${ACCOUNT_URL_OPTIONS_STAGE_COMMAND}\` (applies at Publish; the user sees it under ${ACCOUNT_URL_OPTIONS_LOCATION}).`
|
|
191
|
-
);
|
|
192
|
-
}
|
|
193
|
-
if (!campaigns.read) {
|
|
194
|
-
hints.push(
|
|
195
|
-
"Campaign-level URL options did NOT read \u2014 do not report that no campaign overrides exist. Re-run before concluding."
|
|
196
|
-
);
|
|
197
|
-
} else {
|
|
198
|
-
const overriding = campaigns.overrides.filter((c) => isSet(c.final_url_suffix));
|
|
199
|
-
if (overriding.length > 0) {
|
|
200
|
-
const named = overriding.slice(0, 5).map((c) => c.name || c.id).join(", ");
|
|
201
|
-
hints.push(
|
|
202
|
-
`A campaign's final URL suffix REPLACES the account-level one for that campaign \u2014 it does not merge. ${overriding.length} campaign(s) set their own (${named}${overriding.length > 5 ? ", \u2026" : ""}) and will not pick up an account-wide parameter until their own suffix carries it too. Every other campaign read here inherits the account level normally.`
|
|
203
|
-
);
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
hints.push(...entityOverrideHints("ad group", "ad groups", "ad_group", report.ad_groups));
|
|
207
|
-
hints.push(...entityOverrideHints("ad", "ads", "ad_group_ad.ad", report.ads));
|
|
208
|
-
const overridingLevelsNotRead = report.levels_not_read.filter((level) => level.level !== "account");
|
|
209
|
-
if (overridingLevelsNotRead.length > 0) {
|
|
210
|
-
hints.push(
|
|
211
|
-
`Not read at this level: ${overridingLevelsNotRead.map((l) => l.level).join(", ")}. A suffix set there still wins over the levels above it.`
|
|
212
|
-
);
|
|
213
|
-
}
|
|
214
|
-
if (campaigns.omitted > 0) {
|
|
215
|
-
hints.push(`${campaigns.omitted} campaign(s) read with no override of their own are not listed \u2014 pass --full.`);
|
|
216
|
-
}
|
|
217
|
-
return hints;
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
export {
|
|
221
|
-
CHANGE_SCOPES,
|
|
222
|
-
CHANGE_SCOPE_MAX_DAYS,
|
|
223
|
-
DEFAULT_CHANGE_DAYS,
|
|
224
|
-
isChangeLookbackWithinReach,
|
|
225
|
-
googleKeywordForecastRequestSchema,
|
|
226
|
-
urlOptionsHints
|
|
227
|
-
};
|
|
228
|
-
//# sourceMappingURL=chunk-SVM3DGAQ.js.map
|
package/dist/chunk-TTKBNBQF.js
DELETED
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Phrases,
|
|
3
|
-
RULE_APPLIES,
|
|
4
|
-
RULE_KINDS,
|
|
5
|
-
RULE_STRENGTHS
|
|
6
|
-
} from "./chunk-Y46FE75E.js";
|
|
7
|
-
import {
|
|
8
|
-
holdWorkspaceSpend
|
|
9
|
-
} from "./chunk-UFKO626N.js";
|
|
10
|
-
import {
|
|
11
|
-
askAboutText
|
|
12
|
-
} from "./chunk-S4VLLGTW.js";
|
|
13
|
-
import {
|
|
14
|
-
CREATIVE_FEEDBACK_REASON_LABELS
|
|
15
|
-
} from "./chunk-DAO63OOP.js";
|
|
16
|
-
|
|
17
|
-
// src/commands/creatives/rule-candidate.ts
|
|
18
|
-
import { createHash } from "crypto";
|
|
19
|
-
import { mkdir, readFile, writeFile } from "fs/promises";
|
|
20
|
-
import path from "path";
|
|
21
|
-
import { z } from "zod";
|
|
22
|
-
var optionalPhrases = Phrases.optional().catch(void 0);
|
|
23
|
-
var Draft = z.object({
|
|
24
|
-
because: z.string().trim().min(3).max(400),
|
|
25
|
-
text: z.string().trim().min(1).max(300),
|
|
26
|
-
strength: z.enum(RULE_STRENGTHS).catch("must"),
|
|
27
|
-
applies: z.enum(RULE_APPLIES).catch("any"),
|
|
28
|
-
language: z.string().trim().regex(/^[a-z]{2,3}$/).optional().catch(void 0),
|
|
29
|
-
kinds: z.array(z.enum(RULE_KINDS)).optional().catch(void 0),
|
|
30
|
-
platforms: optionalPhrases,
|
|
31
|
-
forbid: optionalPhrases,
|
|
32
|
-
require: optionalPhrases,
|
|
33
|
-
allow: optionalPhrases,
|
|
34
|
-
people: z.literal("real").optional().catch(void 0)
|
|
35
|
-
});
|
|
36
|
-
function parseDrafts(answer) {
|
|
37
|
-
const rules = answer?.rules;
|
|
38
|
-
if (!Array.isArray(rules)) return [];
|
|
39
|
-
return rules.slice(0, MAX_DRAFTS).flatMap((raw) => {
|
|
40
|
-
const draft = Draft.safeParse(raw);
|
|
41
|
-
if (!draft.success) return [];
|
|
42
|
-
const { because: _because, ...rule } = draft.data;
|
|
43
|
-
return [
|
|
44
|
-
Object.fromEntries(
|
|
45
|
-
Object.entries(rule).filter(([, v]) => v !== void 0 && !(Array.isArray(v) && v.length === 0))
|
|
46
|
-
)
|
|
47
|
-
];
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
var MAX_DRAFTS = 3;
|
|
51
|
-
function draftRulesPrompt(note, ad) {
|
|
52
|
-
const where = [ad.kind ? `a ${ad.kind} ad` : "an ad", ad.platform ? `for ${ad.platform}` : ""].filter(Boolean).join(" ");
|
|
53
|
-
return [
|
|
54
|
-
`A person rejected ${where} and said, in their own words:`,
|
|
55
|
-
`"""${note}"""`,
|
|
56
|
-
"",
|
|
57
|
-
"List only the standing rules this note states for EVERY future ad of the company (at most 3). Most notes state none: they ask for changes to this ad (fix a word, move the logo, speed up a scene, redo the pieces), and a change to this ad is never a rule, however it is phrased. A rule is standing only when the note itself says it holds beyond this ad (always, never, in every video, in these creatives, these mistakes keep happening, it is the format of the programme, the rule of the other pieces), or it corrects how the company or what it sells must always be named.",
|
|
58
|
-
"For each rule, quote in `because` the note's own words that make it hold beyond this ad; a rule you cannot quote that for is not a rule. Return JSON only:",
|
|
59
|
-
'{"rules": [{"because": string, "text": string, "strength": "never" | "must" | "prefer", "applies": "copy" | "picture" | "cast" | "logo" | "voice" | "sound" | "subtitles" | "any", "language": string, "kinds": ["static" | "video"], "platforms": string[], "forbid": string[], "require": string[], "allow": string[], "people": "real" | null}]}',
|
|
60
|
-
"- text: the rule in one short sentence, in the note's own language and close to its words.",
|
|
61
|
-
'- strength: "never" for a ban, "must" for something every ad has to do, "prefer" for a taste.',
|
|
62
|
-
'- applies: what of the ad it is about ("copy" for its words, "picture", "cast" for who appears, "logo", "voice", "sound", "subtitles"), else "any".',
|
|
63
|
-
`- language: the note's language as a two-letter code ("es").`,
|
|
64
|
-
'- kinds and platforms: only when the note limits the rule to them ("en estos creativos de linkedin" gives platforms ["linkedin"]); else [].',
|
|
65
|
-
`- forbid: the exact words the rule bans in the ad's words, only when a word or phrase decides it ("100 % online", not "online" gives forbid ["online"], allow ["100 % online"]); else []. require: words every ad must say; usually []. allow: the right phrase that contains a banned word.`,
|
|
66
|
-
'- people: "real" only when the rule is that no AI-made or invented people appear; else null.',
|
|
67
|
-
'Return {"rules": []} when the note states no standing rule.'
|
|
68
|
-
].join("\n");
|
|
69
|
-
}
|
|
70
|
-
var RULE_DRAFT_MODEL = "google/gemini-3.5-flash";
|
|
71
|
-
var DRAFT_REQUEST = {
|
|
72
|
-
provider: { order: ["google-vertex"], allow_fallbacks: false },
|
|
73
|
-
seed: 0,
|
|
74
|
-
reasoning: { effort: "low" },
|
|
75
|
-
response_format: { type: "json_object" }
|
|
76
|
-
};
|
|
77
|
-
var DRAFT_TIMEOUT_MS = 3e4;
|
|
78
|
-
function modelRuleDrafter(cacheDir) {
|
|
79
|
-
return async (note, ad) => {
|
|
80
|
-
const prompt = draftRulesPrompt(note, ad);
|
|
81
|
-
const key = createHash("sha256").update(JSON.stringify([RULE_DRAFT_MODEL, prompt])).digest("hex").slice(0, 16);
|
|
82
|
-
const file = path.join(cacheDir, "rule-drafts", `${key}.json`);
|
|
83
|
-
const cached = await readFile(file, "utf8").then(
|
|
84
|
-
(raw) => parseDrafts(JSON.parse(raw)),
|
|
85
|
-
() => null
|
|
86
|
-
);
|
|
87
|
-
if (cached) return cached;
|
|
88
|
-
const spent = [];
|
|
89
|
-
const answer = await askAboutText(RULE_DRAFT_MODEL, prompt, (u) => spent.push(u), {
|
|
90
|
-
timeoutMs: DRAFT_TIMEOUT_MS,
|
|
91
|
-
request: DRAFT_REQUEST
|
|
92
|
-
}).catch(() => null);
|
|
93
|
-
await holdWorkspaceSpend(spent);
|
|
94
|
-
if (answer === null) return [];
|
|
95
|
-
await mkdir(path.dirname(file), { recursive: true }).catch(() => void 0);
|
|
96
|
-
await writeFile(file, JSON.stringify(answer), "utf8").catch(() => void 0);
|
|
97
|
-
return parseDrafts(answer);
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
async function ruleCandidates(note, ad, draft) {
|
|
101
|
-
const text = note?.trim();
|
|
102
|
-
if (!text) return [];
|
|
103
|
-
return await draft(text, ad).catch(() => []);
|
|
104
|
-
}
|
|
105
|
-
var candidatesDir = (cacheDir) => path.join(cacheDir, "rule-candidates");
|
|
106
|
-
async function saveCandidates(cacheDir, candidates) {
|
|
107
|
-
await mkdir(candidatesDir(cacheDir), { recursive: true });
|
|
108
|
-
return await Promise.all(
|
|
109
|
-
candidates.map(async (c) => {
|
|
110
|
-
const id = `rc-${createHash("sha256").update(JSON.stringify(c)).digest("hex").slice(0, 8)}`;
|
|
111
|
-
await writeFile(path.join(candidatesDir(cacheDir), `${id}.json`), JSON.stringify(c), "utf8");
|
|
112
|
-
return id;
|
|
113
|
-
})
|
|
114
|
-
);
|
|
115
|
-
}
|
|
116
|
-
async function loadCandidate(cacheDir, id) {
|
|
117
|
-
if (!/^rc-[0-9a-f]{8}$/.test(id)) return null;
|
|
118
|
-
return await readFile(path.join(candidatesDir(cacheDir), `${id}.json`), "utf8").then(
|
|
119
|
-
(raw) => JSON.parse(raw),
|
|
120
|
-
() => null
|
|
121
|
-
);
|
|
122
|
-
}
|
|
123
|
-
var REPEATED_ON = 2;
|
|
124
|
-
var REPEATED_NOTES = 3;
|
|
125
|
-
function repeatedReasons(notes, reasons, slug) {
|
|
126
|
-
return reasons.flatMap((reason) => {
|
|
127
|
-
const others = notes.filter((n) => n.creative !== slug && n.reasons.includes(reason));
|
|
128
|
-
const creatives = new Set(others.map((n) => n.creative)).size;
|
|
129
|
-
return creatives >= REPEATED_ON ? [
|
|
130
|
-
{
|
|
131
|
-
label: CREATIVE_FEEDBACK_REASON_LABELS[reason],
|
|
132
|
-
creatives,
|
|
133
|
-
notes: [...new Set(others.map((n) => n.note))].slice(0, REPEATED_NOTES)
|
|
134
|
-
}
|
|
135
|
-
] : [];
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
function ruleCandidateHints(drafted, repeated) {
|
|
139
|
-
const asks = drafted.map(
|
|
140
|
-
(d) => `Their words state a rule for every ad: "${d.text}". Ask them once, in their language: make this a rule for every ad from now on? Only on yes: \`baker creatives rules add --candidate ${d.id}\` (reword it with --text if they correct it). On no, never ask again in this chat.`
|
|
141
|
-
);
|
|
142
|
-
const patterns = repeated.map(
|
|
143
|
-
(r) => `"${r.label}" was also the reason on ${r.creatives} other ads (their words: ${r.notes.map((n) => `"${n}"`).join("; ")}). ${drafted.length > 0 ? "Say so when you ask." : 'Ask them once whether there is a rule for every ad behind it; on yes, `baker creatives rules add --text "<the rule, in their words>" \u2026`.'}`
|
|
144
|
-
);
|
|
145
|
-
return [...asks, ...patterns];
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
export {
|
|
149
|
-
modelRuleDrafter,
|
|
150
|
-
ruleCandidates,
|
|
151
|
-
saveCandidates,
|
|
152
|
-
loadCandidate,
|
|
153
|
-
repeatedReasons,
|
|
154
|
-
ruleCandidateHints
|
|
155
|
-
};
|
|
156
|
-
//# sourceMappingURL=chunk-TTKBNBQF.js.map
|
package/dist/chunk-VB3XUR6A.js
DELETED
|
@@ -1,207 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
handleConnectionError,
|
|
3
|
-
needsConnectionFix,
|
|
4
|
-
writeAdsJson
|
|
5
|
-
} from "./chunk-2VIZ4UUZ.js";
|
|
6
|
-
import {
|
|
7
|
-
LINKEDIN_SEARCH_STATUSES,
|
|
8
|
-
unsupportedLinkedinSearchStatuses
|
|
9
|
-
} from "./chunk-DAO63OOP.js";
|
|
10
|
-
import {
|
|
11
|
-
ApiError
|
|
12
|
-
} from "./chunk-6YLNY6CK.js";
|
|
13
|
-
import {
|
|
14
|
-
MissingChatIdError,
|
|
15
|
-
getEnv
|
|
16
|
-
} from "./chunk-57KKVDDR.js";
|
|
17
|
-
|
|
18
|
-
// src/commands/ads/linkedin/shared.ts
|
|
19
|
-
import { readFileSync } from "fs";
|
|
20
|
-
var DAY_MS = 864e5;
|
|
21
|
-
function handleLinkedinError(err) {
|
|
22
|
-
if (err instanceof ApiError) {
|
|
23
|
-
if (needsConnectionFix(err.code, err.message)) {
|
|
24
|
-
handleConnectionError("linkedin_ads", err.message);
|
|
25
|
-
}
|
|
26
|
-
if (isNoAccountsSelectedError(err.code, err.message)) {
|
|
27
|
-
handleConnectionError("linkedin_ads", err.message);
|
|
28
|
-
}
|
|
29
|
-
const explanation = explainLinkedinError(err);
|
|
30
|
-
const envelope = {
|
|
31
|
-
ok: false,
|
|
32
|
-
error: {
|
|
33
|
-
code: err.code,
|
|
34
|
-
message: err.message,
|
|
35
|
-
fix: {
|
|
36
|
-
action: explanation.action,
|
|
37
|
-
explanation: explanation.message,
|
|
38
|
-
correctedCommand: explanation.correctedCommand
|
|
39
|
-
},
|
|
40
|
-
retryable: err.code === "RATE_LIMITED" || err.code === "UNAVAILABLE" || err.code === "INTERNAL_ERROR"
|
|
41
|
-
}
|
|
42
|
-
};
|
|
43
|
-
writeAdsJson(envelope);
|
|
44
|
-
process.exit(1);
|
|
45
|
-
}
|
|
46
|
-
writeAdsJson(unexpectedErrorEnvelope(err));
|
|
47
|
-
process.exit(1);
|
|
48
|
-
}
|
|
49
|
-
function unexpectedErrorEnvelope(err) {
|
|
50
|
-
if (err instanceof MissingChatIdError) {
|
|
51
|
-
return {
|
|
52
|
-
ok: false,
|
|
53
|
-
error: {
|
|
54
|
-
code: err.code,
|
|
55
|
-
message: err.message,
|
|
56
|
-
fix: {
|
|
57
|
-
action: "reject",
|
|
58
|
-
explanation: "LinkedIn changes are staged in a chat and this run has none. Don't retry: carry on with the rest of the job and tell the user this change couldn't be staged from here."
|
|
59
|
-
},
|
|
60
|
-
retryable: false
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
const message = err instanceof Error ? err.message : "Unexpected error";
|
|
65
|
-
return { ok: false, error: { code: "NETWORK_ERROR", message } };
|
|
66
|
-
}
|
|
67
|
-
function isNoAccountsSelectedError(code, message) {
|
|
68
|
-
return code === "VALIDATION_ERROR" && /no linkedin ad accounts selected/i.test(message);
|
|
69
|
-
}
|
|
70
|
-
function explainLinkedinError(err) {
|
|
71
|
-
const lower = err.message.toLowerCase();
|
|
72
|
-
if (err.code === "VALIDATION_ERROR" && lower.includes("granularity") && lower.includes("daily")) {
|
|
73
|
-
return {
|
|
74
|
-
action: "retry_with_flag",
|
|
75
|
-
message: "LinkedIn rejects DAILY granularity when pivoting on demographic dims (job-title, company, etc.). Re-run with --granularity ALL or MONTHLY.",
|
|
76
|
-
correctedCommand: void 0
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
if (err.code === "RATE_LIMITED") {
|
|
80
|
-
return {
|
|
81
|
-
action: "wait_and_retry",
|
|
82
|
-
message: "Hit a LinkedIn throttle. The CLI already backs off automatically \u2014 if you see this you've exhausted the retry budget. Wait ~60s and retry."
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
if (err.code === "INTERNAL_ERROR" && lower.includes("deprecat")) {
|
|
86
|
-
return {
|
|
87
|
-
action: "reject",
|
|
88
|
-
message: "LinkedIn-Version header is deprecated. The backend constant LINKEDIN_API_VERSION needs to be bumped \u2014 file an issue or update the constant."
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
return { action: "reject", message: err.message };
|
|
92
|
-
}
|
|
93
|
-
var LI_ACCOUNT_ID_RE = /^(urn:li:sponsoredAccount:)?\d+$/;
|
|
94
|
-
function resolveAccountIdArg(args) {
|
|
95
|
-
const fromArgs = args["account-id"] ?? args["account-urn"];
|
|
96
|
-
const id = fromArgs || getEnv().BAKER_LINKEDIN_AD_ACCOUNT_ID;
|
|
97
|
-
if (!id) {
|
|
98
|
-
writeAdsJson({
|
|
99
|
-
ok: false,
|
|
100
|
-
error: {
|
|
101
|
-
code: "MISSING_ACCOUNT_ID",
|
|
102
|
-
message: "Pass --account-id (numeric) or --account-urn (urn:li:sponsoredAccount:N), or set BAKER_LINKEDIN_AD_ACCOUNT_ID. Run `baker ads linkedin accounts` to find IDs."
|
|
103
|
-
}
|
|
104
|
-
});
|
|
105
|
-
process.exit(1);
|
|
106
|
-
}
|
|
107
|
-
if (!LI_ACCOUNT_ID_RE.test(id)) {
|
|
108
|
-
writeAdsJson({
|
|
109
|
-
ok: false,
|
|
110
|
-
error: {
|
|
111
|
-
code: "INVALID_ACCOUNT_ID",
|
|
112
|
-
message: `Invalid LinkedIn account ID "${id}". Expected numeric or urn:li:sponsoredAccount:N.`
|
|
113
|
-
}
|
|
114
|
-
});
|
|
115
|
-
process.exit(1);
|
|
116
|
-
}
|
|
117
|
-
return id.startsWith("urn:") ? id.split(":").pop() ?? id : id;
|
|
118
|
-
}
|
|
119
|
-
function todayIso() {
|
|
120
|
-
return (/* @__PURE__ */ new Date()).toISOString().slice(0, 10);
|
|
121
|
-
}
|
|
122
|
-
function daysAgoIso(days) {
|
|
123
|
-
return new Date(Date.now() - days * DAY_MS).toISOString().slice(0, 10);
|
|
124
|
-
}
|
|
125
|
-
function csvOrJson(args) {
|
|
126
|
-
return args.output ?? "json";
|
|
127
|
-
}
|
|
128
|
-
function statusesArgDescription(level) {
|
|
129
|
-
return `CSV of statuses (${LINKEDIN_SEARCH_STATUSES[level].join(",")})`;
|
|
130
|
-
}
|
|
131
|
-
function statusFilterError(level, statuses) {
|
|
132
|
-
const unsupported = unsupportedLinkedinSearchStatuses(level, statuses);
|
|
133
|
-
if (unsupported.length === 0) {
|
|
134
|
-
return null;
|
|
135
|
-
}
|
|
136
|
-
const accepted = LINKEDIN_SEARCH_STATUSES[level].join(",");
|
|
137
|
-
return {
|
|
138
|
-
ok: false,
|
|
139
|
-
error: {
|
|
140
|
-
code: "INVALID_STATUS",
|
|
141
|
-
message: `LinkedIn does not accept status ${unsupported.join(", ")} for this listing.`,
|
|
142
|
-
fix: {
|
|
143
|
-
action: "retry_with_flag",
|
|
144
|
-
explanation: `Re-run with --statuses from ${accepted}, or --all-statuses to drop the filter.`
|
|
145
|
-
},
|
|
146
|
-
retryable: false
|
|
147
|
-
}
|
|
148
|
-
};
|
|
149
|
-
}
|
|
150
|
-
function resolveStatusFilter(args, level) {
|
|
151
|
-
if (args["all-statuses"]) {
|
|
152
|
-
return void 0;
|
|
153
|
-
}
|
|
154
|
-
const explicit = args.statuses;
|
|
155
|
-
if (!explicit) {
|
|
156
|
-
return ["ACTIVE"];
|
|
157
|
-
}
|
|
158
|
-
const statuses = explicit.split(",").map((s) => s.trim().toUpperCase()).filter(Boolean);
|
|
159
|
-
const error = statusFilterError(level, statuses);
|
|
160
|
-
if (error) {
|
|
161
|
-
writeAdsJson(error);
|
|
162
|
-
process.exit(1);
|
|
163
|
-
}
|
|
164
|
-
return statuses;
|
|
165
|
-
}
|
|
166
|
-
function loadTargetingArg(args) {
|
|
167
|
-
const inline = args.targeting;
|
|
168
|
-
if (inline) {
|
|
169
|
-
try {
|
|
170
|
-
return JSON.parse(inline);
|
|
171
|
-
} catch {
|
|
172
|
-
handleLinkedinError(new Error("--targeting must be valid JSON. See LinkedIn 'targetingCriteria' shape."));
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
const file = args["targeting-file"];
|
|
176
|
-
if (file) {
|
|
177
|
-
try {
|
|
178
|
-
return JSON.parse(readFileSync(file, "utf-8"));
|
|
179
|
-
} catch (e) {
|
|
180
|
-
handleLinkedinError(
|
|
181
|
-
new Error(`Failed to read --targeting-file: ${e instanceof Error ? e.message : "I/O error"}`)
|
|
182
|
-
);
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
handleLinkedinError(new Error("Pass --targeting-file <path> or --targeting '{...JSON...}'"));
|
|
186
|
-
}
|
|
187
|
-
function exitOnInvalidArgs(issues, flagByField) {
|
|
188
|
-
const messages = issues.map((issue) => {
|
|
189
|
-
const field = String(issue.path[0] ?? "");
|
|
190
|
-
return `${flagByField[field] ?? (field || "args")}: ${issue.message}`;
|
|
191
|
-
});
|
|
192
|
-
writeAdsJson({ ok: false, error: { code: "INVALID_ARGS", message: messages.join("; ") } });
|
|
193
|
-
process.exit(1);
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
export {
|
|
197
|
-
handleLinkedinError,
|
|
198
|
-
resolveAccountIdArg,
|
|
199
|
-
todayIso,
|
|
200
|
-
daysAgoIso,
|
|
201
|
-
csvOrJson,
|
|
202
|
-
statusesArgDescription,
|
|
203
|
-
resolveStatusFilter,
|
|
204
|
-
loadTargetingArg,
|
|
205
|
-
exitOnInvalidArgs
|
|
206
|
-
};
|
|
207
|
-
//# sourceMappingURL=chunk-VB3XUR6A.js.map
|