@koda-sl/baker-cli 0.447.0 → 0.448.0-dev.ccc3c9a37
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 +231 -42
- package/dist/account-JG7QD522.js +79 -0
- package/dist/account-V6PB6PA5.js +80 -0
- package/dist/account-VLPX7EZT.js +49 -0
- package/dist/account-reads-4P5L6CJN.js +218 -0
- package/dist/account-reads-4P5L6CJN.js.map +1 -0
- package/dist/account-writes-BGREY7ZL.js +66 -0
- package/dist/accounts-2FINK5GZ.js +114 -0
- package/dist/accounts-2UV5Z3Y6.js +75 -0
- package/dist/accounts-3EX2PFJB.js +77 -0
- package/dist/accounts-G2QT3ZVP.js +115 -0
- package/dist/accounts-N63J5YTK.js +611 -0
- package/dist/actions-PA2BPIYO.js +55 -0
- package/dist/active-entities-RDXDSMA2.js +103 -0
- package/dist/activecampaign-EE5ERO25.js +897 -0
- package/dist/activecampaign-EE5ERO25.js.map +1 -0
- package/dist/activities-RBTU2Q24.js +74 -0
- package/dist/ad-group-writes-5NTRJTVE.js +170 -0
- package/dist/ad-groups-4OTAKWUC.js +68 -0
- package/dist/ad-writes-T7W3DDKK.js +174 -0
- package/dist/add-4VKA4NDH.js +105 -0
- package/dist/add-MQO33HL3.js +97 -0
- package/dist/add-MYPHHYC4.js +302 -0
- package/dist/add-MYPHHYC4.js.map +1 -0
- package/dist/add-QM7ANAVG.js +104 -0
- package/dist/add-accounts-VDSWHJ4K.js +91 -0
- package/dist/add-accounts-VDSWHJ4K.js.map +1 -0
- package/dist/ads-HYODBAPV.js +128 -0
- package/dist/ads-HYODBAPV.js.map +1 -0
- package/dist/ads-IJCFN2N3.js +113 -0
- package/dist/ads-QKMLAPZC.js +40 -0
- package/dist/ads-XYAWONXR.js +77 -0
- package/dist/adsets-DPTIKGTG.js +176 -0
- package/dist/advertisers-ITFXIXUW.js +125 -0
- package/dist/advertisers-ITFXIXUW.js.map +1 -0
- package/dist/advertisers-SZFDOPBQ.js +120 -0
- package/dist/analytics-HFBYIPZ7.js +433 -0
- package/dist/analytics-NDZR33ZJ.js +1976 -0
- package/dist/analytics-NDZR33ZJ.js.map +1 -0
- package/dist/animate-LUKNHCF4.js +480 -0
- package/dist/assign-QCICUD72.js +77 -0
- package/dist/audience-size-HML4BLHJ.js +94 -0
- package/dist/audiences-BSABKS5K.js +268 -0
- package/dist/audiences-FWOOSUSJ.js +78 -0
- package/dist/audiences-VK4M7GLQ.js +85 -0
- package/dist/audit-DUM55J5U.js +151 -0
- package/dist/audit-JR5R75XK.js +88 -0
- package/dist/autocomplete-VX4PMMLR.js +111 -0
- package/dist/avatars-5KCRSUJ3.js +38 -0
- package/dist/bid-pricing-AIUACXUH.js +99 -0
- package/dist/brand-UBTC2WXR.js +22 -0
- package/dist/brief-NU7ZGPXO.js +490 -0
- package/dist/brief-NU7ZGPXO.js.map +1 -0
- package/dist/businesses-P3RX4UXS.js +53 -0
- package/dist/campaign-groups-SJZEDIBL.js +95 -0
- package/dist/campaign-writes-5BPVXG4C.js +170 -0
- package/dist/campaign-writes-VE6QLIDA.js +165 -0
- package/dist/campaigns-JEWEDCTC.js +109 -0
- package/dist/campaigns-MEIMSHJF.js +110 -0
- package/dist/campaigns-NCGJNJKS.js +107 -0
- package/dist/campaigns-XY7QWHDN.js +76 -0
- package/dist/canvas-DK2DH7BA.js +46 -0
- package/dist/canvas-DK2DH7BA.js.map +1 -0
- package/dist/capabilities-W6SPXOPF.js +144 -0
- package/dist/cards-CLD4WX6G.js +85 -0
- package/dist/catalog-W6RBOIOF.js +64 -0
- package/dist/catalog-W6RBOIOF.js.map +1 -0
- package/dist/catalogs-DINPKQXY.js +128 -0
- package/dist/changes-N2YZXAPF.js +135 -0
- package/dist/chatgpt-TPAP6BVY.js +47 -0
- package/dist/chats-FKVVBXVF.js +262 -0
- package/dist/chunk-237WE5LX.js +455 -0
- package/dist/chunk-237WE5LX.js.map +1 -0
- package/dist/chunk-24IQ6K7K.js +103 -0
- package/dist/chunk-2FZG5DD2.js +297 -0
- package/dist/chunk-2T3EH2MU.js +363 -0
- package/dist/chunk-2Y5UE2CV.js +174 -0
- package/dist/chunk-2ZZR2SOF.js +215 -0
- package/dist/chunk-2ZZR2SOF.js.map +1 -0
- package/dist/chunk-3KPQDXIU.js +1830 -0
- package/dist/chunk-4AFGT3L3.js +46 -0
- package/dist/chunk-4JKBMKFC.js +225 -0
- package/dist/chunk-4KBWL7S4.js +610 -0
- package/dist/chunk-4R3QKEDV.js +136 -0
- package/dist/chunk-536R4RRM.js +166 -0
- package/dist/chunk-536R4RRM.js.map +1 -0
- package/dist/chunk-57XJ7QF7.js +65 -0
- package/dist/chunk-57XJ7QF7.js.map +1 -0
- package/dist/chunk-6AJ6ZD73.js +172 -0
- package/dist/chunk-6AJ6ZD73.js.map +1 -0
- package/dist/chunk-6SL6463H.js +309 -0
- package/dist/chunk-7TRSFEHZ.js +51 -0
- package/dist/chunk-AOCG7COT.js +474 -0
- package/dist/chunk-AOCG7COT.js.map +1 -0
- package/dist/chunk-APNV7FMK.js +191 -0
- package/dist/chunk-AR7PU7BB.js +76 -0
- package/dist/chunk-AR7PU7BB.js.map +1 -0
- package/dist/chunk-B2HLSTK6.js +392 -0
- package/dist/chunk-B2HLSTK6.js.map +1 -0
- package/dist/chunk-B2VKGTBS.js +3151 -0
- package/dist/chunk-B2VKGTBS.js.map +1 -0
- package/dist/chunk-BC2BXRXY.js +2887 -0
- package/dist/chunk-BC2BXRXY.js.map +1 -0
- package/dist/chunk-BC6M5YYV.js +1599 -0
- package/dist/chunk-BC6M5YYV.js.map +1 -0
- package/dist/chunk-BCSOWRQL.js +76 -0
- package/dist/chunk-BIZH3X6P.js +817 -0
- package/dist/chunk-BIZH3X6P.js.map +1 -0
- package/dist/chunk-BJEW3LST.js +296 -0
- package/dist/chunk-BYKUAX26.js +106 -0
- package/dist/chunk-C4KJHTQU.js +1079 -0
- package/dist/chunk-C4KJHTQU.js.map +1 -0
- package/dist/chunk-C7NPNSFO.js +169 -0
- package/dist/chunk-CAMX6OHF.js +3182 -0
- package/dist/chunk-CAMX6OHF.js.map +1 -0
- package/dist/chunk-CLK2FPAV.js +76 -0
- package/dist/chunk-CLK2FPAV.js.map +1 -0
- package/dist/chunk-CVIMIOPO.js +94 -0
- package/dist/chunk-D3RTGIT4.js +2102 -0
- package/dist/chunk-D3RTGIT4.js.map +1 -0
- package/dist/chunk-DAKIMGUS.js +74 -0
- package/dist/chunk-DCRUGS3G.js +25 -0
- package/dist/chunk-DJPCTTUN.js +1743 -0
- package/dist/chunk-DJPCTTUN.js.map +1 -0
- package/dist/chunk-DJUHGO3O.js +547 -0
- package/dist/chunk-DJUHGO3O.js.map +1 -0
- package/dist/chunk-DMA77LLI.js +106 -0
- package/dist/chunk-EEEAC655.js +45 -0
- package/dist/chunk-EEEAC655.js.map +1 -0
- package/dist/chunk-EESOZY5S.js +26 -0
- package/dist/chunk-EIZMOICE.js +175 -0
- package/dist/chunk-F3IVR3V3.js +136 -0
- package/dist/chunk-FSX6CQ2Z.js +188 -0
- package/dist/chunk-G7LAQE56.js +56 -0
- package/dist/chunk-G7QKXFQ2.js +66 -0
- package/dist/chunk-G7XY4T6K.js +23 -0
- package/dist/chunk-GIWHHCD6.js +145 -0
- package/dist/chunk-GIWHHCD6.js.map +1 -0
- package/dist/chunk-GRJCZF2H.js +5187 -0
- package/dist/chunk-GRJCZF2H.js.map +1 -0
- package/dist/chunk-HCDCWXSU.js +346 -0
- package/dist/chunk-HKSLIV4T.js +533 -0
- package/dist/chunk-HKSLIV4T.js.map +1 -0
- package/dist/chunk-I2DNBEV6.js +4227 -0
- package/dist/chunk-I2DNBEV6.js.map +1 -0
- package/dist/chunk-I4IVUAQN.js +337 -0
- package/dist/chunk-ICJFL7DU.js +35 -0
- package/dist/chunk-ICJFL7DU.js.map +1 -0
- package/dist/chunk-IWNZCYWI.js +74 -0
- package/dist/chunk-JF5LNI6O.js +84 -0
- package/dist/chunk-JJZBZYNK.js +96 -0
- package/dist/chunk-JPK34QPS.js +134 -0
- package/dist/chunk-JPK34QPS.js.map +1 -0
- package/dist/chunk-JZP5IODJ.js +98 -0
- package/dist/chunk-KL5VTXIK.js +149 -0
- package/dist/chunk-KL5VTXIK.js.map +1 -0
- package/dist/chunk-KWMYTVHI.js +455 -0
- package/dist/chunk-LFGCOAB4.js +75 -0
- package/dist/chunk-LLN6WTER.js +665 -0
- package/dist/chunk-LLN6WTER.js.map +1 -0
- package/dist/chunk-LO7OQKUD.js +4410 -0
- package/dist/chunk-LO7OQKUD.js.map +1 -0
- package/dist/chunk-LPRUP3ZX.js +172 -0
- package/dist/chunk-MAGSNHYB.js +6214 -0
- package/dist/chunk-MAGSNHYB.js.map +1 -0
- package/dist/chunk-MD3VH5UG.js +84 -0
- package/dist/chunk-MFORE6F4.js +19 -0
- package/dist/chunk-MMBHCAON.js +160 -0
- package/dist/chunk-MMOTJIV6.js +216 -0
- package/dist/chunk-MMOTJIV6.js.map +1 -0
- package/dist/chunk-NIGGMK7L.js +125 -0
- package/dist/chunk-NN7A2ILR.js +433 -0
- package/dist/chunk-O356YNIW.js +509 -0
- package/dist/chunk-O356YNIW.js.map +1 -0
- package/dist/chunk-OUQMJRH6.js +159 -0
- package/dist/chunk-OXKUWTFL.js +494 -0
- package/dist/chunk-P5T7OZKV.js +26 -0
- package/dist/chunk-PAJJXZ3Z.js +170 -0
- package/dist/chunk-PC56KVAD.js +74 -0
- package/dist/chunk-PEWNEPDR.js +206 -0
- package/dist/chunk-PY4FAOW6.js +275 -0
- package/dist/chunk-PY4FAOW6.js.map +1 -0
- package/dist/chunk-Q2T4XZG4.js +139 -0
- package/dist/chunk-QEHICHMP.js +875 -0
- package/dist/chunk-QEHICHMP.js.map +1 -0
- package/dist/chunk-RCR6RVYE.js +274 -0
- package/dist/chunk-RH2H5PBV.js +111 -0
- package/dist/chunk-S3L2ITS7.js +111 -0
- package/dist/chunk-S3L2ITS7.js.map +1 -0
- package/dist/chunk-S3XM4LD3.js +57 -0
- package/dist/chunk-SEPPFM5S.js +228 -0
- package/dist/chunk-SEPPFM5S.js.map +1 -0
- package/dist/chunk-SFHL3KWY.js +96 -0
- package/dist/chunk-SQ7DRYCC.js +150 -0
- package/dist/chunk-SSVZM3P6.js +333 -0
- package/dist/chunk-T64IRDKW.js +52 -0
- package/dist/chunk-T64IRDKW.js.map +1 -0
- package/dist/chunk-TMNLIA7R.js +60 -0
- package/dist/chunk-UF55TADX.js +92 -0
- package/dist/chunk-UGI33KTO.js +55 -0
- package/dist/chunk-UK2OTLT3.js +197 -0
- package/dist/chunk-UU3FGKUW.js +207 -0
- package/dist/chunk-UUBHU2TY.js +304 -0
- package/dist/chunk-UUBHU2TY.js.map +1 -0
- package/dist/chunk-UX7HIGS7.js +67 -0
- package/dist/chunk-VDZIGI2C.js +98 -0
- package/dist/chunk-VF6JFG27.js +846 -0
- package/dist/chunk-VF6JFG27.js.map +1 -0
- package/dist/chunk-VKVIBQP3.js +486 -0
- package/dist/chunk-VLF2M4GZ.js +592 -0
- package/dist/chunk-VTF7XNOP.js +58 -0
- package/dist/chunk-WDA3L4NF.js +382 -0
- package/dist/chunk-WMN2WKNZ.js +1442 -0
- package/dist/chunk-WMN2WKNZ.js.map +1 -0
- package/dist/chunk-XDV6Q33B.js +42 -0
- package/dist/chunk-XQIOCIDO.js +204 -0
- package/dist/chunk-XQIOCIDO.js.map +1 -0
- package/dist/chunk-XYC26BDM.js +133 -0
- package/dist/chunk-YHQYDNYD.js +23992 -0
- package/dist/chunk-YHQYDNYD.js.map +1 -0
- package/dist/chunk-YOARYFC2.js +6667 -0
- package/dist/chunk-YOARYFC2.js.map +1 -0
- package/dist/chunk-YPCVPDU7.js +455 -0
- package/dist/chunk-YPCVPDU7.js.map +1 -0
- package/dist/chunk-YTWNY3RF.js +97 -0
- package/dist/claim-JLVISHS4.js +197 -0
- package/dist/cli.js +41 -37
- package/dist/cli.js.map +1 -1
- package/dist/client-G6DGRGKT.js +19 -0
- package/dist/code-AYN42EK7.js +76 -0
- package/dist/companies-XDMOP2GL.js +195 -0
- package/dist/complete-XM7VLC4F.js +81 -0
- package/dist/config-UE7GCROG.js +88 -0
- package/dist/connect-VTDKGYP3.js +42 -0
- package/dist/content-5LHM4PBE.js +85 -0
- package/dist/content-5LHM4PBE.js.map +1 -0
- package/dist/conversation-F53OE25Y.js +93 -0
- package/dist/conversion-report-35MLL3FA.js +125 -0
- package/dist/conversion-upload-command-CV2TA7OV.js +438 -0
- package/dist/conversion-writes-NSZPNMPE.js +120 -0
- package/dist/conversions-7YO6DDL3.js +135 -0
- package/dist/conversions-XNISCCC2.js +76 -0
- package/dist/countries-NMWPKFFW.js +82 -0
- package/dist/create-ARERZYCL.js +59 -0
- package/dist/create-C6ZVYIF5.js +207 -0
- package/dist/create-FAPJFCZE.js +235 -0
- package/dist/create-M7TUO3XS.js +130 -0
- package/dist/creatives-3YIV6IOK.js +182 -0
- package/dist/creatives-QZCO6WGH.js +51 -0
- package/dist/creatives-WJLJ3NKP.js +87 -0
- package/dist/credentials-2DO23MYD.js +287 -0
- package/dist/credentials-2DO23MYD.js.map +1 -0
- package/dist/critique-56MNXW7R.js +1449 -0
- package/dist/critique-KRIKEHF6.js +213 -0
- package/dist/crm-OETFQNR3.js +224 -0
- package/dist/crm-WXCFB4TU.js +318 -0
- package/dist/crop-VCP2JLQL.js +113 -0
- package/dist/currency-MNNDKY4Z.js +88 -0
- package/dist/custom-conversions-CIU525HM.js +125 -0
- package/dist/customers-GTPEABJI.js +56 -0
- package/dist/decide-NFTEKQKC.js +199 -0
- package/dist/decide-NFTEKQKC.js.map +1 -0
- package/dist/delete-5CURRI25.js +71 -0
- package/dist/delete-CLC2Q2OE.js +63 -0
- package/dist/delete-CQ6Q3URI.js +54 -0
- package/dist/delete-JIRZBBDD.js +69 -0
- package/dist/delete-LD3F4UIW.js +66 -0
- package/dist/delete-LGZ5OI4C.js +71 -0
- package/dist/demographics-EK2ZPHWK.js +138 -0
- package/dist/describe-BNB6643C.js +97 -0
- package/dist/describe-ZXGFTCDR.js +97 -0
- package/dist/dimensions-IU4ETG4U.js +101 -0
- package/dist/discard-VWCXYJWU.js +66 -0
- package/dist/discover-4EQWGIAN.js +172 -0
- package/dist/discover-4N3V5K2R.js +93 -0
- package/dist/discover-4N3V5K2R.js.map +1 -0
- package/dist/domain-I2SAGVAB.js +98 -0
- package/dist/download-D7TB4744.js +299 -0
- package/dist/draft-4VOOSJQJ.js +233 -0
- package/dist/draft-6KG2YFOY.js +328 -0
- package/dist/draft-APDGACIC.js +306 -0
- package/dist/draft-D76C4JR3.js +103 -0
- package/dist/draft-HFH2Y6F5.js +281 -0
- package/dist/draft-NLUJX7TA.js +307 -0
- package/dist/draft-NLUJX7TA.js.map +1 -0
- package/dist/draft-NVVWWQVC.js +217 -0
- package/dist/draft-NWLPLTWM.js +100 -0
- package/dist/engine/index.d.ts +12 -0
- package/dist/engine/index.js +13 -14
- package/dist/env-LHLGM2YJ.js +43 -0
- package/dist/experiment-4SUIXVBP.js +1397 -0
- package/dist/experiment-4SUIXVBP.js.map +1 -0
- package/dist/export-VGCFD7GL.js +168 -0
- package/dist/extract-32J7V2RX.js +113 -0
- package/dist/facets-WVI6VBDC.js +114 -0
- package/dist/favorites-WKV5H5OF.js +178 -0
- package/dist/feed-2CRO4HA6.js +177 -0
- package/dist/feed-2CRO4HA6.js.map +1 -0
- package/dist/feedback-NMNKYEMU.js +66 -0
- package/dist/feedback-record-2VYBMWMO.js +175 -0
- package/dist/fetch-CENBDLT6.js +176 -0
- package/dist/fetch-XQFPE3MI.js +139 -0
- package/dist/find-PNDKEOXT.js +134 -0
- package/dist/fit-SEWGCEW5.js +45 -0
- package/dist/flows-3N4RPGSP.js +247 -0
- package/dist/flows-3N4RPGSP.js.map +1 -0
- package/dist/follow-BB5KUEXZ.js +94 -0
- package/dist/follow-BB5KUEXZ.js.map +1 -0
- package/dist/follow-competitors-EURYGGXE.js +112 -0
- package/dist/follow-competitors-EURYGGXE.js.map +1 -0
- package/dist/following-CA5BQXYB.js +113 -0
- package/dist/following-CA5BQXYB.js.map +1 -0
- package/dist/fonts-KUCQAR7N.js +34 -0
- package/dist/forecast-G5KRTVDM.js +168 -0
- package/dist/forecast-G5KRTVDM.js.map +1 -0
- package/dist/forecast-PI52G2GL.js +104 -0
- package/dist/funding-ZRC25X5I.js +85 -0
- package/dist/funnel-WGFMUWQP.js +394 -0
- package/dist/funnel-WGFMUWQP.js.map +1 -0
- package/dist/ga4-YDKXVJOC.js +55 -0
- package/dist/generate-BVMMX3SS.js +262 -0
- package/dist/get-7MSF4RVQ.js +59 -0
- package/dist/get-FILH7BDT.js +78 -0
- package/dist/get-FILH7BDT.js.map +1 -0
- package/dist/get-KFVPIDIA.js +61 -0
- package/dist/get-NHQ2XYKZ.js +63 -0
- package/dist/get-TCDAYTZA.js +56 -0
- package/dist/get-TCDAYTZA.js.map +1 -0
- package/dist/get-UMMTY74K.js +92 -0
- package/dist/get-YM77HCL5.js +63 -0
- package/dist/gif-X323HXS2.js +94 -0
- package/dist/google-76A4MHQH.js +136 -0
- package/dist/google-OZTCY7HD.js +3190 -0
- package/dist/google-OZTCY7HD.js.map +1 -0
- package/dist/google-ads-S6O4MLKA.js +195 -0
- package/dist/group-CTIZVYX2.js +43 -0
- package/dist/group-HKWQ75CJ.js +43 -0
- package/dist/gsc-CORRYJBJ.js +30 -0
- package/dist/history-4U7FJGEM.js +133 -0
- package/dist/history-BXOMJ5PL.js +67 -0
- package/dist/hubspot-I5MFAZ4G.js +779 -0
- package/dist/icon-6QW63AHG.js +137 -0
- package/dist/ideas-QDS5XA4S.js +32 -0
- package/dist/images-NVTA2OHD.js +90 -0
- package/dist/improve-WR23CHYH.js +86 -0
- package/dist/ingest-QAVJ2J7F.js +107 -0
- package/dist/ingest-XJHV3GG6.js +23 -0
- package/dist/insights-AW7SOGHI.js +122 -0
- package/dist/insights-IJEPLWQH.js +423 -0
- package/dist/inspect-7I53PWCF.js +189 -0
- package/dist/inspiration-TJJFUVY2.js +53 -0
- package/dist/intent-VEUQS34Z.js +95 -0
- package/dist/job-K7LAIBYN.js +202 -0
- package/dist/job-create-DFZL4CGA.js +109 -0
- package/dist/job-status-6Q2TVTEO.js +74 -0
- package/dist/keep-XJFCLVCP.js +78 -0
- package/dist/keyword-gap-CUOGKUMM.js +130 -0
- package/dist/keyword-metrics-LK7FME4N.js +197 -0
- package/dist/keywords-for-site-4E7UU44P.js +128 -0
- package/dist/landing-I65PFN7H.js +28 -0
- package/dist/landings-SQJWZOJR.js +151 -0
- package/dist/landings-SQJWZOJR.js.map +1 -0
- package/dist/languages-KPPKX3E2.js +40 -0
- package/dist/languages-MGEBLO64.js +55 -0
- package/dist/launches-E3Y6NCQE.js +19 -0
- package/dist/layerize-N4IQ2KE7.js +190 -0
- package/dist/leads-PPMOBH7U.js +293 -0
- package/dist/leads-TNEQUOUN.js +90 -0
- package/dist/learn-QQS323PS.js +203 -0
- package/dist/library-4QQAVB6X.js +109 -0
- package/dist/lighthouse-CD47CPJM.js +75 -0
- package/dist/line-item-writes-QJZQUQ4E.js +208 -0
- package/dist/line-items-ESEAXGBV.js +103 -0
- package/dist/link-DPJYS4WY.js +64 -0
- package/dist/linkedin-EJPNC4VY.js +1008 -0
- package/dist/list-A45NTPSJ.js +76 -0
- package/dist/list-GNP4GIV2.js +51 -0
- package/dist/list-KQFLOVC4.js +57 -0
- package/dist/list-MDHK3ENJ.js +50 -0
- package/dist/list-PRUFXMXW.js +65 -0
- package/dist/list-S3BAQCTL.js +303 -0
- package/dist/list-UU5NPLJ7.js +151 -0
- package/dist/list-V525A4Z4.js +63 -0
- package/dist/locations-J2PVPDZU.js +67 -0
- package/dist/locations-TFOYESTF.js +40 -0
- package/dist/log-XQBEJOOW.js +92 -0
- package/dist/logo-KQD5KUAH.js +18 -0
- package/dist/lookup-QCREWUV4.js +22 -0
- package/dist/make-NZHJ7ICV.js +633 -0
- package/dist/make-NZHJ7ICV.js.map +1 -0
- package/dist/map-7SHU5WCJ.js +433 -0
- package/dist/map-7SHU5WCJ.js.map +1 -0
- package/dist/mcp-GATPHY4D.js +463 -0
- package/dist/mcp-GATPHY4D.js.map +1 -0
- package/dist/media-2WENMOAA.js +15 -0
- package/dist/media-N4C6Q4IV.js +89 -0
- package/dist/media-sources-BPOTW6IB.js +32 -0
- package/dist/members-BOYZKLNK.js +44 -0
- package/dist/meta-PXYHWOOG.js +69 -0
- package/dist/metrics-FZANUN7E.js +152 -0
- package/dist/models-W6EN3WB7.js +155 -0
- package/dist/normalize-LOMDPNFJ.js +806 -0
- package/dist/normalize-RP3D7BUT.js +141 -0
- package/dist/normalize-RP3D7BUT.js.map +1 -0
- package/dist/options-FXND5P2W.js +122 -0
- package/dist/options-FXND5P2W.js.map +1 -0
- package/dist/output-SR4DN3A4.js +24 -0
- package/dist/page-FS76L5WU.js +105 -0
- package/dist/pages-INMNJSX2.js +66 -0
- package/dist/performance-53D43XVZ.js +24 -0
- package/dist/pinterest-JMHFPNVW.js +96 -0
- package/dist/pixels-K6ZD7SXV.js +60 -0
- package/dist/pixels-XPBBJYE3.js +108 -0
- package/dist/plan-45ESBYZA.js +207 -0
- package/dist/plan-45ESBYZA.js.map +1 -0
- package/dist/preview-KXSNG3BS.js +169 -0
- package/dist/profile-I4IXWBAQ.js +159 -0
- package/dist/profile-I4IXWBAQ.js.map +1 -0
- package/dist/promoted-tweet-writes-I6HVQRDB.js +180 -0
- package/dist/promoted-tweets-YAQ5ZUXI.js +119 -0
- package/dist/properties-NYNEONHI.js +101 -0
- package/dist/publish-Z5DVKZSG.js +322 -0
- package/dist/query-MSZPOHFL.js +61 -0
- package/dist/query-RK2TFMBI.js +236 -0
- package/dist/query-TWNH6GV7.js +247 -0
- package/dist/questionnaire-CNXN2TUZ.js +93 -0
- package/dist/questionnaire-CNXN2TUZ.js.map +1 -0
- package/dist/read-2AGRYWXU.js +141 -0
- package/dist/read-2AGRYWXU.js.map +1 -0
- package/dist/reddit-6DQTBTO6.js +26 -0
- package/dist/refresh-TP2TOGS6.js +94 -0
- package/dist/release-PHQEZ2ZX.js +60 -0
- package/dist/relevant-pages-ORVFFVAM.js +99 -0
- package/dist/remove-ETLMMDEA.js +48 -0
- package/dist/remove-KTBM5YSH.js +50 -0
- package/dist/reopen-OURQR6U7.js +63 -0
- package/dist/rerun-HGCVZ3D4.js +84 -0
- package/dist/rerun-HGCVZ3D4.js.map +1 -0
- package/dist/research-P23YBKS3.js +62 -0
- package/dist/research-WCNWT5Y5.js +262 -0
- package/dist/reset-2NCAWWN4.js +54 -0
- package/dist/reset-65R2CUB5.js +54 -0
- package/dist/resolve-65FKZ23N.js +121 -0
- package/dist/retry-P5K6LE6K.js +60 -0
- package/dist/retry-UIPDQJ5F.js +62 -0
- package/dist/retry-failed-QMWQ6TRL.js +45 -0
- package/dist/run-NDMEYUOI.js +59 -0
- package/dist/run-OP3T4TCF.js +65 -0
- package/dist/scaffold-ad-A5MWIOQJ.js +1548 -0
- package/dist/scaffold-ad-A5MWIOQJ.js.map +1 -0
- package/dist/scaffold-static-ad-MFPDXR6J.js +971 -0
- package/dist/scaffold-static-ad-MFPDXR6J.js.map +1 -0
- package/dist/scaffold-video-N6TY36I3.js +872 -0
- package/dist/scaffold-video-N6TY36I3.js.map +1 -0
- package/dist/schedule-6D667AXB.js +61 -0
- package/dist/schedule-KXLQVCZW.js +66 -0
- package/dist/scheduled-agents-LYWEX4PU.js +49 -0
- package/dist/schema-5HZIAHY3.js +132 -0
- package/dist/schema-5HZIAHY3.js.map +1 -0
- package/dist/schema-CCFLFAOY.js +63 -0
- package/dist/scrape-DBZQFIW7.js +2241 -0
- package/dist/screenshot-MPFANYIH.js +102 -0
- package/dist/search-4AANIUUL.js +91 -0
- package/dist/search-EMJABZYF.js +224 -0
- package/dist/search-HQDN7DOF.js +174 -0
- package/dist/search-OVHC4CRQ.js +26 -0
- package/dist/search-YSGZRANA.js +92 -0
- package/dist/search-copy-E3EVO7YT.js +168 -0
- package/dist/search-copy-E3EVO7YT.js.map +1 -0
- package/dist/seeds-XTBVEHSF.js +101 -0
- package/dist/seeds-XTBVEHSF.js.map +1 -0
- package/dist/select-C6BKHB4B.js +94 -0
- package/dist/sends-HXN5HSF6.js +309 -0
- package/dist/sequences-FRK76ZQV.js +146 -0
- package/dist/set-prompt-AOSHNBFC.js +185 -0
- package/dist/set-prompt-AOSHNBFC.js.map +1 -0
- package/dist/setup-links-BM2GLSSO.js +141 -0
- package/dist/shared-EH5ZTQXC.js +31 -0
- package/dist/site-3PEJYQJW.js +177 -0
- package/dist/sitemaps-7KHY2KXI.js +87 -0
- package/dist/sites-6B76JW6C.js +101 -0
- package/dist/skills-SCTT3LCM.js +47 -0
- package/dist/sources-ODJBHNGY.js +30 -0
- package/dist/sources-ZTLMXFHK.js +454 -0
- package/dist/sources-ZTLMXFHK.js.map +1 -0
- package/dist/stale-2O54QXY2.js +63 -0
- package/dist/stats-4NBOAOR2.js +34 -0
- package/dist/status-NE5OBM4B.js +62 -0
- package/dist/sticker-NLXBIOBO.js +94 -0
- package/dist/stock-F3SA4VHV.js +179 -0
- package/dist/studio-ZPDIOFKL.js +49 -0
- package/dist/sync-5GJNZDGZ.js +54 -0
- package/dist/sync-FCNFXTFD.js +265 -0
- package/dist/sync-YXCZ3DHY.js +54 -0
- package/dist/sync-definition-IL6Z4ZI7.js +52 -0
- package/dist/sync-definition-IL6Z4ZI7.js.map +1 -0
- package/dist/tag-manager-YM4Q3CZT.js +43 -0
- package/dist/tags-456UOYJU.js +26 -0
- package/dist/tags-5YPYHV5V.js +20 -0
- package/dist/tags-HXMHEHG2.js +224 -0
- package/dist/tags-K34666RY.js +20 -0
- package/dist/tags-NB35ISO3.js +20 -0
- package/dist/targeting-constants-3CMGPWRI.js +118 -0
- package/dist/targeting-criteria-UKQ4WF5C.js +113 -0
- package/dist/targets-VQ4BQ657.js +102 -0
- package/dist/templates-PMUIOVDX.js +178 -0
- package/dist/testimonials-XZCGVD6V.js +32 -0
- package/dist/themes-TVXLYJ7Y.js +94 -0
- package/dist/themes-TVXLYJ7Y.js.map +1 -0
- package/dist/top-companies-VMRIDOOH.js +108 -0
- package/dist/translate-F5KR62LF.js +598 -0
- package/dist/triggers-2MZX7W6Y.js +141 -0
- package/dist/tweets-XWE3VYQ4.js +123 -0
- package/dist/unfollow-7U4UBAJX.js +46 -0
- package/dist/unlink-AWSNY3QS.js +67 -0
- package/dist/unstage-OGB43ZXO.js +95 -0
- package/dist/unstage-RQBOQ4DY.js +84 -0
- package/dist/update-4KWYHMLS.js +63 -0
- package/dist/update-6DKEWM64.js +142 -0
- package/dist/update-G6EKHPIF.js +155 -0
- package/dist/update-OFV452AC.js +98 -0
- package/dist/upload-6CJWMQ24.js +126 -0
- package/dist/upload-GUKMQ5MT.js +150 -0
- package/dist/upscale-A456MESF.js +109 -0
- package/dist/url-options-FGDOVUSI.js +130 -0
- package/dist/url-options-FGDOVUSI.js.map +1 -0
- package/dist/url-params-OE3UMYMM.js +98 -0
- package/dist/use-HBVKVT5S.js +95 -0
- package/dist/validate-ZCUZV3L4.js +88 -0
- package/dist/validate-ZCUZV3L4.js.map +1 -0
- package/dist/variant-HULP57YI.js +338 -0
- package/dist/videos-ION7UT3M.js +39 -0
- package/dist/view-GCDEJZII.js +121 -0
- package/dist/viewer-check-UKYFBFMY.js +68 -0
- package/dist/viewer-check-UKYFBFMY.js.map +1 -0
- package/dist/web-CCVD6UZ4.js +140 -0
- package/dist/winners-WSMWC4M5.js +113 -0
- package/dist/winners-WSMWC4M5.js.map +1 -0
- package/dist/winning-ads-UCSSFEXD.js +84 -0
- package/dist/winning-ads-UCSSFEXD.js.map +1 -0
- package/dist/write-commands-47OP673X.js +713 -0
- package/dist/write-commands-IJ5IFHS6.js +737 -0
- package/dist/write-commands-NNVDWBLG.js +1015 -0
- package/dist/write-commands-OBMIVFZJ.js +206 -0
- package/dist/x-U32DT24S.js +47 -0
- package/package.json +2 -2
- package/dist/account-2ZMZFPIU.js +0 -79
- package/dist/account-F6MHQ64I.js +0 -80
- package/dist/account-IEVEOFIK.js +0 -49
- package/dist/account-writes-ISE4U2FQ.js +0 -66
- package/dist/accounts-4CDRK4S4.js +0 -75
- package/dist/accounts-5QDKBZMH.js +0 -115
- package/dist/accounts-KYJO3JC6.js +0 -114
- package/dist/accounts-RHGN5WMU.js +0 -611
- package/dist/accounts-VINHZRWA.js +0 -77
- package/dist/actions-5F4ZP6M4.js +0 -55
- package/dist/active-entities-YUSOUR5M.js +0 -103
- package/dist/activities-ZVQOBHZH.js +0 -74
- package/dist/ad-group-writes-UU5NNKSO.js +0 -170
- package/dist/ad-groups-CGFXZNIA.js +0 -68
- package/dist/ad-writes-NALDYWOR.js +0 -174
- package/dist/add-577QWMCF.js +0 -97
- package/dist/add-CUWAW7KG.js +0 -105
- package/dist/add-KBPMSK2P.js +0 -104
- package/dist/add-OGH4DZZ5.js +0 -280
- package/dist/add-OGH4DZZ5.js.map +0 -1
- package/dist/ads-56OWZBXZ.js +0 -40
- package/dist/ads-H7GH7A26.js +0 -113
- package/dist/ads-PV7GZXPR.js +0 -77
- package/dist/adsets-H7QT42U6.js +0 -176
- package/dist/advertisers-PM4WPG4N.js +0 -120
- package/dist/advertisers-YMHPZYNF.js +0 -111
- package/dist/advertisers-YMHPZYNF.js.map +0 -1
- package/dist/analytics-5FALU2GL.js +0 -433
- package/dist/analytics-JVZKN735.js +0 -1958
- package/dist/analytics-JVZKN735.js.map +0 -1
- package/dist/animate-FWWHSYPL.js +0 -480
- package/dist/assign-KLYZ6USE.js +0 -77
- package/dist/audience-size-JHB42DB4.js +0 -94
- package/dist/audiences-HFRVIE2X.js +0 -85
- package/dist/audiences-JACGRBNN.js +0 -78
- package/dist/audiences-VEKGLWBG.js +0 -268
- package/dist/audit-5XH7WZIM.js +0 -151
- package/dist/audit-AD4ZZNJN.js +0 -88
- package/dist/autocomplete-7F3PZLEY.js +0 -111
- package/dist/avatars-N4SRNQI7.js +0 -38
- package/dist/bid-pricing-VYLVGU26.js +0 -99
- package/dist/brand-ASBS2HZM.js +0 -22
- package/dist/brief-JSZKDPGU.js +0 -477
- package/dist/brief-JSZKDPGU.js.map +0 -1
- package/dist/businesses-JBDQZZIG.js +0 -53
- package/dist/campaign-groups-ATE2DE4V.js +0 -95
- package/dist/campaign-writes-ETT57KLQ.js +0 -165
- package/dist/campaign-writes-SX52CJYW.js +0 -170
- package/dist/campaigns-FGBAS6AZ.js +0 -107
- package/dist/campaigns-J6VZBIV6.js +0 -109
- package/dist/campaigns-WBEG5QA4.js +0 -110
- package/dist/campaigns-X3DPCCSN.js +0 -76
- package/dist/canvas-K7IN7HLO.js +0 -46
- package/dist/canvas-K7IN7HLO.js.map +0 -1
- package/dist/capabilities-RDAERPYY.js +0 -144
- package/dist/cards-4477BFEV.js +0 -85
- package/dist/catalog-MENVHL5U.js +0 -65
- package/dist/catalog-MENVHL5U.js.map +0 -1
- package/dist/catalogs-G3YEVG6S.js +0 -128
- package/dist/changes-TP7ZZHB3.js +0 -135
- package/dist/chatgpt-QNUN63YS.js +0 -47
- package/dist/chats-YIAQGQ3X.js +0 -262
- package/dist/chunk-2GK33EJV.js +0 -382
- package/dist/chunk-2TK4DEOE.js +0 -74
- package/dist/chunk-35XWJEWH.js +0 -274
- package/dist/chunk-3CWL2LY4.js +0 -206
- package/dist/chunk-4NBVGARW.js +0 -1079
- package/dist/chunk-4NBVGARW.js.map +0 -1
- package/dist/chunk-4NDCTLI5.js +0 -191
- package/dist/chunk-5ARG3CQG.js +0 -141
- package/dist/chunk-5ARG3CQG.js.map +0 -1
- package/dist/chunk-5R5ADJ47.js +0 -2880
- package/dist/chunk-5R5ADJ47.js.map +0 -1
- package/dist/chunk-5Z2KSVIV.js +0 -67
- package/dist/chunk-65RIB7A6.js +0 -592
- package/dist/chunk-6B7VKFS4.js +0 -172
- package/dist/chunk-6DB2B3GF.js +0 -175
- package/dist/chunk-6G5K6ZC6.js +0 -46
- package/dist/chunk-75FDTDLH.js +0 -96
- package/dist/chunk-7OFNN4CT.js +0 -58
- package/dist/chunk-7SDFKGQ4.js +0 -363
- package/dist/chunk-ACANMASG.js +0 -19
- package/dist/chunk-ALTBBAYU.js +0 -96
- package/dist/chunk-ANCSKUWI.js +0 -433
- package/dist/chunk-AWMFUGVX.js +0 -160
- package/dist/chunk-BA7FDXQC.js +0 -197
- package/dist/chunk-BNCW67EM.js +0 -534
- package/dist/chunk-BNCW67EM.js.map +0 -1
- package/dist/chunk-BSC33FLJ.js +0 -217
- package/dist/chunk-BSC33FLJ.js.map +0 -1
- package/dist/chunk-C6U6UDHJ.js +0 -106
- package/dist/chunk-CHSNHVYF.js +0 -3182
- package/dist/chunk-CHSNHVYF.js.map +0 -1
- package/dist/chunk-CYEO5ZIO.js +0 -133
- package/dist/chunk-CYEO5ZIO.js.map +0 -1
- package/dist/chunk-DKGTQSLR.js +0 -310
- package/dist/chunk-DKGTQSLR.js.map +0 -1
- package/dist/chunk-DR34ZTWD.js +0 -207
- package/dist/chunk-E4MDJBLO.js +0 -163
- package/dist/chunk-E4MDJBLO.js.map +0 -1
- package/dist/chunk-EFSYTROP.js +0 -94
- package/dist/chunk-EH4C4CZK.js +0 -455
- package/dist/chunk-F2S5BLPE.js +0 -97
- package/dist/chunk-FXED3VZK.js +0 -174
- package/dist/chunk-G7UTTEBS.js +0 -337
- package/dist/chunk-GATKK4RJ.js +0 -440
- package/dist/chunk-GATKK4RJ.js.map +0 -1
- package/dist/chunk-GIJT3A5U.js +0 -166
- package/dist/chunk-GIJT3A5U.js.map +0 -1
- package/dist/chunk-GX6VAHY7.js +0 -830
- package/dist/chunk-GX6VAHY7.js.map +0 -1
- package/dist/chunk-H26L3OQY.js +0 -42
- package/dist/chunk-HIPDMQZ6.js +0 -136
- package/dist/chunk-HQSCJYZO.js +0 -26
- package/dist/chunk-HZ5DR5MX.js +0 -51
- package/dist/chunk-I4NEHDSD.js +0 -813
- package/dist/chunk-I4NEHDSD.js.map +0 -1
- package/dist/chunk-IFWP3ZDO.js +0 -215
- package/dist/chunk-IFWP3ZDO.js.map +0 -1
- package/dist/chunk-IM52NHGL.js +0 -390
- package/dist/chunk-IM52NHGL.js.map +0 -1
- package/dist/chunk-JERXV5A3.js +0 -26
- package/dist/chunk-JF47LEPU.js +0 -5163
- package/dist/chunk-JF47LEPU.js.map +0 -1
- package/dist/chunk-K3PN7TN5.js +0 -84
- package/dist/chunk-KBP7WJQB.js +0 -446
- package/dist/chunk-KBP7WJQB.js.map +0 -1
- package/dist/chunk-KLBTXETO.js +0 -23992
- package/dist/chunk-KLBTXETO.js.map +0 -1
- package/dist/chunk-KLNKEVIY.js +0 -136
- package/dist/chunk-KNWHUMVZ.js +0 -4381
- package/dist/chunk-KNWHUMVZ.js.map +0 -1
- package/dist/chunk-KNY76UGC.js +0 -84
- package/dist/chunk-KQTYTCKQ.js +0 -98
- package/dist/chunk-LERTEZST.js +0 -28
- package/dist/chunk-LERTEZST.js.map +0 -1
- package/dist/chunk-LIQ4SQ2T.js +0 -150
- package/dist/chunk-LS5MTRFI.js +0 -106
- package/dist/chunk-LW4VSTL5.js +0 -304
- package/dist/chunk-LW4VSTL5.js.map +0 -1
- package/dist/chunk-LZ73CZGP.js +0 -188
- package/dist/chunk-MADAAZZV.js +0 -169
- package/dist/chunk-MELOSESI.js +0 -20
- package/dist/chunk-MELOSESI.js.map +0 -1
- package/dist/chunk-MLU6STIN.js +0 -66
- package/dist/chunk-MZL4H5PY.js +0 -225
- package/dist/chunk-NAWWC5I3.js +0 -454
- package/dist/chunk-NAWWC5I3.js.map +0 -1
- package/dist/chunk-NDXBU22S.js +0 -6145
- package/dist/chunk-NDXBU22S.js.map +0 -1
- package/dist/chunk-NE4F3FHN.js +0 -1854
- package/dist/chunk-NE4F3FHN.js.map +0 -1
- package/dist/chunk-NU7JSWVA.js +0 -946
- package/dist/chunk-NU7JSWVA.js.map +0 -1
- package/dist/chunk-OTFHEHIU.js +0 -1706
- package/dist/chunk-OTFHEHIU.js.map +0 -1
- package/dist/chunk-PBA3YCZA.js +0 -76
- package/dist/chunk-PDTB5EX6.js +0 -57
- package/dist/chunk-PWGWMIIJ.js +0 -25
- package/dist/chunk-QSN5MZGS.js +0 -74
- package/dist/chunk-RPUSTYHL.js +0 -170
- package/dist/chunk-RX6F3GEA.js +0 -610
- package/dist/chunk-SB3GZFCV.js +0 -622
- package/dist/chunk-SB3GZFCV.js.map +0 -1
- package/dist/chunk-SSJK7FEV.js +0 -2886
- package/dist/chunk-SSJK7FEV.js.map +0 -1
- package/dist/chunk-STIB5DR5.js +0 -56
- package/dist/chunk-T3BDNJIX.js +0 -494
- package/dist/chunk-TD2P4HBP.js +0 -55
- package/dist/chunk-TEINLN64.js +0 -649
- package/dist/chunk-TEINLN64.js.map +0 -1
- package/dist/chunk-TIOQ7ZFQ.js +0 -496
- package/dist/chunk-TIOQ7ZFQ.js.map +0 -1
- package/dist/chunk-U3HAMW5W.js +0 -133
- package/dist/chunk-U6SYRIOB.js +0 -486
- package/dist/chunk-UC6BWM5J.js +0 -159
- package/dist/chunk-ULJ5RFOV.js +0 -76
- package/dist/chunk-ULJ5RFOV.js.map +0 -1
- package/dist/chunk-VAISMQQB.js +0 -346
- package/dist/chunk-VAJBWA2U.js +0 -75
- package/dist/chunk-VB6WJJR3.js +0 -1830
- package/dist/chunk-VDHQJ6HD.js +0 -23
- package/dist/chunk-VFIOJD5M.js +0 -309
- package/dist/chunk-VMDAXFRI.js +0 -111
- package/dist/chunk-VVZBBKRC.js +0 -296
- package/dist/chunk-W3B4BHQU.js +0 -31
- package/dist/chunk-W3B4BHQU.js.map +0 -1
- package/dist/chunk-W3ZHJJVT.js +0 -139
- package/dist/chunk-WNFIJAUO.js +0 -98
- package/dist/chunk-WS2GMOSG.js +0 -74
- package/dist/chunk-X7ZODEXJ.js +0 -36
- package/dist/chunk-X7ZODEXJ.js.map +0 -1
- package/dist/chunk-XBOK23HI.js +0 -214
- package/dist/chunk-XBOK23HI.js.map +0 -1
- package/dist/chunk-XCM6XWOB.js +0 -417
- package/dist/chunk-XCM6XWOB.js.map +0 -1
- package/dist/chunk-XL3BMSYG.js +0 -125
- package/dist/chunk-XMD4SHFI.js +0 -60
- package/dist/chunk-Y6QAJNKP.js +0 -1411
- package/dist/chunk-Y6QAJNKP.js.map +0 -1
- package/dist/chunk-YBMVHGY3.js +0 -333
- package/dist/chunk-YBP7O5P4.js +0 -103
- package/dist/chunk-YC2TQ3VC.js +0 -297
- package/dist/chunk-YPZYOJP6.js +0 -6664
- package/dist/chunk-YPZYOJP6.js.map +0 -1
- package/dist/chunk-ZJWUBJYQ.js +0 -204
- package/dist/chunk-ZJWUBJYQ.js.map +0 -1
- package/dist/chunk-ZPU3WDVK.js +0 -92
- package/dist/claim-V4F5GZJK.js +0 -197
- package/dist/client-VHN32ZRE.js +0 -19
- package/dist/code-YS6ZMGX3.js +0 -76
- package/dist/companies-NJGJ7XNN.js +0 -195
- package/dist/complete-MGNF5OAK.js +0 -81
- package/dist/config-CQN5FHMZ.js +0 -88
- package/dist/connect-PJOTRTT4.js +0 -36
- package/dist/content-3ZPP4SW2.js +0 -81
- package/dist/content-3ZPP4SW2.js.map +0 -1
- package/dist/conversation-4DM26FRD.js +0 -93
- package/dist/conversion-report-N4HANYOB.js +0 -125
- package/dist/conversion-upload-command-TZTHU2CD.js +0 -438
- package/dist/conversion-writes-LW4HQKK5.js +0 -120
- package/dist/conversions-JGECVZSY.js +0 -135
- package/dist/conversions-TS723AZV.js +0 -76
- package/dist/countries-ESAKTQAE.js +0 -82
- package/dist/create-DSGQFBI7.js +0 -207
- package/dist/create-I2KVDTCQ.js +0 -59
- package/dist/create-SBQWVLXG.js +0 -130
- package/dist/create-WOHPIGBK.js +0 -235
- package/dist/creatives-4JGVZQGC.js +0 -182
- package/dist/creatives-DWO5KEQC.js +0 -51
- package/dist/creatives-PSWCNY7U.js +0 -87
- package/dist/credentials-UULYCN2L.js +0 -1055
- package/dist/credentials-UULYCN2L.js.map +0 -1
- package/dist/critique-NGMZK5LX.js +0 -213
- package/dist/critique-TIZJ5GFM.js +0 -1449
- package/dist/crm-2WAR565U.js +0 -224
- package/dist/crm-VDXUO2YU.js +0 -318
- package/dist/crop-2J4RKJ6B.js +0 -113
- package/dist/currency-XCGKQ7FE.js +0 -88
- package/dist/custom-conversions-6P555U2K.js +0 -125
- package/dist/customers-ATENMXDO.js +0 -56
- package/dist/delete-3AV3ARMX.js +0 -71
- package/dist/delete-A5XD52K4.js +0 -69
- package/dist/delete-AVMZYNVT.js +0 -54
- package/dist/delete-H744GNS4.js +0 -63
- package/dist/delete-MRM2S4Z5.js +0 -71
- package/dist/delete-OEYPFATY.js +0 -66
- package/dist/demographics-M5LJF3RZ.js +0 -138
- package/dist/describe-6NVOWIBE.js +0 -97
- package/dist/describe-P3PPIQME.js +0 -97
- package/dist/dimensions-EYAYO27I.js +0 -101
- package/dist/discard-72I6SM7G.js +0 -66
- package/dist/discover-BJPZNXUQ.js +0 -172
- package/dist/domain-R4EIZD2W.js +0 -98
- package/dist/download-7T6HIJKD.js +0 -299
- package/dist/draft-34C3F5U4.js +0 -217
- package/dist/draft-BBFJNZ5X.js +0 -328
- package/dist/draft-BGUJDHXR.js +0 -103
- package/dist/draft-BV2QRPZ4.js +0 -107
- package/dist/draft-BV2QRPZ4.js.map +0 -1
- package/dist/draft-KIBMVKSR.js +0 -100
- package/dist/draft-THPZFASM.js +0 -281
- package/dist/draft-YDY2Q2K6.js +0 -233
- package/dist/draft-YYYRWF7M.js +0 -306
- package/dist/env-KIP2J2UB.js +0 -43
- package/dist/experiment-LKK77YAN.js +0 -1377
- package/dist/experiment-LKK77YAN.js.map +0 -1
- package/dist/export-JQRMBJ7D.js +0 -168
- package/dist/extract-7QKLME7Z.js +0 -113
- package/dist/facets-F2H52MS4.js +0 -114
- package/dist/favorites-NSGF4OV5.js +0 -178
- package/dist/feed-RV4KPPXM.js +0 -157
- package/dist/feed-RV4KPPXM.js.map +0 -1
- package/dist/feedback-IQKKT4MC.js +0 -66
- package/dist/feedback-record-UZV4Y7UD.js +0 -175
- package/dist/fetch-XF76JABV.js +0 -139
- package/dist/fetch-ZUAZPLAE.js +0 -176
- package/dist/find-OTDIX6V4.js +0 -134
- package/dist/fit-2CA4JH7N.js +0 -45
- package/dist/flows-CWXCXEUD.js +0 -244
- package/dist/flows-CWXCXEUD.js.map +0 -1
- package/dist/follow-FN7LV3WV.js +0 -82
- package/dist/follow-FN7LV3WV.js.map +0 -1
- package/dist/follow-competitors-MKXFHLXB.js +0 -131
- package/dist/follow-competitors-MKXFHLXB.js.map +0 -1
- package/dist/following-RKC2FLHI.js +0 -109
- package/dist/following-RKC2FLHI.js.map +0 -1
- package/dist/fonts-F2XUCIIW.js +0 -34
- package/dist/forecast-IDKJYM2B.js +0 -104
- package/dist/funding-NYO65IMT.js +0 -85
- package/dist/funnel-RLGQGYKO.js +0 -837
- package/dist/funnel-RLGQGYKO.js.map +0 -1
- package/dist/ga4-UDQ2HA2J.js +0 -55
- package/dist/generate-MMBYB44G.js +0 -262
- package/dist/get-3L6W3E3T.js +0 -59
- package/dist/get-6WEYKOY6.js +0 -63
- package/dist/get-C6UQ22HH.js +0 -54
- package/dist/get-C6UQ22HH.js.map +0 -1
- package/dist/get-EEUR6SAW.js +0 -78
- package/dist/get-EEUR6SAW.js.map +0 -1
- package/dist/get-P743RPSI.js +0 -63
- package/dist/get-XN5ZGDIK.js +0 -61
- package/dist/get-YIHTAMRT.js +0 -92
- package/dist/gif-53ULFVLR.js +0 -94
- package/dist/google-35GDU3G3.js +0 -1872
- package/dist/google-35GDU3G3.js.map +0 -1
- package/dist/google-KTO3PLEU.js +0 -136
- package/dist/google-ads-Q37I2D5P.js +0 -195
- package/dist/group-EFZ3AJIE.js +0 -43
- package/dist/group-GKWCCX66.js +0 -43
- package/dist/gsc-P3QYGDV2.js +0 -30
- package/dist/history-4II5QA4B.js +0 -133
- package/dist/history-DBIEYQHY.js +0 -67
- package/dist/hubspot-TTITJFBO.js +0 -779
- package/dist/icon-I43F77FV.js +0 -137
- package/dist/ideas-V4Q6JDKV.js +0 -32
- package/dist/images-SP5REF6E.js +0 -90
- package/dist/improve-BCCU5AS6.js +0 -86
- package/dist/ingest-574GIFAR.js +0 -107
- package/dist/ingest-IC4T76W6.js +0 -23
- package/dist/insights-NZWSJKU4.js +0 -423
- package/dist/insights-ZIU6FJMS.js +0 -122
- package/dist/inspect-ATHYY6A2.js +0 -189
- package/dist/inspiration-P265QJ2H.js +0 -53
- package/dist/intent-E3UIVZBN.js +0 -95
- package/dist/job-L7RJZMSG.js +0 -202
- package/dist/job-create-JUDAN52O.js +0 -109
- package/dist/job-status-U43WE3RJ.js +0 -74
- package/dist/keep-55CPC7DG.js +0 -78
- package/dist/keyword-gap-BG6M665A.js +0 -130
- package/dist/keyword-metrics-J4UPUDN7.js +0 -197
- package/dist/keywords-for-site-MWADFEO2.js +0 -128
- package/dist/landing-R6DN7XLK.js +0 -28
- package/dist/languages-HORKPDNH.js +0 -40
- package/dist/languages-JSGWCC7Z.js +0 -55
- package/dist/layerize-RPD6SNP6.js +0 -190
- package/dist/leads-7EVHMNUF.js +0 -293
- package/dist/leads-JM6HUERX.js +0 -90
- package/dist/learn-LGS2F5TR.js +0 -203
- package/dist/library-ARKRLCNJ.js +0 -109
- package/dist/lighthouse-6ZC45E53.js +0 -75
- package/dist/line-item-writes-KUYEXSIH.js +0 -208
- package/dist/line-items-GIWLP3FL.js +0 -103
- package/dist/link-PVM7XJQI.js +0 -64
- package/dist/linkedin-WX54EAX6.js +0 -1008
- package/dist/list-4ZKQZBCL.js +0 -151
- package/dist/list-7MVBXOJT.js +0 -51
- package/dist/list-A5UCIR2J.js +0 -65
- package/dist/list-AL7N6X2P.js +0 -50
- package/dist/list-LI4OGQFW.js +0 -57
- package/dist/list-MCEFXC6L.js +0 -63
- package/dist/list-P7NAFN6J.js +0 -76
- package/dist/list-WR7QYTON.js +0 -303
- package/dist/locations-74TPQWAT.js +0 -67
- package/dist/locations-J4G5RNPH.js +0 -40
- package/dist/log-U6IWZGOF.js +0 -92
- package/dist/logo-2IP663QO.js +0 -18
- package/dist/lookup-XK45W2SH.js +0 -22
- package/dist/make-RXFHEGUI.js +0 -593
- package/dist/make-RXFHEGUI.js.map +0 -1
- package/dist/map-TWL7T4KP.js +0 -404
- package/dist/map-TWL7T4KP.js.map +0 -1
- package/dist/mcp-HVAVJGGS.js +0 -476
- package/dist/mcp-HVAVJGGS.js.map +0 -1
- package/dist/media-6CQYG4UY.js +0 -89
- package/dist/media-M7E6V2XU.js +0 -15
- package/dist/media-sources-JWGO23BZ.js +0 -32
- package/dist/members-5FAW4YE7.js +0 -44
- package/dist/meta-EZ4SY25M.js +0 -69
- package/dist/metrics-SQDJ5NQO.js +0 -152
- package/dist/models-7U3GRYHF.js +0 -155
- package/dist/normalize-GW4GZNVY.js +0 -138
- package/dist/normalize-GW4GZNVY.js.map +0 -1
- package/dist/normalize-ICQF2AST.js +0 -806
- package/dist/options-NSUCENLU.js +0 -121
- package/dist/options-NSUCENLU.js.map +0 -1
- package/dist/output-RAH3TSIL.js +0 -24
- package/dist/page-GS3WLT2C.js +0 -105
- package/dist/pages-FXYQLHSJ.js +0 -66
- package/dist/performance-FGCDWHMC.js +0 -24
- package/dist/pinterest-AUH7WBA7.js +0 -96
- package/dist/pixels-45A55MOP.js +0 -60
- package/dist/pixels-ZFF4BGUH.js +0 -108
- package/dist/preview-AD4GKYIA.js +0 -169
- package/dist/promoted-tweet-writes-BPWTDESL.js +0 -180
- package/dist/promoted-tweets-OS3NHYVE.js +0 -119
- package/dist/properties-L2XIYQDS.js +0 -101
- package/dist/publish-SXZEWBVJ.js +0 -322
- package/dist/query-IEZRY6HV.js +0 -1341
- package/dist/query-IEZRY6HV.js.map +0 -1
- package/dist/query-SGGBCHTF.js +0 -236
- package/dist/query-VTGVZQIO.js +0 -247
- package/dist/read-LSF7DYTG.js +0 -140
- package/dist/read-LSF7DYTG.js.map +0 -1
- package/dist/reddit-TF6K37SB.js +0 -26
- package/dist/refresh-APVDWXRZ.js +0 -94
- package/dist/release-32SEJU4L.js +0 -60
- package/dist/relevant-pages-OWMNUCP7.js +0 -99
- package/dist/remove-6LGGKMLJ.js +0 -48
- package/dist/remove-U64GTHLQ.js +0 -50
- package/dist/reopen-5VS233SF.js +0 -63
- package/dist/rerun-7Z45QOOO.js +0 -85
- package/dist/rerun-7Z45QOOO.js.map +0 -1
- package/dist/research-O7CJV5IS.js +0 -62
- package/dist/research-QYSQ6LW4.js +0 -262
- package/dist/reset-22FC7BXQ.js +0 -54
- package/dist/reset-47B5VPT4.js +0 -54
- package/dist/resolve-7KQGVTQT.js +0 -121
- package/dist/retry-J5UVLS72.js +0 -62
- package/dist/retry-UJ5UF4BM.js +0 -60
- package/dist/retry-failed-6HXPUVXJ.js +0 -45
- package/dist/run-SI4FA32F.js +0 -65
- package/dist/run-TFLFBQU2.js +0 -60
- package/dist/scaffold-ad-SEXNE2K6.js +0 -1549
- package/dist/scaffold-ad-SEXNE2K6.js.map +0 -1
- package/dist/scaffold-static-ad-VBOL6CLN.js +0 -966
- package/dist/scaffold-static-ad-VBOL6CLN.js.map +0 -1
- package/dist/scaffold-video-Z37MIBDI.js +0 -873
- package/dist/scaffold-video-Z37MIBDI.js.map +0 -1
- package/dist/schedule-52ZM4KRQ.js +0 -61
- package/dist/schedule-O2K6M43V.js +0 -66
- package/dist/scheduled-agents-PCWCQAKP.js +0 -49
- package/dist/schema-6GR77VJG.js +0 -63
- package/dist/schema-FY6ORDXZ.js +0 -129
- package/dist/schema-FY6ORDXZ.js.map +0 -1
- package/dist/scrape-ETAMW43A.js +0 -2241
- package/dist/screenshot-YCQF25ZB.js +0 -102
- package/dist/search-742XSULP.js +0 -224
- package/dist/search-MEEM4D3W.js +0 -92
- package/dist/search-NS7XNRZC.js +0 -174
- package/dist/search-OQNGSMUH.js +0 -91
- package/dist/search-UO5KJTYS.js +0 -26
- package/dist/seeds-N6FF5S4T.js +0 -101
- package/dist/seeds-N6FF5S4T.js.map +0 -1
- package/dist/select-4XCYVV2G.js +0 -94
- package/dist/sends-WGJVQUMF.js +0 -309
- package/dist/sequences-OIPVR7JL.js +0 -146
- package/dist/set-prompt-TRJBYA3D.js +0 -186
- package/dist/set-prompt-TRJBYA3D.js.map +0 -1
- package/dist/setup-links-V3URI7DL.js +0 -141
- package/dist/shared-HJDFNID4.js +0 -31
- package/dist/site-WIQ7SSU3.js +0 -177
- package/dist/sitemaps-POPZJTAX.js +0 -87
- package/dist/sites-262H6LM4.js +0 -101
- package/dist/skills-6TQZLIMP.js +0 -47
- package/dist/sources-DWJXOLEH.js +0 -421
- package/dist/sources-DWJXOLEH.js.map +0 -1
- package/dist/sources-L453U5MT.js +0 -30
- package/dist/stale-6OVG6VME.js +0 -63
- package/dist/stats-NNXZMPZR.js +0 -34
- package/dist/status-WXWU54WR.js +0 -62
- package/dist/sticker-4KMBSMP5.js +0 -94
- package/dist/stock-2YCDN3N6.js +0 -179
- package/dist/studio-C5K3YX3P.js +0 -49
- package/dist/sync-CDZUTGV3.js +0 -54
- package/dist/sync-CF7FVUQJ.js +0 -54
- package/dist/sync-ZSNUBYPM.js +0 -265
- package/dist/sync-definition-BAJQUBE3.js +0 -53
- package/dist/tag-manager-DYZUOIAS.js +0 -43
- package/dist/tags-6RY23XOG.js +0 -20
- package/dist/tags-BHFQWNPL.js +0 -224
- package/dist/tags-SG3NVC3J.js +0 -26
- package/dist/tags-VN5HTL35.js +0 -20
- package/dist/tags-WR6PDIDR.js +0 -20
- package/dist/targeting-constants-XJ2VOW7K.js +0 -118
- package/dist/targeting-criteria-5EXP2NXF.js +0 -113
- package/dist/targets-WUVEJPSD.js +0 -102
- package/dist/templates-LOJQX2NG.js +0 -178
- package/dist/testimonials-6M5DXORT.js +0 -32
- package/dist/top-companies-E2OMMPSV.js +0 -108
- package/dist/translate-AW4CUKDA.js +0 -598
- package/dist/triggers-MRXIDCSN.js +0 -141
- package/dist/tweets-ATP3FQAC.js +0 -123
- package/dist/unfollow-CBVPGPF7.js +0 -46
- package/dist/unlink-HNL747YM.js +0 -67
- package/dist/unstage-4ZEULXEQ.js +0 -95
- package/dist/unstage-OL2JDCLK.js +0 -84
- package/dist/update-4KGIT4BF.js +0 -142
- package/dist/update-JPBUF7M2.js +0 -98
- package/dist/update-RTTC3SAK.js +0 -155
- package/dist/update-YNNRX5B2.js +0 -63
- package/dist/upload-L5SYZB3X.js +0 -150
- package/dist/upload-UIXPCSXJ.js +0 -126
- package/dist/upscale-YWRLFU22.js +0 -109
- package/dist/url-options-GGXAL3J4.js +0 -127
- package/dist/url-options-GGXAL3J4.js.map +0 -1
- package/dist/url-params-K47CE7Y5.js +0 -98
- package/dist/use-UT2DIZOG.js +0 -95
- package/dist/validate-TD2BY4VE.js +0 -89
- package/dist/validate-TD2BY4VE.js.map +0 -1
- package/dist/variant-FLZJYGYL.js +0 -338
- package/dist/videos-BP3BKNTY.js +0 -39
- package/dist/view-NPAG66QK.js +0 -121
- package/dist/viewer-check-HFRUJ4ZU.js +0 -69
- package/dist/web-RPSGFN4U.js +0 -140
- package/dist/winners-I5BMATJZ.js +0 -79
- package/dist/winners-I5BMATJZ.js.map +0 -1
- package/dist/winning-ads-WUENRDVJ.js +0 -62
- package/dist/winning-ads-WUENRDVJ.js.map +0 -1
- package/dist/write-commands-4WARNR2T.js +0 -1015
- package/dist/write-commands-ERKVRHTC.js +0 -206
- package/dist/write-commands-TAYGTJEZ.js +0 -737
- package/dist/write-commands-WTRSOSO3.js +0 -713
- package/dist/x-VZCELH3P.js +0 -47
- /package/dist/{account-2ZMZFPIU.js.map → account-JG7QD522.js.map} +0 -0
- /package/dist/{account-F6MHQ64I.js.map → account-V6PB6PA5.js.map} +0 -0
- /package/dist/{account-IEVEOFIK.js.map → account-VLPX7EZT.js.map} +0 -0
- /package/dist/{account-writes-ISE4U2FQ.js.map → account-writes-BGREY7ZL.js.map} +0 -0
- /package/dist/{accounts-KYJO3JC6.js.map → accounts-2FINK5GZ.js.map} +0 -0
- /package/dist/{accounts-4CDRK4S4.js.map → accounts-2UV5Z3Y6.js.map} +0 -0
- /package/dist/{accounts-VINHZRWA.js.map → accounts-3EX2PFJB.js.map} +0 -0
- /package/dist/{accounts-5QDKBZMH.js.map → accounts-G2QT3ZVP.js.map} +0 -0
- /package/dist/{accounts-RHGN5WMU.js.map → accounts-N63J5YTK.js.map} +0 -0
- /package/dist/{actions-5F4ZP6M4.js.map → actions-PA2BPIYO.js.map} +0 -0
- /package/dist/{active-entities-YUSOUR5M.js.map → active-entities-RDXDSMA2.js.map} +0 -0
- /package/dist/{activities-ZVQOBHZH.js.map → activities-RBTU2Q24.js.map} +0 -0
- /package/dist/{ad-group-writes-UU5NNKSO.js.map → ad-group-writes-5NTRJTVE.js.map} +0 -0
- /package/dist/{ad-groups-CGFXZNIA.js.map → ad-groups-4OTAKWUC.js.map} +0 -0
- /package/dist/{ad-writes-NALDYWOR.js.map → ad-writes-T7W3DDKK.js.map} +0 -0
- /package/dist/{add-CUWAW7KG.js.map → add-4VKA4NDH.js.map} +0 -0
- /package/dist/{add-577QWMCF.js.map → add-MQO33HL3.js.map} +0 -0
- /package/dist/{add-KBPMSK2P.js.map → add-QM7ANAVG.js.map} +0 -0
- /package/dist/{ads-H7GH7A26.js.map → ads-IJCFN2N3.js.map} +0 -0
- /package/dist/{ads-56OWZBXZ.js.map → ads-QKMLAPZC.js.map} +0 -0
- /package/dist/{ads-PV7GZXPR.js.map → ads-XYAWONXR.js.map} +0 -0
- /package/dist/{adsets-H7QT42U6.js.map → adsets-DPTIKGTG.js.map} +0 -0
- /package/dist/{advertisers-PM4WPG4N.js.map → advertisers-SZFDOPBQ.js.map} +0 -0
- /package/dist/{analytics-5FALU2GL.js.map → analytics-HFBYIPZ7.js.map} +0 -0
- /package/dist/{animate-FWWHSYPL.js.map → animate-LUKNHCF4.js.map} +0 -0
- /package/dist/{assign-KLYZ6USE.js.map → assign-QCICUD72.js.map} +0 -0
- /package/dist/{audience-size-JHB42DB4.js.map → audience-size-HML4BLHJ.js.map} +0 -0
- /package/dist/{audiences-VEKGLWBG.js.map → audiences-BSABKS5K.js.map} +0 -0
- /package/dist/{audiences-JACGRBNN.js.map → audiences-FWOOSUSJ.js.map} +0 -0
- /package/dist/{audiences-HFRVIE2X.js.map → audiences-VK4M7GLQ.js.map} +0 -0
- /package/dist/{audit-5XH7WZIM.js.map → audit-DUM55J5U.js.map} +0 -0
- /package/dist/{audit-AD4ZZNJN.js.map → audit-JR5R75XK.js.map} +0 -0
- /package/dist/{autocomplete-7F3PZLEY.js.map → autocomplete-VX4PMMLR.js.map} +0 -0
- /package/dist/{avatars-N4SRNQI7.js.map → avatars-5KCRSUJ3.js.map} +0 -0
- /package/dist/{bid-pricing-VYLVGU26.js.map → bid-pricing-AIUACXUH.js.map} +0 -0
- /package/dist/{brand-ASBS2HZM.js.map → brand-UBTC2WXR.js.map} +0 -0
- /package/dist/{businesses-JBDQZZIG.js.map → businesses-P3RX4UXS.js.map} +0 -0
- /package/dist/{campaign-groups-ATE2DE4V.js.map → campaign-groups-SJZEDIBL.js.map} +0 -0
- /package/dist/{campaign-writes-SX52CJYW.js.map → campaign-writes-5BPVXG4C.js.map} +0 -0
- /package/dist/{campaign-writes-ETT57KLQ.js.map → campaign-writes-VE6QLIDA.js.map} +0 -0
- /package/dist/{campaigns-J6VZBIV6.js.map → campaigns-JEWEDCTC.js.map} +0 -0
- /package/dist/{campaigns-WBEG5QA4.js.map → campaigns-MEIMSHJF.js.map} +0 -0
- /package/dist/{campaigns-FGBAS6AZ.js.map → campaigns-NCGJNJKS.js.map} +0 -0
- /package/dist/{campaigns-X3DPCCSN.js.map → campaigns-XY7QWHDN.js.map} +0 -0
- /package/dist/{capabilities-RDAERPYY.js.map → capabilities-W6SPXOPF.js.map} +0 -0
- /package/dist/{cards-4477BFEV.js.map → cards-CLD4WX6G.js.map} +0 -0
- /package/dist/{catalogs-G3YEVG6S.js.map → catalogs-DINPKQXY.js.map} +0 -0
- /package/dist/{changes-TP7ZZHB3.js.map → changes-N2YZXAPF.js.map} +0 -0
- /package/dist/{chatgpt-QNUN63YS.js.map → chatgpt-TPAP6BVY.js.map} +0 -0
- /package/dist/{chats-YIAQGQ3X.js.map → chats-FKVVBXVF.js.map} +0 -0
- /package/dist/{chunk-YBP7O5P4.js.map → chunk-24IQ6K7K.js.map} +0 -0
- /package/dist/{chunk-YC2TQ3VC.js.map → chunk-2FZG5DD2.js.map} +0 -0
- /package/dist/{chunk-7SDFKGQ4.js.map → chunk-2T3EH2MU.js.map} +0 -0
- /package/dist/{chunk-FXED3VZK.js.map → chunk-2Y5UE2CV.js.map} +0 -0
- /package/dist/{chunk-VB6WJJR3.js.map → chunk-3KPQDXIU.js.map} +0 -0
- /package/dist/{chunk-6G5K6ZC6.js.map → chunk-4AFGT3L3.js.map} +0 -0
- /package/dist/{chunk-MZL4H5PY.js.map → chunk-4JKBMKFC.js.map} +0 -0
- /package/dist/{chunk-RX6F3GEA.js.map → chunk-4KBWL7S4.js.map} +0 -0
- /package/dist/{chunk-KLNKEVIY.js.map → chunk-4R3QKEDV.js.map} +0 -0
- /package/dist/{chunk-VFIOJD5M.js.map → chunk-6SL6463H.js.map} +0 -0
- /package/dist/{chunk-HZ5DR5MX.js.map → chunk-7TRSFEHZ.js.map} +0 -0
- /package/dist/{chunk-4NDCTLI5.js.map → chunk-APNV7FMK.js.map} +0 -0
- /package/dist/{chunk-PBA3YCZA.js.map → chunk-BCSOWRQL.js.map} +0 -0
- /package/dist/{chunk-VVZBBKRC.js.map → chunk-BJEW3LST.js.map} +0 -0
- /package/dist/{chunk-LS5MTRFI.js.map → chunk-BYKUAX26.js.map} +0 -0
- /package/dist/{chunk-MADAAZZV.js.map → chunk-C7NPNSFO.js.map} +0 -0
- /package/dist/{chunk-EFSYTROP.js.map → chunk-CVIMIOPO.js.map} +0 -0
- /package/dist/{chunk-WS2GMOSG.js.map → chunk-DAKIMGUS.js.map} +0 -0
- /package/dist/{chunk-PWGWMIIJ.js.map → chunk-DCRUGS3G.js.map} +0 -0
- /package/dist/{chunk-C6U6UDHJ.js.map → chunk-DMA77LLI.js.map} +0 -0
- /package/dist/{chunk-JERXV5A3.js.map → chunk-EESOZY5S.js.map} +0 -0
- /package/dist/{chunk-6DB2B3GF.js.map → chunk-EIZMOICE.js.map} +0 -0
- /package/dist/{chunk-HIPDMQZ6.js.map → chunk-F3IVR3V3.js.map} +0 -0
- /package/dist/{chunk-LZ73CZGP.js.map → chunk-FSX6CQ2Z.js.map} +0 -0
- /package/dist/{chunk-STIB5DR5.js.map → chunk-G7LAQE56.js.map} +0 -0
- /package/dist/{chunk-MLU6STIN.js.map → chunk-G7QKXFQ2.js.map} +0 -0
- /package/dist/{chunk-VDHQJ6HD.js.map → chunk-G7XY4T6K.js.map} +0 -0
- /package/dist/{chunk-VAISMQQB.js.map → chunk-HCDCWXSU.js.map} +0 -0
- /package/dist/{chunk-G7UTTEBS.js.map → chunk-I4IVUAQN.js.map} +0 -0
- /package/dist/{chunk-2TK4DEOE.js.map → chunk-IWNZCYWI.js.map} +0 -0
- /package/dist/{chunk-K3PN7TN5.js.map → chunk-JF5LNI6O.js.map} +0 -0
- /package/dist/{chunk-ALTBBAYU.js.map → chunk-JJZBZYNK.js.map} +0 -0
- /package/dist/{chunk-WNFIJAUO.js.map → chunk-JZP5IODJ.js.map} +0 -0
- /package/dist/{chunk-EH4C4CZK.js.map → chunk-KWMYTVHI.js.map} +0 -0
- /package/dist/{chunk-VAJBWA2U.js.map → chunk-LFGCOAB4.js.map} +0 -0
- /package/dist/{chunk-6B7VKFS4.js.map → chunk-LPRUP3ZX.js.map} +0 -0
- /package/dist/{chunk-KNY76UGC.js.map → chunk-MD3VH5UG.js.map} +0 -0
- /package/dist/{chunk-ACANMASG.js.map → chunk-MFORE6F4.js.map} +0 -0
- /package/dist/{chunk-AWMFUGVX.js.map → chunk-MMBHCAON.js.map} +0 -0
- /package/dist/{chunk-XL3BMSYG.js.map → chunk-NIGGMK7L.js.map} +0 -0
- /package/dist/{chunk-ANCSKUWI.js.map → chunk-NN7A2ILR.js.map} +0 -0
- /package/dist/{chunk-UC6BWM5J.js.map → chunk-OUQMJRH6.js.map} +0 -0
- /package/dist/{chunk-T3BDNJIX.js.map → chunk-OXKUWTFL.js.map} +0 -0
- /package/dist/{chunk-HQSCJYZO.js.map → chunk-P5T7OZKV.js.map} +0 -0
- /package/dist/{chunk-RPUSTYHL.js.map → chunk-PAJJXZ3Z.js.map} +0 -0
- /package/dist/{chunk-QSN5MZGS.js.map → chunk-PC56KVAD.js.map} +0 -0
- /package/dist/{chunk-3CWL2LY4.js.map → chunk-PEWNEPDR.js.map} +0 -0
- /package/dist/{chunk-W3ZHJJVT.js.map → chunk-Q2T4XZG4.js.map} +0 -0
- /package/dist/{chunk-35XWJEWH.js.map → chunk-RCR6RVYE.js.map} +0 -0
- /package/dist/{chunk-VMDAXFRI.js.map → chunk-RH2H5PBV.js.map} +0 -0
- /package/dist/{chunk-PDTB5EX6.js.map → chunk-S3XM4LD3.js.map} +0 -0
- /package/dist/{chunk-75FDTDLH.js.map → chunk-SFHL3KWY.js.map} +0 -0
- /package/dist/{chunk-LIQ4SQ2T.js.map → chunk-SQ7DRYCC.js.map} +0 -0
- /package/dist/{chunk-YBMVHGY3.js.map → chunk-SSVZM3P6.js.map} +0 -0
- /package/dist/{chunk-XMD4SHFI.js.map → chunk-TMNLIA7R.js.map} +0 -0
- /package/dist/{chunk-ZPU3WDVK.js.map → chunk-UF55TADX.js.map} +0 -0
- /package/dist/{chunk-TD2P4HBP.js.map → chunk-UGI33KTO.js.map} +0 -0
- /package/dist/{chunk-BA7FDXQC.js.map → chunk-UK2OTLT3.js.map} +0 -0
- /package/dist/{chunk-DR34ZTWD.js.map → chunk-UU3FGKUW.js.map} +0 -0
- /package/dist/{chunk-5Z2KSVIV.js.map → chunk-UX7HIGS7.js.map} +0 -0
- /package/dist/{chunk-KQTYTCKQ.js.map → chunk-VDZIGI2C.js.map} +0 -0
- /package/dist/{chunk-U6SYRIOB.js.map → chunk-VKVIBQP3.js.map} +0 -0
- /package/dist/{chunk-65RIB7A6.js.map → chunk-VLF2M4GZ.js.map} +0 -0
- /package/dist/{chunk-7OFNN4CT.js.map → chunk-VTF7XNOP.js.map} +0 -0
- /package/dist/{chunk-2GK33EJV.js.map → chunk-WDA3L4NF.js.map} +0 -0
- /package/dist/{chunk-H26L3OQY.js.map → chunk-XDV6Q33B.js.map} +0 -0
- /package/dist/{chunk-U3HAMW5W.js.map → chunk-XYC26BDM.js.map} +0 -0
- /package/dist/{chunk-F2S5BLPE.js.map → chunk-YTWNY3RF.js.map} +0 -0
- /package/dist/{claim-V4F5GZJK.js.map → claim-JLVISHS4.js.map} +0 -0
- /package/dist/{client-VHN32ZRE.js.map → client-G6DGRGKT.js.map} +0 -0
- /package/dist/{code-YS6ZMGX3.js.map → code-AYN42EK7.js.map} +0 -0
- /package/dist/{companies-NJGJ7XNN.js.map → companies-XDMOP2GL.js.map} +0 -0
- /package/dist/{complete-MGNF5OAK.js.map → complete-XM7VLC4F.js.map} +0 -0
- /package/dist/{config-CQN5FHMZ.js.map → config-UE7GCROG.js.map} +0 -0
- /package/dist/{connect-PJOTRTT4.js.map → connect-VTDKGYP3.js.map} +0 -0
- /package/dist/{conversation-4DM26FRD.js.map → conversation-F53OE25Y.js.map} +0 -0
- /package/dist/{conversion-report-N4HANYOB.js.map → conversion-report-35MLL3FA.js.map} +0 -0
- /package/dist/{conversion-upload-command-TZTHU2CD.js.map → conversion-upload-command-CV2TA7OV.js.map} +0 -0
- /package/dist/{conversion-writes-LW4HQKK5.js.map → conversion-writes-NSZPNMPE.js.map} +0 -0
- /package/dist/{conversions-JGECVZSY.js.map → conversions-7YO6DDL3.js.map} +0 -0
- /package/dist/{conversions-TS723AZV.js.map → conversions-XNISCCC2.js.map} +0 -0
- /package/dist/{countries-ESAKTQAE.js.map → countries-NMWPKFFW.js.map} +0 -0
- /package/dist/{create-I2KVDTCQ.js.map → create-ARERZYCL.js.map} +0 -0
- /package/dist/{create-DSGQFBI7.js.map → create-C6ZVYIF5.js.map} +0 -0
- /package/dist/{create-WOHPIGBK.js.map → create-FAPJFCZE.js.map} +0 -0
- /package/dist/{create-SBQWVLXG.js.map → create-M7TUO3XS.js.map} +0 -0
- /package/dist/{creatives-4JGVZQGC.js.map → creatives-3YIV6IOK.js.map} +0 -0
- /package/dist/{creatives-DWO5KEQC.js.map → creatives-QZCO6WGH.js.map} +0 -0
- /package/dist/{creatives-PSWCNY7U.js.map → creatives-WJLJ3NKP.js.map} +0 -0
- /package/dist/{critique-TIZJ5GFM.js.map → critique-56MNXW7R.js.map} +0 -0
- /package/dist/{critique-NGMZK5LX.js.map → critique-KRIKEHF6.js.map} +0 -0
- /package/dist/{crm-2WAR565U.js.map → crm-OETFQNR3.js.map} +0 -0
- /package/dist/{crm-VDXUO2YU.js.map → crm-WXCFB4TU.js.map} +0 -0
- /package/dist/{crop-2J4RKJ6B.js.map → crop-VCP2JLQL.js.map} +0 -0
- /package/dist/{currency-XCGKQ7FE.js.map → currency-MNNDKY4Z.js.map} +0 -0
- /package/dist/{custom-conversions-6P555U2K.js.map → custom-conversions-CIU525HM.js.map} +0 -0
- /package/dist/{customers-ATENMXDO.js.map → customers-GTPEABJI.js.map} +0 -0
- /package/dist/{delete-3AV3ARMX.js.map → delete-5CURRI25.js.map} +0 -0
- /package/dist/{delete-H744GNS4.js.map → delete-CLC2Q2OE.js.map} +0 -0
- /package/dist/{delete-AVMZYNVT.js.map → delete-CQ6Q3URI.js.map} +0 -0
- /package/dist/{delete-A5XD52K4.js.map → delete-JIRZBBDD.js.map} +0 -0
- /package/dist/{delete-OEYPFATY.js.map → delete-LD3F4UIW.js.map} +0 -0
- /package/dist/{delete-MRM2S4Z5.js.map → delete-LGZ5OI4C.js.map} +0 -0
- /package/dist/{demographics-M5LJF3RZ.js.map → demographics-EK2ZPHWK.js.map} +0 -0
- /package/dist/{describe-6NVOWIBE.js.map → describe-BNB6643C.js.map} +0 -0
- /package/dist/{describe-P3PPIQME.js.map → describe-ZXGFTCDR.js.map} +0 -0
- /package/dist/{dimensions-EYAYO27I.js.map → dimensions-IU4ETG4U.js.map} +0 -0
- /package/dist/{discard-72I6SM7G.js.map → discard-VWCXYJWU.js.map} +0 -0
- /package/dist/{discover-BJPZNXUQ.js.map → discover-4EQWGIAN.js.map} +0 -0
- /package/dist/{domain-R4EIZD2W.js.map → domain-I2SAGVAB.js.map} +0 -0
- /package/dist/{download-7T6HIJKD.js.map → download-D7TB4744.js.map} +0 -0
- /package/dist/{draft-YDY2Q2K6.js.map → draft-4VOOSJQJ.js.map} +0 -0
- /package/dist/{draft-BBFJNZ5X.js.map → draft-6KG2YFOY.js.map} +0 -0
- /package/dist/{draft-YYYRWF7M.js.map → draft-APDGACIC.js.map} +0 -0
- /package/dist/{draft-BGUJDHXR.js.map → draft-D76C4JR3.js.map} +0 -0
- /package/dist/{draft-THPZFASM.js.map → draft-HFH2Y6F5.js.map} +0 -0
- /package/dist/{draft-34C3F5U4.js.map → draft-NVVWWQVC.js.map} +0 -0
- /package/dist/{draft-KIBMVKSR.js.map → draft-NWLPLTWM.js.map} +0 -0
- /package/dist/{env-KIP2J2UB.js.map → env-LHLGM2YJ.js.map} +0 -0
- /package/dist/{export-JQRMBJ7D.js.map → export-VGCFD7GL.js.map} +0 -0
- /package/dist/{extract-7QKLME7Z.js.map → extract-32J7V2RX.js.map} +0 -0
- /package/dist/{facets-F2H52MS4.js.map → facets-WVI6VBDC.js.map} +0 -0
- /package/dist/{favorites-NSGF4OV5.js.map → favorites-WKV5H5OF.js.map} +0 -0
- /package/dist/{feedback-IQKKT4MC.js.map → feedback-NMNKYEMU.js.map} +0 -0
- /package/dist/{feedback-record-UZV4Y7UD.js.map → feedback-record-2VYBMWMO.js.map} +0 -0
- /package/dist/{fetch-ZUAZPLAE.js.map → fetch-CENBDLT6.js.map} +0 -0
- /package/dist/{fetch-XF76JABV.js.map → fetch-XQFPE3MI.js.map} +0 -0
- /package/dist/{find-OTDIX6V4.js.map → find-PNDKEOXT.js.map} +0 -0
- /package/dist/{fit-2CA4JH7N.js.map → fit-SEWGCEW5.js.map} +0 -0
- /package/dist/{fonts-F2XUCIIW.js.map → fonts-KUCQAR7N.js.map} +0 -0
- /package/dist/{forecast-IDKJYM2B.js.map → forecast-PI52G2GL.js.map} +0 -0
- /package/dist/{funding-NYO65IMT.js.map → funding-ZRC25X5I.js.map} +0 -0
- /package/dist/{ga4-UDQ2HA2J.js.map → ga4-YDKXVJOC.js.map} +0 -0
- /package/dist/{generate-MMBYB44G.js.map → generate-BVMMX3SS.js.map} +0 -0
- /package/dist/{get-3L6W3E3T.js.map → get-7MSF4RVQ.js.map} +0 -0
- /package/dist/{get-XN5ZGDIK.js.map → get-KFVPIDIA.js.map} +0 -0
- /package/dist/{get-6WEYKOY6.js.map → get-NHQ2XYKZ.js.map} +0 -0
- /package/dist/{get-YIHTAMRT.js.map → get-UMMTY74K.js.map} +0 -0
- /package/dist/{get-P743RPSI.js.map → get-YM77HCL5.js.map} +0 -0
- /package/dist/{gif-53ULFVLR.js.map → gif-X323HXS2.js.map} +0 -0
- /package/dist/{google-KTO3PLEU.js.map → google-76A4MHQH.js.map} +0 -0
- /package/dist/{google-ads-Q37I2D5P.js.map → google-ads-S6O4MLKA.js.map} +0 -0
- /package/dist/{group-GKWCCX66.js.map → group-CTIZVYX2.js.map} +0 -0
- /package/dist/{group-EFZ3AJIE.js.map → group-HKWQ75CJ.js.map} +0 -0
- /package/dist/{gsc-P3QYGDV2.js.map → gsc-CORRYJBJ.js.map} +0 -0
- /package/dist/{history-4II5QA4B.js.map → history-4U7FJGEM.js.map} +0 -0
- /package/dist/{history-DBIEYQHY.js.map → history-BXOMJ5PL.js.map} +0 -0
- /package/dist/{hubspot-TTITJFBO.js.map → hubspot-I5MFAZ4G.js.map} +0 -0
- /package/dist/{icon-I43F77FV.js.map → icon-6QW63AHG.js.map} +0 -0
- /package/dist/{ideas-V4Q6JDKV.js.map → ideas-QDS5XA4S.js.map} +0 -0
- /package/dist/{images-SP5REF6E.js.map → images-NVTA2OHD.js.map} +0 -0
- /package/dist/{improve-BCCU5AS6.js.map → improve-WR23CHYH.js.map} +0 -0
- /package/dist/{ingest-574GIFAR.js.map → ingest-QAVJ2J7F.js.map} +0 -0
- /package/dist/{ingest-IC4T76W6.js.map → ingest-XJHV3GG6.js.map} +0 -0
- /package/dist/{insights-ZIU6FJMS.js.map → insights-AW7SOGHI.js.map} +0 -0
- /package/dist/{insights-NZWSJKU4.js.map → insights-IJEPLWQH.js.map} +0 -0
- /package/dist/{inspect-ATHYY6A2.js.map → inspect-7I53PWCF.js.map} +0 -0
- /package/dist/{inspiration-P265QJ2H.js.map → inspiration-TJJFUVY2.js.map} +0 -0
- /package/dist/{intent-E3UIVZBN.js.map → intent-VEUQS34Z.js.map} +0 -0
- /package/dist/{job-L7RJZMSG.js.map → job-K7LAIBYN.js.map} +0 -0
- /package/dist/{job-create-JUDAN52O.js.map → job-create-DFZL4CGA.js.map} +0 -0
- /package/dist/{job-status-U43WE3RJ.js.map → job-status-6Q2TVTEO.js.map} +0 -0
- /package/dist/{keep-55CPC7DG.js.map → keep-XJFCLVCP.js.map} +0 -0
- /package/dist/{keyword-gap-BG6M665A.js.map → keyword-gap-CUOGKUMM.js.map} +0 -0
- /package/dist/{keyword-metrics-J4UPUDN7.js.map → keyword-metrics-LK7FME4N.js.map} +0 -0
- /package/dist/{keywords-for-site-MWADFEO2.js.map → keywords-for-site-4E7UU44P.js.map} +0 -0
- /package/dist/{landing-R6DN7XLK.js.map → landing-I65PFN7H.js.map} +0 -0
- /package/dist/{languages-HORKPDNH.js.map → languages-KPPKX3E2.js.map} +0 -0
- /package/dist/{languages-JSGWCC7Z.js.map → languages-MGEBLO64.js.map} +0 -0
- /package/dist/{logo-2IP663QO.js.map → launches-E3Y6NCQE.js.map} +0 -0
- /package/dist/{layerize-RPD6SNP6.js.map → layerize-N4IQ2KE7.js.map} +0 -0
- /package/dist/{leads-7EVHMNUF.js.map → leads-PPMOBH7U.js.map} +0 -0
- /package/dist/{leads-JM6HUERX.js.map → leads-TNEQUOUN.js.map} +0 -0
- /package/dist/{learn-LGS2F5TR.js.map → learn-QQS323PS.js.map} +0 -0
- /package/dist/{library-ARKRLCNJ.js.map → library-4QQAVB6X.js.map} +0 -0
- /package/dist/{lighthouse-6ZC45E53.js.map → lighthouse-CD47CPJM.js.map} +0 -0
- /package/dist/{line-item-writes-KUYEXSIH.js.map → line-item-writes-QJZQUQ4E.js.map} +0 -0
- /package/dist/{line-items-GIWLP3FL.js.map → line-items-ESEAXGBV.js.map} +0 -0
- /package/dist/{link-PVM7XJQI.js.map → link-DPJYS4WY.js.map} +0 -0
- /package/dist/{linkedin-WX54EAX6.js.map → linkedin-EJPNC4VY.js.map} +0 -0
- /package/dist/{list-P7NAFN6J.js.map → list-A45NTPSJ.js.map} +0 -0
- /package/dist/{list-7MVBXOJT.js.map → list-GNP4GIV2.js.map} +0 -0
- /package/dist/{list-LI4OGQFW.js.map → list-KQFLOVC4.js.map} +0 -0
- /package/dist/{list-AL7N6X2P.js.map → list-MDHK3ENJ.js.map} +0 -0
- /package/dist/{list-A5UCIR2J.js.map → list-PRUFXMXW.js.map} +0 -0
- /package/dist/{list-WR7QYTON.js.map → list-S3BAQCTL.js.map} +0 -0
- /package/dist/{list-4ZKQZBCL.js.map → list-UU5NPLJ7.js.map} +0 -0
- /package/dist/{list-MCEFXC6L.js.map → list-V525A4Z4.js.map} +0 -0
- /package/dist/{locations-74TPQWAT.js.map → locations-J2PVPDZU.js.map} +0 -0
- /package/dist/{locations-J4G5RNPH.js.map → locations-TFOYESTF.js.map} +0 -0
- /package/dist/{log-U6IWZGOF.js.map → log-XQBEJOOW.js.map} +0 -0
- /package/dist/{lookup-XK45W2SH.js.map → logo-KQD5KUAH.js.map} +0 -0
- /package/dist/{output-RAH3TSIL.js.map → lookup-QCREWUV4.js.map} +0 -0
- /package/dist/{media-M7E6V2XU.js.map → media-2WENMOAA.js.map} +0 -0
- /package/dist/{media-6CQYG4UY.js.map → media-N4C6Q4IV.js.map} +0 -0
- /package/dist/{media-sources-JWGO23BZ.js.map → media-sources-BPOTW6IB.js.map} +0 -0
- /package/dist/{members-5FAW4YE7.js.map → members-BOYZKLNK.js.map} +0 -0
- /package/dist/{meta-EZ4SY25M.js.map → meta-PXYHWOOG.js.map} +0 -0
- /package/dist/{metrics-SQDJ5NQO.js.map → metrics-FZANUN7E.js.map} +0 -0
- /package/dist/{models-7U3GRYHF.js.map → models-W6EN3WB7.js.map} +0 -0
- /package/dist/{normalize-ICQF2AST.js.map → normalize-LOMDPNFJ.js.map} +0 -0
- /package/dist/{performance-FGCDWHMC.js.map → output-SR4DN3A4.js.map} +0 -0
- /package/dist/{page-GS3WLT2C.js.map → page-FS76L5WU.js.map} +0 -0
- /package/dist/{pages-FXYQLHSJ.js.map → pages-INMNJSX2.js.map} +0 -0
- /package/dist/{reddit-TF6K37SB.js.map → performance-53D43XVZ.js.map} +0 -0
- /package/dist/{pinterest-AUH7WBA7.js.map → pinterest-JMHFPNVW.js.map} +0 -0
- /package/dist/{pixels-45A55MOP.js.map → pixels-K6ZD7SXV.js.map} +0 -0
- /package/dist/{pixels-ZFF4BGUH.js.map → pixels-XPBBJYE3.js.map} +0 -0
- /package/dist/{preview-AD4GKYIA.js.map → preview-KXSNG3BS.js.map} +0 -0
- /package/dist/{promoted-tweet-writes-BPWTDESL.js.map → promoted-tweet-writes-I6HVQRDB.js.map} +0 -0
- /package/dist/{promoted-tweets-OS3NHYVE.js.map → promoted-tweets-YAQ5ZUXI.js.map} +0 -0
- /package/dist/{properties-L2XIYQDS.js.map → properties-NYNEONHI.js.map} +0 -0
- /package/dist/{publish-SXZEWBVJ.js.map → publish-Z5DVKZSG.js.map} +0 -0
- /package/dist/{run-TFLFBQU2.js.map → query-MSZPOHFL.js.map} +0 -0
- /package/dist/{query-SGGBCHTF.js.map → query-RK2TFMBI.js.map} +0 -0
- /package/dist/{query-VTGVZQIO.js.map → query-TWNH6GV7.js.map} +0 -0
- /package/dist/{search-UO5KJTYS.js.map → reddit-6DQTBTO6.js.map} +0 -0
- /package/dist/{refresh-APVDWXRZ.js.map → refresh-TP2TOGS6.js.map} +0 -0
- /package/dist/{release-32SEJU4L.js.map → release-PHQEZ2ZX.js.map} +0 -0
- /package/dist/{relevant-pages-OWMNUCP7.js.map → relevant-pages-ORVFFVAM.js.map} +0 -0
- /package/dist/{remove-6LGGKMLJ.js.map → remove-ETLMMDEA.js.map} +0 -0
- /package/dist/{remove-U64GTHLQ.js.map → remove-KTBM5YSH.js.map} +0 -0
- /package/dist/{reopen-5VS233SF.js.map → reopen-OURQR6U7.js.map} +0 -0
- /package/dist/{research-O7CJV5IS.js.map → research-P23YBKS3.js.map} +0 -0
- /package/dist/{research-QYSQ6LW4.js.map → research-WCNWT5Y5.js.map} +0 -0
- /package/dist/{reset-47B5VPT4.js.map → reset-2NCAWWN4.js.map} +0 -0
- /package/dist/{reset-22FC7BXQ.js.map → reset-65R2CUB5.js.map} +0 -0
- /package/dist/{resolve-7KQGVTQT.js.map → resolve-65FKZ23N.js.map} +0 -0
- /package/dist/{retry-UJ5UF4BM.js.map → retry-P5K6LE6K.js.map} +0 -0
- /package/dist/{retry-J5UVLS72.js.map → retry-UIPDQJ5F.js.map} +0 -0
- /package/dist/{retry-failed-6HXPUVXJ.js.map → retry-failed-QMWQ6TRL.js.map} +0 -0
- /package/dist/{shared-HJDFNID4.js.map → run-NDMEYUOI.js.map} +0 -0
- /package/dist/{run-SI4FA32F.js.map → run-OP3T4TCF.js.map} +0 -0
- /package/dist/{schedule-52ZM4KRQ.js.map → schedule-6D667AXB.js.map} +0 -0
- /package/dist/{schedule-O2K6M43V.js.map → schedule-KXLQVCZW.js.map} +0 -0
- /package/dist/{scheduled-agents-PCWCQAKP.js.map → scheduled-agents-LYWEX4PU.js.map} +0 -0
- /package/dist/{schema-6GR77VJG.js.map → schema-CCFLFAOY.js.map} +0 -0
- /package/dist/{scrape-ETAMW43A.js.map → scrape-DBZQFIW7.js.map} +0 -0
- /package/dist/{screenshot-YCQF25ZB.js.map → screenshot-MPFANYIH.js.map} +0 -0
- /package/dist/{search-OQNGSMUH.js.map → search-4AANIUUL.js.map} +0 -0
- /package/dist/{search-742XSULP.js.map → search-EMJABZYF.js.map} +0 -0
- /package/dist/{search-NS7XNRZC.js.map → search-HQDN7DOF.js.map} +0 -0
- /package/dist/{sync-definition-BAJQUBE3.js.map → search-OVHC4CRQ.js.map} +0 -0
- /package/dist/{search-MEEM4D3W.js.map → search-YSGZRANA.js.map} +0 -0
- /package/dist/{select-4XCYVV2G.js.map → select-C6BKHB4B.js.map} +0 -0
- /package/dist/{sends-WGJVQUMF.js.map → sends-HXN5HSF6.js.map} +0 -0
- /package/dist/{sequences-OIPVR7JL.js.map → sequences-FRK76ZQV.js.map} +0 -0
- /package/dist/{setup-links-V3URI7DL.js.map → setup-links-BM2GLSSO.js.map} +0 -0
- /package/dist/{viewer-check-HFRUJ4ZU.js.map → shared-EH5ZTQXC.js.map} +0 -0
- /package/dist/{site-WIQ7SSU3.js.map → site-3PEJYQJW.js.map} +0 -0
- /package/dist/{sitemaps-POPZJTAX.js.map → sitemaps-7KHY2KXI.js.map} +0 -0
- /package/dist/{sites-262H6LM4.js.map → sites-6B76JW6C.js.map} +0 -0
- /package/dist/{skills-6TQZLIMP.js.map → skills-SCTT3LCM.js.map} +0 -0
- /package/dist/{sources-L453U5MT.js.map → sources-ODJBHNGY.js.map} +0 -0
- /package/dist/{stale-6OVG6VME.js.map → stale-2O54QXY2.js.map} +0 -0
- /package/dist/{stats-NNXZMPZR.js.map → stats-4NBOAOR2.js.map} +0 -0
- /package/dist/{status-WXWU54WR.js.map → status-NE5OBM4B.js.map} +0 -0
- /package/dist/{sticker-4KMBSMP5.js.map → sticker-NLXBIOBO.js.map} +0 -0
- /package/dist/{stock-2YCDN3N6.js.map → stock-F3SA4VHV.js.map} +0 -0
- /package/dist/{studio-C5K3YX3P.js.map → studio-ZPDIOFKL.js.map} +0 -0
- /package/dist/{sync-CDZUTGV3.js.map → sync-5GJNZDGZ.js.map} +0 -0
- /package/dist/{sync-ZSNUBYPM.js.map → sync-FCNFXTFD.js.map} +0 -0
- /package/dist/{sync-CF7FVUQJ.js.map → sync-YXCZ3DHY.js.map} +0 -0
- /package/dist/{tag-manager-DYZUOIAS.js.map → tag-manager-YM4Q3CZT.js.map} +0 -0
- /package/dist/{tags-SG3NVC3J.js.map → tags-456UOYJU.js.map} +0 -0
- /package/dist/{tags-6RY23XOG.js.map → tags-5YPYHV5V.js.map} +0 -0
- /package/dist/{tags-BHFQWNPL.js.map → tags-HXMHEHG2.js.map} +0 -0
- /package/dist/{tags-WR6PDIDR.js.map → tags-K34666RY.js.map} +0 -0
- /package/dist/{tags-VN5HTL35.js.map → tags-NB35ISO3.js.map} +0 -0
- /package/dist/{targeting-constants-XJ2VOW7K.js.map → targeting-constants-3CMGPWRI.js.map} +0 -0
- /package/dist/{targeting-criteria-5EXP2NXF.js.map → targeting-criteria-UKQ4WF5C.js.map} +0 -0
- /package/dist/{targets-WUVEJPSD.js.map → targets-VQ4BQ657.js.map} +0 -0
- /package/dist/{templates-LOJQX2NG.js.map → templates-PMUIOVDX.js.map} +0 -0
- /package/dist/{testimonials-6M5DXORT.js.map → testimonials-XZCGVD6V.js.map} +0 -0
- /package/dist/{top-companies-E2OMMPSV.js.map → top-companies-VMRIDOOH.js.map} +0 -0
- /package/dist/{translate-AW4CUKDA.js.map → translate-F5KR62LF.js.map} +0 -0
- /package/dist/{triggers-MRXIDCSN.js.map → triggers-2MZX7W6Y.js.map} +0 -0
- /package/dist/{tweets-ATP3FQAC.js.map → tweets-XWE3VYQ4.js.map} +0 -0
- /package/dist/{unfollow-CBVPGPF7.js.map → unfollow-7U4UBAJX.js.map} +0 -0
- /package/dist/{unlink-HNL747YM.js.map → unlink-AWSNY3QS.js.map} +0 -0
- /package/dist/{unstage-4ZEULXEQ.js.map → unstage-OGB43ZXO.js.map} +0 -0
- /package/dist/{unstage-OL2JDCLK.js.map → unstage-RQBOQ4DY.js.map} +0 -0
- /package/dist/{update-YNNRX5B2.js.map → update-4KWYHMLS.js.map} +0 -0
- /package/dist/{update-4KGIT4BF.js.map → update-6DKEWM64.js.map} +0 -0
- /package/dist/{update-RTTC3SAK.js.map → update-G6EKHPIF.js.map} +0 -0
- /package/dist/{update-JPBUF7M2.js.map → update-OFV452AC.js.map} +0 -0
- /package/dist/{upload-UIXPCSXJ.js.map → upload-6CJWMQ24.js.map} +0 -0
- /package/dist/{upload-L5SYZB3X.js.map → upload-GUKMQ5MT.js.map} +0 -0
- /package/dist/{upscale-YWRLFU22.js.map → upscale-A456MESF.js.map} +0 -0
- /package/dist/{url-params-K47CE7Y5.js.map → url-params-OE3UMYMM.js.map} +0 -0
- /package/dist/{use-UT2DIZOG.js.map → use-HBVKVT5S.js.map} +0 -0
- /package/dist/{variant-FLZJYGYL.js.map → variant-HULP57YI.js.map} +0 -0
- /package/dist/{videos-BP3BKNTY.js.map → videos-ION7UT3M.js.map} +0 -0
- /package/dist/{view-NPAG66QK.js.map → view-GCDEJZII.js.map} +0 -0
- /package/dist/{web-RPSGFN4U.js.map → web-CCVD6UZ4.js.map} +0 -0
- /package/dist/{write-commands-WTRSOSO3.js.map → write-commands-47OP673X.js.map} +0 -0
- /package/dist/{write-commands-TAYGTJEZ.js.map → write-commands-IJ5IFHS6.js.map} +0 -0
- /package/dist/{write-commands-4WARNR2T.js.map → write-commands-NNVDWBLG.js.map} +0 -0
- /package/dist/{write-commands-ERKVRHTC.js.map → write-commands-OBMIVFZJ.js.map} +0 -0
- /package/dist/{x-VZCELH3P.js.map → x-U32DT24S.js.map} +0 -0
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import {
|
|
2
|
+
reportError,
|
|
3
|
+
splitList
|
|
4
|
+
} from "./chunk-ICJFL7DU.js";
|
|
5
|
+
import {
|
|
6
|
+
apiGet
|
|
7
|
+
} from "./chunk-MMOTJIV6.js";
|
|
8
|
+
import {
|
|
9
|
+
registerSchema,
|
|
10
|
+
writeJson
|
|
11
|
+
} from "./chunk-D3RTGIT4.js";
|
|
12
|
+
|
|
13
|
+
// src/commands/winning-ads/launches.ts
|
|
14
|
+
import { defineCommand } from "citty";
|
|
15
|
+
registerSchema({
|
|
16
|
+
command: "winning-ads.launches",
|
|
17
|
+
description: 'What the brands you follow (or the ones named) launched in the last N days and which of those ads still run, each with its stage (new, testing, killed_early\u2026), and the tests each brand decided in that window (the version kept, what differed). The "what did competitors launch last week" report. Compact by default; --full lists every launch.',
|
|
18
|
+
args: {
|
|
19
|
+
since: { type: "number", description: "Days to look back, 1-90 (default 7)", required: false, default: 7 },
|
|
20
|
+
advertiser: {
|
|
21
|
+
type: "string",
|
|
22
|
+
description: "Comma list of advertiser ids instead of every followed brand",
|
|
23
|
+
required: false
|
|
24
|
+
},
|
|
25
|
+
platform: { type: "string", description: "Only this platform: meta|linkedin|tiktok|google", required: false },
|
|
26
|
+
full: { type: "boolean", description: "List every launch", required: false, default: false }
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
var COMPACT_LAUNCHES = 10;
|
|
30
|
+
function compactLaunches(report, full) {
|
|
31
|
+
return {
|
|
32
|
+
since_days: report.since_days,
|
|
33
|
+
advertisers: report.advertisers.map((b) => ({
|
|
34
|
+
advertiser_id: b.advertiser_id,
|
|
35
|
+
label: b.label,
|
|
36
|
+
launched: b.launched,
|
|
37
|
+
still_running: b.still_running,
|
|
38
|
+
launches: (full ? b.launches : b.launches.slice(0, COMPACT_LAUNCHES)).map((l) => ({
|
|
39
|
+
ad_id: l.ad_id,
|
|
40
|
+
platform: l.platform,
|
|
41
|
+
format: l.format,
|
|
42
|
+
headline: l.headline,
|
|
43
|
+
first_seen_at: l.first_seen_at,
|
|
44
|
+
stage: l.stage,
|
|
45
|
+
idea: l.idea ?? null,
|
|
46
|
+
...full ? { media_url: l.media_url } : {}
|
|
47
|
+
})),
|
|
48
|
+
tests_decided: (b.tests_decided ?? []).map((t) => ({
|
|
49
|
+
concept: t.concept,
|
|
50
|
+
versions: t.versions,
|
|
51
|
+
kept_ad_id: t.winner_ad_id,
|
|
52
|
+
decided_at: t.decided_at ?? null,
|
|
53
|
+
what_differed: t.what_differed
|
|
54
|
+
}))
|
|
55
|
+
}))
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
var IDEA_HINT = "Idea: whether each launch was a `new` idea (the first day of its concept), another version of one the brand was still `testing`, or a version built on a `winner` it had already kept. Many launches and no new idea means the brand is iterating on what works, not testing new directions: say so.";
|
|
59
|
+
function launchesHints(report, named) {
|
|
60
|
+
if (!named && report.following_count === 0) {
|
|
61
|
+
return ["You follow no brands yet: `baker winning-ads follow <domain>` adds one, or pass --advertiser <id>."];
|
|
62
|
+
}
|
|
63
|
+
if (report.advertisers.length === 0) {
|
|
64
|
+
return [`No launches in the last ${report.since_days} days. Widen the window with --since 30.`];
|
|
65
|
+
}
|
|
66
|
+
const withIdeas = report.advertisers.some((b) => b.launches.some((l) => l.idea));
|
|
67
|
+
return [
|
|
68
|
+
...withIdeas ? [IDEA_HINT] : [],
|
|
69
|
+
"Stages: new \u22647 days, testing \u226421 days, proven \u226460 days, evergreen beyond, killed_early = stopped within 2 weeks (a lost test). tests_decided is what each brand learned in the window: the version it kept (kept_ad_id) and what differed. `baker winning-ads search --survived-test` finds the versions brands kept across the library."
|
|
70
|
+
];
|
|
71
|
+
}
|
|
72
|
+
var launchesCommand = defineCommand({
|
|
73
|
+
meta: {
|
|
74
|
+
name: "launches",
|
|
75
|
+
description: "What competitors launched lately and what still runs. Start here: baker winning-ads launches --since 7 (every followed brand), or --advertiser adv_1,adv_2"
|
|
76
|
+
},
|
|
77
|
+
args: {
|
|
78
|
+
since: { type: "string", description: "Days to look back, 1-90 (default 7)", required: false },
|
|
79
|
+
advertiser: { type: "string", description: "Comma list of advertiser ids", required: false },
|
|
80
|
+
platform: { type: "string", description: "Only this platform: meta|linkedin|tiktok|google", required: false },
|
|
81
|
+
full: { type: "boolean", description: "List every launch", required: false, default: false }
|
|
82
|
+
},
|
|
83
|
+
run: async ({ args }) => {
|
|
84
|
+
try {
|
|
85
|
+
const named = splitList(args.advertiser);
|
|
86
|
+
const params = { since_days: String(args.since ?? 7) };
|
|
87
|
+
if (named.length > 0) {
|
|
88
|
+
params.advertiser = named.join(",");
|
|
89
|
+
}
|
|
90
|
+
if (args.platform) {
|
|
91
|
+
params.platform = String(args.platform);
|
|
92
|
+
}
|
|
93
|
+
const report = await apiGet("/api/ad-library/launches", params);
|
|
94
|
+
writeJson({
|
|
95
|
+
ok: true,
|
|
96
|
+
data: compactLaunches(report, Boolean(args.full)),
|
|
97
|
+
hints: launchesHints(report, named.length > 0)
|
|
98
|
+
});
|
|
99
|
+
} catch (err) {
|
|
100
|
+
reportError(err);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
|
|
105
|
+
export {
|
|
106
|
+
compactLaunches,
|
|
107
|
+
IDEA_HINT,
|
|
108
|
+
launchesHints,
|
|
109
|
+
launchesCommand
|
|
110
|
+
};
|
|
111
|
+
//# sourceMappingURL=chunk-S3L2ITS7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/winning-ads/launches.ts"],"sourcesContent":["import type { AdvertiserLaunches } from \"@baker/api/ad-library\";\nimport { defineCommand } from \"citty\";\nimport { apiGet } from \"../../client.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { reportError, splitList } from \"./shared.ts\";\n\nregisterSchema({\n command: \"winning-ads.launches\",\n description:\n 'What the brands you follow (or the ones named) launched in the last N days and which of those ads still run, each with its stage (new, testing, killed_early…), and the tests each brand decided in that window (the version kept, what differed). The \"what did competitors launch last week\" report. Compact by default; --full lists every launch.',\n args: {\n since: { type: \"number\", description: \"Days to look back, 1-90 (default 7)\", required: false, default: 7 },\n advertiser: {\n type: \"string\",\n description: \"Comma list of advertiser ids instead of every followed brand\",\n required: false,\n },\n platform: { type: \"string\", description: \"Only this platform: meta|linkedin|tiktok|google\", required: false },\n full: { type: \"boolean\", description: \"List every launch\", required: false, default: false },\n },\n});\n\nconst COMPACT_LAUNCHES = 10;\n\ntype LaunchesResponse = AdvertiserLaunches & { following_count?: number };\n\nexport function compactLaunches(report: AdvertiserLaunches, full: boolean) {\n return {\n since_days: report.since_days,\n advertisers: report.advertisers.map((b) => ({\n advertiser_id: b.advertiser_id,\n label: b.label,\n launched: b.launched,\n still_running: b.still_running,\n launches: (full ? b.launches : b.launches.slice(0, COMPACT_LAUNCHES)).map((l) => ({\n ad_id: l.ad_id,\n platform: l.platform,\n format: l.format,\n headline: l.headline,\n first_seen_at: l.first_seen_at,\n stage: l.stage,\n idea: l.idea ?? null,\n ...(full ? { media_url: l.media_url } : {}),\n })),\n tests_decided: (b.tests_decided ?? []).map((t) => ({\n concept: t.concept,\n versions: t.versions,\n kept_ad_id: t.winner_ad_id,\n decided_at: t.decided_at ?? null,\n what_differed: t.what_differed,\n })),\n })),\n };\n}\n\n/** How to read a launch's idea; the profile says the same. */\nexport const IDEA_HINT =\n \"Idea: whether each launch was a `new` idea (the first day of its concept), another version of one the brand was still `testing`, or a version built on a `winner` it had already kept. Many launches and no new idea means the brand is iterating on what works, not testing new directions: say so.\";\n\nexport function launchesHints(report: LaunchesResponse, named: boolean): string[] {\n if (!named && report.following_count === 0) {\n return [\"You follow no brands yet: `baker winning-ads follow <domain>` adds one, or pass --advertiser <id>.\"];\n }\n if (report.advertisers.length === 0) {\n return [`No launches in the last ${report.since_days} days. Widen the window with --since 30.`];\n }\n const withIdeas = report.advertisers.some((b) => b.launches.some((l) => l.idea));\n return [\n ...(withIdeas ? [IDEA_HINT] : []),\n \"Stages: new ≤7 days, testing ≤21 days, proven ≤60 days, evergreen beyond, killed_early = stopped within 2 weeks (a lost test). tests_decided is what each brand learned in the window: the version it kept (kept_ad_id) and what differed. `baker winning-ads search --survived-test` finds the versions brands kept across the library.\",\n ];\n}\n\nexport const launchesCommand = defineCommand({\n meta: {\n name: \"launches\",\n description:\n \"What competitors launched lately and what still runs. Start here: baker winning-ads launches --since 7 (every followed brand), or --advertiser adv_1,adv_2\",\n },\n args: {\n since: { type: \"string\", description: \"Days to look back, 1-90 (default 7)\", required: false },\n advertiser: { type: \"string\", description: \"Comma list of advertiser ids\", required: false },\n platform: { type: \"string\", description: \"Only this platform: meta|linkedin|tiktok|google\", required: false },\n full: { type: \"boolean\", description: \"List every launch\", required: false, default: false },\n },\n run: async ({ args }) => {\n try {\n const named = splitList(args.advertiser as string | undefined);\n const params: Record<string, string> = { since_days: String(args.since ?? 7) };\n if (named.length > 0) {\n params.advertiser = named.join(\",\");\n }\n if (args.platform) {\n params.platform = String(args.platform);\n }\n const report = await apiGet<LaunchesResponse>(\"/api/ad-library/launches\", params);\n writeJson({\n ok: true,\n data: compactLaunches(report, Boolean(args.full)),\n hints: launchesHints(report, named.length > 0),\n });\n } catch (err) {\n reportError(err);\n }\n },\n});\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import {
|
|
2
|
+
formEventKey
|
|
3
|
+
} from "./chunk-BC2BXRXY.js";
|
|
4
|
+
import {
|
|
5
|
+
flowNodeTriggers
|
|
6
|
+
} from "./chunk-MAGSNHYB.js";
|
|
7
|
+
|
|
8
|
+
// ../api/src/analytics/flowEventKeys.ts
|
|
9
|
+
function flowNodes(node, acc = []) {
|
|
10
|
+
if (!node || typeof node !== "object") return acc;
|
|
11
|
+
const record = node;
|
|
12
|
+
acc.push(record);
|
|
13
|
+
if (Array.isArray(record.children)) for (const child of record.children) flowNodes(child, acc);
|
|
14
|
+
return acc;
|
|
15
|
+
}
|
|
16
|
+
function flowEventKeys(tree, slug) {
|
|
17
|
+
const primary = [];
|
|
18
|
+
const secondary = [];
|
|
19
|
+
const nodes = flowNodes(tree).filter((node) => typeof node.id === "string" && node.id !== "");
|
|
20
|
+
if (nodes.length === 0) return [];
|
|
21
|
+
for (const node of nodes) {
|
|
22
|
+
const id = node.id;
|
|
23
|
+
const triggers = flowNodeTriggers(node.nodeData);
|
|
24
|
+
for (const triggerId of triggers.available) {
|
|
25
|
+
const candidate = {
|
|
26
|
+
eventKey: formEventKey(slug, id, triggerId),
|
|
27
|
+
nodeId: id,
|
|
28
|
+
nodeName: typeof node.name === "string" ? node.name : id,
|
|
29
|
+
nodeType: triggers.type,
|
|
30
|
+
triggerId,
|
|
31
|
+
isCompletion: triggers.completion === triggerId
|
|
32
|
+
};
|
|
33
|
+
(candidate.isCompletion ? primary : secondary).push(candidate);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return [
|
|
37
|
+
...primary,
|
|
38
|
+
...secondary,
|
|
39
|
+
{
|
|
40
|
+
eventKey: `submit:${slug}`,
|
|
41
|
+
nodeId: null,
|
|
42
|
+
nodeName: "the Form ran out of steps",
|
|
43
|
+
nodeType: null,
|
|
44
|
+
triggerId: null,
|
|
45
|
+
// A Form reaching its last node is as primary as an outcome gets for a
|
|
46
|
+
// Form with no widget in it — but it never fires on one that ends in a
|
|
47
|
+
// booking widget or a redirect, so it does not lead the list.
|
|
48
|
+
isCompletion: false
|
|
49
|
+
}
|
|
50
|
+
];
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export {
|
|
54
|
+
flowNodes,
|
|
55
|
+
flowEventKeys
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=chunk-S3XM4LD3.js.map
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
import {
|
|
2
|
+
NUMERIC_ID_REGEX
|
|
3
|
+
} from "./chunk-I2DNBEV6.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-SEPPFM5S.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../api/src/ads-google/change-history.ts","../../api/src/ads-google/keyword-planning.ts","../../api/src/ads-google/url-options.ts"],"sourcesContent":["/**\n * How far back Google's account history actually reaches, shared by the CLI and the\n * backend so the two layers cannot disagree about the limit.\n *\n * `change_event` carries field-level detail — old → new value and the user who made the\n * change — for the last 30 days. `change_status` reaches 90 days but only reports which\n * resources were added, changed or removed. Past 90 days there is no API at all; the\n * change has to be inferred from performance, or read from the Google Ads web UI.\n */\n\nexport const CHANGE_SCOPES = [\"detail\", \"summary\"] as const;\n\nexport type ChangeScope = (typeof CHANGE_SCOPES)[number];\n\nexport const CHANGE_SCOPE_MAX_DAYS: Record<ChangeScope, number> = {\n detail: 30,\n summary: 90,\n};\n\nexport const DEFAULT_CHANGE_DAYS = 7;\n\n/** Longest lookback any history resource can serve. */\nexport const MAX_CHANGE_DAYS = CHANGE_SCOPE_MAX_DAYS.summary;\n\nexport function isChangeLookbackWithinReach(days: number, scope: ChangeScope): boolean {\n return days <= CHANGE_SCOPE_MAX_DAYS[scope];\n}\n\n/** The cheapest scope that can serve `days`, or null when nothing reaches that far. */\nexport function changeScopeForDays(days: number): ChangeScope | null {\n return CHANGE_SCOPES.find((scope) => isChangeLookbackWithinReach(days, scope)) ?? null;\n}\n\n/**\n * Why a lookback was refused, and what to do instead. Callers that bypass the CLI get\n * this straight from the API, so it has to carry the way out of the window rather than\n * just the limit that was breached.\n */\nexport function changeLookbackMessage(days: number, scope: ChangeScope): string {\n const reachable = changeScopeForDays(days);\n if (reachable && reachable !== scope) {\n return `Google keeps field-level change detail for ${CHANGE_SCOPE_MAX_DAYS.detail} days only, and ${days} days is outside that window. Use scope \"${reachable}\" to reach back ${CHANGE_SCOPE_MAX_DAYS[reachable]} days — it reports which resources changed, without the old and new values.`;\n }\n return `Google's account history reaches back ${MAX_CHANGE_DAYS} days at most, and ${days} days is outside that window. Infer the change from monthly spend per campaign instead; anything older with attribution exists only in the Google Ads web interface, which has no API.`;\n}\n","/**\n * Keyword Planner reads beyond ideas and historical volume: a forecast for a set of keywords\n * (`GenerateKeywordForecastMetrics`, v25 shape) and ad-group themes (`GenerateAdGroupThemes`,\n * which existing ad group each keyword belongs in).\n *\n * The v25 forecast takes a campaign to forecast — languages, locations, ONE bidding strategy and\n * ad groups of keywords — and answers with one set of campaign-level estimates. It has no network\n * choice, no per-keyword bids and no negatives; those were the pre-v18 keyword-plan shape.\n */\nimport { z } from \"zod\";\nimport { NUMERIC_ID_REGEX } from \"./limits\";\n\nconst ISO_DATE = /^\\d{4}-\\d{2}-\\d{2}$/;\nconst micros = z.number().int().positive();\n\nexport const FORECAST_MATCH_TYPES = [\"EXACT\", \"PHRASE\", \"BROAD\"] as const;\n\nexport const googleForecastBiddingSchema = z.discriminatedUnion(\"strategy\", [\n z.object({ strategy: z.literal(\"MANUAL_CPC\"), maxCpcBidMicros: micros, dailyBudgetMicros: micros.optional() }),\n z.object({\n strategy: z.literal(\"MAXIMIZE_CLICKS\"),\n dailyTargetSpendMicros: micros,\n maxCpcBidCeilingMicros: micros.optional(),\n }),\n z.object({ strategy: z.literal(\"MAXIMIZE_CONVERSIONS\"), dailyTargetSpendMicros: micros }),\n]);\nexport type GoogleForecastBidding = z.infer<typeof googleForecastBiddingSchema>;\n\nexport const googleKeywordForecastRequestSchema = z\n .object({\n customerId: z.string().regex(NUMERIC_ID_REGEX, \"customerId must be the bare numeric customer id\"),\n managerId: z.string().optional(),\n /** One forecast ad group per entry; most forecasts are a single group. */\n adGroups: z\n .array(\n z.object({\n keywords: z\n .array(z.object({ text: z.string().trim().min(1).max(80), matchType: z.enum(FORECAST_MATCH_TYPES) }))\n .min(1),\n }),\n )\n .min(1),\n locationIds: z.array(z.string().regex(NUMERIC_ID_REGEX)).optional(),\n languageId: z.string().regex(NUMERIC_ID_REGEX).optional(),\n bidding: googleForecastBiddingSchema,\n /** Must start in the future and end within a year. Without them Baker forecasts the 30 days from tomorrow. */\n startDate: z.string().regex(ISO_DATE).optional(),\n endDate: z.string().regex(ISO_DATE).optional(),\n currencyCode: z.string().length(3).optional(),\n })\n .refine((body) => (body.startDate === undefined) === (body.endDate === undefined), {\n message: \"Give both --start and --end, or neither (the forecast then covers the 30 days from tomorrow)\",\n path: [\"endDate\"],\n });\nexport type GoogleKeywordForecastRequest = z.infer<typeof googleKeywordForecastRequestSchema>;\n\nexport const KEYWORD_FORECAST_SOURCE = \"keyword_planner_forecast\" as const;\n\n/** Every number is Google's prediction for the whole forecast period — never an account result. */\nexport const googleKeywordForecastResponseSchema = z.object({\n source: z.literal(KEYWORD_FORECAST_SOURCE),\n period: z.object({ startDate: z.string(), endDate: z.string() }),\n forecast_clicks: z.number().nullable(),\n forecast_cost_micros: z.number().nullable(),\n forecast_conversions: z.number().nullable(),\n forecast_average_cpc_micros: z.number().nullable(),\n forecast_average_cpa_micros: z.number().nullable(),\n});\nexport type GoogleKeywordForecastResponse = z.infer<typeof googleKeywordForecastResponseSchema>;\n\nexport const googleAdGroupThemesRequestSchema = z.object({\n customerId: z.string().regex(NUMERIC_ID_REGEX, \"customerId must be the bare numeric customer id\"),\n managerId: z.string().optional(),\n keywords: z.array(z.string().trim().min(1)).min(1),\n /** Existing ad groups to sort the keywords into: numeric ids or `customers/{cid}/adGroups/{id}`. */\n adGroups: z.array(z.string().min(1)).min(1),\n});\nexport type GoogleAdGroupThemesRequest = z.infer<typeof googleAdGroupThemesRequestSchema>;\n\nexport const googleAdGroupThemesResponseSchema = z.object({\n suggestions: z.array(\n z.object({\n keyword: z.string(),\n suggested_keyword: z.string(),\n match_type: z.string(),\n ad_group: z.string(),\n campaign: z.string(),\n }),\n ),\n unusable_ad_groups: z.array(z.object({ ad_group: z.string(), campaign: z.string() })),\n});\nexport type GoogleAdGroupThemesResponse = z.infer<typeof googleAdGroupThemesResponseSchema>;\n","/**\n * `ads.google.url-options` — the URL/tracking options in force on an account.\n *\n * Google returns a field ONLY when it holds a value: an unset `final_url_suffix`\n * is not `\"\"`, it is a key that never appears in the row. Reported naively, that\n * is indistinguishable from a read that never happened — and a false \"no suffix\n * is configured\" has already been written into a client's knowledge base from\n * exactly that ambiguity.\n *\n * So every value here is a tagged union, never a bare string:\n *\n * - `{ state: \"set\", value }` — observed, holds this value\n * - `{ state: \"not_set\" }` — observed, Google carries no value at this level\n * - `{ state: \"not_read\", reason }` — never observed; says nothing about the account\n *\n * and every level Baker did NOT read is listed explicitly in `levels_not_read`\n * rather than silently omitted. Absence is only a finding when it is `not_set`.\n */\nimport { z } from \"zod\";\nimport { NUMERIC_ID_REGEX } from \"./limits\";\n\n/** Google resolves URL options most-specific-first; these are the levels that can carry one. */\nexport const URL_OPTION_LEVELS = [\"account\", \"campaign\", \"ad_group\", \"ad\"] as const;\nexport type GoogleUrlOptionLevel = (typeof URL_OPTION_LEVELS)[number];\n\nexport const googleUrlOptionValueSchema = z.discriminatedUnion(\"state\", [\n z.object({ state: z.literal(\"set\"), value: z.string() }),\n z.object({ state: z.literal(\"not_set\") }),\n z.object({ state: z.literal(\"not_read\"), reason: z.string() }),\n]);\nexport type GoogleUrlOptionValue = z.infer<typeof googleUrlOptionValueSchema>;\n\nexport const googleUrlOptionsRequestSchema = z.object({\n customerId: z.string().regex(NUMERIC_ID_REGEX, \"customerId must be the bare numeric customer id\"),\n managerId: z.string().optional(),\n /** Compact by default: only campaigns that actually override the account. `full` lists every campaign. */\n full: z.boolean().optional(),\n skipCache: z.boolean().optional(),\n});\nexport type GoogleUrlOptionsRequest = z.infer<typeof googleUrlOptionsRequestSchema>;\n\nexport const googleUrlOptionsCampaignSchema = z.object({\n id: z.string(),\n name: z.string(),\n status: z.string(),\n final_url_suffix: googleUrlOptionValueSchema,\n tracking_url_template: googleUrlOptionValueSchema,\n});\nexport type GoogleUrlOptionsCampaign = z.infer<typeof googleUrlOptionsCampaignSchema>;\n\nexport const googleUrlOptionsAdGroupSchema = z.object({\n id: z.string(),\n name: z.string(),\n status: z.string(),\n campaign_id: z.string(),\n final_url_suffix: googleUrlOptionValueSchema,\n tracking_url_template: googleUrlOptionValueSchema,\n});\nexport type GoogleUrlOptionsAdGroup = z.infer<typeof googleUrlOptionsAdGroupSchema>;\n\nexport const googleUrlOptionsAdSchema = z.object({\n id: z.string(),\n status: z.string(),\n ad_group_id: z.string(),\n campaign_id: z.string(),\n final_url_suffix: googleUrlOptionValueSchema,\n tracking_url_template: googleUrlOptionValueSchema,\n});\nexport type GoogleUrlOptionsAd = z.infer<typeof googleUrlOptionsAdSchema>;\n\nexport const googleUrlOptionsResponseSchema = z.object({\n customer_id: z.string(),\n account: z.object({\n level: z.literal(\"account\"),\n read: z.boolean(),\n final_url_suffix: googleUrlOptionValueSchema,\n tracking_url_template: googleUrlOptionValueSchema,\n }),\n campaigns: z.object({\n level: z.literal(\"campaign\"),\n read: z.boolean(),\n /** Campaigns actually observed. 0 with `read: true` means the account has no non-removed campaigns. */\n campaigns_read: z.number().int().nonnegative(),\n /** Campaigns observed to carry no override of their own — an explicit finding, not an omission. */\n campaigns_without_override: z.number().int().nonnegative(),\n overrides: z.array(googleUrlOptionsCampaignSchema),\n /** Compact mode only: campaigns read but not listed because they carry no override. */\n omitted: z.number().int().nonnegative(),\n }),\n /**\n * Ad groups and ads that carry an override of their own — read by asking Google only for the\n * entities whose suffix or template IS NOT NULL, so an account of thousands of ads costs one page.\n * `read: true` with no overrides is a finding: nothing at this level overrides the levels above.\n * `truncated` means more overriding entities exist than one page listed.\n */\n ad_groups: z.object({\n level: z.literal(\"ad_group\"),\n read: z.boolean(),\n overrides: z.array(googleUrlOptionsAdGroupSchema),\n truncated: z.boolean(),\n }),\n ads: z.object({\n level: z.literal(\"ad\"),\n read: z.boolean(),\n overrides: z.array(googleUrlOptionsAdSchema),\n truncated: z.boolean(),\n }),\n /** Levels this command could not read. Nothing here may be reported as \"not configured\". */\n levels_not_read: z.array(z.object({ level: z.enum(URL_OPTION_LEVELS), reason: z.string() })),\n});\nexport type GoogleUrlOptionsResponse = z.infer<typeof googleUrlOptionsResponseSchema>;\n\n/** Where Google keeps the account-level fields, verbatim, for an agent relaying it to a marketer. */\nexport const ACCOUNT_URL_OPTIONS_LOCATION =\n \"Google Ads UI → Admin → Account settings → Tracking (account-level tracking template and final URL suffix)\";\n\n/**\n * How the account-level value is staged: `google.customer.update` rides the same `GoogleAdsService.Mutate`\n * batch as every other staged op (`customerOperation`), so it applies at Publish like the rest.\n */\nexport const ACCOUNT_URL_OPTIONS_STAGE_COMMAND =\n 'baker ads google account update --customer-id <id> --final-url-suffix \"utm_agency=baker\"';\n\nfunction isSet(value: GoogleUrlOptionValue): value is { state: \"set\"; value: string } {\n return value.state === \"set\";\n}\n\n/** What an ad-group or ad level's overrides mean for an account-wide parameter. */\nfunction entityOverrideHints(\n label: string,\n plural: string,\n field: string,\n level: GoogleUrlOptionsResponse[\"ad_groups\"] | GoogleUrlOptionsResponse[\"ads\"],\n): string[] {\n if (!level.read) return [];\n const hints: string[] = [];\n const overriding: Array<{ id: string; name?: string; final_url_suffix: GoogleUrlOptionValue }> =\n level.overrides.filter((entity) => isSet(entity.final_url_suffix));\n if (overriding.length > 0) {\n const named = overriding\n .slice(0, 5)\n .map((entity) => entity.name || entity.id)\n .join(\", \");\n hints.push(\n `${overriding.length} ${label}(s) set their own final URL suffix (${named}${overriding.length > 5 ? \", …\" : \"\"}). It REPLACES the campaign and account suffix for every click through it, so an account-wide parameter must be added to theirs too.`,\n );\n }\n if (level.truncated) {\n hints.push(\n `More ${plural} override the URL options than one page lists — read them all with \\`baker ads google query\\` on ${field}.final_url_suffix IS NOT NULL --all before saying which ones do.`,\n );\n }\n return hints;\n}\n\n/**\n * Post-read nudges. The account level is the right home for an account-wide parameter\n * (agency/partner tagging), so a missing account suffix is the finding worth surfacing —\n * and a level that failed to read must never be reported as unset.\n */\nexport function urlOptionsHints(report: GoogleUrlOptionsResponse): string[] {\n const hints: string[] = [];\n const { account, campaigns } = report;\n\n if (!account.read) {\n hints.push(\n \"The account level did NOT read — its URL options are unknown, not empty. Re-run before telling the user anything about account-wide tagging.\",\n );\n } else if (account.final_url_suffix.state === \"not_set\") {\n hints.push(\n `No account-level final URL suffix is set. An account-wide parameter (agency/partner tagging such as utm_agency=…) belongs at the account level so it reaches every ad — stage it with \\`${ACCOUNT_URL_OPTIONS_STAGE_COMMAND}\\` (applies at Publish; the user sees it under ${ACCOUNT_URL_OPTIONS_LOCATION}).`,\n );\n }\n\n if (!campaigns.read) {\n hints.push(\n \"Campaign-level URL options did NOT read — do not report that no campaign overrides exist. Re-run before concluding.\",\n );\n } else {\n // `overrides` carries every campaign under --full, not just the overriding ones,\n // so name the ones that actually set a suffix. Saying \"campaigns listed under\n // `overrides`\" would tell the agent that campaigns inheriting fine are broken.\n const overriding = campaigns.overrides.filter((c) => isSet(c.final_url_suffix));\n if (overriding.length > 0) {\n const named = overriding\n .slice(0, 5)\n .map((c) => c.name || c.id)\n .join(\", \");\n hints.push(\n `A campaign's final URL suffix REPLACES the account-level one for that campaign — it does not merge. ${overriding.length} campaign(s) set their own (${named}${overriding.length > 5 ? \", …\" : \"\"}) 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.`,\n );\n }\n }\n\n hints.push(...entityOverrideHints(\"ad group\", \"ad groups\", \"ad_group\", report.ad_groups));\n hints.push(...entityOverrideHints(\"ad\", \"ads\", \"ad_group_ad.ad\", report.ads));\n\n // Precedence is account → campaign → ad group → ad, most specific winning, so\n // \"a suffix set there still wins\" only holds for levels BELOW the ones that read.\n // `account` is the least specific — a campaign, ad-group or ad suffix overrides it —\n // and it joins `levels_not_read` whenever the customer read fails, which would hand\n // the agent the precedence backwards. Its own \"did NOT read\" hint above covers it.\n const overridingLevelsNotRead = report.levels_not_read.filter((level) => level.level !== \"account\");\n if (overridingLevelsNotRead.length > 0) {\n hints.push(\n `Not read at this level: ${overridingLevelsNotRead.map((l) => l.level).join(\", \")}. A suffix set there still wins over the levels above it.`,\n );\n }\n\n if (campaigns.omitted > 0) {\n hints.push(`${campaigns.omitted} campaign(s) read with no override of their own are not listed — pass --full.`);\n }\n\n return hints;\n}\n"],"mappings":";;;;;AAUO,IAAM,gBAAgB,CAAC,UAAU,SAAS;AAI1C,IAAM,wBAAqD;AAAA,EAChE,QAAQ;AAAA,EACR,SAAS;AACX;AAEO,IAAM,sBAAsB;AAG5B,IAAM,kBAAkB,sBAAsB;AAE9C,SAAS,4BAA4B,MAAc,OAA6B;AACrF,SAAO,QAAQ,sBAAsB,KAAK;AAC5C;;;ACjBA,SAAS,SAAS;AAGlB,IAAM,WAAW;AACjB,IAAM,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAElC,IAAM,uBAAuB,CAAC,SAAS,UAAU,OAAO;AAExD,IAAM,8BAA8B,EAAE,mBAAmB,YAAY;AAAA,EAC1E,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,YAAY,GAAG,iBAAiB,QAAQ,mBAAmB,OAAO,SAAS,EAAE,CAAC;AAAA,EAC7G,EAAE,OAAO;AAAA,IACP,UAAU,EAAE,QAAQ,iBAAiB;AAAA,IACrC,wBAAwB;AAAA,IACxB,wBAAwB,OAAO,SAAS;AAAA,EAC1C,CAAC;AAAA,EACD,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,sBAAsB,GAAG,wBAAwB,OAAO,CAAC;AAC1F,CAAC;AAGM,IAAM,qCAAqC,EAC/C,OAAO;AAAA,EACN,YAAY,EAAE,OAAO,EAAE,MAAM,kBAAkB,iDAAiD;AAAA,EAChG,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA;AAAA,EAE/B,UAAU,EACP;AAAA,IACC,EAAE,OAAO;AAAA,MACP,UAAU,EACP,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,WAAW,EAAE,KAAK,oBAAoB,EAAE,CAAC,CAAC,EACnG,IAAI,CAAC;AAAA,IACV,CAAC;AAAA,EACH,EACC,IAAI,CAAC;AAAA,EACR,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC,EAAE,SAAS;AAAA,EAClE,YAAY,EAAE,OAAO,EAAE,MAAM,gBAAgB,EAAE,SAAS;AAAA,EACxD,SAAS;AAAA;AAAA,EAET,WAAW,EAAE,OAAO,EAAE,MAAM,QAAQ,EAAE,SAAS;AAAA,EAC/C,SAAS,EAAE,OAAO,EAAE,MAAM,QAAQ,EAAE,SAAS;AAAA,EAC7C,cAAc,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,SAAS;AAC9C,CAAC,EACA,OAAO,CAAC,SAAU,KAAK,cAAc,YAAgB,KAAK,YAAY,SAAY;AAAA,EACjF,SAAS;AAAA,EACT,MAAM,CAAC,SAAS;AAClB,CAAC;AAGI,IAAM,0BAA0B;AAGhC,IAAM,sCAAsC,EAAE,OAAO;AAAA,EAC1D,QAAQ,EAAE,QAAQ,uBAAuB;AAAA,EACzC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,GAAG,SAAS,EAAE,OAAO,EAAE,CAAC;AAAA,EAC/D,iBAAiB,EAAE,OAAO,EAAE,SAAS;AAAA,EACrC,sBAAsB,EAAE,OAAO,EAAE,SAAS;AAAA,EAC1C,sBAAsB,EAAE,OAAO,EAAE,SAAS;AAAA,EAC1C,6BAA6B,EAAE,OAAO,EAAE,SAAS;AAAA,EACjD,6BAA6B,EAAE,OAAO,EAAE,SAAS;AACnD,CAAC;AAGM,IAAM,mCAAmC,EAAE,OAAO;AAAA,EACvD,YAAY,EAAE,OAAO,EAAE,MAAM,kBAAkB,iDAAiD;AAAA,EAChG,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,EAC/B,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAAA;AAAA,EAEjD,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAC5C,CAAC;AAGM,IAAM,oCAAoC,EAAE,OAAO;AAAA,EACxD,aAAa,EAAE;AAAA,IACb,EAAE,OAAO;AAAA,MACP,SAAS,EAAE,OAAO;AAAA,MAClB,mBAAmB,EAAE,OAAO;AAAA,MAC5B,YAAY,EAAE,OAAO;AAAA,MACrB,UAAU,EAAE,OAAO;AAAA,MACnB,UAAU,EAAE,OAAO;AAAA,IACrB,CAAC;AAAA,EACH;AAAA,EACA,oBAAoB,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,GAAG,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;AACtF,CAAC;;;ACxED,SAAS,KAAAA,UAAS;AAIX,IAAM,oBAAoB,CAAC,WAAW,YAAY,YAAY,IAAI;AAGlE,IAAM,6BAA6BC,GAAE,mBAAmB,SAAS;AAAA,EACtEA,GAAE,OAAO,EAAE,OAAOA,GAAE,QAAQ,KAAK,GAAG,OAAOA,GAAE,OAAO,EAAE,CAAC;AAAA,EACvDA,GAAE,OAAO,EAAE,OAAOA,GAAE,QAAQ,SAAS,EAAE,CAAC;AAAA,EACxCA,GAAE,OAAO,EAAE,OAAOA,GAAE,QAAQ,UAAU,GAAG,QAAQA,GAAE,OAAO,EAAE,CAAC;AAC/D,CAAC;AAGM,IAAM,gCAAgCA,GAAE,OAAO;AAAA,EACpD,YAAYA,GAAE,OAAO,EAAE,MAAM,kBAAkB,iDAAiD;AAAA,EAChG,WAAWA,GAAE,OAAO,EAAE,SAAS;AAAA;AAAA,EAE/B,MAAMA,GAAE,QAAQ,EAAE,SAAS;AAAA,EAC3B,WAAWA,GAAE,QAAQ,EAAE,SAAS;AAClC,CAAC;AAGM,IAAM,iCAAiCA,GAAE,OAAO;AAAA,EACrD,IAAIA,GAAE,OAAO;AAAA,EACb,MAAMA,GAAE,OAAO;AAAA,EACf,QAAQA,GAAE,OAAO;AAAA,EACjB,kBAAkB;AAAA,EAClB,uBAAuB;AACzB,CAAC;AAGM,IAAM,gCAAgCA,GAAE,OAAO;AAAA,EACpD,IAAIA,GAAE,OAAO;AAAA,EACb,MAAMA,GAAE,OAAO;AAAA,EACf,QAAQA,GAAE,OAAO;AAAA,EACjB,aAAaA,GAAE,OAAO;AAAA,EACtB,kBAAkB;AAAA,EAClB,uBAAuB;AACzB,CAAC;AAGM,IAAM,2BAA2BA,GAAE,OAAO;AAAA,EAC/C,IAAIA,GAAE,OAAO;AAAA,EACb,QAAQA,GAAE,OAAO;AAAA,EACjB,aAAaA,GAAE,OAAO;AAAA,EACtB,aAAaA,GAAE,OAAO;AAAA,EACtB,kBAAkB;AAAA,EAClB,uBAAuB;AACzB,CAAC;AAGM,IAAM,iCAAiCA,GAAE,OAAO;AAAA,EACrD,aAAaA,GAAE,OAAO;AAAA,EACtB,SAASA,GAAE,OAAO;AAAA,IAChB,OAAOA,GAAE,QAAQ,SAAS;AAAA,IAC1B,MAAMA,GAAE,QAAQ;AAAA,IAChB,kBAAkB;AAAA,IAClB,uBAAuB;AAAA,EACzB,CAAC;AAAA,EACD,WAAWA,GAAE,OAAO;AAAA,IAClB,OAAOA,GAAE,QAAQ,UAAU;AAAA,IAC3B,MAAMA,GAAE,QAAQ;AAAA;AAAA,IAEhB,gBAAgBA,GAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA;AAAA,IAE7C,4BAA4BA,GAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,IACzD,WAAWA,GAAE,MAAM,8BAA8B;AAAA;AAAA,IAEjD,SAASA,GAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,EACxC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOD,WAAWA,GAAE,OAAO;AAAA,IAClB,OAAOA,GAAE,QAAQ,UAAU;AAAA,IAC3B,MAAMA,GAAE,QAAQ;AAAA,IAChB,WAAWA,GAAE,MAAM,6BAA6B;AAAA,IAChD,WAAWA,GAAE,QAAQ;AAAA,EACvB,CAAC;AAAA,EACD,KAAKA,GAAE,OAAO;AAAA,IACZ,OAAOA,GAAE,QAAQ,IAAI;AAAA,IACrB,MAAMA,GAAE,QAAQ;AAAA,IAChB,WAAWA,GAAE,MAAM,wBAAwB;AAAA,IAC3C,WAAWA,GAAE,QAAQ;AAAA,EACvB,CAAC;AAAA;AAAA,EAED,iBAAiBA,GAAE,MAAMA,GAAE,OAAO,EAAE,OAAOA,GAAE,KAAK,iBAAiB,GAAG,QAAQA,GAAE,OAAO,EAAE,CAAC,CAAC;AAC7F,CAAC;AAIM,IAAM,+BACX;AAMK,IAAM,oCACX;AAEF,SAAS,MAAM,OAAuE;AACpF,SAAO,MAAM,UAAU;AACzB;AAGA,SAAS,oBACP,OACA,QACA,OACA,OACU;AACV,MAAI,CAAC,MAAM,KAAM,QAAO,CAAC;AACzB,QAAM,QAAkB,CAAC;AACzB,QAAM,aACJ,MAAM,UAAU,OAAO,CAAC,WAAW,MAAM,OAAO,gBAAgB,CAAC;AACnE,MAAI,WAAW,SAAS,GAAG;AACzB,UAAM,QAAQ,WACX,MAAM,GAAG,CAAC,EACV,IAAI,CAAC,WAAW,OAAO,QAAQ,OAAO,EAAE,EACxC,KAAK,IAAI;AACZ,UAAM;AAAA,MACJ,GAAG,WAAW,MAAM,IAAI,KAAK,uCAAuC,KAAK,GAAG,WAAW,SAAS,IAAI,aAAQ,EAAE;AAAA,IAChH;AAAA,EACF;AACA,MAAI,MAAM,WAAW;AACnB,UAAM;AAAA,MACJ,QAAQ,MAAM,yGAAoG,KAAK;AAAA,IACzH;AAAA,EACF;AACA,SAAO;AACT;AAOO,SAAS,gBAAgB,QAA4C;AAC1E,QAAM,QAAkB,CAAC;AACzB,QAAM,EAAE,SAAS,UAAU,IAAI;AAE/B,MAAI,CAAC,QAAQ,MAAM;AACjB,UAAM;AAAA,MACJ;AAAA,IACF;AAAA,EACF,WAAW,QAAQ,iBAAiB,UAAU,WAAW;AACvD,UAAM;AAAA,MACJ,qMAA2L,iCAAiC,kDAAkD,4BAA4B;AAAA,IAC5S;AAAA,EACF;AAEA,MAAI,CAAC,UAAU,MAAM;AACnB,UAAM;AAAA,MACJ;AAAA,IACF;AAAA,EACF,OAAO;AAIL,UAAM,aAAa,UAAU,UAAU,OAAO,CAAC,MAAM,MAAM,EAAE,gBAAgB,CAAC;AAC9E,QAAI,WAAW,SAAS,GAAG;AACzB,YAAM,QAAQ,WACX,MAAM,GAAG,CAAC,EACV,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,EACzB,KAAK,IAAI;AACZ,YAAM;AAAA,QACJ,4GAAuG,WAAW,MAAM,+BAA+B,KAAK,GAAG,WAAW,SAAS,IAAI,aAAQ,EAAE;AAAA,MACnM;AAAA,IACF;AAAA,EACF;AAEA,QAAM,KAAK,GAAG,oBAAoB,YAAY,aAAa,YAAY,OAAO,SAAS,CAAC;AACxF,QAAM,KAAK,GAAG,oBAAoB,MAAM,OAAO,kBAAkB,OAAO,GAAG,CAAC;AAO5E,QAAM,0BAA0B,OAAO,gBAAgB,OAAO,CAAC,UAAU,MAAM,UAAU,SAAS;AAClG,MAAI,wBAAwB,SAAS,GAAG;AACtC,UAAM;AAAA,MACJ,2BAA2B,wBAAwB,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC;AAAA,IACnF;AAAA,EACF;AAEA,MAAI,UAAU,UAAU,GAAG;AACzB,UAAM,KAAK,GAAG,UAAU,OAAO,oFAA+E;AAAA,EAChH;AAEA,SAAO;AACT;","names":["z","z"]}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ApiError,
|
|
3
|
+
apiGet,
|
|
4
|
+
apiPost
|
|
5
|
+
} from "./chunk-MMOTJIV6.js";
|
|
6
|
+
|
|
7
|
+
// src/commands/images/api.ts
|
|
8
|
+
import { readFile } from "fs/promises";
|
|
9
|
+
import { basename, extname } from "path";
|
|
10
|
+
var imageProcessingTimeoutMs = 18e4;
|
|
11
|
+
var imageReadyPollIntervalMs = 2e3;
|
|
12
|
+
var mimeMap = {
|
|
13
|
+
".png": "image/png",
|
|
14
|
+
".jpg": "image/jpeg",
|
|
15
|
+
".jpeg": "image/jpeg",
|
|
16
|
+
".gif": "image/gif",
|
|
17
|
+
".webp": "image/webp",
|
|
18
|
+
".svg": "image/svg+xml",
|
|
19
|
+
".avif": "image/avif"
|
|
20
|
+
};
|
|
21
|
+
var defaultImageApiDeps = {
|
|
22
|
+
readFile,
|
|
23
|
+
post: apiPost,
|
|
24
|
+
get: apiGet,
|
|
25
|
+
sleep: (ms) => new Promise((resolve) => setTimeout(resolve, ms))
|
|
26
|
+
};
|
|
27
|
+
function detectImageContentType(filePath, opts = {}) {
|
|
28
|
+
const ext = extname(filePath).toLowerCase();
|
|
29
|
+
const contentType = mimeMap[ext];
|
|
30
|
+
if (!contentType || opts.allowedContentTypes && !opts.allowedContentTypes.includes(contentType)) {
|
|
31
|
+
throw new ApiError(
|
|
32
|
+
"VALIDATION_ERROR",
|
|
33
|
+
opts.unsupportedMessage ?? `Cannot detect content type for extension "${ext}". Use --content-type.`
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
return contentType;
|
|
37
|
+
}
|
|
38
|
+
async function uploadLocalImage(args, deps = defaultImageApiDeps) {
|
|
39
|
+
return uploadImageBytes(
|
|
40
|
+
{
|
|
41
|
+
bytes: await deps.readFile(args.file),
|
|
42
|
+
contentType: args.contentType,
|
|
43
|
+
// Only the bytes used to be sent, so "iso27001-badge.png" arrived as an
|
|
44
|
+
// anonymous blob. The describe pass treats this as a hint, not gospel.
|
|
45
|
+
originalFilename: basename(args.file),
|
|
46
|
+
source: args.source,
|
|
47
|
+
descriptionContext: args.descriptionContext
|
|
48
|
+
},
|
|
49
|
+
deps
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
function uploadImageBytes(args, deps = defaultImageApiDeps) {
|
|
53
|
+
const body = {
|
|
54
|
+
base64: args.bytes.toString("base64"),
|
|
55
|
+
contentType: args.contentType,
|
|
56
|
+
originalFilename: args.originalFilename
|
|
57
|
+
};
|
|
58
|
+
if (args.source) body.source = args.source;
|
|
59
|
+
if (args.descriptionContext) body.descriptionContext = args.descriptionContext;
|
|
60
|
+
return deps.post("/api/images/upload", body, { timeoutMs: imageProcessingTimeoutMs });
|
|
61
|
+
}
|
|
62
|
+
function getImage(deps, imageId) {
|
|
63
|
+
return deps.get("/api/images/get", { id: imageId });
|
|
64
|
+
}
|
|
65
|
+
function publishImageAsCreative(deps, args) {
|
|
66
|
+
return deps.post("/api/creatives/publish", args);
|
|
67
|
+
}
|
|
68
|
+
async function waitForReadyImage(deps, imageId, opts = {}) {
|
|
69
|
+
const timeoutMs = opts.timeoutMs ?? imageProcessingTimeoutMs;
|
|
70
|
+
const pollIntervalMs = opts.pollIntervalMs ?? imageReadyPollIntervalMs;
|
|
71
|
+
const deadline = Date.now() + timeoutMs;
|
|
72
|
+
let lastStatus = "unknown";
|
|
73
|
+
while (Date.now() <= deadline) {
|
|
74
|
+
const image = await getImage(deps, imageId);
|
|
75
|
+
lastStatus = image.status;
|
|
76
|
+
if (image.status === "ready") {
|
|
77
|
+
return image;
|
|
78
|
+
}
|
|
79
|
+
if (image.status === "error") {
|
|
80
|
+
throw new ApiError("IMAGE_PROCESSING_ERROR", "Image processing failed");
|
|
81
|
+
}
|
|
82
|
+
await deps.sleep(pollIntervalMs);
|
|
83
|
+
}
|
|
84
|
+
throw new ApiError("TIMEOUT", `Image was not ready before timeout; last status: ${lastStatus}`);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
export {
|
|
88
|
+
imageProcessingTimeoutMs,
|
|
89
|
+
defaultImageApiDeps,
|
|
90
|
+
detectImageContentType,
|
|
91
|
+
uploadLocalImage,
|
|
92
|
+
uploadImageBytes,
|
|
93
|
+
publishImageAsCreative,
|
|
94
|
+
waitForReadyImage
|
|
95
|
+
};
|
|
96
|
+
//# sourceMappingURL=chunk-SFHL3KWY.js.map
|