@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
|
@@ -87,13 +87,12 @@
|
|
|
87
87
|
// A card closes where the SCRIPT closes, not on a word count. Slicing every
|
|
88
88
|
// N words gave cards reading "OTRA VEZ, EN" — half a thought ending on a
|
|
89
89
|
// preposition. The count stays as a ceiling (a long clause still has to be
|
|
90
|
-
// split), and a
|
|
90
|
+
// split), and a word that leans on the next one never ends a card. Which words
|
|
91
|
+
// those are is decided per script when the canvas is scaffolded, in the
|
|
92
|
+
// script's own language (`carries_on`); empty, the ceiling alone closes a card.
|
|
91
93
|
const CLOSES = /[.,;:!?\u2026]$/;
|
|
92
|
-
const CARRIES_ON = new Set(
|
|
93
|
-
|
|
94
|
-
'con','por','para','su','tu','mi','más','mas','the','of','to','and','in','for','your',
|
|
95
|
-
]);
|
|
96
|
-
const carriesOn = (w) => CARRIES_ON.has(String(w.text || '').replace(/[.,;:!?\u2026]$/, '').toLowerCase());
|
|
94
|
+
const CARRIES_ON = new Set({{carries_on}});
|
|
95
|
+
const carriesOn = (w) => CARRIES_ON.has(String(w.text || '').replace(/[.,;:!?\u2026]+$/, '').toLocaleLowerCase());
|
|
97
96
|
|
|
98
97
|
const groups = [];
|
|
99
98
|
let current = [];
|
|
@@ -28,6 +28,11 @@
|
|
|
28
28
|
"default": 3,
|
|
29
29
|
"description": "How many words to show at once."
|
|
30
30
|
},
|
|
31
|
+
"carries_on": {
|
|
32
|
+
"kind": "json",
|
|
33
|
+
"default": [],
|
|
34
|
+
"description": "Words a card may not end on, lowercase: they lean on the word after them. Decided per script when the canvas is scaffolded."
|
|
35
|
+
},
|
|
31
36
|
"font_size": {
|
|
32
37
|
"kind": "integer",
|
|
33
38
|
"min": 24,
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import {
|
|
2
|
+
handleMetaError,
|
|
3
|
+
resolveAccountIdArg
|
|
4
|
+
} from "./chunk-TPXI2GCW.js";
|
|
5
|
+
import {
|
|
6
|
+
writeAdsJson
|
|
7
|
+
} from "./chunk-BVM5IRZW.js";
|
|
8
|
+
import {
|
|
9
|
+
NO_CACHE_ARG
|
|
10
|
+
} from "./chunk-EF5DP6EB.js";
|
|
11
|
+
import {
|
|
12
|
+
apiGet
|
|
13
|
+
} from "./chunk-HREWXNTO.js";
|
|
14
|
+
import "./chunk-HLXWKMTK.js";
|
|
15
|
+
import "./chunk-O6QKCJE4.js";
|
|
16
|
+
import "./chunk-WOTDHRNF.js";
|
|
17
|
+
import "./chunk-YQSBHWOI.js";
|
|
18
|
+
|
|
19
|
+
// src/commands/ads/meta/account.ts
|
|
20
|
+
import { defineCommand } from "citty";
|
|
21
|
+
var accountCommand = defineCommand({
|
|
22
|
+
meta: {
|
|
23
|
+
name: "account",
|
|
24
|
+
description: `Show single Meta ad account detail (currency, timezone, balance, business).
|
|
25
|
+
|
|
26
|
+
Examples:
|
|
27
|
+
baker ads meta account --account-id act_123
|
|
28
|
+
BAKER_META_AD_ACCOUNT_ID=act_123 baker ads meta account`
|
|
29
|
+
},
|
|
30
|
+
args: {
|
|
31
|
+
"account-id": { type: "string", description: "Meta ad account ID (act_...)" },
|
|
32
|
+
"no-cache": NO_CACHE_ARG
|
|
33
|
+
},
|
|
34
|
+
run: async ({ args }) => {
|
|
35
|
+
const accountId = resolveAccountIdArg(args);
|
|
36
|
+
try {
|
|
37
|
+
const params = { "account-id": accountId };
|
|
38
|
+
if (args["no-cache"]) params["skip-cache"] = "true";
|
|
39
|
+
const data = await apiGet("/api/ads/meta/account", params);
|
|
40
|
+
writeAdsJson({ ok: true, data });
|
|
41
|
+
} catch (err) {
|
|
42
|
+
handleMetaError(err);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
export {
|
|
47
|
+
accountCommand
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=account-CLOKMTTC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/ads/meta/account.ts"],"sourcesContent":["import { defineCommand } from \"citty\";\nimport { NO_CACHE_ARG } from \"../../../cache-flag.ts\";\nimport { apiGet } from \"../../../client.ts\";\nimport { writeAdsJson } from \"../output.ts\";\nimport { handleMetaError, resolveAccountIdArg } from \"./shared.ts\";\n\nexport const accountCommand = defineCommand({\n meta: {\n name: \"account\",\n description: `Show single Meta ad account detail (currency, timezone, balance, business).\n\nExamples:\n baker ads meta account --account-id act_123\n BAKER_META_AD_ACCOUNT_ID=act_123 baker ads meta account`,\n },\n args: {\n \"account-id\": { type: \"string\", description: \"Meta ad account ID (act_...)\" },\n \"no-cache\": NO_CACHE_ARG,\n },\n run: async ({ args }) => {\n const accountId = resolveAccountIdArg(args);\n try {\n const params: Record<string, string> = { \"account-id\": accountId };\n if (args[\"no-cache\"]) params[\"skip-cache\"] = \"true\";\n const data = await apiGet<Record<string, unknown>>(\"/api/ads/meta/account\", params);\n writeAdsJson({ ok: true, data });\n } catch (err) {\n handleMetaError(err);\n }\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,SAAS,qBAAqB;AAMvB,IAAM,iBAAiB,cAAc;AAAA,EAC1C,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA,EAKf;AAAA,EACA,MAAM;AAAA,IACJ,cAAc,EAAE,MAAM,UAAU,aAAa,+BAA+B;AAAA,IAC5E,YAAY;AAAA,EACd;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,UAAM,YAAY,oBAAoB,IAAI;AAC1C,QAAI;AACF,YAAM,SAAiC,EAAE,cAAc,UAAU;AACjE,UAAI,KAAK,UAAU,EAAG,QAAO,YAAY,IAAI;AAC7C,YAAM,OAAO,MAAM,OAAgC,yBAAyB,MAAM;AAClF,mBAAa,EAAE,IAAI,MAAM,KAAK,CAAC;AAAA,IACjC,SAAS,KAAK;AACZ,sBAAgB,GAAG;AAAA,IACrB;AAAA,EACF;AACF,CAAC;","names":[]}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import {
|
|
2
|
+
csvOrJson,
|
|
3
|
+
handleLinkedinError,
|
|
4
|
+
resolveAccountIdArg
|
|
5
|
+
} from "./chunk-7F7MFMLI.js";
|
|
6
|
+
import {
|
|
7
|
+
writeAdsJson,
|
|
8
|
+
writeAdsOutput
|
|
9
|
+
} from "./chunk-BVM5IRZW.js";
|
|
10
|
+
import {
|
|
11
|
+
NO_CACHE_ARG
|
|
12
|
+
} from "./chunk-EF5DP6EB.js";
|
|
13
|
+
import "./chunk-SMIENBNX.js";
|
|
14
|
+
import "./chunk-GXDLWBOY.js";
|
|
15
|
+
import "./chunk-GIWHHCD6.js";
|
|
16
|
+
import "./chunk-UI6BKYQD.js";
|
|
17
|
+
import "./chunk-XX6ZMCY5.js";
|
|
18
|
+
import {
|
|
19
|
+
apiGet
|
|
20
|
+
} from "./chunk-HREWXNTO.js";
|
|
21
|
+
import "./chunk-HLXWKMTK.js";
|
|
22
|
+
import "./chunk-O6QKCJE4.js";
|
|
23
|
+
import "./chunk-WOTDHRNF.js";
|
|
24
|
+
import "./chunk-YQSBHWOI.js";
|
|
25
|
+
|
|
26
|
+
// src/commands/ads/linkedin/account.ts
|
|
27
|
+
import { defineCommand } from "citty";
|
|
28
|
+
var accountDetailCommand = defineCommand({
|
|
29
|
+
meta: {
|
|
30
|
+
name: "detail",
|
|
31
|
+
description: `Single LinkedIn ad account detail (currency, status, type).
|
|
32
|
+
|
|
33
|
+
Examples:
|
|
34
|
+
baker ads linkedin account --account-id 503001492
|
|
35
|
+
baker ads linkedin account --account-urn urn:li:sponsoredAccount:503001492 --output md`
|
|
36
|
+
},
|
|
37
|
+
args: {
|
|
38
|
+
"account-id": { type: "string", description: "Numeric account ID or urn:li:sponsoredAccount:N" },
|
|
39
|
+
"account-urn": { type: "string", description: "Alias for --account-id" },
|
|
40
|
+
"no-cache": NO_CACHE_ARG,
|
|
41
|
+
output: { type: "string", description: "json|csv|jsonl|md", default: "json" }
|
|
42
|
+
},
|
|
43
|
+
run: async ({ args }) => {
|
|
44
|
+
const accountId = resolveAccountIdArg(args);
|
|
45
|
+
try {
|
|
46
|
+
const params = { "account-id": accountId };
|
|
47
|
+
if (args["no-cache"]) params["skip-cache"] = "true";
|
|
48
|
+
const data = await apiGet("/api/ads/linkedin/account", params);
|
|
49
|
+
const fmt = csvOrJson(args);
|
|
50
|
+
if (fmt !== "json") {
|
|
51
|
+
writeAdsOutput([data], fmt);
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
writeAdsJson({ ok: true, data });
|
|
55
|
+
} catch (err) {
|
|
56
|
+
handleLinkedinError(err);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
var accountCommand = defineCommand({
|
|
61
|
+
meta: {
|
|
62
|
+
name: "account",
|
|
63
|
+
description: `LinkedIn ad account: its detail, and the settings that apply across every ad set in it.
|
|
64
|
+
|
|
65
|
+
Examples:
|
|
66
|
+
baker ads linkedin account --account-id 503001492 \u2014 currency, status, type
|
|
67
|
+
baker ads linkedin account url-params --param utm_source=linkedin \u2014 UTMs for every ad in the account`
|
|
68
|
+
},
|
|
69
|
+
subCommands: {
|
|
70
|
+
detail: accountDetailCommand,
|
|
71
|
+
"url-params": () => import("./write-commands-Q4MQ3BGM.js").then((m) => m.accountUrlParamsCommand)
|
|
72
|
+
},
|
|
73
|
+
args: accountDetailCommand.args,
|
|
74
|
+
default: "detail"
|
|
75
|
+
});
|
|
76
|
+
export {
|
|
77
|
+
accountCommand
|
|
78
|
+
};
|
|
79
|
+
//# sourceMappingURL=account-V5Y2QHAK.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/ads/linkedin/account.ts"],"sourcesContent":["import { defineCommand } from \"citty\";\nimport { NO_CACHE_ARG } from \"../../../cache-flag.ts\";\nimport { apiGet } from \"../../../client.ts\";\nimport { writeAdsJson, writeAdsOutput } from \"../output.ts\";\nimport { csvOrJson, handleLinkedinError, resolveAccountIdArg } from \"./shared.ts\";\n\ninterface LinkedinAccountInfo {\n externalId: string;\n urn: string;\n name: string;\n status: string;\n type: string;\n currency?: string;\n test?: boolean;\n}\n\nconst accountDetailCommand = defineCommand({\n meta: {\n name: \"detail\",\n description: `Single LinkedIn ad account detail (currency, status, type).\n\nExamples:\n baker ads linkedin account --account-id 503001492\n baker ads linkedin account --account-urn urn:li:sponsoredAccount:503001492 --output md`,\n },\n args: {\n \"account-id\": { type: \"string\", description: \"Numeric account ID or urn:li:sponsoredAccount:N\" },\n \"account-urn\": { type: \"string\", description: \"Alias for --account-id\" },\n \"no-cache\": NO_CACHE_ARG,\n output: { type: \"string\", description: \"json|csv|jsonl|md\", default: \"json\" },\n },\n run: async ({ args }) => {\n const accountId = resolveAccountIdArg(args);\n try {\n const params: Record<string, string> = { \"account-id\": accountId };\n if (args[\"no-cache\"]) params[\"skip-cache\"] = \"true\";\n const data = await apiGet<LinkedinAccountInfo>(\"/api/ads/linkedin/account\", params);\n const fmt = csvOrJson(args);\n if (fmt !== \"json\") {\n writeAdsOutput([data] as unknown as Array<Record<string, unknown>>, fmt);\n return;\n }\n writeAdsJson({ ok: true, data });\n } catch (err) {\n handleLinkedinError(err);\n }\n },\n});\n\n/**\n * Account-level settings, with the detail read as the default so\n * `baker ads linkedin account --account-id N` keeps working unchanged. A parent\n * must never declare `run` — citty falls through to it after the matched\n * subcommand, which would fire a live account read on every `url-params` stage.\n */\nexport const accountCommand = defineCommand({\n meta: {\n name: \"account\",\n description: `LinkedIn ad account: its detail, and the settings that apply across every ad set in it.\n\nExamples:\n baker ads linkedin account --account-id 503001492 — currency, status, type\n baker ads linkedin account url-params --param utm_source=linkedin — UTMs for every ad in the account`,\n },\n subCommands: {\n detail: accountDetailCommand,\n \"url-params\": () => import(\"./write-commands.ts\").then((m) => m.accountUrlParamsCommand),\n },\n args: accountDetailCommand.args,\n default: \"detail\",\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,qBAAqB;AAgB9B,IAAM,uBAAuB,cAAc;AAAA,EACzC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA,EAKf;AAAA,EACA,MAAM;AAAA,IACJ,cAAc,EAAE,MAAM,UAAU,aAAa,kDAAkD;AAAA,IAC/F,eAAe,EAAE,MAAM,UAAU,aAAa,yBAAyB;AAAA,IACvE,YAAY;AAAA,IACZ,QAAQ,EAAE,MAAM,UAAU,aAAa,qBAAqB,SAAS,OAAO;AAAA,EAC9E;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,UAAM,YAAY,oBAAoB,IAAI;AAC1C,QAAI;AACF,YAAM,SAAiC,EAAE,cAAc,UAAU;AACjE,UAAI,KAAK,UAAU,EAAG,QAAO,YAAY,IAAI;AAC7C,YAAM,OAAO,MAAM,OAA4B,6BAA6B,MAAM;AAClF,YAAM,MAAM,UAAU,IAAI;AAC1B,UAAI,QAAQ,QAAQ;AAClB,uBAAe,CAAC,IAAI,GAAgD,GAAG;AACvE;AAAA,MACF;AACA,mBAAa,EAAE,IAAI,MAAM,KAAK,CAAC;AAAA,IACjC,SAAS,KAAK;AACZ,0BAAoB,GAAG;AAAA,IACzB;AAAA,EACF;AACF,CAAC;AAQM,IAAM,iBAAiB,cAAc;AAAA,EAC1C,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA,EAKf;AAAA,EACA,aAAa;AAAA,IACX,QAAQ;AAAA,IACR,cAAc,MAAM,OAAO,8BAAqB,EAAE,KAAK,CAAC,MAAM,EAAE,uBAAuB;AAAA,EACzF;AAAA,EACA,MAAM,qBAAqB;AAAA,EAC3B,SAAS;AACX,CAAC;","names":[]}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CHATGPT_ADS_REFERENCE,
|
|
3
|
+
runChatgptRead
|
|
4
|
+
} from "./chunk-IOCSDFF2.js";
|
|
5
|
+
import "./chunk-BVM5IRZW.js";
|
|
6
|
+
import {
|
|
7
|
+
apiGet
|
|
8
|
+
} from "./chunk-HREWXNTO.js";
|
|
9
|
+
import "./chunk-HLXWKMTK.js";
|
|
10
|
+
import "./chunk-O6QKCJE4.js";
|
|
11
|
+
import {
|
|
12
|
+
registerSchema
|
|
13
|
+
} from "./chunk-WOTDHRNF.js";
|
|
14
|
+
import "./chunk-YQSBHWOI.js";
|
|
15
|
+
|
|
16
|
+
// src/commands/ads/chatgpt/account.ts
|
|
17
|
+
import { defineCommand } from "citty";
|
|
18
|
+
registerSchema({
|
|
19
|
+
command: "ads.chatgpt.account",
|
|
20
|
+
description: "The connected ChatGPT Ads account: name, currency, timezone, status, and the brand and account reviews that decide whether anything in it can serve.",
|
|
21
|
+
args: {
|
|
22
|
+
full: { type: "boolean", description: "Return ChatGPT Ads' own account object", required: false }
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
function accountHints(account) {
|
|
26
|
+
const hints = [];
|
|
27
|
+
if (account.brandReview.status !== "approved") {
|
|
28
|
+
const reason = account.brandReview.reason ? ` (${account.brandReview.reason})` : "";
|
|
29
|
+
hints.push(
|
|
30
|
+
`Brand review is ${account.brandReview.status}${reason}: nothing in this account serves until it is approved. Fix it in ChatGPT Ads Manager before changing campaigns.`
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
if (account.accountReview && account.accountReview.status !== "approved") {
|
|
34
|
+
hints.push(`A separate account review is ${account.accountReview.status}; delivery can wait on it too.`);
|
|
35
|
+
}
|
|
36
|
+
if (account.status === "paused") {
|
|
37
|
+
hints.push("The whole account is paused, so no campaign in it serves whatever its own status says.");
|
|
38
|
+
}
|
|
39
|
+
return hints;
|
|
40
|
+
}
|
|
41
|
+
var SHOW_ARGS = {
|
|
42
|
+
full: { type: "boolean", description: "Return ChatGPT Ads' own account object", required: false }
|
|
43
|
+
};
|
|
44
|
+
var accountShowCommand = defineCommand({
|
|
45
|
+
meta: {
|
|
46
|
+
name: "show",
|
|
47
|
+
description: "The connected ChatGPT Ads account. Example: baker ads chatgpt account"
|
|
48
|
+
},
|
|
49
|
+
args: SHOW_ARGS,
|
|
50
|
+
run: async ({ args }) => {
|
|
51
|
+
await runChatgptRead(
|
|
52
|
+
CHATGPT_ADS_REFERENCE.account,
|
|
53
|
+
() => apiGet("/api/ads/chatgpt/account", args.full ? { full: "true" } : void 0),
|
|
54
|
+
(account) => args.full ? [] : accountHints(account)
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
var accountCommand = defineCommand({
|
|
59
|
+
meta: {
|
|
60
|
+
name: "account",
|
|
61
|
+
description: `The connected ChatGPT Ads account. Start here: currency and timezone for every figure, and whether reviews let anything serve.
|
|
62
|
+
|
|
63
|
+
Examples:
|
|
64
|
+
baker ads chatgpt account
|
|
65
|
+
baker ads chatgpt account --full
|
|
66
|
+
baker ads chatgpt account update --favicon-url https://example.com/icon.png \u2014 staged; applies on publish`
|
|
67
|
+
},
|
|
68
|
+
subCommands: {
|
|
69
|
+
show: accountShowCommand,
|
|
70
|
+
update: () => import("./account-writes-Y7EQXDXF.js").then((m) => m.accountUpdateCommand)
|
|
71
|
+
},
|
|
72
|
+
// A parent must never declare `run`: citty falls through to it after the matched subcommand.
|
|
73
|
+
args: SHOW_ARGS,
|
|
74
|
+
default: "show"
|
|
75
|
+
});
|
|
76
|
+
export {
|
|
77
|
+
accountCommand,
|
|
78
|
+
accountHints
|
|
79
|
+
};
|
|
80
|
+
//# sourceMappingURL=account-XFK6VX2R.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/ads/chatgpt/account.ts"],"sourcesContent":["import type { ChatgptAdsAccount } from \"@baker/api/ads-chatgpt\";\nimport { defineCommand } from \"citty\";\nimport { apiGet } from \"../../../client.ts\";\nimport { registerSchema } from \"../../../schemas.ts\";\nimport { CHATGPT_ADS_REFERENCE, runChatgptRead } from \"./shared.ts\";\n\nregisterSchema({\n command: \"ads.chatgpt.account\",\n description:\n \"The connected ChatGPT Ads account: name, currency, timezone, status, and the brand and account reviews that decide whether anything in it can serve.\",\n args: {\n full: { type: \"boolean\", description: \"Return ChatGPT Ads' own account object\", required: false },\n },\n});\n\n/** Reviews gate the whole account; say so before anyone tunes a bid under one. */\nexport function accountHints(account: ChatgptAdsAccount): string[] {\n const hints: string[] = [];\n if (account.brandReview.status !== \"approved\") {\n const reason = account.brandReview.reason ? ` (${account.brandReview.reason})` : \"\";\n hints.push(\n `Brand review is ${account.brandReview.status}${reason}: nothing in this account serves until it is approved. Fix it in ChatGPT Ads Manager before changing campaigns.`,\n );\n }\n if (account.accountReview && account.accountReview.status !== \"approved\") {\n hints.push(`A separate account review is ${account.accountReview.status}; delivery can wait on it too.`);\n }\n if (account.status === \"paused\") {\n hints.push(\"The whole account is paused, so no campaign in it serves whatever its own status says.\");\n }\n return hints;\n}\n\nconst SHOW_ARGS = {\n full: { type: \"boolean\", description: \"Return ChatGPT Ads' own account object\", required: false },\n} as const;\n\nconst accountShowCommand = defineCommand({\n meta: {\n name: \"show\",\n description: \"The connected ChatGPT Ads account. Example: baker ads chatgpt account\",\n },\n args: SHOW_ARGS,\n run: async ({ args }) => {\n await runChatgptRead(\n CHATGPT_ADS_REFERENCE.account,\n () => apiGet<ChatgptAdsAccount>(\"/api/ads/chatgpt/account\", args.full ? { full: \"true\" } : undefined),\n (account) => (args.full ? [] : accountHints(account)),\n );\n },\n});\n\nexport const accountCommand = defineCommand({\n meta: {\n name: \"account\",\n description: `The connected ChatGPT Ads account. Start here: currency and timezone for every figure, and whether reviews let anything serve.\n\nExamples:\n baker ads chatgpt account\n baker ads chatgpt account --full\n baker ads chatgpt account update --favicon-url https://example.com/icon.png — staged; applies on publish`,\n },\n subCommands: {\n show: accountShowCommand,\n update: () => import(\"./account-writes.ts\").then((m) => m.accountUpdateCommand),\n },\n // A parent must never declare `run`: citty falls through to it after the matched subcommand.\n args: SHOW_ARGS,\n default: \"show\",\n});\n"],"mappings":";;;;;;;;;;;;;;;;AACA,SAAS,qBAAqB;AAK9B,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM;AAAA,IACJ,MAAM,EAAE,MAAM,WAAW,aAAa,0CAA0C,UAAU,MAAM;AAAA,EAClG;AACF,CAAC;AAGM,SAAS,aAAa,SAAsC;AACjE,QAAM,QAAkB,CAAC;AACzB,MAAI,QAAQ,YAAY,WAAW,YAAY;AAC7C,UAAM,SAAS,QAAQ,YAAY,SAAS,KAAK,QAAQ,YAAY,MAAM,MAAM;AACjF,UAAM;AAAA,MACJ,mBAAmB,QAAQ,YAAY,MAAM,GAAG,MAAM;AAAA,IACxD;AAAA,EACF;AACA,MAAI,QAAQ,iBAAiB,QAAQ,cAAc,WAAW,YAAY;AACxE,UAAM,KAAK,gCAAgC,QAAQ,cAAc,MAAM,gCAAgC;AAAA,EACzG;AACA,MAAI,QAAQ,WAAW,UAAU;AAC/B,UAAM,KAAK,wFAAwF;AAAA,EACrG;AACA,SAAO;AACT;AAEA,IAAM,YAAY;AAAA,EAChB,MAAM,EAAE,MAAM,WAAW,aAAa,0CAA0C,UAAU,MAAM;AAClG;AAEA,IAAM,qBAAqB,cAAc;AAAA,EACvC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA,MAAM;AAAA,EACN,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,UAAM;AAAA,MACJ,sBAAsB;AAAA,MACtB,MAAM,OAA0B,4BAA4B,KAAK,OAAO,EAAE,MAAM,OAAO,IAAI,MAAS;AAAA,MACpG,CAAC,YAAa,KAAK,OAAO,CAAC,IAAI,aAAa,OAAO;AAAA,IACrD;AAAA,EACF;AACF,CAAC;AAEM,IAAM,iBAAiB,cAAc;AAAA,EAC1C,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMf;AAAA,EACA,aAAa;AAAA,IACX,MAAM;AAAA,IACN,QAAQ,MAAM,OAAO,8BAAqB,EAAE,KAAK,CAAC,MAAM,EAAE,oBAAoB;AAAA,EAChF;AAAA;AAAA,EAEA,MAAM;AAAA,EACN,SAAS;AACX,CAAC;","names":[]}
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
import {
|
|
2
|
+
exitWithServiceReadError
|
|
3
|
+
} from "./chunk-JUAIGJ2A.js";
|
|
4
|
+
import {
|
|
5
|
+
failWriteValidation,
|
|
6
|
+
listFlag,
|
|
7
|
+
requireCustomerId
|
|
8
|
+
} from "./chunk-TMIDUSOR.js";
|
|
9
|
+
import "./chunk-ERSX3MKH.js";
|
|
10
|
+
import "./chunk-6I7SYEYN.js";
|
|
11
|
+
import "./chunk-4NZ47VXO.js";
|
|
12
|
+
import "./chunk-D5FY4FAK.js";
|
|
13
|
+
import "./chunk-I3DIZWN5.js";
|
|
14
|
+
import "./chunk-77DN7R35.js";
|
|
15
|
+
import {
|
|
16
|
+
getManagerIdForCustomer,
|
|
17
|
+
writeJsonEnvelope
|
|
18
|
+
} from "./chunk-BVM5IRZW.js";
|
|
19
|
+
import "./chunk-AUSKKFVH.js";
|
|
20
|
+
import "./chunk-HDHWIEJJ.js";
|
|
21
|
+
import "./chunk-MGKHFGLV.js";
|
|
22
|
+
import "./chunk-U7BBXM67.js";
|
|
23
|
+
import "./chunk-DX4GIDO7.js";
|
|
24
|
+
import "./chunk-CZENWCBS.js";
|
|
25
|
+
import "./chunk-UI6BKYQD.js";
|
|
26
|
+
import "./chunk-XX6ZMCY5.js";
|
|
27
|
+
import {
|
|
28
|
+
apiPost
|
|
29
|
+
} from "./chunk-HREWXNTO.js";
|
|
30
|
+
import "./chunk-HLXWKMTK.js";
|
|
31
|
+
import "./chunk-O6QKCJE4.js";
|
|
32
|
+
import {
|
|
33
|
+
registerSchema
|
|
34
|
+
} from "./chunk-WOTDHRNF.js";
|
|
35
|
+
import "./chunk-YQSBHWOI.js";
|
|
36
|
+
|
|
37
|
+
// src/commands/ads/google/account-reads.ts
|
|
38
|
+
import { defineCommand } from "citty";
|
|
39
|
+
function register(command, description, args) {
|
|
40
|
+
registerSchema({
|
|
41
|
+
command,
|
|
42
|
+
description,
|
|
43
|
+
args: Object.fromEntries(
|
|
44
|
+
Object.entries(args).map(([name, arg]) => [
|
|
45
|
+
name,
|
|
46
|
+
{ type: arg.type, description: arg.description, required: false }
|
|
47
|
+
])
|
|
48
|
+
)
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
async function serviceRead(path, customerId, body) {
|
|
52
|
+
const managerId = getManagerIdForCustomer(customerId);
|
|
53
|
+
const { data } = await apiPost(path, {
|
|
54
|
+
customerId,
|
|
55
|
+
...managerId ? { managerId } : {},
|
|
56
|
+
...body
|
|
57
|
+
});
|
|
58
|
+
return data;
|
|
59
|
+
}
|
|
60
|
+
var CUSTOMER_ARG = {
|
|
61
|
+
"customer-id": { type: "string", description: "Google Ads customer ID (10 digits, no dashes)" }
|
|
62
|
+
};
|
|
63
|
+
var INVOICE_ARGS = {
|
|
64
|
+
...CUSTOMER_ARG,
|
|
65
|
+
month: { type: "string", description: "Issue month, YYYY-MM (default: last month)" }
|
|
66
|
+
};
|
|
67
|
+
register(
|
|
68
|
+
"ads.google.invoices",
|
|
69
|
+
"List the invoices Google issued in one month (accounts on monthly invoicing only): id, dates, service period, subtotal/tax/total in micros, PDF link. Start here: `baker ads google invoices --customer-id 1234567890 --month 2026-09`. An account that pays automatically has no invoices \u2014 the error's fix says where its receipts are; carry on.",
|
|
70
|
+
INVOICE_ARGS
|
|
71
|
+
);
|
|
72
|
+
var invoicesCommand = defineCommand({
|
|
73
|
+
meta: {
|
|
74
|
+
name: "invoices",
|
|
75
|
+
description: `List one month's invoices (monthly-invoicing accounts only). Read-only.
|
|
76
|
+
|
|
77
|
+
Example:
|
|
78
|
+
baker ads google invoices --customer-id 1234567890 --month 2026-09`
|
|
79
|
+
},
|
|
80
|
+
args: INVOICE_ARGS,
|
|
81
|
+
run: async ({ args }) => {
|
|
82
|
+
const customerId = requireCustomerId(args);
|
|
83
|
+
try {
|
|
84
|
+
const data = await serviceRead("/api/ads/google/invoices", customerId, {
|
|
85
|
+
...args.month ? { month: args.month } : {}
|
|
86
|
+
});
|
|
87
|
+
const hints = data.invoices.length === 0 ? [`No invoice was issued in ${data.month}. Try the month before with --month.`] : [
|
|
88
|
+
"Amounts are micros in each invoice's currency_code (divide by 1,000,000). pdf_url needs the user's Google sign-in."
|
|
89
|
+
];
|
|
90
|
+
writeJsonEnvelope({ ok: true, data, hints });
|
|
91
|
+
} catch (err) {
|
|
92
|
+
exitWithServiceReadError(err);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
register(
|
|
97
|
+
"ads.google.identity-verification",
|
|
98
|
+
"Advertiser identity verification status: each program's status (PENDING_USER_ACTION, PENDING_REVIEW, SUCCESS, FAILURE), deadlines and the link where the user completes it. Start here: `baker ads google identity-verification --customer-id 1234567890`. Google only answers for accounts on monthly invoicing \u2014 otherwise the error's fix says where the user reads it; carry on.",
|
|
99
|
+
CUSTOMER_ARG
|
|
100
|
+
);
|
|
101
|
+
var identityVerificationCommand = defineCommand({
|
|
102
|
+
meta: {
|
|
103
|
+
name: "identity-verification",
|
|
104
|
+
description: `Advertiser identity verification status and deadlines. Read-only.
|
|
105
|
+
|
|
106
|
+
Example:
|
|
107
|
+
baker ads google identity-verification --customer-id 1234567890`
|
|
108
|
+
},
|
|
109
|
+
args: CUSTOMER_ARG,
|
|
110
|
+
run: async ({ args }) => {
|
|
111
|
+
const customerId = requireCustomerId(args);
|
|
112
|
+
try {
|
|
113
|
+
const data = await serviceRead(
|
|
114
|
+
"/api/ads/google/identity-verification",
|
|
115
|
+
customerId,
|
|
116
|
+
{}
|
|
117
|
+
);
|
|
118
|
+
const pending = data.programs.filter((program) => program.status === "PENDING_USER_ACTION");
|
|
119
|
+
const hints = pending.length > 0 ? [
|
|
120
|
+
`Verification is waiting on the advertiser${pending[0]?.completion_deadline ? ` (deadline ${pending[0].completion_deadline})` : ""}: give the user the action_url \u2014 ads stop serving if it lapses.`
|
|
121
|
+
] : [];
|
|
122
|
+
writeJsonEnvelope(hints.length > 0 ? { ok: true, data, hints } : { ok: true, data });
|
|
123
|
+
} catch (err) {
|
|
124
|
+
exitWithServiceReadError(err);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
var PREVIEW_ARGS = {
|
|
129
|
+
...CUSTOMER_ARG,
|
|
130
|
+
ads: {
|
|
131
|
+
type: "string",
|
|
132
|
+
description: "Comma-separated video ads of Video campaigns as {adGroupId}~{adId} (from `ads list`) \u2014 previewed live on YouTube"
|
|
133
|
+
},
|
|
134
|
+
"asset-groups": {
|
|
135
|
+
type: "string",
|
|
136
|
+
description: "Comma-separated Performance Max asset group ids (from `asset-groups list`) \u2014 previewed on Google's preview page"
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
register(
|
|
140
|
+
"ads.google.previews",
|
|
141
|
+
"Shareable preview links for Performance Max asset groups (Google's preview page) and video ads (live on YouTube) that already exist in the account \u2014 a link the user can open or forward. Start here: `baker ads google previews --customer-id 1234567890 --asset-groups 6743268912`. Returns { previews: [{ target, url, youtube_tv_url, expires_at }] }. Only video ads of Video campaigns can be previewed by ad (search, display and Demand Gen ads have no shareable preview); staged (unpublished) changes cannot be previewed.",
|
|
142
|
+
PREVIEW_ARGS
|
|
143
|
+
);
|
|
144
|
+
var previewsCommand = defineCommand({
|
|
145
|
+
meta: {
|
|
146
|
+
name: "previews",
|
|
147
|
+
description: `Shareable preview links for existing Performance Max asset groups and video ads. Read-only.
|
|
148
|
+
|
|
149
|
+
Examples:
|
|
150
|
+
baker ads google previews --customer-id 1234567890 --asset-groups 6743268912
|
|
151
|
+
baker ads google previews --customer-id 1234567890 --ads 195752489650~826812181091 # a video ad, live on YouTube`
|
|
152
|
+
},
|
|
153
|
+
args: PREVIEW_ARGS,
|
|
154
|
+
run: async ({ args }) => {
|
|
155
|
+
const customerId = requireCustomerId(args);
|
|
156
|
+
const ads = listFlag(args.ads);
|
|
157
|
+
const assetGroups = listFlag(args["asset-groups"]);
|
|
158
|
+
if (!ads?.length && !assetGroups?.length) failWriteValidation("pass --ads and/or --asset-groups");
|
|
159
|
+
try {
|
|
160
|
+
const data = await serviceRead("/api/ads/google/previews", customerId, {
|
|
161
|
+
...ads ? { ads } : {},
|
|
162
|
+
...assetGroups ? { assetGroups } : {}
|
|
163
|
+
});
|
|
164
|
+
writeJsonEnvelope({
|
|
165
|
+
ok: true,
|
|
166
|
+
data,
|
|
167
|
+
hints: [
|
|
168
|
+
"Each link expires (expires_at). It shows what is live in the account now, not anything staged in this chat."
|
|
169
|
+
]
|
|
170
|
+
});
|
|
171
|
+
} catch (err) {
|
|
172
|
+
exitWithServiceReadError(err);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
var BRAND_ARGS = {
|
|
177
|
+
...CUSTOMER_ARG,
|
|
178
|
+
prefix: { type: "string", description: "The start of the brand's name (at least 2 letters)" }
|
|
179
|
+
};
|
|
180
|
+
register(
|
|
181
|
+
"ads.google.brands",
|
|
182
|
+
"Find a brand's Google entity id \u2014 what a BRANDS list member names (`keyword-lists add --brand /g/\u2026`). Start here: `baker ads google brands --customer-id 1234567890 --prefix nike`. Several brands can share a name: pick by the URL. Read-only.",
|
|
183
|
+
BRAND_ARGS
|
|
184
|
+
);
|
|
185
|
+
var brandsCommand = defineCommand({
|
|
186
|
+
meta: {
|
|
187
|
+
name: "brands",
|
|
188
|
+
description: `Find brand entity ids for a brand list (BRANDS). Read-only.
|
|
189
|
+
|
|
190
|
+
Example:
|
|
191
|
+
baker ads google brands --customer-id 1234567890 --prefix nike`
|
|
192
|
+
},
|
|
193
|
+
args: BRAND_ARGS,
|
|
194
|
+
run: async ({ args }) => {
|
|
195
|
+
const customerId = requireCustomerId(args);
|
|
196
|
+
if (typeof args.prefix !== "string" || args.prefix.trim().length < 2) {
|
|
197
|
+
failWriteValidation("--prefix needs at least the first 2 letters of the brand");
|
|
198
|
+
}
|
|
199
|
+
try {
|
|
200
|
+
const data = await serviceRead("/api/ads/google/brands", customerId, {
|
|
201
|
+
prefix: args.prefix
|
|
202
|
+
});
|
|
203
|
+
const hints = data.brands.length > 0 ? [
|
|
204
|
+
"Several brands can share a name \u2014 pick the one whose URL is the brand you mean, then `keyword-lists add --list-ref <BRANDS list> --brand <entity_id>`."
|
|
205
|
+
] : ["No brand starts with that \u2014 try a shorter or different prefix."];
|
|
206
|
+
writeJsonEnvelope({ ok: true, data, hints });
|
|
207
|
+
} catch (err) {
|
|
208
|
+
exitWithServiceReadError(err);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
});
|
|
212
|
+
export {
|
|
213
|
+
brandsCommand,
|
|
214
|
+
identityVerificationCommand,
|
|
215
|
+
invoicesCommand,
|
|
216
|
+
previewsCommand
|
|
217
|
+
};
|
|
218
|
+
//# sourceMappingURL=account-reads-S5VXX2QU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/ads/google/account-reads.ts"],"sourcesContent":["/**\n * `baker ads google invoices | identity-verification | previews` — read-only service calls that\n * are not GAQL. A refusal that is the account's situation degrades with an `error.fix` (see\n * `service-read-errors.ts`) instead of failing the job.\n */\nimport type {\n GoogleBrandSuggestionsResponse,\n GoogleIdentityVerificationResponse,\n GoogleInvoicesResponse,\n GoogleShareablePreviewsResponse,\n} from \"@baker/api/ads-google\";\nimport { defineCommand } from \"citty\";\nimport { apiPost } from \"../../../client.ts\";\nimport { registerSchema } from \"../../../schemas.ts\";\nimport { getManagerIdForCustomer } from \"../cache.ts\";\nimport { writeJsonEnvelope } from \"../output.ts\";\nimport { exitWithServiceReadError } from \"./service-read-errors.ts\";\nimport { failWriteValidation, listFlag, requireCustomerId } from \"./write-shared.ts\";\n\ntype ArgDefs = Record<string, { type: \"string\" | \"boolean\"; description: string }>;\n\nfunction register(command: string, description: string, args: ArgDefs): void {\n registerSchema({\n command,\n description,\n args: Object.fromEntries(\n Object.entries(args).map(([name, arg]) => [\n name,\n { type: arg.type, description: arg.description, required: false },\n ]),\n ),\n });\n}\n\nasync function serviceRead<T>(path: string, customerId: string, body: Record<string, unknown>): Promise<T> {\n const managerId = getManagerIdForCustomer(customerId);\n const { data } = await apiPost<{ ok: true; data: T }>(path, {\n customerId,\n ...(managerId ? { managerId } : {}),\n ...body,\n });\n return data;\n}\n\nconst CUSTOMER_ARG = {\n \"customer-id\": { type: \"string\", description: \"Google Ads customer ID (10 digits, no dashes)\" },\n} as const;\n\nconst INVOICE_ARGS = {\n ...CUSTOMER_ARG,\n month: { type: \"string\", description: \"Issue month, YYYY-MM (default: last month)\" },\n} as const;\n\nregister(\n \"ads.google.invoices\",\n \"List the invoices Google issued in one month (accounts on monthly invoicing only): id, dates, service period, subtotal/tax/total in micros, PDF link. Start here: `baker ads google invoices --customer-id 1234567890 --month 2026-09`. An account that pays automatically has no invoices — the error's fix says where its receipts are; carry on.\",\n INVOICE_ARGS,\n);\n\nexport const invoicesCommand = defineCommand({\n meta: {\n name: \"invoices\",\n description: `List one month's invoices (monthly-invoicing accounts only). Read-only.\n\nExample:\n baker ads google invoices --customer-id 1234567890 --month 2026-09`,\n },\n args: INVOICE_ARGS,\n run: async ({ args }) => {\n const customerId = requireCustomerId(args);\n try {\n const data = await serviceRead<GoogleInvoicesResponse>(\"/api/ads/google/invoices\", customerId, {\n ...(args.month ? { month: args.month } : {}),\n });\n const hints =\n data.invoices.length === 0\n ? [`No invoice was issued in ${data.month}. Try the month before with --month.`]\n : [\n \"Amounts are micros in each invoice's currency_code (divide by 1,000,000). pdf_url needs the user's Google sign-in.\",\n ];\n writeJsonEnvelope({ ok: true, data, hints });\n } catch (err) {\n exitWithServiceReadError(err);\n }\n },\n});\n\nregister(\n \"ads.google.identity-verification\",\n \"Advertiser identity verification status: each program's status (PENDING_USER_ACTION, PENDING_REVIEW, SUCCESS, FAILURE), deadlines and the link where the user completes it. Start here: `baker ads google identity-verification --customer-id 1234567890`. Google only answers for accounts on monthly invoicing — otherwise the error's fix says where the user reads it; carry on.\",\n CUSTOMER_ARG,\n);\n\nexport const identityVerificationCommand = defineCommand({\n meta: {\n name: \"identity-verification\",\n description: `Advertiser identity verification status and deadlines. Read-only.\n\nExample:\n baker ads google identity-verification --customer-id 1234567890`,\n },\n args: CUSTOMER_ARG,\n run: async ({ args }) => {\n const customerId = requireCustomerId(args);\n try {\n const data = await serviceRead<GoogleIdentityVerificationResponse>(\n \"/api/ads/google/identity-verification\",\n customerId,\n {},\n );\n const pending = data.programs.filter((program) => program.status === \"PENDING_USER_ACTION\");\n const hints =\n pending.length > 0\n ? [\n `Verification is waiting on the advertiser${pending[0]?.completion_deadline ? ` (deadline ${pending[0].completion_deadline})` : \"\"}: give the user the action_url — ads stop serving if it lapses.`,\n ]\n : [];\n writeJsonEnvelope(hints.length > 0 ? { ok: true, data, hints } : { ok: true, data });\n } catch (err) {\n exitWithServiceReadError(err);\n }\n },\n});\n\nconst PREVIEW_ARGS = {\n ...CUSTOMER_ARG,\n ads: {\n type: \"string\",\n description:\n \"Comma-separated video ads of Video campaigns as {adGroupId}~{adId} (from `ads list`) — previewed live on YouTube\",\n },\n \"asset-groups\": {\n type: \"string\",\n description:\n \"Comma-separated Performance Max asset group ids (from `asset-groups list`) — previewed on Google's preview page\",\n },\n} as const;\n\nregister(\n \"ads.google.previews\",\n \"Shareable preview links for Performance Max asset groups (Google's preview page) and video ads (live on YouTube) that already exist in the account — a link the user can open or forward. Start here: `baker ads google previews --customer-id 1234567890 --asset-groups 6743268912`. Returns { previews: [{ target, url, youtube_tv_url, expires_at }] }. Only video ads of Video campaigns can be previewed by ad (search, display and Demand Gen ads have no shareable preview); staged (unpublished) changes cannot be previewed.\",\n PREVIEW_ARGS,\n);\n\nexport const previewsCommand = defineCommand({\n meta: {\n name: \"previews\",\n description: `Shareable preview links for existing Performance Max asset groups and video ads. Read-only.\n\nExamples:\n baker ads google previews --customer-id 1234567890 --asset-groups 6743268912\n baker ads google previews --customer-id 1234567890 --ads 195752489650~826812181091 # a video ad, live on YouTube`,\n },\n args: PREVIEW_ARGS,\n run: async ({ args }) => {\n const customerId = requireCustomerId(args);\n const ads = listFlag(args.ads);\n const assetGroups = listFlag(args[\"asset-groups\"]);\n if (!ads?.length && !assetGroups?.length) failWriteValidation(\"pass --ads and/or --asset-groups\");\n try {\n const data = await serviceRead<GoogleShareablePreviewsResponse>(\"/api/ads/google/previews\", customerId, {\n ...(ads ? { ads } : {}),\n ...(assetGroups ? { assetGroups } : {}),\n });\n writeJsonEnvelope({\n ok: true,\n data,\n hints: [\n \"Each link expires (expires_at). It shows what is live in the account now, not anything staged in this chat.\",\n ],\n });\n } catch (err) {\n exitWithServiceReadError(err);\n }\n },\n});\n\nconst BRAND_ARGS = {\n ...CUSTOMER_ARG,\n prefix: { type: \"string\", description: \"The start of the brand's name (at least 2 letters)\" },\n} as const;\n\nregister(\n \"ads.google.brands\",\n \"Find a brand's Google entity id — what a BRANDS list member names (`keyword-lists add --brand /g/…`). Start here: `baker ads google brands --customer-id 1234567890 --prefix nike`. Several brands can share a name: pick by the URL. Read-only.\",\n BRAND_ARGS,\n);\n\nexport const brandsCommand = defineCommand({\n meta: {\n name: \"brands\",\n description: `Find brand entity ids for a brand list (BRANDS). Read-only.\n\nExample:\n baker ads google brands --customer-id 1234567890 --prefix nike`,\n },\n args: BRAND_ARGS,\n run: async ({ args }) => {\n const customerId = requireCustomerId(args);\n if (typeof args.prefix !== \"string\" || args.prefix.trim().length < 2) {\n failWriteValidation(\"--prefix needs at least the first 2 letters of the brand\");\n }\n try {\n const data = await serviceRead<GoogleBrandSuggestionsResponse>(\"/api/ads/google/brands\", customerId, {\n prefix: args.prefix,\n });\n const hints =\n data.brands.length > 0\n ? [\n \"Several brands can share a name — pick the one whose URL is the brand you mean, then `keyword-lists add --list-ref <BRANDS list> --brand <entity_id>`.\",\n ]\n : [\"No brand starts with that — try a shorter or different prefix.\"];\n writeJsonEnvelope({ ok: true, data, hints });\n } catch (err) {\n exitWithServiceReadError(err);\n }\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,SAAS,qBAAqB;AAU9B,SAAS,SAAS,SAAiB,aAAqB,MAAqB;AAC3E,iBAAe;AAAA,IACb;AAAA,IACA;AAAA,IACA,MAAM,OAAO;AAAA,MACX,OAAO,QAAQ,IAAI,EAAE,IAAI,CAAC,CAAC,MAAM,GAAG,MAAM;AAAA,QACxC;AAAA,QACA,EAAE,MAAM,IAAI,MAAM,aAAa,IAAI,aAAa,UAAU,MAAM;AAAA,MAClE,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AACH;AAEA,eAAe,YAAe,MAAc,YAAoB,MAA2C;AACzG,QAAM,YAAY,wBAAwB,UAAU;AACpD,QAAM,EAAE,KAAK,IAAI,MAAM,QAA+B,MAAM;AAAA,IAC1D;AAAA,IACA,GAAI,YAAY,EAAE,UAAU,IAAI,CAAC;AAAA,IACjC,GAAG;AAAA,EACL,CAAC;AACD,SAAO;AACT;AAEA,IAAM,eAAe;AAAA,EACnB,eAAe,EAAE,MAAM,UAAU,aAAa,gDAAgD;AAChG;AAEA,IAAM,eAAe;AAAA,EACnB,GAAG;AAAA,EACH,OAAO,EAAE,MAAM,UAAU,aAAa,6CAA6C;AACrF;AAEA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AACF;AAEO,IAAM,kBAAkB,cAAc;AAAA,EAC3C,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA;AAAA,EAIf;AAAA,EACA,MAAM;AAAA,EACN,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,UAAM,aAAa,kBAAkB,IAAI;AACzC,QAAI;AACF,YAAM,OAAO,MAAM,YAAoC,4BAA4B,YAAY;AAAA,QAC7F,GAAI,KAAK,QAAQ,EAAE,OAAO,KAAK,MAAM,IAAI,CAAC;AAAA,MAC5C,CAAC;AACD,YAAM,QACJ,KAAK,SAAS,WAAW,IACrB,CAAC,4BAA4B,KAAK,KAAK,sCAAsC,IAC7E;AAAA,QACE;AAAA,MACF;AACN,wBAAkB,EAAE,IAAI,MAAM,MAAM,MAAM,CAAC;AAAA,IAC7C,SAAS,KAAK;AACZ,+BAAyB,GAAG;AAAA,IAC9B;AAAA,EACF;AACF,CAAC;AAED;AAAA,EACE;AAAA,EACA;AAAA,EACA;AACF;AAEO,IAAM,8BAA8B,cAAc;AAAA,EACvD,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA;AAAA,EAIf;AAAA,EACA,MAAM;AAAA,EACN,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,UAAM,aAAa,kBAAkB,IAAI;AACzC,QAAI;AACF,YAAM,OAAO,MAAM;AAAA,QACjB;AAAA,QACA;AAAA,QACA,CAAC;AAAA,MACH;AACA,YAAM,UAAU,KAAK,SAAS,OAAO,CAAC,YAAY,QAAQ,WAAW,qBAAqB;AAC1F,YAAM,QACJ,QAAQ,SAAS,IACb;AAAA,QACE,4CAA4C,QAAQ,CAAC,GAAG,sBAAsB,cAAc,QAAQ,CAAC,EAAE,mBAAmB,MAAM,EAAE;AAAA,MACpI,IACA,CAAC;AACP,wBAAkB,MAAM,SAAS,IAAI,EAAE,IAAI,MAAM,MAAM,MAAM,IAAI,EAAE,IAAI,MAAM,KAAK,CAAC;AAAA,IACrF,SAAS,KAAK;AACZ,+BAAyB,GAAG;AAAA,IAC9B;AAAA,EACF;AACF,CAAC;AAED,IAAM,eAAe;AAAA,EACnB,GAAG;AAAA,EACH,KAAK;AAAA,IACH,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AAAA,EACA,gBAAgB;AAAA,IACd,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AACF;AAEA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AACF;AAEO,IAAM,kBAAkB,cAAc;AAAA,EAC3C,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA,EAKf;AAAA,EACA,MAAM;AAAA,EACN,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,UAAM,aAAa,kBAAkB,IAAI;AACzC,UAAM,MAAM,SAAS,KAAK,GAAG;AAC7B,UAAM,cAAc,SAAS,KAAK,cAAc,CAAC;AACjD,QAAI,CAAC,KAAK,UAAU,CAAC,aAAa,OAAQ,qBAAoB,kCAAkC;AAChG,QAAI;AACF,YAAM,OAAO,MAAM,YAA6C,4BAA4B,YAAY;AAAA,QACtG,GAAI,MAAM,EAAE,IAAI,IAAI,CAAC;AAAA,QACrB,GAAI,cAAc,EAAE,YAAY,IAAI,CAAC;AAAA,MACvC,CAAC;AACD,wBAAkB;AAAA,QAChB,IAAI;AAAA,QACJ;AAAA,QACA,OAAO;AAAA,UACL;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH,SAAS,KAAK;AACZ,+BAAyB,GAAG;AAAA,IAC9B;AAAA,EACF;AACF,CAAC;AAED,IAAM,aAAa;AAAA,EACjB,GAAG;AAAA,EACH,QAAQ,EAAE,MAAM,UAAU,aAAa,qDAAqD;AAC9F;AAEA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AACF;AAEO,IAAM,gBAAgB,cAAc;AAAA,EACzC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA;AAAA,EAIf;AAAA,EACA,MAAM;AAAA,EACN,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,UAAM,aAAa,kBAAkB,IAAI;AACzC,QAAI,OAAO,KAAK,WAAW,YAAY,KAAK,OAAO,KAAK,EAAE,SAAS,GAAG;AACpE,0BAAoB,0DAA0D;AAAA,IAChF;AACA,QAAI;AACF,YAAM,OAAO,MAAM,YAA4C,0BAA0B,YAAY;AAAA,QACnG,QAAQ,KAAK;AAAA,MACf,CAAC;AACD,YAAM,QACJ,KAAK,OAAO,SAAS,IACjB;AAAA,QACE;AAAA,MACF,IACA,CAAC,qEAAgE;AACvE,wBAAkB,EAAE,IAAI,MAAM,MAAM,MAAM,CAAC;AAAA,IAC7C,SAAS,KAAK;AACZ,+BAAyB,GAAG;AAAA,IAC9B;AAAA,EACF;AACF,CAAC;","names":[]}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import {
|
|
2
|
+
compact,
|
|
3
|
+
schemaArgs,
|
|
4
|
+
stageChatgptOp
|
|
5
|
+
} from "./chunk-4MH6LONO.js";
|
|
6
|
+
import {
|
|
7
|
+
CHATGPT_ADS_REFERENCE,
|
|
8
|
+
chatgptFailure
|
|
9
|
+
} from "./chunk-IOCSDFF2.js";
|
|
10
|
+
import {
|
|
11
|
+
writeJsonEnvelope
|
|
12
|
+
} from "./chunk-BVM5IRZW.js";
|
|
13
|
+
import {
|
|
14
|
+
apiGet
|
|
15
|
+
} from "./chunk-HREWXNTO.js";
|
|
16
|
+
import "./chunk-HLXWKMTK.js";
|
|
17
|
+
import "./chunk-O6QKCJE4.js";
|
|
18
|
+
import {
|
|
19
|
+
registerSchema
|
|
20
|
+
} from "./chunk-WOTDHRNF.js";
|
|
21
|
+
import "./chunk-YQSBHWOI.js";
|
|
22
|
+
|
|
23
|
+
// src/commands/ads/chatgpt/account-writes.ts
|
|
24
|
+
import { defineCommand } from "citty";
|
|
25
|
+
var REFERENCE = CHATGPT_ADS_REFERENCE.account;
|
|
26
|
+
var UPDATE_ARGS = {
|
|
27
|
+
name: { type: "string", description: "The advertiser name shown on every card" },
|
|
28
|
+
"favicon-url": { type: "string", description: "https:// square icon, at least 128 \xD7 128 px" }
|
|
29
|
+
};
|
|
30
|
+
registerSchema({
|
|
31
|
+
command: "ads.chatgpt.account.update",
|
|
32
|
+
description: "Stage a change to the advertiser's brand name or icon. It applies when the chat is published and starts a new brand review; nothing in the account serves until it is approved.",
|
|
33
|
+
args: schemaArgs(UPDATE_ARGS)
|
|
34
|
+
});
|
|
35
|
+
var accountUpdateCommand = defineCommand({
|
|
36
|
+
meta: {
|
|
37
|
+
name: "update",
|
|
38
|
+
description: `Stage a change to the brand name or icon (applies when the chat is published).
|
|
39
|
+
|
|
40
|
+
Examples:
|
|
41
|
+
baker ads chatgpt account update --favicon-url https://example.com/icon.png
|
|
42
|
+
baker ads chatgpt account update --name "GreenLeaf Energy"`
|
|
43
|
+
},
|
|
44
|
+
args: UPDATE_ARGS,
|
|
45
|
+
run: async ({ args }) => {
|
|
46
|
+
let account;
|
|
47
|
+
try {
|
|
48
|
+
account = await apiGet("/api/ads/chatgpt/account");
|
|
49
|
+
} catch (err) {
|
|
50
|
+
writeJsonEnvelope({ ...chatgptFailure(err, REFERENCE) });
|
|
51
|
+
process.exit(1);
|
|
52
|
+
}
|
|
53
|
+
await stageChatgptOp(
|
|
54
|
+
{
|
|
55
|
+
kind: "account.update",
|
|
56
|
+
target: account.id,
|
|
57
|
+
payload: compact({ name: args.name, faviconUrl: args["favicon-url"] })
|
|
58
|
+
},
|
|
59
|
+
REFERENCE
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
export {
|
|
64
|
+
accountUpdateCommand
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=account-writes-Y7EQXDXF.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/ads/chatgpt/account-writes.ts"],"sourcesContent":["import type { ChatgptAdsAccount } from \"@baker/api/ads-chatgpt\";\nimport { defineCommand } from \"citty\";\nimport { apiGet } from \"../../../client.ts\";\nimport { registerSchema } from \"../../../schemas.ts\";\nimport { writeJsonEnvelope } from \"../output.ts\";\nimport { CHATGPT_ADS_REFERENCE, chatgptFailure } from \"./shared.ts\";\nimport { compact, schemaArgs, stageChatgptOp } from \"./write-shared.ts\";\n\n/**\n * The advertiser's brand — the name and icon people see on every card. Nothing\n * in the account serves until its brand review is approved, and a missing icon\n * is the commonest reason it is not.\n */\n\nconst REFERENCE = CHATGPT_ADS_REFERENCE.account;\n\nconst UPDATE_ARGS = {\n name: { type: \"string\", description: \"The advertiser name shown on every card\" },\n \"favicon-url\": { type: \"string\", description: \"https:// square icon, at least 128 × 128 px\" },\n} as const;\n\nregisterSchema({\n command: \"ads.chatgpt.account.update\",\n description:\n \"Stage a change to the advertiser's brand name or icon. It applies when the chat is published and starts a new brand review; nothing in the account serves until it is approved.\",\n args: schemaArgs(UPDATE_ARGS),\n});\n\nexport const accountUpdateCommand = defineCommand({\n meta: {\n name: \"update\",\n description: `Stage a change to the brand name or icon (applies when the chat is published).\n\nExamples:\n baker ads chatgpt account update --favicon-url https://example.com/icon.png\n baker ads chatgpt account update --name \"GreenLeaf Energy\"`,\n },\n args: UPDATE_ARGS,\n run: async ({ args }) => {\n let account: ChatgptAdsAccount;\n try {\n account = await apiGet<ChatgptAdsAccount>(\"/api/ads/chatgpt/account\");\n } catch (err) {\n writeJsonEnvelope({ ...chatgptFailure(err, REFERENCE) });\n process.exit(1);\n }\n await stageChatgptOp(\n {\n kind: \"account.update\",\n target: account.id,\n payload: compact({ name: args.name, faviconUrl: args[\"favicon-url\"] }),\n },\n REFERENCE,\n );\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA,SAAS,qBAAqB;AAa9B,IAAM,YAAY,sBAAsB;AAExC,IAAM,cAAc;AAAA,EAClB,MAAM,EAAE,MAAM,UAAU,aAAa,0CAA0C;AAAA,EAC/E,eAAe,EAAE,MAAM,UAAU,aAAa,iDAA8C;AAC9F;AAEA,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM,WAAW,WAAW;AAC9B,CAAC;AAEM,IAAM,uBAAuB,cAAc;AAAA,EAChD,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA,EAKf;AAAA,EACA,MAAM;AAAA,EACN,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,QAAI;AACJ,QAAI;AACF,gBAAU,MAAM,OAA0B,0BAA0B;AAAA,IACtE,SAAS,KAAK;AACZ,wBAAkB,EAAE,GAAG,eAAe,KAAK,SAAS,EAAE,CAAC;AACvD,cAAQ,KAAK,CAAC;AAAA,IAChB;AACA,UAAM;AAAA,MACJ;AAAA,QACE,MAAM;AAAA,QACN,QAAQ,QAAQ;AAAA,QAChB,SAAS,QAAQ,EAAE,MAAM,KAAK,MAAM,YAAY,KAAK,aAAa,EAAE,CAAC;AAAA,MACvE;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF,CAAC;","names":[]}
|