@koda-sl/baker-cli 0.386.0-dev.4e118c09a → 0.386.0-dev.d6e55699d
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 +1057 -215
- package/canvas/tiktok-captions-composition/index.html +5 -6
- package/canvas/tiktok-captions-composition/meta.json +5 -0
- package/dist/account-5TGX45FO.js +79 -0
- package/dist/account-5TGX45FO.js.map +1 -0
- package/dist/account-CLOKMTTC.js +49 -0
- package/dist/account-CLOKMTTC.js.map +1 -0
- package/dist/account-XFK6VX2R.js +80 -0
- package/dist/account-XFK6VX2R.js.map +1 -0
- package/dist/account-reads-ZK5RMLB2.js +218 -0
- package/dist/account-reads-ZK5RMLB2.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-HGAFFOA7.js +77 -0
- package/dist/accounts-HGAFFOA7.js.map +1 -0
- package/dist/accounts-OWMXUT6D.js +611 -0
- package/dist/accounts-OWMXUT6D.js.map +1 -0
- package/dist/accounts-RYBDLQ6H.js +75 -0
- package/dist/accounts-RYBDLQ6H.js.map +1 -0
- package/dist/actions-NSQYW7YS.js +55 -0
- package/dist/actions-NSQYW7YS.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-HWIE5PGR.js +302 -0
- package/dist/add-HWIE5PGR.js.map +1 -0
- package/dist/add-IIW3NHZH.js +104 -0
- package/dist/add-IIW3NHZH.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-D6KKCQ3Q.js +40 -0
- package/dist/ads-D6KKCQ3Q.js.map +1 -0
- package/dist/ads-QKIHHXP5.js +113 -0
- package/dist/ads-QKIHHXP5.js.map +1 -0
- package/dist/adsets-7WMWU45E.js +176 -0
- package/dist/adsets-7WMWU45E.js.map +1 -0
- package/dist/advertisers-6NZ2M57X.js +120 -0
- package/dist/advertisers-6NZ2M57X.js.map +1 -0
- package/dist/advertisers-BCGKUMEH.js +125 -0
- package/dist/advertisers-BCGKUMEH.js.map +1 -0
- package/dist/analytics-QJC2BTZY.js +433 -0
- package/dist/analytics-QJC2BTZY.js.map +1 -0
- package/dist/analytics-SN6K7J7M.js +1980 -0
- package/dist/analytics-SN6K7J7M.js.map +1 -0
- package/dist/animate-JXIT77Y5.js +480 -0
- package/dist/animate-JXIT77Y5.js.map +1 -0
- package/dist/assign-XFDA42KL.js +77 -0
- package/dist/assign-XFDA42KL.js.map +1 -0
- package/dist/audience-size-DJPFYHPJ.js +94 -0
- package/dist/audience-size-DJPFYHPJ.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-VXTIBZP6.js +78 -0
- package/dist/audiences-VXTIBZP6.js.map +1 -0
- package/dist/audit-M5B7TZGT.js +151 -0
- package/dist/audit-M5B7TZGT.js.map +1 -0
- package/dist/audit-UIPMTI5C.js +88 -0
- package/dist/audit-UIPMTI5C.js.map +1 -0
- package/dist/autocomplete-NWHEASQY.js +111 -0
- package/dist/autocomplete-NWHEASQY.js.map +1 -0
- package/dist/avatars-RNMUVMFM.js +38 -0
- package/dist/avatars-RNMUVMFM.js.map +1 -0
- package/dist/bid-pricing-EAY3HAHY.js +99 -0
- package/dist/bid-pricing-EAY3HAHY.js.map +1 -0
- package/dist/brand-XBHWYPMT.js +22 -0
- package/dist/brand-XBHWYPMT.js.map +1 -0
- package/dist/brief-XBAAPKRR.js +492 -0
- package/dist/brief-XBAAPKRR.js.map +1 -0
- package/dist/businesses-J7OP7MSK.js +53 -0
- package/dist/businesses-J7OP7MSK.js.map +1 -0
- package/dist/campaign-groups-7KA2RA5V.js +95 -0
- package/dist/campaign-groups-7KA2RA5V.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-D2UID2I6.js +165 -0
- package/dist/campaign-writes-D2UID2I6.js.map +1 -0
- package/dist/campaigns-JPYNVFQI.js +76 -0
- package/dist/campaigns-JPYNVFQI.js.map +1 -0
- package/dist/campaigns-NJ3KOPJS.js +107 -0
- package/dist/campaigns-NJ3KOPJS.js.map +1 -0
- package/dist/campaigns-QUTTH2TB.js +110 -0
- package/dist/campaigns-QUTTH2TB.js.map +1 -0
- package/dist/campaigns-SOO5RHYG.js +109 -0
- package/dist/campaigns-SOO5RHYG.js.map +1 -0
- package/dist/canvas-3VZ46BCF.js +46 -0
- package/dist/canvas-3VZ46BCF.js.map +1 -0
- package/dist/capabilities-KAYDPH7E.js +144 -0
- package/dist/capabilities-KAYDPH7E.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-22EO52IY.js +135 -0
- package/dist/changes-22EO52IY.js.map +1 -0
- package/dist/chatgpt-B3NHRJUE.js +47 -0
- package/dist/chatgpt-B3NHRJUE.js.map +1 -0
- package/dist/chats-QG3IRHOD.js +262 -0
- package/dist/chats-QG3IRHOD.js.map +1 -0
- package/dist/chunk-2CV7LX23.js +474 -0
- package/dist/chunk-2CV7LX23.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-32PSERWG.js +363 -0
- package/dist/chunk-32PSERWG.js.map +1 -0
- package/dist/chunk-3ACMDRSE.js +39 -0
- package/dist/chunk-3ACMDRSE.js.map +1 -0
- package/dist/chunk-3UDSYYND.js +42 -0
- package/dist/chunk-3UDSYYND.js.map +1 -0
- package/dist/chunk-3V5E5SVE.js +382 -0
- package/dist/chunk-3V5E5SVE.js.map +1 -0
- package/dist/chunk-455BTAHM.js +57 -0
- package/dist/chunk-455BTAHM.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-4OBO75XU.js +275 -0
- package/dist/chunk-4OBO75XU.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-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-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-AUCITRRT.js +310 -0
- package/dist/chunk-AUCITRRT.js.map +1 -0
- package/dist/chunk-AUSKKFVH.js +84 -0
- package/dist/chunk-AUSKKFVH.js.map +1 -0
- package/dist/chunk-BEGARAVC.js +174 -0
- package/dist/chunk-BEGARAVC.js.map +1 -0
- package/dist/{chunk-WWCLT3RG.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-CKI3RLMU.js +159 -0
- package/dist/chunk-CKI3RLMU.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-DIICZGIS.js +509 -0
- package/dist/chunk-DIICZGIS.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-DYZJBWT2.js +1079 -0
- package/dist/chunk-DYZJBWT2.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-EQEZAYPL.js +541 -0
- package/dist/chunk-EQEZAYPL.js.map +1 -0
- package/dist/chunk-ERSX3MKH.js +34 -0
- package/dist/chunk-ERSX3MKH.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-GOJXKIFQ.js +1605 -0
- package/dist/chunk-GOJXKIFQ.js.map +1 -0
- package/dist/chunk-GPXIUYIA.js +592 -0
- package/dist/chunk-GPXIUYIA.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-H7MLHG2I.js +94 -0
- package/dist/chunk-H7MLHG2I.js.map +1 -0
- package/dist/chunk-HAE4WWFQ.js +455 -0
- package/dist/chunk-HAE4WWFQ.js.map +1 -0
- package/dist/chunk-HB3LNR4Y.js +197 -0
- package/dist/chunk-HB3LNR4Y.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-HVJUMQYY.js +494 -0
- package/dist/chunk-HVJUMQYY.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-IMORFIUT.js +207 -0
- package/dist/chunk-IMORFIUT.js.map +1 -0
- package/dist/chunk-IOCSDFF2.js +23992 -0
- package/dist/chunk-IOCSDFF2.js.map +1 -0
- package/dist/chunk-IRTYTT5D.js +665 -0
- package/dist/chunk-IRTYTT5D.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-JAYT43KX.js +4227 -0
- package/dist/chunk-JAYT43KX.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-JRGPCPT2.js +479 -0
- package/dist/chunk-JRGPCPT2.js.map +1 -0
- package/dist/chunk-JUAIGJ2A.js +76 -0
- package/dist/chunk-JUAIGJ2A.js.map +1 -0
- package/dist/chunk-K2RYUZ5Y.js +51 -0
- package/dist/chunk-K2RYUZ5Y.js.map +1 -0
- package/dist/chunk-K5OQES4V.js +58 -0
- package/dist/chunk-K5OQES4V.js.map +1 -0
- package/dist/chunk-KAHMADFH.js +455 -0
- package/dist/chunk-KAHMADFH.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-KRIK2JR4.js +6212 -0
- package/dist/chunk-KRIK2JR4.js.map +1 -0
- package/dist/chunk-KZUHRZ2C.js +5187 -0
- package/dist/chunk-KZUHRZ2C.js.map +1 -0
- package/dist/chunk-L5WIRYNB.js +19 -0
- package/dist/chunk-L5WIRYNB.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-LWBWCIWL.js +297 -0
- package/dist/chunk-LWBWCIWL.js.map +1 -0
- package/dist/chunk-M4PPFVYL.js +346 -0
- package/dist/chunk-M4PPFVYL.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-MUVSWFLL.js +111 -0
- package/dist/chunk-MUVSWFLL.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-O6QKCJE4.js +455 -0
- package/dist/chunk-O6QKCJE4.js.map +1 -0
- package/dist/chunk-OBNWER4H.js +1599 -0
- package/dist/chunk-OBNWER4H.js.map +1 -0
- package/dist/chunk-OFFAMC5H.js +225 -0
- package/dist/chunk-OFFAMC5H.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-PAHLJMC3.js +175 -0
- package/dist/chunk-PAHLJMC3.js.map +1 -0
- package/dist/chunk-PBVLPFJ6.js +169 -0
- package/dist/chunk-PBVLPFJ6.js.map +1 -0
- package/dist/chunk-PFBQERWX.js +10 -0
- package/dist/chunk-PFBQERWX.js.map +1 -0
- package/dist/chunk-Q6ULQMWG.js +41 -0
- package/dist/chunk-Q6ULQMWG.js.map +1 -0
- package/dist/chunk-QKE7GXZ7.js +6683 -0
- package/dist/chunk-QKE7GXZ7.js.map +1 -0
- package/dist/chunk-QL573PLH.js +150 -0
- package/dist/chunk-QL573PLH.js.map +1 -0
- package/dist/chunk-QO23YHLK.js +84 -0
- package/dist/chunk-QO23YHLK.js.map +1 -0
- package/dist/chunk-R5OQM7FF.js +179 -0
- package/dist/chunk-R5OQM7FF.js.map +1 -0
- package/dist/chunk-RDLB54KF.js +629 -0
- package/dist/chunk-RDLB54KF.js.map +1 -0
- package/dist/chunk-RGIXQEGJ.js +502 -0
- package/dist/chunk-RGIXQEGJ.js.map +1 -0
- package/dist/chunk-RRIAHUWP.js +304 -0
- package/dist/chunk-RRIAHUWP.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-SLB46MSS.js +64 -0
- package/dist/chunk-SLB46MSS.js.map +1 -0
- package/dist/chunk-T7M4WFNV.js +172 -0
- package/dist/chunk-T7M4WFNV.js.map +1 -0
- package/dist/{chunk-JTZXQRXI.js → chunk-TPXI2GCW.js} +4 -4
- package/dist/chunk-TWNFQUBS.js +23 -0
- package/dist/chunk-TWNFQUBS.js.map +1 -0
- 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-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-V5GSRREZ.js +846 -0
- package/dist/chunk-V5GSRREZ.js.map +1 -0
- package/dist/chunk-V5HDRJQW.js +337 -0
- package/dist/chunk-V5HDRJQW.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-WIRBRCTJ.js +228 -0
- package/dist/chunk-WIRBRCTJ.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-WPKOEFOE.js +103 -0
- package/dist/chunk-WPKOEFOE.js.map +1 -0
- package/dist/chunk-XE3WS3QE.js +183 -0
- package/dist/chunk-XE3WS3QE.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-Y362QH54.js +98 -0
- package/dist/chunk-Y362QH54.js.map +1 -0
- package/dist/chunk-Y4HZNSBN.js +3151 -0
- package/dist/chunk-Y4HZNSBN.js.map +1 -0
- package/dist/chunk-Y4T6ATDQ.js +74 -0
- package/dist/chunk-Y4T6ATDQ.js.map +1 -0
- package/dist/chunk-YIMGUMXX.js +206 -0
- package/dist/chunk-YIMGUMXX.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-ZCFSHQBF.js +92 -0
- package/dist/chunk-ZCFSHQBF.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-4AFNDV3A.js +197 -0
- package/dist/claim-4AFNDV3A.js.map +1 -0
- package/dist/cli.js +104 -71708
- 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-PZRRZZNV.js +195 -0
- package/dist/companies-PZRRZZNV.js.map +1 -0
- package/dist/complete-IBW5DNVZ.js +81 -0
- package/dist/complete-IBW5DNVZ.js.map +1 -0
- package/dist/config-X6GKOVQ6.js +88 -0
- package/dist/config-X6GKOVQ6.js.map +1 -0
- package/dist/connect-WYUYS5V4.js +42 -0
- package/dist/content-UYZC4AKN.js +85 -0
- package/dist/content-UYZC4AKN.js.map +1 -0
- package/dist/conversation-6AG3UBYY.js +93 -0
- package/dist/conversation-6AG3UBYY.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-YML2UNJB.js +438 -0
- package/dist/conversion-upload-command-YML2UNJB.js.map +1 -0
- package/dist/conversion-writes-WHFFUWWL.js +120 -0
- package/dist/conversion-writes-WHFFUWWL.js.map +1 -0
- package/dist/conversions-NOBBFNIU.js +135 -0
- package/dist/conversions-NOBBFNIU.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-JK42P564.js +59 -0
- package/dist/create-JK42P564.js.map +1 -0
- package/dist/create-LAWUVPCY.js +207 -0
- package/dist/create-LAWUVPCY.js.map +1 -0
- package/dist/create-MUPQ5CTH.js +138 -0
- package/dist/create-MUPQ5CTH.js.map +1 -0
- package/dist/create-NQJNCFRO.js +236 -0
- package/dist/create-NQJNCFRO.js.map +1 -0
- package/dist/creatives-KCWFZIM5.js +182 -0
- package/dist/creatives-KCWFZIM5.js.map +1 -0
- package/dist/creatives-NNDWCSKJ.js +51 -0
- package/dist/creatives-NNDWCSKJ.js.map +1 -0
- package/dist/creatives-RHNHTS2R.js +87 -0
- package/dist/creatives-RHNHTS2R.js.map +1 -0
- package/dist/credentials-CEKGXR2C.js +287 -0
- package/dist/credentials-CEKGXR2C.js.map +1 -0
- package/dist/critique-HDDYER52.js +1449 -0
- package/dist/critique-HDDYER52.js.map +1 -0
- package/dist/critique-QIN2FO4F.js +216 -0
- package/dist/critique-QIN2FO4F.js.map +1 -0
- package/dist/crm-KBPWZC6J.js +318 -0
- package/dist/crm-KBPWZC6J.js.map +1 -0
- package/dist/crm-QBWD7CWB.js +224 -0
- package/dist/crm-QBWD7CWB.js.map +1 -0
- package/dist/crop-U3AD4DDR.js +113 -0
- package/dist/crop-U3AD4DDR.js.map +1 -0
- package/dist/currency-XTFGZFGB.js +88 -0
- package/dist/currency-XTFGZFGB.js.map +1 -0
- package/dist/custom-conversions-W3K33V33.js +125 -0
- package/dist/custom-conversions-W3K33V33.js.map +1 -0
- package/dist/customers-HYE7N2H5.js +56 -0
- package/dist/decide-YTHCBKM6.js +199 -0
- package/dist/decide-YTHCBKM6.js.map +1 -0
- package/dist/delete-64REPCY2.js +54 -0
- package/dist/delete-64REPCY2.js.map +1 -0
- package/dist/delete-AY3KL3N3.js +63 -0
- package/dist/delete-AY3KL3N3.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-VO2LZXE4.js +66 -0
- package/dist/delete-VO2LZXE4.js.map +1 -0
- package/dist/delete-VQMU56OH.js +71 -0
- package/dist/delete-VQMU56OH.js.map +1 -0
- package/dist/demographics-KOFLMGVW.js +138 -0
- package/dist/demographics-KOFLMGVW.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-H4RPXZHX.js +66 -0
- package/dist/discard-H4RPXZHX.js.map +1 -0
- package/dist/discover-4GD7QSF5.js +93 -0
- package/dist/discover-4GD7QSF5.js.map +1 -0
- package/dist/discover-L7OVXW4V.js +172 -0
- package/dist/discover-L7OVXW4V.js.map +1 -0
- package/dist/domain-HURQ23KR.js +98 -0
- package/dist/domain-HURQ23KR.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-5VH2PW3R.js +307 -0
- package/dist/draft-5VH2PW3R.js.map +1 -0
- package/dist/draft-D6UTKSAA.js +217 -0
- package/dist/draft-D6UTKSAA.js.map +1 -0
- package/dist/draft-KLULNBWP.js +233 -0
- package/dist/draft-KLULNBWP.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-UQYWDZS7.js +306 -0
- package/dist/draft-UQYWDZS7.js.map +1 -0
- package/dist/draft-YFAJHCKM.js +328 -0
- package/dist/draft-YFAJHCKM.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-WYQUZMFJ.js +114 -0
- package/dist/facets-WYQUZMFJ.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-SIMPRE37.js +66 -0
- package/dist/feedback-SIMPRE37.js.map +1 -0
- package/dist/feedback-record-L4MPIVML.js +177 -0
- package/dist/feedback-record-L4MPIVML.js.map +1 -0
- package/dist/fetch-DTBM3DE2.js +176 -0
- package/dist/fetch-DTBM3DE2.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-IUDXVDOS.js +247 -0
- package/dist/flows-IUDXVDOS.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-EUDHI6CA.js +34 -0
- package/dist/fonts-EUDHI6CA.js.map +1 -0
- package/dist/forecast-BRSEH2H3.js +104 -0
- package/dist/forecast-BRSEH2H3.js.map +1 -0
- package/dist/forecast-QV4U7TOY.js +168 -0
- package/dist/forecast-QV4U7TOY.js.map +1 -0
- package/dist/funding-H5YO37OW.js +85 -0
- package/dist/funding-H5YO37OW.js.map +1 -0
- package/dist/funnel-JLF77MLF.js +394 -0
- package/dist/funnel-JLF77MLF.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-AYX5HS64.js +56 -0
- package/dist/get-AYX5HS64.js.map +1 -0
- package/dist/get-AZARFR6O.js +61 -0
- package/dist/get-AZARFR6O.js.map +1 -0
- package/dist/get-EG2U7MIL.js +78 -0
- package/dist/get-EG2U7MIL.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-52JRH7X3.js +136 -0
- package/dist/google-52JRH7X3.js.map +1 -0
- package/dist/google-ITTPCJ7N.js +3190 -0
- package/dist/google-ITTPCJ7N.js.map +1 -0
- package/dist/google-ads-U3JFFQLU.js +195 -0
- package/dist/google-ads-U3JFFQLU.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-YTNCWSV3.js +133 -0
- package/dist/history-YTNCWSV3.js.map +1 -0
- package/dist/hubspot-LXWQNKKB.js +779 -0
- package/dist/hubspot-LXWQNKKB.js.map +1 -0
- package/dist/icon-K75KI6BV.js +137 -0
- package/dist/icon-K75KI6BV.js.map +1 -0
- package/dist/ideas-JJIHQFV4.js +35 -0
- package/dist/ideas-JJIHQFV4.js.map +1 -0
- package/dist/images-MWETBYKB.js +90 -0
- package/dist/images-MWETBYKB.js.map +1 -0
- package/dist/improve-L3BW4EQG.js +86 -0
- package/dist/improve-L3BW4EQG.js.map +1 -0
- package/dist/ingest-THFAV4NO.js +107 -0
- package/dist/ingest-THFAV4NO.js.map +1 -0
- package/dist/ingest-U6B7GR4A.js +23 -0
- package/dist/ingest-U6B7GR4A.js.map +1 -0
- package/dist/insights-FA6T6PT6.js +423 -0
- package/dist/insights-FA6T6PT6.js.map +1 -0
- package/dist/insights-PELVD4RY.js +122 -0
- package/dist/insights-PELVD4RY.js.map +1 -0
- package/dist/inspect-N2WVVWGP.js +189 -0
- package/dist/inspect-N2WVVWGP.js.map +1 -0
- package/dist/inspiration-Y2J2PUPC.js +53 -0
- package/dist/inspiration-Y2J2PUPC.js.map +1 -0
- package/dist/intent-YNAAVNHK.js +95 -0
- package/dist/intent-YNAAVNHK.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-4JKLWIBJ.js +130 -0
- package/dist/keyword-gap-4JKLWIBJ.js.map +1 -0
- package/dist/keyword-metrics-KU3OHTQK.js +197 -0
- package/dist/keyword-metrics-KU3OHTQK.js.map +1 -0
- package/dist/keywords-for-site-M4MFWMVK.js +128 -0
- package/dist/keywords-for-site-M4MFWMVK.js.map +1 -0
- package/dist/landing-7UVZ7IPP.js +28 -0
- package/dist/landing-7UVZ7IPP.js.map +1 -0
- package/dist/landings-F7LOAEJE.js +151 -0
- package/dist/landings-F7LOAEJE.js.map +1 -0
- package/dist/languages-PKYCZNUB.js +40 -0
- package/dist/languages-PKYCZNUB.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-CSRESOB2.js +293 -0
- package/dist/leads-CSRESOB2.js.map +1 -0
- package/dist/leads-MQPEA7DG.js +90 -0
- package/dist/leads-MQPEA7DG.js.map +1 -0
- package/dist/learn-K5YBUMBT.js +203 -0
- package/dist/learn-K5YBUMBT.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-73NR2J5L.js +208 -0
- package/dist/line-item-writes-73NR2J5L.js.map +1 -0
- package/dist/line-items-2YBGXOAQ.js +103 -0
- package/dist/line-items-2YBGXOAQ.js.map +1 -0
- package/dist/link-GVAWECJO.js +64 -0
- package/dist/link-GVAWECJO.js.map +1 -0
- package/dist/linkedin-PZDT22AT.js +1008 -0
- package/dist/linkedin-PZDT22AT.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-FNDRV25Y.js +151 -0
- package/dist/list-FNDRV25Y.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-REZGFWC5.js +63 -0
- package/dist/list-REZGFWC5.js.map +1 -0
- package/dist/list-S6MNXDTV.js +303 -0
- package/dist/list-S6MNXDTV.js.map +1 -0
- package/dist/locations-2BYWKIYA.js +67 -0
- package/dist/locations-2BYWKIYA.js.map +1 -0
- package/dist/locations-GJHHMV6Z.js +40 -0
- package/dist/locations-GJHHMV6Z.js.map +1 -0
- package/dist/log-HGDNLDUX.js +92 -0
- package/dist/log-HGDNLDUX.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-BT26YJXZ.js +640 -0
- package/dist/make-BT26YJXZ.js.map +1 -0
- package/dist/map-J5EX4HOX.js +404 -0
- package/dist/map-J5EX4HOX.js.map +1 -0
- package/dist/mcp-MHDW6AFL.js +463 -0
- package/dist/mcp-MHDW6AFL.js.map +1 -0
- package/dist/media-RAGEJTZX.js +89 -0
- package/dist/media-RAGEJTZX.js.map +1 -0
- package/dist/media-RNB7JFJP.js +15 -0
- package/dist/media-RNB7JFJP.js.map +1 -0
- package/dist/media-sources-4NN3DWSG.js +32 -0
- package/dist/media-sources-4NN3DWSG.js.map +1 -0
- package/dist/members-AIWMXAQD.js +44 -0
- package/dist/members-AIWMXAQD.js.map +1 -0
- package/dist/meta-WAPZMZI7.js +69 -0
- package/dist/meta-WAPZMZI7.js.map +1 -0
- package/dist/metrics-6EHC4ESN.js +152 -0
- package/dist/metrics-6EHC4ESN.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-ZAWN4XCS.js +141 -0
- package/dist/normalize-ZAWN4XCS.js.map +1 -0
- package/dist/options-3CZNT5KP.js +121 -0
- package/dist/options-3CZNT5KP.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-GOMJMHPE.js +24 -0
- package/dist/performance-GOMJMHPE.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-UKYLPAW2.js +169 -0
- package/dist/preview-UKYLPAW2.js.map +1 -0
- package/dist/profile-Q3PHR6FU.js +159 -0
- package/dist/profile-Q3PHR6FU.js.map +1 -0
- package/dist/promoted-tweet-writes-IYOAZTA5.js +180 -0
- package/dist/promoted-tweet-writes-IYOAZTA5.js.map +1 -0
- package/dist/promoted-tweets-G3XFD5YM.js +119 -0
- package/dist/promoted-tweets-G3XFD5YM.js.map +1 -0
- package/dist/properties-WLL6M2P6.js +101 -0
- package/dist/properties-WLL6M2P6.js.map +1 -0
- package/dist/publish-ZG4J2GTH.js +322 -0
- package/dist/publish-ZG4J2GTH.js.map +1 -0
- package/dist/query-7AGG77WH.js +61 -0
- package/dist/query-7AGG77WH.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-FTO4SFQE.js +26 -0
- package/dist/reddit-FTO4SFQE.js.map +1 -0
- package/dist/refresh-OUENQ2FS.js +94 -0
- package/dist/refresh-OUENQ2FS.js.map +1 -0
- package/dist/release-5OG7AAFY.js +60 -0
- package/dist/release-5OG7AAFY.js.map +1 -0
- package/dist/relevant-pages-KUVDZPRU.js +99 -0
- package/dist/relevant-pages-KUVDZPRU.js.map +1 -0
- package/dist/remove-33HI27KM.js +50 -0
- package/dist/remove-33HI27KM.js.map +1 -0
- package/dist/remove-GOYW2G4R.js +48 -0
- package/dist/remove-GOYW2G4R.js.map +1 -0
- package/dist/reopen-KFFYE53A.js +63 -0
- package/dist/reopen-KFFYE53A.js.map +1 -0
- package/dist/rerun-P6XACA5Z.js +86 -0
- package/dist/rerun-P6XACA5Z.js.map +1 -0
- package/dist/research-BEO3JMZI.js +262 -0
- package/dist/research-BEO3JMZI.js.map +1 -0
- package/dist/research-QOC53DLS.js +62 -0
- package/dist/research-QOC53DLS.js.map +1 -0
- package/dist/reset-E3OWE2WF.js +54 -0
- package/dist/reset-E3OWE2WF.js.map +1 -0
- package/dist/reset-I7M3HYMB.js +54 -0
- package/dist/reset-I7M3HYMB.js.map +1 -0
- package/dist/resolve-GP7BHM6L.js +121 -0
- package/dist/resolve-GP7BHM6L.js.map +1 -0
- package/dist/retry-33ZJCNQI.js +62 -0
- package/dist/retry-33ZJCNQI.js.map +1 -0
- package/dist/retry-X5PU7QO3.js +60 -0
- package/dist/retry-X5PU7QO3.js.map +1 -0
- package/dist/retry-failed-BEFWRV4Z.js +45 -0
- package/dist/retry-failed-BEFWRV4Z.js.map +1 -0
- package/dist/run-REK3TEGY.js +65 -0
- package/dist/run-REK3TEGY.js.map +1 -0
- package/dist/run-TH2662IC.js +61 -0
- package/dist/run-TH2662IC.js.map +1 -0
- package/dist/scaffold-ad-3WDRKUFT.js +1550 -0
- package/dist/scaffold-ad-3WDRKUFT.js.map +1 -0
- package/dist/scaffold-static-ad-X5NT52NF.js +973 -0
- package/dist/scaffold-static-ad-X5NT52NF.js.map +1 -0
- package/dist/scaffold-video-WZPVACLE.js +874 -0
- package/dist/scaffold-video-WZPVACLE.js.map +1 -0
- package/dist/schedule-KQ7UIR3N.js +66 -0
- package/dist/schedule-KQ7UIR3N.js.map +1 -0
- package/dist/schedule-V4UHGY3V.js +61 -0
- package/dist/schedule-V4UHGY3V.js.map +1 -0
- package/dist/scheduled-agents-KLQ5H2PA.js +49 -0
- package/dist/scheduled-agents-KLQ5H2PA.js.map +1 -0
- package/dist/schema-G3T4PZDI.js +132 -0
- package/dist/schema-G3T4PZDI.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-6XKEGABN.js +174 -0
- package/dist/search-6XKEGABN.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-N2V55BEX.js +96 -0
- package/dist/select-N2V55BEX.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-7HVHERRU.js +188 -0
- package/dist/set-prompt-7HVHERRU.js.map +1 -0
- package/dist/setup-links-4VVNQVPU.js +141 -0
- package/dist/setup-links-4VVNQVPU.js.map +1 -0
- package/dist/{shared-AVM74EX7.js → shared-QAMP7FZV.js} +8 -6
- package/dist/shared-QAMP7FZV.js.map +1 -0
- package/dist/shopify-FSHM5M4I.js +3346 -0
- package/dist/shopify-FSHM5M4I.js.map +1 -0
- package/dist/site-Q2HTRLIW.js +177 -0
- package/dist/site-Q2HTRLIW.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-2KN4RJNJ.js +30 -0
- package/dist/sources-2KN4RJNJ.js.map +1 -0
- package/dist/sources-4I2YMS2K.js +421 -0
- package/dist/sources-4I2YMS2K.js.map +1 -0
- package/dist/stale-IN7WSBLC.js +66 -0
- package/dist/stale-IN7WSBLC.js.map +1 -0
- package/dist/stats-GNILHSKK.js +34 -0
- package/dist/stats-GNILHSKK.js.map +1 -0
- package/dist/status-6SLKZWNR.js +62 -0
- package/dist/status-6SLKZWNR.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-LFZV5NBN.js +54 -0
- package/dist/sync-LFZV5NBN.js.map +1 -0
- package/dist/sync-definition-IJISZ5VQ.js +55 -0
- package/dist/sync-definition-IJISZ5VQ.js.map +1 -0
- package/dist/tag-manager-E7QTXBWQ.js +43 -0
- package/dist/tag-manager-E7QTXBWQ.js.map +1 -0
- package/dist/tags-6OAZOQYO.js +26 -0
- package/dist/tags-6OAZOQYO.js.map +1 -0
- package/dist/tags-6YRMDX3R.js +20 -0
- package/dist/tags-6YRMDX3R.js.map +1 -0
- package/dist/tags-EWXZSZYE.js +20 -0
- package/dist/tags-EWXZSZYE.js.map +1 -0
- package/dist/tags-SZCNPE2D.js +224 -0
- package/dist/tags-SZCNPE2D.js.map +1 -0
- package/dist/tags-TCFFP534.js +20 -0
- package/dist/tags-TCFFP534.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-ESOC7KNX.js +113 -0
- package/dist/targeting-criteria-ESOC7KNX.js.map +1 -0
- package/dist/targets-IPBEB5KU.js +102 -0
- package/dist/targets-IPBEB5KU.js.map +1 -0
- package/dist/templates-IJ7FR3LA.js +178 -0
- package/dist/templates-IJ7FR3LA.js.map +1 -0
- package/dist/testimonials-IXS7CP6P.js +32 -0
- package/dist/testimonials-IXS7CP6P.js.map +1 -0
- package/dist/themes-MXNKJWMW.js +94 -0
- package/dist/themes-MXNKJWMW.js.map +1 -0
- package/dist/top-companies-NO6L2V6M.js +108 -0
- package/dist/top-companies-NO6L2V6M.js.map +1 -0
- package/dist/translate-QCE5ZB7M.js +600 -0
- package/dist/translate-QCE5ZB7M.js.map +1 -0
- package/dist/triggers-KXUDMDSA.js +141 -0
- package/dist/triggers-KXUDMDSA.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-E3N36NYQ.js +67 -0
- package/dist/unlink-E3N36NYQ.js.map +1 -0
- package/dist/unstage-TRMHSHED.js +84 -0
- package/dist/unstage-TRMHSHED.js.map +1 -0
- package/dist/unstage-ZRLLCSQF.js +95 -0
- package/dist/unstage-ZRLLCSQF.js.map +1 -0
- package/dist/update-EWGWAXAQ.js +142 -0
- package/dist/update-EWGWAXAQ.js.map +1 -0
- package/dist/update-OKOQE7U2.js +155 -0
- package/dist/update-OKOQE7U2.js.map +1 -0
- package/dist/update-VSFHID2D.js +63 -0
- package/dist/update-VSFHID2D.js.map +1 -0
- package/dist/update-XGCGQDJ4.js +98 -0
- package/dist/update-XGCGQDJ4.js.map +1 -0
- package/dist/upload-BOYMDDEQ.js +126 -0
- package/dist/upload-BOYMDDEQ.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-PCZEQE66.js +130 -0
- package/dist/url-options-PCZEQE66.js.map +1 -0
- package/dist/url-params-DV37GEQF.js +98 -0
- package/dist/url-params-DV37GEQF.js.map +1 -0
- package/dist/use-U4HG2NF3.js +95 -0
- package/dist/use-U4HG2NF3.js.map +1 -0
- package/dist/validate-5AV4FJZ5.js +91 -0
- package/dist/validate-5AV4FJZ5.js.map +1 -0
- package/dist/variant-FOVE6URJ.js +338 -0
- package/dist/variant-FOVE6URJ.js.map +1 -0
- package/dist/videos-IJ67PPJV.js +39 -0
- package/dist/videos-IJ67PPJV.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-LJ36FRWD.js +140 -0
- package/dist/web-LJ36FRWD.js.map +1 -0
- package/dist/winners-SMMDN6LW.js +113 -0
- package/dist/winners-SMMDN6LW.js.map +1 -0
- package/dist/winning-ads-JIG2MQHJ.js +84 -0
- package/dist/winning-ads-JIG2MQHJ.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-GOZU6ENR.js +1015 -0
- package/dist/write-commands-GOZU6ENR.js.map +1 -0
- package/dist/write-commands-KA3QXVSF.js +737 -0
- package/dist/write-commands-KA3QXVSF.js.map +1 -0
- package/dist/x-6HBVXIKH.js +47 -0
- package/dist/x-6HBVXIKH.js.map +1 -0
- package/package.json +9 -2
- package/dist/chunk-HJEMOSPH.js +0 -1292
- package/dist/chunk-HJEMOSPH.js.map +0 -1
- package/dist/chunk-JHKW6IDX.js +0 -9989
- package/dist/chunk-JHKW6IDX.js.map +0 -1
- package/dist/chunk-MF7YA62W.js.map +0 -1
- package/dist/chunk-VZEDAFAR.js.map +0 -1
- package/dist/chunk-WWCLT3RG.js.map +0 -1
- package/dist/client-GR6YL3YX.js +0 -17
- package/dist/output-VQSTVRH7.js +0 -18
- /package/dist/{chunk-JTZXQRXI.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-VQSTVRH7.js.map → connect-WYUYS5V4.js.map} +0 -0
- /package/dist/{shared-AVM74EX7.js.map → customers-HYE7N2H5.js.map} +0 -0
|
@@ -0,0 +1,433 @@
|
|
|
1
|
+
import {
|
|
2
|
+
csvOrJson,
|
|
3
|
+
daysAgoIso,
|
|
4
|
+
handleLinkedinError,
|
|
5
|
+
resolveAccountIdArg,
|
|
6
|
+
todayIso
|
|
7
|
+
} from "./chunk-PAHLJMC3.js";
|
|
8
|
+
import {
|
|
9
|
+
writeAdsJson,
|
|
10
|
+
writeAdsOutput
|
|
11
|
+
} from "./chunk-BVM5IRZW.js";
|
|
12
|
+
import {
|
|
13
|
+
NO_CACHE_ARG
|
|
14
|
+
} from "./chunk-EF5DP6EB.js";
|
|
15
|
+
import "./chunk-KRIK2JR4.js";
|
|
16
|
+
import "./chunk-GXDLWBOY.js";
|
|
17
|
+
import "./chunk-GIWHHCD6.js";
|
|
18
|
+
import "./chunk-UI6BKYQD.js";
|
|
19
|
+
import "./chunk-JAYT43KX.js";
|
|
20
|
+
import {
|
|
21
|
+
apiPost
|
|
22
|
+
} from "./chunk-HREWXNTO.js";
|
|
23
|
+
import "./chunk-HLXWKMTK.js";
|
|
24
|
+
import "./chunk-O6QKCJE4.js";
|
|
25
|
+
import "./chunk-WOTDHRNF.js";
|
|
26
|
+
import "./chunk-YQSBHWOI.js";
|
|
27
|
+
|
|
28
|
+
// src/commands/ads/linkedin/analytics.ts
|
|
29
|
+
import { defineCommand } from "citty";
|
|
30
|
+
|
|
31
|
+
// src/commands/ads/linkedin/presets.ts
|
|
32
|
+
var INTENTS = {
|
|
33
|
+
baseline: {
|
|
34
|
+
name: "baseline",
|
|
35
|
+
description: "Spend, impressions, clicks. The default 'how is delivery?' question. Derives CTR, CPC, CPM.",
|
|
36
|
+
metrics: ["impressions", "clicks", "costInUsd", "costInLocalCurrency", "approximateUniqueImpressions"],
|
|
37
|
+
derived: ["ctr", "cpc", "cpm", "frequency"]
|
|
38
|
+
},
|
|
39
|
+
revenue: {
|
|
40
|
+
name: "revenue",
|
|
41
|
+
description: "Spend, conversions, conversion value. 'How much money are we making?'",
|
|
42
|
+
metrics: [
|
|
43
|
+
"costInUsd",
|
|
44
|
+
"externalWebsiteConversions",
|
|
45
|
+
"externalWebsitePostClickConversions",
|
|
46
|
+
"externalWebsitePostViewConversions",
|
|
47
|
+
"conversionValueInLocalCurrency",
|
|
48
|
+
"oneClickLeads"
|
|
49
|
+
]
|
|
50
|
+
},
|
|
51
|
+
funnel: {
|
|
52
|
+
name: "funnel",
|
|
53
|
+
description: "Impression \u2192 click \u2192 landing \u2192 form open \u2192 lead \u2192 conversion. 'Where do users drop off?'",
|
|
54
|
+
metrics: [
|
|
55
|
+
"impressions",
|
|
56
|
+
"clicks",
|
|
57
|
+
"landingPageClicks",
|
|
58
|
+
"oneClickLeadFormOpens",
|
|
59
|
+
"oneClickLeads",
|
|
60
|
+
"externalWebsiteConversions",
|
|
61
|
+
"costInUsd"
|
|
62
|
+
],
|
|
63
|
+
derived: ["ctr", "leadCompletionRate"]
|
|
64
|
+
},
|
|
65
|
+
engagement: {
|
|
66
|
+
name: "engagement",
|
|
67
|
+
description: "Likes, comments, shares, follows + viral spillover. TLA-aware \u2014 measures organic reach effect.",
|
|
68
|
+
metrics: [
|
|
69
|
+
"impressions",
|
|
70
|
+
"likes",
|
|
71
|
+
"comments",
|
|
72
|
+
"shares",
|
|
73
|
+
"reactions",
|
|
74
|
+
"follows",
|
|
75
|
+
"totalEngagements",
|
|
76
|
+
"viralImpressions",
|
|
77
|
+
"viralLikes",
|
|
78
|
+
"viralShares",
|
|
79
|
+
"viralOneClickLeads",
|
|
80
|
+
"costInUsd"
|
|
81
|
+
]
|
|
82
|
+
},
|
|
83
|
+
video: {
|
|
84
|
+
name: "video",
|
|
85
|
+
description: "Video watch quartiles + cost. 'How are video creatives holding attention?'",
|
|
86
|
+
metrics: [
|
|
87
|
+
"videoStarts",
|
|
88
|
+
"videoFirstQuartileCompletions",
|
|
89
|
+
"videoMidpointCompletions",
|
|
90
|
+
"videoThirdQuartileCompletions",
|
|
91
|
+
"videoCompletions",
|
|
92
|
+
"videoViews",
|
|
93
|
+
"fullScreenPlays",
|
|
94
|
+
"costInUsd",
|
|
95
|
+
"impressions"
|
|
96
|
+
]
|
|
97
|
+
},
|
|
98
|
+
"lead-gen": {
|
|
99
|
+
name: "lead-gen",
|
|
100
|
+
description: "Lead Gen Form opens + completions. CLI derives form-completion-rate.",
|
|
101
|
+
metrics: [
|
|
102
|
+
"oneClickLeadFormOpens",
|
|
103
|
+
"oneClickLeads",
|
|
104
|
+
"viralOneClickLeads",
|
|
105
|
+
"viralOneClickLeadFormOpens",
|
|
106
|
+
"costInUsd"
|
|
107
|
+
],
|
|
108
|
+
derived: ["leadCompletionRate"]
|
|
109
|
+
},
|
|
110
|
+
inmail: {
|
|
111
|
+
name: "inmail",
|
|
112
|
+
description: "Sponsored Message / Conversation Ads \u2014 sends, opens, clicks, lead-gen taps.",
|
|
113
|
+
metrics: [
|
|
114
|
+
"sends",
|
|
115
|
+
"opens",
|
|
116
|
+
"clicks",
|
|
117
|
+
"costInUsd",
|
|
118
|
+
"leadGenerationMailContactInfoShares",
|
|
119
|
+
"leadGenerationMailInterestedClicks"
|
|
120
|
+
]
|
|
121
|
+
},
|
|
122
|
+
document: {
|
|
123
|
+
name: "document",
|
|
124
|
+
description: "Document Ads \u2014 quartile read-through, completion, downloads.",
|
|
125
|
+
metrics: [
|
|
126
|
+
"documentFirstQuartileCompletions",
|
|
127
|
+
"documentMidpointCompletions",
|
|
128
|
+
"documentThirdQuartileCompletions",
|
|
129
|
+
"documentCompletions",
|
|
130
|
+
"downloadClicks",
|
|
131
|
+
"costInUsd",
|
|
132
|
+
"impressions"
|
|
133
|
+
]
|
|
134
|
+
},
|
|
135
|
+
ranking: {
|
|
136
|
+
name: "ranking",
|
|
137
|
+
description: "Frequency + reach metrics for fatigue detection. CLI derives frequency = impressions/uniqueImpressions.",
|
|
138
|
+
metrics: ["impressions", "clicks", "costInUsd", "approximateUniqueImpressions"],
|
|
139
|
+
derived: ["frequency", "ctr"]
|
|
140
|
+
},
|
|
141
|
+
identity: {
|
|
142
|
+
name: "identity",
|
|
143
|
+
description: "Just spend + impressions. Cheap roll-up.",
|
|
144
|
+
metrics: ["costInUsd", "impressions"]
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
var MEMBER_PIVOTS = /* @__PURE__ */ new Set([
|
|
148
|
+
"company",
|
|
149
|
+
"job-title",
|
|
150
|
+
"job-function",
|
|
151
|
+
"seniority",
|
|
152
|
+
"industry",
|
|
153
|
+
"company-size",
|
|
154
|
+
"country",
|
|
155
|
+
"region",
|
|
156
|
+
"dma"
|
|
157
|
+
]);
|
|
158
|
+
var ALL_PIVOTS = [
|
|
159
|
+
"none",
|
|
160
|
+
"campaign",
|
|
161
|
+
"campaign-group",
|
|
162
|
+
"creative",
|
|
163
|
+
"company",
|
|
164
|
+
"account",
|
|
165
|
+
"conversion",
|
|
166
|
+
"job-title",
|
|
167
|
+
"job-function",
|
|
168
|
+
"seniority",
|
|
169
|
+
"industry",
|
|
170
|
+
"company-size",
|
|
171
|
+
"country",
|
|
172
|
+
"region",
|
|
173
|
+
"dma",
|
|
174
|
+
"device",
|
|
175
|
+
"placement",
|
|
176
|
+
"serving-location",
|
|
177
|
+
"card-index",
|
|
178
|
+
"objective",
|
|
179
|
+
"conversation-node",
|
|
180
|
+
"conversation-node-button"
|
|
181
|
+
];
|
|
182
|
+
var ALL_LEVELS = ["account", "campaign-group", "campaign", "creative"];
|
|
183
|
+
function listIntents() {
|
|
184
|
+
return Object.values(INTENTS);
|
|
185
|
+
}
|
|
186
|
+
function isPivot(slug) {
|
|
187
|
+
return ALL_PIVOTS.includes(slug);
|
|
188
|
+
}
|
|
189
|
+
function isLevel(slug) {
|
|
190
|
+
return ALL_LEVELS.includes(slug);
|
|
191
|
+
}
|
|
192
|
+
function composeFields(intent, _level, metricsOverride) {
|
|
193
|
+
const base = metricsOverride && metricsOverride.length > 0 ? metricsOverride : INTENTS[intent].metrics;
|
|
194
|
+
const seen = /* @__PURE__ */ new Set();
|
|
195
|
+
const out = [];
|
|
196
|
+
for (const f of ["pivotValues", "dateRange", ...base]) {
|
|
197
|
+
if (!seen.has(f)) {
|
|
198
|
+
seen.add(f);
|
|
199
|
+
out.push(f);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
return out;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
// src/commands/ads/linkedin/analytics.ts
|
|
206
|
+
function commaSplit(input) {
|
|
207
|
+
if (!input) return void 0;
|
|
208
|
+
return input.split(",").map((s) => s.trim()).filter(Boolean);
|
|
209
|
+
}
|
|
210
|
+
function parseGranularity(raw) {
|
|
211
|
+
const v = (raw ?? "DAILY").toUpperCase();
|
|
212
|
+
if (v === "DAILY" || v === "MONTHLY" || v === "YEARLY" || v === "ALL") {
|
|
213
|
+
return v;
|
|
214
|
+
}
|
|
215
|
+
handleLinkedinError(new Error(`Invalid --granularity "${raw}". Use DAILY | MONTHLY | YEARLY | ALL.`));
|
|
216
|
+
}
|
|
217
|
+
function parseLevel(raw) {
|
|
218
|
+
const v = raw ?? "account";
|
|
219
|
+
if (!isLevel(v)) {
|
|
220
|
+
handleLinkedinError(new Error(`Invalid --level "${raw}". Use one of: ${ALL_LEVELS.join(", ")}.`));
|
|
221
|
+
}
|
|
222
|
+
return v;
|
|
223
|
+
}
|
|
224
|
+
function parsePivot(raw) {
|
|
225
|
+
const v = raw ?? "none";
|
|
226
|
+
if (!isPivot(v)) {
|
|
227
|
+
handleLinkedinError(new Error(`Invalid --pivot "${raw}". Use one of: ${ALL_PIVOTS.join(", ")}.`));
|
|
228
|
+
}
|
|
229
|
+
return v;
|
|
230
|
+
}
|
|
231
|
+
function parseIntent(raw) {
|
|
232
|
+
const v = raw ?? "baseline";
|
|
233
|
+
const known = [
|
|
234
|
+
"baseline",
|
|
235
|
+
"revenue",
|
|
236
|
+
"funnel",
|
|
237
|
+
"engagement",
|
|
238
|
+
"video",
|
|
239
|
+
"lead-gen",
|
|
240
|
+
"inmail",
|
|
241
|
+
"document",
|
|
242
|
+
"ranking",
|
|
243
|
+
"identity"
|
|
244
|
+
];
|
|
245
|
+
if (!known.includes(v)) {
|
|
246
|
+
handleLinkedinError(new Error(`Invalid --intent "${raw}". Run --list-intents to see options.`));
|
|
247
|
+
}
|
|
248
|
+
return v;
|
|
249
|
+
}
|
|
250
|
+
function resolveDateRange(args) {
|
|
251
|
+
const start = args.start;
|
|
252
|
+
const end = args.end;
|
|
253
|
+
if (start) {
|
|
254
|
+
return { start, end };
|
|
255
|
+
}
|
|
256
|
+
const lastDaysRaw = args["last-days"];
|
|
257
|
+
const days = lastDaysRaw ? Number(lastDaysRaw) : 7;
|
|
258
|
+
if (!Number.isFinite(days) || days < 1 || days > 730) {
|
|
259
|
+
handleLinkedinError(new Error(`Invalid --last-days "${lastDaysRaw}". Use a positive number \u2264 730.`));
|
|
260
|
+
}
|
|
261
|
+
return { start: daysAgoIso(days), end: todayIso() };
|
|
262
|
+
}
|
|
263
|
+
function resolveScopeIds(args, level) {
|
|
264
|
+
if (level === "account") {
|
|
265
|
+
const id = resolveAccountIdArg(args);
|
|
266
|
+
return [id];
|
|
267
|
+
}
|
|
268
|
+
if (level === "campaign-group") {
|
|
269
|
+
const raw2 = args["campaign-group-id"] ?? args.ids;
|
|
270
|
+
if (!raw2) {
|
|
271
|
+
handleLinkedinError(new Error("Pass --campaign-group-id (CSV for multi) when --level campaign-group."));
|
|
272
|
+
}
|
|
273
|
+
return commaSplit(raw2) ?? [];
|
|
274
|
+
}
|
|
275
|
+
if (level === "campaign") {
|
|
276
|
+
const raw2 = args["campaign-id"] ?? args.ids;
|
|
277
|
+
if (!raw2) {
|
|
278
|
+
handleLinkedinError(new Error("Pass --campaign-id (CSV for multi) when --level campaign."));
|
|
279
|
+
}
|
|
280
|
+
return commaSplit(raw2) ?? [];
|
|
281
|
+
}
|
|
282
|
+
const raw = args["creative-id"] ?? args.ids;
|
|
283
|
+
if (!raw) {
|
|
284
|
+
handleLinkedinError(new Error("Pass --creative-id (CSV for multi) when --level creative."));
|
|
285
|
+
}
|
|
286
|
+
return commaSplit(raw) ?? [];
|
|
287
|
+
}
|
|
288
|
+
function sortRows(rows) {
|
|
289
|
+
return [...rows].sort((a, b) => {
|
|
290
|
+
const cs = numberOf(b.costInUsd) - numberOf(a.costInUsd);
|
|
291
|
+
if (cs !== 0) return cs;
|
|
292
|
+
return numberOf(b.impressions) - numberOf(a.impressions);
|
|
293
|
+
});
|
|
294
|
+
}
|
|
295
|
+
function numberOf(v) {
|
|
296
|
+
if (typeof v === "number") return Number.isFinite(v) ? v : 0;
|
|
297
|
+
if (typeof v === "string") {
|
|
298
|
+
const n = Number(v);
|
|
299
|
+
return Number.isFinite(n) ? n : 0;
|
|
300
|
+
}
|
|
301
|
+
return 0;
|
|
302
|
+
}
|
|
303
|
+
var analyticsCommand = defineCommand({
|
|
304
|
+
meta: {
|
|
305
|
+
name: "analytics",
|
|
306
|
+
description: `Performance reporting \u2014 the workhorse for AI agents.
|
|
307
|
+
|
|
308
|
+
Three-axis design (LinkedIn's superpower over Meta/Google):
|
|
309
|
+
--level account | campaign-group | campaign | creative
|
|
310
|
+
--intent baseline | revenue | funnel | engagement | video | lead-gen | inmail | document | ranking | identity
|
|
311
|
+
--pivot none | job-title | company | industry | seniority | function | company-size | country | region | dma
|
|
312
|
+
| device | placement | serving-location | card-index | objective
|
|
313
|
+
| conversation-node | conversation-node-button
|
|
314
|
+
|
|
315
|
+
Smart defaults:
|
|
316
|
+
--level account, --intent baseline, --pivot none, --granularity DAILY, last 7 days
|
|
317
|
+
Pivot on a MEMBER_* dim \u2192 granularity auto-forced to ALL (LinkedIn rejects DAILY+demographic)
|
|
318
|
+
Demographic data delayed 12-24h with \u22653-event privacy floor \u2014 the CLI flags this in warnings.
|
|
319
|
+
--pivot dma \u2192 US Nielsen DMA\xAE regions, names resolved. Any report built from it must write "DMA\xAE"
|
|
320
|
+
and carry Nielsen's notice (returned as the DMA_ATTRIBUTION_REQUIRED warning).
|
|
321
|
+
Derived metrics injected client-side: ctr, cpc, cpm, frequency, leadCompletionRate
|
|
322
|
+
|
|
323
|
+
Examples \u2014 common AI questions:
|
|
324
|
+
# "How is this account doing this week?"
|
|
325
|
+
baker ads linkedin analytics
|
|
326
|
+
|
|
327
|
+
# "Who are we reaching, by job title?" (the LinkedIn killer)
|
|
328
|
+
baker ads linkedin analytics --level campaign --campaign-id 1234 --pivot job-title --intent baseline --last-days 30
|
|
329
|
+
|
|
330
|
+
# "Top companies seeing my ads" (ABM feedback loop)
|
|
331
|
+
baker ads linkedin analytics --level campaign --campaign-id 1234 --pivot company --last-days 30
|
|
332
|
+
|
|
333
|
+
# "Revenue by campaign over Q1"
|
|
334
|
+
baker ads linkedin analytics --level campaign --campaign-id 1,2,3 --intent revenue --start 2026-01-01 --end 2026-03-31 --granularity MONTHLY
|
|
335
|
+
|
|
336
|
+
# "How is the lead form converting?"
|
|
337
|
+
baker ads linkedin analytics --level campaign --campaign-id 1234 --intent lead-gen
|
|
338
|
+
|
|
339
|
+
# Custom field set (escape hatch)
|
|
340
|
+
baker ads linkedin analytics --metrics impressions,clicks,oneClickLeads --intent identity`
|
|
341
|
+
},
|
|
342
|
+
args: {
|
|
343
|
+
level: { type: "string", description: "Object scope (default: account)" },
|
|
344
|
+
"account-id": { type: "string", description: "Account ID \u2014 numeric or urn:li:sponsoredAccount:N (level=account)" },
|
|
345
|
+
"account-urn": { type: "string", description: "Alias for --account-id (URN form)" },
|
|
346
|
+
"campaign-group-id": { type: "string", description: "Comma-separated IDs (level=campaign-group)" },
|
|
347
|
+
"campaign-id": { type: "string", description: "Comma-separated IDs (level=campaign)" },
|
|
348
|
+
"creative-id": { type: "string", description: "Comma-separated IDs (level=creative)" },
|
|
349
|
+
ids: { type: "string", description: "Generic CSV of IDs at the chosen level (alternative to per-level flags)" },
|
|
350
|
+
intent: {
|
|
351
|
+
type: "string",
|
|
352
|
+
description: "baseline|revenue|funnel|engagement|video|lead-gen|inmail|document|ranking|identity"
|
|
353
|
+
},
|
|
354
|
+
pivot: { type: "string", description: "Pivot dim. Default: none. See `--list-pivots`." },
|
|
355
|
+
metrics: { type: "string", description: "CSV metric override \u2014 bypass --intent's bundle" },
|
|
356
|
+
"list-intents": { type: "boolean", description: "Print intent definitions and exit" },
|
|
357
|
+
"list-pivots": { type: "boolean", description: "Print pivot slugs and exit" },
|
|
358
|
+
start: { type: "string", description: "Start date YYYY-MM-DD (overrides --last-days)" },
|
|
359
|
+
end: { type: "string", description: "End date YYYY-MM-DD" },
|
|
360
|
+
"last-days": { type: "string", description: "Window relative to today (default: 7)" },
|
|
361
|
+
granularity: { type: "string", description: "DAILY|MONTHLY|YEARLY|ALL (default: DAILY)" },
|
|
362
|
+
limit: { type: "string", description: "Max rows (default: 1000)" },
|
|
363
|
+
"no-sort": { type: "boolean", description: "Skip default sort by costInUsd desc" },
|
|
364
|
+
"no-cache": NO_CACHE_ARG,
|
|
365
|
+
output: { type: "string", description: "Output format json|csv|jsonl|md", default: "json" }
|
|
366
|
+
},
|
|
367
|
+
run: async ({ args }) => {
|
|
368
|
+
if (args["list-intents"]) {
|
|
369
|
+
writeAdsJson({ ok: true, data: listIntents() });
|
|
370
|
+
return;
|
|
371
|
+
}
|
|
372
|
+
if (args["list-pivots"]) {
|
|
373
|
+
writeAdsJson({ ok: true, data: ALL_PIVOTS });
|
|
374
|
+
return;
|
|
375
|
+
}
|
|
376
|
+
const level = parseLevel(args.level);
|
|
377
|
+
const intent = parseIntent(args.intent);
|
|
378
|
+
const pivot = parsePivot(args.pivot);
|
|
379
|
+
let granularity = parseGranularity(args.granularity);
|
|
380
|
+
if (MEMBER_PIVOTS.has(pivot) && granularity === "DAILY") {
|
|
381
|
+
process.stderr.write(`note: pivot=${pivot} forces --granularity ALL (LinkedIn rejects DAILY + demographic).
|
|
382
|
+
`);
|
|
383
|
+
granularity = "ALL";
|
|
384
|
+
}
|
|
385
|
+
const ids = resolveScopeIds(args, level);
|
|
386
|
+
if (ids.length === 0) {
|
|
387
|
+
handleLinkedinError(new Error(`No IDs resolved for --level ${level}`));
|
|
388
|
+
}
|
|
389
|
+
const range = resolveDateRange(args);
|
|
390
|
+
const metrics = commaSplit(args.metrics);
|
|
391
|
+
const limit = args.limit ? Number(args.limit) : 1e3;
|
|
392
|
+
const request = {
|
|
393
|
+
level,
|
|
394
|
+
ids,
|
|
395
|
+
intent,
|
|
396
|
+
pivot,
|
|
397
|
+
metrics,
|
|
398
|
+
start: range.start,
|
|
399
|
+
end: range.end,
|
|
400
|
+
granularity,
|
|
401
|
+
limit
|
|
402
|
+
};
|
|
403
|
+
try {
|
|
404
|
+
const data = await apiPost("/api/ads/linkedin/analytics", {
|
|
405
|
+
request,
|
|
406
|
+
skipCache: Boolean(args["no-cache"])
|
|
407
|
+
});
|
|
408
|
+
const rows = args["no-sort"] ? data.rows : sortRows(data.rows);
|
|
409
|
+
const fmt = csvOrJson(args);
|
|
410
|
+
if (fmt !== "json") {
|
|
411
|
+
writeAdsOutput(rows, fmt, data.fields);
|
|
412
|
+
return;
|
|
413
|
+
}
|
|
414
|
+
writeAdsJson({
|
|
415
|
+
ok: true,
|
|
416
|
+
data: {
|
|
417
|
+
rows,
|
|
418
|
+
fields: data.fields,
|
|
419
|
+
warnings: data.warnings,
|
|
420
|
+
query: data.query,
|
|
421
|
+
// Echo composed fields so an offline agent can pre-flight w/o this network call.
|
|
422
|
+
composedFields: composeFields(intent, level, metrics)
|
|
423
|
+
}
|
|
424
|
+
});
|
|
425
|
+
} catch (err) {
|
|
426
|
+
handleLinkedinError(err);
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
});
|
|
430
|
+
export {
|
|
431
|
+
analyticsCommand
|
|
432
|
+
};
|
|
433
|
+
//# sourceMappingURL=analytics-QJC2BTZY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/ads/linkedin/analytics.ts","../src/commands/ads/linkedin/presets.ts"],"sourcesContent":["import { defineCommand } from \"citty\";\nimport { NO_CACHE_ARG } from \"../../../cache-flag.ts\";\nimport { apiPost } from \"../../../client.ts\";\nimport { writeAdsJson, writeAdsOutput } from \"../output.ts\";\nimport {\n ALL_LEVELS,\n ALL_PIVOTS,\n composeFields,\n type IntentName,\n isLevel,\n isPivot,\n type LevelName,\n listIntents,\n MEMBER_PIVOTS,\n type PivotSlug,\n} from \"./presets.ts\";\nimport { csvOrJson, daysAgoIso, handleLinkedinError, resolveAccountIdArg, todayIso } from \"./shared.ts\";\n\ntype Granularity = \"DAILY\" | \"MONTHLY\" | \"YEARLY\" | \"ALL\";\n\ninterface AnalyticsRequest {\n level: LevelName;\n ids: string[];\n intent: IntentName;\n pivot: PivotSlug;\n metrics?: string[];\n start: string;\n end?: string;\n granularity: Granularity;\n limit?: number;\n}\n\ninterface AnalyticsResponse {\n rows: Array<Record<string, unknown>>;\n fields: string[];\n warnings: Array<{ code: string; message: string }>;\n query: AnalyticsRequest & { metrics: string[] };\n}\n\nfunction commaSplit(input: string | undefined): string[] | undefined {\n if (!input) return undefined;\n return input\n .split(\",\")\n .map((s) => s.trim())\n .filter(Boolean);\n}\n\nfunction parseGranularity(raw: string | undefined): Granularity {\n const v = (raw ?? \"DAILY\").toUpperCase();\n if (v === \"DAILY\" || v === \"MONTHLY\" || v === \"YEARLY\" || v === \"ALL\") {\n return v;\n }\n handleLinkedinError(new Error(`Invalid --granularity \"${raw}\". Use DAILY | MONTHLY | YEARLY | ALL.`));\n}\n\nfunction parseLevel(raw: string | undefined): LevelName {\n const v = raw ?? \"account\";\n if (!isLevel(v)) {\n handleLinkedinError(new Error(`Invalid --level \"${raw}\". Use one of: ${ALL_LEVELS.join(\", \")}.`));\n }\n return v;\n}\n\nfunction parsePivot(raw: string | undefined): PivotSlug {\n const v = raw ?? \"none\";\n if (!isPivot(v)) {\n handleLinkedinError(new Error(`Invalid --pivot \"${raw}\". Use one of: ${ALL_PIVOTS.join(\", \")}.`));\n }\n return v;\n}\n\nfunction parseIntent(raw: string | undefined): IntentName {\n const v = (raw ?? \"baseline\") as IntentName;\n const known: IntentName[] = [\n \"baseline\",\n \"revenue\",\n \"funnel\",\n \"engagement\",\n \"video\",\n \"lead-gen\",\n \"inmail\",\n \"document\",\n \"ranking\",\n \"identity\",\n ];\n if (!known.includes(v)) {\n handleLinkedinError(new Error(`Invalid --intent \"${raw}\". Run --list-intents to see options.`));\n }\n return v;\n}\n\n/**\n * Resolve start/end dates. Precedence:\n * 1. --start + --end (explicit window)\n * 2. --last-days N → end=today, start=today-N\n * 3. default: last 7 days\n */\nfunction resolveDateRange(args: Record<string, unknown>): { start: string; end?: string } {\n const start = args.start as string | undefined;\n const end = args.end as string | undefined;\n if (start) {\n return { start, end };\n }\n const lastDaysRaw = args[\"last-days\"] as string | undefined;\n const days = lastDaysRaw ? Number(lastDaysRaw) : 7;\n if (!Number.isFinite(days) || days < 1 || days > 730) {\n handleLinkedinError(new Error(`Invalid --last-days \"${lastDaysRaw}\". Use a positive number ≤ 730.`));\n }\n return { start: daysAgoIso(days), end: todayIso() };\n}\n\n/**\n * Resolve scope IDs. Each level expects a different flag — but we accept\n * --account-id at every level when level=account, and --campaign-id /\n * --campaign-group-id / --creative-id otherwise. CSV-encoded for multi-id.\n */\nfunction resolveScopeIds(args: Record<string, unknown>, level: LevelName): string[] {\n if (level === \"account\") {\n const id = resolveAccountIdArg(args);\n return [id];\n }\n if (level === \"campaign-group\") {\n const raw = (args[\"campaign-group-id\"] as string | undefined) ?? (args.ids as string | undefined);\n if (!raw) {\n handleLinkedinError(new Error(\"Pass --campaign-group-id (CSV for multi) when --level campaign-group.\"));\n }\n return commaSplit(raw) ?? [];\n }\n if (level === \"campaign\") {\n const raw = (args[\"campaign-id\"] as string | undefined) ?? (args.ids as string | undefined);\n if (!raw) {\n handleLinkedinError(new Error(\"Pass --campaign-id (CSV for multi) when --level campaign.\"));\n }\n return commaSplit(raw) ?? [];\n }\n // creative\n const raw = (args[\"creative-id\"] as string | undefined) ?? (args.ids as string | undefined);\n if (!raw) {\n handleLinkedinError(new Error(\"Pass --creative-id (CSV for multi) when --level creative.\"));\n }\n return commaSplit(raw) ?? [];\n}\n\n/** Sort rows by spend desc when present, otherwise by impressions desc. */\nfunction sortRows(rows: Array<Record<string, unknown>>): Array<Record<string, unknown>> {\n return [...rows].sort((a, b) => {\n const cs = numberOf(b.costInUsd) - numberOf(a.costInUsd);\n if (cs !== 0) return cs;\n return numberOf(b.impressions) - numberOf(a.impressions);\n });\n}\n\nfunction numberOf(v: unknown): number {\n if (typeof v === \"number\") return Number.isFinite(v) ? v : 0;\n if (typeof v === \"string\") {\n const n = Number(v);\n return Number.isFinite(n) ? n : 0;\n }\n return 0;\n}\n\nexport const analyticsCommand = defineCommand({\n meta: {\n name: \"analytics\",\n description: `Performance reporting — the workhorse for AI agents.\n\nThree-axis design (LinkedIn's superpower over Meta/Google):\n --level account | campaign-group | campaign | creative\n --intent baseline | revenue | funnel | engagement | video | lead-gen | inmail | document | ranking | identity\n --pivot none | job-title | company | industry | seniority | function | company-size | country | region | dma\n | device | placement | serving-location | card-index | objective\n | conversation-node | conversation-node-button\n\nSmart defaults:\n --level account, --intent baseline, --pivot none, --granularity DAILY, last 7 days\n Pivot on a MEMBER_* dim → granularity auto-forced to ALL (LinkedIn rejects DAILY+demographic)\n Demographic data delayed 12-24h with ≥3-event privacy floor — the CLI flags this in warnings.\n --pivot dma → US Nielsen DMA® regions, names resolved. Any report built from it must write \"DMA®\"\n and carry Nielsen's notice (returned as the DMA_ATTRIBUTION_REQUIRED warning).\n Derived metrics injected client-side: ctr, cpc, cpm, frequency, leadCompletionRate\n\nExamples — common AI questions:\n # \"How is this account doing this week?\"\n baker ads linkedin analytics\n\n # \"Who are we reaching, by job title?\" (the LinkedIn killer)\n baker ads linkedin analytics --level campaign --campaign-id 1234 --pivot job-title --intent baseline --last-days 30\n\n # \"Top companies seeing my ads\" (ABM feedback loop)\n baker ads linkedin analytics --level campaign --campaign-id 1234 --pivot company --last-days 30\n\n # \"Revenue by campaign over Q1\"\n baker ads linkedin analytics --level campaign --campaign-id 1,2,3 --intent revenue --start 2026-01-01 --end 2026-03-31 --granularity MONTHLY\n\n # \"How is the lead form converting?\"\n baker ads linkedin analytics --level campaign --campaign-id 1234 --intent lead-gen\n\n # Custom field set (escape hatch)\n baker ads linkedin analytics --metrics impressions,clicks,oneClickLeads --intent identity`,\n },\n args: {\n level: { type: \"string\", description: \"Object scope (default: account)\" },\n \"account-id\": { type: \"string\", description: \"Account ID — numeric or urn:li:sponsoredAccount:N (level=account)\" },\n \"account-urn\": { type: \"string\", description: \"Alias for --account-id (URN form)\" },\n \"campaign-group-id\": { type: \"string\", description: \"Comma-separated IDs (level=campaign-group)\" },\n \"campaign-id\": { type: \"string\", description: \"Comma-separated IDs (level=campaign)\" },\n \"creative-id\": { type: \"string\", description: \"Comma-separated IDs (level=creative)\" },\n ids: { type: \"string\", description: \"Generic CSV of IDs at the chosen level (alternative to per-level flags)\" },\n intent: {\n type: \"string\",\n description: \"baseline|revenue|funnel|engagement|video|lead-gen|inmail|document|ranking|identity\",\n },\n pivot: { type: \"string\", description: \"Pivot dim. Default: none. See `--list-pivots`.\" },\n metrics: { type: \"string\", description: \"CSV metric override — bypass --intent's bundle\" },\n \"list-intents\": { type: \"boolean\", description: \"Print intent definitions and exit\" },\n \"list-pivots\": { type: \"boolean\", description: \"Print pivot slugs and exit\" },\n start: { type: \"string\", description: \"Start date YYYY-MM-DD (overrides --last-days)\" },\n end: { type: \"string\", description: \"End date YYYY-MM-DD\" },\n \"last-days\": { type: \"string\", description: \"Window relative to today (default: 7)\" },\n granularity: { type: \"string\", description: \"DAILY|MONTHLY|YEARLY|ALL (default: DAILY)\" },\n limit: { type: \"string\", description: \"Max rows (default: 1000)\" },\n \"no-sort\": { type: \"boolean\", description: \"Skip default sort by costInUsd desc\" },\n \"no-cache\": NO_CACHE_ARG,\n output: { type: \"string\", description: \"Output format json|csv|jsonl|md\", default: \"json\" },\n },\n run: async ({ args }) => {\n if (args[\"list-intents\"]) {\n writeAdsJson({ ok: true, data: listIntents() });\n return;\n }\n if (args[\"list-pivots\"]) {\n writeAdsJson({ ok: true, data: ALL_PIVOTS });\n return;\n }\n\n const level = parseLevel(args.level as string | undefined);\n const intent = parseIntent(args.intent as string | undefined);\n const pivot = parsePivot(args.pivot as string | undefined);\n let granularity = parseGranularity(args.granularity as string | undefined);\n\n // CLI-side mirror of the backend's pivot/granularity guard. Backend will\n // also enforce — this lets us echo the auto-correction in stderr early.\n if (MEMBER_PIVOTS.has(pivot) && granularity === \"DAILY\") {\n process.stderr.write(`note: pivot=${pivot} forces --granularity ALL (LinkedIn rejects DAILY + demographic).\\n`);\n granularity = \"ALL\";\n }\n\n const ids = resolveScopeIds(args, level);\n if (ids.length === 0) {\n handleLinkedinError(new Error(`No IDs resolved for --level ${level}`));\n }\n\n const range = resolveDateRange(args);\n const metrics = commaSplit(args.metrics as string | undefined);\n const limit = args.limit ? Number(args.limit) : 1000;\n\n const request: AnalyticsRequest = {\n level,\n ids,\n intent,\n pivot,\n metrics,\n start: range.start,\n end: range.end,\n granularity,\n limit,\n };\n\n try {\n const data = await apiPost<AnalyticsResponse>(\"/api/ads/linkedin/analytics\", {\n request,\n skipCache: Boolean(args[\"no-cache\"]),\n });\n const rows = args[\"no-sort\"] ? data.rows : sortRows(data.rows);\n const fmt = csvOrJson(args);\n if (fmt !== \"json\") {\n writeAdsOutput(rows, fmt, data.fields);\n return;\n }\n writeAdsJson({\n ok: true,\n data: {\n rows,\n fields: data.fields,\n warnings: data.warnings,\n query: data.query,\n // Echo composed fields so an offline agent can pre-flight w/o this network call.\n composedFields: composeFields(intent, level, metrics),\n },\n });\n } catch (err) {\n handleLinkedinError(err);\n }\n },\n});\n","/**\n * LinkedIn analytics field bundles. Three-axis design:\n * --intent → metric bundle (baseline | revenue | funnel | engagement | video |\n * lead-gen | inmail | document | ranking | identity)\n * --level → object scope (account | campaign-group | campaign | creative)\n * --pivot → demographic / firmographic breakdown\n * (none | job-title | company | industry | seniority | function |\n * company-size | country | region | dma | device | placement | …)\n *\n * Backend recomputes the field list itself (single source of truth in\n * `packages/backend/convex/ads/linkedin/constants.ts`). The CLI keeps a\n * mirror copy so `--list-intents` / `--list-pivots` work offline.\n */\n\nexport type IntentName =\n | \"baseline\"\n | \"revenue\"\n | \"funnel\"\n | \"engagement\"\n | \"video\"\n | \"lead-gen\"\n | \"inmail\"\n | \"document\"\n | \"ranking\"\n | \"identity\";\n\nexport type LevelName = \"account\" | \"campaign-group\" | \"campaign\" | \"creative\";\n\nexport type PivotSlug =\n | \"none\"\n | \"campaign\"\n | \"campaign-group\"\n | \"creative\"\n | \"company\"\n | \"account\"\n | \"conversion\"\n | \"job-title\"\n | \"job-function\"\n | \"seniority\"\n | \"industry\"\n | \"company-size\"\n | \"country\"\n | \"region\"\n | \"dma\"\n | \"device\"\n | \"placement\"\n | \"serving-location\"\n | \"card-index\"\n | \"objective\"\n | \"conversation-node\"\n | \"conversation-node-button\";\n\ninterface IntentDefinition {\n name: IntentName;\n description: string;\n metrics: string[];\n /** Derived (CLI-side) metrics this bundle materializes. Documentation only. */\n derived?: string[];\n}\n\nexport const INTENTS: Record<IntentName, IntentDefinition> = {\n baseline: {\n name: \"baseline\",\n description: \"Spend, impressions, clicks. The default 'how is delivery?' question. Derives CTR, CPC, CPM.\",\n metrics: [\"impressions\", \"clicks\", \"costInUsd\", \"costInLocalCurrency\", \"approximateUniqueImpressions\"],\n derived: [\"ctr\", \"cpc\", \"cpm\", \"frequency\"],\n },\n revenue: {\n name: \"revenue\",\n description: \"Spend, conversions, conversion value. 'How much money are we making?'\",\n metrics: [\n \"costInUsd\",\n \"externalWebsiteConversions\",\n \"externalWebsitePostClickConversions\",\n \"externalWebsitePostViewConversions\",\n \"conversionValueInLocalCurrency\",\n \"oneClickLeads\",\n ],\n },\n funnel: {\n name: \"funnel\",\n description: \"Impression → click → landing → form open → lead → conversion. 'Where do users drop off?'\",\n metrics: [\n \"impressions\",\n \"clicks\",\n \"landingPageClicks\",\n \"oneClickLeadFormOpens\",\n \"oneClickLeads\",\n \"externalWebsiteConversions\",\n \"costInUsd\",\n ],\n derived: [\"ctr\", \"leadCompletionRate\"],\n },\n engagement: {\n name: \"engagement\",\n description: \"Likes, comments, shares, follows + viral spillover. TLA-aware — measures organic reach effect.\",\n metrics: [\n \"impressions\",\n \"likes\",\n \"comments\",\n \"shares\",\n \"reactions\",\n \"follows\",\n \"totalEngagements\",\n \"viralImpressions\",\n \"viralLikes\",\n \"viralShares\",\n \"viralOneClickLeads\",\n \"costInUsd\",\n ],\n },\n video: {\n name: \"video\",\n description: \"Video watch quartiles + cost. 'How are video creatives holding attention?'\",\n metrics: [\n \"videoStarts\",\n \"videoFirstQuartileCompletions\",\n \"videoMidpointCompletions\",\n \"videoThirdQuartileCompletions\",\n \"videoCompletions\",\n \"videoViews\",\n \"fullScreenPlays\",\n \"costInUsd\",\n \"impressions\",\n ],\n },\n \"lead-gen\": {\n name: \"lead-gen\",\n description: \"Lead Gen Form opens + completions. CLI derives form-completion-rate.\",\n metrics: [\n \"oneClickLeadFormOpens\",\n \"oneClickLeads\",\n \"viralOneClickLeads\",\n \"viralOneClickLeadFormOpens\",\n \"costInUsd\",\n ],\n derived: [\"leadCompletionRate\"],\n },\n inmail: {\n name: \"inmail\",\n description: \"Sponsored Message / Conversation Ads — sends, opens, clicks, lead-gen taps.\",\n metrics: [\n \"sends\",\n \"opens\",\n \"clicks\",\n \"costInUsd\",\n \"leadGenerationMailContactInfoShares\",\n \"leadGenerationMailInterestedClicks\",\n ],\n },\n document: {\n name: \"document\",\n description: \"Document Ads — quartile read-through, completion, downloads.\",\n metrics: [\n \"documentFirstQuartileCompletions\",\n \"documentMidpointCompletions\",\n \"documentThirdQuartileCompletions\",\n \"documentCompletions\",\n \"downloadClicks\",\n \"costInUsd\",\n \"impressions\",\n ],\n },\n ranking: {\n name: \"ranking\",\n description:\n \"Frequency + reach metrics for fatigue detection. CLI derives frequency = impressions/uniqueImpressions.\",\n metrics: [\"impressions\", \"clicks\", \"costInUsd\", \"approximateUniqueImpressions\"],\n derived: [\"frequency\", \"ctr\"],\n },\n identity: {\n name: \"identity\",\n description: \"Just spend + impressions. Cheap roll-up.\",\n metrics: [\"costInUsd\", \"impressions\"],\n },\n};\n\n/** Pivots that LinkedIn rejects with DAILY granularity — CLI auto-forces ALL. */\nexport const MEMBER_PIVOTS = new Set<PivotSlug>([\n \"company\",\n \"job-title\",\n \"job-function\",\n \"seniority\",\n \"industry\",\n \"company-size\",\n \"country\",\n \"region\",\n \"dma\",\n]);\n\nexport const ALL_PIVOTS: PivotSlug[] = [\n \"none\",\n \"campaign\",\n \"campaign-group\",\n \"creative\",\n \"company\",\n \"account\",\n \"conversion\",\n \"job-title\",\n \"job-function\",\n \"seniority\",\n \"industry\",\n \"company-size\",\n \"country\",\n \"region\",\n \"dma\",\n \"device\",\n \"placement\",\n \"serving-location\",\n \"card-index\",\n \"objective\",\n \"conversation-node\",\n \"conversation-node-button\",\n];\n\nexport const ALL_LEVELS: LevelName[] = [\"account\", \"campaign-group\", \"campaign\", \"creative\"];\n\nexport function getIntent(name: string): IntentDefinition | undefined {\n return INTENTS[name as IntentName];\n}\n\nexport function listIntents(): IntentDefinition[] {\n return Object.values(INTENTS);\n}\n\nexport function isPivot(slug: string): slug is PivotSlug {\n return (ALL_PIVOTS as string[]).includes(slug);\n}\n\nexport function isLevel(slug: string): slug is LevelName {\n return (ALL_LEVELS as string[]).includes(slug);\n}\n\n/**\n * Compose final field list — intent bundle + identity columns + pivotValues +\n * dateRange. Backend re-validates and recomposes; this is just for offline\n * preview (`baker ads linkedin analytics --list-intents`).\n */\nexport function composeFields(intent: IntentName, _level: LevelName, metricsOverride?: string[]): string[] {\n const base = metricsOverride && metricsOverride.length > 0 ? metricsOverride : INTENTS[intent].metrics;\n const seen = new Set<string>();\n const out: string[] = [];\n for (const f of [\"pivotValues\", \"dateRange\", ...base]) {\n if (!seen.has(f)) {\n seen.add(f);\n out.push(f);\n }\n }\n return out;\n}\n"],"mappings":"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","names":["raw"]}
|