@koda-sl/baker-cli 0.386.0 → 0.387.0-dev.3bafd569e
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 +1090 -211
- package/canvas/tiktok-captions-composition/index.html +5 -6
- package/canvas/tiktok-captions-composition/meta.json +5 -0
- package/dist/account-CLOKMTTC.js +49 -0
- package/dist/account-CLOKMTTC.js.map +1 -0
- package/dist/account-V5Y2QHAK.js +79 -0
- package/dist/account-V5Y2QHAK.js.map +1 -0
- package/dist/account-XFK6VX2R.js +80 -0
- package/dist/account-XFK6VX2R.js.map +1 -0
- package/dist/account-reads-S5VXX2QU.js +218 -0
- package/dist/account-reads-S5VXX2QU.js.map +1 -0
- package/dist/account-writes-Y7EQXDXF.js +66 -0
- package/dist/account-writes-Y7EQXDXF.js.map +1 -0
- package/dist/accounts-7YD457YN.js +114 -0
- package/dist/accounts-7YD457YN.js.map +1 -0
- package/dist/accounts-BJ3X5JQT.js +115 -0
- package/dist/accounts-BJ3X5JQT.js.map +1 -0
- package/dist/accounts-LOJ4WLIX.js +77 -0
- package/dist/accounts-LOJ4WLIX.js.map +1 -0
- package/dist/accounts-RYBDLQ6H.js +75 -0
- package/dist/accounts-RYBDLQ6H.js.map +1 -0
- package/dist/accounts-UO4XBWM2.js +611 -0
- package/dist/accounts-UO4XBWM2.js.map +1 -0
- package/dist/actions-3AW3R63U.js +55 -0
- package/dist/actions-3AW3R63U.js.map +1 -0
- package/dist/active-entities-R6GZIO6Z.js +103 -0
- package/dist/active-entities-R6GZIO6Z.js.map +1 -0
- package/dist/activities-ESBF3GFS.js +74 -0
- package/dist/activities-ESBF3GFS.js.map +1 -0
- package/dist/ad-group-writes-I225OYDZ.js +170 -0
- package/dist/ad-group-writes-I225OYDZ.js.map +1 -0
- package/dist/ad-groups-O35MWNF6.js +68 -0
- package/dist/ad-groups-O35MWNF6.js.map +1 -0
- package/dist/ad-writes-SS5YZO5W.js +174 -0
- package/dist/ad-writes-SS5YZO5W.js.map +1 -0
- package/dist/add-43DUOVNR.js +104 -0
- package/dist/add-43DUOVNR.js.map +1 -0
- package/dist/add-IE5WDELB.js +302 -0
- package/dist/add-IE5WDELB.js.map +1 -0
- package/dist/add-QZHAWUBA.js +97 -0
- package/dist/add-QZHAWUBA.js.map +1 -0
- package/dist/add-TGQIVVXH.js +105 -0
- package/dist/add-TGQIVVXH.js.map +1 -0
- package/dist/add-accounts-6QYPOPR2.js +91 -0
- package/dist/add-accounts-6QYPOPR2.js.map +1 -0
- package/dist/ads-AUSRB4GU.js +128 -0
- package/dist/ads-AUSRB4GU.js.map +1 -0
- package/dist/ads-COYOTEKE.js +77 -0
- package/dist/ads-COYOTEKE.js.map +1 -0
- package/dist/ads-DZ4N5INZ.js +40 -0
- package/dist/ads-DZ4N5INZ.js.map +1 -0
- package/dist/ads-XZCMSPM5.js +113 -0
- package/dist/ads-XZCMSPM5.js.map +1 -0
- package/dist/adsets-AKR75THA.js +176 -0
- package/dist/adsets-AKR75THA.js.map +1 -0
- package/dist/advertisers-52FMMBTQ.js +120 -0
- package/dist/advertisers-52FMMBTQ.js.map +1 -0
- package/dist/advertisers-BCGKUMEH.js +125 -0
- package/dist/advertisers-BCGKUMEH.js.map +1 -0
- package/dist/analytics-JPDBKETM.js +1980 -0
- package/dist/analytics-JPDBKETM.js.map +1 -0
- package/dist/analytics-YVQ6H4BG.js +433 -0
- package/dist/analytics-YVQ6H4BG.js.map +1 -0
- package/dist/animate-JXIT77Y5.js +480 -0
- package/dist/animate-JXIT77Y5.js.map +1 -0
- package/dist/assign-66NTWTR2.js +77 -0
- package/dist/assign-66NTWTR2.js.map +1 -0
- package/dist/audience-size-LVQJWQAS.js +94 -0
- package/dist/audience-size-LVQJWQAS.js.map +1 -0
- package/dist/audiences-DC3IOG34.js +85 -0
- package/dist/audiences-DC3IOG34.js.map +1 -0
- package/dist/audiences-NEW3LLQR.js +268 -0
- package/dist/audiences-NEW3LLQR.js.map +1 -0
- package/dist/audiences-NYGMBGQ3.js +79 -0
- package/dist/audiences-NYGMBGQ3.js.map +1 -0
- package/dist/audit-UIPMTI5C.js +88 -0
- package/dist/audit-UIPMTI5C.js.map +1 -0
- package/dist/audit-XGN2OFLN.js +151 -0
- package/dist/audit-XGN2OFLN.js.map +1 -0
- package/dist/autocomplete-LVPDV3JE.js +111 -0
- package/dist/autocomplete-LVPDV3JE.js.map +1 -0
- package/dist/avatars-S6NSLMJK.js +38 -0
- package/dist/avatars-S6NSLMJK.js.map +1 -0
- package/dist/bid-pricing-2LYULXU2.js +99 -0
- package/dist/bid-pricing-2LYULXU2.js.map +1 -0
- package/dist/brand-WWHUZ72R.js +22 -0
- package/dist/brand-WWHUZ72R.js.map +1 -0
- package/dist/brief-K3FILESK.js +492 -0
- package/dist/brief-K3FILESK.js.map +1 -0
- package/dist/businesses-J7OP7MSK.js +53 -0
- package/dist/businesses-J7OP7MSK.js.map +1 -0
- package/dist/campaign-groups-N4TZ2F3L.js +95 -0
- package/dist/campaign-groups-N4TZ2F3L.js.map +1 -0
- package/dist/campaign-writes-5XA727KI.js +170 -0
- package/dist/campaign-writes-5XA727KI.js.map +1 -0
- package/dist/campaign-writes-7YFRQIQT.js +165 -0
- package/dist/campaign-writes-7YFRQIQT.js.map +1 -0
- package/dist/campaigns-JPYNVFQI.js +76 -0
- package/dist/campaigns-JPYNVFQI.js.map +1 -0
- package/dist/campaigns-L43ZUKAI.js +107 -0
- package/dist/campaigns-L43ZUKAI.js.map +1 -0
- package/dist/campaigns-OD7Z332M.js +109 -0
- package/dist/campaigns-OD7Z332M.js.map +1 -0
- package/dist/campaigns-R4DXIR2Q.js +110 -0
- package/dist/campaigns-R4DXIR2Q.js.map +1 -0
- package/dist/canvas-57K7AGAP.js +46 -0
- package/dist/canvas-57K7AGAP.js.map +1 -0
- package/dist/capabilities-FVTZAFPV.js +144 -0
- package/dist/capabilities-FVTZAFPV.js.map +1 -0
- package/dist/cards-7H32TNMO.js +85 -0
- package/dist/cards-7H32TNMO.js.map +1 -0
- package/dist/catalog-OTICZPJA.js +64 -0
- package/dist/catalog-OTICZPJA.js.map +1 -0
- package/dist/catalogs-ABCQLCDU.js +128 -0
- package/dist/catalogs-ABCQLCDU.js.map +1 -0
- package/dist/changes-7ZIGNUW6.js +135 -0
- package/dist/changes-7ZIGNUW6.js.map +1 -0
- package/dist/chatgpt-B3NHRJUE.js +47 -0
- package/dist/chatgpt-B3NHRJUE.js.map +1 -0
- package/dist/chats-E7DBRHBF.js +262 -0
- package/dist/chats-E7DBRHBF.js.map +1 -0
- package/dist/chunk-2CV7LX23.js +474 -0
- package/dist/chunk-2CV7LX23.js.map +1 -0
- package/dist/chunk-2HCI5BXB.js +479 -0
- package/dist/chunk-2HCI5BXB.js.map +1 -0
- package/dist/chunk-2SQJL7ZN.js +56 -0
- package/dist/chunk-2SQJL7ZN.js.map +1 -0
- package/dist/chunk-2Y5V23PU.js +29 -0
- package/dist/chunk-2Y5V23PU.js.map +1 -0
- package/dist/chunk-32CPGJPL.js +149 -0
- package/dist/chunk-32CPGJPL.js.map +1 -0
- package/dist/chunk-3ACMDRSE.js +39 -0
- package/dist/chunk-3ACMDRSE.js.map +1 -0
- package/dist/chunk-3N4PZIIV.js +304 -0
- package/dist/chunk-3N4PZIIV.js.map +1 -0
- package/dist/chunk-3U7TDBIB.js +275 -0
- package/dist/chunk-3U7TDBIB.js.map +1 -0
- package/dist/chunk-3UDSYYND.js +42 -0
- package/dist/chunk-3UDSYYND.js.map +1 -0
- package/dist/chunk-3ZWWXAQZ.js +150 -0
- package/dist/chunk-3ZWWXAQZ.js.map +1 -0
- package/dist/chunk-4MH6LONO.js +274 -0
- package/dist/chunk-4MH6LONO.js.map +1 -0
- package/dist/chunk-4NZ47VXO.js +137 -0
- package/dist/chunk-4NZ47VXO.js.map +1 -0
- package/dist/chunk-564AEU2Q.js +541 -0
- package/dist/chunk-564AEU2Q.js.map +1 -0
- package/dist/chunk-5HYSKH77.js +315 -0
- package/dist/chunk-5HYSKH77.js.map +1 -0
- package/dist/chunk-5MBPIONY.js +29 -0
- package/dist/chunk-5MBPIONY.js.map +1 -0
- package/dist/chunk-5OVOLYY3.js +74 -0
- package/dist/chunk-5OVOLYY3.js.map +1 -0
- package/dist/chunk-5SJ3JNNY.js +6683 -0
- package/dist/chunk-5SJ3JNNY.js.map +1 -0
- package/dist/chunk-66USKCVY.js +4410 -0
- package/dist/chunk-66USKCVY.js.map +1 -0
- package/dist/chunk-6I7SYEYN.js +166 -0
- package/dist/chunk-6I7SYEYN.js.map +1 -0
- package/dist/chunk-6O7ISBC7.js +65 -0
- package/dist/chunk-6O7ISBC7.js.map +1 -0
- package/dist/chunk-752S7JF6.js +35 -0
- package/dist/chunk-752S7JF6.js.map +1 -0
- package/dist/chunk-77DN7R35.js +228 -0
- package/dist/chunk-77DN7R35.js.map +1 -0
- package/dist/chunk-7F7MFMLI.js +175 -0
- package/dist/chunk-7F7MFMLI.js.map +1 -0
- package/dist/chunk-7THBBTJJ.js +183 -0
- package/dist/chunk-7THBBTJJ.js.map +1 -0
- package/dist/chunk-7XU3HKMX.js +1599 -0
- package/dist/chunk-7XU3HKMX.js.map +1 -0
- package/dist/chunk-AEA5JV2X.js +92 -0
- package/dist/chunk-AEA5JV2X.js.map +1 -0
- package/dist/chunk-AFJGYJ7Z.js +45 -0
- package/dist/chunk-AFJGYJ7Z.js.map +1 -0
- package/dist/chunk-AR7PU7BB.js +76 -0
- package/dist/chunk-AR7PU7BB.js.map +1 -0
- package/dist/chunk-ASL7JFBD.js +96 -0
- package/dist/chunk-ASL7JFBD.js.map +1 -0
- package/dist/chunk-AUSKKFVH.js +84 -0
- package/dist/chunk-AUSKKFVH.js.map +1 -0
- package/dist/chunk-B52DCYL2.js +159 -0
- package/dist/chunk-B52DCYL2.js.map +1 -0
- package/dist/{chunk-XHC4LMK4.js → chunk-BVM5IRZW.js} +16 -8
- package/dist/chunk-BVM5IRZW.js.map +1 -0
- package/dist/chunk-CAMX6OHF.js +3182 -0
- package/dist/chunk-CAMX6OHF.js.map +1 -0
- package/dist/chunk-CYBLKMXQ.js +310 -0
- package/dist/chunk-CYBLKMXQ.js.map +1 -0
- package/dist/chunk-CZENWCBS.js +333 -0
- package/dist/chunk-CZENWCBS.js.map +1 -0
- package/dist/chunk-D5FY4FAK.js +24 -0
- package/dist/chunk-D5FY4FAK.js.map +1 -0
- package/dist/chunk-DGCUPJZD.js +39 -0
- package/dist/chunk-DGCUPJZD.js.map +1 -0
- package/dist/chunk-DNCLWSHO.js +41 -0
- package/dist/chunk-DNCLWSHO.js.map +1 -0
- package/dist/chunk-DX4GIDO7.js +296 -0
- package/dist/chunk-DX4GIDO7.js.map +1 -0
- package/dist/chunk-EDLZGTGN.js +216 -0
- package/dist/chunk-EDLZGTGN.js.map +1 -0
- package/dist/chunk-EDNX3AOS.js +76 -0
- package/dist/chunk-EDNX3AOS.js.map +1 -0
- package/dist/chunk-EF5DP6EB.js +52 -0
- package/dist/chunk-EF5DP6EB.js.map +1 -0
- package/dist/chunk-ERSX3MKH.js +34 -0
- package/dist/chunk-ERSX3MKH.js.map +1 -0
- package/dist/chunk-F3IJSR7O.js +346 -0
- package/dist/chunk-F3IJSR7O.js.map +1 -0
- package/dist/chunk-FKOECEVC.js +126 -0
- package/dist/chunk-FKOECEVC.js.map +1 -0
- package/dist/chunk-FYWWTMXP.js +2902 -0
- package/dist/chunk-FYWWTMXP.js.map +1 -0
- package/dist/chunk-G7AFVTUS.js +106 -0
- package/dist/chunk-G7AFVTUS.js.map +1 -0
- package/dist/chunk-GIW7ABMM.js +74 -0
- package/dist/chunk-GIW7ABMM.js.map +1 -0
- package/dist/chunk-GIWHHCD6.js +145 -0
- package/dist/chunk-GIWHHCD6.js.map +1 -0
- package/dist/chunk-GPZH5ASB.js +3151 -0
- package/dist/chunk-GPZH5ASB.js.map +1 -0
- package/dist/chunk-GRQ2AXDX.js +9 -0
- package/dist/chunk-GRQ2AXDX.js.map +1 -0
- package/dist/chunk-GXDLWBOY.js +73 -0
- package/dist/chunk-GXDLWBOY.js.map +1 -0
- package/dist/chunk-GYABNLWW.js +629 -0
- package/dist/chunk-GYABNLWW.js.map +1 -0
- package/dist/chunk-H7MLHG2I.js +94 -0
- package/dist/chunk-H7MLHG2I.js.map +1 -0
- package/dist/chunk-H7XVKLIY.js +206 -0
- package/dist/chunk-H7XVKLIY.js.map +1 -0
- package/dist/chunk-HAE4WWFQ.js +455 -0
- package/dist/chunk-HAE4WWFQ.js.map +1 -0
- package/dist/chunk-HDHWIEJJ.js +136 -0
- package/dist/chunk-HDHWIEJJ.js.map +1 -0
- package/dist/chunk-HJTIBTF7.js +98 -0
- package/dist/chunk-HJTIBTF7.js.map +1 -0
- package/dist/{chunk-VZEDAFAR.js → chunk-HLXWKMTK.js} +47 -8
- package/dist/chunk-HLXWKMTK.js.map +1 -0
- package/dist/{chunk-MF7YA62W.js → chunk-HREWXNTO.js} +10 -5
- package/dist/chunk-HREWXNTO.js.map +1 -0
- package/dist/chunk-HYXKRNRV.js +176 -0
- package/dist/chunk-HYXKRNRV.js.map +1 -0
- package/dist/chunk-I3DIZWN5.js +97 -0
- package/dist/chunk-I3DIZWN5.js.map +1 -0
- package/dist/chunk-IJMWEO4P.js +57 -0
- package/dist/chunk-IJMWEO4P.js.map +1 -0
- package/dist/chunk-IOCSDFF2.js +23992 -0
- package/dist/chunk-IOCSDFF2.js.map +1 -0
- package/dist/chunk-IVIJJXXT.js +62 -0
- package/dist/chunk-IVIJJXXT.js.map +1 -0
- package/dist/chunk-J57GWTPK.js +106 -0
- package/dist/chunk-J57GWTPK.js.map +1 -0
- package/dist/chunk-JPK34QPS.js +134 -0
- package/dist/chunk-JPK34QPS.js.map +1 -0
- package/dist/chunk-JRCFCIE3.js +188 -0
- package/dist/chunk-JRCFCIE3.js.map +1 -0
- package/dist/chunk-JUAIGJ2A.js +76 -0
- package/dist/chunk-JUAIGJ2A.js.map +1 -0
- package/dist/chunk-K5OQES4V.js +58 -0
- package/dist/chunk-K5OQES4V.js.map +1 -0
- package/dist/chunk-KBS5GH4T.js +1626 -0
- package/dist/chunk-KBS5GH4T.js.map +1 -0
- package/dist/chunk-KIGGMKAE.js +66 -0
- package/dist/chunk-KIGGMKAE.js.map +1 -0
- package/dist/chunk-KKJ4KJCW.js +29 -0
- package/dist/chunk-KKJ4KJCW.js.map +1 -0
- package/dist/chunk-KLK6KQLQ.js +55 -0
- package/dist/chunk-KLK6KQLQ.js.map +1 -0
- package/dist/chunk-KUZFWMJN.js +207 -0
- package/dist/chunk-KUZFWMJN.js.map +1 -0
- package/dist/chunk-KXGG6EQM.js +382 -0
- package/dist/chunk-KXGG6EQM.js.map +1 -0
- package/dist/chunk-KXRKPZZY.js +169 -0
- package/dist/chunk-KXRKPZZY.js.map +1 -0
- package/dist/chunk-KZUHRZ2C.js +5187 -0
- package/dist/chunk-KZUHRZ2C.js.map +1 -0
- package/dist/chunk-L45A3IYV.js +1079 -0
- package/dist/chunk-L45A3IYV.js.map +1 -0
- package/dist/chunk-LA6PPSNA.js +65 -0
- package/dist/chunk-LA6PPSNA.js.map +1 -0
- package/dist/chunk-LEIQAHWF.js +25 -0
- package/dist/chunk-LEIQAHWF.js.map +1 -0
- package/dist/chunk-LERWCRY5.js +297 -0
- package/dist/chunk-LERWCRY5.js.map +1 -0
- package/dist/chunk-M6UNISGO.js +66 -0
- package/dist/chunk-M6UNISGO.js.map +1 -0
- package/dist/chunk-MGKHFGLV.js +75 -0
- package/dist/chunk-MGKHFGLV.js.map +1 -0
- package/dist/chunk-MZWC6HHA.js +455 -0
- package/dist/chunk-MZWC6HHA.js.map +1 -0
- package/dist/chunk-N3XJ434P.js +197 -0
- package/dist/chunk-N3XJ434P.js.map +1 -0
- package/dist/chunk-NFSLRRIE.js +77 -0
- package/dist/chunk-NFSLRRIE.js.map +1 -0
- package/dist/chunk-NHU33T2S.js +60 -0
- package/dist/chunk-NHU33T2S.js.map +1 -0
- package/dist/chunk-NJEZM4OB.js +51 -0
- package/dist/chunk-NJEZM4OB.js.map +1 -0
- package/dist/chunk-O6QKCJE4.js +455 -0
- package/dist/chunk-O6QKCJE4.js.map +1 -0
- package/dist/chunk-OFFAMC5H.js +225 -0
- package/dist/chunk-OFFAMC5H.js.map +1 -0
- package/dist/chunk-OHGTCFFE.js +57 -0
- package/dist/chunk-OHGTCFFE.js.map +1 -0
- package/dist/chunk-P4NSJS54.js +20 -0
- package/dist/chunk-P4NSJS54.js.map +1 -0
- package/dist/chunk-P5T7OZKV.js +26 -0
- package/dist/chunk-P5T7OZKV.js.map +1 -0
- package/dist/chunk-PFBQERWX.js +10 -0
- package/dist/chunk-PFBQERWX.js.map +1 -0
- package/dist/chunk-PKTLHYH4.js +509 -0
- package/dist/chunk-PKTLHYH4.js.map +1 -0
- package/dist/chunk-PUPEGICD.js +103 -0
- package/dist/chunk-PUPEGICD.js.map +1 -0
- package/dist/chunk-Q6ULQMWG.js +41 -0
- package/dist/chunk-Q6ULQMWG.js.map +1 -0
- package/dist/chunk-QO23YHLK.js +84 -0
- package/dist/chunk-QO23YHLK.js.map +1 -0
- package/dist/chunk-QSGIWV4P.js +337 -0
- package/dist/chunk-QSGIWV4P.js.map +1 -0
- package/dist/chunk-R5OQM7FF.js +179 -0
- package/dist/chunk-R5OQM7FF.js.map +1 -0
- package/dist/chunk-RFB6RYKA.js +111 -0
- package/dist/chunk-RFB6RYKA.js.map +1 -0
- package/dist/chunk-RGIXQEGJ.js +502 -0
- package/dist/chunk-RGIXQEGJ.js.map +1 -0
- package/dist/chunk-RODLBWIR.js +592 -0
- package/dist/chunk-RODLBWIR.js.map +1 -0
- package/dist/chunk-S4LZ7KTG.js +160 -0
- package/dist/chunk-S4LZ7KTG.js.map +1 -0
- package/dist/chunk-SHTESUB6.js +1442 -0
- package/dist/chunk-SHTESUB6.js.map +1 -0
- package/dist/chunk-SJH4EOZH.js +23 -0
- package/dist/chunk-SJH4EOZH.js.map +1 -0
- package/dist/chunk-SLB46MSS.js +64 -0
- package/dist/chunk-SLB46MSS.js.map +1 -0
- package/dist/chunk-SMIENBNX.js +6212 -0
- package/dist/chunk-SMIENBNX.js.map +1 -0
- package/dist/chunk-T7GT22KA.js +494 -0
- package/dist/chunk-T7GT22KA.js.map +1 -0
- package/dist/chunk-T7M4WFNV.js +172 -0
- package/dist/chunk-T7M4WFNV.js.map +1 -0
- package/dist/chunk-TLQ23DDW.js +19 -0
- package/dist/chunk-TLQ23DDW.js.map +1 -0
- package/dist/chunk-TMIDUSOR.js +665 -0
- package/dist/chunk-TMIDUSOR.js.map +1 -0
- package/dist/{chunk-WLDM2TRF.js → chunk-TPXI2GCW.js} +4 -4
- package/dist/chunk-U6VRBDNQ.js +1830 -0
- package/dist/chunk-U6VRBDNQ.js.map +1 -0
- package/dist/chunk-U7BBXM67.js +1743 -0
- package/dist/chunk-U7BBXM67.js.map +1 -0
- package/dist/chunk-UI6BKYQD.js +225 -0
- package/dist/chunk-UI6BKYQD.js.map +1 -0
- package/dist/chunk-UOI5S62H.js +846 -0
- package/dist/chunk-UOI5S62H.js.map +1 -0
- package/dist/chunk-USL5ARRE.js +26 -0
- package/dist/chunk-USL5ARRE.js.map +1 -0
- package/dist/chunk-UYC45JNS.js +139 -0
- package/dist/chunk-UYC45JNS.js.map +1 -0
- package/dist/chunk-VNKVBY54.js +363 -0
- package/dist/chunk-VNKVBY54.js.map +1 -0
- package/dist/chunk-VS4C7VAR.js +533 -0
- package/dist/chunk-VS4C7VAR.js.map +1 -0
- package/dist/chunk-W4W4ZRBP.js +191 -0
- package/dist/chunk-W4W4ZRBP.js.map +1 -0
- package/dist/chunk-WN4KX7GE.js +25 -0
- package/dist/chunk-WN4KX7GE.js.map +1 -0
- package/dist/chunk-WNFTXSGR.js +111 -0
- package/dist/chunk-WNFTXSGR.js.map +1 -0
- package/dist/chunk-WOTDHRNF.js +2109 -0
- package/dist/chunk-WOTDHRNF.js.map +1 -0
- package/dist/chunk-XGWKTYXQ.js +67 -0
- package/dist/chunk-XGWKTYXQ.js.map +1 -0
- package/dist/chunk-XIGIJJSF.js +66 -0
- package/dist/chunk-XIGIJJSF.js.map +1 -0
- package/dist/chunk-XNUXB63I.js +817 -0
- package/dist/chunk-XNUXB63I.js.map +1 -0
- package/dist/chunk-XQ3CCNJD.js +610 -0
- package/dist/chunk-XQ3CCNJD.js.map +1 -0
- package/dist/chunk-XX6ZMCY5.js +4227 -0
- package/dist/chunk-XX6ZMCY5.js.map +1 -0
- package/dist/chunk-Y362QH54.js +98 -0
- package/dist/chunk-Y362QH54.js.map +1 -0
- package/dist/chunk-Y4T6ATDQ.js +74 -0
- package/dist/chunk-Y4T6ATDQ.js.map +1 -0
- package/dist/chunk-YQSBHWOI.js +41 -0
- package/dist/chunk-YU26SDNT.js +46 -0
- package/dist/chunk-YU26SDNT.js.map +1 -0
- package/dist/chunk-YULENNA7.js +501 -0
- package/dist/chunk-YULENNA7.js.map +1 -0
- package/dist/chunk-YYSZYSAG.js +150 -0
- package/dist/chunk-YYSZYSAG.js.map +1 -0
- package/dist/chunk-Z3ENMCFE.js +94 -0
- package/dist/chunk-Z3ENMCFE.js.map +1 -0
- package/dist/chunk-ZH7ZM3ZM.js +125 -0
- package/dist/chunk-ZH7ZM3ZM.js.map +1 -0
- package/dist/chunk-ZIXHS6AM.js +42 -0
- package/dist/chunk-ZIXHS6AM.js.map +1 -0
- package/dist/chunk-ZLLJKSNS.js +96 -0
- package/dist/chunk-ZLLJKSNS.js.map +1 -0
- package/dist/claim-LF6VQ7OR.js +197 -0
- package/dist/claim-LF6VQ7OR.js.map +1 -0
- package/dist/cli.js +104 -70026
- package/dist/cli.js.map +1 -1
- package/dist/client-26SAJ46D.js +19 -0
- package/dist/code-MOWYJMDH.js +76 -0
- package/dist/code-MOWYJMDH.js.map +1 -0
- package/dist/companies-6HSK5BLK.js +195 -0
- package/dist/companies-6HSK5BLK.js.map +1 -0
- package/dist/complete-2PUAFQEC.js +81 -0
- package/dist/complete-2PUAFQEC.js.map +1 -0
- package/dist/config-X6GKOVQ6.js +88 -0
- package/dist/config-X6GKOVQ6.js.map +1 -0
- package/dist/connect-RXPMAJQI.js +42 -0
- package/dist/content-UYZC4AKN.js +85 -0
- package/dist/content-UYZC4AKN.js.map +1 -0
- package/dist/conversation-Y3NB2VDI.js +93 -0
- package/dist/conversation-Y3NB2VDI.js.map +1 -0
- package/dist/conversion-report-R4GJWWTK.js +125 -0
- package/dist/conversion-report-R4GJWWTK.js.map +1 -0
- package/dist/conversion-upload-command-YP4DGTPP.js +438 -0
- package/dist/conversion-upload-command-YP4DGTPP.js.map +1 -0
- package/dist/conversion-writes-WHFFUWWL.js +120 -0
- package/dist/conversion-writes-WHFFUWWL.js.map +1 -0
- package/dist/conversions-K7C32DPW.js +135 -0
- package/dist/conversions-K7C32DPW.js.map +1 -0
- package/dist/conversions-OXJAX5GB.js +76 -0
- package/dist/conversions-OXJAX5GB.js.map +1 -0
- package/dist/countries-PBXNB3BR.js +82 -0
- package/dist/countries-PBXNB3BR.js.map +1 -0
- package/dist/create-AJ4KPSJ4.js +59 -0
- package/dist/create-AJ4KPSJ4.js.map +1 -0
- package/dist/create-ALKOAD5J.js +138 -0
- package/dist/create-ALKOAD5J.js.map +1 -0
- package/dist/create-HTKZMXKB.js +207 -0
- package/dist/create-HTKZMXKB.js.map +1 -0
- package/dist/create-TZMAOFBR.js +236 -0
- package/dist/create-TZMAOFBR.js.map +1 -0
- package/dist/creatives-BJYJFVXJ.js +51 -0
- package/dist/creatives-BJYJFVXJ.js.map +1 -0
- package/dist/creatives-OZHVU4WB.js +182 -0
- package/dist/creatives-OZHVU4WB.js.map +1 -0
- package/dist/creatives-VMGY5SU4.js +87 -0
- package/dist/creatives-VMGY5SU4.js.map +1 -0
- package/dist/credentials-FY4UH6TF.js +287 -0
- package/dist/credentials-FY4UH6TF.js.map +1 -0
- package/dist/critique-B3H7QFM2.js +1449 -0
- package/dist/critique-B3H7QFM2.js.map +1 -0
- package/dist/critique-YZBOA27H.js +216 -0
- package/dist/critique-YZBOA27H.js.map +1 -0
- package/dist/crm-2IBLUHDB.js +318 -0
- package/dist/crm-2IBLUHDB.js.map +1 -0
- package/dist/crm-YMYO4U53.js +224 -0
- package/dist/crm-YMYO4U53.js.map +1 -0
- package/dist/crop-U3AD4DDR.js +113 -0
- package/dist/crop-U3AD4DDR.js.map +1 -0
- package/dist/currency-S6KWZSZ6.js +88 -0
- package/dist/currency-S6KWZSZ6.js.map +1 -0
- package/dist/custom-conversions-FABS6YVT.js +125 -0
- package/dist/custom-conversions-FABS6YVT.js.map +1 -0
- package/dist/customers-P6LLLJHK.js +56 -0
- package/dist/decide-YTHCBKM6.js +199 -0
- package/dist/decide-YTHCBKM6.js.map +1 -0
- package/dist/delete-B2TDEW7H.js +63 -0
- package/dist/delete-B2TDEW7H.js.map +1 -0
- package/dist/delete-DZUDLYPC.js +69 -0
- package/dist/delete-DZUDLYPC.js.map +1 -0
- package/dist/delete-NZGZP4YP.js +71 -0
- package/dist/delete-NZGZP4YP.js.map +1 -0
- package/dist/delete-SDOZNDWQ.js +54 -0
- package/dist/delete-SDOZNDWQ.js.map +1 -0
- package/dist/delete-VQMU56OH.js +71 -0
- package/dist/delete-VQMU56OH.js.map +1 -0
- package/dist/delete-WKQPMVAM.js +66 -0
- package/dist/delete-WKQPMVAM.js.map +1 -0
- package/dist/demographics-Q3DCXULY.js +138 -0
- package/dist/demographics-Q3DCXULY.js.map +1 -0
- package/dist/describe-JNTCQZNL.js +97 -0
- package/dist/describe-JNTCQZNL.js.map +1 -0
- package/dist/describe-MT4334NG.js +97 -0
- package/dist/describe-MT4334NG.js.map +1 -0
- package/dist/dimensions-FEZUJRAG.js +101 -0
- package/dist/dimensions-FEZUJRAG.js.map +1 -0
- package/dist/discard-NEZM5CHF.js +66 -0
- package/dist/discard-NEZM5CHF.js.map +1 -0
- package/dist/discover-4GD7QSF5.js +93 -0
- package/dist/discover-4GD7QSF5.js.map +1 -0
- package/dist/discover-6K3IOYXR.js +172 -0
- package/dist/discover-6K3IOYXR.js.map +1 -0
- package/dist/domain-7Y256IDR.js +98 -0
- package/dist/domain-7Y256IDR.js.map +1 -0
- package/dist/download-L27HWEOE.js +299 -0
- package/dist/download-L27HWEOE.js.map +1 -0
- package/dist/draft-25G2P2TE.js +281 -0
- package/dist/draft-25G2P2TE.js.map +1 -0
- package/dist/draft-F6TUGXAY.js +307 -0
- package/dist/draft-F6TUGXAY.js.map +1 -0
- package/dist/draft-KLULNBWP.js +233 -0
- package/dist/draft-KLULNBWP.js.map +1 -0
- package/dist/draft-LY5ZPF73.js +217 -0
- package/dist/draft-LY5ZPF73.js.map +1 -0
- package/dist/draft-M4ZHDQ46.js +306 -0
- package/dist/draft-M4ZHDQ46.js.map +1 -0
- package/dist/draft-MI7RWY2K.js +100 -0
- package/dist/draft-MI7RWY2K.js.map +1 -0
- package/dist/draft-P4IVYTY3.js +103 -0
- package/dist/draft-P4IVYTY3.js.map +1 -0
- package/dist/draft-QQMCVDDS.js +328 -0
- package/dist/draft-QQMCVDDS.js.map +1 -0
- package/dist/engine/index.d.ts +213 -127
- package/dist/engine/index.js +18 -4
- package/dist/{env-4P5HOGNA.js → env-FBTHZKGN.js} +12 -2
- package/dist/env-FBTHZKGN.js.map +1 -0
- package/dist/experiment-HDYTJPUY.js +1397 -0
- package/dist/experiment-HDYTJPUY.js.map +1 -0
- package/dist/export-TS5GYEMA.js +168 -0
- package/dist/export-TS5GYEMA.js.map +1 -0
- package/dist/extract-QVQFUOIK.js +113 -0
- package/dist/extract-QVQFUOIK.js.map +1 -0
- package/dist/facets-7MBSM7BP.js +114 -0
- package/dist/facets-7MBSM7BP.js.map +1 -0
- package/dist/favorites-7QP7BY5K.js +178 -0
- package/dist/favorites-7QP7BY5K.js.map +1 -0
- package/dist/feed-EETRO2FG.js +177 -0
- package/dist/feed-EETRO2FG.js.map +1 -0
- package/dist/feedback-ZOUL22TP.js +66 -0
- package/dist/feedback-ZOUL22TP.js.map +1 -0
- package/dist/feedback-record-XFFJRKS6.js +177 -0
- package/dist/feedback-record-XFFJRKS6.js.map +1 -0
- package/dist/fetch-QE3EB756.js +176 -0
- package/dist/fetch-QE3EB756.js.map +1 -0
- package/dist/fetch-Z7O3ZL4D.js +139 -0
- package/dist/fetch-Z7O3ZL4D.js.map +1 -0
- package/dist/find-KAQ6JDMO.js +134 -0
- package/dist/find-KAQ6JDMO.js.map +1 -0
- package/dist/fit-MY5GVZZZ.js +45 -0
- package/dist/fit-MY5GVZZZ.js.map +1 -0
- package/dist/flows-C67KEMDU.js +247 -0
- package/dist/flows-C67KEMDU.js.map +1 -0
- package/dist/follow-IX4XVK5Y.js +94 -0
- package/dist/follow-IX4XVK5Y.js.map +1 -0
- package/dist/follow-competitors-UZBUOYTH.js +112 -0
- package/dist/follow-competitors-UZBUOYTH.js.map +1 -0
- package/dist/following-VGOIUCIZ.js +113 -0
- package/dist/following-VGOIUCIZ.js.map +1 -0
- package/dist/fonts-UR7XZ5XZ.js +34 -0
- package/dist/fonts-UR7XZ5XZ.js.map +1 -0
- package/dist/forecast-3F4SZNAK.js +104 -0
- package/dist/forecast-3F4SZNAK.js.map +1 -0
- package/dist/forecast-K5E7CTKX.js +168 -0
- package/dist/forecast-K5E7CTKX.js.map +1 -0
- package/dist/funding-H5YO37OW.js +85 -0
- package/dist/funding-H5YO37OW.js.map +1 -0
- package/dist/funnel-2PPEPAMY.js +394 -0
- package/dist/funnel-2PPEPAMY.js.map +1 -0
- package/dist/ga4-YHJ2XMLC.js +55 -0
- package/dist/ga4-YHJ2XMLC.js.map +1 -0
- package/dist/generate-M2ZX5DMI.js +262 -0
- package/dist/generate-M2ZX5DMI.js.map +1 -0
- package/dist/get-4EYKCZ6F.js +59 -0
- package/dist/get-4EYKCZ6F.js.map +1 -0
- package/dist/get-637GALM2.js +63 -0
- package/dist/get-637GALM2.js.map +1 -0
- package/dist/get-AZARFR6O.js +61 -0
- package/dist/get-AZARFR6O.js.map +1 -0
- package/dist/get-BPMEHRUG.js +56 -0
- package/dist/get-BPMEHRUG.js.map +1 -0
- package/dist/get-MQ6MMIZ7.js +78 -0
- package/dist/get-MQ6MMIZ7.js.map +1 -0
- package/dist/get-N4BPOQCB.js +63 -0
- package/dist/get-N4BPOQCB.js.map +1 -0
- package/dist/get-RPZHLQ56.js +92 -0
- package/dist/get-RPZHLQ56.js.map +1 -0
- package/dist/gif-6PRTB2VR.js +94 -0
- package/dist/gif-6PRTB2VR.js.map +1 -0
- package/dist/google-4XAYE4OI.js +3190 -0
- package/dist/google-4XAYE4OI.js.map +1 -0
- package/dist/google-52JRH7X3.js +136 -0
- package/dist/google-52JRH7X3.js.map +1 -0
- package/dist/google-ads-PWX7OF5Z.js +195 -0
- package/dist/google-ads-PWX7OF5Z.js.map +1 -0
- package/dist/group-AAZ5QKC3.js +43 -0
- package/dist/group-AAZ5QKC3.js.map +1 -0
- package/dist/group-GSYCZORC.js +43 -0
- package/dist/group-GSYCZORC.js.map +1 -0
- package/dist/gsc-TS5T7ML2.js +30 -0
- package/dist/gsc-TS5T7ML2.js.map +1 -0
- package/dist/history-EW6LFFCX.js +67 -0
- package/dist/history-EW6LFFCX.js.map +1 -0
- package/dist/history-XI5ABCFO.js +133 -0
- package/dist/history-XI5ABCFO.js.map +1 -0
- package/dist/hubspot-AVUOILRE.js +779 -0
- package/dist/hubspot-AVUOILRE.js.map +1 -0
- package/dist/icon-K75KI6BV.js +137 -0
- package/dist/icon-K75KI6BV.js.map +1 -0
- package/dist/ideas-UCPV3KTM.js +35 -0
- package/dist/ideas-UCPV3KTM.js.map +1 -0
- package/dist/images-CD53I2W5.js +90 -0
- package/dist/images-CD53I2W5.js.map +1 -0
- package/dist/improve-L3BW4EQG.js +86 -0
- package/dist/improve-L3BW4EQG.js.map +1 -0
- package/dist/ingest-KRJOYTCQ.js +107 -0
- package/dist/ingest-KRJOYTCQ.js.map +1 -0
- package/dist/ingest-WE3SPPND.js +23 -0
- package/dist/ingest-WE3SPPND.js.map +1 -0
- package/dist/insights-PELVD4RY.js +122 -0
- package/dist/insights-PELVD4RY.js.map +1 -0
- package/dist/insights-XCA4BUJW.js +423 -0
- package/dist/insights-XCA4BUJW.js.map +1 -0
- package/dist/inspect-QKETG5UJ.js +189 -0
- package/dist/inspect-QKETG5UJ.js.map +1 -0
- package/dist/inspiration-Y2J2PUPC.js +53 -0
- package/dist/inspiration-Y2J2PUPC.js.map +1 -0
- package/dist/intent-YJOJGNVJ.js +95 -0
- package/dist/intent-YJOJGNVJ.js.map +1 -0
- package/dist/job-E2U4FS5P.js +202 -0
- package/dist/job-E2U4FS5P.js.map +1 -0
- package/dist/job-create-DFYCHVQ7.js +109 -0
- package/dist/job-create-DFYCHVQ7.js.map +1 -0
- package/dist/job-status-FFPMTSHB.js +74 -0
- package/dist/job-status-FFPMTSHB.js.map +1 -0
- package/dist/keep-GYZS2UTL.js +78 -0
- package/dist/keep-GYZS2UTL.js.map +1 -0
- package/dist/keyword-gap-QU7O7UKC.js +130 -0
- package/dist/keyword-gap-QU7O7UKC.js.map +1 -0
- package/dist/keyword-metrics-HLCM3QU7.js +197 -0
- package/dist/keyword-metrics-HLCM3QU7.js.map +1 -0
- package/dist/keywords-for-site-BDKPQKWB.js +128 -0
- package/dist/keywords-for-site-BDKPQKWB.js.map +1 -0
- package/dist/landing-4K6XYNFM.js +28 -0
- package/dist/landing-4K6XYNFM.js.map +1 -0
- package/dist/landings-F7LOAEJE.js +151 -0
- package/dist/landings-F7LOAEJE.js.map +1 -0
- package/dist/languages-P3ZM6R2A.js +40 -0
- package/dist/languages-P3ZM6R2A.js.map +1 -0
- package/dist/languages-XEJKTIFP.js +55 -0
- package/dist/languages-XEJKTIFP.js.map +1 -0
- package/dist/launches-TCFAYUA5.js +19 -0
- package/dist/launches-TCFAYUA5.js.map +1 -0
- package/dist/layerize-ZSKFIPZA.js +190 -0
- package/dist/layerize-ZSKFIPZA.js.map +1 -0
- package/dist/leads-GDF4S2AM.js +90 -0
- package/dist/leads-GDF4S2AM.js.map +1 -0
- package/dist/leads-TPB5OFSQ.js +293 -0
- package/dist/leads-TPB5OFSQ.js.map +1 -0
- package/dist/learn-NMFEA5H5.js +203 -0
- package/dist/learn-NMFEA5H5.js.map +1 -0
- package/dist/library-IP2UKNRU.js +109 -0
- package/dist/library-IP2UKNRU.js.map +1 -0
- package/dist/lighthouse-57XBJRCO.js +75 -0
- package/dist/lighthouse-57XBJRCO.js.map +1 -0
- package/dist/line-item-writes-O6SSS5NQ.js +208 -0
- package/dist/line-item-writes-O6SSS5NQ.js.map +1 -0
- package/dist/line-items-ZZAKH3YZ.js +103 -0
- package/dist/line-items-ZZAKH3YZ.js.map +1 -0
- package/dist/link-CRY57R3E.js +64 -0
- package/dist/link-CRY57R3E.js.map +1 -0
- package/dist/linkedin-WC7LGYPP.js +1008 -0
- package/dist/linkedin-WC7LGYPP.js.map +1 -0
- package/dist/list-6IKPWQGG.js +57 -0
- package/dist/list-6IKPWQGG.js.map +1 -0
- package/dist/list-CAUH3BMG.js +65 -0
- package/dist/list-CAUH3BMG.js.map +1 -0
- package/dist/list-CWAKX5TH.js +63 -0
- package/dist/list-CWAKX5TH.js.map +1 -0
- package/dist/list-FJ5FSVL6.js +151 -0
- package/dist/list-FJ5FSVL6.js.map +1 -0
- package/dist/list-GTOSN7DP.js +50 -0
- package/dist/list-GTOSN7DP.js.map +1 -0
- package/dist/list-HLJP4NVE.js +51 -0
- package/dist/list-HLJP4NVE.js.map +1 -0
- package/dist/list-LCUPF7EF.js +76 -0
- package/dist/list-LCUPF7EF.js.map +1 -0
- package/dist/list-NH4ZRZTL.js +303 -0
- package/dist/list-NH4ZRZTL.js.map +1 -0
- package/dist/locations-2BYWKIYA.js +67 -0
- package/dist/locations-2BYWKIYA.js.map +1 -0
- package/dist/locations-LVVDOSXO.js +40 -0
- package/dist/locations-LVVDOSXO.js.map +1 -0
- package/dist/log-6JOWOY5G.js +92 -0
- package/dist/log-6JOWOY5G.js.map +1 -0
- package/dist/logo-AJK2TDQU.js +18 -0
- package/dist/logo-AJK2TDQU.js.map +1 -0
- package/dist/lookup-H5GEM77H.js +22 -0
- package/dist/lookup-H5GEM77H.js.map +1 -0
- package/dist/make-Q2AMLCWE.js +640 -0
- package/dist/make-Q2AMLCWE.js.map +1 -0
- package/dist/map-4KOYFHAN.js +404 -0
- package/dist/map-4KOYFHAN.js.map +1 -0
- package/dist/mcp-LSS2DHYL.js +463 -0
- package/dist/mcp-LSS2DHYL.js.map +1 -0
- package/dist/media-JBCN6V4X.js +15 -0
- package/dist/media-JBCN6V4X.js.map +1 -0
- package/dist/media-RAGEJTZX.js +89 -0
- package/dist/media-RAGEJTZX.js.map +1 -0
- package/dist/media-sources-GSPAV7HT.js +32 -0
- package/dist/media-sources-GSPAV7HT.js.map +1 -0
- package/dist/members-GUUVEK2Y.js +44 -0
- package/dist/members-GUUVEK2Y.js.map +1 -0
- package/dist/meta-Z37ZR3PJ.js +69 -0
- package/dist/meta-Z37ZR3PJ.js.map +1 -0
- package/dist/metrics-KW6SDULI.js +152 -0
- package/dist/metrics-KW6SDULI.js.map +1 -0
- package/dist/models-5J4WFUD3.js +155 -0
- package/dist/models-5J4WFUD3.js.map +1 -0
- package/dist/normalize-DSFVTRXN.js +806 -0
- package/dist/normalize-DSFVTRXN.js.map +1 -0
- package/dist/normalize-EUDI5HEM.js +141 -0
- package/dist/normalize-EUDI5HEM.js.map +1 -0
- package/dist/options-P4PPJQH4.js +121 -0
- package/dist/options-P4PPJQH4.js.map +1 -0
- package/dist/output-DTCLVPUF.js +24 -0
- package/dist/output-DTCLVPUF.js.map +1 -0
- package/dist/page-N2ZO3O7F.js +105 -0
- package/dist/page-N2ZO3O7F.js.map +1 -0
- package/dist/pages-FQ4CBAJ2.js +66 -0
- package/dist/pages-FQ4CBAJ2.js.map +1 -0
- package/dist/performance-A66LYIZX.js +24 -0
- package/dist/performance-A66LYIZX.js.map +1 -0
- package/dist/pinterest-NV5XTNJE.js +96 -0
- package/dist/pinterest-NV5XTNJE.js.map +1 -0
- package/dist/pixels-CTJ43FZ4.js +108 -0
- package/dist/pixels-CTJ43FZ4.js.map +1 -0
- package/dist/pixels-HKINGZCH.js +60 -0
- package/dist/pixels-HKINGZCH.js.map +1 -0
- package/dist/plan-ZYTWLGWK.js +207 -0
- package/dist/plan-ZYTWLGWK.js.map +1 -0
- package/dist/preview-5ROBOQG7.js +169 -0
- package/dist/preview-5ROBOQG7.js.map +1 -0
- package/dist/profile-Q3PHR6FU.js +159 -0
- package/dist/profile-Q3PHR6FU.js.map +1 -0
- package/dist/promoted-tweet-writes-AEOUK2LK.js +180 -0
- package/dist/promoted-tweet-writes-AEOUK2LK.js.map +1 -0
- package/dist/promoted-tweets-L2CEC2BJ.js +119 -0
- package/dist/promoted-tweets-L2CEC2BJ.js.map +1 -0
- package/dist/properties-WLL6M2P6.js +101 -0
- package/dist/properties-WLL6M2P6.js.map +1 -0
- package/dist/publish-KHNR5ARF.js +322 -0
- package/dist/publish-KHNR5ARF.js.map +1 -0
- package/dist/query-A34J7BGX.js +61 -0
- package/dist/query-A34J7BGX.js.map +1 -0
- package/dist/query-IYZN5KHO.js +236 -0
- package/dist/query-IYZN5KHO.js.map +1 -0
- package/dist/query-UN2P6DBA.js +247 -0
- package/dist/query-UN2P6DBA.js.map +1 -0
- package/dist/questionnaire-Z2ZIKNBV.js +93 -0
- package/dist/questionnaire-Z2ZIKNBV.js.map +1 -0
- package/dist/read-GM7PQYJA.js +141 -0
- package/dist/read-GM7PQYJA.js.map +1 -0
- package/dist/reddit-5NPFULGD.js +26 -0
- package/dist/reddit-5NPFULGD.js.map +1 -0
- package/dist/refresh-FGXW4Y4X.js +94 -0
- package/dist/refresh-FGXW4Y4X.js.map +1 -0
- package/dist/release-OKZMC73N.js +60 -0
- package/dist/release-OKZMC73N.js.map +1 -0
- package/dist/relevant-pages-J76ZKNKF.js +99 -0
- package/dist/relevant-pages-J76ZKNKF.js.map +1 -0
- package/dist/remove-CA2J6ACH.js +50 -0
- package/dist/remove-CA2J6ACH.js.map +1 -0
- package/dist/remove-GOYW2G4R.js +48 -0
- package/dist/remove-GOYW2G4R.js.map +1 -0
- package/dist/reopen-XPKSOE6O.js +63 -0
- package/dist/reopen-XPKSOE6O.js.map +1 -0
- package/dist/rerun-2ERJV4WC.js +86 -0
- package/dist/rerun-2ERJV4WC.js.map +1 -0
- package/dist/research-FZ63UZTE.js +62 -0
- package/dist/research-FZ63UZTE.js.map +1 -0
- package/dist/research-YGQQ6CNG.js +262 -0
- package/dist/research-YGQQ6CNG.js.map +1 -0
- package/dist/reset-BGPZ4HMA.js +54 -0
- package/dist/reset-BGPZ4HMA.js.map +1 -0
- package/dist/reset-HTD6LCIT.js +54 -0
- package/dist/reset-HTD6LCIT.js.map +1 -0
- package/dist/resolve-NRDZ6N2B.js +121 -0
- package/dist/resolve-NRDZ6N2B.js.map +1 -0
- package/dist/retry-PF4BGKJV.js +60 -0
- package/dist/retry-PF4BGKJV.js.map +1 -0
- package/dist/retry-XL26JDAV.js +62 -0
- package/dist/retry-XL26JDAV.js.map +1 -0
- package/dist/retry-failed-BEFWRV4Z.js +45 -0
- package/dist/retry-failed-BEFWRV4Z.js.map +1 -0
- package/dist/run-EMJLI7LR.js +65 -0
- package/dist/run-EMJLI7LR.js.map +1 -0
- package/dist/run-L5K44UEA.js +61 -0
- package/dist/run-L5K44UEA.js.map +1 -0
- package/dist/scaffold-ad-AY2OL7RI.js +1550 -0
- package/dist/scaffold-ad-AY2OL7RI.js.map +1 -0
- package/dist/scaffold-static-ad-FXYE46MT.js +973 -0
- package/dist/scaffold-static-ad-FXYE46MT.js.map +1 -0
- package/dist/scaffold-video-533BT6RX.js +874 -0
- package/dist/scaffold-video-533BT6RX.js.map +1 -0
- package/dist/schedule-KQ7UIR3N.js +66 -0
- package/dist/schedule-KQ7UIR3N.js.map +1 -0
- package/dist/schedule-PKPNSISL.js +61 -0
- package/dist/schedule-PKPNSISL.js.map +1 -0
- package/dist/scheduled-agents-LP5LITA3.js +49 -0
- package/dist/scheduled-agents-LP5LITA3.js.map +1 -0
- package/dist/schema-B6J6VPTO.js +132 -0
- package/dist/schema-B6J6VPTO.js.map +1 -0
- package/dist/schema-QXTDLZVC.js +63 -0
- package/dist/schema-QXTDLZVC.js.map +1 -0
- package/dist/scrape-7YKJWFZE.js +2241 -0
- package/dist/scrape-7YKJWFZE.js.map +1 -0
- package/dist/screenshot-ZHBSG3SI.js +102 -0
- package/dist/screenshot-ZHBSG3SI.js.map +1 -0
- package/dist/search-332KFYZ6.js +224 -0
- package/dist/search-332KFYZ6.js.map +1 -0
- package/dist/search-4PBMXXUY.js +91 -0
- package/dist/search-4PBMXXUY.js.map +1 -0
- package/dist/search-6WNUKCMP.js +174 -0
- package/dist/search-6WNUKCMP.js.map +1 -0
- package/dist/search-AVNUU6TJ.js +26 -0
- package/dist/search-AVNUU6TJ.js.map +1 -0
- package/dist/search-F5INRFFK.js +92 -0
- package/dist/search-F5INRFFK.js.map +1 -0
- package/dist/search-copy-DZVBYG2B.js +168 -0
- package/dist/search-copy-DZVBYG2B.js.map +1 -0
- package/dist/seeds-5JTQN5WI.js +101 -0
- package/dist/seeds-5JTQN5WI.js.map +1 -0
- package/dist/select-RSGLDQ5Z.js +96 -0
- package/dist/select-RSGLDQ5Z.js.map +1 -0
- package/dist/sends-3L6QBS46.js +309 -0
- package/dist/sends-3L6QBS46.js.map +1 -0
- package/dist/sequences-YKFV7BDH.js +146 -0
- package/dist/sequences-YKFV7BDH.js.map +1 -0
- package/dist/set-prompt-7WWJI6XW.js +188 -0
- package/dist/set-prompt-7WWJI6XW.js.map +1 -0
- package/dist/setup-links-6H5ONDCQ.js +141 -0
- package/dist/setup-links-6H5ONDCQ.js.map +1 -0
- package/dist/{shared-6762QE6R.js → shared-QAMP7FZV.js} +8 -6
- package/dist/shared-QAMP7FZV.js.map +1 -0
- package/dist/shopify-2OY3J3OY.js +3692 -0
- package/dist/shopify-2OY3J3OY.js.map +1 -0
- package/dist/site-TBPERLY3.js +177 -0
- package/dist/site-TBPERLY3.js.map +1 -0
- package/dist/sitemaps-XPGLW24S.js +87 -0
- package/dist/sitemaps-XPGLW24S.js.map +1 -0
- package/dist/sites-WMBY2HJV.js +101 -0
- package/dist/sites-WMBY2HJV.js.map +1 -0
- package/dist/skills-3HEILQCU.js +47 -0
- package/dist/skills-3HEILQCU.js.map +1 -0
- package/dist/sources-JFQKTK2L.js +421 -0
- package/dist/sources-JFQKTK2L.js.map +1 -0
- package/dist/sources-Q3I6DDV7.js +30 -0
- package/dist/sources-Q3I6DDV7.js.map +1 -0
- package/dist/stale-CAXBLZKJ.js +66 -0
- package/dist/stale-CAXBLZKJ.js.map +1 -0
- package/dist/stats-GNILHSKK.js +34 -0
- package/dist/stats-GNILHSKK.js.map +1 -0
- package/dist/status-LIZWJYS4.js +62 -0
- package/dist/status-LIZWJYS4.js.map +1 -0
- package/dist/sticker-KCV3VZHY.js +94 -0
- package/dist/sticker-KCV3VZHY.js.map +1 -0
- package/dist/stock-VTORKR4C.js +179 -0
- package/dist/stock-VTORKR4C.js.map +1 -0
- package/dist/studio-QCRA6BY5.js +49 -0
- package/dist/studio-QCRA6BY5.js.map +1 -0
- package/dist/sync-455DB46Y.js +54 -0
- package/dist/sync-455DB46Y.js.map +1 -0
- package/dist/sync-A4KKQ3B6.js +265 -0
- package/dist/sync-A4KKQ3B6.js.map +1 -0
- package/dist/sync-ULKWDFXM.js +54 -0
- package/dist/sync-ULKWDFXM.js.map +1 -0
- package/dist/sync-definition-P6QTHJJ6.js +55 -0
- package/dist/sync-definition-P6QTHJJ6.js.map +1 -0
- package/dist/tag-manager-E7QTXBWQ.js +43 -0
- package/dist/tag-manager-E7QTXBWQ.js.map +1 -0
- package/dist/tags-4Q4I5GQJ.js +20 -0
- package/dist/tags-4Q4I5GQJ.js.map +1 -0
- package/dist/tags-AMEVAQZ4.js +26 -0
- package/dist/tags-AMEVAQZ4.js.map +1 -0
- package/dist/tags-DPLOLH3E.js +20 -0
- package/dist/tags-DPLOLH3E.js.map +1 -0
- package/dist/tags-LDHXONR3.js +224 -0
- package/dist/tags-LDHXONR3.js.map +1 -0
- package/dist/tags-UW3WJTAQ.js +20 -0
- package/dist/tags-UW3WJTAQ.js.map +1 -0
- package/dist/targeting-constants-D64YO3E7.js +118 -0
- package/dist/targeting-constants-D64YO3E7.js.map +1 -0
- package/dist/targeting-criteria-BP6VJA7X.js +113 -0
- package/dist/targeting-criteria-BP6VJA7X.js.map +1 -0
- package/dist/targets-CQWO2UXD.js +102 -0
- package/dist/targets-CQWO2UXD.js.map +1 -0
- package/dist/templates-WZSTNRNZ.js +178 -0
- package/dist/templates-WZSTNRNZ.js.map +1 -0
- package/dist/testimonials-ETHSNWUH.js +32 -0
- package/dist/testimonials-ETHSNWUH.js.map +1 -0
- package/dist/themes-YU663LQH.js +94 -0
- package/dist/themes-YU663LQH.js.map +1 -0
- package/dist/top-companies-KTXHS472.js +108 -0
- package/dist/top-companies-KTXHS472.js.map +1 -0
- package/dist/translate-A7LYHUW3.js +600 -0
- package/dist/translate-A7LYHUW3.js.map +1 -0
- package/dist/triggers-4EDFLNGH.js +141 -0
- package/dist/triggers-4EDFLNGH.js.map +1 -0
- package/dist/tweets-ZUKQAAUQ.js +123 -0
- package/dist/tweets-ZUKQAAUQ.js.map +1 -0
- package/dist/unfollow-A4JVCJBF.js +46 -0
- package/dist/unfollow-A4JVCJBF.js.map +1 -0
- package/dist/unlink-KY2OEKMD.js +67 -0
- package/dist/unlink-KY2OEKMD.js.map +1 -0
- package/dist/unstage-FHUG67RI.js +84 -0
- package/dist/unstage-FHUG67RI.js.map +1 -0
- package/dist/unstage-ZRLLCSQF.js +95 -0
- package/dist/unstage-ZRLLCSQF.js.map +1 -0
- package/dist/update-27LGM65V.js +63 -0
- package/dist/update-27LGM65V.js.map +1 -0
- package/dist/update-AIY46I2Q.js +155 -0
- package/dist/update-AIY46I2Q.js.map +1 -0
- package/dist/update-QYD2XZFM.js +142 -0
- package/dist/update-QYD2XZFM.js.map +1 -0
- package/dist/update-W2OSRNFO.js +98 -0
- package/dist/update-W2OSRNFO.js.map +1 -0
- package/dist/upload-JGBTSKGH.js +126 -0
- package/dist/upload-JGBTSKGH.js.map +1 -0
- package/dist/upload-XEHWYMJG.js +150 -0
- package/dist/upload-XEHWYMJG.js.map +1 -0
- package/dist/upscale-I5P2OHTN.js +109 -0
- package/dist/upscale-I5P2OHTN.js.map +1 -0
- package/dist/url-options-QHGA42RP.js +130 -0
- package/dist/url-options-QHGA42RP.js.map +1 -0
- package/dist/url-params-NWSUHWRE.js +98 -0
- package/dist/url-params-NWSUHWRE.js.map +1 -0
- package/dist/use-U4HG2NF3.js +95 -0
- package/dist/use-U4HG2NF3.js.map +1 -0
- package/dist/validate-VKL3XKQ2.js +91 -0
- package/dist/validate-VKL3XKQ2.js.map +1 -0
- package/dist/variant-FOVE6URJ.js +338 -0
- package/dist/variant-FOVE6URJ.js.map +1 -0
- package/dist/videos-DP3VCSYG.js +39 -0
- package/dist/videos-DP3VCSYG.js.map +1 -0
- package/dist/view-HRI3FHCH.js +121 -0
- package/dist/view-HRI3FHCH.js.map +1 -0
- package/dist/viewer-check-JYUE24M6.js +68 -0
- package/dist/viewer-check-JYUE24M6.js.map +1 -0
- package/dist/web-AFUIWPFU.js +140 -0
- package/dist/web-AFUIWPFU.js.map +1 -0
- package/dist/winners-SMMDN6LW.js +113 -0
- package/dist/winners-SMMDN6LW.js.map +1 -0
- package/dist/winning-ads-PCIJUYVA.js +84 -0
- package/dist/winning-ads-PCIJUYVA.js.map +1 -0
- package/dist/write-commands-7Z34WG2J.js +206 -0
- package/dist/write-commands-7Z34WG2J.js.map +1 -0
- package/dist/write-commands-BLT2SEC4.js +713 -0
- package/dist/write-commands-BLT2SEC4.js.map +1 -0
- package/dist/write-commands-N4FSGRVQ.js +743 -0
- package/dist/write-commands-N4FSGRVQ.js.map +1 -0
- package/dist/write-commands-Q4MQ3BGM.js +1015 -0
- package/dist/write-commands-Q4MQ3BGM.js.map +1 -0
- package/dist/x-AUOZJNWE.js +47 -0
- package/dist/x-AUOZJNWE.js.map +1 -0
- package/package.json +9 -2
- package/dist/chunk-FGHMWBUD.js +0 -9989
- package/dist/chunk-FGHMWBUD.js.map +0 -1
- package/dist/chunk-HJEMOSPH.js +0 -1292
- package/dist/chunk-HJEMOSPH.js.map +0 -1
- package/dist/chunk-MF7YA62W.js.map +0 -1
- package/dist/chunk-VZEDAFAR.js.map +0 -1
- package/dist/chunk-XHC4LMK4.js.map +0 -1
- package/dist/client-GR6YL3YX.js +0 -17
- package/dist/output-NMQXZF3Z.js +0 -18
- /package/dist/{chunk-WLDM2TRF.js.map → chunk-TPXI2GCW.js.map} +0 -0
- /package/dist/{client-GR6YL3YX.js.map → chunk-YQSBHWOI.js.map} +0 -0
- /package/dist/{env-4P5HOGNA.js.map → client-26SAJ46D.js.map} +0 -0
- /package/dist/{output-NMQXZF3Z.js.map → connect-RXPMAJQI.js.map} +0 -0
- /package/dist/{shared-6762QE6R.js.map → customers-P6LLLJHK.js.map} +0 -0
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import {
|
|
2
|
+
PLATFORM_NAMES,
|
|
3
|
+
reportError,
|
|
4
|
+
splitList
|
|
5
|
+
} from "./chunk-752S7JF6.js";
|
|
6
|
+
import {
|
|
7
|
+
apiPost
|
|
8
|
+
} from "./chunk-HREWXNTO.js";
|
|
9
|
+
import "./chunk-HLXWKMTK.js";
|
|
10
|
+
import "./chunk-O6QKCJE4.js";
|
|
11
|
+
import {
|
|
12
|
+
BRAND_ACCOUNTS_MAX,
|
|
13
|
+
registerSchema,
|
|
14
|
+
writeJson
|
|
15
|
+
} from "./chunk-WOTDHRNF.js";
|
|
16
|
+
import "./chunk-YQSBHWOI.js";
|
|
17
|
+
|
|
18
|
+
// src/commands/winning-ads/add-accounts.ts
|
|
19
|
+
import { defineCommand } from "citty";
|
|
20
|
+
var ADD_TIMEOUT_MS = 12e4;
|
|
21
|
+
var named = (accounts) => accounts.map((a) => `${a.name} (${PLATFORM_NAMES[a.platform]})`).join(", ");
|
|
22
|
+
function addAccountsHints(data) {
|
|
23
|
+
const hints = [];
|
|
24
|
+
if (data.added.length > 0) {
|
|
25
|
+
hints.push(
|
|
26
|
+
`Now tracking ${named(data.added)} \u2014 its ads arrive over the next minutes; check \`baker winning-ads following\`.`
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
if (data.already_tracked.length > 0) {
|
|
30
|
+
hints.push(`Already tracked under this brand: ${named(data.already_tracked)}.`);
|
|
31
|
+
}
|
|
32
|
+
for (const failure of data.failed) {
|
|
33
|
+
hints.push(`Not added: "${failure.input}" \u2014 ${failure.error}`);
|
|
34
|
+
}
|
|
35
|
+
return hints;
|
|
36
|
+
}
|
|
37
|
+
registerSchema({
|
|
38
|
+
command: "winning-ads.add-accounts",
|
|
39
|
+
description: "Track more accounts under a brand you already follow \u2014 another country's or language's Facebook page, a second LinkedIn company, another Google Ads entity. Pass the brand's advertiser id and one or more links (comma-separated): profile or ad-library links, Google advertiser ids (AR\u2026), or a website. `follow` returns ready-made calls for the look-alike accounts it found.",
|
|
40
|
+
args: {
|
|
41
|
+
advertiser: { type: "string", description: "Advertiser id of a followed brand (from `following`)", required: true },
|
|
42
|
+
inputs: {
|
|
43
|
+
type: "string",
|
|
44
|
+
description: `Comma-separated links, advertiser ids or websites \u2014 up to ${BRAND_ACCOUNTS_MAX}`,
|
|
45
|
+
required: true
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
var addAccountsCommand = defineCommand({
|
|
50
|
+
meta: {
|
|
51
|
+
name: "add-accounts",
|
|
52
|
+
description: `Add more of a followed brand's accounts (another market's Facebook page, a second LinkedIn company). Example: baker winning-ads add-accounts adv_123 "https://www.facebook.com/barkibu.it,AR01614014350098432001"`
|
|
53
|
+
},
|
|
54
|
+
args: {
|
|
55
|
+
advertiser: { type: "positional", description: "Advertiser id of a followed brand", required: true },
|
|
56
|
+
inputs: {
|
|
57
|
+
type: "positional",
|
|
58
|
+
description: "Comma-separated links, advertiser ids or websites",
|
|
59
|
+
required: true
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
run: async ({ args }) => {
|
|
63
|
+
try {
|
|
64
|
+
const inputs = [...new Set(splitList(String(args.inputs ?? "")))];
|
|
65
|
+
if (inputs.length === 0 || inputs.length > BRAND_ACCOUNTS_MAX) {
|
|
66
|
+
writeJson({
|
|
67
|
+
ok: false,
|
|
68
|
+
error: {
|
|
69
|
+
code: "VALIDATION_ERROR",
|
|
70
|
+
message: `Pass between 1 and ${BRAND_ACCOUNTS_MAX} comma-separated links.`
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
process.exit(1);
|
|
74
|
+
}
|
|
75
|
+
const data = await apiPost(
|
|
76
|
+
"/api/ad-library/accounts/add",
|
|
77
|
+
{ advertiser_id: String(args.advertiser), inputs },
|
|
78
|
+
{ timeoutMs: ADD_TIMEOUT_MS }
|
|
79
|
+
);
|
|
80
|
+
const hints = addAccountsHints(data);
|
|
81
|
+
writeJson({ ok: true, data, hints: hints.length > 0 ? hints : void 0 });
|
|
82
|
+
} catch (err) {
|
|
83
|
+
reportError(err);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
export {
|
|
88
|
+
addAccountsCommand,
|
|
89
|
+
addAccountsHints
|
|
90
|
+
};
|
|
91
|
+
//# sourceMappingURL=add-accounts-6QYPOPR2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/winning-ads/add-accounts.ts"],"sourcesContent":["import { type AddBrandAccountsResponse, BRAND_ACCOUNTS_MAX, type ResolvePreview } from \"@baker/api/ad-library\";\nimport { defineCommand } from \"citty\";\nimport { apiPost } from \"../../client.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { PLATFORM_NAMES, reportError, splitList } from \"./shared.ts\";\n\n// One resolve per input, then an add upstream — slower than a single follow.\nconst ADD_TIMEOUT_MS = 120_000;\n\nconst named = (accounts: ResolvePreview[]) =>\n accounts.map((a) => `${a.name} (${PLATFORM_NAMES[a.platform]})`).join(\", \");\n\n/** What the agent reads back: what is now collecting, what was there already, and why an input wasn't added. */\nexport function addAccountsHints(data: AddBrandAccountsResponse): string[] {\n const hints: string[] = [];\n if (data.added.length > 0) {\n hints.push(\n `Now tracking ${named(data.added)} — its ads arrive over the next minutes; check \\`baker winning-ads following\\`.`,\n );\n }\n if (data.already_tracked.length > 0) {\n hints.push(`Already tracked under this brand: ${named(data.already_tracked)}.`);\n }\n for (const failure of data.failed) {\n hints.push(`Not added: \"${failure.input}\" — ${failure.error}`);\n }\n return hints;\n}\n\nregisterSchema({\n command: \"winning-ads.add-accounts\",\n description:\n \"Track more accounts under a brand you already follow — another country's or language's Facebook page, a second LinkedIn company, another Google Ads entity. Pass the brand's advertiser id and one or more links (comma-separated): profile or ad-library links, Google advertiser ids (AR…), or a website. `follow` returns ready-made calls for the look-alike accounts it found.\",\n args: {\n advertiser: { type: \"string\", description: \"Advertiser id of a followed brand (from `following`)\", required: true },\n inputs: {\n type: \"string\",\n description: `Comma-separated links, advertiser ids or websites — up to ${BRAND_ACCOUNTS_MAX}`,\n required: true,\n },\n },\n});\n\nexport const addAccountsCommand = defineCommand({\n meta: {\n name: \"add-accounts\",\n description:\n \"Add more of a followed brand's accounts (another market's Facebook page, a second LinkedIn company). Example: baker winning-ads add-accounts adv_123 \\\"https://www.facebook.com/barkibu.it,AR01614014350098432001\\\"\",\n },\n args: {\n advertiser: { type: \"positional\", description: \"Advertiser id of a followed brand\", required: true },\n inputs: {\n type: \"positional\",\n description: \"Comma-separated links, advertiser ids or websites\",\n required: true,\n },\n },\n run: async ({ args }) => {\n try {\n const inputs = [...new Set(splitList(String(args.inputs ?? \"\")))];\n if (inputs.length === 0 || inputs.length > BRAND_ACCOUNTS_MAX) {\n writeJson({\n ok: false,\n error: {\n code: \"VALIDATION_ERROR\",\n message: `Pass between 1 and ${BRAND_ACCOUNTS_MAX} comma-separated links.`,\n },\n });\n process.exit(1);\n }\n const data = await apiPost<AddBrandAccountsResponse>(\n \"/api/ad-library/accounts/add\",\n { advertiser_id: String(args.advertiser), inputs },\n { timeoutMs: ADD_TIMEOUT_MS },\n );\n const hints = addAccountsHints(data);\n writeJson({ ok: true, data, hints: hints.length > 0 ? hints : undefined });\n } catch (err) {\n reportError(err);\n }\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;AACA,SAAS,qBAAqB;AAO9B,IAAM,iBAAiB;AAEvB,IAAM,QAAQ,CAAC,aACb,SAAS,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,KAAK,eAAe,EAAE,QAAQ,CAAC,GAAG,EAAE,KAAK,IAAI;AAGrE,SAAS,iBAAiB,MAA0C;AACzE,QAAM,QAAkB,CAAC;AACzB,MAAI,KAAK,MAAM,SAAS,GAAG;AACzB,UAAM;AAAA,MACJ,gBAAgB,MAAM,KAAK,KAAK,CAAC;AAAA,IACnC;AAAA,EACF;AACA,MAAI,KAAK,gBAAgB,SAAS,GAAG;AACnC,UAAM,KAAK,qCAAqC,MAAM,KAAK,eAAe,CAAC,GAAG;AAAA,EAChF;AACA,aAAW,WAAW,KAAK,QAAQ;AACjC,UAAM,KAAK,eAAe,QAAQ,KAAK,YAAO,QAAQ,KAAK,EAAE;AAAA,EAC/D;AACA,SAAO;AACT;AAEA,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM;AAAA,IACJ,YAAY,EAAE,MAAM,UAAU,aAAa,wDAAwD,UAAU,KAAK;AAAA,IAClH,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,aAAa,kEAA6D,kBAAkB;AAAA,MAC5F,UAAU;AAAA,IACZ;AAAA,EACF;AACF,CAAC;AAEM,IAAM,qBAAqB,cAAc;AAAA,EAC9C,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AAAA,EACA,MAAM;AAAA,IACJ,YAAY,EAAE,MAAM,cAAc,aAAa,qCAAqC,UAAU,KAAK;AAAA,IACnG,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,aAAa;AAAA,MACb,UAAU;AAAA,IACZ;AAAA,EACF;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,QAAI;AACF,YAAM,SAAS,CAAC,GAAG,IAAI,IAAI,UAAU,OAAO,KAAK,UAAU,EAAE,CAAC,CAAC,CAAC;AAChE,UAAI,OAAO,WAAW,KAAK,OAAO,SAAS,oBAAoB;AAC7D,kBAAU;AAAA,UACR,IAAI;AAAA,UACJ,OAAO;AAAA,YACL,MAAM;AAAA,YACN,SAAS,sBAAsB,kBAAkB;AAAA,UACnD;AAAA,QACF,CAAC;AACD,gBAAQ,KAAK,CAAC;AAAA,MAChB;AACA,YAAM,OAAO,MAAM;AAAA,QACjB;AAAA,QACA,EAAE,eAAe,OAAO,KAAK,UAAU,GAAG,OAAO;AAAA,QACjD,EAAE,WAAW,eAAe;AAAA,MAC9B;AACA,YAAM,QAAQ,iBAAiB,IAAI;AACnC,gBAAU,EAAE,IAAI,MAAM,MAAM,OAAO,MAAM,SAAS,IAAI,QAAQ,OAAU,CAAC;AAAA,IAC3E,SAAS,KAAK;AACZ,kBAAY,GAAG;AAAA,IACjB;AAAA,EACF;AACF,CAAC;","names":[]}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import {
|
|
2
|
+
adFieldPlan,
|
|
3
|
+
adRows
|
|
4
|
+
} from "./chunk-6O7ISBC7.js";
|
|
5
|
+
import {
|
|
6
|
+
reportError
|
|
7
|
+
} from "./chunk-752S7JF6.js";
|
|
8
|
+
import {
|
|
9
|
+
apiGet
|
|
10
|
+
} from "./chunk-HREWXNTO.js";
|
|
11
|
+
import "./chunk-HLXWKMTK.js";
|
|
12
|
+
import "./chunk-O6QKCJE4.js";
|
|
13
|
+
import {
|
|
14
|
+
advertiserAdsRequestSchema,
|
|
15
|
+
registerSchema,
|
|
16
|
+
winningAdNormalizer,
|
|
17
|
+
writeJson,
|
|
18
|
+
writeOutput
|
|
19
|
+
} from "./chunk-WOTDHRNF.js";
|
|
20
|
+
import "./chunk-YQSBHWOI.js";
|
|
21
|
+
|
|
22
|
+
// src/commands/winning-ads/ads.ts
|
|
23
|
+
import { defineCommand } from "citty";
|
|
24
|
+
registerSchema({
|
|
25
|
+
command: "winning-ads.ads",
|
|
26
|
+
description: "Every ad one advertiser has run (one row per distinct ad, strongest first), on every platform or one, running, stopped or both, of every format or the ones in --format (`--platform google --format text`: its Google search ads). The brand page's All ads; `winners` is its top winners. Pages with --offset; `next_offset` is null on the last page. Rows are compact; --fields ad_id,summary,days_active,active keeps a long listing small.",
|
|
27
|
+
args: {
|
|
28
|
+
advertiser: { type: "string", description: "Advertiser id (from `advertisers` or `following`)", required: true },
|
|
29
|
+
platform: { type: "string", description: "Only this platform: meta|linkedin|tiktok|google", required: false },
|
|
30
|
+
running: { type: "string", description: "all|running|stopped (default all)", required: false, default: "all" },
|
|
31
|
+
format: {
|
|
32
|
+
type: "string",
|
|
33
|
+
description: "Comma list: video,static,carousel,text (text = Google search ads); every format when omitted",
|
|
34
|
+
required: false
|
|
35
|
+
},
|
|
36
|
+
limit: { type: "number", description: "Ads per page 1-100 (default 24)", required: false, default: 24 },
|
|
37
|
+
offset: { type: "number", description: "Skip this many ads (from `next_offset`)", required: false, default: 0 },
|
|
38
|
+
full: { type: "boolean", description: "Include DNA detail + longevity", required: false, default: false }
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
function nextOffset(page, offset) {
|
|
42
|
+
const reached = offset + page.returned;
|
|
43
|
+
if (page.returned === 0) return null;
|
|
44
|
+
if (page.total === null) return page.returned === page.limit ? reached : null;
|
|
45
|
+
return reached < page.total ? reached : null;
|
|
46
|
+
}
|
|
47
|
+
function adsHints(request, returned, next) {
|
|
48
|
+
if (next !== null) return [`More ads: run again with --offset ${next}.`];
|
|
49
|
+
if (returned === 0 && request.offset === 0 && request.running === "running") {
|
|
50
|
+
return [
|
|
51
|
+
`No ad counts as running unless the brand was checked in the last 35 days: read last_checked_at in \`baker winning-ads profile ${request.id}\` before saying it runs nothing.`
|
|
52
|
+
];
|
|
53
|
+
}
|
|
54
|
+
return [];
|
|
55
|
+
}
|
|
56
|
+
var adsCommand = defineCommand({
|
|
57
|
+
meta: {
|
|
58
|
+
name: "ads",
|
|
59
|
+
description: "Every ad an advertiser has run, per platform and format or all together. Example: baker winning-ads ads adv_123 --platform google --format text --running running --output md"
|
|
60
|
+
},
|
|
61
|
+
args: {
|
|
62
|
+
advertiser: { type: "positional", description: "Advertiser id", required: true },
|
|
63
|
+
platform: { type: "string", description: "Only this platform: meta|linkedin|tiktok|google", required: false },
|
|
64
|
+
running: { type: "string", description: "all|running|stopped (default all)", required: false },
|
|
65
|
+
format: { type: "string", description: "Comma list: video,static,carousel,text", required: false },
|
|
66
|
+
limit: { type: "string", description: "Ads per page 1-100 (default 24)", required: false },
|
|
67
|
+
offset: { type: "string", description: "Skip this many ads (from next_offset)", required: false },
|
|
68
|
+
output: { type: "string", description: "Output format: json|files|md", required: false, default: "json" },
|
|
69
|
+
fields: { type: "string", description: "Comma-separated field names to include", required: false },
|
|
70
|
+
full: { type: "boolean", description: "Include DNA detail + longevity", required: false, default: false }
|
|
71
|
+
},
|
|
72
|
+
run: async ({ args }) => {
|
|
73
|
+
try {
|
|
74
|
+
const parsed = advertiserAdsRequestSchema.safeParse({
|
|
75
|
+
id: String(args.advertiser),
|
|
76
|
+
platform: args.platform || void 0,
|
|
77
|
+
running: args.running || void 0,
|
|
78
|
+
format: args.format || void 0,
|
|
79
|
+
limit: args.limit || void 0,
|
|
80
|
+
offset: args.offset || void 0
|
|
81
|
+
});
|
|
82
|
+
if (!parsed.success) {
|
|
83
|
+
const issue = parsed.error.issues[0];
|
|
84
|
+
writeJson({
|
|
85
|
+
ok: false,
|
|
86
|
+
error: { code: "BAD_REQUEST", message: `--${issue?.path.join(".") ?? "args"}: ${issue?.message}` }
|
|
87
|
+
});
|
|
88
|
+
process.exit(1);
|
|
89
|
+
}
|
|
90
|
+
const request = parsed.data;
|
|
91
|
+
const params = {
|
|
92
|
+
id: request.id,
|
|
93
|
+
running: request.running,
|
|
94
|
+
limit: String(request.limit),
|
|
95
|
+
offset: String(request.offset)
|
|
96
|
+
};
|
|
97
|
+
if (request.platform) params.platform = request.platform;
|
|
98
|
+
if (request.format) params.format = request.format.join(",");
|
|
99
|
+
const data = await apiGet("/api/ad-library/advertiser-ads", params);
|
|
100
|
+
const plan = adFieldPlan(args.fields, args.full);
|
|
101
|
+
const next = nextOffset({ returned: data.ads.length, total: data.total, limit: request.limit }, request.offset);
|
|
102
|
+
const hints = adsHints(request, data.ads.length, next);
|
|
103
|
+
const output = args.output || "json";
|
|
104
|
+
if (output === "json") {
|
|
105
|
+
writeJson({
|
|
106
|
+
ok: true,
|
|
107
|
+
data: {
|
|
108
|
+
advertiser_id: data.advertiser_id,
|
|
109
|
+
total: data.total,
|
|
110
|
+
next_offset: next,
|
|
111
|
+
ads: adRows(data.ads, plan)
|
|
112
|
+
},
|
|
113
|
+
...hints.length > 0 ? { hints } : {}
|
|
114
|
+
});
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
writeOutput({ ok: true, data: data.ads }, output, plan.fields, plan.full, winningAdNormalizer);
|
|
118
|
+
} catch (err) {
|
|
119
|
+
reportError(err);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
export {
|
|
124
|
+
adsCommand,
|
|
125
|
+
adsHints,
|
|
126
|
+
nextOffset
|
|
127
|
+
};
|
|
128
|
+
//# sourceMappingURL=ads-AUSRB4GU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/winning-ads/ads.ts"],"sourcesContent":["import { type AdvertiserAdsResponse, advertiserAdsRequestSchema } from \"@baker/api/ad-library\";\nimport { defineCommand } from \"citty\";\nimport { apiGet } from \"../../client.ts\";\nimport { type OutputFormat, winningAdNormalizer, writeJson, writeOutput } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { adFieldPlan, adRows } from \"./adRows.ts\";\nimport { reportError } from \"./shared.ts\";\n\nregisterSchema({\n command: \"winning-ads.ads\",\n description:\n \"Every ad one advertiser has run (one row per distinct ad, strongest first), on every platform or one, running, stopped or both, of every format or the ones in --format (`--platform google --format text`: its Google search ads). The brand page's All ads; `winners` is its top winners. Pages with --offset; `next_offset` is null on the last page. Rows are compact; --fields ad_id,summary,days_active,active keeps a long listing small.\",\n args: {\n advertiser: { type: \"string\", description: \"Advertiser id (from `advertisers` or `following`)\", required: true },\n platform: { type: \"string\", description: \"Only this platform: meta|linkedin|tiktok|google\", required: false },\n running: { type: \"string\", description: \"all|running|stopped (default all)\", required: false, default: \"all\" },\n format: {\n type: \"string\",\n description: \"Comma list: video,static,carousel,text (text = Google search ads); every format when omitted\",\n required: false,\n },\n limit: { type: \"number\", description: \"Ads per page 1-100 (default 24)\", required: false, default: 24 },\n offset: { type: \"number\", description: \"Skip this many ads (from `next_offset`)\", required: false, default: 0 },\n full: { type: \"boolean\", description: \"Include DNA detail + longevity\", required: false, default: false },\n },\n});\n\n/** Where the next page starts, or null when this one reached the end. */\nexport function nextOffset(\n page: { returned: number; total: number | null; limit?: number },\n offset: number,\n): number | null {\n const reached = offset + page.returned;\n if (page.returned === 0) return null;\n if (page.total === null) return page.returned === page.limit ? reached : null;\n return reached < page.total ? reached : null;\n}\n\n/** The next page, or why \"running\" came back empty. */\nexport function adsHints(\n request: { id: string; running: string; offset: number },\n returned: number,\n next: number | null,\n): string[] {\n if (next !== null) return [`More ads: run again with --offset ${next}.`];\n if (returned === 0 && request.offset === 0 && request.running === \"running\") {\n return [\n `No ad counts as running unless the brand was checked in the last 35 days: read last_checked_at in \\`baker winning-ads profile ${request.id}\\` before saying it runs nothing.`,\n ];\n }\n return [];\n}\n\nexport const adsCommand = defineCommand({\n meta: {\n name: \"ads\",\n description:\n \"Every ad an advertiser has run, per platform and format or all together. Example: baker winning-ads ads adv_123 --platform google --format text --running running --output md\",\n },\n args: {\n advertiser: { type: \"positional\", description: \"Advertiser id\", required: true },\n platform: { type: \"string\", description: \"Only this platform: meta|linkedin|tiktok|google\", required: false },\n running: { type: \"string\", description: \"all|running|stopped (default all)\", required: false },\n format: { type: \"string\", description: \"Comma list: video,static,carousel,text\", required: false },\n limit: { type: \"string\", description: \"Ads per page 1-100 (default 24)\", required: false },\n offset: { type: \"string\", description: \"Skip this many ads (from next_offset)\", required: false },\n output: { type: \"string\", description: \"Output format: json|files|md\", required: false, default: \"json\" },\n fields: { type: \"string\", description: \"Comma-separated field names to include\", required: false },\n full: { type: \"boolean\", description: \"Include DNA detail + longevity\", required: false, default: false },\n },\n run: async ({ args }) => {\n try {\n const parsed = advertiserAdsRequestSchema.safeParse({\n id: String(args.advertiser),\n platform: args.platform || undefined,\n running: args.running || undefined,\n format: args.format || undefined,\n limit: args.limit || undefined,\n offset: args.offset || undefined,\n });\n if (!parsed.success) {\n const issue = parsed.error.issues[0];\n writeJson({\n ok: false,\n error: { code: \"BAD_REQUEST\", message: `--${issue?.path.join(\".\") ?? \"args\"}: ${issue?.message}` },\n });\n process.exit(1);\n }\n const request = parsed.data;\n const params: Record<string, string> = {\n id: request.id,\n running: request.running,\n limit: String(request.limit),\n offset: String(request.offset),\n };\n if (request.platform) params.platform = request.platform;\n if (request.format) params.format = request.format.join(\",\");\n\n const data = await apiGet<AdvertiserAdsResponse>(\"/api/ad-library/advertiser-ads\", params);\n const plan = adFieldPlan(args.fields, args.full);\n const next = nextOffset({ returned: data.ads.length, total: data.total, limit: request.limit }, request.offset);\n const hints = adsHints(request, data.ads.length, next);\n const output = (args.output as OutputFormat) || \"json\";\n if (output === \"json\") {\n writeJson({\n ok: true,\n data: {\n advertiser_id: data.advertiser_id,\n total: data.total,\n next_offset: next,\n ads: adRows(data.ads, plan),\n },\n ...(hints.length > 0 ? { hints } : {}),\n });\n return;\n }\n writeOutput({ ok: true, data: data.ads }, output, plan.fields, plan.full, winningAdNormalizer);\n } catch (err) {\n reportError(err);\n }\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA,SAAS,qBAAqB;AAO9B,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM;AAAA,IACJ,YAAY,EAAE,MAAM,UAAU,aAAa,qDAAqD,UAAU,KAAK;AAAA,IAC/G,UAAU,EAAE,MAAM,UAAU,aAAa,mDAAmD,UAAU,MAAM;AAAA,IAC5G,SAAS,EAAE,MAAM,UAAU,aAAa,qCAAqC,UAAU,OAAO,SAAS,MAAM;AAAA,IAC7G,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,aAAa;AAAA,MACb,UAAU;AAAA,IACZ;AAAA,IACA,OAAO,EAAE,MAAM,UAAU,aAAa,mCAAmC,UAAU,OAAO,SAAS,GAAG;AAAA,IACtG,QAAQ,EAAE,MAAM,UAAU,aAAa,2CAA2C,UAAU,OAAO,SAAS,EAAE;AAAA,IAC9G,MAAM,EAAE,MAAM,WAAW,aAAa,kCAAkC,UAAU,OAAO,SAAS,MAAM;AAAA,EAC1G;AACF,CAAC;AAGM,SAAS,WACd,MACA,QACe;AACf,QAAM,UAAU,SAAS,KAAK;AAC9B,MAAI,KAAK,aAAa,EAAG,QAAO;AAChC,MAAI,KAAK,UAAU,KAAM,QAAO,KAAK,aAAa,KAAK,QAAQ,UAAU;AACzE,SAAO,UAAU,KAAK,QAAQ,UAAU;AAC1C;AAGO,SAAS,SACd,SACA,UACA,MACU;AACV,MAAI,SAAS,KAAM,QAAO,CAAC,qCAAqC,IAAI,GAAG;AACvE,MAAI,aAAa,KAAK,QAAQ,WAAW,KAAK,QAAQ,YAAY,WAAW;AAC3E,WAAO;AAAA,MACL,iIAAiI,QAAQ,EAAE;AAAA,IAC7I;AAAA,EACF;AACA,SAAO,CAAC;AACV;AAEO,IAAM,aAAa,cAAc;AAAA,EACtC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AAAA,EACA,MAAM;AAAA,IACJ,YAAY,EAAE,MAAM,cAAc,aAAa,iBAAiB,UAAU,KAAK;AAAA,IAC/E,UAAU,EAAE,MAAM,UAAU,aAAa,mDAAmD,UAAU,MAAM;AAAA,IAC5G,SAAS,EAAE,MAAM,UAAU,aAAa,qCAAqC,UAAU,MAAM;AAAA,IAC7F,QAAQ,EAAE,MAAM,UAAU,aAAa,0CAA0C,UAAU,MAAM;AAAA,IACjG,OAAO,EAAE,MAAM,UAAU,aAAa,mCAAmC,UAAU,MAAM;AAAA,IACzF,QAAQ,EAAE,MAAM,UAAU,aAAa,yCAAyC,UAAU,MAAM;AAAA,IAChG,QAAQ,EAAE,MAAM,UAAU,aAAa,gCAAgC,UAAU,OAAO,SAAS,OAAO;AAAA,IACxG,QAAQ,EAAE,MAAM,UAAU,aAAa,0CAA0C,UAAU,MAAM;AAAA,IACjG,MAAM,EAAE,MAAM,WAAW,aAAa,kCAAkC,UAAU,OAAO,SAAS,MAAM;AAAA,EAC1G;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,QAAI;AACF,YAAM,SAAS,2BAA2B,UAAU;AAAA,QAClD,IAAI,OAAO,KAAK,UAAU;AAAA,QAC1B,UAAU,KAAK,YAAY;AAAA,QAC3B,SAAS,KAAK,WAAW;AAAA,QACzB,QAAQ,KAAK,UAAU;AAAA,QACvB,OAAO,KAAK,SAAS;AAAA,QACrB,QAAQ,KAAK,UAAU;AAAA,MACzB,CAAC;AACD,UAAI,CAAC,OAAO,SAAS;AACnB,cAAM,QAAQ,OAAO,MAAM,OAAO,CAAC;AACnC,kBAAU;AAAA,UACR,IAAI;AAAA,UACJ,OAAO,EAAE,MAAM,eAAe,SAAS,KAAK,OAAO,KAAK,KAAK,GAAG,KAAK,MAAM,KAAK,OAAO,OAAO,GAAG;AAAA,QACnG,CAAC;AACD,gBAAQ,KAAK,CAAC;AAAA,MAChB;AACA,YAAM,UAAU,OAAO;AACvB,YAAM,SAAiC;AAAA,QACrC,IAAI,QAAQ;AAAA,QACZ,SAAS,QAAQ;AAAA,QACjB,OAAO,OAAO,QAAQ,KAAK;AAAA,QAC3B,QAAQ,OAAO,QAAQ,MAAM;AAAA,MAC/B;AACA,UAAI,QAAQ,SAAU,QAAO,WAAW,QAAQ;AAChD,UAAI,QAAQ,OAAQ,QAAO,SAAS,QAAQ,OAAO,KAAK,GAAG;AAE3D,YAAM,OAAO,MAAM,OAA8B,kCAAkC,MAAM;AACzF,YAAM,OAAO,YAAY,KAAK,QAAQ,KAAK,IAAI;AAC/C,YAAM,OAAO,WAAW,EAAE,UAAU,KAAK,IAAI,QAAQ,OAAO,KAAK,OAAO,OAAO,QAAQ,MAAM,GAAG,QAAQ,MAAM;AAC9G,YAAM,QAAQ,SAAS,SAAS,KAAK,IAAI,QAAQ,IAAI;AACrD,YAAM,SAAU,KAAK,UAA2B;AAChD,UAAI,WAAW,QAAQ;AACrB,kBAAU;AAAA,UACR,IAAI;AAAA,UACJ,MAAM;AAAA,YACJ,eAAe,KAAK;AAAA,YACpB,OAAO,KAAK;AAAA,YACZ,aAAa;AAAA,YACb,KAAK,OAAO,KAAK,KAAK,IAAI;AAAA,UAC5B;AAAA,UACA,GAAI,MAAM,SAAS,IAAI,EAAE,MAAM,IAAI,CAAC;AAAA,QACtC,CAAC;AACD;AAAA,MACF;AACA,kBAAY,EAAE,IAAI,MAAM,MAAM,KAAK,IAAI,GAAG,QAAQ,KAAK,QAAQ,KAAK,MAAM,mBAAmB;AAAA,IAC/F,SAAS,KAAK;AACZ,kBAAY,GAAG;AAAA,IACjB;AAAA,EACF;AACF,CAAC;","names":[]}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CHATGPT_ADS_REFERENCE,
|
|
3
|
+
runChatgptListRead
|
|
4
|
+
} from "./chunk-IOCSDFF2.js";
|
|
5
|
+
import "./chunk-BVM5IRZW.js";
|
|
6
|
+
import "./chunk-HREWXNTO.js";
|
|
7
|
+
import "./chunk-HLXWKMTK.js";
|
|
8
|
+
import "./chunk-O6QKCJE4.js";
|
|
9
|
+
import {
|
|
10
|
+
registerSchema
|
|
11
|
+
} from "./chunk-WOTDHRNF.js";
|
|
12
|
+
import "./chunk-YQSBHWOI.js";
|
|
13
|
+
|
|
14
|
+
// src/commands/ads/chatgpt/ads.ts
|
|
15
|
+
import { defineCommand } from "citty";
|
|
16
|
+
var args = {
|
|
17
|
+
"ad-group-id": { type: "string", description: "Only this ad group's ads (adgrp_\u2026)", required: false },
|
|
18
|
+
full: { type: "boolean", description: "Return ChatGPT Ads' own ad objects", required: false }
|
|
19
|
+
};
|
|
20
|
+
registerSchema({
|
|
21
|
+
command: "ads.chatgpt.ads",
|
|
22
|
+
description: "Ads in the connected ChatGPT Ads account, or in one ad group: the card's title, body, image and destination, its review outcome and reason, and serving issues.",
|
|
23
|
+
args
|
|
24
|
+
});
|
|
25
|
+
function adHints(ads) {
|
|
26
|
+
const rejected = ads.filter((ad) => ad.review === "rejected");
|
|
27
|
+
return rejected.length > 0 ? [
|
|
28
|
+
`${rejected.length} ad(s) were rejected in review; reviewReason says why. Editing the creative sends it back to review.`
|
|
29
|
+
] : [];
|
|
30
|
+
}
|
|
31
|
+
var adsListCommand = defineCommand({
|
|
32
|
+
meta: { name: "list", description: "ChatGPT Ads chat cards. Example: baker ads chatgpt ads --ad-group-id adgrp_123" },
|
|
33
|
+
args,
|
|
34
|
+
run: async ({ args: input }) => {
|
|
35
|
+
const params = {};
|
|
36
|
+
if (input["ad-group-id"]) {
|
|
37
|
+
params["ad-group-id"] = input["ad-group-id"];
|
|
38
|
+
}
|
|
39
|
+
if (input.full) {
|
|
40
|
+
params.full = "true";
|
|
41
|
+
}
|
|
42
|
+
await runChatgptListRead(
|
|
43
|
+
CHATGPT_ADS_REFERENCE.ads,
|
|
44
|
+
"/api/ads/chatgpt/ads",
|
|
45
|
+
params,
|
|
46
|
+
(ads) => input.full ? [] : adHints(ads)
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
var adsCommand = defineCommand({
|
|
51
|
+
meta: {
|
|
52
|
+
name: "ads",
|
|
53
|
+
description: `ChatGPT Ads ads (chat cards): copy, image, destination and review status \u2014 or stage a change that applies when the chat is published.
|
|
54
|
+
|
|
55
|
+
Examples:
|
|
56
|
+
baker ads chatgpt ads --ad-group-id adgrp_123
|
|
57
|
+
baker ads chatgpt ads create --ad-group-id adgrp_123 --name "Card A" --title "\u2026" --body "\u2026" --target-url https://\u2026 --image-url https://\u2026
|
|
58
|
+
baker ads chatgpt ads update ad_123 --title "Solar with no upfront cost"
|
|
59
|
+
baker ads chatgpt ads pause ad_123`
|
|
60
|
+
},
|
|
61
|
+
subCommands: {
|
|
62
|
+
list: adsListCommand,
|
|
63
|
+
create: () => import("./ad-writes-SS5YZO5W.js").then((m) => m.adsCreateCommand),
|
|
64
|
+
update: () => import("./ad-writes-SS5YZO5W.js").then((m) => m.adsUpdateCommand),
|
|
65
|
+
pause: () => import("./ad-writes-SS5YZO5W.js").then((m) => m.adsPauseCommand),
|
|
66
|
+
resume: () => import("./ad-writes-SS5YZO5W.js").then((m) => m.adsResumeCommand),
|
|
67
|
+
archive: () => import("./ad-writes-SS5YZO5W.js").then((m) => m.adsArchiveCommand),
|
|
68
|
+
"create-product": () => import("./ad-writes-SS5YZO5W.js").then((m) => m.adsCreateProductCommand)
|
|
69
|
+
},
|
|
70
|
+
// A parent must never declare `run`: citty falls through to it after the matched subcommand.
|
|
71
|
+
args,
|
|
72
|
+
default: "list"
|
|
73
|
+
});
|
|
74
|
+
export {
|
|
75
|
+
adsCommand
|
|
76
|
+
};
|
|
77
|
+
//# sourceMappingURL=ads-COYOTEKE.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/ads/chatgpt/ads.ts"],"sourcesContent":["import type { ChatgptAdsAd } from \"@baker/api/ads-chatgpt\";\nimport { defineCommand } from \"citty\";\nimport { registerSchema } from \"../../../schemas.ts\";\nimport { CHATGPT_ADS_REFERENCE, runChatgptListRead } from \"./shared.ts\";\n\nconst args = {\n \"ad-group-id\": { type: \"string\", description: \"Only this ad group's ads (adgrp_…)\", required: false },\n full: { type: \"boolean\", description: \"Return ChatGPT Ads' own ad objects\", required: false },\n} as const;\n\nregisterSchema({\n command: \"ads.chatgpt.ads\",\n description:\n \"Ads in the connected ChatGPT Ads account, or in one ad group: the card's title, body, image and destination, its review outcome and reason, and serving issues.\",\n args,\n});\n\nfunction adHints(ads: ChatgptAdsAd[]): string[] {\n const rejected = ads.filter((ad) => ad.review === \"rejected\");\n return rejected.length > 0\n ? [\n `${rejected.length} ad(s) were rejected in review; reviewReason says why. Editing the creative sends it back to review.`,\n ]\n : [];\n}\n\nconst adsListCommand = defineCommand({\n meta: { name: \"list\", description: \"ChatGPT Ads chat cards. Example: baker ads chatgpt ads --ad-group-id adgrp_123\" },\n args,\n run: async ({ args: input }) => {\n const params: Record<string, string> = {};\n if (input[\"ad-group-id\"]) {\n params[\"ad-group-id\"] = input[\"ad-group-id\"];\n }\n if (input.full) {\n params.full = \"true\";\n }\n await runChatgptListRead<ChatgptAdsAd[]>(CHATGPT_ADS_REFERENCE.ads, \"/api/ads/chatgpt/ads\", params, (ads) =>\n input.full ? [] : adHints(ads),\n );\n },\n});\n\nexport const adsCommand = defineCommand({\n meta: {\n name: \"ads\",\n description: `ChatGPT Ads ads (chat cards): copy, image, destination and review status — or stage a change that applies when the chat is published.\n\nExamples:\n baker ads chatgpt ads --ad-group-id adgrp_123\n baker ads chatgpt ads create --ad-group-id adgrp_123 --name \"Card A\" --title \"…\" --body \"…\" --target-url https://… --image-url https://…\n baker ads chatgpt ads update ad_123 --title \"Solar with no upfront cost\"\n baker ads chatgpt ads pause ad_123`,\n },\n subCommands: {\n list: adsListCommand,\n create: () => import(\"./ad-writes.ts\").then((m) => m.adsCreateCommand),\n update: () => import(\"./ad-writes.ts\").then((m) => m.adsUpdateCommand),\n pause: () => import(\"./ad-writes.ts\").then((m) => m.adsPauseCommand),\n resume: () => import(\"./ad-writes.ts\").then((m) => m.adsResumeCommand),\n archive: () => import(\"./ad-writes.ts\").then((m) => m.adsArchiveCommand),\n \"create-product\": () => import(\"./ad-writes.ts\").then((m) => m.adsCreateProductCommand),\n },\n // A parent must never declare `run`: citty falls through to it after the matched subcommand.\n args,\n default: \"list\",\n});\n"],"mappings":";;;;;;;;;;;;;;AACA,SAAS,qBAAqB;AAI9B,IAAM,OAAO;AAAA,EACX,eAAe,EAAE,MAAM,UAAU,aAAa,2CAAsC,UAAU,MAAM;AAAA,EACpG,MAAM,EAAE,MAAM,WAAW,aAAa,sCAAsC,UAAU,MAAM;AAC9F;AAEA,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF;AACF,CAAC;AAED,SAAS,QAAQ,KAA+B;AAC9C,QAAM,WAAW,IAAI,OAAO,CAAC,OAAO,GAAG,WAAW,UAAU;AAC5D,SAAO,SAAS,SAAS,IACrB;AAAA,IACE,GAAG,SAAS,MAAM;AAAA,EACpB,IACA,CAAC;AACP;AAEA,IAAM,iBAAiB,cAAc;AAAA,EACnC,MAAM,EAAE,MAAM,QAAQ,aAAa,iFAAiF;AAAA,EACpH;AAAA,EACA,KAAK,OAAO,EAAE,MAAM,MAAM,MAAM;AAC9B,UAAM,SAAiC,CAAC;AACxC,QAAI,MAAM,aAAa,GAAG;AACxB,aAAO,aAAa,IAAI,MAAM,aAAa;AAAA,IAC7C;AACA,QAAI,MAAM,MAAM;AACd,aAAO,OAAO;AAAA,IAChB;AACA,UAAM;AAAA,MAAmC,sBAAsB;AAAA,MAAK;AAAA,MAAwB;AAAA,MAAQ,CAAC,QACnG,MAAM,OAAO,CAAC,IAAI,QAAQ,GAAG;AAAA,IAC/B;AAAA,EACF;AACF,CAAC;AAEM,IAAM,aAAa,cAAc;AAAA,EACtC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOf;AAAA,EACA,aAAa;AAAA,IACX,MAAM;AAAA,IACN,QAAQ,MAAM,OAAO,yBAAgB,EAAE,KAAK,CAAC,MAAM,EAAE,gBAAgB;AAAA,IACrE,QAAQ,MAAM,OAAO,yBAAgB,EAAE,KAAK,CAAC,MAAM,EAAE,gBAAgB;AAAA,IACrE,OAAO,MAAM,OAAO,yBAAgB,EAAE,KAAK,CAAC,MAAM,EAAE,eAAe;AAAA,IACnE,QAAQ,MAAM,OAAO,yBAAgB,EAAE,KAAK,CAAC,MAAM,EAAE,gBAAgB;AAAA,IACrE,SAAS,MAAM,OAAO,yBAAgB,EAAE,KAAK,CAAC,MAAM,EAAE,iBAAiB;AAAA,IACvE,kBAAkB,MAAM,OAAO,yBAAgB,EAAE,KAAK,CAAC,MAAM,EAAE,uBAAuB;AAAA,EACxF;AAAA;AAAA,EAEA;AAAA,EACA,SAAS;AACX,CAAC;","names":[]}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import "./chunk-YQSBHWOI.js";
|
|
2
|
+
|
|
3
|
+
// src/commands/ads/index.ts
|
|
4
|
+
import { defineCommand } from "citty";
|
|
5
|
+
var adsCommand = defineCommand({
|
|
6
|
+
meta: {
|
|
7
|
+
name: "ads",
|
|
8
|
+
description: `Ad platform commands. Each platform exposes its own native command surface \u2014 no forced parity.
|
|
9
|
+
|
|
10
|
+
Platforms:
|
|
11
|
+
google \u2014 Google Ads (GAQL queries, keywords, accounts, ad library)
|
|
12
|
+
meta \u2014 Meta Ads (campaigns, adsets, ads, insights, previews)
|
|
13
|
+
linkedin \u2014 LinkedIn Ads (firmographic analytics \u2014 job-title \xD7 company \xD7 industry \xD7 seniority pivots)
|
|
14
|
+
x \u2014 X (Twitter) Ads (campaigns, line items, promoted tweets, analytics)
|
|
15
|
+
chatgpt \u2014 ChatGPT Ads (account, campaigns, ad groups, ads, insights \u2014 read-only)
|
|
16
|
+
|
|
17
|
+
Examples:
|
|
18
|
+
baker ads google accounts
|
|
19
|
+
baker ads google query --preset campaign-performance --customer-id 1234567890
|
|
20
|
+
baker ads meta accounts
|
|
21
|
+
baker ads meta campaigns --account-id act_123 --effective-status ACTIVE
|
|
22
|
+
baker ads meta insights --object act_123 --level ad --date-preset last_7d --fields impressions,spend,ctr
|
|
23
|
+
baker ads linkedin accounts
|
|
24
|
+
baker ads x accounts
|
|
25
|
+
baker ads x stats sync --preset campaign-engagement-7d --entity-ids abc,def
|
|
26
|
+
baker ads chatgpt insights --days 30 --granularity daily
|
|
27
|
+
Full guides: __tooling__/docs/tools/baker/ads-<platform>.md (google|meta|linkedin|x|chatgpt)`
|
|
28
|
+
},
|
|
29
|
+
subCommands: {
|
|
30
|
+
google: () => import("./google-4XAYE4OI.js").then((m) => m.googleCommand),
|
|
31
|
+
meta: () => import("./meta-Z37ZR3PJ.js").then((m) => m.metaCommand),
|
|
32
|
+
linkedin: () => import("./linkedin-WC7LGYPP.js").then((m) => m.linkedinCommand),
|
|
33
|
+
x: () => import("./x-AUOZJNWE.js").then((m) => m.xCommand),
|
|
34
|
+
chatgpt: () => import("./chatgpt-B3NHRJUE.js").then((m) => m.chatgptCommand)
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
export {
|
|
38
|
+
adsCommand
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=ads-DZ4N5INZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/ads/index.ts"],"sourcesContent":["import { defineCommand } from \"citty\";\n\nexport const adsCommand = defineCommand({\n meta: {\n name: \"ads\",\n description: `Ad platform commands. Each platform exposes its own native command surface — no forced parity.\n\nPlatforms:\n google — Google Ads (GAQL queries, keywords, accounts, ad library)\n meta — Meta Ads (campaigns, adsets, ads, insights, previews)\n linkedin — LinkedIn Ads (firmographic analytics — job-title × company × industry × seniority pivots)\n x — X (Twitter) Ads (campaigns, line items, promoted tweets, analytics)\n chatgpt — ChatGPT Ads (account, campaigns, ad groups, ads, insights — read-only)\n\nExamples:\n baker ads google accounts\n baker ads google query --preset campaign-performance --customer-id 1234567890\n baker ads meta accounts\n baker ads meta campaigns --account-id act_123 --effective-status ACTIVE\n baker ads meta insights --object act_123 --level ad --date-preset last_7d --fields impressions,spend,ctr\n baker ads linkedin accounts\n baker ads x accounts\n baker ads x stats sync --preset campaign-engagement-7d --entity-ids abc,def\n baker ads chatgpt insights --days 30 --granularity daily\nFull guides: __tooling__/docs/tools/baker/ads-<platform>.md (google|meta|linkedin|x|chatgpt)`,\n },\n subCommands: {\n google: () => import(\"./google/index.ts\").then((m) => m.googleCommand),\n meta: () => import(\"./meta/index.ts\").then((m) => m.metaCommand),\n linkedin: () => import(\"./linkedin/index.ts\").then((m) => m.linkedinCommand),\n x: () => import(\"./x/index.ts\").then((m) => m.xCommand),\n chatgpt: () => import(\"./chatgpt/index.ts\").then((m) => m.chatgptCommand),\n },\n});\n"],"mappings":";;;AAAA,SAAS,qBAAqB;AAEvB,IAAM,aAAa,cAAc;AAAA,EACtC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoBf;AAAA,EACA,aAAa;AAAA,IACX,QAAQ,MAAM,OAAO,sBAAmB,EAAE,KAAK,CAAC,MAAM,EAAE,aAAa;AAAA,IACrE,MAAM,MAAM,OAAO,oBAAiB,EAAE,KAAK,CAAC,MAAM,EAAE,WAAW;AAAA,IAC/D,UAAU,MAAM,OAAO,wBAAqB,EAAE,KAAK,CAAC,MAAM,EAAE,eAAe;AAAA,IAC3E,GAAG,MAAM,OAAO,iBAAc,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ;AAAA,IACtD,SAAS,MAAM,OAAO,uBAAoB,EAAE,KAAK,CAAC,MAAM,EAAE,cAAc;AAAA,EAC1E;AACF,CAAC;","names":[]}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import {
|
|
2
|
+
META_LIST_SHAPE_ARGS,
|
|
3
|
+
registerMetaListSchema,
|
|
4
|
+
shapeMetaListRows,
|
|
5
|
+
writeMetaListRows
|
|
6
|
+
} from "./chunk-T7M4WFNV.js";
|
|
7
|
+
import {
|
|
8
|
+
NAME_CONTAINS_ARG,
|
|
9
|
+
csvOrJson,
|
|
10
|
+
handleMetaError,
|
|
11
|
+
resolveAccountIdArg,
|
|
12
|
+
resolveEffectiveStatus,
|
|
13
|
+
statusFilterHints
|
|
14
|
+
} from "./chunk-TPXI2GCW.js";
|
|
15
|
+
import "./chunk-BVM5IRZW.js";
|
|
16
|
+
import {
|
|
17
|
+
NO_CACHE_ARG
|
|
18
|
+
} from "./chunk-EF5DP6EB.js";
|
|
19
|
+
import "./chunk-KIGGMKAE.js";
|
|
20
|
+
import {
|
|
21
|
+
apiGet
|
|
22
|
+
} from "./chunk-HREWXNTO.js";
|
|
23
|
+
import "./chunk-HLXWKMTK.js";
|
|
24
|
+
import "./chunk-O6QKCJE4.js";
|
|
25
|
+
import "./chunk-WOTDHRNF.js";
|
|
26
|
+
import "./chunk-YQSBHWOI.js";
|
|
27
|
+
|
|
28
|
+
// src/commands/ads/meta/ads.ts
|
|
29
|
+
import { defineCommand } from "citty";
|
|
30
|
+
var listArgs = {
|
|
31
|
+
"account-id": { type: "string", description: "Meta ad account ID" },
|
|
32
|
+
"adset-id": { type: "string", description: "Filter to one adset" },
|
|
33
|
+
"campaign-id": { type: "string", description: "Filter to one campaign" },
|
|
34
|
+
"effective-status": { type: "string", description: "Comma-separated effective_status filter (overrides default)" },
|
|
35
|
+
"all-statuses": { type: "boolean", description: "Drop the default ACTIVE filter" },
|
|
36
|
+
"name-contains": NAME_CONTAINS_ARG,
|
|
37
|
+
limit: { type: "string", description: "Max rows (default 1000)" },
|
|
38
|
+
"no-cache": NO_CACHE_ARG,
|
|
39
|
+
...META_LIST_SHAPE_ARGS
|
|
40
|
+
};
|
|
41
|
+
registerMetaListSchema(
|
|
42
|
+
"ads",
|
|
43
|
+
"List ads in a Meta ad account, as a table by default: id, name, adset_id, campaign_id, effective_status, creative_id, issues (why an ad is WITH_ISSUES), created_time. Start here: baker ads meta ads --adset-id 6123. --fields takes dotted paths (e.g. id,tracking_specs); --full returns every field Meta sent; --output json returns the rows in the envelope.",
|
|
44
|
+
listArgs
|
|
45
|
+
);
|
|
46
|
+
var listCommand = defineCommand({
|
|
47
|
+
meta: {
|
|
48
|
+
name: "list",
|
|
49
|
+
description: "List ads in a Meta ad account. Runs by default when no subcommand is given. Example: baker ads meta ads --account-id act_123"
|
|
50
|
+
},
|
|
51
|
+
args: listArgs,
|
|
52
|
+
run: async ({ args }) => {
|
|
53
|
+
const accountId = resolveAccountIdArg(args);
|
|
54
|
+
const effectiveStatus = resolveEffectiveStatus(args);
|
|
55
|
+
try {
|
|
56
|
+
const params = { "account-id": accountId };
|
|
57
|
+
if (args["adset-id"]) params["adset-id"] = args["adset-id"];
|
|
58
|
+
if (args["campaign-id"]) params["campaign-id"] = args["campaign-id"];
|
|
59
|
+
if (effectiveStatus) params["effective-status"] = effectiveStatus;
|
|
60
|
+
if (args["name-contains"]) params["name-contains"] = args["name-contains"];
|
|
61
|
+
if (args.limit) params.limit = args.limit;
|
|
62
|
+
if (args["no-cache"]) params["skip-cache"] = "true";
|
|
63
|
+
const data = await apiGet("/api/ads/meta/ads", params);
|
|
64
|
+
const shaped = shapeMetaListRows("ads", data, args);
|
|
65
|
+
writeMetaListRows("ads", shaped, csvOrJson(args), statusFilterHints(data, effectiveStatus, "ads"));
|
|
66
|
+
} catch (err) {
|
|
67
|
+
handleMetaError(err);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
var adsListCommand = defineCommand({
|
|
72
|
+
meta: {
|
|
73
|
+
name: "ads",
|
|
74
|
+
description: `List ads in a Meta ad account, or stage writes (create/update/pause/resume/archive/delete/duplicate/retag).
|
|
75
|
+
Defaults to ACTIVE only \u2014 pass --all-statuses to widen. Write subcommands stage ops on this chat's draft.
|
|
76
|
+
|
|
77
|
+
The dashboard shows effective_status (e.g. WITH_ISSUES, PENDING_REVIEW, DISAPPROVED, ADSET_PAUSED), not status.
|
|
78
|
+
|
|
79
|
+
Listings print a table by default: id, name, adset_id, campaign_id, effective_status, creative_id, issues
|
|
80
|
+
(why an ad is WITH_ISSUES), created_time. --fields takes dotted paths (e.g. tracking_specs,
|
|
81
|
+
preview_shareable_link); --full returns every field; --output json returns the rows as JSON.
|
|
82
|
+
|
|
83
|
+
Examples:
|
|
84
|
+
baker ads meta ads --account-id act_123
|
|
85
|
+
baker ads meta ads --adset-id 6123
|
|
86
|
+
baker ads meta ads --account-id act_123 --all-statuses --name-contains octubre --fields id,name,adset_id,creative_id \u2014 find one ad by name
|
|
87
|
+
baker ads meta ads --adset-id 6123 --fields id,name,preview_shareable_link
|
|
88
|
+
baker ads meta ads create --name "Ad 1" --adset meta_temp_as01 --creative meta_temp_cr01
|
|
89
|
+
baker ads meta ads pause 6123 --account-id act_123
|
|
90
|
+
baker ads meta ads retag 6123 --set "utm_medium=paid-social" \u2014 fix tracking on a LIVE ad, keeping everything else`
|
|
91
|
+
},
|
|
92
|
+
subCommands: {
|
|
93
|
+
list: listCommand,
|
|
94
|
+
create: () => import("./write-commands-N4FSGRVQ.js").then((m) => m.adsCreateCommand),
|
|
95
|
+
update: () => import("./write-commands-N4FSGRVQ.js").then((m) => m.adsUpdateCommand),
|
|
96
|
+
pause: () => import("./write-commands-N4FSGRVQ.js").then((m) => m.adsPauseCommand),
|
|
97
|
+
resume: () => import("./write-commands-N4FSGRVQ.js").then((m) => m.adsResumeCommand),
|
|
98
|
+
archive: () => import("./write-commands-N4FSGRVQ.js").then((m) => m.adsArchiveCommand),
|
|
99
|
+
delete: () => import("./write-commands-N4FSGRVQ.js").then((m) => m.adsDeleteCommand),
|
|
100
|
+
duplicate: () => import("./write-commands-N4FSGRVQ.js").then((m) => m.adsDuplicateCommand),
|
|
101
|
+
retag: () => import("./write-commands-N4FSGRVQ.js").then((m) => m.adsRetagCommand)
|
|
102
|
+
},
|
|
103
|
+
// `args` stays even though the parent has no `run`: citty scans rawArgs for the
|
|
104
|
+
// subcommand name using THIS command's arg defs, so without them `--account-id act_1`
|
|
105
|
+
// would read `act_1` as a subcommand. `default` (not `run`) dispatches the bare
|
|
106
|
+
// invocation — citty falls through to `run` after a subcommand, double-executing it.
|
|
107
|
+
args: listArgs,
|
|
108
|
+
default: "list"
|
|
109
|
+
});
|
|
110
|
+
export {
|
|
111
|
+
adsListCommand
|
|
112
|
+
};
|
|
113
|
+
//# sourceMappingURL=ads-XZCMSPM5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/ads/meta/ads.ts"],"sourcesContent":["import { defineCommand } from \"citty\";\nimport { NO_CACHE_ARG } from \"../../../cache-flag.ts\";\nimport { apiGet } from \"../../../client.ts\";\nimport { META_LIST_SHAPE_ARGS, registerMetaListSchema, shapeMetaListRows, writeMetaListRows } from \"./list-rows.ts\";\nimport {\n csvOrJson,\n handleMetaError,\n NAME_CONTAINS_ARG,\n resolveAccountIdArg,\n resolveEffectiveStatus,\n statusFilterHints,\n} from \"./shared.ts\";\n\nconst listArgs = {\n \"account-id\": { type: \"string\", description: \"Meta ad account ID\" },\n \"adset-id\": { type: \"string\", description: \"Filter to one adset\" },\n \"campaign-id\": { type: \"string\", description: \"Filter to one campaign\" },\n \"effective-status\": { type: \"string\", description: \"Comma-separated effective_status filter (overrides default)\" },\n \"all-statuses\": { type: \"boolean\", description: \"Drop the default ACTIVE filter\" },\n \"name-contains\": NAME_CONTAINS_ARG,\n limit: { type: \"string\", description: \"Max rows (default 1000)\" },\n \"no-cache\": NO_CACHE_ARG,\n ...META_LIST_SHAPE_ARGS,\n} as const;\n\nregisterMetaListSchema(\n \"ads\",\n \"List ads in a Meta ad account, as a table by default: id, name, adset_id, campaign_id, effective_status, creative_id, issues (why an ad is WITH_ISSUES), created_time. Start here: baker ads meta ads --adset-id 6123. --fields takes dotted paths (e.g. id,tracking_specs); --full returns every field Meta sent; --output json returns the rows in the envelope.\",\n listArgs,\n);\n\nconst listCommand = defineCommand({\n meta: {\n name: \"list\",\n description:\n \"List ads in a Meta ad account. Runs by default when no subcommand is given. Example: baker ads meta ads --account-id act_123\",\n },\n args: listArgs,\n run: async ({ args }) => {\n const accountId = resolveAccountIdArg(args);\n const effectiveStatus = resolveEffectiveStatus(args);\n try {\n const params: Record<string, string> = { \"account-id\": accountId };\n if (args[\"adset-id\"]) params[\"adset-id\"] = args[\"adset-id\"] as string;\n if (args[\"campaign-id\"]) params[\"campaign-id\"] = args[\"campaign-id\"] as string;\n if (effectiveStatus) params[\"effective-status\"] = effectiveStatus;\n if (args[\"name-contains\"]) params[\"name-contains\"] = args[\"name-contains\"] as string;\n if (args.limit) params.limit = args.limit as string;\n if (args[\"no-cache\"]) params[\"skip-cache\"] = \"true\";\n const data = await apiGet<Array<Record<string, unknown>>>(\"/api/ads/meta/ads\", params);\n const shaped = shapeMetaListRows(\"ads\", data, args);\n writeMetaListRows(\"ads\", shaped, csvOrJson(args), statusFilterHints(data, effectiveStatus, \"ads\"));\n } catch (err) {\n handleMetaError(err);\n }\n },\n});\n\nexport const adsListCommand = defineCommand({\n meta: {\n name: \"ads\",\n description: `List ads in a Meta ad account, or stage writes (create/update/pause/resume/archive/delete/duplicate/retag).\nDefaults to ACTIVE only — pass --all-statuses to widen. Write subcommands stage ops on this chat's draft.\n\nThe dashboard shows effective_status (e.g. WITH_ISSUES, PENDING_REVIEW, DISAPPROVED, ADSET_PAUSED), not status.\n\nListings print a table by default: id, name, adset_id, campaign_id, effective_status, creative_id, issues\n(why an ad is WITH_ISSUES), created_time. --fields takes dotted paths (e.g. tracking_specs,\npreview_shareable_link); --full returns every field; --output json returns the rows as JSON.\n\nExamples:\n baker ads meta ads --account-id act_123\n baker ads meta ads --adset-id 6123\n baker ads meta ads --account-id act_123 --all-statuses --name-contains octubre --fields id,name,adset_id,creative_id — find one ad by name\n baker ads meta ads --adset-id 6123 --fields id,name,preview_shareable_link\n baker ads meta ads create --name \"Ad 1\" --adset meta_temp_as01 --creative meta_temp_cr01\n baker ads meta ads pause 6123 --account-id act_123\n baker ads meta ads retag 6123 --set \"utm_medium=paid-social\" — fix tracking on a LIVE ad, keeping everything else`,\n },\n subCommands: {\n list: listCommand,\n create: () => import(\"./write-commands.ts\").then((m) => m.adsCreateCommand),\n update: () => import(\"./write-commands.ts\").then((m) => m.adsUpdateCommand),\n pause: () => import(\"./write-commands.ts\").then((m) => m.adsPauseCommand),\n resume: () => import(\"./write-commands.ts\").then((m) => m.adsResumeCommand),\n archive: () => import(\"./write-commands.ts\").then((m) => m.adsArchiveCommand),\n delete: () => import(\"./write-commands.ts\").then((m) => m.adsDeleteCommand),\n duplicate: () => import(\"./write-commands.ts\").then((m) => m.adsDuplicateCommand),\n retag: () => import(\"./write-commands.ts\").then((m) => m.adsRetagCommand),\n },\n // `args` stays even though the parent has no `run`: citty scans rawArgs for the\n // subcommand name using THIS command's arg defs, so without them `--account-id act_1`\n // would read `act_1` as a subcommand. `default` (not `run`) dispatches the bare\n // invocation — citty falls through to `run` after a subcommand, double-executing it.\n args: listArgs,\n default: \"list\",\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,qBAAqB;AAa9B,IAAM,WAAW;AAAA,EACf,cAAc,EAAE,MAAM,UAAU,aAAa,qBAAqB;AAAA,EAClE,YAAY,EAAE,MAAM,UAAU,aAAa,sBAAsB;AAAA,EACjE,eAAe,EAAE,MAAM,UAAU,aAAa,yBAAyB;AAAA,EACvE,oBAAoB,EAAE,MAAM,UAAU,aAAa,8DAA8D;AAAA,EACjH,gBAAgB,EAAE,MAAM,WAAW,aAAa,iCAAiC;AAAA,EACjF,iBAAiB;AAAA,EACjB,OAAO,EAAE,MAAM,UAAU,aAAa,0BAA0B;AAAA,EAChE,YAAY;AAAA,EACZ,GAAG;AACL;AAEA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AACF;AAEA,IAAM,cAAc,cAAc;AAAA,EAChC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AAAA,EACA,MAAM;AAAA,EACN,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,UAAM,YAAY,oBAAoB,IAAI;AAC1C,UAAM,kBAAkB,uBAAuB,IAAI;AACnD,QAAI;AACF,YAAM,SAAiC,EAAE,cAAc,UAAU;AACjE,UAAI,KAAK,UAAU,EAAG,QAAO,UAAU,IAAI,KAAK,UAAU;AAC1D,UAAI,KAAK,aAAa,EAAG,QAAO,aAAa,IAAI,KAAK,aAAa;AACnE,UAAI,gBAAiB,QAAO,kBAAkB,IAAI;AAClD,UAAI,KAAK,eAAe,EAAG,QAAO,eAAe,IAAI,KAAK,eAAe;AACzE,UAAI,KAAK,MAAO,QAAO,QAAQ,KAAK;AACpC,UAAI,KAAK,UAAU,EAAG,QAAO,YAAY,IAAI;AAC7C,YAAM,OAAO,MAAM,OAAuC,qBAAqB,MAAM;AACrF,YAAM,SAAS,kBAAkB,OAAO,MAAM,IAAI;AAClD,wBAAkB,OAAO,QAAQ,UAAU,IAAI,GAAG,kBAAkB,MAAM,iBAAiB,KAAK,CAAC;AAAA,IACnG,SAAS,KAAK;AACZ,sBAAgB,GAAG;AAAA,IACrB;AAAA,EACF;AACF,CAAC;AAEM,IAAM,iBAAiB,cAAc;AAAA,EAC1C,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBf;AAAA,EACA,aAAa;AAAA,IACX,MAAM;AAAA,IACN,QAAQ,MAAM,OAAO,8BAAqB,EAAE,KAAK,CAAC,MAAM,EAAE,gBAAgB;AAAA,IAC1E,QAAQ,MAAM,OAAO,8BAAqB,EAAE,KAAK,CAAC,MAAM,EAAE,gBAAgB;AAAA,IAC1E,OAAO,MAAM,OAAO,8BAAqB,EAAE,KAAK,CAAC,MAAM,EAAE,eAAe;AAAA,IACxE,QAAQ,MAAM,OAAO,8BAAqB,EAAE,KAAK,CAAC,MAAM,EAAE,gBAAgB;AAAA,IAC1E,SAAS,MAAM,OAAO,8BAAqB,EAAE,KAAK,CAAC,MAAM,EAAE,iBAAiB;AAAA,IAC5E,QAAQ,MAAM,OAAO,8BAAqB,EAAE,KAAK,CAAC,MAAM,EAAE,gBAAgB;AAAA,IAC1E,WAAW,MAAM,OAAO,8BAAqB,EAAE,KAAK,CAAC,MAAM,EAAE,mBAAmB;AAAA,IAChF,OAAO,MAAM,OAAO,8BAAqB,EAAE,KAAK,CAAC,MAAM,EAAE,eAAe;AAAA,EAC1E;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM;AAAA,EACN,SAAS;AACX,CAAC;","names":[]}
|