@koda-sl/baker-cli 0.466.0 → 0.468.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -2
- package/dist/account-RAQVM46O.js +79 -0
- package/dist/account-RAQVM46O.js.map +1 -0
- package/dist/account-UMZQUGJ2.js +80 -0
- package/dist/account-VLPX7EZT.js +49 -0
- package/dist/account-reads-L4VWOWSK.js +218 -0
- package/dist/account-writes-ETJ4FKKK.js +66 -0
- package/dist/accounts-2FINK5GZ.js +114 -0
- package/dist/accounts-2UV5Z3Y6.js +75 -0
- package/dist/accounts-6LWO2IKD.js +611 -0
- package/dist/accounts-6LWO2IKD.js.map +1 -0
- package/dist/accounts-G2QT3ZVP.js +115 -0
- package/dist/accounts-KEBXN6JP.js +77 -0
- package/dist/accounts-KEBXN6JP.js.map +1 -0
- package/dist/actions-44HO3AJQ.js +55 -0
- package/dist/active-entities-RDXDSMA2.js +103 -0
- package/dist/activities-RBTU2Q24.js +74 -0
- package/dist/ad-group-writes-LLJH4BIM.js +170 -0
- package/dist/ad-groups-TWJHHE7H.js +68 -0
- package/dist/ad-writes-TBHTLPJJ.js +174 -0
- package/dist/add-4VKA4NDH.js +105 -0
- package/dist/add-FOHDPMVO.js +302 -0
- package/dist/add-FOHDPMVO.js.map +1 -0
- package/dist/add-MQO33HL3.js +97 -0
- package/dist/add-XVM266NG.js +104 -0
- package/dist/add-XVM266NG.js.map +1 -0
- package/dist/add-accounts-VDSWHJ4K.js +91 -0
- package/dist/ads-3EUOBTPH.js +77 -0
- package/dist/ads-HYODBAPV.js +128 -0
- package/dist/ads-IJCFN2N3.js +113 -0
- package/dist/ads-IT76KBXT.js +40 -0
- package/dist/adsets-DPTIKGTG.js +176 -0
- package/dist/advertisers-ITFXIXUW.js +125 -0
- package/dist/advertisers-IURROWPV.js +120 -0
- package/dist/advertisers-IURROWPV.js.map +1 -0
- package/dist/analytics-JDX5QF3N.js +1976 -0
- package/dist/analytics-JDX5QF3N.js.map +1 -0
- package/dist/analytics-PLPROLSY.js +433 -0
- package/dist/analytics-PLPROLSY.js.map +1 -0
- package/dist/animate-GRFI2XYX.js +480 -0
- package/dist/assign-6MEEQEIE.js +77 -0
- package/dist/assign-6MEEQEIE.js.map +1 -0
- package/dist/audience-size-D5ZYDZPZ.js +94 -0
- package/dist/audience-size-D5ZYDZPZ.js.map +1 -0
- package/dist/audiences-FWOOSUSJ.js +78 -0
- package/dist/audiences-KAXQZCW4.js +268 -0
- package/dist/audiences-VK4M7GLQ.js +85 -0
- package/dist/audit-CFYP5MNN.js +151 -0
- package/dist/audit-CFYP5MNN.js.map +1 -0
- package/dist/audit-JR5R75XK.js +88 -0
- package/dist/autocomplete-KI3WRVHD.js +111 -0
- package/dist/autocomplete-KI3WRVHD.js.map +1 -0
- package/dist/avatars-NRFG2O6Q.js +38 -0
- package/dist/bid-pricing-YHD3WMQR.js +99 -0
- package/dist/bid-pricing-YHD3WMQR.js.map +1 -0
- package/dist/brand-D5HPPVMH.js +22 -0
- package/dist/brief-JEBEWOB6.js +490 -0
- package/dist/businesses-P3RX4UXS.js +53 -0
- package/dist/campaign-groups-NI4JARD5.js +95 -0
- package/dist/campaign-groups-NI4JARD5.js.map +1 -0
- package/dist/campaign-writes-H7KKJHQA.js +170 -0
- package/dist/campaign-writes-ILRNO2JF.js +165 -0
- package/dist/campaign-writes-ILRNO2JF.js.map +1 -0
- package/dist/campaigns-7KRCBNGB.js +107 -0
- package/dist/campaigns-GOMQ7PRY.js +109 -0
- package/dist/campaigns-GOMQ7PRY.js.map +1 -0
- package/dist/campaigns-MEIMSHJF.js +110 -0
- package/dist/campaigns-OIXRW6HB.js +76 -0
- package/dist/canvas-GCMD6BCU.js +46 -0
- package/dist/canvas-GCMD6BCU.js.map +1 -0
- package/dist/capabilities-SYYY7CTG.js +144 -0
- package/dist/capabilities-SYYY7CTG.js.map +1 -0
- package/dist/cards-CLD4WX6G.js +85 -0
- package/dist/catalog-XPIXWO3R.js +64 -0
- package/dist/catalog-XPIXWO3R.js.map +1 -0
- package/dist/catalogs-4A7KNDE6.js +128 -0
- package/dist/changes-DLHBE5TF.js +135 -0
- package/dist/chatgpt-3PUDNHF2.js +47 -0
- package/dist/chats-NJGYDOBB.js +262 -0
- package/dist/chats-NJGYDOBB.js.map +1 -0
- package/dist/chunk-2I35PA3W.js +23992 -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-35D4EY7V.js +92 -0
- package/dist/chunk-42QCTCZK.js +1599 -0
- package/dist/chunk-4AFGT3L3.js +46 -0
- package/dist/chunk-4IKDYQQM.js +60 -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-4SEWHOAH.js +592 -0
- package/dist/chunk-536R4RRM.js +166 -0
- package/dist/chunk-542LVSYO.js +382 -0
- package/dist/chunk-57XJ7QF7.js +65 -0
- package/dist/chunk-5ZQ7S2P2.js +846 -0
- package/dist/chunk-6KD4HB6Y.js +172 -0
- package/dist/chunk-6SL6463H.js +309 -0
- package/dist/chunk-7MQVCSA7.js +310 -0
- package/dist/chunk-7TURKNAO.js +817 -0
- package/dist/chunk-7TURKNAO.js.map +1 -0
- package/dist/chunk-A3VUXG5G.js +1079 -0
- package/dist/chunk-A3VUXG5G.js.map +1 -0
- package/dist/chunk-APNV7FMK.js +191 -0
- package/dist/chunk-AVOIIRTG.js +337 -0
- package/dist/chunk-BCSOWRQL.js +76 -0
- package/dist/chunk-BJEW3LST.js +296 -0
- package/dist/chunk-BYKUAX26.js +106 -0
- package/dist/chunk-C2BHCVGY.js +51 -0
- package/dist/chunk-C3FM2TG6.js +541 -0
- package/dist/chunk-CAZ7NACC.js +103 -0
- package/dist/chunk-CLK2FPAV.js +76 -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-DMA77LLI.js +106 -0
- package/dist/chunk-EESOZY5S.js +26 -0
- package/dist/chunk-F3IVR3V3.js +136 -0
- package/dist/chunk-FMTBV7FE.js +346 -0
- package/dist/chunk-G7LAQE56.js +56 -0
- package/dist/chunk-G7QKXFQ2.js +66 -0
- package/dist/chunk-GFNDRNXT.js +474 -0
- package/dist/chunk-GIWHHCD6.js +145 -0
- package/dist/chunk-GIWHHCD6.js.map +1 -0
- package/dist/chunk-GJ3BWGOJ.js +274 -0
- package/dist/chunk-HKSLIV4T.js +533 -0
- package/dist/chunk-HM25R6XJ.js +433 -0
- package/dist/chunk-HNUY47SD.js +494 -0
- package/dist/chunk-ICJFL7DU.js +35 -0
- package/dist/chunk-IPDFZHFD.js +169 -0
- package/dist/chunk-IWNZCYWI.js +74 -0
- package/dist/chunk-IYH47RKQ.js +1442 -0
- package/dist/chunk-JF5LNI6O.js +84 -0
- package/dist/chunk-JZP5IODJ.js +98 -0
- package/dist/chunk-KDUMGBXU.js +175 -0
- package/dist/chunk-KIIIWH72.js +1830 -0
- package/dist/chunk-KL5VTXIK.js +149 -0
- package/dist/chunk-LFGCOAB4.js +75 -0
- package/dist/chunk-LPRUP3ZX.js +172 -0
- package/dist/chunk-MD3VH5UG.js +84 -0
- package/dist/chunk-MMOTJIV6.js +216 -0
- package/dist/chunk-MMOTJIV6.js.map +1 -0
- package/dist/chunk-MPXDQWYI.js +57 -0
- package/dist/chunk-NGYBZYXK.js +363 -0
- package/dist/chunk-NIGGMK7L.js +125 -0
- package/dist/chunk-P72PL3UG.js +23 -0
- package/dist/chunk-PC56KVAD.js +74 -0
- package/dist/chunk-PE725WOM.js +622 -0
- package/dist/chunk-PKCD5FX5.js +665 -0
- package/dist/chunk-PZRFET7Y.js +19 -0
- package/dist/chunk-Q2T4XZG4.js +139 -0
- package/dist/chunk-QHJXKGIY.js +96 -0
- package/dist/chunk-QVKSTQHO.js +160 -0
- package/dist/chunk-R4DWZSEX.js +197 -0
- package/dist/chunk-RVFB5JDH.js +297 -0
- package/dist/chunk-S3L2ITS7.js +111 -0
- package/dist/chunk-S3L2ITS7.js.map +1 -0
- package/dist/chunk-SELQIR2A.js +159 -0
- package/dist/chunk-SFHL3KWY.js +96 -0
- package/dist/chunk-SL5OGWXQ.js +98 -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-TFUAWBDZ.js +188 -0
- package/dist/chunk-U4RDH7SC.js +4410 -0
- package/dist/chunk-U7FZIRIH.js +5187 -0
- package/dist/chunk-U7FZIRIH.js.map +1 -0
- package/dist/chunk-UCZ5YYFP.js +304 -0
- package/dist/chunk-UGI33KTO.js +55 -0
- package/dist/chunk-UX7HIGS7.js +67 -0
- package/dist/chunk-VHDJCYPD.js +455 -0
- package/dist/chunk-VKVIBQP3.js +486 -0
- package/dist/chunk-VTF7XNOP.js +58 -0
- package/dist/chunk-W5J4C2MI.js +509 -0
- package/dist/chunk-WJQZQBGR.js +45 -0
- package/dist/chunk-WXC3I4CT.js +6188 -0
- package/dist/chunk-WYA3VDTS.js +111 -0
- package/dist/chunk-XDV6Q33B.js +42 -0
- package/dist/chunk-XGPDLGKQ.js +275 -0
- package/dist/chunk-XYC26BDM.js +133 -0
- package/dist/chunk-YJO4IMUK.js +6667 -0
- package/dist/chunk-YPCVPDU7.js +455 -0
- package/dist/chunk-YPCVPDU7.js.map +1 -0
- package/dist/chunk-YPTKOQH6.js +3151 -0
- package/dist/chunk-YPTKOQH6.js.map +1 -0
- package/dist/chunk-YT74ZEVP.js +206 -0
- package/dist/chunk-YTWNY3RF.js +97 -0
- package/dist/chunk-ZKKAKRJQ.js +207 -0
- package/dist/claim-LW2A66V4.js +197 -0
- package/dist/claim-LW2A66V4.js.map +1 -0
- package/dist/cli.js +40 -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-YNSXZ2LY.js +195 -0
- package/dist/companies-YNSXZ2LY.js.map +1 -0
- package/dist/complete-5HLD6ULF.js +81 -0
- package/dist/complete-5HLD6ULF.js.map +1 -0
- package/dist/config-UE7GCROG.js +88 -0
- package/dist/connect-7SMKJHZY.js +42 -0
- package/dist/content-5LHM4PBE.js +85 -0
- package/dist/conversation-DR3QXO6P.js +93 -0
- package/dist/conversation-DR3QXO6P.js.map +1 -0
- package/dist/conversion-report-VFN4WFRK.js +125 -0
- package/dist/conversion-upload-command-XJTOTJ4Y.js +438 -0
- package/dist/conversion-writes-H2SA4HAX.js +120 -0
- package/dist/conversions-544MF5CP.js +76 -0
- package/dist/conversions-7Y3H2SNY.js +135 -0
- package/dist/conversions-7Y3H2SNY.js.map +1 -0
- package/dist/countries-NMWPKFFW.js +82 -0
- package/dist/create-2H2CHRCO.js +130 -0
- package/dist/create-2H2CHRCO.js.map +1 -0
- package/dist/create-3YJZJK4Q.js +207 -0
- package/dist/create-3YJZJK4Q.js.map +1 -0
- package/dist/create-KPQOESSW.js +235 -0
- package/dist/create-KPQOESSW.js.map +1 -0
- package/dist/create-QBETRBHK.js +59 -0
- package/dist/create-QBETRBHK.js.map +1 -0
- package/dist/creatives-44DL2TLP.js +182 -0
- package/dist/creatives-44DL2TLP.js.map +1 -0
- package/dist/creatives-DAH2GXPO.js +51 -0
- package/dist/creatives-WJLJ3NKP.js +87 -0
- package/dist/credentials-OE7QXAY2.js +287 -0
- package/dist/credentials-OE7QXAY2.js.map +1 -0
- package/dist/critique-HU4PTS4B.js +213 -0
- package/dist/critique-HU4PTS4B.js.map +1 -0
- package/dist/critique-ZY4CQHPX.js +1449 -0
- package/dist/critique-ZY4CQHPX.js.map +1 -0
- package/dist/crm-GH7UNRY3.js +318 -0
- package/dist/crm-GH7UNRY3.js.map +1 -0
- package/dist/crm-QZOPL4QL.js +224 -0
- package/dist/crm-QZOPL4QL.js.map +1 -0
- package/dist/crop-VCP2JLQL.js +113 -0
- package/dist/currency-WYOIOGMW.js +88 -0
- package/dist/custom-conversions-CIU525HM.js +125 -0
- package/dist/customers-T2B4B3KL.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-AH2G6DUK.js +63 -0
- package/dist/delete-AH2G6DUK.js.map +1 -0
- package/dist/delete-JIRZBBDD.js +69 -0
- package/dist/delete-JXDQD4LZ.js +66 -0
- package/dist/delete-JXDQD4LZ.js.map +1 -0
- package/dist/delete-LGZ5OI4C.js +71 -0
- package/dist/delete-RZJKROLK.js +54 -0
- package/dist/delete-RZJKROLK.js.map +1 -0
- package/dist/demographics-2DSRDBR4.js +138 -0
- package/dist/demographics-2DSRDBR4.js.map +1 -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-IBMBN6IR.js +66 -0
- package/dist/discard-IBMBN6IR.js.map +1 -0
- package/dist/discover-4N3V5K2R.js +93 -0
- package/dist/discover-5B2CFZBG.js +172 -0
- package/dist/domain-AAA56NAU.js +98 -0
- package/dist/domain-AAA56NAU.js.map +1 -0
- package/dist/download-D7TB4744.js +299 -0
- package/dist/draft-4HSFABKP.js +328 -0
- package/dist/draft-4HSFABKP.js.map +1 -0
- package/dist/draft-4VOOSJQJ.js +233 -0
- package/dist/draft-D76C4JR3.js +103 -0
- package/dist/draft-DN5XDCFQ.js +306 -0
- package/dist/draft-DN5XDCFQ.js.map +1 -0
- package/dist/draft-MWCZSMKX.js +307 -0
- package/dist/draft-NWLPLTWM.js +100 -0
- package/dist/draft-PDYGPUK7.js +281 -0
- package/dist/draft-T6WXPSC2.js +217 -0
- package/dist/draft-T6WXPSC2.js.map +1 -0
- package/dist/engine/index.js +12 -13
- package/dist/env-LHLGM2YJ.js +43 -0
- package/dist/experiment-4SUIXVBP.js +1397 -0
- package/dist/export-VGCFD7GL.js +168 -0
- package/dist/extract-32J7V2RX.js +113 -0
- package/dist/facets-HCQVRWUV.js +114 -0
- package/dist/facets-HCQVRWUV.js.map +1 -0
- package/dist/favorites-WKV5H5OF.js +178 -0
- package/dist/feed-2CRO4HA6.js +177 -0
- package/dist/feedback-KDCV6NR5.js +66 -0
- package/dist/feedback-record-R2WHNNKB.js +175 -0
- package/dist/feedback-record-R2WHNNKB.js.map +1 -0
- package/dist/fetch-XQFPE3MI.js +139 -0
- package/dist/fetch-ZTY3DST4.js +176 -0
- package/dist/fetch-ZTY3DST4.js.map +1 -0
- package/dist/find-PNDKEOXT.js +134 -0
- package/dist/fit-YX7IB53N.js +45 -0
- package/dist/flows-7HP6NRIK.js +247 -0
- package/dist/flows-7HP6NRIK.js.map +1 -0
- package/dist/follow-BB5KUEXZ.js +94 -0
- package/dist/follow-competitors-EURYGGXE.js +112 -0
- package/dist/following-CA5BQXYB.js +113 -0
- package/dist/fonts-KV3BZCYB.js +34 -0
- package/dist/forecast-L44QIHCC.js +168 -0
- package/dist/forecast-PVO63KCE.js +104 -0
- package/dist/forecast-PVO63KCE.js.map +1 -0
- package/dist/funding-ZRC25X5I.js +85 -0
- package/dist/funnel-73U2L46O.js +394 -0
- package/dist/funnel-73U2L46O.js.map +1 -0
- package/dist/ga4-YDKXVJOC.js +55 -0
- package/dist/generate-X7FNMSMH.js +262 -0
- package/dist/get-7MSF4RVQ.js +59 -0
- package/dist/get-KFVPIDIA.js +61 -0
- package/dist/get-MRE7GAZL.js +56 -0
- package/dist/get-MRE7GAZL.js.map +1 -0
- package/dist/get-NHQ2XYKZ.js +63 -0
- package/dist/get-UMMTY74K.js +92 -0
- package/dist/get-YM77HCL5.js +63 -0
- package/dist/get-YYXBMNIU.js +78 -0
- package/dist/get-YYXBMNIU.js.map +1 -0
- package/dist/gif-X323HXS2.js +94 -0
- package/dist/google-76A4MHQH.js +136 -0
- package/dist/google-XRDQ7HRQ.js +3190 -0
- package/dist/google-ads-R4KXBNU7.js +195 -0
- package/dist/google-ads-R4KXBNU7.js.map +1 -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-ZRCMN5TI.js +133 -0
- package/dist/history-ZRCMN5TI.js.map +1 -0
- package/dist/history-ZTDRLZQL.js +67 -0
- package/dist/hubspot-IVTSNEZQ.js +779 -0
- package/dist/hubspot-IVTSNEZQ.js.map +1 -0
- package/dist/icon-6QW63AHG.js +137 -0
- package/dist/ideas-Z4ZGWHNQ.js +32 -0
- package/dist/images-FFX44RJL.js +90 -0
- package/dist/improve-WR23CHYH.js +86 -0
- package/dist/ingest-LVG67WVA.js +107 -0
- package/dist/ingest-LVG67WVA.js.map +1 -0
- package/dist/ingest-P4QXSLPG.js +23 -0
- package/dist/insights-IJEPLWQH.js +423 -0
- package/dist/insights-JMJWKWW4.js +122 -0
- package/dist/inspect-3QTV4HNT.js +189 -0
- package/dist/inspect-3QTV4HNT.js.map +1 -0
- package/dist/inspiration-TJJFUVY2.js +53 -0
- package/dist/intent-5RQQ3NC7.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-P6ACEDKY.js +130 -0
- package/dist/keyword-metrics-63NGOJ35.js +197 -0
- package/dist/keyword-metrics-63NGOJ35.js.map +1 -0
- package/dist/keywords-for-site-N3N5CFEZ.js +128 -0
- package/dist/keywords-for-site-N3N5CFEZ.js.map +1 -0
- package/dist/landing-N6BDDESI.js +28 -0
- package/dist/landings-SQJWZOJR.js +151 -0
- package/dist/languages-DBKCNBZT.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-AXO6QBIE.js +90 -0
- package/dist/leads-AXO6QBIE.js.map +1 -0
- package/dist/leads-PPMOBH7U.js +293 -0
- package/dist/learn-VVDSZAJD.js +203 -0
- package/dist/learn-VVDSZAJD.js.map +1 -0
- package/dist/library-4QQAVB6X.js +109 -0
- package/dist/lighthouse-CD47CPJM.js +75 -0
- package/dist/line-item-writes-2WQCTHTA.js +208 -0
- package/dist/line-item-writes-2WQCTHTA.js.map +1 -0
- package/dist/line-items-NEC5HVEY.js +103 -0
- package/dist/link-M5G7RLWE.js +64 -0
- package/dist/link-M5G7RLWE.js.map +1 -0
- package/dist/linkedin-TVJQCHWP.js +1008 -0
- package/dist/linkedin-TVJQCHWP.js.map +1 -0
- package/dist/list-2HX4PYK5.js +151 -0
- package/dist/list-2HX4PYK5.js.map +1 -0
- package/dist/list-A45NTPSJ.js +76 -0
- package/dist/list-GNP4GIV2.js +51 -0
- package/dist/list-I2DPXIYC.js +63 -0
- package/dist/list-I2DPXIYC.js.map +1 -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-XL56MBZS.js +303 -0
- package/dist/list-XL56MBZS.js.map +1 -0
- package/dist/locations-QXOCXGVY.js +67 -0
- package/dist/locations-VG5LS6T2.js +40 -0
- package/dist/log-6LGYOBKV.js +92 -0
- package/dist/log-6LGYOBKV.js.map +1 -0
- package/dist/logo-KQD5KUAH.js +18 -0
- package/dist/lookup-SOF2XDHL.js +22 -0
- package/dist/make-7W7PVU3J.js +633 -0
- package/dist/map-RF4JIAKW.js +404 -0
- package/dist/map-RF4JIAKW.js.map +1 -0
- package/dist/mcp-KSJP5AKJ.js +463 -0
- package/dist/mcp-KSJP5AKJ.js.map +1 -0
- package/dist/media-2WENMOAA.js +15 -0
- package/dist/media-N4C6Q4IV.js +89 -0
- package/dist/media-sources-SAVOO4OL.js +32 -0
- package/dist/members-MRWFQN3N.js +44 -0
- package/dist/members-MRWFQN3N.js.map +1 -0
- package/dist/meta-PXYHWOOG.js +69 -0
- package/dist/metrics-AK5YDD62.js +152 -0
- package/dist/models-57V6ZQ5Y.js +155 -0
- package/dist/normalize-5XJSPUAU.js +141 -0
- package/dist/normalize-5XJSPUAU.js.map +1 -0
- package/dist/normalize-LOMDPNFJ.js +806 -0
- package/dist/options-4BCMTOJV.js +121 -0
- package/dist/options-4BCMTOJV.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-LXLZUDWG.js +24 -0
- package/dist/pinterest-JMHFPNVW.js +96 -0
- package/dist/pixels-FLFEIAJV.js +60 -0
- package/dist/pixels-XPBBJYE3.js +108 -0
- package/dist/plan-OP3AM7GL.js +207 -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-HY7QGSQZ.js +180 -0
- package/dist/promoted-tweet-writes-HY7QGSQZ.js.map +1 -0
- package/dist/promoted-tweets-NAPQQO6O.js +119 -0
- package/dist/properties-NYNEONHI.js +101 -0
- package/dist/publish-YWTFFCDB.js +322 -0
- package/dist/publish-YWTFFCDB.js.map +1 -0
- package/dist/query-H54SCQ6D.js +61 -0
- package/dist/query-RK2TFMBI.js +236 -0
- package/dist/query-TWNH6GV7.js +247 -0
- package/dist/questionnaire-A5CAIIQW.js +93 -0
- package/dist/read-2AGRYWXU.js +141 -0
- package/dist/reddit-5RDOPHJQ.js +26 -0
- package/dist/refresh-TPOFMA45.js +94 -0
- package/dist/refresh-TPOFMA45.js.map +1 -0
- package/dist/release-VMPOB45V.js +60 -0
- package/dist/release-VMPOB45V.js.map +1 -0
- package/dist/relevant-pages-R3OMO3F2.js +99 -0
- package/dist/remove-ETLMMDEA.js +48 -0
- package/dist/remove-II5A3MLM.js +50 -0
- package/dist/remove-II5A3MLM.js.map +1 -0
- package/dist/reopen-I5HHXARI.js +63 -0
- package/dist/reopen-I5HHXARI.js.map +1 -0
- package/dist/rerun-SKFVKX4R.js +84 -0
- package/dist/research-373335UK.js +262 -0
- package/dist/research-373335UK.js.map +1 -0
- package/dist/research-X75XFYCN.js +62 -0
- package/dist/reset-3DBSNNJV.js +54 -0
- package/dist/reset-3DBSNNJV.js.map +1 -0
- package/dist/reset-O4UQA52Z.js +54 -0
- package/dist/reset-O4UQA52Z.js.map +1 -0
- package/dist/resolve-PKBSGYGV.js +121 -0
- package/dist/resolve-PKBSGYGV.js.map +1 -0
- package/dist/retry-JXP5QFLV.js +62 -0
- package/dist/retry-JXP5QFLV.js.map +1 -0
- package/dist/retry-U4CS2BE2.js +60 -0
- package/dist/retry-U4CS2BE2.js.map +1 -0
- package/dist/retry-failed-QMWQ6TRL.js +45 -0
- package/dist/run-7J55G6YM.js +59 -0
- package/dist/run-WSEQ3HKK.js +65 -0
- package/dist/run-WSEQ3HKK.js.map +1 -0
- package/dist/scaffold-ad-X6FF4NHI.js +1548 -0
- package/dist/scaffold-static-ad-DGQ4NVLD.js +971 -0
- package/dist/scaffold-video-VEGT4LER.js +872 -0
- package/dist/schedule-7FSYOV6F.js +61 -0
- package/dist/schedule-7FSYOV6F.js.map +1 -0
- package/dist/schedule-KXLQVCZW.js +66 -0
- package/dist/scheduled-agents-TBDINGO5.js +49 -0
- package/dist/schema-CCFLFAOY.js +63 -0
- package/dist/schema-DDUKWGAU.js +132 -0
- package/dist/schema-DDUKWGAU.js.map +1 -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-OVHC4CRQ.js +26 -0
- package/dist/search-S5NQW3FP.js +174 -0
- package/dist/search-S5NQW3FP.js.map +1 -0
- package/dist/search-YSGZRANA.js +92 -0
- package/dist/search-copy-E3EVO7YT.js +168 -0
- package/dist/seeds-XTBVEHSF.js +101 -0
- package/dist/select-ZE5NKC7E.js +94 -0
- package/dist/select-ZE5NKC7E.js.map +1 -0
- package/dist/sends-4OCEYQE6.js +309 -0
- package/dist/sequences-FRK76ZQV.js +146 -0
- package/dist/set-prompt-QY76NJ7B.js +185 -0
- package/dist/setup-links-YZVEZMML.js +141 -0
- package/dist/setup-links-YZVEZMML.js.map +1 -0
- package/dist/shared-EH5ZTQXC.js +31 -0
- package/dist/site-NVUZYLWX.js +177 -0
- package/dist/site-NVUZYLWX.js.map +1 -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-E44QB2KY.js +421 -0
- package/dist/sources-E44QB2KY.js.map +1 -0
- package/dist/sources-GFK4Z3EI.js +30 -0
- package/dist/stale-M722WW2I.js +63 -0
- package/dist/stale-M722WW2I.js.map +1 -0
- package/dist/stats-4NBOAOR2.js +34 -0
- package/dist/status-GTNMOWDF.js +62 -0
- package/dist/status-GTNMOWDF.js.map +1 -0
- package/dist/sticker-NLXBIOBO.js +94 -0
- package/dist/stock-F3SA4VHV.js +179 -0
- package/dist/studio-HD6KEZAS.js +49 -0
- package/dist/sync-4H36WAG7.js +54 -0
- package/dist/sync-4H36WAG7.js.map +1 -0
- package/dist/sync-FCNFXTFD.js +265 -0
- package/dist/sync-YXCZ3DHY.js +54 -0
- package/dist/sync-definition-ZJZLUPPH.js +52 -0
- package/dist/tag-manager-YM4Q3CZT.js +43 -0
- package/dist/tags-3C74ETW7.js +20 -0
- package/dist/tags-3C74ETW7.js.map +1 -0
- package/dist/tags-AZ5VNLKA.js +26 -0
- package/dist/tags-B6F2HOBK.js +20 -0
- package/dist/tags-B6F2HOBK.js.map +1 -0
- package/dist/tags-NFCQF7X6.js +224 -0
- package/dist/tags-NFCQF7X6.js.map +1 -0
- package/dist/tags-UB5UJYOT.js +20 -0
- package/dist/tags-UB5UJYOT.js.map +1 -0
- package/dist/targeting-constants-3CMGPWRI.js +118 -0
- package/dist/targeting-criteria-5GH2V2TP.js +113 -0
- package/dist/targets-2Z6DB7BS.js +102 -0
- package/dist/targets-2Z6DB7BS.js.map +1 -0
- package/dist/templates-QVY74RSN.js +178 -0
- package/dist/templates-QVY74RSN.js.map +1 -0
- package/dist/testimonials-VHOE6QD3.js +32 -0
- package/dist/themes-QN4HSAEY.js +94 -0
- package/dist/top-companies-BGH3MNWQ.js +108 -0
- package/dist/top-companies-BGH3MNWQ.js.map +1 -0
- package/dist/translate-SYT4YQYV.js +598 -0
- package/dist/translate-SYT4YQYV.js.map +1 -0
- package/dist/triggers-SRQ3VFPQ.js +141 -0
- package/dist/triggers-SRQ3VFPQ.js.map +1 -0
- package/dist/tweets-XWE3VYQ4.js +123 -0
- package/dist/unfollow-7U4UBAJX.js +46 -0
- package/dist/unlink-N2ZZV6QD.js +67 -0
- package/dist/unlink-N2ZZV6QD.js.map +1 -0
- package/dist/unstage-B6K36IB4.js +84 -0
- package/dist/unstage-B6K36IB4.js.map +1 -0
- package/dist/unstage-RHIXLXOU.js +95 -0
- package/dist/update-AMKX7SWH.js +63 -0
- package/dist/update-AMKX7SWH.js.map +1 -0
- package/dist/update-NDP2KG6L.js +98 -0
- package/dist/update-NDP2KG6L.js.map +1 -0
- package/dist/update-P5G6J3H4.js +155 -0
- package/dist/update-P5G6J3H4.js.map +1 -0
- package/dist/update-WJADDXFV.js +142 -0
- package/dist/update-WJADDXFV.js.map +1 -0
- package/dist/upload-GARWZSAT.js +126 -0
- package/dist/upload-GARWZSAT.js.map +1 -0
- package/dist/upload-GUKMQ5MT.js +150 -0
- package/dist/upscale-A456MESF.js +109 -0
- package/dist/url-options-BLOD2Z3L.js +130 -0
- package/dist/url-params-KZW5RVJG.js +98 -0
- package/dist/url-params-KZW5RVJG.js.map +1 -0
- package/dist/use-HBVKVT5S.js +95 -0
- package/dist/validate-NTBQPVGI.js +88 -0
- package/dist/variant-HULP57YI.js +338 -0
- package/dist/videos-TON72X4Y.js +39 -0
- package/dist/view-GCDEJZII.js +121 -0
- package/dist/viewer-check-FJFUDKG3.js +68 -0
- package/dist/viewer-check-FJFUDKG3.js.map +1 -0
- package/dist/web-WELCNP2R.js +140 -0
- package/dist/web-WELCNP2R.js.map +1 -0
- package/dist/winners-WSMWC4M5.js +113 -0
- package/dist/winning-ads-RGWYBEEV.js +84 -0
- package/dist/winning-ads-RGWYBEEV.js.map +1 -0
- package/dist/write-commands-47OP673X.js +713 -0
- package/dist/write-commands-IJ5IFHS6.js +737 -0
- package/dist/write-commands-O5FUZLKA.js +1015 -0
- package/dist/write-commands-O5FUZLKA.js.map +1 -0
- package/dist/write-commands-OBMIVFZJ.js +206 -0
- package/dist/x-3RMWXYCC.js +47 -0
- package/package.json +1 -1
- package/dist/account-7IPMMAWC.js +0 -49
- package/dist/account-OG2O3MUX.js +0 -80
- package/dist/account-YDCLWYJP.js +0 -78
- package/dist/account-YDCLWYJP.js.map +0 -1
- package/dist/account-reads-32G6NU63.js +0 -218
- package/dist/account-writes-UHUNPVS6.js +0 -66
- package/dist/accounts-56PIQMBS.js +0 -610
- package/dist/accounts-56PIQMBS.js.map +0 -1
- package/dist/accounts-7RXXXS2Y.js +0 -76
- package/dist/accounts-7RXXXS2Y.js.map +0 -1
- package/dist/accounts-CX46D2TB.js +0 -115
- package/dist/accounts-L2EPDW2W.js +0 -114
- package/dist/accounts-NS7L5EZX.js +0 -75
- package/dist/actions-JM4A4NEL.js +0 -55
- package/dist/active-entities-6W5YOGNN.js +0 -103
- package/dist/activities-52LTJRU4.js +0 -74
- package/dist/ad-group-writes-MABCQHMC.js +0 -170
- package/dist/ad-groups-I3DBQZTM.js +0 -68
- package/dist/ad-writes-E4R3IK4N.js +0 -174
- package/dist/add-3D7VASJ2.js +0 -105
- package/dist/add-DFIEIEQ6.js +0 -103
- package/dist/add-DFIEIEQ6.js.map +0 -1
- package/dist/add-I7KEQNHQ.js +0 -301
- package/dist/add-I7KEQNHQ.js.map +0 -1
- package/dist/add-OLDNWEK7.js +0 -97
- package/dist/add-accounts-EVOMXIHE.js +0 -91
- package/dist/ads-DKQGSCGF.js +0 -77
- package/dist/ads-FBOR4DMY.js +0 -113
- package/dist/ads-N2AHRG74.js +0 -128
- package/dist/ads-XT454DCT.js +0 -40
- package/dist/adsets-7F5VJB7A.js +0 -176
- package/dist/advertisers-E6MP4MEZ.js +0 -119
- package/dist/advertisers-E6MP4MEZ.js.map +0 -1
- package/dist/advertisers-ZTK74NII.js +0 -125
- package/dist/analytics-AOZI432K.js +0 -432
- package/dist/analytics-AOZI432K.js.map +0 -1
- package/dist/analytics-UOEIZKGO.js +0 -1975
- package/dist/analytics-UOEIZKGO.js.map +0 -1
- package/dist/animate-32L3BPTL.js +0 -480
- package/dist/assign-CTFY7SLH.js +0 -76
- package/dist/assign-CTFY7SLH.js.map +0 -1
- package/dist/audience-size-JKKG6NII.js +0 -93
- package/dist/audience-size-JKKG6NII.js.map +0 -1
- package/dist/audiences-5KVPPV5T.js +0 -268
- package/dist/audiences-M2O5NS4O.js +0 -78
- package/dist/audiences-YQZHWY2K.js +0 -85
- package/dist/audit-JTISKWXM.js +0 -88
- package/dist/audit-WXPT7Z7X.js +0 -150
- package/dist/audit-WXPT7Z7X.js.map +0 -1
- package/dist/autocomplete-6JHOENES.js +0 -110
- package/dist/autocomplete-6JHOENES.js.map +0 -1
- package/dist/avatars-GU3Y4XOC.js +0 -38
- package/dist/bid-pricing-YX7KBO4X.js +0 -98
- package/dist/bid-pricing-YX7KBO4X.js.map +0 -1
- package/dist/brand-BSHSRHJQ.js +0 -22
- package/dist/brief-FLTD3CLU.js +0 -490
- package/dist/businesses-FBQ6IUKN.js +0 -53
- package/dist/campaign-groups-RJGITKJK.js +0 -94
- package/dist/campaign-groups-RJGITKJK.js.map +0 -1
- package/dist/campaign-writes-I5RHB3RP.js +0 -164
- package/dist/campaign-writes-I5RHB3RP.js.map +0 -1
- package/dist/campaign-writes-QK7MURJO.js +0 -170
- package/dist/campaigns-45E622KG.js +0 -108
- package/dist/campaigns-45E622KG.js.map +0 -1
- package/dist/campaigns-BXUZBNMA.js +0 -107
- package/dist/campaigns-DPM2OYUO.js +0 -76
- package/dist/campaigns-U7PKWQ4D.js +0 -110
- package/dist/canvas-DYPGE54A.js +0 -46
- package/dist/canvas-DYPGE54A.js.map +0 -1
- package/dist/capabilities-636HORHD.js +0 -143
- package/dist/capabilities-636HORHD.js.map +0 -1
- package/dist/cards-7Z2DWU5I.js +0 -85
- package/dist/catalog-CHJ2Q2PJ.js +0 -65
- package/dist/catalog-CHJ2Q2PJ.js.map +0 -1
- package/dist/catalogs-3BOYSNNA.js +0 -128
- package/dist/changes-IZQBOFYT.js +0 -135
- package/dist/chatgpt-FEWVJAX7.js +0 -47
- package/dist/chats-7DB3YXZI.js +0 -261
- package/dist/chats-7DB3YXZI.js.map +0 -1
- package/dist/chunk-2ALS4WHZ.js +0 -19
- package/dist/chunk-2EXHUVZR.js +0 -75
- package/dist/chunk-2FPJPDMF.js +0 -133
- package/dist/chunk-2JWNUPSQ.js +0 -74
- package/dist/chunk-2PADYR7B.js +0 -25
- package/dist/chunk-2QITB55L.js +0 -382
- package/dist/chunk-2UKGYHQ7.js +0 -592
- package/dist/chunk-2V3ITJHT.js +0 -337
- package/dist/chunk-3QLACKNX.js +0 -310
- package/dist/chunk-3V6GGH2A.js +0 -23
- package/dist/chunk-42NVYJLD.js +0 -1711
- package/dist/chunk-42NVYJLD.js.map +0 -1
- package/dist/chunk-4LIZR7ZU.js +0 -103
- package/dist/chunk-57AIBUS5.js +0 -541
- package/dist/chunk-63LJAQ4E.js +0 -197
- package/dist/chunk-6B7YNXNH.js +0 -106
- package/dist/chunk-7H6TNG52.js +0 -74
- package/dist/chunk-7JB56IVP.js +0 -215
- package/dist/chunk-7JB56IVP.js.map +0 -1
- package/dist/chunk-7MF7QI7M.js +0 -1830
- package/dist/chunk-A3DD32YL.js +0 -166
- package/dist/chunk-AA5SMYM5.js +0 -66
- package/dist/chunk-ADUQKLUO.js +0 -622
- package/dist/chunk-AGPC6VQW.js +0 -486
- package/dist/chunk-AHZTZWGL.js +0 -42
- package/dist/chunk-APWZR7EN.js +0 -4410
- package/dist/chunk-BH3B2E7H.js +0 -296
- package/dist/chunk-BOCJWQAZ.js +0 -23992
- package/dist/chunk-BQHFH3SY.js +0 -76
- package/dist/chunk-BTXO66MR.js +0 -172
- package/dist/chunk-C26QSQXP.js +0 -57
- package/dist/chunk-C5USYCM2.js +0 -97
- package/dist/chunk-CBSPF5D5.js +0 -96
- package/dist/chunk-CKAW37VB.js +0 -188
- package/dist/chunk-CKI377AO.js +0 -1442
- package/dist/chunk-CT4JJID6.js +0 -275
- package/dist/chunk-DFWBCUKH.js +0 -136
- package/dist/chunk-DLHGITJE.js +0 -56
- package/dist/chunk-DS4RB7DZ.js +0 -274
- package/dist/chunk-E2LFVEXF.js +0 -6667
- package/dist/chunk-EGOVBOSI.js +0 -172
- package/dist/chunk-F3L7HWPC.js +0 -474
- package/dist/chunk-FHZ3NNIF.js +0 -1599
- package/dist/chunk-FSLHYTEK.js +0 -225
- package/dist/chunk-GBEKM22P.js +0 -98
- package/dist/chunk-GKKZOYMM.js +0 -51
- package/dist/chunk-GQBXGF5Y.js +0 -26
- package/dist/chunk-GRUGYDLA.js +0 -106
- package/dist/chunk-HHLEPWHB.js +0 -433
- package/dist/chunk-HPRAIQC4.js +0 -363
- package/dist/chunk-IEFMPAUE.js +0 -533
- package/dist/chunk-IHKFFI5N.js +0 -67
- package/dist/chunk-ILOSW2RZ.js +0 -96
- package/dist/chunk-ISHQJJME.js +0 -160
- package/dist/chunk-IUIL2GS5.js +0 -191
- package/dist/chunk-JA7HGQEZ.js +0 -304
- package/dist/chunk-JM6XT33N.js +0 -1079
- package/dist/chunk-JM6XT33N.js.map +0 -1
- package/dist/chunk-JPHEN5YK.js +0 -5189
- package/dist/chunk-JPHEN5YK.js.map +0 -1
- package/dist/chunk-KUVDKRO5.js +0 -45
- package/dist/chunk-L4BUFJJ2.js +0 -149
- package/dist/chunk-L5EUPFB2.js +0 -819
- package/dist/chunk-L5EUPFB2.js.map +0 -1
- package/dist/chunk-LVWAXZT7.js +0 -494
- package/dist/chunk-M6IGLMHM.js +0 -125
- package/dist/chunk-MEBOQXW3.js +0 -2063
- package/dist/chunk-MEBOQXW3.js.map +0 -1
- package/dist/chunk-NGQ42WMB.js +0 -207
- package/dist/chunk-NHIZMRX6.js +0 -346
- package/dist/chunk-NUEKCA56.js +0 -92
- package/dist/chunk-OG36TTW5.js +0 -31
- package/dist/chunk-OG36TTW5.js.map +0 -1
- package/dist/chunk-OON5SC7P.js +0 -94
- package/dist/chunk-OQCDLFGJ.js +0 -84
- package/dist/chunk-OXXAZEQI.js +0 -84
- package/dist/chunk-P5NYZ236.js +0 -214
- package/dist/chunk-P5NYZ236.js.map +0 -1
- package/dist/chunk-PFYZBCA4.js +0 -55
- package/dist/chunk-PL5MOERB.js +0 -58
- package/dist/chunk-PM7ZSDKG.js +0 -98
- package/dist/chunk-PUG75EC5.js +0 -35
- package/dist/chunk-QFDHEXRF.js +0 -455
- package/dist/chunk-R7DHZDYT.js +0 -333
- package/dist/chunk-RADMQU7S.js +0 -74
- package/dist/chunk-SD5GDVDI.js +0 -309
- package/dist/chunk-TFWB4PS5.js +0 -175
- package/dist/chunk-UBNR5S46.js +0 -665
- package/dist/chunk-UFHU3TFN.js +0 -46
- package/dist/chunk-UYMOAPIT.js +0 -297
- package/dist/chunk-VU2WGGWL.js +0 -509
- package/dist/chunk-WDXL7PXC.js +0 -610
- package/dist/chunk-WIKXOHJD.js +0 -174
- package/dist/chunk-WJZSPX6Z.js +0 -60
- package/dist/chunk-WRJZTAKV.js +0 -65
- package/dist/chunk-X3L462AI.js +0 -111
- package/dist/chunk-X5WZXHYF.js +0 -139
- package/dist/chunk-X7ZODEXJ.js +0 -36
- package/dist/chunk-X7ZODEXJ.js.map +0 -1
- package/dist/chunk-XGTOFEH6.js +0 -76
- package/dist/chunk-XMS5K54U.js +0 -454
- package/dist/chunk-XMS5K54U.js.map +0 -1
- package/dist/chunk-XX5DXKEI.js +0 -206
- package/dist/chunk-YY42OVVE.js +0 -846
- package/dist/chunk-YYFPOCNK.js +0 -3153
- package/dist/chunk-YYFPOCNK.js.map +0 -1
- package/dist/chunk-ZEJ6UCGE.js +0 -169
- package/dist/chunk-ZJVHZHYP.js +0 -6188
- package/dist/chunk-ZOC5FS5U.js +0 -159
- package/dist/chunk-ZVWLMEJQ.js +0 -136
- package/dist/claim-YCD6YDF7.js +0 -196
- package/dist/claim-YCD6YDF7.js.map +0 -1
- package/dist/client-BXYW3T2E.js +0 -19
- package/dist/code-YKSM3KES.js +0 -76
- package/dist/companies-KSO3LCFR.js +0 -194
- package/dist/companies-KSO3LCFR.js.map +0 -1
- package/dist/complete-CZZYXJP6.js +0 -80
- package/dist/complete-CZZYXJP6.js.map +0 -1
- package/dist/config-A2TUVNCZ.js +0 -88
- package/dist/connect-X3KSG72E.js +0 -41
- package/dist/content-LYWIFOUV.js +0 -85
- package/dist/conversation-VLP6APUN.js +0 -92
- package/dist/conversation-VLP6APUN.js.map +0 -1
- package/dist/conversion-report-QV4BSEIK.js +0 -125
- package/dist/conversion-upload-command-QZWA525U.js +0 -438
- package/dist/conversion-writes-EPEKU44W.js +0 -120
- package/dist/conversions-A473X2GF.js +0 -76
- package/dist/conversions-DAEDLIAC.js +0 -134
- package/dist/conversions-DAEDLIAC.js.map +0 -1
- package/dist/countries-AVHXOUE3.js +0 -82
- package/dist/create-FLULHZK6.js +0 -234
- package/dist/create-FLULHZK6.js.map +0 -1
- package/dist/create-HNNKT3MX.js +0 -129
- package/dist/create-HNNKT3MX.js.map +0 -1
- package/dist/create-PIFBLBNC.js +0 -58
- package/dist/create-PIFBLBNC.js.map +0 -1
- package/dist/create-ZN5VDZ2B.js +0 -206
- package/dist/create-ZN5VDZ2B.js.map +0 -1
- package/dist/creatives-7HNRUPTV.js +0 -87
- package/dist/creatives-KAOWBTJL.js +0 -51
- package/dist/creatives-Y44TWEDT.js +0 -181
- package/dist/creatives-Y44TWEDT.js.map +0 -1
- package/dist/credentials-3ASHHQ2Y.js +0 -286
- package/dist/credentials-3ASHHQ2Y.js.map +0 -1
- package/dist/critique-Q2UC7WJR.js +0 -1448
- package/dist/critique-Q2UC7WJR.js.map +0 -1
- package/dist/critique-XKJ3EH2Z.js +0 -212
- package/dist/critique-XKJ3EH2Z.js.map +0 -1
- package/dist/crm-HEMYBFZJ.js +0 -317
- package/dist/crm-HEMYBFZJ.js.map +0 -1
- package/dist/crm-NPA3DAE5.js +0 -223
- package/dist/crm-NPA3DAE5.js.map +0 -1
- package/dist/crop-KEEGCMCE.js +0 -113
- package/dist/currency-XUW72I27.js +0 -88
- package/dist/custom-conversions-VN7Q5YUE.js +0 -125
- package/dist/customers-3GJY3SIW.js +0 -55
- package/dist/delete-2DBJID6M.js +0 -62
- package/dist/delete-2DBJID6M.js.map +0 -1
- package/dist/delete-7DVBDHCH.js +0 -53
- package/dist/delete-7DVBDHCH.js.map +0 -1
- package/dist/delete-BHQPYWZW.js +0 -71
- package/dist/delete-DNYYWG7S.js +0 -71
- package/dist/delete-IE2DCBO5.js +0 -69
- package/dist/delete-L572W4QM.js +0 -65
- package/dist/delete-L572W4QM.js.map +0 -1
- package/dist/demographics-O4CAQOI7.js +0 -137
- package/dist/demographics-O4CAQOI7.js.map +0 -1
- package/dist/describe-H3IQIO4V.js +0 -97
- package/dist/describe-ODA4NHF4.js +0 -97
- package/dist/dimensions-N43FKZX5.js +0 -101
- package/dist/discard-UX3IUCMG.js +0 -65
- package/dist/discard-UX3IUCMG.js.map +0 -1
- package/dist/discover-2AT6L4NZ.js +0 -93
- package/dist/discover-O5UOLCAD.js +0 -172
- package/dist/domain-5S5FGZJQ.js +0 -97
- package/dist/domain-5S5FGZJQ.js.map +0 -1
- package/dist/download-CUZEM54U.js +0 -299
- package/dist/draft-7LJJT4AU.js +0 -307
- package/dist/draft-HKCTL5LG.js +0 -216
- package/dist/draft-HKCTL5LG.js.map +0 -1
- package/dist/draft-JFZUQDZB.js +0 -305
- package/dist/draft-JFZUQDZB.js.map +0 -1
- package/dist/draft-L5W4U4G3.js +0 -281
- package/dist/draft-QVCJ6HEN.js +0 -103
- package/dist/draft-SM2UDAQP.js +0 -100
- package/dist/draft-YIFSGRVM.js +0 -233
- package/dist/draft-YIJSDK6G.js +0 -327
- package/dist/draft-YIJSDK6G.js.map +0 -1
- package/dist/env-KSXDUMV4.js +0 -43
- package/dist/experiment-I7PFP6NQ.js +0 -1397
- package/dist/export-VDG47LTK.js +0 -168
- package/dist/extract-CHQICMI3.js +0 -113
- package/dist/facets-JUN7Y6CV.js +0 -113
- package/dist/facets-JUN7Y6CV.js.map +0 -1
- package/dist/favorites-UC7TPXXK.js +0 -178
- package/dist/feed-HDP37IX5.js +0 -177
- package/dist/feedback-V4GWOQ4N.js +0 -66
- package/dist/feedback-record-DEFSVMB4.js +0 -174
- package/dist/feedback-record-DEFSVMB4.js.map +0 -1
- package/dist/fetch-6ZSWMQVO.js +0 -139
- package/dist/fetch-PA2CB4CF.js +0 -175
- package/dist/fetch-PA2CB4CF.js.map +0 -1
- package/dist/find-WZNJQH6H.js +0 -134
- package/dist/fit-57N46PVZ.js +0 -45
- package/dist/flows-W5FFVCQH.js +0 -246
- package/dist/flows-W5FFVCQH.js.map +0 -1
- package/dist/follow-VHC5W6JQ.js +0 -94
- package/dist/follow-competitors-4BB4SYX6.js +0 -112
- package/dist/following-4OW7BFMR.js +0 -113
- package/dist/fonts-DBSTYF25.js +0 -33
- package/dist/forecast-HB45NEE6.js +0 -168
- package/dist/forecast-THYRAGYA.js +0 -103
- package/dist/forecast-THYRAGYA.js.map +0 -1
- package/dist/funding-O7EO6BXX.js +0 -85
- package/dist/funnel-HUXMDVGQ.js +0 -393
- package/dist/funnel-HUXMDVGQ.js.map +0 -1
- package/dist/ga4-QSZJBPYT.js +0 -55
- package/dist/generate-MW3LCEZA.js +0 -262
- package/dist/get-2TFUDEXB.js +0 -61
- package/dist/get-3WRPM3ZH.js +0 -92
- package/dist/get-FEJ4JSTW.js +0 -55
- package/dist/get-FEJ4JSTW.js.map +0 -1
- package/dist/get-GYV6VBQ4.js +0 -77
- package/dist/get-GYV6VBQ4.js.map +0 -1
- package/dist/get-RA46XQ4O.js +0 -59
- package/dist/get-RPPCUPLR.js +0 -63
- package/dist/get-RXC5LHHX.js +0 -63
- package/dist/gif-UTHNVWGB.js +0 -94
- package/dist/google-7M6QFGYK.js +0 -3190
- package/dist/google-A4PE52FJ.js +0 -136
- package/dist/google-ads-WWIZU2YR.js +0 -194
- package/dist/google-ads-WWIZU2YR.js.map +0 -1
- package/dist/group-ENDPRS2F.js +0 -43
- package/dist/group-QTPCHG4J.js +0 -43
- package/dist/gsc-4256M4IF.js +0 -30
- package/dist/history-BET6WSKX.js +0 -67
- package/dist/history-RBND7B7U.js +0 -132
- package/dist/history-RBND7B7U.js.map +0 -1
- package/dist/hubspot-62XB7FRY.js +0 -778
- package/dist/hubspot-62XB7FRY.js.map +0 -1
- package/dist/icon-6A6LUSTL.js +0 -137
- package/dist/ideas-FDZWVTRA.js +0 -31
- package/dist/images-OG37OSCH.js +0 -90
- package/dist/improve-2GF6J5PW.js +0 -86
- package/dist/ingest-FU5MWL4F.js +0 -106
- package/dist/ingest-FU5MWL4F.js.map +0 -1
- package/dist/ingest-MMKVJOJC.js +0 -22
- package/dist/insights-DL5WUM75.js +0 -423
- package/dist/insights-MXMJVTHU.js +0 -122
- package/dist/inspect-XTQIQYKU.js +0 -188
- package/dist/inspect-XTQIQYKU.js.map +0 -1
- package/dist/inspiration-JEVOJQ3L.js +0 -53
- package/dist/intent-Z4DGVPFT.js +0 -95
- package/dist/job-IM47QNLP.js +0 -202
- package/dist/job-create-A3ZCZHTF.js +0 -109
- package/dist/job-status-TE7AVTFZ.js +0 -74
- package/dist/keep-GJW7UPZG.js +0 -78
- package/dist/keyword-gap-6VUCYWBG.js +0 -130
- package/dist/keyword-metrics-GZYE6KU6.js +0 -196
- package/dist/keyword-metrics-GZYE6KU6.js.map +0 -1
- package/dist/keywords-for-site-Z3LDMGDW.js +0 -127
- package/dist/keywords-for-site-Z3LDMGDW.js.map +0 -1
- package/dist/landing-FNE5I73U.js +0 -28
- package/dist/landings-U3DAXGGO.js +0 -151
- package/dist/languages-KEB6NUWX.js +0 -55
- package/dist/languages-R2GM7DRZ.js +0 -40
- package/dist/launches-DWNIU67A.js +0 -108
- package/dist/launches-DWNIU67A.js.map +0 -1
- package/dist/layerize-4BG3ROAK.js +0 -190
- package/dist/leads-NC6XYOVL.js +0 -89
- package/dist/leads-NC6XYOVL.js.map +0 -1
- package/dist/leads-NR4B5TWO.js +0 -293
- package/dist/learn-K7RCNMUR.js +0 -202
- package/dist/learn-K7RCNMUR.js.map +0 -1
- package/dist/library-CZQAZMTR.js +0 -109
- package/dist/lighthouse-TKIDZ6FU.js +0 -75
- package/dist/line-item-writes-J4DHCNFB.js +0 -207
- package/dist/line-item-writes-J4DHCNFB.js.map +0 -1
- package/dist/line-items-JLVCJNNN.js +0 -103
- package/dist/link-MAQIE3NL.js +0 -63
- package/dist/link-MAQIE3NL.js.map +0 -1
- package/dist/linkedin-A5H5FYH5.js +0 -1007
- package/dist/linkedin-A5H5FYH5.js.map +0 -1
- package/dist/list-5MOWKPJL.js +0 -62
- package/dist/list-5MOWKPJL.js.map +0 -1
- package/dist/list-5WOBVJI5.js +0 -50
- package/dist/list-HZVLV22J.js +0 -76
- package/dist/list-MKU4LM6C.js +0 -65
- package/dist/list-NGYIN633.js +0 -57
- package/dist/list-PMZEGLOB.js +0 -302
- package/dist/list-PMZEGLOB.js.map +0 -1
- package/dist/list-PO6WU7IE.js +0 -150
- package/dist/list-PO6WU7IE.js.map +0 -1
- package/dist/list-Q6X5QJGP.js +0 -51
- package/dist/locations-GOBN3Z6I.js +0 -67
- package/dist/locations-V5XI33WW.js +0 -40
- package/dist/log-OTN4AQVV.js +0 -91
- package/dist/log-OTN4AQVV.js.map +0 -1
- package/dist/logo-B3BROQTR.js +0 -18
- package/dist/lookup-ELKCXYYH.js +0 -22
- package/dist/make-7PBN4XH5.js +0 -633
- package/dist/map-4OMNZZCB.js +0 -403
- package/dist/map-4OMNZZCB.js.map +0 -1
- package/dist/mcp-2APSGDW2.js +0 -462
- package/dist/mcp-2APSGDW2.js.map +0 -1
- package/dist/media-HQQAIZ7Z.js +0 -89
- package/dist/media-MQEFN2X4.js +0 -15
- package/dist/media-sources-RC3M2GXS.js +0 -32
- package/dist/members-QFSX6C7J.js +0 -43
- package/dist/members-QFSX6C7J.js.map +0 -1
- package/dist/meta-VNSOJT2K.js +0 -69
- package/dist/metrics-I7DWALMY.js +0 -152
- package/dist/models-RA2AG5BF.js +0 -155
- package/dist/normalize-2NVCXQ37.js +0 -140
- package/dist/normalize-2NVCXQ37.js.map +0 -1
- package/dist/normalize-A4QEXI4A.js +0 -806
- package/dist/options-HWSPFDQS.js +0 -120
- package/dist/options-HWSPFDQS.js.map +0 -1
- package/dist/output-K3YC2VGS.js +0 -24
- package/dist/page-XIJYCQK7.js +0 -105
- package/dist/pages-TNSVU5UF.js +0 -66
- package/dist/performance-6UNRPB4I.js +0 -23
- package/dist/pinterest-TLIBSYI5.js +0 -96
- package/dist/pixels-5B54NNYI.js +0 -108
- package/dist/pixels-D6RDUTYK.js +0 -60
- package/dist/plan-D5TFL44K.js +0 -207
- package/dist/preview-26CQNU3Z.js +0 -169
- package/dist/profile-RMQLPWMA.js +0 -150
- package/dist/profile-RMQLPWMA.js.map +0 -1
- package/dist/promoted-tweet-writes-VROU5LWA.js +0 -179
- package/dist/promoted-tweet-writes-VROU5LWA.js.map +0 -1
- package/dist/promoted-tweets-S5JU3YEQ.js +0 -119
- package/dist/properties-F4NOIWYV.js +0 -101
- package/dist/publish-VA7XYF53.js +0 -321
- package/dist/publish-VA7XYF53.js.map +0 -1
- package/dist/query-3OPJCQFR.js +0 -61
- package/dist/query-LGNJDNPQ.js +0 -236
- package/dist/query-P4NMXUCE.js +0 -247
- package/dist/questionnaire-VXOGMJPP.js +0 -93
- package/dist/read-S3IS5ELE.js +0 -141
- package/dist/reddit-UTK4I4ZR.js +0 -25
- package/dist/refresh-NHFO5K3S.js +0 -93
- package/dist/refresh-NHFO5K3S.js.map +0 -1
- package/dist/release-EDEXWTQW.js +0 -59
- package/dist/release-EDEXWTQW.js.map +0 -1
- package/dist/relevant-pages-U5TXNLRY.js +0 -99
- package/dist/remove-QKOA7OVP.js +0 -49
- package/dist/remove-QKOA7OVP.js.map +0 -1
- package/dist/remove-WLRCQ74R.js +0 -48
- package/dist/reopen-54LSJFEI.js +0 -62
- package/dist/reopen-54LSJFEI.js.map +0 -1
- package/dist/rerun-ERLTGGT7.js +0 -84
- package/dist/research-4L5YDUDW.js +0 -62
- package/dist/research-X6IMXIEY.js +0 -261
- package/dist/research-X6IMXIEY.js.map +0 -1
- package/dist/reset-FU3GHUVJ.js +0 -53
- package/dist/reset-FU3GHUVJ.js.map +0 -1
- package/dist/reset-W4A2IMMX.js +0 -53
- package/dist/reset-W4A2IMMX.js.map +0 -1
- package/dist/resolve-3CTFESC5.js +0 -120
- package/dist/resolve-3CTFESC5.js.map +0 -1
- package/dist/retry-MYFWCIBM.js +0 -61
- package/dist/retry-MYFWCIBM.js.map +0 -1
- package/dist/retry-OWIEZTYH.js +0 -59
- package/dist/retry-OWIEZTYH.js.map +0 -1
- package/dist/retry-failed-3SLSEM4Z.js +0 -45
- package/dist/run-OST3DNFM.js +0 -64
- package/dist/run-OST3DNFM.js.map +0 -1
- package/dist/run-ZS7PLDOC.js +0 -59
- package/dist/scaffold-ad-TYJYCYNZ.js +0 -1548
- package/dist/scaffold-static-ad-JDFQZQJZ.js +0 -971
- package/dist/scaffold-video-KWVKJ3HA.js +0 -872
- package/dist/schedule-QAHB3Y2O.js +0 -66
- package/dist/schedule-URRPR56A.js +0 -60
- package/dist/schedule-URRPR56A.js.map +0 -1
- package/dist/scheduled-agents-INTHKJBU.js +0 -49
- package/dist/schema-LT2KTCFM.js +0 -63
- package/dist/schema-VKBHCQL2.js +0 -131
- package/dist/schema-VKBHCQL2.js.map +0 -1
- package/dist/scrape-F5T4K3MK.js +0 -2241
- package/dist/screenshot-3JZC7Z67.js +0 -102
- package/dist/search-2WC3UPL5.js +0 -92
- package/dist/search-4SGU4GCP.js +0 -26
- package/dist/search-EITER7HD.js +0 -91
- package/dist/search-GYGMCTB4.js +0 -224
- package/dist/search-HTLQTVXW.js +0 -173
- package/dist/search-HTLQTVXW.js.map +0 -1
- package/dist/search-copy-JIO572AF.js +0 -168
- package/dist/seeds-474K2XDK.js +0 -101
- package/dist/select-DNRMPKZP.js +0 -93
- package/dist/select-DNRMPKZP.js.map +0 -1
- package/dist/sends-IWIJVLGL.js +0 -309
- package/dist/sequences-DEIQSLPE.js +0 -146
- package/dist/set-prompt-BX37FBPT.js +0 -185
- package/dist/setup-links-JSL4UTBN.js +0 -140
- package/dist/setup-links-JSL4UTBN.js.map +0 -1
- package/dist/shared-OISI2KXV.js +0 -31
- package/dist/site-5MNVXSQK.js +0 -176
- package/dist/site-5MNVXSQK.js.map +0 -1
- package/dist/sitemaps-UMN746L7.js +0 -87
- package/dist/sites-YWCNJKWH.js +0 -101
- package/dist/skills-L3MZYGPS.js +0 -47
- package/dist/sources-2N5AKUOK.js +0 -420
- package/dist/sources-2N5AKUOK.js.map +0 -1
- package/dist/sources-ZSTG7NBI.js +0 -30
- package/dist/stale-DZCKGBFJ.js +0 -62
- package/dist/stale-DZCKGBFJ.js.map +0 -1
- package/dist/stats-7PNJ7SKK.js +0 -34
- package/dist/status-DG3X3JBU.js +0 -61
- package/dist/status-DG3X3JBU.js.map +0 -1
- package/dist/sticker-KA4OXYBO.js +0 -94
- package/dist/stock-LGSP7IXN.js +0 -179
- package/dist/studio-B5FDSSQE.js +0 -49
- package/dist/sync-APSFLJNV.js +0 -265
- package/dist/sync-ELM5NIQC.js +0 -53
- package/dist/sync-ELM5NIQC.js.map +0 -1
- package/dist/sync-EZUU5CS6.js +0 -54
- package/dist/sync-definition-LWUPVL2B.js +0 -52
- package/dist/tag-manager-4MPS25IR.js +0 -43
- package/dist/tags-AZCP34VZ.js +0 -19
- package/dist/tags-AZCP34VZ.js.map +0 -1
- package/dist/tags-FNN6L76N.js +0 -19
- package/dist/tags-FNN6L76N.js.map +0 -1
- package/dist/tags-I7F2EAXC.js +0 -19
- package/dist/tags-I7F2EAXC.js.map +0 -1
- package/dist/tags-PCROPKPP.js +0 -26
- package/dist/tags-VX2RZFI4.js +0 -223
- package/dist/tags-VX2RZFI4.js.map +0 -1
- package/dist/targeting-constants-SVN4QBNE.js +0 -118
- package/dist/targeting-criteria-QRVVJOJ4.js +0 -113
- package/dist/targets-RL4CMEEK.js +0 -101
- package/dist/targets-RL4CMEEK.js.map +0 -1
- package/dist/templates-5D3V4CXO.js +0 -177
- package/dist/templates-5D3V4CXO.js.map +0 -1
- package/dist/testimonials-KVV2NRB5.js +0 -32
- package/dist/themes-2W6UGTJY.js +0 -94
- package/dist/top-companies-CAN7RF7D.js +0 -107
- package/dist/top-companies-CAN7RF7D.js.map +0 -1
- package/dist/translate-NWFA5WJN.js +0 -597
- package/dist/translate-NWFA5WJN.js.map +0 -1
- package/dist/triggers-ANT3DGS4.js +0 -140
- package/dist/triggers-ANT3DGS4.js.map +0 -1
- package/dist/tweets-ADMGPZRH.js +0 -123
- package/dist/unfollow-TYUSXUQQ.js +0 -46
- package/dist/unlink-MI6QLZUD.js +0 -66
- package/dist/unlink-MI6QLZUD.js.map +0 -1
- package/dist/unstage-OFOWKW64.js +0 -95
- package/dist/unstage-RR6QKT22.js +0 -83
- package/dist/unstage-RR6QKT22.js.map +0 -1
- package/dist/update-6EDQKTT2.js +0 -97
- package/dist/update-6EDQKTT2.js.map +0 -1
- package/dist/update-IG7FMLB4.js +0 -141
- package/dist/update-IG7FMLB4.js.map +0 -1
- package/dist/update-MJJI7XUK.js +0 -62
- package/dist/update-MJJI7XUK.js.map +0 -1
- package/dist/update-YYOHKJFX.js +0 -154
- package/dist/update-YYOHKJFX.js.map +0 -1
- package/dist/upload-ENXZGIAJ.js +0 -150
- package/dist/upload-KG55HYJK.js +0 -125
- package/dist/upload-KG55HYJK.js.map +0 -1
- package/dist/upscale-BCSYBSCB.js +0 -109
- package/dist/url-options-E5Q2WWRL.js +0 -130
- package/dist/url-params-I2DUA2FO.js +0 -97
- package/dist/url-params-I2DUA2FO.js.map +0 -1
- package/dist/use-7GBWO7MR.js +0 -95
- package/dist/validate-R7GH6M2W.js +0 -88
- package/dist/variant-2MOZ3ADI.js +0 -338
- package/dist/videos-SNZVL5VK.js +0 -39
- package/dist/view-SI4E4SPJ.js +0 -121
- package/dist/viewer-check-YHWBQRQ7.js +0 -69
- package/dist/web-IU5Y5RGZ.js +0 -139
- package/dist/web-IU5Y5RGZ.js.map +0 -1
- package/dist/winners-WJVKPYEK.js +0 -113
- package/dist/winning-ads-D73T7RFL.js +0 -84
- package/dist/winning-ads-D73T7RFL.js.map +0 -1
- package/dist/write-commands-3IORA667.js +0 -737
- package/dist/write-commands-D6SE24DE.js +0 -206
- package/dist/write-commands-MQ3SX7DK.js +0 -1014
- package/dist/write-commands-MQ3SX7DK.js.map +0 -1
- package/dist/write-commands-VXSFTWJU.js +0 -713
- package/dist/x-PFPOXRTL.js +0 -47
- /package/dist/{account-OG2O3MUX.js.map → account-UMZQUGJ2.js.map} +0 -0
- /package/dist/{account-7IPMMAWC.js.map → account-VLPX7EZT.js.map} +0 -0
- /package/dist/{account-reads-32G6NU63.js.map → account-reads-L4VWOWSK.js.map} +0 -0
- /package/dist/{account-writes-UHUNPVS6.js.map → account-writes-ETJ4FKKK.js.map} +0 -0
- /package/dist/{accounts-L2EPDW2W.js.map → accounts-2FINK5GZ.js.map} +0 -0
- /package/dist/{accounts-NS7L5EZX.js.map → accounts-2UV5Z3Y6.js.map} +0 -0
- /package/dist/{accounts-CX46D2TB.js.map → accounts-G2QT3ZVP.js.map} +0 -0
- /package/dist/{actions-JM4A4NEL.js.map → actions-44HO3AJQ.js.map} +0 -0
- /package/dist/{active-entities-6W5YOGNN.js.map → active-entities-RDXDSMA2.js.map} +0 -0
- /package/dist/{activities-52LTJRU4.js.map → activities-RBTU2Q24.js.map} +0 -0
- /package/dist/{ad-group-writes-MABCQHMC.js.map → ad-group-writes-LLJH4BIM.js.map} +0 -0
- /package/dist/{ad-groups-I3DBQZTM.js.map → ad-groups-TWJHHE7H.js.map} +0 -0
- /package/dist/{ad-writes-E4R3IK4N.js.map → ad-writes-TBHTLPJJ.js.map} +0 -0
- /package/dist/{add-3D7VASJ2.js.map → add-4VKA4NDH.js.map} +0 -0
- /package/dist/{add-OLDNWEK7.js.map → add-MQO33HL3.js.map} +0 -0
- /package/dist/{add-accounts-EVOMXIHE.js.map → add-accounts-VDSWHJ4K.js.map} +0 -0
- /package/dist/{ads-DKQGSCGF.js.map → ads-3EUOBTPH.js.map} +0 -0
- /package/dist/{ads-N2AHRG74.js.map → ads-HYODBAPV.js.map} +0 -0
- /package/dist/{ads-FBOR4DMY.js.map → ads-IJCFN2N3.js.map} +0 -0
- /package/dist/{ads-XT454DCT.js.map → ads-IT76KBXT.js.map} +0 -0
- /package/dist/{adsets-7F5VJB7A.js.map → adsets-DPTIKGTG.js.map} +0 -0
- /package/dist/{advertisers-ZTK74NII.js.map → advertisers-ITFXIXUW.js.map} +0 -0
- /package/dist/{animate-32L3BPTL.js.map → animate-GRFI2XYX.js.map} +0 -0
- /package/dist/{audiences-M2O5NS4O.js.map → audiences-FWOOSUSJ.js.map} +0 -0
- /package/dist/{audiences-5KVPPV5T.js.map → audiences-KAXQZCW4.js.map} +0 -0
- /package/dist/{audiences-YQZHWY2K.js.map → audiences-VK4M7GLQ.js.map} +0 -0
- /package/dist/{audit-JTISKWXM.js.map → audit-JR5R75XK.js.map} +0 -0
- /package/dist/{avatars-GU3Y4XOC.js.map → avatars-NRFG2O6Q.js.map} +0 -0
- /package/dist/{brand-BSHSRHJQ.js.map → brand-D5HPPVMH.js.map} +0 -0
- /package/dist/{brief-FLTD3CLU.js.map → brief-JEBEWOB6.js.map} +0 -0
- /package/dist/{businesses-FBQ6IUKN.js.map → businesses-P3RX4UXS.js.map} +0 -0
- /package/dist/{campaign-writes-QK7MURJO.js.map → campaign-writes-H7KKJHQA.js.map} +0 -0
- /package/dist/{campaigns-BXUZBNMA.js.map → campaigns-7KRCBNGB.js.map} +0 -0
- /package/dist/{campaigns-U7PKWQ4D.js.map → campaigns-MEIMSHJF.js.map} +0 -0
- /package/dist/{campaigns-DPM2OYUO.js.map → campaigns-OIXRW6HB.js.map} +0 -0
- /package/dist/{cards-7Z2DWU5I.js.map → cards-CLD4WX6G.js.map} +0 -0
- /package/dist/{catalogs-3BOYSNNA.js.map → catalogs-4A7KNDE6.js.map} +0 -0
- /package/dist/{changes-IZQBOFYT.js.map → changes-DLHBE5TF.js.map} +0 -0
- /package/dist/{chatgpt-FEWVJAX7.js.map → chatgpt-3PUDNHF2.js.map} +0 -0
- /package/dist/{chunk-BOCJWQAZ.js.map → chunk-2I35PA3W.js.map} +0 -0
- /package/dist/{chunk-WIKXOHJD.js.map → chunk-2Y5UE2CV.js.map} +0 -0
- /package/dist/{chunk-NUEKCA56.js.map → chunk-35D4EY7V.js.map} +0 -0
- /package/dist/{chunk-FHZ3NNIF.js.map → chunk-42QCTCZK.js.map} +0 -0
- /package/dist/{chunk-UFHU3TFN.js.map → chunk-4AFGT3L3.js.map} +0 -0
- /package/dist/{chunk-WJZSPX6Z.js.map → chunk-4IKDYQQM.js.map} +0 -0
- /package/dist/{chunk-FSLHYTEK.js.map → chunk-4JKBMKFC.js.map} +0 -0
- /package/dist/{chunk-WDXL7PXC.js.map → chunk-4KBWL7S4.js.map} +0 -0
- /package/dist/{chunk-ZVWLMEJQ.js.map → chunk-4R3QKEDV.js.map} +0 -0
- /package/dist/{chunk-2UKGYHQ7.js.map → chunk-4SEWHOAH.js.map} +0 -0
- /package/dist/{chunk-A3DD32YL.js.map → chunk-536R4RRM.js.map} +0 -0
- /package/dist/{chunk-2QITB55L.js.map → chunk-542LVSYO.js.map} +0 -0
- /package/dist/{chunk-WRJZTAKV.js.map → chunk-57XJ7QF7.js.map} +0 -0
- /package/dist/{chunk-YY42OVVE.js.map → chunk-5ZQ7S2P2.js.map} +0 -0
- /package/dist/{chunk-EGOVBOSI.js.map → chunk-6KD4HB6Y.js.map} +0 -0
- /package/dist/{chunk-SD5GDVDI.js.map → chunk-6SL6463H.js.map} +0 -0
- /package/dist/{chunk-3QLACKNX.js.map → chunk-7MQVCSA7.js.map} +0 -0
- /package/dist/{chunk-IUIL2GS5.js.map → chunk-APNV7FMK.js.map} +0 -0
- /package/dist/{chunk-2V3ITJHT.js.map → chunk-AVOIIRTG.js.map} +0 -0
- /package/dist/{chunk-XGTOFEH6.js.map → chunk-BCSOWRQL.js.map} +0 -0
- /package/dist/{chunk-BH3B2E7H.js.map → chunk-BJEW3LST.js.map} +0 -0
- /package/dist/{chunk-6B7YNXNH.js.map → chunk-BYKUAX26.js.map} +0 -0
- /package/dist/{chunk-GKKZOYMM.js.map → chunk-C2BHCVGY.js.map} +0 -0
- /package/dist/{chunk-57AIBUS5.js.map → chunk-C3FM2TG6.js.map} +0 -0
- /package/dist/{chunk-4LIZR7ZU.js.map → chunk-CAZ7NACC.js.map} +0 -0
- /package/dist/{chunk-BQHFH3SY.js.map → chunk-CLK2FPAV.js.map} +0 -0
- /package/dist/{chunk-OON5SC7P.js.map → chunk-CVIMIOPO.js.map} +0 -0
- /package/dist/{chunk-RADMQU7S.js.map → chunk-DAKIMGUS.js.map} +0 -0
- /package/dist/{chunk-2PADYR7B.js.map → chunk-DCRUGS3G.js.map} +0 -0
- /package/dist/{chunk-GRUGYDLA.js.map → chunk-DMA77LLI.js.map} +0 -0
- /package/dist/{chunk-GQBXGF5Y.js.map → chunk-EESOZY5S.js.map} +0 -0
- /package/dist/{chunk-DFWBCUKH.js.map → chunk-F3IVR3V3.js.map} +0 -0
- /package/dist/{chunk-NHIZMRX6.js.map → chunk-FMTBV7FE.js.map} +0 -0
- /package/dist/{chunk-DLHGITJE.js.map → chunk-G7LAQE56.js.map} +0 -0
- /package/dist/{chunk-AA5SMYM5.js.map → chunk-G7QKXFQ2.js.map} +0 -0
- /package/dist/{chunk-F3L7HWPC.js.map → chunk-GFNDRNXT.js.map} +0 -0
- /package/dist/{chunk-DS4RB7DZ.js.map → chunk-GJ3BWGOJ.js.map} +0 -0
- /package/dist/{chunk-IEFMPAUE.js.map → chunk-HKSLIV4T.js.map} +0 -0
- /package/dist/{chunk-HHLEPWHB.js.map → chunk-HM25R6XJ.js.map} +0 -0
- /package/dist/{chunk-LVWAXZT7.js.map → chunk-HNUY47SD.js.map} +0 -0
- /package/dist/{chunk-PUG75EC5.js.map → chunk-ICJFL7DU.js.map} +0 -0
- /package/dist/{chunk-ZEJ6UCGE.js.map → chunk-IPDFZHFD.js.map} +0 -0
- /package/dist/{chunk-7H6TNG52.js.map → chunk-IWNZCYWI.js.map} +0 -0
- /package/dist/{chunk-CKI377AO.js.map → chunk-IYH47RKQ.js.map} +0 -0
- /package/dist/{chunk-OQCDLFGJ.js.map → chunk-JF5LNI6O.js.map} +0 -0
- /package/dist/{chunk-PM7ZSDKG.js.map → chunk-JZP5IODJ.js.map} +0 -0
- /package/dist/{chunk-TFWB4PS5.js.map → chunk-KDUMGBXU.js.map} +0 -0
- /package/dist/{chunk-7MF7QI7M.js.map → chunk-KIIIWH72.js.map} +0 -0
- /package/dist/{chunk-L4BUFJJ2.js.map → chunk-KL5VTXIK.js.map} +0 -0
- /package/dist/{chunk-2EXHUVZR.js.map → chunk-LFGCOAB4.js.map} +0 -0
- /package/dist/{chunk-BTXO66MR.js.map → chunk-LPRUP3ZX.js.map} +0 -0
- /package/dist/{chunk-OXXAZEQI.js.map → chunk-MD3VH5UG.js.map} +0 -0
- /package/dist/{chunk-C26QSQXP.js.map → chunk-MPXDQWYI.js.map} +0 -0
- /package/dist/{chunk-HPRAIQC4.js.map → chunk-NGYBZYXK.js.map} +0 -0
- /package/dist/{chunk-M6IGLMHM.js.map → chunk-NIGGMK7L.js.map} +0 -0
- /package/dist/{chunk-3V6GGH2A.js.map → chunk-P72PL3UG.js.map} +0 -0
- /package/dist/{chunk-2JWNUPSQ.js.map → chunk-PC56KVAD.js.map} +0 -0
- /package/dist/{chunk-ADUQKLUO.js.map → chunk-PE725WOM.js.map} +0 -0
- /package/dist/{chunk-UBNR5S46.js.map → chunk-PKCD5FX5.js.map} +0 -0
- /package/dist/{chunk-2ALS4WHZ.js.map → chunk-PZRFET7Y.js.map} +0 -0
- /package/dist/{chunk-X5WZXHYF.js.map → chunk-Q2T4XZG4.js.map} +0 -0
- /package/dist/{chunk-CBSPF5D5.js.map → chunk-QHJXKGIY.js.map} +0 -0
- /package/dist/{chunk-ISHQJJME.js.map → chunk-QVKSTQHO.js.map} +0 -0
- /package/dist/{chunk-63LJAQ4E.js.map → chunk-R4DWZSEX.js.map} +0 -0
- /package/dist/{chunk-UYMOAPIT.js.map → chunk-RVFB5JDH.js.map} +0 -0
- /package/dist/{chunk-ZOC5FS5U.js.map → chunk-SELQIR2A.js.map} +0 -0
- /package/dist/{chunk-ILOSW2RZ.js.map → chunk-SFHL3KWY.js.map} +0 -0
- /package/dist/{chunk-GBEKM22P.js.map → chunk-SL5OGWXQ.js.map} +0 -0
- /package/dist/{chunk-R7DHZDYT.js.map → chunk-SSVZM3P6.js.map} +0 -0
- /package/dist/{chunk-CKAW37VB.js.map → chunk-TFUAWBDZ.js.map} +0 -0
- /package/dist/{chunk-APWZR7EN.js.map → chunk-U4RDH7SC.js.map} +0 -0
- /package/dist/{chunk-JA7HGQEZ.js.map → chunk-UCZ5YYFP.js.map} +0 -0
- /package/dist/{chunk-PFYZBCA4.js.map → chunk-UGI33KTO.js.map} +0 -0
- /package/dist/{chunk-IHKFFI5N.js.map → chunk-UX7HIGS7.js.map} +0 -0
- /package/dist/{chunk-QFDHEXRF.js.map → chunk-VHDJCYPD.js.map} +0 -0
- /package/dist/{chunk-AGPC6VQW.js.map → chunk-VKVIBQP3.js.map} +0 -0
- /package/dist/{chunk-PL5MOERB.js.map → chunk-VTF7XNOP.js.map} +0 -0
- /package/dist/{chunk-VU2WGGWL.js.map → chunk-W5J4C2MI.js.map} +0 -0
- /package/dist/{chunk-KUVDKRO5.js.map → chunk-WJQZQBGR.js.map} +0 -0
- /package/dist/{chunk-ZJVHZHYP.js.map → chunk-WXC3I4CT.js.map} +0 -0
- /package/dist/{chunk-X3L462AI.js.map → chunk-WYA3VDTS.js.map} +0 -0
- /package/dist/{chunk-AHZTZWGL.js.map → chunk-XDV6Q33B.js.map} +0 -0
- /package/dist/{chunk-CT4JJID6.js.map → chunk-XGPDLGKQ.js.map} +0 -0
- /package/dist/{chunk-2FPJPDMF.js.map → chunk-XYC26BDM.js.map} +0 -0
- /package/dist/{chunk-E2LFVEXF.js.map → chunk-YJO4IMUK.js.map} +0 -0
- /package/dist/{chunk-XX5DXKEI.js.map → chunk-YT74ZEVP.js.map} +0 -0
- /package/dist/{chunk-C5USYCM2.js.map → chunk-YTWNY3RF.js.map} +0 -0
- /package/dist/{chunk-NGQ42WMB.js.map → chunk-ZKKAKRJQ.js.map} +0 -0
- /package/dist/{client-BXYW3T2E.js.map → client-G6DGRGKT.js.map} +0 -0
- /package/dist/{code-YKSM3KES.js.map → code-AYN42EK7.js.map} +0 -0
- /package/dist/{config-A2TUVNCZ.js.map → config-UE7GCROG.js.map} +0 -0
- /package/dist/{connect-X3KSG72E.js.map → connect-7SMKJHZY.js.map} +0 -0
- /package/dist/{content-LYWIFOUV.js.map → content-5LHM4PBE.js.map} +0 -0
- /package/dist/{conversion-report-QV4BSEIK.js.map → conversion-report-VFN4WFRK.js.map} +0 -0
- /package/dist/{conversion-upload-command-QZWA525U.js.map → conversion-upload-command-XJTOTJ4Y.js.map} +0 -0
- /package/dist/{conversion-writes-EPEKU44W.js.map → conversion-writes-H2SA4HAX.js.map} +0 -0
- /package/dist/{conversions-A473X2GF.js.map → conversions-544MF5CP.js.map} +0 -0
- /package/dist/{countries-AVHXOUE3.js.map → countries-NMWPKFFW.js.map} +0 -0
- /package/dist/{creatives-KAOWBTJL.js.map → creatives-DAH2GXPO.js.map} +0 -0
- /package/dist/{creatives-7HNRUPTV.js.map → creatives-WJLJ3NKP.js.map} +0 -0
- /package/dist/{crop-KEEGCMCE.js.map → crop-VCP2JLQL.js.map} +0 -0
- /package/dist/{currency-XUW72I27.js.map → currency-WYOIOGMW.js.map} +0 -0
- /package/dist/{custom-conversions-VN7Q5YUE.js.map → custom-conversions-CIU525HM.js.map} +0 -0
- /package/dist/{customers-3GJY3SIW.js.map → customers-T2B4B3KL.js.map} +0 -0
- /package/dist/{delete-DNYYWG7S.js.map → delete-5CURRI25.js.map} +0 -0
- /package/dist/{delete-IE2DCBO5.js.map → delete-JIRZBBDD.js.map} +0 -0
- /package/dist/{delete-BHQPYWZW.js.map → delete-LGZ5OI4C.js.map} +0 -0
- /package/dist/{describe-H3IQIO4V.js.map → describe-BNB6643C.js.map} +0 -0
- /package/dist/{describe-ODA4NHF4.js.map → describe-ZXGFTCDR.js.map} +0 -0
- /package/dist/{dimensions-N43FKZX5.js.map → dimensions-IU4ETG4U.js.map} +0 -0
- /package/dist/{discover-2AT6L4NZ.js.map → discover-4N3V5K2R.js.map} +0 -0
- /package/dist/{discover-O5UOLCAD.js.map → discover-5B2CFZBG.js.map} +0 -0
- /package/dist/{download-CUZEM54U.js.map → download-D7TB4744.js.map} +0 -0
- /package/dist/{draft-YIFSGRVM.js.map → draft-4VOOSJQJ.js.map} +0 -0
- /package/dist/{draft-QVCJ6HEN.js.map → draft-D76C4JR3.js.map} +0 -0
- /package/dist/{draft-7LJJT4AU.js.map → draft-MWCZSMKX.js.map} +0 -0
- /package/dist/{draft-SM2UDAQP.js.map → draft-NWLPLTWM.js.map} +0 -0
- /package/dist/{draft-L5W4U4G3.js.map → draft-PDYGPUK7.js.map} +0 -0
- /package/dist/{env-KSXDUMV4.js.map → env-LHLGM2YJ.js.map} +0 -0
- /package/dist/{experiment-I7PFP6NQ.js.map → experiment-4SUIXVBP.js.map} +0 -0
- /package/dist/{export-VDG47LTK.js.map → export-VGCFD7GL.js.map} +0 -0
- /package/dist/{extract-CHQICMI3.js.map → extract-32J7V2RX.js.map} +0 -0
- /package/dist/{favorites-UC7TPXXK.js.map → favorites-WKV5H5OF.js.map} +0 -0
- /package/dist/{feed-HDP37IX5.js.map → feed-2CRO4HA6.js.map} +0 -0
- /package/dist/{feedback-V4GWOQ4N.js.map → feedback-KDCV6NR5.js.map} +0 -0
- /package/dist/{fetch-6ZSWMQVO.js.map → fetch-XQFPE3MI.js.map} +0 -0
- /package/dist/{find-WZNJQH6H.js.map → find-PNDKEOXT.js.map} +0 -0
- /package/dist/{fit-57N46PVZ.js.map → fit-YX7IB53N.js.map} +0 -0
- /package/dist/{follow-VHC5W6JQ.js.map → follow-BB5KUEXZ.js.map} +0 -0
- /package/dist/{follow-competitors-4BB4SYX6.js.map → follow-competitors-EURYGGXE.js.map} +0 -0
- /package/dist/{following-4OW7BFMR.js.map → following-CA5BQXYB.js.map} +0 -0
- /package/dist/{fonts-DBSTYF25.js.map → fonts-KV3BZCYB.js.map} +0 -0
- /package/dist/{forecast-HB45NEE6.js.map → forecast-L44QIHCC.js.map} +0 -0
- /package/dist/{funding-O7EO6BXX.js.map → funding-ZRC25X5I.js.map} +0 -0
- /package/dist/{ga4-QSZJBPYT.js.map → ga4-YDKXVJOC.js.map} +0 -0
- /package/dist/{generate-MW3LCEZA.js.map → generate-X7FNMSMH.js.map} +0 -0
- /package/dist/{get-RA46XQ4O.js.map → get-7MSF4RVQ.js.map} +0 -0
- /package/dist/{get-2TFUDEXB.js.map → get-KFVPIDIA.js.map} +0 -0
- /package/dist/{get-RPPCUPLR.js.map → get-NHQ2XYKZ.js.map} +0 -0
- /package/dist/{get-3WRPM3ZH.js.map → get-UMMTY74K.js.map} +0 -0
- /package/dist/{get-RXC5LHHX.js.map → get-YM77HCL5.js.map} +0 -0
- /package/dist/{gif-UTHNVWGB.js.map → gif-X323HXS2.js.map} +0 -0
- /package/dist/{google-A4PE52FJ.js.map → google-76A4MHQH.js.map} +0 -0
- /package/dist/{google-7M6QFGYK.js.map → google-XRDQ7HRQ.js.map} +0 -0
- /package/dist/{group-QTPCHG4J.js.map → group-CTIZVYX2.js.map} +0 -0
- /package/dist/{group-ENDPRS2F.js.map → group-HKWQ75CJ.js.map} +0 -0
- /package/dist/{gsc-4256M4IF.js.map → gsc-CORRYJBJ.js.map} +0 -0
- /package/dist/{history-BET6WSKX.js.map → history-ZTDRLZQL.js.map} +0 -0
- /package/dist/{icon-6A6LUSTL.js.map → icon-6QW63AHG.js.map} +0 -0
- /package/dist/{ideas-FDZWVTRA.js.map → ideas-Z4ZGWHNQ.js.map} +0 -0
- /package/dist/{images-OG37OSCH.js.map → images-FFX44RJL.js.map} +0 -0
- /package/dist/{improve-2GF6J5PW.js.map → improve-WR23CHYH.js.map} +0 -0
- /package/dist/{ingest-MMKVJOJC.js.map → ingest-P4QXSLPG.js.map} +0 -0
- /package/dist/{insights-DL5WUM75.js.map → insights-IJEPLWQH.js.map} +0 -0
- /package/dist/{insights-MXMJVTHU.js.map → insights-JMJWKWW4.js.map} +0 -0
- /package/dist/{inspiration-JEVOJQ3L.js.map → inspiration-TJJFUVY2.js.map} +0 -0
- /package/dist/{intent-Z4DGVPFT.js.map → intent-5RQQ3NC7.js.map} +0 -0
- /package/dist/{job-IM47QNLP.js.map → job-K7LAIBYN.js.map} +0 -0
- /package/dist/{job-create-A3ZCZHTF.js.map → job-create-DFZL4CGA.js.map} +0 -0
- /package/dist/{job-status-TE7AVTFZ.js.map → job-status-6Q2TVTEO.js.map} +0 -0
- /package/dist/{keep-GJW7UPZG.js.map → keep-XJFCLVCP.js.map} +0 -0
- /package/dist/{keyword-gap-6VUCYWBG.js.map → keyword-gap-P6ACEDKY.js.map} +0 -0
- /package/dist/{landing-FNE5I73U.js.map → landing-N6BDDESI.js.map} +0 -0
- /package/dist/{landings-U3DAXGGO.js.map → landings-SQJWZOJR.js.map} +0 -0
- /package/dist/{languages-R2GM7DRZ.js.map → languages-DBKCNBZT.js.map} +0 -0
- /package/dist/{languages-KEB6NUWX.js.map → languages-MGEBLO64.js.map} +0 -0
- /package/dist/{logo-B3BROQTR.js.map → launches-E3Y6NCQE.js.map} +0 -0
- /package/dist/{layerize-4BG3ROAK.js.map → layerize-N4IQ2KE7.js.map} +0 -0
- /package/dist/{leads-NR4B5TWO.js.map → leads-PPMOBH7U.js.map} +0 -0
- /package/dist/{library-CZQAZMTR.js.map → library-4QQAVB6X.js.map} +0 -0
- /package/dist/{lighthouse-TKIDZ6FU.js.map → lighthouse-CD47CPJM.js.map} +0 -0
- /package/dist/{line-items-JLVCJNNN.js.map → line-items-NEC5HVEY.js.map} +0 -0
- /package/dist/{list-HZVLV22J.js.map → list-A45NTPSJ.js.map} +0 -0
- /package/dist/{list-Q6X5QJGP.js.map → list-GNP4GIV2.js.map} +0 -0
- /package/dist/{list-NGYIN633.js.map → list-KQFLOVC4.js.map} +0 -0
- /package/dist/{list-5WOBVJI5.js.map → list-MDHK3ENJ.js.map} +0 -0
- /package/dist/{list-MKU4LM6C.js.map → list-PRUFXMXW.js.map} +0 -0
- /package/dist/{locations-GOBN3Z6I.js.map → locations-QXOCXGVY.js.map} +0 -0
- /package/dist/{locations-V5XI33WW.js.map → locations-VG5LS6T2.js.map} +0 -0
- /package/dist/{lookup-ELKCXYYH.js.map → logo-KQD5KUAH.js.map} +0 -0
- /package/dist/{output-K3YC2VGS.js.map → lookup-SOF2XDHL.js.map} +0 -0
- /package/dist/{make-7PBN4XH5.js.map → make-7W7PVU3J.js.map} +0 -0
- /package/dist/{media-MQEFN2X4.js.map → media-2WENMOAA.js.map} +0 -0
- /package/dist/{media-HQQAIZ7Z.js.map → media-N4C6Q4IV.js.map} +0 -0
- /package/dist/{media-sources-RC3M2GXS.js.map → media-sources-SAVOO4OL.js.map} +0 -0
- /package/dist/{meta-VNSOJT2K.js.map → meta-PXYHWOOG.js.map} +0 -0
- /package/dist/{metrics-I7DWALMY.js.map → metrics-AK5YDD62.js.map} +0 -0
- /package/dist/{models-RA2AG5BF.js.map → models-57V6ZQ5Y.js.map} +0 -0
- /package/dist/{normalize-A4QEXI4A.js.map → normalize-LOMDPNFJ.js.map} +0 -0
- /package/dist/{performance-6UNRPB4I.js.map → output-SR4DN3A4.js.map} +0 -0
- /package/dist/{page-XIJYCQK7.js.map → page-FS76L5WU.js.map} +0 -0
- /package/dist/{pages-TNSVU5UF.js.map → pages-INMNJSX2.js.map} +0 -0
- /package/dist/{query-3OPJCQFR.js.map → performance-LXLZUDWG.js.map} +0 -0
- /package/dist/{pinterest-TLIBSYI5.js.map → pinterest-JMHFPNVW.js.map} +0 -0
- /package/dist/{pixels-D6RDUTYK.js.map → pixels-FLFEIAJV.js.map} +0 -0
- /package/dist/{pixels-5B54NNYI.js.map → pixels-XPBBJYE3.js.map} +0 -0
- /package/dist/{plan-D5TFL44K.js.map → plan-OP3AM7GL.js.map} +0 -0
- /package/dist/{preview-26CQNU3Z.js.map → preview-KXSNG3BS.js.map} +0 -0
- /package/dist/{promoted-tweets-S5JU3YEQ.js.map → promoted-tweets-NAPQQO6O.js.map} +0 -0
- /package/dist/{properties-F4NOIWYV.js.map → properties-NYNEONHI.js.map} +0 -0
- /package/dist/{reddit-UTK4I4ZR.js.map → query-H54SCQ6D.js.map} +0 -0
- /package/dist/{query-LGNJDNPQ.js.map → query-RK2TFMBI.js.map} +0 -0
- /package/dist/{query-P4NMXUCE.js.map → query-TWNH6GV7.js.map} +0 -0
- /package/dist/{questionnaire-VXOGMJPP.js.map → questionnaire-A5CAIIQW.js.map} +0 -0
- /package/dist/{read-S3IS5ELE.js.map → read-2AGRYWXU.js.map} +0 -0
- /package/dist/{run-ZS7PLDOC.js.map → reddit-5RDOPHJQ.js.map} +0 -0
- /package/dist/{relevant-pages-U5TXNLRY.js.map → relevant-pages-R3OMO3F2.js.map} +0 -0
- /package/dist/{remove-WLRCQ74R.js.map → remove-ETLMMDEA.js.map} +0 -0
- /package/dist/{rerun-ERLTGGT7.js.map → rerun-SKFVKX4R.js.map} +0 -0
- /package/dist/{research-4L5YDUDW.js.map → research-X75XFYCN.js.map} +0 -0
- /package/dist/{retry-failed-3SLSEM4Z.js.map → retry-failed-QMWQ6TRL.js.map} +0 -0
- /package/dist/{search-4SGU4GCP.js.map → run-7J55G6YM.js.map} +0 -0
- /package/dist/{scaffold-ad-TYJYCYNZ.js.map → scaffold-ad-X6FF4NHI.js.map} +0 -0
- /package/dist/{scaffold-static-ad-JDFQZQJZ.js.map → scaffold-static-ad-DGQ4NVLD.js.map} +0 -0
- /package/dist/{scaffold-video-KWVKJ3HA.js.map → scaffold-video-VEGT4LER.js.map} +0 -0
- /package/dist/{schedule-QAHB3Y2O.js.map → schedule-KXLQVCZW.js.map} +0 -0
- /package/dist/{scheduled-agents-INTHKJBU.js.map → scheduled-agents-TBDINGO5.js.map} +0 -0
- /package/dist/{schema-LT2KTCFM.js.map → schema-CCFLFAOY.js.map} +0 -0
- /package/dist/{scrape-F5T4K3MK.js.map → scrape-DBZQFIW7.js.map} +0 -0
- /package/dist/{screenshot-3JZC7Z67.js.map → screenshot-MPFANYIH.js.map} +0 -0
- /package/dist/{search-EITER7HD.js.map → search-4AANIUUL.js.map} +0 -0
- /package/dist/{search-GYGMCTB4.js.map → search-EMJABZYF.js.map} +0 -0
- /package/dist/{shared-OISI2KXV.js.map → search-OVHC4CRQ.js.map} +0 -0
- /package/dist/{search-2WC3UPL5.js.map → search-YSGZRANA.js.map} +0 -0
- /package/dist/{search-copy-JIO572AF.js.map → search-copy-E3EVO7YT.js.map} +0 -0
- /package/dist/{seeds-474K2XDK.js.map → seeds-XTBVEHSF.js.map} +0 -0
- /package/dist/{sends-IWIJVLGL.js.map → sends-4OCEYQE6.js.map} +0 -0
- /package/dist/{sequences-DEIQSLPE.js.map → sequences-FRK76ZQV.js.map} +0 -0
- /package/dist/{set-prompt-BX37FBPT.js.map → set-prompt-QY76NJ7B.js.map} +0 -0
- /package/dist/{sync-definition-LWUPVL2B.js.map → shared-EH5ZTQXC.js.map} +0 -0
- /package/dist/{sitemaps-UMN746L7.js.map → sitemaps-7KHY2KXI.js.map} +0 -0
- /package/dist/{sites-YWCNJKWH.js.map → sites-6B76JW6C.js.map} +0 -0
- /package/dist/{skills-L3MZYGPS.js.map → skills-SCTT3LCM.js.map} +0 -0
- /package/dist/{sources-ZSTG7NBI.js.map → sources-GFK4Z3EI.js.map} +0 -0
- /package/dist/{stats-7PNJ7SKK.js.map → stats-4NBOAOR2.js.map} +0 -0
- /package/dist/{sticker-KA4OXYBO.js.map → sticker-NLXBIOBO.js.map} +0 -0
- /package/dist/{stock-LGSP7IXN.js.map → stock-F3SA4VHV.js.map} +0 -0
- /package/dist/{studio-B5FDSSQE.js.map → studio-HD6KEZAS.js.map} +0 -0
- /package/dist/{sync-APSFLJNV.js.map → sync-FCNFXTFD.js.map} +0 -0
- /package/dist/{sync-EZUU5CS6.js.map → sync-YXCZ3DHY.js.map} +0 -0
- /package/dist/{viewer-check-YHWBQRQ7.js.map → sync-definition-ZJZLUPPH.js.map} +0 -0
- /package/dist/{tag-manager-4MPS25IR.js.map → tag-manager-YM4Q3CZT.js.map} +0 -0
- /package/dist/{tags-PCROPKPP.js.map → tags-AZ5VNLKA.js.map} +0 -0
- /package/dist/{targeting-constants-SVN4QBNE.js.map → targeting-constants-3CMGPWRI.js.map} +0 -0
- /package/dist/{targeting-criteria-QRVVJOJ4.js.map → targeting-criteria-5GH2V2TP.js.map} +0 -0
- /package/dist/{testimonials-KVV2NRB5.js.map → testimonials-VHOE6QD3.js.map} +0 -0
- /package/dist/{themes-2W6UGTJY.js.map → themes-QN4HSAEY.js.map} +0 -0
- /package/dist/{tweets-ADMGPZRH.js.map → tweets-XWE3VYQ4.js.map} +0 -0
- /package/dist/{unfollow-TYUSXUQQ.js.map → unfollow-7U4UBAJX.js.map} +0 -0
- /package/dist/{unstage-OFOWKW64.js.map → unstage-RHIXLXOU.js.map} +0 -0
- /package/dist/{upload-ENXZGIAJ.js.map → upload-GUKMQ5MT.js.map} +0 -0
- /package/dist/{upscale-BCSYBSCB.js.map → upscale-A456MESF.js.map} +0 -0
- /package/dist/{url-options-E5Q2WWRL.js.map → url-options-BLOD2Z3L.js.map} +0 -0
- /package/dist/{use-7GBWO7MR.js.map → use-HBVKVT5S.js.map} +0 -0
- /package/dist/{validate-R7GH6M2W.js.map → validate-NTBQPVGI.js.map} +0 -0
- /package/dist/{variant-2MOZ3ADI.js.map → variant-HULP57YI.js.map} +0 -0
- /package/dist/{videos-SNZVL5VK.js.map → videos-TON72X4Y.js.map} +0 -0
- /package/dist/{view-SI4E4SPJ.js.map → view-GCDEJZII.js.map} +0 -0
- /package/dist/{winners-WJVKPYEK.js.map → winners-WSMWC4M5.js.map} +0 -0
- /package/dist/{write-commands-VXSFTWJU.js.map → write-commands-47OP673X.js.map} +0 -0
- /package/dist/{write-commands-3IORA667.js.map → write-commands-IJ5IFHS6.js.map} +0 -0
- /package/dist/{write-commands-D6SE24DE.js.map → write-commands-OBMIVFZJ.js.map} +0 -0
- /package/dist/{x-PFPOXRTL.js.map → x-3RMWXYCC.js.map} +0 -0
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
import {
|
|
2
|
+
advanceDefinitionStatus,
|
|
3
|
+
definitionPathFor
|
|
4
|
+
} from "./chunk-3ACMDRSE.js";
|
|
5
|
+
import {
|
|
6
|
+
defaultVideoApiDeps,
|
|
7
|
+
detectVideoContentType,
|
|
8
|
+
isVideoFile,
|
|
9
|
+
uploadLocalVideo,
|
|
10
|
+
videoProcessingTimeoutMs,
|
|
11
|
+
waitForPlayableVideo
|
|
12
|
+
} from "./chunk-MD3VH5UG.js";
|
|
13
|
+
import {
|
|
14
|
+
defaultImageApiDeps,
|
|
15
|
+
detectImageContentType,
|
|
16
|
+
imageProcessingTimeoutMs,
|
|
17
|
+
publishImageAsCreative,
|
|
18
|
+
uploadImageBytes,
|
|
19
|
+
uploadLocalImage,
|
|
20
|
+
waitForReadyImage
|
|
21
|
+
} from "./chunk-SFHL3KWY.js";
|
|
22
|
+
import {
|
|
23
|
+
fetchRunRecord
|
|
24
|
+
} from "./chunk-P72PL3UG.js";
|
|
25
|
+
import {
|
|
26
|
+
findWorkspaceRoot
|
|
27
|
+
} from "./chunk-F3IVR3V3.js";
|
|
28
|
+
import {
|
|
29
|
+
sha256Hex
|
|
30
|
+
} from "./chunk-DJPCTTUN.js";
|
|
31
|
+
import "./chunk-BJEW3LST.js";
|
|
32
|
+
import "./chunk-SSVZM3P6.js";
|
|
33
|
+
import "./chunk-WXC3I4CT.js";
|
|
34
|
+
import "./chunk-GXDLWBOY.js";
|
|
35
|
+
import "./chunk-GIWHHCD6.js";
|
|
36
|
+
import "./chunk-XQIOCIDO.js";
|
|
37
|
+
import "./chunk-ML7DLFFY.js";
|
|
38
|
+
import {
|
|
39
|
+
ApiError
|
|
40
|
+
} from "./chunk-MMOTJIV6.js";
|
|
41
|
+
import "./chunk-2ZZR2SOF.js";
|
|
42
|
+
import {
|
|
43
|
+
optionalChatId
|
|
44
|
+
} from "./chunk-YPCVPDU7.js";
|
|
45
|
+
import {
|
|
46
|
+
registerSchema,
|
|
47
|
+
writeJson
|
|
48
|
+
} from "./chunk-D3RTGIT4.js";
|
|
49
|
+
import "./chunk-YQSBHWOI.js";
|
|
50
|
+
|
|
51
|
+
// src/commands/creatives/publish.ts
|
|
52
|
+
import { Buffer } from "buffer";
|
|
53
|
+
import { defineCommand } from "citty";
|
|
54
|
+
var creativeContentTypes = ["image/png", "image/jpeg", "image/webp"];
|
|
55
|
+
var creativeVideoContentTypes = ["video/mp4", "video/quicktime", "video/webm"];
|
|
56
|
+
var UNSUPPORTED_CREATIVE_FILE = "Unsupported creative file extension. Use PNG, JPG or WebP for an image, MP4, MOV or WebM for a video.";
|
|
57
|
+
var DESCRIPTION = `Save a finished creative to Baker Creatives and return a creative reference: a static image (PNG/JPG/WebP) or a finished video render (MP4/MOV/WebM).
|
|
58
|
+
Start here:
|
|
59
|
+
baker creatives publish ./canvas/r_01K\u2026/final_4x5.png --title "Spring Offer" --slug spring-offer --run-id r_01K\u2026
|
|
60
|
+
baker creatives publish --title "Spring Offer" --slug spring-offer --run-id r_01K\u2026 --output 4:5
|
|
61
|
+
baker creatives publish ./canvas/r_01K\u2026/final.mp4 --title "Spring Offer Reel" --slug spring-offer --run-id r_01K\u2026
|
|
62
|
+
With --run-id and no file, the run's own saved image is published (--output picks one when the run made several). A video goes to the company's video library first and is saved once it plays (up to 3 minutes); it needs the file and --slug. Choose and save the finished version yourself, including in the turn that rendered it. Saving pins that version without recording user approval or putting an ad live. An image publish marks the creative's _definition.md published.`;
|
|
63
|
+
var ARGS = {
|
|
64
|
+
file: {
|
|
65
|
+
type: "string",
|
|
66
|
+
description: "Local creative file: PNG/JPG/WebP image or MP4/MOV/WebM video. Optional for an image with --run-id: the run's saved output is used instead.",
|
|
67
|
+
required: false
|
|
68
|
+
},
|
|
69
|
+
title: { type: "string", description: "Human title for the creative output", required: true },
|
|
70
|
+
context: { type: "string", description: "Optional describe context for the image asset", required: false },
|
|
71
|
+
sourceReferenceUrl: {
|
|
72
|
+
type: "string",
|
|
73
|
+
description: "Optional URL of the original reference ad",
|
|
74
|
+
required: false
|
|
75
|
+
},
|
|
76
|
+
slug: {
|
|
77
|
+
type: "string",
|
|
78
|
+
description: "Creative slug (src/creatives/<slug>/). Attaches the image or video to that creative's row. Required for a video",
|
|
79
|
+
required: false
|
|
80
|
+
},
|
|
81
|
+
runId: {
|
|
82
|
+
type: "string",
|
|
83
|
+
description: "Canvas run id (r_\u2026) of the finished generation to pin as published",
|
|
84
|
+
required: false
|
|
85
|
+
},
|
|
86
|
+
output: {
|
|
87
|
+
type: "string",
|
|
88
|
+
description: "With --run-id and no file: which of the run's outputs to save when it made several, by label (e.g. 4:5), slot, or number (1 = first).",
|
|
89
|
+
required: false
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
registerSchema({ command: "creatives.publish", description: DESCRIPTION, args: ARGS });
|
|
93
|
+
function detectCreativeContentType(filePath) {
|
|
94
|
+
return detectImageContentType(filePath, {
|
|
95
|
+
allowedContentTypes: creativeContentTypes,
|
|
96
|
+
unsupportedMessage: UNSUPPORTED_CREATIVE_FILE
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
function chatIdFromEnv() {
|
|
100
|
+
return optionalChatId();
|
|
101
|
+
}
|
|
102
|
+
function parseOptionalUrl(value) {
|
|
103
|
+
if (value === void 0 || value.trim() === "") {
|
|
104
|
+
return void 0;
|
|
105
|
+
}
|
|
106
|
+
try {
|
|
107
|
+
return new URL(value).toString();
|
|
108
|
+
} catch {
|
|
109
|
+
throw new ApiError("VALIDATION_ERROR", "--source-reference-url must be a valid URL");
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
async function downloadBytes(url) {
|
|
113
|
+
const res = await fetch(url);
|
|
114
|
+
if (!res.ok) throw new ApiError("UNAVAILABLE", `Could not read the run's output (${res.status} ${res.statusText})`);
|
|
115
|
+
return Buffer.from(await res.arrayBuffer());
|
|
116
|
+
}
|
|
117
|
+
function runImages(run) {
|
|
118
|
+
if (run.status !== "completed") {
|
|
119
|
+
throw new ApiError(
|
|
120
|
+
"VALIDATION_ERROR",
|
|
121
|
+
`Run ${run.runId} did not finish (${run.status}), so it has no result to publish. Finish the run first, or pass the image file.`
|
|
122
|
+
);
|
|
123
|
+
}
|
|
124
|
+
const finals = run.finalOutputs.filter((o) => typeof o.url === "string");
|
|
125
|
+
if (finals.some((o) => !creativeContentTypes.some((t) => t === o.mime))) {
|
|
126
|
+
throw new ApiError(
|
|
127
|
+
"VALIDATION_ERROR",
|
|
128
|
+
`Run ${run.runId} made a video, not a still image. Publish the video file: baker creatives publish ./canvas/${run.runId}/<file>.mp4 --slug <slug> --run-id ${run.runId}.`
|
|
129
|
+
);
|
|
130
|
+
}
|
|
131
|
+
return finals;
|
|
132
|
+
}
|
|
133
|
+
function describeOutputs(outputs) {
|
|
134
|
+
return outputs.map((o, i) => `${i + 1}: ${o.label ?? o.slot}`).join(", ");
|
|
135
|
+
}
|
|
136
|
+
function chooseOutput(run, choice) {
|
|
137
|
+
const images = runImages(run);
|
|
138
|
+
if (images.length === 0) {
|
|
139
|
+
throw new ApiError(
|
|
140
|
+
"VALIDATION_ERROR",
|
|
141
|
+
`Run ${run.runId} has no saved image to publish. Pass the image file instead.`
|
|
142
|
+
);
|
|
143
|
+
}
|
|
144
|
+
if (choice === void 0) {
|
|
145
|
+
const [only] = images;
|
|
146
|
+
if (images.length === 1 && only) return only;
|
|
147
|
+
throw new ApiError(
|
|
148
|
+
"VALIDATION_ERROR",
|
|
149
|
+
`Run ${run.runId} made ${images.length} images; pick one with --output (${describeOutputs(images)}).`
|
|
150
|
+
);
|
|
151
|
+
}
|
|
152
|
+
const wanted = choice.trim();
|
|
153
|
+
const byNumber = /^\d+$/.test(wanted) ? images[Number(wanted) - 1] : void 0;
|
|
154
|
+
const found = byNumber ?? images.find((o) => o.label === wanted || o.slot === wanted);
|
|
155
|
+
if (!found) {
|
|
156
|
+
throw new ApiError("VALIDATION_ERROR", `Run ${run.runId} has no output "${wanted}" (${describeOutputs(images)}).`);
|
|
157
|
+
}
|
|
158
|
+
return found;
|
|
159
|
+
}
|
|
160
|
+
var EXTENSION = { "image/png": ".png", "image/jpeg": ".jpg", "image/webp": ".webp" };
|
|
161
|
+
async function uploadRunOutput(args, deps) {
|
|
162
|
+
const run = await fetchRunRecord(args.runId, deps.post);
|
|
163
|
+
if (!run) {
|
|
164
|
+
throw new ApiError(
|
|
165
|
+
"NOT_FOUND",
|
|
166
|
+
`No run "${args.runId}" in this company's run history. Pass the image file instead.`
|
|
167
|
+
);
|
|
168
|
+
}
|
|
169
|
+
const chosen = chooseOutput(run, args.output);
|
|
170
|
+
const bytes = await (deps.download ?? downloadBytes)(String(chosen.url));
|
|
171
|
+
if (sha256Hex(bytes) !== chosen.sha256) {
|
|
172
|
+
throw new ApiError(
|
|
173
|
+
"VALIDATION_ERROR",
|
|
174
|
+
`The saved output of run ${run.runId} does not match its recorded fingerprint`
|
|
175
|
+
);
|
|
176
|
+
}
|
|
177
|
+
const name = (chosen.label ?? chosen.slot).replace(/[^a-z0-9.-]+/gi, "_");
|
|
178
|
+
return uploadImageBytes(
|
|
179
|
+
{
|
|
180
|
+
bytes,
|
|
181
|
+
contentType: chosen.mime,
|
|
182
|
+
originalFilename: `${run.runId}-${name}${EXTENSION[chosen.mime] ?? ""}`,
|
|
183
|
+
source: "ai_generated",
|
|
184
|
+
descriptionContext: args.descriptionContext
|
|
185
|
+
},
|
|
186
|
+
deps
|
|
187
|
+
);
|
|
188
|
+
}
|
|
189
|
+
async function publishCreative(args, deps = defaultImageApiDeps) {
|
|
190
|
+
const title = args.title.trim();
|
|
191
|
+
if (!title) {
|
|
192
|
+
throw new ApiError("VALIDATION_ERROR", "--title is required");
|
|
193
|
+
}
|
|
194
|
+
const sourceReferenceUrl = parseOptionalUrl(args.sourceReferenceUrl);
|
|
195
|
+
const descriptionContext = args.context ?? `Static ad creative: ${title}`;
|
|
196
|
+
let upload;
|
|
197
|
+
if (args.file) {
|
|
198
|
+
upload = await uploadLocalImage(
|
|
199
|
+
{
|
|
200
|
+
file: args.file,
|
|
201
|
+
contentType: detectCreativeContentType(args.file),
|
|
202
|
+
source: "ai_generated",
|
|
203
|
+
descriptionContext
|
|
204
|
+
},
|
|
205
|
+
deps
|
|
206
|
+
);
|
|
207
|
+
} else if (args.runId) {
|
|
208
|
+
upload = await uploadRunOutput(
|
|
209
|
+
{
|
|
210
|
+
runId: args.runId,
|
|
211
|
+
output: args.output,
|
|
212
|
+
descriptionContext
|
|
213
|
+
},
|
|
214
|
+
deps
|
|
215
|
+
);
|
|
216
|
+
} else {
|
|
217
|
+
throw new ApiError("VALIDATION_ERROR", "Pass the image file, or --run-id to save the run's own output");
|
|
218
|
+
}
|
|
219
|
+
await waitForReadyImage(deps, upload.imageId, { timeoutMs: imageProcessingTimeoutMs });
|
|
220
|
+
const result = await publishImageAsCreative(deps, {
|
|
221
|
+
imageId: upload.imageId,
|
|
222
|
+
title,
|
|
223
|
+
sourceReferenceUrl,
|
|
224
|
+
slug: args.slug,
|
|
225
|
+
runId: args.runId,
|
|
226
|
+
// Attribute the publish to the driving chat (injected by the bridge).
|
|
227
|
+
chatId: chatIdFromEnv()
|
|
228
|
+
});
|
|
229
|
+
if (args.slug && args.runId) {
|
|
230
|
+
const cwd = process.cwd();
|
|
231
|
+
const root = deps.workspaceRoot ?? findWorkspaceRoot(cwd) ?? cwd;
|
|
232
|
+
const status = await advanceDefinitionStatus(definitionPathFor(root, args.slug), "published");
|
|
233
|
+
if (status === "updated") return { ...result, definitionStatus: "published" };
|
|
234
|
+
}
|
|
235
|
+
return result;
|
|
236
|
+
}
|
|
237
|
+
async function publishVideoCreative(args, deps = defaultVideoApiDeps) {
|
|
238
|
+
const title = args.title.trim();
|
|
239
|
+
if (!title) {
|
|
240
|
+
throw new ApiError("VALIDATION_ERROR", "--title is required");
|
|
241
|
+
}
|
|
242
|
+
const slug = args.slug?.trim();
|
|
243
|
+
if (!slug) {
|
|
244
|
+
throw new ApiError(
|
|
245
|
+
"VALIDATION_ERROR",
|
|
246
|
+
"--slug is required for a video: name the creative (src/creatives/<slug>/) this render belongs to"
|
|
247
|
+
);
|
|
248
|
+
}
|
|
249
|
+
const sourceReferenceUrl = parseOptionalUrl(args.sourceReferenceUrl);
|
|
250
|
+
const contentType = detectVideoContentType(args.file, {
|
|
251
|
+
allowedContentTypes: creativeVideoContentTypes,
|
|
252
|
+
unsupportedMessage: UNSUPPORTED_CREATIVE_FILE
|
|
253
|
+
});
|
|
254
|
+
const { videoId } = await uploadLocalVideo(
|
|
255
|
+
{ file: args.file, contentType, descriptionContext: args.context ?? `Video ad creative: ${title}` },
|
|
256
|
+
deps
|
|
257
|
+
);
|
|
258
|
+
await waitForPlayableVideo(deps, videoId, { timeoutMs: videoProcessingTimeoutMs });
|
|
259
|
+
const body = { videoId, title, slug };
|
|
260
|
+
if (args.runId) body.runId = args.runId;
|
|
261
|
+
if (sourceReferenceUrl) body.sourceReferenceUrl = sourceReferenceUrl;
|
|
262
|
+
const chatId = chatIdFromEnv();
|
|
263
|
+
if (chatId) body.chatId = chatId;
|
|
264
|
+
return deps.post("/api/creatives/publish-video", body);
|
|
265
|
+
}
|
|
266
|
+
var publishCommand = defineCommand({
|
|
267
|
+
meta: { name: "publish", description: DESCRIPTION },
|
|
268
|
+
// Checked in `run` rather than by citty, so a missing value answers with the JSON envelope.
|
|
269
|
+
args: { ...ARGS, file: { ...ARGS.file, type: "positional" }, title: { ...ARGS.title, required: false } },
|
|
270
|
+
run: async ({ args }) => {
|
|
271
|
+
try {
|
|
272
|
+
const file = args.file;
|
|
273
|
+
const title = args.title;
|
|
274
|
+
const runId = args.runId;
|
|
275
|
+
if (!file && !runId) {
|
|
276
|
+
writeJson({
|
|
277
|
+
ok: false,
|
|
278
|
+
error: {
|
|
279
|
+
code: "VALIDATION_ERROR",
|
|
280
|
+
message: "Image or video path is required (or --run-id to save the run's own image)"
|
|
281
|
+
}
|
|
282
|
+
});
|
|
283
|
+
process.exit(1);
|
|
284
|
+
}
|
|
285
|
+
if (!title) {
|
|
286
|
+
writeJson({ ok: false, error: { code: "VALIDATION_ERROR", message: "--title is required" } });
|
|
287
|
+
process.exit(1);
|
|
288
|
+
}
|
|
289
|
+
const publishArgs = {
|
|
290
|
+
file: file || void 0,
|
|
291
|
+
title,
|
|
292
|
+
context: args.context,
|
|
293
|
+
sourceReferenceUrl: args.sourceReferenceUrl,
|
|
294
|
+
slug: args.slug,
|
|
295
|
+
runId
|
|
296
|
+
};
|
|
297
|
+
if (file && isVideoFile(file)) {
|
|
298
|
+
writeJson(await publishVideoCreative({ ...publishArgs, file }));
|
|
299
|
+
return;
|
|
300
|
+
}
|
|
301
|
+
const data = await publishCreative({
|
|
302
|
+
...publishArgs,
|
|
303
|
+
output: args.output
|
|
304
|
+
});
|
|
305
|
+
writeJson({ ok: true, data });
|
|
306
|
+
} catch (err) {
|
|
307
|
+
if (err instanceof ApiError) {
|
|
308
|
+
writeJson({ ok: false, error: { code: err.code, message: err.message } });
|
|
309
|
+
process.exit(1);
|
|
310
|
+
}
|
|
311
|
+
writeJson({ ok: false, error: { code: "INTERNAL_ERROR", message: "Unexpected error" } });
|
|
312
|
+
process.exit(1);
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
});
|
|
316
|
+
export {
|
|
317
|
+
detectCreativeContentType,
|
|
318
|
+
publishCommand,
|
|
319
|
+
publishCreative,
|
|
320
|
+
publishVideoCreative
|
|
321
|
+
};
|
|
322
|
+
//# sourceMappingURL=publish-YWTFFCDB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/creatives/publish.ts"],"sourcesContent":["import { Buffer } from \"node:buffer\";\nimport type {\n CreativesPublishVideoRequest,\n CreativesPublishVideoResponse,\n CreativesRunData,\n CreativesRunOutput,\n} from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { ApiError } from \"../../client.ts\";\nimport { sha256Hex } from \"../../engine/storage/sha256.ts\";\nimport { optionalChatId } from \"../../env.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { advanceDefinitionStatus, definitionPathFor } from \"../canvas/definition-status.ts\";\nimport { findWorkspaceRoot } from \"../canvas/normalize-paths.ts\";\nimport { fetchRunRecord } from \"../canvas/run-history.ts\";\nimport {\n defaultImageApiDeps,\n detectImageContentType,\n type ImageApiDeps,\n imageProcessingTimeoutMs,\n publishImageAsCreative,\n uploadImageBytes,\n uploadLocalImage,\n waitForReadyImage,\n} from \"../images/api.ts\";\nimport {\n defaultVideoApiDeps,\n detectVideoContentType,\n isVideoFile,\n uploadLocalVideo,\n type VideoApiDeps,\n videoProcessingTimeoutMs,\n waitForPlayableVideo,\n} from \"../videos/api.ts\";\n\nconst creativeContentTypes = [\"image/png\", \"image/jpeg\", \"image/webp\"] as const;\nconst creativeVideoContentTypes = [\"video/mp4\", \"video/quicktime\", \"video/webm\"] as const;\nconst UNSUPPORTED_CREATIVE_FILE =\n \"Unsupported creative file extension. Use PNG, JPG or WebP for an image, MP4, MOV or WebM for a video.\";\n\ntype CreativeReference = {\n type: \"creative\";\n slug: string;\n creativeId: string;\n title: string;\n asset: {\n kind: \"static_image\";\n imageId: string;\n imageUrl: string;\n storageKey?: string;\n width?: number;\n height?: number;\n aspectRatio?: number;\n };\n imageUrl: string;\n thumbnailUrl: string;\n storageKey?: string;\n sourceReferenceUrl?: string;\n width?: number;\n height?: number;\n aspectRatio?: number;\n};\n\ntype CreativesPublishResult = {\n creativeId: string;\n imageId: string;\n reference: CreativeReference;\n /** Set when `src/creatives/<slug>/_definition.md` was moved to `published`. */\n definitionStatus?: \"published\";\n};\n\nconst DESCRIPTION = `Save a finished creative to Baker Creatives and return a creative reference: a static image (PNG/JPG/WebP) or a finished video render (MP4/MOV/WebM).\nStart here:\n baker creatives publish ./canvas/r_01K…/final_4x5.png --title \"Spring Offer\" --slug spring-offer --run-id r_01K…\n baker creatives publish --title \"Spring Offer\" --slug spring-offer --run-id r_01K… --output 4:5\n baker creatives publish ./canvas/r_01K…/final.mp4 --title \"Spring Offer Reel\" --slug spring-offer --run-id r_01K…\nWith --run-id and no file, the run's own saved image is published (--output picks one when the run made several). A video goes to the company's video library first and is saved once it plays (up to 3 minutes); it needs the file and --slug. Choose and save the finished version yourself, including in the turn that rendered it. Saving pins that version without recording user approval or putting an ad live. An image publish marks the creative's _definition.md published.`;\n\nconst ARGS = {\n file: {\n type: \"string\",\n description:\n \"Local creative file: PNG/JPG/WebP image or MP4/MOV/WebM video. Optional for an image with --run-id: the run's saved output is used instead.\",\n required: false,\n },\n title: { type: \"string\", description: \"Human title for the creative output\", required: true },\n context: { type: \"string\", description: \"Optional describe context for the image asset\", required: false },\n sourceReferenceUrl: {\n type: \"string\",\n description: \"Optional URL of the original reference ad\",\n required: false,\n },\n slug: {\n type: \"string\",\n description:\n \"Creative slug (src/creatives/<slug>/). Attaches the image or video to that creative's row. Required for a video\",\n required: false,\n },\n runId: {\n type: \"string\",\n description: \"Canvas run id (r_…) of the finished generation to pin as published\",\n required: false,\n },\n output: {\n type: \"string\",\n description:\n \"With --run-id and no file: which of the run's outputs to save when it made several, by label (e.g. 4:5), slot, or number (1 = first).\",\n required: false,\n },\n} as const;\n\nregisterSchema({ command: \"creatives.publish\", description: DESCRIPTION, args: ARGS });\n\nexport function detectCreativeContentType(filePath: string): string {\n return detectImageContentType(filePath, {\n allowedContentTypes: creativeContentTypes,\n unsupportedMessage: UNSUPPORTED_CREATIVE_FILE,\n });\n}\n\nfunction chatIdFromEnv(): string | undefined {\n // Soft read: publish attribution is best-effort. Direct callers (tests,\n // local one-offs) may run without the full env contract — missing creds\n // already fail loudly at the API call itself.\n return optionalChatId();\n}\n\nfunction parseOptionalUrl(value: string | undefined): string | undefined {\n if (value === undefined || value.trim() === \"\") {\n return undefined;\n }\n\n try {\n return new URL(value).toString();\n } catch {\n throw new ApiError(\"VALIDATION_ERROR\", \"--source-reference-url must be a valid URL\");\n }\n}\n\n/** What publishing needs beyond the image API: fetching a run's output, and where the workspace is. */\nexport type PublishDeps = ImageApiDeps & {\n download?: (url: string) => Promise<Buffer>;\n workspaceRoot?: string;\n};\n\nasync function downloadBytes(url: string): Promise<Buffer> {\n const res = await fetch(url);\n if (!res.ok) throw new ApiError(\"UNAVAILABLE\", `Could not read the run's output (${res.status} ${res.statusText})`);\n return Buffer.from(await res.arrayBuffer());\n}\n\n/**\n * The run's result, when it is still images, in the order the run delivered them. Only the\n * final outputs of a finished run count: the frames and reference sheets its steps made on\n * the way are images too, and publishing one of those would save a stand-in as the creative.\n */\nfunction runImages(run: CreativesRunData): CreativesRunOutput[] {\n if (run.status !== \"completed\") {\n throw new ApiError(\n \"VALIDATION_ERROR\",\n `Run ${run.runId} did not finish (${run.status}), so it has no result to publish. Finish the run first, or pass the image file.`,\n );\n }\n const finals = run.finalOutputs.filter((o) => typeof o.url === \"string\");\n if (finals.some((o) => !creativeContentTypes.some((t) => t === o.mime))) {\n throw new ApiError(\n \"VALIDATION_ERROR\",\n `Run ${run.runId} made a video, not a still image. Publish the video file: baker creatives publish ./canvas/${run.runId}/<file>.mp4 --slug <slug> --run-id ${run.runId}.`,\n );\n }\n return finals;\n}\n\nfunction describeOutputs(outputs: CreativesRunOutput[]): string {\n return outputs.map((o, i) => `${i + 1}: ${o.label ?? o.slot}`).join(\", \");\n}\n\n/** The one output to save: the only one, or the one `choice` names by label, slot or number. */\nfunction chooseOutput(run: CreativesRunData, choice: string | undefined): CreativesRunOutput {\n const images = runImages(run);\n if (images.length === 0) {\n throw new ApiError(\n \"VALIDATION_ERROR\",\n `Run ${run.runId} has no saved image to publish. Pass the image file instead.`,\n );\n }\n if (choice === undefined) {\n const [only] = images;\n if (images.length === 1 && only) return only;\n throw new ApiError(\n \"VALIDATION_ERROR\",\n `Run ${run.runId} made ${images.length} images; pick one with --output (${describeOutputs(images)}).`,\n );\n }\n const wanted = choice.trim();\n const byNumber = /^\\d+$/.test(wanted) ? images[Number(wanted) - 1] : undefined;\n const found = byNumber ?? images.find((o) => o.label === wanted || o.slot === wanted);\n if (!found) {\n throw new ApiError(\"VALIDATION_ERROR\", `Run ${run.runId} has no output \"${wanted}\" (${describeOutputs(images)}).`);\n }\n return found;\n}\n\nconst EXTENSION: Record<string, string> = { \"image/png\": \".png\", \"image/jpeg\": \".jpg\", \"image/webp\": \".webp\" };\n\n/**\n * Upload the run's saved output, byte for byte: the version that was chosen, not whichever\n * local file happens to sit at a path (and it works in a workspace that never had one).\n */\nasync function uploadRunOutput(\n args: {\n runId: string;\n output: string | undefined;\n descriptionContext: string;\n },\n deps: PublishDeps,\n): Promise<{ imageId: string }> {\n const run = await fetchRunRecord(args.runId, deps.post);\n if (!run) {\n throw new ApiError(\n \"NOT_FOUND\",\n `No run \"${args.runId}\" in this company's run history. Pass the image file instead.`,\n );\n }\n const chosen = chooseOutput(run, args.output);\n const bytes = await (deps.download ?? downloadBytes)(String(chosen.url));\n if (sha256Hex(bytes) !== chosen.sha256) {\n throw new ApiError(\n \"VALIDATION_ERROR\",\n `The saved output of run ${run.runId} does not match its recorded fingerprint`,\n );\n }\n const name = (chosen.label ?? chosen.slot).replace(/[^a-z0-9.-]+/gi, \"_\");\n return uploadImageBytes(\n {\n bytes,\n contentType: chosen.mime,\n originalFilename: `${run.runId}-${name}${EXTENSION[chosen.mime] ?? \"\"}`,\n source: \"ai_generated\",\n descriptionContext: args.descriptionContext,\n },\n deps,\n );\n}\n\nexport async function publishCreative(\n args: {\n file?: string;\n title: string;\n context?: string;\n sourceReferenceUrl?: string;\n slug?: string;\n runId?: string;\n output?: string;\n },\n deps: PublishDeps = defaultImageApiDeps,\n): Promise<CreativesPublishResult> {\n const title = args.title.trim();\n if (!title) {\n throw new ApiError(\"VALIDATION_ERROR\", \"--title is required\");\n }\n\n const sourceReferenceUrl = parseOptionalUrl(args.sourceReferenceUrl);\n const descriptionContext = args.context ?? `Static ad creative: ${title}`;\n let upload: { imageId: string };\n if (args.file) {\n upload = await uploadLocalImage(\n {\n file: args.file,\n contentType: detectCreativeContentType(args.file),\n source: \"ai_generated\",\n descriptionContext,\n },\n deps,\n );\n } else if (args.runId) {\n upload = await uploadRunOutput(\n {\n runId: args.runId,\n output: args.output,\n descriptionContext,\n },\n deps,\n );\n } else {\n throw new ApiError(\"VALIDATION_ERROR\", \"Pass the image file, or --run-id to save the run's own output\");\n }\n await waitForReadyImage(deps, upload.imageId, { timeoutMs: imageProcessingTimeoutMs });\n const result = await publishImageAsCreative(deps, {\n imageId: upload.imageId,\n title,\n sourceReferenceUrl,\n slug: args.slug,\n runId: args.runId,\n // Attribute the publish to the driving chat (injected by the bridge).\n chatId: chatIdFromEnv(),\n });\n // The lifecycle field moves with what happened: saving a finished version marks the\n // creative published in its definition, so nobody edits it by hand.\n if (args.slug && args.runId) {\n const cwd = process.cwd();\n const root = deps.workspaceRoot ?? findWorkspaceRoot(cwd) ?? cwd;\n const status = await advanceDefinitionStatus(definitionPathFor(root, args.slug), \"published\");\n if (status === \"updated\") return { ...result, definitionStatus: \"published\" };\n }\n return result;\n}\n\n/**\n * `baker creatives publish <video>`: upload the render to the company's video\n * library, wait until Baker can play it, then save it on the creative. The\n * image path above is untouched by this.\n */\nexport async function publishVideoCreative(\n args: { file: string; title: string; context?: string; sourceReferenceUrl?: string; slug?: string; runId?: string },\n deps: VideoApiDeps = defaultVideoApiDeps,\n): Promise<CreativesPublishVideoResponse> {\n const title = args.title.trim();\n if (!title) {\n throw new ApiError(\"VALIDATION_ERROR\", \"--title is required\");\n }\n const slug = args.slug?.trim();\n if (!slug) {\n throw new ApiError(\n \"VALIDATION_ERROR\",\n \"--slug is required for a video: name the creative (src/creatives/<slug>/) this render belongs to\",\n );\n }\n const sourceReferenceUrl = parseOptionalUrl(args.sourceReferenceUrl);\n const contentType = detectVideoContentType(args.file, {\n allowedContentTypes: creativeVideoContentTypes,\n unsupportedMessage: UNSUPPORTED_CREATIVE_FILE,\n });\n const { videoId } = await uploadLocalVideo(\n { file: args.file, contentType, descriptionContext: args.context ?? `Video ad creative: ${title}` },\n deps,\n );\n await waitForPlayableVideo(deps, videoId, { timeoutMs: videoProcessingTimeoutMs });\n const body: CreativesPublishVideoRequest = { videoId, title, slug };\n if (args.runId) body.runId = args.runId;\n if (sourceReferenceUrl) body.sourceReferenceUrl = sourceReferenceUrl;\n const chatId = chatIdFromEnv();\n if (chatId) body.chatId = chatId;\n return deps.post<CreativesPublishVideoResponse>(\"/api/creatives/publish-video\", body);\n}\n\nexport const publishCommand = defineCommand({\n meta: { name: \"publish\", description: DESCRIPTION },\n // Checked in `run` rather than by citty, so a missing value answers with the JSON envelope.\n args: { ...ARGS, file: { ...ARGS.file, type: \"positional\" }, title: { ...ARGS.title, required: false } },\n run: async ({ args }) => {\n try {\n const file = args.file as string | undefined;\n const title = args.title as string | undefined;\n const runId = args.runId as string | undefined;\n if (!file && !runId) {\n writeJson({\n ok: false,\n error: {\n code: \"VALIDATION_ERROR\",\n message: \"Image or video path is required (or --run-id to save the run's own image)\",\n },\n });\n process.exit(1);\n }\n if (!title) {\n writeJson({ ok: false, error: { code: \"VALIDATION_ERROR\", message: \"--title is required\" } });\n process.exit(1);\n }\n const publishArgs = {\n file: file || undefined,\n title,\n context: args.context as string | undefined,\n sourceReferenceUrl: args.sourceReferenceUrl as string | undefined,\n slug: args.slug as string | undefined,\n runId,\n };\n if (file && isVideoFile(file)) {\n writeJson(await publishVideoCreative({ ...publishArgs, file }));\n return;\n }\n const data = await publishCreative({\n ...publishArgs,\n output: args.output as string | undefined,\n });\n writeJson({ ok: true, data });\n } catch (err) {\n if (err instanceof ApiError) {\n writeJson({ ok: false, error: { code: err.code, message: err.message } });\n process.exit(1);\n }\n writeJson({ ok: false, error: { code: \"INTERNAL_ERROR\", message: \"Unexpected error\" } });\n process.exit(1);\n }\n },\n});\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import {
|
|
2
|
+
buildFileSummary,
|
|
3
|
+
buildQueryEnvelope,
|
|
4
|
+
completenessWarnings,
|
|
5
|
+
effectiveRowLimit,
|
|
6
|
+
keywordServingOptions,
|
|
7
|
+
missingFieldWarnings,
|
|
8
|
+
missingFieldWarningsFor,
|
|
9
|
+
outputResults,
|
|
10
|
+
pageCacheKey,
|
|
11
|
+
parseQueryLimit,
|
|
12
|
+
parseSelectedFields,
|
|
13
|
+
queryCommand,
|
|
14
|
+
queryPageSize,
|
|
15
|
+
resolveGaqlInput,
|
|
16
|
+
resultColumns,
|
|
17
|
+
runQuery,
|
|
18
|
+
servingScopeWarnings,
|
|
19
|
+
shouldReadCache,
|
|
20
|
+
summariseWarnings,
|
|
21
|
+
unobservedFields,
|
|
22
|
+
unobservedSelectedFields,
|
|
23
|
+
unwrittenColumnWarnings,
|
|
24
|
+
warningLines
|
|
25
|
+
} from "./chunk-42QCTCZK.js";
|
|
26
|
+
import "./chunk-JPK34QPS.js";
|
|
27
|
+
import "./chunk-5ZQ7S2P2.js";
|
|
28
|
+
import "./chunk-7VHPAGPK.js";
|
|
29
|
+
import "./chunk-6SL6463H.js";
|
|
30
|
+
import "./chunk-ML7DLFFY.js";
|
|
31
|
+
import "./chunk-MMOTJIV6.js";
|
|
32
|
+
import "./chunk-2ZZR2SOF.js";
|
|
33
|
+
import "./chunk-YPCVPDU7.js";
|
|
34
|
+
import "./chunk-D3RTGIT4.js";
|
|
35
|
+
import "./chunk-YQSBHWOI.js";
|
|
36
|
+
export {
|
|
37
|
+
buildFileSummary,
|
|
38
|
+
buildQueryEnvelope,
|
|
39
|
+
completenessWarnings,
|
|
40
|
+
effectiveRowLimit,
|
|
41
|
+
keywordServingOptions,
|
|
42
|
+
missingFieldWarnings,
|
|
43
|
+
missingFieldWarningsFor,
|
|
44
|
+
outputResults,
|
|
45
|
+
pageCacheKey,
|
|
46
|
+
parseQueryLimit,
|
|
47
|
+
parseSelectedFields,
|
|
48
|
+
queryCommand,
|
|
49
|
+
queryPageSize,
|
|
50
|
+
resolveGaqlInput,
|
|
51
|
+
resultColumns,
|
|
52
|
+
runQuery,
|
|
53
|
+
servingScopeWarnings,
|
|
54
|
+
shouldReadCache,
|
|
55
|
+
summariseWarnings,
|
|
56
|
+
unobservedFields,
|
|
57
|
+
unobservedSelectedFields,
|
|
58
|
+
unwrittenColumnWarnings,
|
|
59
|
+
warningLines
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=query-H54SCQ6D.js.map
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
import {
|
|
2
|
+
resolvePropertyId
|
|
3
|
+
} from "./chunk-PC56KVAD.js";
|
|
4
|
+
import {
|
|
5
|
+
buildQueryCacheKey,
|
|
6
|
+
cacheGet,
|
|
7
|
+
cacheSet,
|
|
8
|
+
getQueryTtl,
|
|
9
|
+
handleConnectionError,
|
|
10
|
+
isNotConnectedError,
|
|
11
|
+
toCsvRow,
|
|
12
|
+
writeAdsOutput,
|
|
13
|
+
writeJsonEnvelope
|
|
14
|
+
} from "./chunk-6SL6463H.js";
|
|
15
|
+
import {
|
|
16
|
+
ApiError,
|
|
17
|
+
apiPost
|
|
18
|
+
} from "./chunk-MMOTJIV6.js";
|
|
19
|
+
import "./chunk-2ZZR2SOF.js";
|
|
20
|
+
import "./chunk-YPCVPDU7.js";
|
|
21
|
+
import {
|
|
22
|
+
registerSchema
|
|
23
|
+
} from "./chunk-D3RTGIT4.js";
|
|
24
|
+
import "./chunk-YQSBHWOI.js";
|
|
25
|
+
|
|
26
|
+
// src/commands/ga4/query.ts
|
|
27
|
+
import { appendFileSync, existsSync, readFileSync, writeFileSync } from "fs";
|
|
28
|
+
import { resolve } from "path";
|
|
29
|
+
import { defineCommand } from "citty";
|
|
30
|
+
|
|
31
|
+
// src/commands/ga4/presets.ts
|
|
32
|
+
var GA4_PRESETS = [
|
|
33
|
+
{
|
|
34
|
+
name: "tracking-health",
|
|
35
|
+
description: "Compare GA4 sessions to GAds clicks \u2014 flag >20% discrepancy",
|
|
36
|
+
playbook: "[07] Discrepancy Check"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: "lp-performance",
|
|
40
|
+
description: "Landing page UX diagnostic \u2014 flag duration <10s as message mismatch",
|
|
41
|
+
playbook: "[06] LP Diagnostic"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
name: "traffic-quality",
|
|
45
|
+
description: "Warm traffic trap \u2014 flag >40% returning user conversions",
|
|
46
|
+
playbook: "[06] Warm Traffic Trap"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: "funnel-leakage",
|
|
50
|
+
description: "Funnel drop-off analysis between form events",
|
|
51
|
+
playbook: "[06] Funnel Analysis"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
name: "first-touch",
|
|
55
|
+
description: "First-touch attribution \u2014 true acquisition value of channels",
|
|
56
|
+
playbook: "First-Touch Attribution"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
name: "traffic-overview",
|
|
60
|
+
description: "General traffic trends by date and source",
|
|
61
|
+
playbook: "General"
|
|
62
|
+
}
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
// src/commands/ga4/query.ts
|
|
66
|
+
registerSchema({
|
|
67
|
+
command: "ga4.query",
|
|
68
|
+
description: "Run GA4 Data API reports. Use --preset for playbook-aligned queries (primary usage) or --dimensions/--metrics for free-form queries.",
|
|
69
|
+
args: {
|
|
70
|
+
"property-id": { type: "string", description: "GA4 property ID (auto-resolved if not provided)", required: false },
|
|
71
|
+
preset: {
|
|
72
|
+
type: "string",
|
|
73
|
+
description: "Named preset (tracking-health, lp-performance, traffic-quality, funnel-leakage, first-touch, traffic-overview)",
|
|
74
|
+
required: false
|
|
75
|
+
},
|
|
76
|
+
dimensions: { type: "string", description: "Comma-separated dimension names (escape hatch)", required: false },
|
|
77
|
+
metrics: { type: "string", description: "Comma-separated metric names (escape hatch)", required: false },
|
|
78
|
+
days: { type: "string", description: "Lookback window in days (default: 30)", required: false },
|
|
79
|
+
"start-date": {
|
|
80
|
+
type: "string",
|
|
81
|
+
description: "Explicit start date (YYYY-MM-DD or GA4 relative like '30daysAgo')",
|
|
82
|
+
required: false
|
|
83
|
+
},
|
|
84
|
+
"end-date": { type: "string", description: "Explicit end date (YYYY-MM-DD or 'yesterday')", required: false },
|
|
85
|
+
limit: { type: "string", description: "Max rows (default: 1000)", required: false },
|
|
86
|
+
"list-presets": { type: "boolean", description: "List available presets", required: false },
|
|
87
|
+
out: { type: "string", description: "Write data to file (.csv, .jsonl, .json)", required: false },
|
|
88
|
+
append: { type: "boolean", description: "Append to existing file", required: false },
|
|
89
|
+
output: { type: "string", description: "Format: json|csv|jsonl|md", required: false, default: "json" },
|
|
90
|
+
"no-cache": { type: "boolean", description: "Skip cache", required: false }
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
function extractFields(rows) {
|
|
94
|
+
const first = rows[0];
|
|
95
|
+
return first ? Object.keys(first) : [];
|
|
96
|
+
}
|
|
97
|
+
function writeRowsToFile(filePath, rows, append) {
|
|
98
|
+
const fields = extractFields(rows);
|
|
99
|
+
const ext = filePath.split(".").pop()?.toLowerCase();
|
|
100
|
+
if (ext === "csv") {
|
|
101
|
+
if (!append || !existsSync(filePath)) {
|
|
102
|
+
writeFileSync(filePath, `${toCsvRow(fields)}
|
|
103
|
+
`, "utf-8");
|
|
104
|
+
}
|
|
105
|
+
const csvRows = rows.map((row) => toCsvRow(fields.map((f) => String(row[f] ?? ""))));
|
|
106
|
+
appendFileSync(filePath, `${csvRows.join("\n")}
|
|
107
|
+
`, "utf-8");
|
|
108
|
+
} else if (ext === "jsonl") {
|
|
109
|
+
const lines = rows.map((row) => JSON.stringify(row));
|
|
110
|
+
const content = `${lines.join("\n")}
|
|
111
|
+
`;
|
|
112
|
+
if (append && existsSync(filePath)) {
|
|
113
|
+
appendFileSync(filePath, content, "utf-8");
|
|
114
|
+
} else {
|
|
115
|
+
writeFileSync(filePath, content, "utf-8");
|
|
116
|
+
}
|
|
117
|
+
} else if (append && existsSync(filePath)) {
|
|
118
|
+
const existing = JSON.parse(readFileSync(filePath, "utf-8"));
|
|
119
|
+
writeFileSync(filePath, JSON.stringify([...existing, ...rows], null, 2), "utf-8");
|
|
120
|
+
} else {
|
|
121
|
+
writeFileSync(filePath, JSON.stringify(rows, null, 2), "utf-8");
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
function outputRows(rows, args, response, cached) {
|
|
125
|
+
if (args.out) {
|
|
126
|
+
const filePath = resolve(args.out);
|
|
127
|
+
writeRowsToFile(filePath, rows, !!args.append);
|
|
128
|
+
writeJsonEnvelope({ ok: true, file: filePath, rows: rows.length, ...cached && { cached: true } });
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
const format = args.output || "json";
|
|
132
|
+
if (format !== "json") {
|
|
133
|
+
writeAdsOutput(rows, format);
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
writeJsonEnvelope({ ...response, ...cached && { cached: true } });
|
|
137
|
+
}
|
|
138
|
+
function buildRequestBody(args, propertyId, useCache) {
|
|
139
|
+
const body = { propertyId };
|
|
140
|
+
if (args.preset) body.preset = args.preset;
|
|
141
|
+
if (args.dimensions) body.dimensions = args.dimensions.split(",").map((d) => d.trim());
|
|
142
|
+
if (args.metrics) body.metrics = args.metrics.split(",").map((m) => m.trim());
|
|
143
|
+
if (args.days) body.days = Number(args.days);
|
|
144
|
+
if (args["start-date"]) body.startDate = args["start-date"];
|
|
145
|
+
if (args["end-date"]) body.endDate = args["end-date"];
|
|
146
|
+
if (args.limit) body.limit = Number(args.limit);
|
|
147
|
+
if (!useCache) body.skipCache = true;
|
|
148
|
+
return body;
|
|
149
|
+
}
|
|
150
|
+
function handleError(err) {
|
|
151
|
+
if (err instanceof ApiError) {
|
|
152
|
+
if (isNotConnectedError(err.code, err.message)) {
|
|
153
|
+
handleConnectionError("ga4", err.message);
|
|
154
|
+
}
|
|
155
|
+
writeJsonEnvelope({ ok: false, error: { code: err.code, message: err.message } });
|
|
156
|
+
process.exit(1);
|
|
157
|
+
}
|
|
158
|
+
writeJsonEnvelope({
|
|
159
|
+
ok: false,
|
|
160
|
+
error: { code: "NETWORK_ERROR", message: err instanceof Error ? err.message : "Unexpected error" }
|
|
161
|
+
});
|
|
162
|
+
process.exit(1);
|
|
163
|
+
}
|
|
164
|
+
var queryCommand = defineCommand({
|
|
165
|
+
meta: {
|
|
166
|
+
name: "query",
|
|
167
|
+
description: `Run GA4 Data API reports. Preset-first with free-form escape hatch.
|
|
168
|
+
|
|
169
|
+
Presets (primary usage):
|
|
170
|
+
baker ga4 query --preset tracking-health
|
|
171
|
+
baker ga4 query --preset lp-performance --days 14
|
|
172
|
+
baker ga4 query --list-presets
|
|
173
|
+
|
|
174
|
+
Free-form (escape hatch):
|
|
175
|
+
baker ga4 query --dimensions "date,sessionSourceMedium" --metrics "sessions,conversions"
|
|
176
|
+
baker ga4 query --metrics "eventCount" --dimensions "eventName" --days 7`
|
|
177
|
+
},
|
|
178
|
+
args: {
|
|
179
|
+
"property-id": { type: "string", description: "GA4 property ID", required: false },
|
|
180
|
+
preset: { type: "string", description: "Named preset", required: false },
|
|
181
|
+
dimensions: { type: "string", description: "Comma-separated dimensions", required: false },
|
|
182
|
+
metrics: { type: "string", description: "Comma-separated metrics", required: false },
|
|
183
|
+
days: { type: "string", description: "Lookback days (default: 30)", required: false },
|
|
184
|
+
"start-date": { type: "string", description: "Start date override", required: false },
|
|
185
|
+
"end-date": { type: "string", description: "End date override", required: false },
|
|
186
|
+
limit: { type: "string", description: "Max rows (default: 1000)", required: false },
|
|
187
|
+
"list-presets": { type: "boolean", description: "List presets", required: false },
|
|
188
|
+
out: { type: "string", description: "Output file path", required: false },
|
|
189
|
+
append: { type: "boolean", description: "Append to file", required: false },
|
|
190
|
+
output: { type: "string", description: "Format: json|csv|jsonl|md", required: false, default: "json" },
|
|
191
|
+
"no-cache": { type: "boolean", description: "Skip cache", required: false }
|
|
192
|
+
},
|
|
193
|
+
run: async ({ args }) => {
|
|
194
|
+
if (args["list-presets"]) {
|
|
195
|
+
writeJsonEnvelope({
|
|
196
|
+
ok: true,
|
|
197
|
+
data: GA4_PRESETS.map((p) => ({ name: p.name, description: p.description, playbook: p.playbook }))
|
|
198
|
+
});
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
if (!args.preset && !args.metrics) {
|
|
202
|
+
writeJsonEnvelope({
|
|
203
|
+
ok: false,
|
|
204
|
+
error: {
|
|
205
|
+
code: "VALIDATION_ERROR",
|
|
206
|
+
message: "Provide --preset or --metrics. Run --list-presets to see options."
|
|
207
|
+
}
|
|
208
|
+
});
|
|
209
|
+
process.exit(1);
|
|
210
|
+
}
|
|
211
|
+
const propertyId = await resolvePropertyId(args);
|
|
212
|
+
const useCache = !args["no-cache"];
|
|
213
|
+
const body = buildRequestBody(args, propertyId, useCache);
|
|
214
|
+
const cacheKey = buildQueryCacheKey(propertyId, JSON.stringify(body));
|
|
215
|
+
if (useCache) {
|
|
216
|
+
const cached = cacheGet("ga4-queries", cacheKey);
|
|
217
|
+
if (cached) {
|
|
218
|
+
outputRows(cached.data.data ?? [], args, cached.data, true);
|
|
219
|
+
return;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
try {
|
|
223
|
+
const response = await apiPost("/api/ga4/query", body);
|
|
224
|
+
if (useCache) {
|
|
225
|
+
cacheSet("ga4-queries", cacheKey, response, getQueryTtl(JSON.stringify(body)));
|
|
226
|
+
}
|
|
227
|
+
outputRows(response.data ?? [], args, response, false);
|
|
228
|
+
} catch (err) {
|
|
229
|
+
handleError(err);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
});
|
|
233
|
+
export {
|
|
234
|
+
queryCommand
|
|
235
|
+
};
|
|
236
|
+
//# sourceMappingURL=query-RK2TFMBI.js.map
|