@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,93 @@
|
|
|
1
|
+
import {
|
|
2
|
+
questionnaireErrorEnvelope
|
|
3
|
+
} from "./chunk-AFJGYJ7Z.js";
|
|
4
|
+
import "./chunk-FYWWTMXP.js";
|
|
5
|
+
import "./chunk-EDLZGTGN.js";
|
|
6
|
+
import {
|
|
7
|
+
writeJsonEnvelope
|
|
8
|
+
} from "./chunk-BVM5IRZW.js";
|
|
9
|
+
import {
|
|
10
|
+
apiPost
|
|
11
|
+
} from "./chunk-HREWXNTO.js";
|
|
12
|
+
import "./chunk-HLXWKMTK.js";
|
|
13
|
+
import "./chunk-O6QKCJE4.js";
|
|
14
|
+
import {
|
|
15
|
+
registerSchema
|
|
16
|
+
} from "./chunk-WOTDHRNF.js";
|
|
17
|
+
import "./chunk-YQSBHWOI.js";
|
|
18
|
+
|
|
19
|
+
// ../api/src/analytics/questionnaire.ts
|
|
20
|
+
import { z } from "zod";
|
|
21
|
+
var questionnaireObservationSchema = z.object({
|
|
22
|
+
attemptId: z.string().min(1).max(100),
|
|
23
|
+
version: z.string().min(1).max(100),
|
|
24
|
+
stepId: z.string().max(100),
|
|
25
|
+
sequence: z.number().int().positive(),
|
|
26
|
+
phase: z.enum(["start", "view", "complete", "skip", "finish"]),
|
|
27
|
+
timestamp: z.number().finite()
|
|
28
|
+
}).refine(
|
|
29
|
+
(event) => ["start", "finish"].includes(event.phase) || event.stepId.length > 0,
|
|
30
|
+
"A question event needs its stable step id"
|
|
31
|
+
);
|
|
32
|
+
var questionnaireRequestSchema = z.object({
|
|
33
|
+
eventName: z.string().min(1).max(100).default("questionnaire_step"),
|
|
34
|
+
days: z.number().int().min(1).max(90).default(7),
|
|
35
|
+
inactivityMinutes: z.number().int().min(5).max(1440).default(30)
|
|
36
|
+
});
|
|
37
|
+
var stepSchema = z.object({
|
|
38
|
+
version: z.string(),
|
|
39
|
+
stepId: z.string(),
|
|
40
|
+
reached: z.number(),
|
|
41
|
+
completed: z.number(),
|
|
42
|
+
skipped: z.number(),
|
|
43
|
+
abandoned: z.number(),
|
|
44
|
+
pending: z.number(),
|
|
45
|
+
incomplete: z.number()
|
|
46
|
+
});
|
|
47
|
+
var questionnaireResponseSchema = z.object({
|
|
48
|
+
ok: z.literal(true),
|
|
49
|
+
data: z.object({
|
|
50
|
+
steps: z.array(stepSchema),
|
|
51
|
+
attempts: z.number(),
|
|
52
|
+
excludedAttempts: z.number(),
|
|
53
|
+
unmeasuredEvents: z.number(),
|
|
54
|
+
observationEndsAt: z.string(),
|
|
55
|
+
inactivityMinutes: z.number()
|
|
56
|
+
}),
|
|
57
|
+
hints: z.array(z.string())
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
// src/commands/analytics/questionnaire.ts
|
|
61
|
+
import { defineCommand } from "citty";
|
|
62
|
+
var description = "Question-level drop-off from the external questionnaire contract: start, viewed, completed, skipped and finished per attempt, version and sequence. Reports actual reached questions and the last unanswered one after inactivity; deduplicates repeated visits. Refuses a truncated feed (maximum 600 events), so narrow --days if needed. No events is not proof of zero abandonment. The contract is in analytics.md.";
|
|
63
|
+
var args = {
|
|
64
|
+
name: { type: "string", description: "Event name (default questionnaire_step)", required: false },
|
|
65
|
+
days: { type: "string", description: "Observation window in days (default 7, maximum 90)", required: false },
|
|
66
|
+
inactivity: {
|
|
67
|
+
type: "string",
|
|
68
|
+
description: "Minutes without an event before abandonment (default 30)",
|
|
69
|
+
required: false
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
registerSchema({ command: "analytics.questionnaire", description, args });
|
|
73
|
+
var questionnaireCommand = defineCommand({
|
|
74
|
+
meta: { name: "questionnaire", description },
|
|
75
|
+
args,
|
|
76
|
+
run: async ({ args: args2 }) => {
|
|
77
|
+
try {
|
|
78
|
+
const body = questionnaireRequestSchema.parse({
|
|
79
|
+
...args2.name ? { eventName: args2.name } : {},
|
|
80
|
+
...args2.days ? { days: Number(args2.days) } : {},
|
|
81
|
+
...args2.inactivity ? { inactivityMinutes: Number(args2.inactivity) } : {}
|
|
82
|
+
});
|
|
83
|
+
writeJsonEnvelope(questionnaireResponseSchema.parse(await apiPost("/api/analytics/questionnaire", body)));
|
|
84
|
+
} catch (error) {
|
|
85
|
+
writeJsonEnvelope({ ok: false, error: questionnaireErrorEnvelope(error) });
|
|
86
|
+
process.exitCode = 1;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
export {
|
|
91
|
+
questionnaireCommand
|
|
92
|
+
};
|
|
93
|
+
//# sourceMappingURL=questionnaire-Z2ZIKNBV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../api/src/analytics/questionnaire.ts","../src/commands/analytics/questionnaire.ts"],"sourcesContent":["import { z } from \"zod\";\n\nexport const questionnaireObservationSchema = z\n .object({\n attemptId: z.string().min(1).max(100),\n version: z.string().min(1).max(100),\n stepId: z.string().max(100),\n sequence: z.number().int().positive(),\n phase: z.enum([\"start\", \"view\", \"complete\", \"skip\", \"finish\"]),\n timestamp: z.number().finite(),\n })\n .refine(\n (event) => [\"start\", \"finish\"].includes(event.phase) || event.stepId.length > 0,\n \"A question event needs its stable step id\",\n );\nexport type QuestionnaireObservation = z.infer<typeof questionnaireObservationSchema>;\n\nexport const questionnaireRequestSchema = z.object({\n eventName: z.string().min(1).max(100).default(\"questionnaire_step\"),\n days: z.number().int().min(1).max(90).default(7),\n inactivityMinutes: z.number().int().min(5).max(1440).default(30),\n});\nconst stepSchema = z.object({\n version: z.string(),\n stepId: z.string(),\n reached: z.number(),\n completed: z.number(),\n skipped: z.number(),\n abandoned: z.number(),\n pending: z.number(),\n incomplete: z.number(),\n});\nexport const questionnaireResponseSchema = z.object({\n ok: z.literal(true),\n data: z.object({\n steps: z.array(stepSchema),\n attempts: z.number(),\n excludedAttempts: z.number(),\n unmeasuredEvents: z.number(),\n observationEndsAt: z.string(),\n inactivityMinutes: z.number(),\n }),\n hints: z.array(z.string()),\n});\n\ninterface AttemptState {\n version: string;\n viewed: Set<string>;\n completed: Set<string>;\n skipped: Set<string>;\n lastView: string | undefined;\n closed: boolean;\n finished: boolean;\n}\n\ntype Step = z.infer<typeof stepSchema>;\n\nfunction countStep(row: Step, state: AttemptState) {\n if (state.skipped.has(row.stepId)) row.skipped++;\n if (!state.viewed.has(row.stepId)) return;\n row.reached++;\n if (state.completed.has(row.stepId)) {\n row.completed++;\n return;\n }\n if (state.skipped.has(row.stepId)) return;\n if (row.stepId !== state.lastView || state.finished) row.incomplete++;\n else if (state.closed) row.abandoned++;\n else row.pending++;\n}\n\nfunction countAttempt(\n raw: readonly QuestionnaireObservation[],\n rows: Map<string, Step>,\n now: number,\n inactivityMs: number,\n): boolean {\n const events = [...raw].sort((a, b) => a.sequence - b.sequence);\n const last = events[events.length - 1];\n if (events[0]?.phase !== \"start\" || !last) return false;\n const steps = (phase: QuestionnaireObservation[\"phase\"]) =>\n events.filter((event) => event.phase === phase).map((event) => event.stepId);\n const views = steps(\"view\");\n const state: AttemptState = {\n version: last.version,\n viewed: new Set(views),\n completed: new Set(steps(\"complete\")),\n skipped: new Set(steps(\"skip\")),\n lastView: views[views.length - 1],\n finished: last.phase === \"finish\",\n closed: last.phase === \"finish\" || Math.max(...events.map((event) => event.timestamp)) <= now - inactivityMs,\n };\n for (const stepId of new Set([...state.viewed, ...state.skipped])) {\n const key = JSON.stringify([state.version, stepId]);\n const row = rows.get(key) ?? {\n version: state.version,\n stepId,\n reached: 0,\n completed: 0,\n skipped: 0,\n abandoned: 0,\n pending: 0,\n incomplete: 0,\n };\n countStep(row, state);\n rows.set(key, row);\n }\n return true;\n}\n\n/** Drop-off is the last unanswered viewed step of a closed/inactive attempt, never a gap between totals. */\nexport function questionnaireDropoff(\n observations: readonly QuestionnaireObservation[],\n now: number,\n inactivityMs: number,\n) {\n const attempts = new Map<string, QuestionnaireObservation[]>();\n for (const event of observations) {\n const key = JSON.stringify([event.attemptId, event.version]);\n attempts.set(key, [...(attempts.get(key) ?? []), event]);\n }\n const rows = new Map<string, Step>();\n let excludedAttempts = 0;\n for (const events of attempts.values()) if (!countAttempt(events, rows, now, inactivityMs)) excludedAttempts++;\n return {\n steps: [...rows.values()].sort((a, b) => a.version.localeCompare(b.version) || a.stepId.localeCompare(b.stepId)),\n attempts: attempts.size - excludedAttempts,\n excludedAttempts,\n };\n}\n","import { questionnaireRequestSchema, questionnaireResponseSchema } from \"@baker/api/analytics/questionnaire\";\nimport { defineCommand } from \"citty\";\nimport { apiPost } from \"../../client.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { writeJsonEnvelope } from \"../ads/output.ts\";\nimport { questionnaireErrorEnvelope } from \"./errorEnvelope.ts\";\n\nconst description =\n \"Question-level drop-off from the external questionnaire contract: start, viewed, completed, skipped and finished per attempt, version and sequence. Reports actual reached questions and the last unanswered one after inactivity; deduplicates repeated visits. Refuses a truncated feed (maximum 600 events), so narrow --days if needed. No events is not proof of zero abandonment. The contract is in analytics.md.\";\nconst args = {\n name: { type: \"string\" as const, description: \"Event name (default questionnaire_step)\", required: false },\n days: { type: \"string\" as const, description: \"Observation window in days (default 7, maximum 90)\", required: false },\n inactivity: {\n type: \"string\" as const,\n description: \"Minutes without an event before abandonment (default 30)\",\n required: false,\n },\n};\nregisterSchema({ command: \"analytics.questionnaire\", description, args });\nexport const questionnaireCommand = defineCommand({\n meta: { name: \"questionnaire\", description },\n args,\n run: async ({ args }) => {\n try {\n const body = questionnaireRequestSchema.parse({\n ...(args.name ? { eventName: args.name } : {}),\n ...(args.days ? { days: Number(args.days) } : {}),\n ...(args.inactivity ? { inactivityMinutes: Number(args.inactivity) } : {}),\n });\n writeJsonEnvelope(questionnaireResponseSchema.parse(await apiPost(\"/api/analytics/questionnaire\", body)));\n } catch (error) {\n writeJsonEnvelope({ ok: false, error: questionnaireErrorEnvelope(error) });\n process.exitCode = 1;\n }\n },\n});\n"],"mappings":"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","names":["args"]}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import {
|
|
2
|
+
TAG_MANAGER_TIMEOUT_MS,
|
|
3
|
+
handleError
|
|
4
|
+
} from "./chunk-32CPGJPL.js";
|
|
5
|
+
import "./chunk-D5FY4FAK.js";
|
|
6
|
+
import {
|
|
7
|
+
connectedResourceHints
|
|
8
|
+
} from "./chunk-P4NSJS54.js";
|
|
9
|
+
import {
|
|
10
|
+
AVAILABLE_ARG,
|
|
11
|
+
writeAvailableAccounts
|
|
12
|
+
} from "./chunk-USL5ARRE.js";
|
|
13
|
+
import {
|
|
14
|
+
writeJsonEnvelope
|
|
15
|
+
} from "./chunk-BVM5IRZW.js";
|
|
16
|
+
import {
|
|
17
|
+
apiGet,
|
|
18
|
+
apiPost
|
|
19
|
+
} from "./chunk-HREWXNTO.js";
|
|
20
|
+
import "./chunk-HLXWKMTK.js";
|
|
21
|
+
import "./chunk-O6QKCJE4.js";
|
|
22
|
+
import {
|
|
23
|
+
registerSchema
|
|
24
|
+
} from "./chunk-WOTDHRNF.js";
|
|
25
|
+
import "./chunk-YQSBHWOI.js";
|
|
26
|
+
|
|
27
|
+
// src/commands/tag-manager/read.ts
|
|
28
|
+
import { defineCommand } from "citty";
|
|
29
|
+
registerSchema({
|
|
30
|
+
command: "tagManager.containers",
|
|
31
|
+
description: "List the Google Tag Manager containers this company selected. There can be several, and Baker may read and change all of them. Start here to confirm which containers you are managing.",
|
|
32
|
+
args: { available: AVAILABLE_ARG }
|
|
33
|
+
});
|
|
34
|
+
registerSchema({
|
|
35
|
+
command: "tagManager.read",
|
|
36
|
+
description: "Read what is currently inside a Tag Manager container: tags, triggers, variables, folders and enabled built-in variables. Start here before proposing any change, so you edit what exists instead of duplicating it. Pass --container when the company connected more than one. Compact by default; pass --full for raw Tag Manager objects.",
|
|
37
|
+
args: {
|
|
38
|
+
container: {
|
|
39
|
+
type: "string",
|
|
40
|
+
description: "Numeric container id (optional only when one container is connected)",
|
|
41
|
+
required: false
|
|
42
|
+
},
|
|
43
|
+
workspace: { type: "string", description: "Workspace id (defaults to the default workspace)", required: false },
|
|
44
|
+
entities: {
|
|
45
|
+
type: "string",
|
|
46
|
+
description: "Comma-separated subset: tag,trigger,variable,folder,builtInVariable",
|
|
47
|
+
required: false
|
|
48
|
+
},
|
|
49
|
+
full: { type: "boolean", description: "Include the raw Tag Manager object for each entity", required: false }
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
function containersHints(containers, unavailableContainers = []) {
|
|
53
|
+
const hints = connectedResourceHints({
|
|
54
|
+
plural: "Tag Manager containers",
|
|
55
|
+
singular: "Tag Manager container",
|
|
56
|
+
flag: "--container",
|
|
57
|
+
resources: containers.map((container) => ({
|
|
58
|
+
id: container.containerId,
|
|
59
|
+
label: `${container.publicId} \xB7 ${container.name}`
|
|
60
|
+
}))
|
|
61
|
+
});
|
|
62
|
+
if (unavailableContainers.length > 0) {
|
|
63
|
+
const [available] = containers;
|
|
64
|
+
if (containers.length === 1 && available) {
|
|
65
|
+
hints.length = 0;
|
|
66
|
+
hints.push(
|
|
67
|
+
`Use --container ${available.containerId} for ${available.publicId} (${available.name}); another selected container cannot be opened.`
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
hints.push(
|
|
71
|
+
`Tag Manager cannot open ${unavailableContainers.map((container) => `${container.publicId} (${container.name})`).join(", ")}. Ask the user to reconnect with a Google account that has access to these containers.`
|
|
72
|
+
);
|
|
73
|
+
}
|
|
74
|
+
return hints;
|
|
75
|
+
}
|
|
76
|
+
var containersCommand = defineCommand({
|
|
77
|
+
meta: {
|
|
78
|
+
name: "containers",
|
|
79
|
+
description: `List Tag Manager containers selected by this company.
|
|
80
|
+
|
|
81
|
+
Start here:
|
|
82
|
+
baker tag-manager containers
|
|
83
|
+
baker tag-manager containers --available # every container the login reaches, selected or not`
|
|
84
|
+
},
|
|
85
|
+
args: { available: AVAILABLE_ARG },
|
|
86
|
+
run: async ({ args }) => {
|
|
87
|
+
if (args.available) return writeAvailableAccounts("google-tag-manager", handleError);
|
|
88
|
+
try {
|
|
89
|
+
const data = await apiGet("/api/tag-manager/containers");
|
|
90
|
+
writeJsonEnvelope({ ok: true, data, hints: containersHints(data.containers, data.unavailableContainers) });
|
|
91
|
+
} catch (err) {
|
|
92
|
+
handleError(err);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
var readCommand = defineCommand({
|
|
97
|
+
meta: {
|
|
98
|
+
name: "read",
|
|
99
|
+
description: `Read the current contents of the Tag Manager container \u2014 always do this before staging changes.
|
|
100
|
+
|
|
101
|
+
Examples:
|
|
102
|
+
baker tag-manager read
|
|
103
|
+
baker tag-manager read --entities tag,trigger
|
|
104
|
+
baker tag-manager read --full`
|
|
105
|
+
},
|
|
106
|
+
args: {
|
|
107
|
+
container: { type: "string", description: "Numeric container id", required: false },
|
|
108
|
+
workspace: { type: "string", description: "Workspace id", required: false },
|
|
109
|
+
entities: { type: "string", description: "Comma-separated entity subset", required: false },
|
|
110
|
+
full: { type: "boolean", description: "Include raw Tag Manager objects", required: false }
|
|
111
|
+
},
|
|
112
|
+
run: async ({ args }) => {
|
|
113
|
+
const entities = typeof args.entities === "string" && args.entities.length > 0 ? args.entities.split(",").map((entry) => entry.trim()) : void 0;
|
|
114
|
+
try {
|
|
115
|
+
const data = await apiPost(
|
|
116
|
+
"/api/tag-manager/read",
|
|
117
|
+
{ containerId: args.container, workspaceId: args.workspace, entities, full: args.full === true },
|
|
118
|
+
{ timeoutMs: TAG_MANAGER_TIMEOUT_MS }
|
|
119
|
+
);
|
|
120
|
+
const hints = [
|
|
121
|
+
`This is container ${data.container.containerId} ${data.container.publicId} (${data.container.name}). Stage changes for it with --container ${data.container.containerId}.`
|
|
122
|
+
];
|
|
123
|
+
if (data.publicationWarning) hints.push(data.publicationWarning);
|
|
124
|
+
if (data.installedContainerMismatch) {
|
|
125
|
+
hints.push(data.installedContainerMismatch);
|
|
126
|
+
}
|
|
127
|
+
hints.push(
|
|
128
|
+
"Reference an existing trigger or variable by its numeric id or {{Name}}. To reference something you are staging in this same chat, use its gtm_temp_* ref and the executor resolves it at publish."
|
|
129
|
+
);
|
|
130
|
+
writeJsonEnvelope({ ok: true, data, hints });
|
|
131
|
+
} catch (err) {
|
|
132
|
+
handleError(err);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
export {
|
|
137
|
+
containersCommand,
|
|
138
|
+
containersHints,
|
|
139
|
+
readCommand
|
|
140
|
+
};
|
|
141
|
+
//# sourceMappingURL=read-GM7PQYJA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/tag-manager/read.ts"],"sourcesContent":["import type { TagManagerContainer, TagManagerContainersResponse, TagManagerReadResponse } from \"@baker/api/tag-manager\";\nimport { defineCommand } from \"citty\";\nimport { AVAILABLE_ARG, writeAvailableAccounts } from \"../../available-accounts.ts\";\nimport { apiGet, apiPost } from \"../../client.ts\";\nimport { connectedResourceHints } from \"../../connected-resources.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { writeJsonEnvelope } from \"../ads/output.ts\";\nimport { handleError, TAG_MANAGER_TIMEOUT_MS } from \"./shared.ts\";\n\nregisterSchema({\n command: \"tagManager.containers\",\n description:\n \"List the Google Tag Manager containers this company selected. There can be several, and Baker may read and change all of them. Start here to confirm which containers you are managing.\",\n args: { available: AVAILABLE_ARG },\n});\n\nregisterSchema({\n command: \"tagManager.read\",\n description:\n \"Read what is currently inside a Tag Manager container: tags, triggers, variables, folders and enabled built-in variables. Start here before proposing any change, so you edit what exists instead of duplicating it. Pass --container when the company connected more than one. Compact by default; pass --full for raw Tag Manager objects.\",\n args: {\n container: {\n type: \"string\",\n description: \"Numeric container id (optional only when one container is connected)\",\n required: false,\n },\n workspace: { type: \"string\", description: \"Workspace id (defaults to the default workspace)\", required: false },\n entities: {\n type: \"string\",\n description: \"Comma-separated subset: tag,trigger,variable,folder,builtInVariable\",\n required: false,\n },\n full: { type: \"boolean\", description: \"Include the raw Tag Manager object for each entity\", required: false },\n },\n});\n\n/**\n * A company can connect several containers. Reading the list as \"the container\"\n * is the mistake to head off here: with more than one, nothing may be read or\n * staged without naming which, because Baker refuses to guess.\n *\n */\nexport function containersHints(\n containers: TagManagerContainer[],\n unavailableContainers: NonNullable<TagManagerContainersResponse[\"unavailableContainers\"]> = [],\n): string[] {\n const hints = connectedResourceHints({\n plural: \"Tag Manager containers\",\n singular: \"Tag Manager container\",\n flag: \"--container\",\n resources: containers.map((container) => ({\n id: container.containerId,\n label: `${container.publicId} · ${container.name}`,\n })),\n });\n if (unavailableContainers.length > 0) {\n const [available] = containers;\n if (containers.length === 1 && available) {\n hints.length = 0;\n hints.push(\n `Use --container ${available.containerId} for ${available.publicId} (${available.name}); ` +\n \"another selected container cannot be opened.\",\n );\n }\n hints.push(\n `Tag Manager cannot open ${unavailableContainers.map((container) => `${container.publicId} (${container.name})`).join(\", \")}. ` +\n \"Ask the user to reconnect with a Google account that has access to these containers.\",\n );\n }\n return hints;\n}\n\nexport const containersCommand = defineCommand({\n meta: {\n name: \"containers\",\n description: `List Tag Manager containers selected by this company.\n\nStart here:\n baker tag-manager containers\n baker tag-manager containers --available # every container the login reaches, selected or not`,\n },\n args: { available: AVAILABLE_ARG },\n run: async ({ args }) => {\n if (args.available) return writeAvailableAccounts(\"google-tag-manager\", handleError);\n try {\n const data = await apiGet<TagManagerContainersResponse>(\"/api/tag-manager/containers\");\n writeJsonEnvelope({ ok: true, data, hints: containersHints(data.containers, data.unavailableContainers) });\n } catch (err) {\n handleError(err);\n }\n },\n});\n\nexport const readCommand = defineCommand({\n meta: {\n name: \"read\",\n description: `Read the current contents of the Tag Manager container — always do this before staging changes.\n\nExamples:\n baker tag-manager read\n baker tag-manager read --entities tag,trigger\n baker tag-manager read --full`,\n },\n args: {\n container: { type: \"string\", description: \"Numeric container id\", required: false },\n workspace: { type: \"string\", description: \"Workspace id\", required: false },\n entities: { type: \"string\", description: \"Comma-separated entity subset\", required: false },\n full: { type: \"boolean\", description: \"Include raw Tag Manager objects\", required: false },\n },\n run: async ({ args }) => {\n const entities =\n typeof args.entities === \"string\" && args.entities.length > 0\n ? args.entities.split(\",\").map((entry) => entry.trim())\n : undefined;\n try {\n const data = await apiPost<TagManagerReadResponse>(\n \"/api/tag-manager/read\",\n { containerId: args.container, workspaceId: args.workspace, entities, full: args.full === true },\n { timeoutMs: TAG_MANAGER_TIMEOUT_MS },\n );\n const hints: string[] = [\n `This is container ${data.container.containerId} ${data.container.publicId} (${data.container.name}). ` +\n \"Stage changes for it with --container \" +\n `${data.container.containerId}.`,\n ];\n if (data.publicationWarning) hints.push(data.publicationWarning);\n if (data.installedContainerMismatch) {\n hints.push(data.installedContainerMismatch);\n }\n hints.push(\n \"Reference an existing trigger or variable by its numeric id or {{Name}}. To reference something you are \" +\n \"staging in this same chat, use its gtm_temp_* ref and the executor resolves it at publish.\",\n );\n writeJsonEnvelope({ ok: true, data, hints });\n } catch (err) {\n handleError(err);\n }\n },\n});\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import {
|
|
2
|
+
findSubreddits,
|
|
3
|
+
redditCommand,
|
|
4
|
+
searchReddit,
|
|
5
|
+
subredditsFromArgs
|
|
6
|
+
} from "./chunk-LERWCRY5.js";
|
|
7
|
+
import "./chunk-H7XVKLIY.js";
|
|
8
|
+
import "./chunk-Y362QH54.js";
|
|
9
|
+
import "./chunk-ERSX3MKH.js";
|
|
10
|
+
import "./chunk-SMIENBNX.js";
|
|
11
|
+
import "./chunk-GXDLWBOY.js";
|
|
12
|
+
import "./chunk-GIWHHCD6.js";
|
|
13
|
+
import "./chunk-UI6BKYQD.js";
|
|
14
|
+
import "./chunk-XX6ZMCY5.js";
|
|
15
|
+
import "./chunk-HREWXNTO.js";
|
|
16
|
+
import "./chunk-HLXWKMTK.js";
|
|
17
|
+
import "./chunk-O6QKCJE4.js";
|
|
18
|
+
import "./chunk-WOTDHRNF.js";
|
|
19
|
+
import "./chunk-YQSBHWOI.js";
|
|
20
|
+
export {
|
|
21
|
+
findSubreddits,
|
|
22
|
+
redditCommand,
|
|
23
|
+
searchReddit,
|
|
24
|
+
subredditsFromArgs
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=reddit-5NPFULGD.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import {
|
|
2
|
+
reportError
|
|
3
|
+
} from "./chunk-752S7JF6.js";
|
|
4
|
+
import {
|
|
5
|
+
adLibraryRefreshRequestSchema
|
|
6
|
+
} from "./chunk-SMIENBNX.js";
|
|
7
|
+
import "./chunk-GXDLWBOY.js";
|
|
8
|
+
import "./chunk-GIWHHCD6.js";
|
|
9
|
+
import "./chunk-UI6BKYQD.js";
|
|
10
|
+
import "./chunk-XX6ZMCY5.js";
|
|
11
|
+
import {
|
|
12
|
+
apiPost
|
|
13
|
+
} from "./chunk-HREWXNTO.js";
|
|
14
|
+
import "./chunk-HLXWKMTK.js";
|
|
15
|
+
import "./chunk-O6QKCJE4.js";
|
|
16
|
+
import {
|
|
17
|
+
registerSchema,
|
|
18
|
+
writeJson
|
|
19
|
+
} from "./chunk-WOTDHRNF.js";
|
|
20
|
+
import "./chunk-YQSBHWOI.js";
|
|
21
|
+
|
|
22
|
+
// src/commands/winning-ads/refresh.ts
|
|
23
|
+
import { defineCommand } from "citty";
|
|
24
|
+
function refreshEnvelope(data) {
|
|
25
|
+
if (data.queued) {
|
|
26
|
+
return {
|
|
27
|
+
ok: true,
|
|
28
|
+
data,
|
|
29
|
+
hints: [
|
|
30
|
+
"Re-scrape started \u2014 new ads arrive over the next minutes. Check progress with `baker winning-ads following`; carry on with the ads already there meanwhile."
|
|
31
|
+
]
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
if (data.collecting) {
|
|
35
|
+
return {
|
|
36
|
+
ok: true,
|
|
37
|
+
data,
|
|
38
|
+
hints: [
|
|
39
|
+
`${data.label}'s ads are still being collected from the follow or the last refresh, so there is nothing to refresh yet. Check progress with \`baker winning-ads following\` and use what is there meanwhile.`
|
|
40
|
+
]
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
if (data.nextAllowedAt !== void 0) {
|
|
44
|
+
const next = new Date(data.nextAllowedAt).toISOString();
|
|
45
|
+
return {
|
|
46
|
+
ok: false,
|
|
47
|
+
error: {
|
|
48
|
+
code: "RATE_LIMITED",
|
|
49
|
+
message: `${data.label} was refreshed less than 6 hours ago.`,
|
|
50
|
+
fix: `Use the ads already collected for ${data.label}; it can be refreshed again after ${next}. Do not retry before then.`
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
return {
|
|
55
|
+
ok: true,
|
|
56
|
+
data,
|
|
57
|
+
hints: ["Nothing new to look for on this brand right now; its ads are already up to date."]
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
registerSchema({
|
|
61
|
+
command: "winning-ads.refresh",
|
|
62
|
+
description: "Re-scrape a brand this company follows so its newest ads land in the library. At most once every 6 hours per brand, and not while its ads are still being collected; it costs a fresh scrape, so use it only when the user wants the latest ads.",
|
|
63
|
+
args: {
|
|
64
|
+
advertiser: { type: "string", description: "Advertiser id of a followed brand (from `following`)", required: true }
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
var refreshCommand = defineCommand({
|
|
68
|
+
meta: {
|
|
69
|
+
name: "refresh",
|
|
70
|
+
description: "Re-scrape a followed brand for its newest ads (at most once every 6 hours). Example: baker winning-ads refresh adv_123"
|
|
71
|
+
},
|
|
72
|
+
args: {
|
|
73
|
+
advertiser: { type: "positional", description: "Advertiser id of a followed brand", required: true }
|
|
74
|
+
},
|
|
75
|
+
run: async ({ args }) => {
|
|
76
|
+
const parsed = adLibraryRefreshRequestSchema.safeParse({ advertiser_id: String(args.advertiser ?? "") });
|
|
77
|
+
if (!parsed.success) {
|
|
78
|
+
writeJson({ ok: false, error: { code: "VALIDATION_ERROR", message: parsed.error.issues[0]?.message ?? "" } });
|
|
79
|
+
process.exit(1);
|
|
80
|
+
}
|
|
81
|
+
try {
|
|
82
|
+
const envelope = refreshEnvelope(await apiPost("/api/ad-library/refresh", parsed.data));
|
|
83
|
+
writeJson(envelope);
|
|
84
|
+
if (!envelope.ok) process.exit(1);
|
|
85
|
+
} catch (err) {
|
|
86
|
+
reportError(err);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
export {
|
|
91
|
+
refreshCommand,
|
|
92
|
+
refreshEnvelope
|
|
93
|
+
};
|
|
94
|
+
//# sourceMappingURL=refresh-FGXW4Y4X.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/winning-ads/refresh.ts"],"sourcesContent":["import { type AdLibraryRefreshResponse, adLibraryRefreshRequestSchema } from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { apiPost } from \"../../client.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { reportError } from \"./shared.ts\";\n\ntype RefreshEnvelope =\n | { ok: true; data: AdLibraryRefreshResponse; hints?: string[] }\n | { ok: false; error: { code: \"RATE_LIMITED\"; message: string; fix: string } };\n\n/**\n * What the agent reads back. A refresh inside the cooldown is a refusal with a\n * `fix` naming when the brand can be refreshed again — never something to retry\n * in a loop, and never a reason to stop: the ads already collected are usable.\n */\nexport function refreshEnvelope(data: AdLibraryRefreshResponse): RefreshEnvelope {\n if (data.queued) {\n return {\n ok: true,\n data,\n hints: [\n \"Re-scrape started — new ads arrive over the next minutes. Check progress with `baker winning-ads following`; carry on with the ads already there meanwhile.\",\n ],\n };\n }\n if (data.collecting) {\n return {\n ok: true,\n data,\n hints: [\n `${data.label}'s ads are still being collected from the follow or the last refresh, so there is nothing to refresh yet. Check progress with \\`baker winning-ads following\\` and use what is there meanwhile.`,\n ],\n };\n }\n if (data.nextAllowedAt !== undefined) {\n const next = new Date(data.nextAllowedAt).toISOString();\n return {\n ok: false,\n error: {\n code: \"RATE_LIMITED\",\n message: `${data.label} was refreshed less than 6 hours ago.`,\n fix: `Use the ads already collected for ${data.label}; it can be refreshed again after ${next}. Do not retry before then.`,\n },\n };\n }\n return {\n ok: true,\n data,\n hints: [\"Nothing new to look for on this brand right now; its ads are already up to date.\"],\n };\n}\n\nregisterSchema({\n command: \"winning-ads.refresh\",\n description:\n \"Re-scrape a brand this company follows so its newest ads land in the library. At most once every 6 hours per brand, and not while its ads are still being collected; it costs a fresh scrape, so use it only when the user wants the latest ads.\",\n args: {\n advertiser: { type: \"string\", description: \"Advertiser id of a followed brand (from `following`)\", required: true },\n },\n});\n\nexport const refreshCommand = defineCommand({\n meta: {\n name: \"refresh\",\n description:\n \"Re-scrape a followed brand for its newest ads (at most once every 6 hours). Example: baker winning-ads refresh adv_123\",\n },\n args: {\n advertiser: { type: \"positional\", description: \"Advertiser id of a followed brand\", required: true },\n },\n run: async ({ args }) => {\n const parsed = adLibraryRefreshRequestSchema.safeParse({ advertiser_id: String(args.advertiser ?? \"\") });\n if (!parsed.success) {\n writeJson({ ok: false, error: { code: \"VALIDATION_ERROR\", message: parsed.error.issues[0]?.message ?? \"\" } });\n process.exit(1);\n }\n try {\n const envelope = refreshEnvelope(await apiPost<AdLibraryRefreshResponse>(\"/api/ad-library/refresh\", parsed.data));\n writeJson(envelope);\n if (!envelope.ok) process.exit(1);\n } catch (err) {\n reportError(err);\n }\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA,SAAS,qBAAqB;AAevB,SAAS,gBAAgB,MAAiD;AAC/E,MAAI,KAAK,QAAQ;AACf,WAAO;AAAA,MACL,IAAI;AAAA,MACJ;AAAA,MACA,OAAO;AAAA,QACL;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,MAAI,KAAK,YAAY;AACnB,WAAO;AAAA,MACL,IAAI;AAAA,MACJ;AAAA,MACA,OAAO;AAAA,QACL,GAAG,KAAK,KAAK;AAAA,MACf;AAAA,IACF;AAAA,EACF;AACA,MAAI,KAAK,kBAAkB,QAAW;AACpC,UAAM,OAAO,IAAI,KAAK,KAAK,aAAa,EAAE,YAAY;AACtD,WAAO;AAAA,MACL,IAAI;AAAA,MACJ,OAAO;AAAA,QACL,MAAM;AAAA,QACN,SAAS,GAAG,KAAK,KAAK;AAAA,QACtB,KAAK,qCAAqC,KAAK,KAAK,qCAAqC,IAAI;AAAA,MAC/F;AAAA,IACF;AAAA,EACF;AACA,SAAO;AAAA,IACL,IAAI;AAAA,IACJ;AAAA,IACA,OAAO,CAAC,kFAAkF;AAAA,EAC5F;AACF;AAEA,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM;AAAA,IACJ,YAAY,EAAE,MAAM,UAAU,aAAa,wDAAwD,UAAU,KAAK;AAAA,EACpH;AACF,CAAC;AAEM,IAAM,iBAAiB,cAAc;AAAA,EAC1C,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AAAA,EACA,MAAM;AAAA,IACJ,YAAY,EAAE,MAAM,cAAc,aAAa,qCAAqC,UAAU,KAAK;AAAA,EACrG;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,UAAM,SAAS,8BAA8B,UAAU,EAAE,eAAe,OAAO,KAAK,cAAc,EAAE,EAAE,CAAC;AACvG,QAAI,CAAC,OAAO,SAAS;AACnB,gBAAU,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,oBAAoB,SAAS,OAAO,MAAM,OAAO,CAAC,GAAG,WAAW,GAAG,EAAE,CAAC;AAC5G,cAAQ,KAAK,CAAC;AAAA,IAChB;AACA,QAAI;AACF,YAAM,WAAW,gBAAgB,MAAM,QAAkC,2BAA2B,OAAO,IAAI,CAAC;AAChH,gBAAU,QAAQ;AAClB,UAAI,CAAC,SAAS,GAAI,SAAQ,KAAK,CAAC;AAAA,IAClC,SAAS,KAAK;AACZ,kBAAY,GAAG;AAAA,IACjB;AAAA,EACF;AACF,CAAC;","names":[]}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import {
|
|
2
|
+
failApi,
|
|
3
|
+
failValidation,
|
|
4
|
+
writeOk
|
|
5
|
+
} from "./chunk-7THBBTJJ.js";
|
|
6
|
+
import "./chunk-SMIENBNX.js";
|
|
7
|
+
import "./chunk-GXDLWBOY.js";
|
|
8
|
+
import "./chunk-GIWHHCD6.js";
|
|
9
|
+
import "./chunk-UI6BKYQD.js";
|
|
10
|
+
import "./chunk-XX6ZMCY5.js";
|
|
11
|
+
import {
|
|
12
|
+
apiPost,
|
|
13
|
+
validateConvexId
|
|
14
|
+
} from "./chunk-HREWXNTO.js";
|
|
15
|
+
import "./chunk-HLXWKMTK.js";
|
|
16
|
+
import {
|
|
17
|
+
requireChatId
|
|
18
|
+
} from "./chunk-O6QKCJE4.js";
|
|
19
|
+
import {
|
|
20
|
+
registerSchema
|
|
21
|
+
} from "./chunk-WOTDHRNF.js";
|
|
22
|
+
import "./chunk-YQSBHWOI.js";
|
|
23
|
+
|
|
24
|
+
// src/commands/actions/release.ts
|
|
25
|
+
import { defineCommand } from "citty";
|
|
26
|
+
registerSchema({
|
|
27
|
+
command: "actions.release",
|
|
28
|
+
description: "Release an action you previously claimed (no-op if you don't own the claim).",
|
|
29
|
+
args: {
|
|
30
|
+
id: { type: "string", description: "Action ID", required: true }
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
var releaseCommand = defineCommand({
|
|
34
|
+
meta: {
|
|
35
|
+
name: "release",
|
|
36
|
+
description: "Release a claim you made on an action. Example: baker actions release <action-id>"
|
|
37
|
+
},
|
|
38
|
+
args: {
|
|
39
|
+
id: { type: "positional", description: "Action ID", required: false },
|
|
40
|
+
"action-id": { type: "string", description: "Action ID", required: false }
|
|
41
|
+
},
|
|
42
|
+
run: async ({ args }) => {
|
|
43
|
+
try {
|
|
44
|
+
const id = args.id || args["action-id"];
|
|
45
|
+
if (!id) {
|
|
46
|
+
failValidation("Action ID is required.");
|
|
47
|
+
}
|
|
48
|
+
validateConvexId(id);
|
|
49
|
+
const chatId = requireChatId();
|
|
50
|
+
await apiPost("/api/actions/release", { actionId: id, chatId });
|
|
51
|
+
writeOk();
|
|
52
|
+
} catch (err) {
|
|
53
|
+
failApi(err);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
export {
|
|
58
|
+
releaseCommand
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=release-OKZMC73N.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/actions/release.ts"],"sourcesContent":["import type { ActionsReleaseResponse } from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { apiPost, validateConvexId } from \"../../client.ts\";\nimport { requireChatId } from \"../../env.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { failApi, failValidation, writeOk } from \"./shared.ts\";\n\nregisterSchema({\n command: \"actions.release\",\n description: \"Release an action you previously claimed (no-op if you don't own the claim).\",\n args: {\n id: { type: \"string\", description: \"Action ID\", required: true },\n },\n});\n\nexport const releaseCommand = defineCommand({\n meta: {\n name: \"release\",\n description: \"Release a claim you made on an action. Example: baker actions release <action-id>\",\n },\n args: {\n id: { type: \"positional\", description: \"Action ID\", required: false },\n \"action-id\": { type: \"string\", description: \"Action ID\", required: false },\n },\n run: async ({ args }) => {\n try {\n const id = (args.id as string | undefined) || (args[\"action-id\"] as string | undefined);\n if (!id) {\n failValidation(\"Action ID is required.\");\n }\n validateConvexId(id);\n const chatId = requireChatId();\n await apiPost<ActionsReleaseResponse>(\"/api/actions/release\", { actionId: id, chatId });\n writeOk();\n } catch (err) {\n failApi(err);\n }\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AACA,SAAS,qBAAqB;AAM9B,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aAAa;AAAA,EACb,MAAM;AAAA,IACJ,IAAI,EAAE,MAAM,UAAU,aAAa,aAAa,UAAU,KAAK;AAAA,EACjE;AACF,CAAC;AAEM,IAAM,iBAAiB,cAAc;AAAA,EAC1C,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA,MAAM;AAAA,IACJ,IAAI,EAAE,MAAM,cAAc,aAAa,aAAa,UAAU,MAAM;AAAA,IACpE,aAAa,EAAE,MAAM,UAAU,aAAa,aAAa,UAAU,MAAM;AAAA,EAC3E;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,QAAI;AACF,YAAM,KAAM,KAAK,MAA8B,KAAK,WAAW;AAC/D,UAAI,CAAC,IAAI;AACP,uBAAe,wBAAwB;AAAA,MACzC;AACA,uBAAiB,EAAE;AACnB,YAAM,SAAS,cAAc;AAC7B,YAAM,QAAgC,wBAAwB,EAAE,UAAU,IAAI,OAAO,CAAC;AACtF,cAAQ;AAAA,IACV,SAAS,KAAK;AACZ,cAAQ,GAAG;AAAA,IACb;AAAA,EACF;AACF,CAAC;","names":[]}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import {
|
|
2
|
+
RESEARCH_DATA_NOTE,
|
|
3
|
+
handleResearchError,
|
|
4
|
+
writeResearchHints,
|
|
5
|
+
writeResearchJson,
|
|
6
|
+
writeResearchOutput
|
|
7
|
+
} from "./chunk-Y362QH54.js";
|
|
8
|
+
import {
|
|
9
|
+
buildResearchQueryContext,
|
|
10
|
+
warnDefaults
|
|
11
|
+
} from "./chunk-3ZWWXAQZ.js";
|
|
12
|
+
import "./chunk-77DN7R35.js";
|
|
13
|
+
import "./chunk-XX6ZMCY5.js";
|
|
14
|
+
import {
|
|
15
|
+
apiPost
|
|
16
|
+
} from "./chunk-HREWXNTO.js";
|
|
17
|
+
import "./chunk-HLXWKMTK.js";
|
|
18
|
+
import "./chunk-O6QKCJE4.js";
|
|
19
|
+
import {
|
|
20
|
+
registerSchema
|
|
21
|
+
} from "./chunk-WOTDHRNF.js";
|
|
22
|
+
import "./chunk-YQSBHWOI.js";
|
|
23
|
+
|
|
24
|
+
// src/commands/research/relevant-pages.ts
|
|
25
|
+
import { defineCommand } from "citty";
|
|
26
|
+
registerSchema({
|
|
27
|
+
command: "research.relevant-pages",
|
|
28
|
+
description: "Get the top pages of a competitor domain with organic traffic and ranking data. Shows which pages drive the most traffic. If --location and --language are omitted, defaults to United States (us) and English (en).",
|
|
29
|
+
args: {
|
|
30
|
+
target: { type: "string", description: "Domain to analyze (positional, e.g. competitor.com)", required: true },
|
|
31
|
+
location: {
|
|
32
|
+
type: "string",
|
|
33
|
+
description: "Country code (us, uk, es, de...) or DataForSEO location code. Defaults to us (United States) if omitted",
|
|
34
|
+
required: false
|
|
35
|
+
},
|
|
36
|
+
language: {
|
|
37
|
+
type: "string",
|
|
38
|
+
description: "Language code or name. Defaults to en (English) if omitted",
|
|
39
|
+
required: false
|
|
40
|
+
},
|
|
41
|
+
limit: { type: "string", description: "Max results (default: 20, max: 1000)", required: false },
|
|
42
|
+
"no-cache": { type: "boolean", description: "Skip server cache, hit API directly", required: false }
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
var FIELDS = {
|
|
46
|
+
page: "Page URL",
|
|
47
|
+
etv: "Estimated monthly organic traffic",
|
|
48
|
+
keywords: "Total organic keywords the page ranks for",
|
|
49
|
+
top_10: "Keywords in positions 1-10"
|
|
50
|
+
};
|
|
51
|
+
var relevantPagesCommand = defineCommand({
|
|
52
|
+
meta: {
|
|
53
|
+
name: "relevant-pages",
|
|
54
|
+
description: `Get the top pages of a competitor domain with traffic data.
|
|
55
|
+
|
|
56
|
+
Examples:
|
|
57
|
+
baker research relevant-pages "competitor.com"
|
|
58
|
+
baker research relevant-pages "competitor.com" --location es --limit 10`
|
|
59
|
+
},
|
|
60
|
+
args: {
|
|
61
|
+
target: { type: "positional", description: "Domain to analyze", required: true },
|
|
62
|
+
location: { type: "string", description: "Country code or location code (default: us)", required: false },
|
|
63
|
+
language: { type: "string", description: "Language code or name (default: en)", required: false },
|
|
64
|
+
limit: { type: "string", description: "Max results (default: 20, max: 1000)", required: false },
|
|
65
|
+
output: { type: "string", description: "Format: json|csv|md|jsonl", required: false, default: "json" },
|
|
66
|
+
"no-cache": { type: "boolean", description: "Skip server cache, hit API directly", required: false }
|
|
67
|
+
},
|
|
68
|
+
run: async ({ args }) => {
|
|
69
|
+
const target = args.target;
|
|
70
|
+
const location = args.location || void 0;
|
|
71
|
+
const language = args.language || void 0;
|
|
72
|
+
const limit = args.limit ? Number(args.limit) : void 0;
|
|
73
|
+
const skipCache = args["no-cache"] ? true : void 0;
|
|
74
|
+
const queryContext = buildResearchQueryContext(location, language);
|
|
75
|
+
try {
|
|
76
|
+
const data = await apiPost("/api/research/relevant-pages", {
|
|
77
|
+
target,
|
|
78
|
+
location,
|
|
79
|
+
language,
|
|
80
|
+
limit,
|
|
81
|
+
skipCache
|
|
82
|
+
});
|
|
83
|
+
warnDefaults(queryContext);
|
|
84
|
+
const format = args.output || "json";
|
|
85
|
+
if (format !== "json") {
|
|
86
|
+
writeResearchOutput(data, format);
|
|
87
|
+
writeResearchHints([RESEARCH_DATA_NOTE], format);
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
writeResearchJson({ ok: true, data, fields: FIELDS, note: RESEARCH_DATA_NOTE, query_context: queryContext });
|
|
91
|
+
} catch (err) {
|
|
92
|
+
handleResearchError(err);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
export {
|
|
97
|
+
relevantPagesCommand
|
|
98
|
+
};
|
|
99
|
+
//# sourceMappingURL=relevant-pages-J76ZKNKF.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/research/relevant-pages.ts"],"sourcesContent":["import { defineCommand } from \"citty\";\nimport { apiPost } from \"../../client.ts\";\nimport { buildResearchQueryContext, warnDefaults } from \"../../geo-context.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport {\n handleResearchError,\n RESEARCH_DATA_NOTE,\n writeResearchHints,\n writeResearchJson,\n writeResearchOutput,\n} from \"./output.ts\";\n\nregisterSchema({\n command: \"research.relevant-pages\",\n description:\n \"Get the top pages of a competitor domain with organic traffic and ranking data. Shows which pages drive the most traffic. If --location and --language are omitted, defaults to United States (us) and English (en).\",\n args: {\n target: { type: \"string\", description: \"Domain to analyze (positional, e.g. competitor.com)\", required: true },\n location: {\n type: \"string\",\n description:\n \"Country code (us, uk, es, de...) or DataForSEO location code. Defaults to us (United States) if omitted\",\n required: false,\n },\n language: {\n type: \"string\",\n description: \"Language code or name. Defaults to en (English) if omitted\",\n required: false,\n },\n limit: { type: \"string\", description: \"Max results (default: 20, max: 1000)\", required: false },\n \"no-cache\": { type: \"boolean\", description: \"Skip server cache, hit API directly\", required: false },\n },\n});\n\ninterface RelevantPage {\n page: string;\n etv: number;\n keywords: number;\n top_10: number;\n}\n\nconst FIELDS: Record<string, string> = {\n page: \"Page URL\",\n etv: \"Estimated monthly organic traffic\",\n keywords: \"Total organic keywords the page ranks for\",\n top_10: \"Keywords in positions 1-10\",\n};\n\nexport const relevantPagesCommand = defineCommand({\n meta: {\n name: \"relevant-pages\",\n description: `Get the top pages of a competitor domain with traffic data.\n\nExamples:\n baker research relevant-pages \"competitor.com\"\n baker research relevant-pages \"competitor.com\" --location es --limit 10`,\n },\n args: {\n target: { type: \"positional\", description: \"Domain to analyze\", required: true },\n location: { type: \"string\", description: \"Country code or location code (default: us)\", required: false },\n language: { type: \"string\", description: \"Language code or name (default: en)\", required: false },\n limit: { type: \"string\", description: \"Max results (default: 20, max: 1000)\", required: false },\n output: { type: \"string\", description: \"Format: json|csv|md|jsonl\", required: false, default: \"json\" },\n \"no-cache\": { type: \"boolean\", description: \"Skip server cache, hit API directly\", required: false },\n },\n run: async ({ args }) => {\n const target = args.target as string;\n const location = (args.location as string) || undefined;\n const language = (args.language as string) || undefined;\n const limit = args.limit ? Number(args.limit) : undefined;\n const skipCache = args[\"no-cache\"] ? true : undefined;\n const queryContext = buildResearchQueryContext(location, language);\n\n try {\n const data = await apiPost<RelevantPage[]>(\"/api/research/relevant-pages\", {\n target,\n location,\n language,\n limit,\n skipCache,\n });\n\n warnDefaults(queryContext);\n const format = (args.output as string) || \"json\";\n if (format !== \"json\") {\n writeResearchOutput(data as unknown as Array<Record<string, unknown>>, format);\n // Same reason as `keyword-gap`: csv and md are the formats these numbers\n // get quoted from, so the \"directional, not exact\" caveat has to reach\n // them too rather than living only in the JSON envelope.\n writeResearchHints([RESEARCH_DATA_NOTE], format);\n return;\n }\n writeResearchJson({ ok: true, data, fields: FIELDS, note: RESEARCH_DATA_NOTE, query_context: queryContext });\n } catch (err) {\n handleResearchError(err);\n }\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,qBAAqB;AAY9B,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM;AAAA,IACJ,QAAQ,EAAE,MAAM,UAAU,aAAa,uDAAuD,UAAU,KAAK;AAAA,IAC7G,UAAU;AAAA,MACR,MAAM;AAAA,MACN,aACE;AAAA,MACF,UAAU;AAAA,IACZ;AAAA,IACA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,aAAa;AAAA,MACb,UAAU;AAAA,IACZ;AAAA,IACA,OAAO,EAAE,MAAM,UAAU,aAAa,wCAAwC,UAAU,MAAM;AAAA,IAC9F,YAAY,EAAE,MAAM,WAAW,aAAa,uCAAuC,UAAU,MAAM;AAAA,EACrG;AACF,CAAC;AASD,IAAM,SAAiC;AAAA,EACrC,MAAM;AAAA,EACN,KAAK;AAAA,EACL,UAAU;AAAA,EACV,QAAQ;AACV;AAEO,IAAM,uBAAuB,cAAc;AAAA,EAChD,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA,EAKf;AAAA,EACA,MAAM;AAAA,IACJ,QAAQ,EAAE,MAAM,cAAc,aAAa,qBAAqB,UAAU,KAAK;AAAA,IAC/E,UAAU,EAAE,MAAM,UAAU,aAAa,+CAA+C,UAAU,MAAM;AAAA,IACxG,UAAU,EAAE,MAAM,UAAU,aAAa,uCAAuC,UAAU,MAAM;AAAA,IAChG,OAAO,EAAE,MAAM,UAAU,aAAa,wCAAwC,UAAU,MAAM;AAAA,IAC9F,QAAQ,EAAE,MAAM,UAAU,aAAa,6BAA6B,UAAU,OAAO,SAAS,OAAO;AAAA,IACrG,YAAY,EAAE,MAAM,WAAW,aAAa,uCAAuC,UAAU,MAAM;AAAA,EACrG;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,UAAM,SAAS,KAAK;AACpB,UAAM,WAAY,KAAK,YAAuB;AAC9C,UAAM,WAAY,KAAK,YAAuB;AAC9C,UAAM,QAAQ,KAAK,QAAQ,OAAO,KAAK,KAAK,IAAI;AAChD,UAAM,YAAY,KAAK,UAAU,IAAI,OAAO;AAC5C,UAAM,eAAe,0BAA0B,UAAU,QAAQ;AAEjE,QAAI;AACF,YAAM,OAAO,MAAM,QAAwB,gCAAgC;AAAA,QACzE;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC;AAED,mBAAa,YAAY;AACzB,YAAM,SAAU,KAAK,UAAqB;AAC1C,UAAI,WAAW,QAAQ;AACrB,4BAAoB,MAAmD,MAAM;AAI7E,2BAAmB,CAAC,kBAAkB,GAAG,MAAM;AAC/C;AAAA,MACF;AACA,wBAAkB,EAAE,IAAI,MAAM,MAAM,QAAQ,QAAQ,MAAM,oBAAoB,eAAe,aAAa,CAAC;AAAA,IAC7G,SAAS,KAAK;AACZ,0BAAoB,GAAG;AAAA,IACzB;AAAA,EACF;AACF,CAAC;","names":[]}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import {
|
|
2
|
+
reportError,
|
|
3
|
+
reportInvalid
|
|
4
|
+
} from "./chunk-YU26SDNT.js";
|
|
5
|
+
import {
|
|
6
|
+
testimonialSourcesRemoveRequestSchema
|
|
7
|
+
} from "./chunk-SMIENBNX.js";
|
|
8
|
+
import "./chunk-GXDLWBOY.js";
|
|
9
|
+
import "./chunk-GIWHHCD6.js";
|
|
10
|
+
import "./chunk-UI6BKYQD.js";
|
|
11
|
+
import "./chunk-XX6ZMCY5.js";
|
|
12
|
+
import {
|
|
13
|
+
apiPost
|
|
14
|
+
} from "./chunk-HREWXNTO.js";
|
|
15
|
+
import "./chunk-HLXWKMTK.js";
|
|
16
|
+
import "./chunk-O6QKCJE4.js";
|
|
17
|
+
import {
|
|
18
|
+
registerSchema,
|
|
19
|
+
writeJson
|
|
20
|
+
} from "./chunk-WOTDHRNF.js";
|
|
21
|
+
import "./chunk-YQSBHWOI.js";
|
|
22
|
+
|
|
23
|
+
// src/commands/testimonials/sources/remove.ts
|
|
24
|
+
import { defineCommand } from "citty";
|
|
25
|
+
registerSchema({
|
|
26
|
+
command: "testimonials.sources.remove",
|
|
27
|
+
description: "Remove a review source AND every testimonial it imported (and their pictures). Applies immediately and cannot be undone \u2014 only when the user asked for it.",
|
|
28
|
+
args: { id: { type: "string", description: "Source id from `testimonials sources list`", required: true } }
|
|
29
|
+
});
|
|
30
|
+
var removeCommand = defineCommand({
|
|
31
|
+
meta: {
|
|
32
|
+
name: "remove",
|
|
33
|
+
description: "Remove a review source and all its testimonials (cannot be undone).\n\nExample: baker testimonials sources remove <source-id>"
|
|
34
|
+
},
|
|
35
|
+
args: { id: { type: "positional", description: "Source id from `testimonials sources list`", required: true } },
|
|
36
|
+
run: async ({ args }) => {
|
|
37
|
+
const parsed = testimonialSourcesRemoveRequestSchema.safeParse({ id: String(args.id ?? "") });
|
|
38
|
+
if (!parsed.success) reportInvalid(parsed.error.issues[0]);
|
|
39
|
+
try {
|
|
40
|
+
const data = await apiPost("/api/testimonials/sources/remove", parsed.data);
|
|
41
|
+
writeJson({ ok: true, data });
|
|
42
|
+
} catch (err) {
|
|
43
|
+
reportError(err);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
export {
|
|
48
|
+
removeCommand
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=remove-CA2J6ACH.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/testimonials/sources/remove.ts"],"sourcesContent":["import { type TestimonialSourcesRemoveResponse, testimonialSourcesRemoveRequestSchema } from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { apiPost } from \"../../../client.ts\";\nimport { writeJson } from \"../../../output.ts\";\nimport { registerSchema } from \"../../../schemas.ts\";\nimport { reportError, reportInvalid } from \"./shared.ts\";\n\nregisterSchema({\n command: \"testimonials.sources.remove\",\n description:\n \"Remove a review source AND every testimonial it imported (and their pictures). Applies immediately and cannot be undone — only when the user asked for it.\",\n args: { id: { type: \"string\", description: \"Source id from `testimonials sources list`\", required: true } },\n});\n\nexport const removeCommand = defineCommand({\n meta: {\n name: \"remove\",\n description:\n \"Remove a review source and all its testimonials (cannot be undone).\\n\\nExample: baker testimonials sources remove <source-id>\",\n },\n args: { id: { type: \"positional\", description: \"Source id from `testimonials sources list`\", required: true } },\n run: async ({ args }) => {\n const parsed = testimonialSourcesRemoveRequestSchema.safeParse({ id: String(args.id ?? \"\") });\n if (!parsed.success) reportInvalid(parsed.error.issues[0]);\n try {\n const data = await apiPost<TestimonialSourcesRemoveResponse>(\"/api/testimonials/sources/remove\", parsed.data);\n writeJson({ ok: true, data });\n } catch (err) {\n reportError(err);\n }\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA,SAAS,qBAAqB;AAM9B,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM,EAAE,IAAI,EAAE,MAAM,UAAU,aAAa,8CAA8C,UAAU,KAAK,EAAE;AAC5G,CAAC;AAEM,IAAM,gBAAgB,cAAc;AAAA,EACzC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AAAA,EACA,MAAM,EAAE,IAAI,EAAE,MAAM,cAAc,aAAa,8CAA8C,UAAU,KAAK,EAAE;AAAA,EAC9G,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,UAAM,SAAS,sCAAsC,UAAU,EAAE,IAAI,OAAO,KAAK,MAAM,EAAE,EAAE,CAAC;AAC5F,QAAI,CAAC,OAAO,QAAS,eAAc,OAAO,MAAM,OAAO,CAAC,CAAC;AACzD,QAAI;AACF,YAAM,OAAO,MAAM,QAA0C,oCAAoC,OAAO,IAAI;AAC5G,gBAAU,EAAE,IAAI,MAAM,KAAK,CAAC;AAAA,IAC9B,SAAS,KAAK;AACZ,kBAAY,GAAG;AAAA,IACjB;AAAA,EACF;AACF,CAAC;","names":[]}
|