@koda-sl/baker-cli 0.512.0 → 0.514.0-dev.555f7007e
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 +20 -3
- package/dist/account-QX4G4BJ7.js +82 -0
- package/dist/account-QX4G4BJ7.js.map +1 -0
- package/dist/account-UFYZS3K6.js +82 -0
- package/dist/account-UFYZS3K6.js.map +1 -0
- package/dist/account-assets-J5Z4URLQ.js +290 -0
- package/dist/account-level-4SBYYHRS.js +611 -0
- package/dist/account-level-4SBYYHRS.js.map +1 -0
- package/dist/account-reads-FOEVPWDP.js +219 -0
- package/dist/account-users-UTIF7MIT.js +64 -0
- package/dist/account-users-UTIF7MIT.js.map +1 -0
- package/dist/account-writes-QAQXRIEY.js +68 -0
- package/dist/account-writes-QAQXRIEY.js.map +1 -0
- package/dist/accounts-JK3OAS5U.js +701 -0
- package/dist/accounts-JK3OAS5U.js.map +1 -0
- package/dist/accounts-OE33CKWD.js +80 -0
- package/dist/accounts-OE33CKWD.js.map +1 -0
- package/dist/actions-QZDSLFFK.js +55 -0
- package/dist/activecampaign-U6TKRR45.js +938 -0
- package/dist/activecampaign-U6TKRR45.js.map +1 -0
- package/dist/ad-group-writes-XY5JYTKT.js +172 -0
- package/dist/ad-group-writes-XY5JYTKT.js.map +1 -0
- package/dist/ad-groups-YEO5ZS5U.js +70 -0
- package/dist/ad-groups-YEO5ZS5U.js.map +1 -0
- package/dist/ad-writes-XRCPK4SP.js +176 -0
- package/dist/ad-writes-XRCPK4SP.js.map +1 -0
- package/dist/add-2EF7S4NK.js +305 -0
- package/dist/add-2EF7S4NK.js.map +1 -0
- package/dist/add-YCJ6RXPG.js +107 -0
- package/dist/add-YCJ6RXPG.js.map +1 -0
- package/dist/ads-AYJAYLFR.js +48 -0
- package/dist/ads-H7H7H2CM.js +79 -0
- package/dist/ads-H7H7H2CM.js.map +1 -0
- package/dist/ads-MAOI7S6V.js +115 -0
- package/dist/adsets-QRKICEFD.js +182 -0
- package/dist/advertisers-JLSU3G35.js +123 -0
- package/dist/advertisers-JLSU3G35.js.map +1 -0
- package/dist/analytics-ADIWEM6G.js +2437 -0
- package/dist/analytics-ADIWEM6G.js.map +1 -0
- package/dist/analytics-XB6FRNVJ.js +447 -0
- package/dist/analytics-XB6FRNVJ.js.map +1 -0
- package/dist/animate-HRWFVE2N.js +480 -0
- package/dist/asset-writes-JLVUAVUZ.js +50 -0
- package/dist/assign-IWZ2OPFL.js +80 -0
- package/dist/assign-IWZ2OPFL.js.map +1 -0
- package/dist/audience-size-P5L6MZ4C.js +76 -0
- package/dist/audience-size-P5L6MZ4C.js.map +1 -0
- package/dist/audience-writes-CDKQB3SM.js +327 -0
- package/dist/audience-writes-CDKQB3SM.js.map +1 -0
- package/dist/audiences-CDDI5HR5.js +86 -0
- package/dist/audiences-XKERWKKE.js +280 -0
- package/dist/audiences-XKERWKKE.js.map +1 -0
- package/dist/audit-SEADLC6F.js +154 -0
- package/dist/audit-SEADLC6F.js.map +1 -0
- package/dist/autocomplete-AJQBJS5R.js +114 -0
- package/dist/autocomplete-AJQBJS5R.js.map +1 -0
- package/dist/avatars-4HCGWBOL.js +38 -0
- package/dist/bid-pricing-NWSUO3VM.js +103 -0
- package/dist/bid-pricing-NWSUO3VM.js.map +1 -0
- package/dist/brand-C6OB6Q4U.js +22 -0
- package/dist/brief-LCWWQ4OC.js +543 -0
- package/dist/brief-LCWWQ4OC.js.map +1 -0
- package/dist/campaign-groups-PH64UXZJ.js +99 -0
- package/dist/campaign-groups-PH64UXZJ.js.map +1 -0
- package/dist/campaign-writes-BN3EGDK5.js +168 -0
- package/dist/campaign-writes-BN3EGDK5.js.map +1 -0
- package/dist/campaign-writes-CLV5ZSUK.js +176 -0
- package/dist/campaign-writes-CLV5ZSUK.js.map +1 -0
- package/dist/campaigns-5XRY27JZ.js +78 -0
- package/dist/campaigns-5XRY27JZ.js.map +1 -0
- package/dist/campaigns-HES5MDUG.js +130 -0
- package/dist/campaigns-JF4TYYUP.js +113 -0
- package/dist/campaigns-JF4TYYUP.js.map +1 -0
- package/dist/campaigns-ZYU4BXDP.js +111 -0
- package/dist/canvas-AI34UBGU.js +46 -0
- package/dist/capabilities-TRHAPTUU.js +147 -0
- package/dist/capabilities-TRHAPTUU.js.map +1 -0
- package/dist/catalog-ZY3MFT55.js +65 -0
- package/dist/catalogs-6XLBWAUS.js +130 -0
- package/dist/catalogs-6XLBWAUS.js.map +1 -0
- package/dist/catalogs-TGLSJEK5.js +781 -0
- package/dist/catalogs-TGLSJEK5.js.map +1 -0
- package/dist/changes-OOUVQDBY.js +135 -0
- package/dist/chatgpt-NAXIFWXV.js +47 -0
- package/dist/chats-I5RHBRS5.js +279 -0
- package/dist/chats-I5RHBRS5.js.map +1 -0
- package/dist/check-3E64VBUE.js +107 -0
- package/dist/check-3E64VBUE.js.map +1 -0
- package/dist/chunk-3CHYJYSS.js +319 -0
- package/dist/chunk-3G3GC5N4.js +429 -0
- package/dist/chunk-3M45PYU7.js +274 -0
- package/dist/chunk-3QHXF3QI.js +23 -0
- package/dist/chunk-3XPHUMLJ.js +3868 -0
- package/dist/chunk-45EERHDB.js +783 -0
- package/dist/chunk-4FGTANFK.js +387 -0
- package/dist/chunk-4IHWT7PH.js +167 -0
- package/dist/chunk-4LF4AYPT.js +846 -0
- package/dist/chunk-4UQRXKYJ.js +219 -0
- package/dist/chunk-5JJD33Y2.js +455 -0
- package/dist/chunk-5K4QYYOJ.js +831 -0
- package/dist/chunk-5LJ6E4YU.js +163 -0
- package/dist/chunk-5T73MMBL.js +275 -0
- package/dist/chunk-64MAHLTK.js +363 -0
- package/dist/chunk-6OIKNJ7G.js +26 -0
- package/dist/chunk-6ZFSDYWV.js +131 -0
- package/dist/chunk-7BUIOP36.js +287 -0
- package/dist/chunk-7I6ZVBLM.js +358 -0
- package/dist/chunk-7I6ZVBLM.js.map +1 -0
- package/dist/chunk-AN4OEQXE.js +122 -0
- package/dist/chunk-AULSX5ZA.js +5368 -0
- package/dist/chunk-AVYUFJQQ.js +46 -0
- package/dist/chunk-B4YF7VQF.js +97 -0
- package/dist/chunk-BDOYNGUL.js +98 -0
- package/dist/chunk-BJOK7QD4.js +207 -0
- package/dist/chunk-CMCGFSUS.js +197 -0
- package/dist/chunk-DMJUIUAL.js +676 -0
- package/dist/chunk-DUCUOZLS.js +225 -0
- package/dist/chunk-EW7JSTRZ.js +24026 -0
- package/dist/chunk-EW7JSTRZ.js.map +1 -0
- package/dist/chunk-F3CZFUXZ.js +3187 -0
- package/dist/chunk-F3CZFUXZ.js.map +1 -0
- package/dist/chunk-FJZYOVSW.js +843 -0
- package/dist/chunk-FKP4ECJY.js +19 -0
- package/dist/chunk-G4FG5EQO.js +110 -0
- package/dist/chunk-G4FG5EQO.js.map +1 -0
- package/dist/chunk-GAYRBIEF.js +712 -0
- package/dist/chunk-GAYRBIEF.js.map +1 -0
- package/dist/chunk-GNMEOU46.js +8954 -0
- package/dist/chunk-GYKYXWUQ.js +156 -0
- package/dist/chunk-GYPLRU4Y.js +297 -0
- package/dist/chunk-I43ZEWJQ.js +285 -0
- package/dist/chunk-IZABTTW5.js +228 -0
- package/dist/chunk-JOE42ZW6.js +2984 -0
- package/dist/chunk-JOE42ZW6.js.map +1 -0
- package/dist/chunk-K7IE6UYV.js +1646 -0
- package/dist/chunk-KH5YHHJV.js +604 -0
- package/dist/chunk-KMY7AD3N.js +51 -0
- package/dist/chunk-KPCHWDJM.js +8914 -0
- package/dist/chunk-KTZCLJ2D.js +148 -0
- package/dist/chunk-MKUA54QE.js +638 -0
- package/dist/chunk-MTV2RSGY.js +63 -0
- package/dist/chunk-MUS2UTWU.js +4254 -0
- package/dist/chunk-MUS2UTWU.js.map +1 -0
- package/dist/chunk-N2QX57K3.js +392 -0
- package/dist/chunk-NB2FU6EZ.js +179 -0
- package/dist/chunk-NEYWS2DQ.js +479 -0
- package/dist/chunk-NKQWDEB7.js +115 -0
- package/dist/chunk-NKQWDEB7.js.map +1 -0
- package/dist/chunk-NWF2LRKO.js +188 -0
- package/dist/chunk-NZ34KM46.js +7211 -0
- package/dist/chunk-NZ34KM46.js.map +1 -0
- package/dist/chunk-OTC6UMJ2.js +191 -0
- package/dist/chunk-OUY2IAWL.js +224 -0
- package/dist/chunk-PJXNCRMR.js +344 -0
- package/dist/chunk-PYQ3GF7R.js +91 -0
- package/dist/chunk-Q3EIVZAR.js +170 -0
- package/dist/chunk-Q3GSVLE5.js +4274 -0
- package/dist/chunk-Q3GSVLE5.js.map +1 -0
- package/dist/chunk-QDQZ62FL.js +207 -0
- package/dist/chunk-QHZE62GP.js +1919 -0
- package/dist/chunk-RGR6TSTJ.js +103 -0
- package/dist/chunk-SAAXU7QR.js +203 -0
- package/dist/chunk-SHTKLRI6.js +66 -0
- package/dist/chunk-SIKCVWM3.js +76 -0
- package/dist/chunk-SOPVIIUW.js +68 -0
- package/dist/chunk-SOPVIIUW.js.map +1 -0
- package/dist/chunk-SSXG53CZ.js +89 -0
- package/dist/chunk-TBWAM577.js +547 -0
- package/dist/chunk-TGPGQTZA.js +169 -0
- package/dist/chunk-UMIX2BMM.js +1518 -0
- package/dist/chunk-URMAEVZO.js +150 -0
- package/dist/chunk-VBO3ZVUU.js +61 -0
- package/dist/chunk-VFLYMHTO.js +592 -0
- package/dist/chunk-VGYIVXIZ.js +249 -0
- package/dist/chunk-VIB7R533.js +57 -0
- package/dist/chunk-WLESMH4J.js +45 -0
- package/dist/chunk-WVWLPXBO.js +910 -0
- package/dist/chunk-XEH5XAP6.js +494 -0
- package/dist/chunk-XEOKVL4E.js +142 -0
- package/dist/chunk-XOGQJYXH.js +64 -0
- package/dist/chunk-XOQNM7I4.js +396 -0
- package/dist/chunk-XOQNM7I4.js.map +1 -0
- package/dist/chunk-XUXRA7IB.js +942 -0
- package/dist/claim-FIK2YTLM.js +200 -0
- package/dist/claim-FIK2YTLM.js.map +1 -0
- package/dist/cli.js +34 -33
- package/dist/cli.js.map +1 -1
- package/dist/companies-KMMV6EJW.js +198 -0
- package/dist/companies-KMMV6EJW.js.map +1 -0
- package/dist/company-B54URPJG.js +308 -0
- package/dist/company-B54URPJG.js.map +1 -0
- package/dist/complete-PPCWEXS3.js +84 -0
- package/dist/complete-PPCWEXS3.js.map +1 -0
- package/dist/connect-IAXSZPGA.js +45 -0
- package/dist/conversation-KHTZBGX2.js +96 -0
- package/dist/conversation-KHTZBGX2.js.map +1 -0
- package/dist/conversion-report-U66HW6JM.js +127 -0
- package/dist/conversion-report-U66HW6JM.js.map +1 -0
- package/dist/conversion-upload-command-IHFKVX2M.js +439 -0
- package/dist/conversion-writes-RSGDOAET.js +122 -0
- package/dist/conversion-writes-RSGDOAET.js.map +1 -0
- package/dist/conversions-BVOL43W4.js +78 -0
- package/dist/conversions-BVOL43W4.js.map +1 -0
- package/dist/conversions-SUMZAV2T.js +140 -0
- package/dist/conversions-SUMZAV2T.js.map +1 -0
- package/dist/copy-writes-CIHIFLY6.js +170 -0
- package/dist/copy-writes-CIHIFLY6.js.map +1 -0
- package/dist/create-732HQL3C.js +210 -0
- package/dist/create-732HQL3C.js.map +1 -0
- package/dist/create-TFR6R2KF.js +239 -0
- package/dist/create-TFR6R2KF.js.map +1 -0
- package/dist/create-UC57ULRL.js +62 -0
- package/dist/create-UC57ULRL.js.map +1 -0
- package/dist/create-UL2OYXOA.js +135 -0
- package/dist/create-UL2OYXOA.js.map +1 -0
- package/dist/creatives-BB6S2OF6.js +89 -0
- package/dist/creatives-BZEVJ6ER.js +58 -0
- package/dist/creatives-FU3YELGU.js +223 -0
- package/dist/creatives-FU3YELGU.js.map +1 -0
- package/dist/credentials-AYV5YQE4.js +290 -0
- package/dist/credentials-AYV5YQE4.js.map +1 -0
- package/dist/critique-FKIJB72I.js +1451 -0
- package/dist/critique-FKIJB72I.js.map +1 -0
- package/dist/critique-IQYNDXCN.js +232 -0
- package/dist/critique-IQYNDXCN.js.map +1 -0
- package/dist/crm-ILQMNJPX.js +323 -0
- package/dist/crm-ILQMNJPX.js.map +1 -0
- package/dist/crm-MQQRBITZ.js +227 -0
- package/dist/crm-MQQRBITZ.js.map +1 -0
- package/dist/currency-CGKO5GKH.js +88 -0
- package/dist/custom-conversions-HAGG72LF.js +128 -0
- package/dist/customers-NKKU6S7G.js +59 -0
- package/dist/delete-2TCCNRMH.js +57 -0
- package/dist/delete-2TCCNRMH.js.map +1 -0
- package/dist/delete-HCZTISBT.js +69 -0
- package/dist/delete-HCZTISBT.js.map +1 -0
- package/dist/delete-UIKB5ZXS.js +67 -0
- package/dist/delete-UIKB5ZXS.js.map +1 -0
- package/dist/demographics-ABZODD45.js +141 -0
- package/dist/demographics-ABZODD45.js.map +1 -0
- package/dist/discard-V3K5PZ4W.js +69 -0
- package/dist/discard-V3K5PZ4W.js.map +1 -0
- package/dist/discover-VM3O7CQM.js +172 -0
- package/dist/domain-A66DHOTQ.js +101 -0
- package/dist/domain-A66DHOTQ.js.map +1 -0
- package/dist/download-LSAZD5JO.js +172 -0
- package/dist/download-LSAZD5JO.js.map +1 -0
- package/dist/draft-5UUJC675.js +335 -0
- package/dist/draft-5UUJC675.js.map +1 -0
- package/dist/draft-BATA5CVI.js +283 -0
- package/dist/draft-BATA5CVI.js.map +1 -0
- package/dist/draft-CRDBU6LF.js +308 -0
- package/dist/draft-P7IDMXWR.js +310 -0
- package/dist/draft-P7IDMXWR.js.map +1 -0
- package/dist/draft-YBNL4ZZA.js +220 -0
- package/dist/draft-YBNL4ZZA.js.map +1 -0
- package/dist/engine/index.js +7 -7
- package/dist/experiments-MLLTHMMS.js +236 -0
- package/dist/experiments-MLLTHMMS.js.map +1 -0
- package/dist/facets-KSHR3MBE.js +117 -0
- package/dist/facets-KSHR3MBE.js.map +1 -0
- package/dist/feedback-4GCPXZSI.js +111 -0
- package/dist/feedback-4GCPXZSI.js.map +1 -0
- package/dist/feedback-record-VEFHUIUJ.js +265 -0
- package/dist/feedback-record-VEFHUIUJ.js.map +1 -0
- package/dist/fetch-42QL56JC.js +179 -0
- package/dist/fetch-42QL56JC.js.map +1 -0
- package/dist/fit-Q5GRVF2O.js +65 -0
- package/dist/flows-M3WBZQET.js +250 -0
- package/dist/flows-M3WBZQET.js.map +1 -0
- package/dist/fonts-GD4YRXQU.js +39 -0
- package/dist/forecast-HT46MFL4.js +121 -0
- package/dist/forecast-HT46MFL4.js.map +1 -0
- package/dist/forecast-ONVS2QAI.js +169 -0
- package/dist/funnel-76BAD64Q.js +397 -0
- package/dist/funnel-76BAD64Q.js.map +1 -0
- package/dist/generate-VBEY3N3L.js +263 -0
- package/dist/get-4KFAO475.js +82 -0
- package/dist/get-4KFAO475.js.map +1 -0
- package/dist/get-QV5NIADE.js +59 -0
- package/dist/get-QV5NIADE.js.map +1 -0
- package/dist/google-7EZP7I6J.js +3267 -0
- package/dist/google-ads-J7WHTJO4.js +198 -0
- package/dist/google-ads-J7WHTJO4.js.map +1 -0
- package/dist/history-EULKWQUS.js +136 -0
- package/dist/history-EULKWQUS.js.map +1 -0
- package/dist/history-FEBJHFHJ.js +69 -0
- package/dist/history-FEBJHFHJ.js.map +1 -0
- package/dist/history-RDVV7KBN.js +102 -0
- package/dist/history-RDVV7KBN.js.map +1 -0
- package/dist/hubspot-A3RQNMYN.js +782 -0
- package/dist/hubspot-A3RQNMYN.js.map +1 -0
- package/dist/ideas-WX7EBPSF.js +45 -0
- package/dist/images-4AXF4LAC.js +92 -0
- package/dist/ingest-AM5YDTRH.js +110 -0
- package/dist/ingest-AM5YDTRH.js.map +1 -0
- package/dist/ingest-C3M4GUO6.js +26 -0
- package/dist/insights-UTCMSWSC.js +132 -0
- package/dist/insights-UTCMSWSC.js.map +1 -0
- package/dist/insights-XZL2EM53.js +439 -0
- package/dist/insights-XZL2EM53.js.map +1 -0
- package/dist/inspect-DWCLRZGR.js +192 -0
- package/dist/inspect-DWCLRZGR.js.map +1 -0
- package/dist/instant-experiences-RM4MLJTL.js +260 -0
- package/dist/instant-experiences-RM4MLJTL.js.map +1 -0
- package/dist/intent-ZMYMFGB4.js +95 -0
- package/dist/keyword-gap-XSJO2R77.js +130 -0
- package/dist/keyword-metrics-M46FCTAS.js +200 -0
- package/dist/keyword-metrics-M46FCTAS.js.map +1 -0
- package/dist/keywords-for-site-XNSLX7EA.js +131 -0
- package/dist/keywords-for-site-XNSLX7EA.js.map +1 -0
- package/dist/landing-MUNYZQNA.js +28 -0
- package/dist/languages-DIQ3OG3E.js +40 -0
- package/dist/lead-routes-XBO2GOBL.js +608 -0
- package/dist/lead-routes-XBO2GOBL.js.map +1 -0
- package/dist/leads-LAATTW5G.js +115 -0
- package/dist/leads-LAATTW5G.js.map +1 -0
- package/dist/leads-ULYHTG22.js +540 -0
- package/dist/leads-ULYHTG22.js.map +1 -0
- package/dist/learn-3GLY4G3H.js +207 -0
- package/dist/learn-3GLY4G3H.js.map +1 -0
- package/dist/line-item-writes-XJTTA3X5.js +211 -0
- package/dist/line-item-writes-XJTTA3X5.js.map +1 -0
- package/dist/line-items-JR25T2C5.js +107 -0
- package/dist/link-7DSLIF3I.js +67 -0
- package/dist/link-7DSLIF3I.js.map +1 -0
- package/dist/linkedin-W5BJ6HEH.js +1316 -0
- package/dist/linkedin-W5BJ6HEH.js.map +1 -0
- package/dist/linkedin-person-2ZYSOHYR.js +139 -0
- package/dist/linkedin-person-2ZYSOHYR.js.map +1 -0
- package/dist/list-3653DIYB.js +67 -0
- package/dist/list-3653DIYB.js.map +1 -0
- package/dist/list-G66HVYCR.js +306 -0
- package/dist/list-G66HVYCR.js.map +1 -0
- package/dist/list-Z4M53MS5.js +154 -0
- package/dist/list-Z4M53MS5.js.map +1 -0
- package/dist/locations-HTVYJSDJ.js +40 -0
- package/dist/locations-M2B5XDU4.js +69 -0
- package/dist/locations-M2B5XDU4.js.map +1 -0
- package/dist/log-2RJU5BOW.js +95 -0
- package/dist/log-2RJU5BOW.js.map +1 -0
- package/dist/lookup-S5VG7AWH.js +23 -0
- package/dist/make-MJ6JMU5T.js +1370 -0
- package/dist/make-MJ6JMU5T.js.map +1 -0
- package/dist/map-27IPOBY6.js +436 -0
- package/dist/map-27IPOBY6.js.map +1 -0
- package/dist/mcp-TFQTME4P.js +717 -0
- package/dist/mcp-TFQTME4P.js.map +1 -0
- package/dist/media-P4T4ZBNS.js +18 -0
- package/dist/media-sources-P246GM7W.js +35 -0
- package/dist/members-KOKBTUC2.js +47 -0
- package/dist/members-KOKBTUC2.js.map +1 -0
- package/dist/meta-IPLWNYC7.js +122 -0
- package/dist/metrics-WYWUX6Y5.js +152 -0
- package/dist/models-HJ7Y55AH.js +155 -0
- package/dist/normalize-GXBUNTYJ.js +144 -0
- package/dist/normalize-GXBUNTYJ.js.map +1 -0
- package/dist/options-MA25RNXF.js +125 -0
- package/dist/options-MA25RNXF.js.map +1 -0
- package/dist/organization-NLEVNGKQ.js +949 -0
- package/dist/organization-NLEVNGKQ.js.map +1 -0
- package/dist/page-photos-OQ5QATQH.js +118 -0
- package/dist/page-photos-OQ5QATQH.js.map +1 -0
- package/dist/performance-34EUP5KL.js +5541 -0
- package/dist/performance-34EUP5KL.js.map +1 -0
- package/dist/performance-J3DLNI2W.js +27 -0
- package/dist/pixels-THEGYRXT.js +62 -0
- package/dist/pixels-THEGYRXT.js.map +1 -0
- package/dist/plan-7UF76Q6U.js +208 -0
- package/dist/plan-7UF76Q6U.js.map +1 -0
- package/dist/preview-LRJOQ7LM.js +218 -0
- package/dist/preview-LRJOQ7LM.js.map +1 -0
- package/dist/promoted-tweet-writes-SBXWKO23.js +183 -0
- package/dist/promoted-tweet-writes-SBXWKO23.js.map +1 -0
- package/dist/promoted-tweets-W42FNWS7.js +119 -0
- package/dist/publish-YG76GOA7.js +344 -0
- package/dist/publish-YG76GOA7.js.map +1 -0
- package/dist/query-IQICLABN.js +62 -0
- package/dist/questionnaire-DWEH5II4.js +94 -0
- package/dist/questionnaire-DWEH5II4.js.map +1 -0
- package/dist/reddit-X4CERXYF.js +29 -0
- package/dist/refresh-A36GA7JN.js +97 -0
- package/dist/refresh-A36GA7JN.js.map +1 -0
- package/dist/release-3NCMZIDI.js +63 -0
- package/dist/release-3NCMZIDI.js.map +1 -0
- package/dist/relevant-pages-UDDQOYLD.js +99 -0
- package/dist/remove-6LE3XNRG.js +53 -0
- package/dist/remove-6LE3XNRG.js.map +1 -0
- package/dist/reopen-XLADJ2UU.js +66 -0
- package/dist/reopen-XLADJ2UU.js.map +1 -0
- package/dist/rerun-QVMFJZA2.js +95 -0
- package/dist/rerun-QVMFJZA2.js.map +1 -0
- package/dist/research-D5UUJF74.js +72 -0
- package/dist/research-QCI5ISUE.js +265 -0
- package/dist/research-QCI5ISUE.js.map +1 -0
- package/dist/reset-DD37KDXQ.js +57 -0
- package/dist/reset-DD37KDXQ.js.map +1 -0
- package/dist/reset-FLZPKY2N.js +57 -0
- package/dist/reset-FLZPKY2N.js.map +1 -0
- package/dist/resolve-KRKIJKT7.js +124 -0
- package/dist/resolve-KRKIJKT7.js.map +1 -0
- package/dist/retry-ALXYEKFV.js +65 -0
- package/dist/retry-ALXYEKFV.js.map +1 -0
- package/dist/retry-MIXKW4EW.js +63 -0
- package/dist/retry-MIXKW4EW.js.map +1 -0
- package/dist/revenue-UBZUTSXN.js +91 -0
- package/dist/revenue-UBZUTSXN.js.map +1 -0
- package/dist/rule-writes-UAVWT4XS.js +525 -0
- package/dist/rule-writes-UAVWT4XS.js.map +1 -0
- package/dist/rules-SO6P44B6.js +99 -0
- package/dist/rules-SO6P44B6.js.map +1 -0
- package/dist/rules-ZVS2MWED.js +217 -0
- package/dist/rules-add-XN3BZKFO.js +465 -0
- package/dist/rules-add-XN3BZKFO.js.map +1 -0
- package/dist/run-K2DOMOAN.js +69 -0
- package/dist/run-K2DOMOAN.js.map +1 -0
- package/dist/run-T7XAH2W5.js +70 -0
- package/dist/scaffold-ad-TWIT7R4U.js +1516 -0
- package/dist/scaffold-ad-TWIT7R4U.js.map +1 -0
- package/dist/scaffold-static-ad-GPJKOGOI.js +1015 -0
- package/dist/scaffold-static-ad-GPJKOGOI.js.map +1 -0
- package/dist/scaffold-video-7BQNOJ4S.js +888 -0
- package/dist/scaffold-video-7BQNOJ4S.js.map +1 -0
- package/dist/schedule-UTRVEWPE.js +64 -0
- package/dist/schedule-UTRVEWPE.js.map +1 -0
- package/dist/scheduled-agents-ZGCUZ6SB.js +55 -0
- package/dist/schema-D6BMZAPB.js +69 -0
- package/dist/schema-DSMF6ELE.js +135 -0
- package/dist/schema-DSMF6ELE.js.map +1 -0
- package/dist/search-2P72GSKY.js +177 -0
- package/dist/search-2P72GSKY.js.map +1 -0
- package/dist/select-N7VWQ2ZQ.js +106 -0
- package/dist/select-N7VWQ2ZQ.js.map +1 -0
- package/dist/sends-LAY5C74B.js +349 -0
- package/dist/sends-LAY5C74B.js.map +1 -0
- package/dist/set-prompt-3N3HMHT6.js +198 -0
- package/dist/set-prompt-3N3HMHT6.js.map +1 -0
- package/dist/setup-links-I5RFZTS4.js +144 -0
- package/dist/setup-links-I5RFZTS4.js.map +1 -0
- package/dist/shopify-LXSR37XI.js +3958 -0
- package/dist/shopify-LXSR37XI.js.map +1 -0
- package/dist/site-AI3BFWRK.js +180 -0
- package/dist/site-AI3BFWRK.js.map +1 -0
- package/dist/sources-AOF2YDYX.js +457 -0
- package/dist/sources-AOF2YDYX.js.map +1 -0
- package/dist/sources-DVMJEXEX.js +30 -0
- package/dist/stale-P4GGOLIB.js +76 -0
- package/dist/stale-P4GGOLIB.js.map +1 -0
- package/dist/status-O25MXHU4.js +65 -0
- package/dist/status-O25MXHU4.js.map +1 -0
- package/dist/studies-EPO2AM4M.js +250 -0
- package/dist/studio-5Z4NMA4K.js +49 -0
- package/dist/study-writes-7FP443QQ.js +470 -0
- package/dist/study-writes-7FP443QQ.js.map +1 -0
- package/dist/sync-2AI7LKKN.js +57 -0
- package/dist/sync-2AI7LKKN.js.map +1 -0
- package/dist/sync-definition-F3CXG6KG.js +69 -0
- package/dist/tags-SEZ2CQJM.js +26 -0
- package/dist/tags-TJDZXOXS.js +227 -0
- package/dist/tags-TJDZXOXS.js.map +1 -0
- package/dist/tags-YSC7ZILI.js +23 -0
- package/dist/tags-YSC7ZILI.js.map +1 -0
- package/dist/tags-Z6EALYOS.js +23 -0
- package/dist/tags-Z6EALYOS.js.map +1 -0
- package/dist/tags-ZXSVW6XO.js +23 -0
- package/dist/tags-ZXSVW6XO.js.map +1 -0
- package/dist/targeting-NKZFEZD7.js +762 -0
- package/dist/targeting-NKZFEZD7.js.map +1 -0
- package/dist/targeting-criteria-AU5CSMAU.js +113 -0
- package/dist/targets-IOIH5JYS.js +106 -0
- package/dist/targets-IOIH5JYS.js.map +1 -0
- package/dist/testimonials-Y6PUV6AL.js +32 -0
- package/dist/themes-PGPIAKAO.js +95 -0
- package/dist/top-companies-FSITN3ZR.js +111 -0
- package/dist/top-companies-FSITN3ZR.js.map +1 -0
- package/dist/transcript-CGPX7Y37.js +165 -0
- package/dist/transcript-CGPX7Y37.js.map +1 -0
- package/dist/translate-QCBMGOKR.js +609 -0
- package/dist/translate-QCBMGOKR.js.map +1 -0
- package/dist/triggers-MONMZSKT.js +144 -0
- package/dist/triggers-MONMZSKT.js.map +1 -0
- package/dist/unlink-I7QFQQKO.js +70 -0
- package/dist/unlink-I7QFQQKO.js.map +1 -0
- package/dist/unstage-JXG5AU5Q.js +88 -0
- package/dist/unstage-JXG5AU5Q.js.map +1 -0
- package/dist/unstage-ZA3WQBEA.js +96 -0
- package/dist/unstage-ZA3WQBEA.js.map +1 -0
- package/dist/update-BVZGM54I.js +66 -0
- package/dist/update-BVZGM54I.js.map +1 -0
- package/dist/update-EI2BHUM2.js +101 -0
- package/dist/update-EI2BHUM2.js.map +1 -0
- package/dist/update-RZSV4NYP.js +155 -0
- package/dist/update-RZSV4NYP.js.map +1 -0
- package/dist/update-WLDNOZ5U.js +192 -0
- package/dist/update-WLDNOZ5U.js.map +1 -0
- package/dist/upload-BP3YEQSF.js +129 -0
- package/dist/upload-BP3YEQSF.js.map +1 -0
- package/dist/url-options-63DED6CR.js +131 -0
- package/dist/url-options-63DED6CR.js.map +1 -0
- package/dist/url-params-TRFI2PMD.js +101 -0
- package/dist/url-params-TRFI2PMD.js.map +1 -0
- package/dist/validate-SNCR25A7.js +122 -0
- package/dist/validate-SNCR25A7.js.map +1 -0
- package/dist/videos-SVZV5YYC.js +41 -0
- package/dist/viewer-check-LUAEGV6H.js +83 -0
- package/dist/web-MJQEK7BB.js +143 -0
- package/dist/web-MJQEK7BB.js.map +1 -0
- package/dist/winning-ads-KNLJHHCO.js +86 -0
- package/dist/write-commands-NVCX7IAU.js +1502 -0
- package/dist/write-commands-NVCX7IAU.js.map +1 -0
- package/dist/write-commands-OGVDWWBV.js +1172 -0
- package/dist/write-commands-OGVDWWBV.js.map +1 -0
- package/dist/x-ZQNHYIDU.js +47 -0
- package/package.json +1 -1
- package/dist/account-C635ATVM.js +0 -80
- package/dist/account-C635ATVM.js.map +0 -1
- package/dist/account-WLQBAQMD.js +0 -80
- package/dist/account-WLQBAQMD.js.map +0 -1
- package/dist/account-assets-O7IA37RE.js +0 -290
- package/dist/account-level-EU7BWCO7.js +0 -609
- package/dist/account-level-EU7BWCO7.js.map +0 -1
- package/dist/account-reads-SNOWDHHF.js +0 -219
- package/dist/account-users-XYYENK6X.js +0 -62
- package/dist/account-users-XYYENK6X.js.map +0 -1
- package/dist/account-writes-TU3WJRSI.js +0 -66
- package/dist/account-writes-TU3WJRSI.js.map +0 -1
- package/dist/accounts-A2FBLZ5H.js +0 -78
- package/dist/accounts-A2FBLZ5H.js.map +0 -1
- package/dist/accounts-V2IZZ5KU.js +0 -699
- package/dist/accounts-V2IZZ5KU.js.map +0 -1
- package/dist/actions-Y4SULW2E.js +0 -55
- package/dist/activecampaign-63XG6CLL.js +0 -936
- package/dist/activecampaign-63XG6CLL.js.map +0 -1
- package/dist/ad-group-writes-HLBWN4E4.js +0 -170
- package/dist/ad-group-writes-HLBWN4E4.js.map +0 -1
- package/dist/ad-groups-33NZD6J3.js +0 -68
- package/dist/ad-groups-33NZD6J3.js.map +0 -1
- package/dist/ad-writes-7ZDNDZ2E.js +0 -174
- package/dist/ad-writes-7ZDNDZ2E.js.map +0 -1
- package/dist/add-FOLFVGQO.js +0 -303
- package/dist/add-FOLFVGQO.js.map +0 -1
- package/dist/add-RYB4JSYC.js +0 -105
- package/dist/add-RYB4JSYC.js.map +0 -1
- package/dist/ads-2TVWICGM.js +0 -48
- package/dist/ads-KBE5JXCH.js +0 -115
- package/dist/ads-X3AM6M7L.js +0 -77
- package/dist/ads-X3AM6M7L.js.map +0 -1
- package/dist/adsets-YWBJFPAZ.js +0 -182
- package/dist/advertisers-IGUMSK5Q.js +0 -121
- package/dist/advertisers-IGUMSK5Q.js.map +0 -1
- package/dist/analytics-3DKM7J43.js +0 -445
- package/dist/analytics-3DKM7J43.js.map +0 -1
- package/dist/analytics-R3QDSX2K.js +0 -2435
- package/dist/analytics-R3QDSX2K.js.map +0 -1
- package/dist/animate-2BMHZ4FM.js +0 -480
- package/dist/asset-writes-72DEVXGO.js +0 -48
- package/dist/assign-EKCGLNZB.js +0 -78
- package/dist/assign-EKCGLNZB.js.map +0 -1
- package/dist/audience-size-IKXK32HU.js +0 -74
- package/dist/audience-size-IKXK32HU.js.map +0 -1
- package/dist/audience-writes-KCHLNFSI.js +0 -325
- package/dist/audience-writes-KCHLNFSI.js.map +0 -1
- package/dist/audiences-QAH42HIM.js +0 -86
- package/dist/audiences-WCDWN64L.js +0 -268
- package/dist/audiences-WCDWN64L.js.map +0 -1
- package/dist/audit-CY76S4V7.js +0 -152
- package/dist/audit-CY76S4V7.js.map +0 -1
- package/dist/autocomplete-G2S5HNUS.js +0 -112
- package/dist/autocomplete-G2S5HNUS.js.map +0 -1
- package/dist/avatars-P4UPNZM4.js +0 -38
- package/dist/bid-pricing-AJT4QU2C.js +0 -101
- package/dist/bid-pricing-AJT4QU2C.js.map +0 -1
- package/dist/brand-HALQWZWB.js +0 -22
- package/dist/brief-NW7TGG2Q.js +0 -541
- package/dist/brief-NW7TGG2Q.js.map +0 -1
- package/dist/campaign-groups-I43KMAJP.js +0 -97
- package/dist/campaign-groups-I43KMAJP.js.map +0 -1
- package/dist/campaign-writes-DLLPFAGG.js +0 -166
- package/dist/campaign-writes-DLLPFAGG.js.map +0 -1
- package/dist/campaign-writes-XO74BALZ.js +0 -174
- package/dist/campaign-writes-XO74BALZ.js.map +0 -1
- package/dist/campaigns-LS65QM6W.js +0 -76
- package/dist/campaigns-LS65QM6W.js.map +0 -1
- package/dist/campaigns-UIYSYCF3.js +0 -111
- package/dist/campaigns-UIYSYCF3.js.map +0 -1
- package/dist/campaigns-XZOQ2VTK.js +0 -130
- package/dist/campaigns-YMM5TQVO.js +0 -111
- package/dist/canvas-IJS7H3VE.js +0 -46
- package/dist/capabilities-XMQPM3UL.js +0 -145
- package/dist/capabilities-XMQPM3UL.js.map +0 -1
- package/dist/catalog-TZLU5NWI.js +0 -65
- package/dist/catalogs-JLCSFZYC.js +0 -779
- package/dist/catalogs-JLCSFZYC.js.map +0 -1
- package/dist/catalogs-T23RKYFC.js +0 -128
- package/dist/catalogs-T23RKYFC.js.map +0 -1
- package/dist/changes-36C754R4.js +0 -135
- package/dist/chatgpt-3WFOPURY.js +0 -47
- package/dist/chats-ZI6EYDAF.js +0 -277
- package/dist/chats-ZI6EYDAF.js.map +0 -1
- package/dist/check-CHJ2OLAU.js +0 -105
- package/dist/check-CHJ2OLAU.js.map +0 -1
- package/dist/chunk-2TOIY2WN.js +0 -4254
- package/dist/chunk-2TOIY2WN.js.map +0 -1
- package/dist/chunk-3YJNSUNF.js +0 -131
- package/dist/chunk-4GAEB6NK.js +0 -228
- package/dist/chunk-5RVQK3SP.js +0 -494
- package/dist/chunk-5SRUAGTG.js +0 -547
- package/dist/chunk-5XTGG4PV.js +0 -274
- package/dist/chunk-6KWEF6HF.js +0 -8914
- package/dist/chunk-6Z7Y4KQB.js +0 -275
- package/dist/chunk-7HZSORAB.js +0 -843
- package/dist/chunk-7J3NZBPV.js +0 -2982
- package/dist/chunk-7J3NZBPV.js.map +0 -1
- package/dist/chunk-A3IQAONL.js +0 -638
- package/dist/chunk-AIRD6T4W.js +0 -169
- package/dist/chunk-AQOFQNKQ.js +0 -57
- package/dist/chunk-ARUXGKZO.js +0 -91
- package/dist/chunk-ASRS37QE.js +0 -710
- package/dist/chunk-ASRS37QE.js.map +0 -1
- package/dist/chunk-AYPBARKP.js +0 -156
- package/dist/chunk-BRLZX3VP.js +0 -207
- package/dist/chunk-BTJSGJNQ.js +0 -604
- package/dist/chunk-C7QQQVBS.js +0 -51
- package/dist/chunk-CCEDZTP7.js +0 -391
- package/dist/chunk-CCEDZTP7.js.map +0 -1
- package/dist/chunk-D3KLDIPQ.js +0 -45
- package/dist/chunk-DUR7PEJI.js +0 -170
- package/dist/chunk-EDLZGTGN.js +0 -216
- package/dist/chunk-EDLZGTGN.js.map +0 -1
- package/dist/chunk-F4YQ5PVR.js +0 -1518
- package/dist/chunk-FFFJBNHA.js +0 -63
- package/dist/chunk-FFG2OYVV.js +0 -64
- package/dist/chunk-FPWQA7TK.js +0 -344
- package/dist/chunk-G5Y7OIPL.js +0 -392
- package/dist/chunk-GACSA5A6.js +0 -1646
- package/dist/chunk-GMHCHHAA.js +0 -19
- package/dist/chunk-H4NNQGG6.js +0 -66
- package/dist/chunk-HML3VQIW.js +0 -225
- package/dist/chunk-HSQRITKG.js +0 -203
- package/dist/chunk-I47BEKYK.js +0 -831
- package/dist/chunk-JAC6JVCI.js +0 -26
- package/dist/chunk-JND6XSGZ.js +0 -7192
- package/dist/chunk-JND6XSGZ.js.map +0 -1
- package/dist/chunk-KBRJSPIM.js +0 -676
- package/dist/chunk-KQTNUDKD.js +0 -97
- package/dist/chunk-LRV6M2WB.js +0 -1919
- package/dist/chunk-M7HD42M6.js +0 -24017
- package/dist/chunk-M7HD42M6.js.map +0 -1
- package/dist/chunk-MBSFEVOG.js +0 -163
- package/dist/chunk-MCJ5I5LR.js +0 -3187
- package/dist/chunk-MCJ5I5LR.js.map +0 -1
- package/dist/chunk-MGYC2IRC.js +0 -783
- package/dist/chunk-MUXKYSTI.js +0 -297
- package/dist/chunk-MVD7QIXI.js +0 -46
- package/dist/chunk-MZCTX37B.js +0 -3868
- package/dist/chunk-MZPS46OR.js +0 -76
- package/dist/chunk-N7M2TWR5.js +0 -592
- package/dist/chunk-NDFS3APP.js +0 -319
- package/dist/chunk-OBJCNGZL.js +0 -207
- package/dist/chunk-OJGYYH6K.js +0 -179
- package/dist/chunk-P6BKKUSX.js +0 -142
- package/dist/chunk-PLAOK4AK.js +0 -103
- package/dist/chunk-PLBITHV6.js +0 -846
- package/dist/chunk-PNKIOTCK.js +0 -349
- package/dist/chunk-PNKIOTCK.js.map +0 -1
- package/dist/chunk-PX3PUDK7.js +0 -167
- package/dist/chunk-QBRPM3DQ.js +0 -61
- package/dist/chunk-QMDMTZAW.js +0 -224
- package/dist/chunk-QW6HL7D6.js +0 -429
- package/dist/chunk-R53XMPDO.js +0 -363
- package/dist/chunk-RFIUOQLN.js +0 -89
- package/dist/chunk-RVEY7BTT.js +0 -8954
- package/dist/chunk-SCL7PM6P.js +0 -479
- package/dist/chunk-SM7G7RUA.js +0 -910
- package/dist/chunk-SVBJ56T7.js +0 -455
- package/dist/chunk-SWN6OHXG.js +0 -148
- package/dist/chunk-TVAIOC77.js +0 -287
- package/dist/chunk-TVTSA4EN.js +0 -188
- package/dist/chunk-TX7CQTD4.js +0 -5368
- package/dist/chunk-UKSSNYLU.js +0 -98
- package/dist/chunk-VIPKDXGU.js +0 -4229
- package/dist/chunk-VIPKDXGU.js.map +0 -1
- package/dist/chunk-W574NV67.js +0 -191
- package/dist/chunk-XGPU2VDU.js +0 -219
- package/dist/chunk-XQXZJ5IR.js +0 -249
- package/dist/chunk-YMF2RG4Z.js +0 -942
- package/dist/chunk-YNYAT2TZ.js +0 -285
- package/dist/chunk-Z2DRGXBB.js +0 -197
- package/dist/chunk-Z7YMSHRZ.js +0 -23
- package/dist/chunk-ZEC46NWW.js +0 -122
- package/dist/chunk-ZFC562TP.js +0 -387
- package/dist/chunk-ZNRGH4NS.js +0 -150
- package/dist/claim-OUYHVGB4.js +0 -198
- package/dist/claim-OUYHVGB4.js.map +0 -1
- package/dist/companies-XDNSG7ME.js +0 -196
- package/dist/companies-XDNSG7ME.js.map +0 -1
- package/dist/company-4FAYYPEJ.js +0 -306
- package/dist/company-4FAYYPEJ.js.map +0 -1
- package/dist/complete-M2PAUMDP.js +0 -82
- package/dist/complete-M2PAUMDP.js.map +0 -1
- package/dist/connect-PP6Z3F7Y.js +0 -43
- package/dist/conversation-B5NPTLFQ.js +0 -94
- package/dist/conversation-B5NPTLFQ.js.map +0 -1
- package/dist/conversion-report-DKXFHLLX.js +0 -125
- package/dist/conversion-report-DKXFHLLX.js.map +0 -1
- package/dist/conversion-upload-command-KTYAY7IG.js +0 -439
- package/dist/conversion-writes-7ODJDAUP.js +0 -120
- package/dist/conversion-writes-7ODJDAUP.js.map +0 -1
- package/dist/conversions-BKVGNNC6.js +0 -76
- package/dist/conversions-BKVGNNC6.js.map +0 -1
- package/dist/conversions-QRJL6JIO.js +0 -138
- package/dist/conversions-QRJL6JIO.js.map +0 -1
- package/dist/copy-writes-P4WK6OPM.js +0 -168
- package/dist/copy-writes-P4WK6OPM.js.map +0 -1
- package/dist/create-4DWCJ2UA.js +0 -208
- package/dist/create-4DWCJ2UA.js.map +0 -1
- package/dist/create-OYV33CQ6.js +0 -60
- package/dist/create-OYV33CQ6.js.map +0 -1
- package/dist/create-U6JVIYFY.js +0 -237
- package/dist/create-U6JVIYFY.js.map +0 -1
- package/dist/create-V4FNRO63.js +0 -133
- package/dist/create-V4FNRO63.js.map +0 -1
- package/dist/creatives-64FKWEGL.js +0 -221
- package/dist/creatives-64FKWEGL.js.map +0 -1
- package/dist/creatives-JPKA2RHU.js +0 -89
- package/dist/creatives-UJDPD4CI.js +0 -58
- package/dist/credentials-EIPEZ2C2.js +0 -288
- package/dist/credentials-EIPEZ2C2.js.map +0 -1
- package/dist/critique-BADMZAZP.js +0 -230
- package/dist/critique-BADMZAZP.js.map +0 -1
- package/dist/critique-M3DEVEDA.js +0 -1449
- package/dist/critique-M3DEVEDA.js.map +0 -1
- package/dist/crm-GIYSLLY7.js +0 -321
- package/dist/crm-GIYSLLY7.js.map +0 -1
- package/dist/crm-HXKSJRY3.js +0 -225
- package/dist/crm-HXKSJRY3.js.map +0 -1
- package/dist/currency-R4ORE2U3.js +0 -88
- package/dist/custom-conversions-5HJBB5XL.js +0 -128
- package/dist/customers-7J3QGSOJ.js +0 -57
- package/dist/delete-EDWJQMMV.js +0 -65
- package/dist/delete-EDWJQMMV.js.map +0 -1
- package/dist/delete-O24CVQMJ.js +0 -67
- package/dist/delete-O24CVQMJ.js.map +0 -1
- package/dist/delete-QN2OYUCS.js +0 -55
- package/dist/delete-QN2OYUCS.js.map +0 -1
- package/dist/demographics-MPYYF2OI.js +0 -139
- package/dist/demographics-MPYYF2OI.js.map +0 -1
- package/dist/discard-FJCFB6SA.js +0 -67
- package/dist/discard-FJCFB6SA.js.map +0 -1
- package/dist/discover-GSJRZUOC.js +0 -172
- package/dist/domain-UILPSEA5.js +0 -99
- package/dist/domain-UILPSEA5.js.map +0 -1
- package/dist/download-ZMAI7QSG.js +0 -170
- package/dist/download-ZMAI7QSG.js.map +0 -1
- package/dist/draft-5OQT3APG.js +0 -308
- package/dist/draft-5OQT3APG.js.map +0 -1
- package/dist/draft-LPVK6YHI.js +0 -281
- package/dist/draft-LPVK6YHI.js.map +0 -1
- package/dist/draft-MSESA5UE.js +0 -333
- package/dist/draft-MSESA5UE.js.map +0 -1
- package/dist/draft-WYDMLNYA.js +0 -308
- package/dist/draft-XOOSEVY5.js +0 -218
- package/dist/draft-XOOSEVY5.js.map +0 -1
- package/dist/experiments-PVOQUL47.js +0 -234
- package/dist/experiments-PVOQUL47.js.map +0 -1
- package/dist/facets-5RW4Z3D3.js +0 -115
- package/dist/facets-5RW4Z3D3.js.map +0 -1
- package/dist/feedback-GC56R2EJ.js +0 -109
- package/dist/feedback-GC56R2EJ.js.map +0 -1
- package/dist/feedback-record-JX7ZU6J7.js +0 -263
- package/dist/feedback-record-JX7ZU6J7.js.map +0 -1
- package/dist/fetch-WUTXAPBL.js +0 -177
- package/dist/fetch-WUTXAPBL.js.map +0 -1
- package/dist/fit-N7WDGWYZ.js +0 -63
- package/dist/flows-ULZACISF.js +0 -248
- package/dist/flows-ULZACISF.js.map +0 -1
- package/dist/fonts-TTUAP7HS.js +0 -37
- package/dist/forecast-4AG5F7YC.js +0 -169
- package/dist/forecast-RQJJRN5D.js +0 -119
- package/dist/forecast-RQJJRN5D.js.map +0 -1
- package/dist/funnel-QPWJIXWK.js +0 -395
- package/dist/funnel-QPWJIXWK.js.map +0 -1
- package/dist/generate-NWHPM2GQ.js +0 -263
- package/dist/get-35D7YHWJ.js +0 -57
- package/dist/get-35D7YHWJ.js.map +0 -1
- package/dist/get-GIETDPF4.js +0 -80
- package/dist/get-GIETDPF4.js.map +0 -1
- package/dist/google-NAA4BASO.js +0 -3267
- package/dist/google-ads-2IZFZO4C.js +0 -196
- package/dist/google-ads-2IZFZO4C.js.map +0 -1
- package/dist/history-5MRLNTCI.js +0 -67
- package/dist/history-5MRLNTCI.js.map +0 -1
- package/dist/history-RPLWWPLQ.js +0 -134
- package/dist/history-RPLWWPLQ.js.map +0 -1
- package/dist/history-TQYLUYVU.js +0 -100
- package/dist/history-TQYLUYVU.js.map +0 -1
- package/dist/hubspot-EPK43X4C.js +0 -780
- package/dist/hubspot-EPK43X4C.js.map +0 -1
- package/dist/ideas-SUXKKZC7.js +0 -43
- package/dist/images-VKVZ3DWG.js +0 -92
- package/dist/ingest-BBBFT6FZ.js +0 -24
- package/dist/ingest-EM2UY42Z.js +0 -108
- package/dist/ingest-EM2UY42Z.js.map +0 -1
- package/dist/insights-M3CYB22P.js +0 -437
- package/dist/insights-M3CYB22P.js.map +0 -1
- package/dist/insights-XCT3ONC7.js +0 -130
- package/dist/insights-XCT3ONC7.js.map +0 -1
- package/dist/inspect-ZPOVOENK.js +0 -190
- package/dist/inspect-ZPOVOENK.js.map +0 -1
- package/dist/instant-experiences-HT3HB4QZ.js +0 -258
- package/dist/instant-experiences-HT3HB4QZ.js.map +0 -1
- package/dist/intent-NSHW7EJT.js +0 -95
- package/dist/keyword-gap-ITTWKBWZ.js +0 -130
- package/dist/keyword-metrics-7DPR264W.js +0 -198
- package/dist/keyword-metrics-7DPR264W.js.map +0 -1
- package/dist/keywords-for-site-IXL22UKQ.js +0 -129
- package/dist/keywords-for-site-IXL22UKQ.js.map +0 -1
- package/dist/landing-KZ4OSHHR.js +0 -28
- package/dist/languages-MEFQQBJ2.js +0 -40
- package/dist/leads-DNQTRYIR.js +0 -113
- package/dist/leads-DNQTRYIR.js.map +0 -1
- package/dist/leads-SZOGCQFK.js +0 -538
- package/dist/leads-SZOGCQFK.js.map +0 -1
- package/dist/learn-Q7WZG7FA.js +0 -205
- package/dist/learn-Q7WZG7FA.js.map +0 -1
- package/dist/line-item-writes-3K7FT5GO.js +0 -209
- package/dist/line-item-writes-3K7FT5GO.js.map +0 -1
- package/dist/line-items-G5YJG25N.js +0 -107
- package/dist/link-2QVSIZJT.js +0 -65
- package/dist/link-2QVSIZJT.js.map +0 -1
- package/dist/linkedin-VAFPZNWZ.js +0 -1314
- package/dist/linkedin-VAFPZNWZ.js.map +0 -1
- package/dist/linkedin-person-EHTYVNZY.js +0 -137
- package/dist/linkedin-person-EHTYVNZY.js.map +0 -1
- package/dist/list-5TS2VPQZ.js +0 -152
- package/dist/list-5TS2VPQZ.js.map +0 -1
- package/dist/list-PSSQXQRJ.js +0 -65
- package/dist/list-PSSQXQRJ.js.map +0 -1
- package/dist/list-UMVIFQ3X.js +0 -304
- package/dist/list-UMVIFQ3X.js.map +0 -1
- package/dist/locations-RLWAS6AC.js +0 -40
- package/dist/locations-UKBOT6SB.js +0 -67
- package/dist/locations-UKBOT6SB.js.map +0 -1
- package/dist/log-ZZK3QMZB.js +0 -93
- package/dist/log-ZZK3QMZB.js.map +0 -1
- package/dist/lookup-ZJIP2M4X.js +0 -22
- package/dist/make-DB2BDVB3.js +0 -1368
- package/dist/make-DB2BDVB3.js.map +0 -1
- package/dist/map-UJ23GKRH.js +0 -434
- package/dist/map-UJ23GKRH.js.map +0 -1
- package/dist/mcp-SS2ALFRJ.js +0 -715
- package/dist/mcp-SS2ALFRJ.js.map +0 -1
- package/dist/media-ZWN7E777.js +0 -18
- package/dist/media-sources-GKSEDSE3.js +0 -35
- package/dist/members-KD2XRYPZ.js +0 -45
- package/dist/members-KD2XRYPZ.js.map +0 -1
- package/dist/meta-EHKXH257.js +0 -122
- package/dist/metrics-K6FDCMK7.js +0 -152
- package/dist/models-JQEPSPNQ.js +0 -155
- package/dist/normalize-ZNTXNX6D.js +0 -142
- package/dist/normalize-ZNTXNX6D.js.map +0 -1
- package/dist/options-TBIFJF3E.js +0 -123
- package/dist/options-TBIFJF3E.js.map +0 -1
- package/dist/organization-26J2ZIKM.js +0 -947
- package/dist/organization-26J2ZIKM.js.map +0 -1
- package/dist/page-photos-HWKQOSCU.js +0 -116
- package/dist/page-photos-HWKQOSCU.js.map +0 -1
- package/dist/performance-6TPJGM6A.js +0 -25
- package/dist/performance-O5BXZGS6.js +0 -5539
- package/dist/performance-O5BXZGS6.js.map +0 -1
- package/dist/pixels-Z7ZGXAGB.js +0 -60
- package/dist/pixels-Z7ZGXAGB.js.map +0 -1
- package/dist/plan-TVQSEKYL.js +0 -207
- package/dist/plan-TVQSEKYL.js.map +0 -1
- package/dist/preview-CWRGDFCP.js +0 -216
- package/dist/preview-CWRGDFCP.js.map +0 -1
- package/dist/promoted-tweet-writes-SZN74JHY.js +0 -181
- package/dist/promoted-tweet-writes-SZN74JHY.js.map +0 -1
- package/dist/promoted-tweets-7P4TSQU7.js +0 -119
- package/dist/publish-3DUERLGT.js +0 -342
- package/dist/publish-3DUERLGT.js.map +0 -1
- package/dist/query-QM7MBQD7.js +0 -62
- package/dist/questionnaire-LEZJLMAV.js +0 -93
- package/dist/questionnaire-LEZJLMAV.js.map +0 -1
- package/dist/reddit-SN5CESF4.js +0 -27
- package/dist/refresh-2ICQBTK4.js +0 -95
- package/dist/refresh-2ICQBTK4.js.map +0 -1
- package/dist/release-JSZ4JXYJ.js +0 -61
- package/dist/release-JSZ4JXYJ.js.map +0 -1
- package/dist/relevant-pages-VOICMQ7U.js +0 -99
- package/dist/remove-TFUAVRFM.js +0 -51
- package/dist/remove-TFUAVRFM.js.map +0 -1
- package/dist/reopen-5T2PE7MU.js +0 -64
- package/dist/reopen-5T2PE7MU.js.map +0 -1
- package/dist/rerun-EZJ4MLYG.js +0 -93
- package/dist/rerun-EZJ4MLYG.js.map +0 -1
- package/dist/research-BKYSU2C6.js +0 -263
- package/dist/research-BKYSU2C6.js.map +0 -1
- package/dist/research-QU63CJB5.js +0 -72
- package/dist/reset-DKTKZF7G.js +0 -55
- package/dist/reset-DKTKZF7G.js.map +0 -1
- package/dist/reset-SXABIVP6.js +0 -55
- package/dist/reset-SXABIVP6.js.map +0 -1
- package/dist/resolve-L47U2T77.js +0 -122
- package/dist/resolve-L47U2T77.js.map +0 -1
- package/dist/retry-JEWPK2B5.js +0 -63
- package/dist/retry-JEWPK2B5.js.map +0 -1
- package/dist/retry-SXFVLT3W.js +0 -61
- package/dist/retry-SXFVLT3W.js.map +0 -1
- package/dist/revenue-2MAYTXRM.js +0 -89
- package/dist/revenue-2MAYTXRM.js.map +0 -1
- package/dist/rule-writes-S3RN47OG.js +0 -523
- package/dist/rule-writes-S3RN47OG.js.map +0 -1
- package/dist/rules-CHWTFASP.js +0 -97
- package/dist/rules-CHWTFASP.js.map +0 -1
- package/dist/rules-KTJ2ZZ62.js +0 -217
- package/dist/rules-add-3M5TALWN.js +0 -463
- package/dist/rules-add-3M5TALWN.js.map +0 -1
- package/dist/run-2DLA6YO4.js +0 -68
- package/dist/run-JCGH2NHD.js +0 -67
- package/dist/run-JCGH2NHD.js.map +0 -1
- package/dist/scaffold-ad-VEW7JDY7.js +0 -1514
- package/dist/scaffold-ad-VEW7JDY7.js.map +0 -1
- package/dist/scaffold-static-ad-DYRL7DOS.js +0 -1013
- package/dist/scaffold-static-ad-DYRL7DOS.js.map +0 -1
- package/dist/scaffold-video-YRAVVKUH.js +0 -886
- package/dist/scaffold-video-YRAVVKUH.js.map +0 -1
- package/dist/schedule-WYIC6VNW.js +0 -62
- package/dist/schedule-WYIC6VNW.js.map +0 -1
- package/dist/scheduled-agents-FRBF4EOK.js +0 -55
- package/dist/schema-6Y3IXFDC.js +0 -69
- package/dist/schema-TC2O3FYY.js +0 -133
- package/dist/schema-TC2O3FYY.js.map +0 -1
- package/dist/search-VDW242BN.js +0 -175
- package/dist/search-VDW242BN.js.map +0 -1
- package/dist/select-O5HSSC36.js +0 -104
- package/dist/select-O5HSSC36.js.map +0 -1
- package/dist/sends-6FI7WELX.js +0 -348
- package/dist/sends-6FI7WELX.js.map +0 -1
- package/dist/set-prompt-TI7N64PJ.js +0 -196
- package/dist/set-prompt-TI7N64PJ.js.map +0 -1
- package/dist/setup-links-BM2FTXUZ.js +0 -142
- package/dist/setup-links-BM2FTXUZ.js.map +0 -1
- package/dist/shopify-FIHG5PYP.js +0 -3956
- package/dist/shopify-FIHG5PYP.js.map +0 -1
- package/dist/site-S3IGBMVC.js +0 -178
- package/dist/site-S3IGBMVC.js.map +0 -1
- package/dist/sources-77WLFY4Y.js +0 -30
- package/dist/sources-A4B3R5JC.js +0 -455
- package/dist/sources-A4B3R5JC.js.map +0 -1
- package/dist/stale-YIRCXDOK.js +0 -74
- package/dist/stale-YIRCXDOK.js.map +0 -1
- package/dist/status-6YNR647D.js +0 -63
- package/dist/status-6YNR647D.js.map +0 -1
- package/dist/studies-ZOEUY6YP.js +0 -250
- package/dist/studio-T5L7UEX6.js +0 -49
- package/dist/study-writes-DTGMCNFP.js +0 -468
- package/dist/study-writes-DTGMCNFP.js.map +0 -1
- package/dist/sync-FFVWHGLE.js +0 -55
- package/dist/sync-FFVWHGLE.js.map +0 -1
- package/dist/sync-definition-K4XOAG2B.js +0 -67
- package/dist/tags-5KIOGEKN.js +0 -21
- package/dist/tags-5KIOGEKN.js.map +0 -1
- package/dist/tags-BKAN5EAJ.js +0 -21
- package/dist/tags-BKAN5EAJ.js.map +0 -1
- package/dist/tags-ETOOYQ57.js +0 -26
- package/dist/tags-RPNK7TMO.js +0 -225
- package/dist/tags-RPNK7TMO.js.map +0 -1
- package/dist/tags-UM4QO46J.js +0 -21
- package/dist/tags-UM4QO46J.js.map +0 -1
- package/dist/targeting-VBQY3HUN.js +0 -760
- package/dist/targeting-VBQY3HUN.js.map +0 -1
- package/dist/targeting-criteria-L4DYIJZI.js +0 -113
- package/dist/targets-S6N7327Q.js +0 -104
- package/dist/targets-S6N7327Q.js.map +0 -1
- package/dist/testimonials-65N7IYN7.js +0 -32
- package/dist/themes-B4LCQUXB.js +0 -95
- package/dist/top-companies-SJKND75M.js +0 -109
- package/dist/top-companies-SJKND75M.js.map +0 -1
- package/dist/transcript-5I7I6DWL.js +0 -163
- package/dist/transcript-5I7I6DWL.js.map +0 -1
- package/dist/translate-SH6IG5Y7.js +0 -607
- package/dist/translate-SH6IG5Y7.js.map +0 -1
- package/dist/triggers-YRY3HTYU.js +0 -142
- package/dist/triggers-YRY3HTYU.js.map +0 -1
- package/dist/unlink-4B4YTQE4.js +0 -68
- package/dist/unlink-4B4YTQE4.js.map +0 -1
- package/dist/unstage-H5NTDJ6A.js +0 -86
- package/dist/unstage-H5NTDJ6A.js.map +0 -1
- package/dist/unstage-MDSSPUKV.js +0 -95
- package/dist/unstage-MDSSPUKV.js.map +0 -1
- package/dist/update-DI52JJGB.js +0 -99
- package/dist/update-DI52JJGB.js.map +0 -1
- package/dist/update-DMPDLMMV.js +0 -64
- package/dist/update-DMPDLMMV.js.map +0 -1
- package/dist/update-TUS4PJIG.js +0 -190
- package/dist/update-TUS4PJIG.js.map +0 -1
- package/dist/update-Z66LMXNS.js +0 -153
- package/dist/update-Z66LMXNS.js.map +0 -1
- package/dist/upload-7KQYZ7T7.js +0 -127
- package/dist/upload-7KQYZ7T7.js.map +0 -1
- package/dist/url-options-IHL4OU4C.js +0 -130
- package/dist/url-options-IHL4OU4C.js.map +0 -1
- package/dist/url-params-SDA2MWB5.js +0 -99
- package/dist/url-params-SDA2MWB5.js.map +0 -1
- package/dist/validate-ZABZNCSB.js +0 -120
- package/dist/validate-ZABZNCSB.js.map +0 -1
- package/dist/videos-BKVCCKIH.js +0 -41
- package/dist/viewer-check-B5O7ZY3Q.js +0 -81
- package/dist/web-KN3BTVG4.js +0 -141
- package/dist/web-KN3BTVG4.js.map +0 -1
- package/dist/winning-ads-JIDPISKM.js +0 -86
- package/dist/write-commands-K6M3RTVK.js +0 -1170
- package/dist/write-commands-K6M3RTVK.js.map +0 -1
- package/dist/write-commands-RVHLLLDR.js +0 -1498
- package/dist/write-commands-RVHLLLDR.js.map +0 -1
- package/dist/x-NLGWZCGX.js +0 -47
- /package/dist/{account-assets-O7IA37RE.js.map → account-assets-J5Z4URLQ.js.map} +0 -0
- /package/dist/{account-reads-SNOWDHHF.js.map → account-reads-FOEVPWDP.js.map} +0 -0
- /package/dist/{actions-Y4SULW2E.js.map → actions-QZDSLFFK.js.map} +0 -0
- /package/dist/{ads-2TVWICGM.js.map → ads-AYJAYLFR.js.map} +0 -0
- /package/dist/{ads-KBE5JXCH.js.map → ads-MAOI7S6V.js.map} +0 -0
- /package/dist/{adsets-YWBJFPAZ.js.map → adsets-QRKICEFD.js.map} +0 -0
- /package/dist/{animate-2BMHZ4FM.js.map → animate-HRWFVE2N.js.map} +0 -0
- /package/dist/{asset-writes-72DEVXGO.js.map → asset-writes-JLVUAVUZ.js.map} +0 -0
- /package/dist/{audiences-QAH42HIM.js.map → audiences-CDDI5HR5.js.map} +0 -0
- /package/dist/{avatars-P4UPNZM4.js.map → avatars-4HCGWBOL.js.map} +0 -0
- /package/dist/{brand-HALQWZWB.js.map → brand-C6OB6Q4U.js.map} +0 -0
- /package/dist/{campaigns-XZOQ2VTK.js.map → campaigns-HES5MDUG.js.map} +0 -0
- /package/dist/{campaigns-YMM5TQVO.js.map → campaigns-ZYU4BXDP.js.map} +0 -0
- /package/dist/{canvas-IJS7H3VE.js.map → canvas-AI34UBGU.js.map} +0 -0
- /package/dist/{catalog-TZLU5NWI.js.map → catalog-ZY3MFT55.js.map} +0 -0
- /package/dist/{changes-36C754R4.js.map → changes-OOUVQDBY.js.map} +0 -0
- /package/dist/{chatgpt-3WFOPURY.js.map → chatgpt-NAXIFWXV.js.map} +0 -0
- /package/dist/{chunk-NDFS3APP.js.map → chunk-3CHYJYSS.js.map} +0 -0
- /package/dist/{chunk-QW6HL7D6.js.map → chunk-3G3GC5N4.js.map} +0 -0
- /package/dist/{chunk-5XTGG4PV.js.map → chunk-3M45PYU7.js.map} +0 -0
- /package/dist/{chunk-Z7YMSHRZ.js.map → chunk-3QHXF3QI.js.map} +0 -0
- /package/dist/{chunk-MZCTX37B.js.map → chunk-3XPHUMLJ.js.map} +0 -0
- /package/dist/{chunk-MGYC2IRC.js.map → chunk-45EERHDB.js.map} +0 -0
- /package/dist/{chunk-ZFC562TP.js.map → chunk-4FGTANFK.js.map} +0 -0
- /package/dist/{chunk-PX3PUDK7.js.map → chunk-4IHWT7PH.js.map} +0 -0
- /package/dist/{chunk-PLBITHV6.js.map → chunk-4LF4AYPT.js.map} +0 -0
- /package/dist/{chunk-XGPU2VDU.js.map → chunk-4UQRXKYJ.js.map} +0 -0
- /package/dist/{chunk-SVBJ56T7.js.map → chunk-5JJD33Y2.js.map} +0 -0
- /package/dist/{chunk-I47BEKYK.js.map → chunk-5K4QYYOJ.js.map} +0 -0
- /package/dist/{chunk-MBSFEVOG.js.map → chunk-5LJ6E4YU.js.map} +0 -0
- /package/dist/{chunk-6Z7Y4KQB.js.map → chunk-5T73MMBL.js.map} +0 -0
- /package/dist/{chunk-R53XMPDO.js.map → chunk-64MAHLTK.js.map} +0 -0
- /package/dist/{chunk-JAC6JVCI.js.map → chunk-6OIKNJ7G.js.map} +0 -0
- /package/dist/{chunk-3YJNSUNF.js.map → chunk-6ZFSDYWV.js.map} +0 -0
- /package/dist/{chunk-TVAIOC77.js.map → chunk-7BUIOP36.js.map} +0 -0
- /package/dist/{chunk-ZEC46NWW.js.map → chunk-AN4OEQXE.js.map} +0 -0
- /package/dist/{chunk-TX7CQTD4.js.map → chunk-AULSX5ZA.js.map} +0 -0
- /package/dist/{chunk-MVD7QIXI.js.map → chunk-AVYUFJQQ.js.map} +0 -0
- /package/dist/{chunk-KQTNUDKD.js.map → chunk-B4YF7VQF.js.map} +0 -0
- /package/dist/{chunk-UKSSNYLU.js.map → chunk-BDOYNGUL.js.map} +0 -0
- /package/dist/{chunk-BRLZX3VP.js.map → chunk-BJOK7QD4.js.map} +0 -0
- /package/dist/{chunk-Z2DRGXBB.js.map → chunk-CMCGFSUS.js.map} +0 -0
- /package/dist/{chunk-KBRJSPIM.js.map → chunk-DMJUIUAL.js.map} +0 -0
- /package/dist/{chunk-HML3VQIW.js.map → chunk-DUCUOZLS.js.map} +0 -0
- /package/dist/{chunk-7HZSORAB.js.map → chunk-FJZYOVSW.js.map} +0 -0
- /package/dist/{chunk-GMHCHHAA.js.map → chunk-FKP4ECJY.js.map} +0 -0
- /package/dist/{chunk-RVEY7BTT.js.map → chunk-GNMEOU46.js.map} +0 -0
- /package/dist/{chunk-AYPBARKP.js.map → chunk-GYKYXWUQ.js.map} +0 -0
- /package/dist/{chunk-MUXKYSTI.js.map → chunk-GYPLRU4Y.js.map} +0 -0
- /package/dist/{chunk-YNYAT2TZ.js.map → chunk-I43ZEWJQ.js.map} +0 -0
- /package/dist/{chunk-4GAEB6NK.js.map → chunk-IZABTTW5.js.map} +0 -0
- /package/dist/{chunk-GACSA5A6.js.map → chunk-K7IE6UYV.js.map} +0 -0
- /package/dist/{chunk-BTJSGJNQ.js.map → chunk-KH5YHHJV.js.map} +0 -0
- /package/dist/{chunk-C7QQQVBS.js.map → chunk-KMY7AD3N.js.map} +0 -0
- /package/dist/{chunk-6KWEF6HF.js.map → chunk-KPCHWDJM.js.map} +0 -0
- /package/dist/{chunk-SWN6OHXG.js.map → chunk-KTZCLJ2D.js.map} +0 -0
- /package/dist/{chunk-A3IQAONL.js.map → chunk-MKUA54QE.js.map} +0 -0
- /package/dist/{chunk-FFFJBNHA.js.map → chunk-MTV2RSGY.js.map} +0 -0
- /package/dist/{chunk-G5Y7OIPL.js.map → chunk-N2QX57K3.js.map} +0 -0
- /package/dist/{chunk-OJGYYH6K.js.map → chunk-NB2FU6EZ.js.map} +0 -0
- /package/dist/{chunk-SCL7PM6P.js.map → chunk-NEYWS2DQ.js.map} +0 -0
- /package/dist/{chunk-TVTSA4EN.js.map → chunk-NWF2LRKO.js.map} +0 -0
- /package/dist/{chunk-W574NV67.js.map → chunk-OTC6UMJ2.js.map} +0 -0
- /package/dist/{chunk-QMDMTZAW.js.map → chunk-OUY2IAWL.js.map} +0 -0
- /package/dist/{chunk-FPWQA7TK.js.map → chunk-PJXNCRMR.js.map} +0 -0
- /package/dist/{chunk-ARUXGKZO.js.map → chunk-PYQ3GF7R.js.map} +0 -0
- /package/dist/{chunk-DUR7PEJI.js.map → chunk-Q3EIVZAR.js.map} +0 -0
- /package/dist/{chunk-OBJCNGZL.js.map → chunk-QDQZ62FL.js.map} +0 -0
- /package/dist/{chunk-LRV6M2WB.js.map → chunk-QHZE62GP.js.map} +0 -0
- /package/dist/{chunk-PLAOK4AK.js.map → chunk-RGR6TSTJ.js.map} +0 -0
- /package/dist/{chunk-HSQRITKG.js.map → chunk-SAAXU7QR.js.map} +0 -0
- /package/dist/{chunk-H4NNQGG6.js.map → chunk-SHTKLRI6.js.map} +0 -0
- /package/dist/{chunk-MZPS46OR.js.map → chunk-SIKCVWM3.js.map} +0 -0
- /package/dist/{chunk-RFIUOQLN.js.map → chunk-SSXG53CZ.js.map} +0 -0
- /package/dist/{chunk-5SRUAGTG.js.map → chunk-TBWAM577.js.map} +0 -0
- /package/dist/{chunk-AIRD6T4W.js.map → chunk-TGPGQTZA.js.map} +0 -0
- /package/dist/{chunk-F4YQ5PVR.js.map → chunk-UMIX2BMM.js.map} +0 -0
- /package/dist/{chunk-ZNRGH4NS.js.map → chunk-URMAEVZO.js.map} +0 -0
- /package/dist/{chunk-QBRPM3DQ.js.map → chunk-VBO3ZVUU.js.map} +0 -0
- /package/dist/{chunk-N7M2TWR5.js.map → chunk-VFLYMHTO.js.map} +0 -0
- /package/dist/{chunk-XQXZJ5IR.js.map → chunk-VGYIVXIZ.js.map} +0 -0
- /package/dist/{chunk-AQOFQNKQ.js.map → chunk-VIB7R533.js.map} +0 -0
- /package/dist/{chunk-D3KLDIPQ.js.map → chunk-WLESMH4J.js.map} +0 -0
- /package/dist/{chunk-SM7G7RUA.js.map → chunk-WVWLPXBO.js.map} +0 -0
- /package/dist/{chunk-5RVQK3SP.js.map → chunk-XEH5XAP6.js.map} +0 -0
- /package/dist/{chunk-P6BKKUSX.js.map → chunk-XEOKVL4E.js.map} +0 -0
- /package/dist/{chunk-FFG2OYVV.js.map → chunk-XOGQJYXH.js.map} +0 -0
- /package/dist/{chunk-YMF2RG4Z.js.map → chunk-XUXRA7IB.js.map} +0 -0
- /package/dist/{connect-PP6Z3F7Y.js.map → connect-IAXSZPGA.js.map} +0 -0
- /package/dist/{conversion-upload-command-KTYAY7IG.js.map → conversion-upload-command-IHFKVX2M.js.map} +0 -0
- /package/dist/{creatives-JPKA2RHU.js.map → creatives-BB6S2OF6.js.map} +0 -0
- /package/dist/{creatives-UJDPD4CI.js.map → creatives-BZEVJ6ER.js.map} +0 -0
- /package/dist/{currency-R4ORE2U3.js.map → currency-CGKO5GKH.js.map} +0 -0
- /package/dist/{custom-conversions-5HJBB5XL.js.map → custom-conversions-HAGG72LF.js.map} +0 -0
- /package/dist/{customers-7J3QGSOJ.js.map → customers-NKKU6S7G.js.map} +0 -0
- /package/dist/{discover-GSJRZUOC.js.map → discover-VM3O7CQM.js.map} +0 -0
- /package/dist/{draft-WYDMLNYA.js.map → draft-CRDBU6LF.js.map} +0 -0
- /package/dist/{fit-N7WDGWYZ.js.map → fit-Q5GRVF2O.js.map} +0 -0
- /package/dist/{fonts-TTUAP7HS.js.map → fonts-GD4YRXQU.js.map} +0 -0
- /package/dist/{forecast-4AG5F7YC.js.map → forecast-ONVS2QAI.js.map} +0 -0
- /package/dist/{generate-NWHPM2GQ.js.map → generate-VBEY3N3L.js.map} +0 -0
- /package/dist/{google-NAA4BASO.js.map → google-7EZP7I6J.js.map} +0 -0
- /package/dist/{ideas-SUXKKZC7.js.map → ideas-WX7EBPSF.js.map} +0 -0
- /package/dist/{images-VKVZ3DWG.js.map → images-4AXF4LAC.js.map} +0 -0
- /package/dist/{ingest-BBBFT6FZ.js.map → ingest-C3M4GUO6.js.map} +0 -0
- /package/dist/{intent-NSHW7EJT.js.map → intent-ZMYMFGB4.js.map} +0 -0
- /package/dist/{keyword-gap-ITTWKBWZ.js.map → keyword-gap-XSJO2R77.js.map} +0 -0
- /package/dist/{landing-KZ4OSHHR.js.map → landing-MUNYZQNA.js.map} +0 -0
- /package/dist/{languages-MEFQQBJ2.js.map → languages-DIQ3OG3E.js.map} +0 -0
- /package/dist/{line-items-G5YJG25N.js.map → line-items-JR25T2C5.js.map} +0 -0
- /package/dist/{locations-RLWAS6AC.js.map → locations-HTVYJSDJ.js.map} +0 -0
- /package/dist/{lookup-ZJIP2M4X.js.map → lookup-S5VG7AWH.js.map} +0 -0
- /package/dist/{media-ZWN7E777.js.map → media-P4T4ZBNS.js.map} +0 -0
- /package/dist/{media-sources-GKSEDSE3.js.map → media-sources-P246GM7W.js.map} +0 -0
- /package/dist/{meta-EHKXH257.js.map → meta-IPLWNYC7.js.map} +0 -0
- /package/dist/{metrics-K6FDCMK7.js.map → metrics-WYWUX6Y5.js.map} +0 -0
- /package/dist/{models-JQEPSPNQ.js.map → models-HJ7Y55AH.js.map} +0 -0
- /package/dist/{performance-6TPJGM6A.js.map → performance-J3DLNI2W.js.map} +0 -0
- /package/dist/{promoted-tweets-7P4TSQU7.js.map → promoted-tweets-W42FNWS7.js.map} +0 -0
- /package/dist/{query-QM7MBQD7.js.map → query-IQICLABN.js.map} +0 -0
- /package/dist/{reddit-SN5CESF4.js.map → reddit-X4CERXYF.js.map} +0 -0
- /package/dist/{relevant-pages-VOICMQ7U.js.map → relevant-pages-UDDQOYLD.js.map} +0 -0
- /package/dist/{research-QU63CJB5.js.map → research-D5UUJF74.js.map} +0 -0
- /package/dist/{rules-KTJ2ZZ62.js.map → rules-ZVS2MWED.js.map} +0 -0
- /package/dist/{run-2DLA6YO4.js.map → run-T7XAH2W5.js.map} +0 -0
- /package/dist/{scheduled-agents-FRBF4EOK.js.map → scheduled-agents-ZGCUZ6SB.js.map} +0 -0
- /package/dist/{schema-6Y3IXFDC.js.map → schema-D6BMZAPB.js.map} +0 -0
- /package/dist/{sources-77WLFY4Y.js.map → sources-DVMJEXEX.js.map} +0 -0
- /package/dist/{studies-ZOEUY6YP.js.map → studies-EPO2AM4M.js.map} +0 -0
- /package/dist/{studio-T5L7UEX6.js.map → studio-5Z4NMA4K.js.map} +0 -0
- /package/dist/{sync-definition-K4XOAG2B.js.map → sync-definition-F3CXG6KG.js.map} +0 -0
- /package/dist/{tags-ETOOYQ57.js.map → tags-SEZ2CQJM.js.map} +0 -0
- /package/dist/{targeting-criteria-L4DYIJZI.js.map → targeting-criteria-AU5CSMAU.js.map} +0 -0
- /package/dist/{testimonials-65N7IYN7.js.map → testimonials-Y6PUV6AL.js.map} +0 -0
- /package/dist/{themes-B4LCQUXB.js.map → themes-PGPIAKAO.js.map} +0 -0
- /package/dist/{videos-BKVCCKIH.js.map → videos-SVZV5YYC.js.map} +0 -0
- /package/dist/{viewer-check-B5O7ZY3Q.js.map → viewer-check-LUAEGV6H.js.map} +0 -0
- /package/dist/{winning-ads-JIDPISKM.js.map → winning-ads-KNLJHHCO.js.map} +0 -0
- /package/dist/{x-NLGWZCGX.js.map → x-ZQNHYIDU.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/ads/linkedin/draft.ts","../src/commands/ads/linkedin/draft-status.ts"],"sourcesContent":["import type {\n LinkedinDraftAmendRequest,\n LinkedinDraftClearResponse,\n LinkedinDraftListResponse,\n LinkedinDraftRemoveResponse,\n LinkedinDraftShowRequest,\n LinkedinDraftShowResponse,\n LinkedinDraftStageResponse,\n} from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { apiPost } from \"../../../client.ts\";\nimport { requireChatId, resolveChatId } from \"../../../env.ts\";\nimport { CHAT_READ_ARG } from \"../../chat-arg.ts\";\nimport { hintLines } from \"../hints.ts\";\nimport { writeJsonEnvelope } from \"../output.ts\";\nimport { renderDraftStatus } from \"./draft-status.ts\";\nimport { handleLinkedinError } from \"./shared.ts\";\nimport { loadPatchArg, requireTarget } from \"./write-shared.ts\";\n\n/**\n * List the staged draft. By default renders a readable Campaign group ▸ Campaign ▸ Creative status\n * tree so the agent can review everything it has staged at a glance; `--json` returns the raw\n * envelope for tools.\n */\nasync function listDraft(json: boolean, chat?: unknown): Promise<void> {\n try {\n const chatId = resolveChatId(chat);\n const response = await apiPost<{ ok: boolean; data?: LinkedinDraftListResponse }>(\"/api/ads/linkedin/draft\", {\n chatId,\n });\n if (json || !response.ok || !response.data) {\n writeJsonEnvelope(response);\n return;\n }\n process.stdout.write(`${renderDraftStatus(response.data)}${hintLines(response)}\\n`);\n } catch (err) {\n handleLinkedinError(err);\n }\n}\n\nconst listCommand = defineCommand({\n meta: {\n name: \"list\",\n description:\n \"Review everything staged as a Campaign group ▸ Campaign ▸ Creative tree (--json for the raw envelope). Example: baker ads linkedin draft\",\n },\n args: {\n json: { type: \"boolean\", description: \"Print the raw JSON envelope instead of the readable tree\" },\n chat: CHAT_READ_ARG,\n },\n run: async ({ args }) => {\n await listDraft(args.json === true, args.chat);\n },\n});\n\nconst removeCommand = defineCommand({\n meta: {\n name: \"remove\",\n description:\n \"Drop one staged LinkedIn op. Removing a create cascades to everything that depends on it — except a company exclusion, which only loses the removed audience and keeps its companies (listed under `updated`). Example: baker ads linkedin draft remove li_temp_abc123\",\n },\n args: {\n ref: {\n type: \"positional\",\n description: \"Op ref (li_temp_* for creates, target id/URN for updates)\",\n required: true,\n },\n },\n run: async ({ args }) => {\n try {\n const chatId = requireChatId();\n const response = await apiPost<{ ok: true; data: LinkedinDraftRemoveResponse }>(\n \"/api/ads/linkedin/draft/remove\",\n { chatId, ref: args.ref },\n );\n writeJsonEnvelope(response);\n } catch (err) {\n handleLinkedinError(err);\n }\n },\n});\n\nconst clearCommand = defineCommand({\n meta: {\n name: \"clear\",\n description:\n \"Discard ALL staged LinkedIn ops in this chat's draft — nothing will apply on publish. Example: baker ads linkedin draft clear\",\n },\n run: async () => {\n try {\n const chatId = requireChatId();\n const response = await apiPost<{ ok: true; data: LinkedinDraftClearResponse }>(\"/api/ads/linkedin/draft/clear\", {\n chatId,\n });\n writeJsonEnvelope(response);\n } catch (err) {\n handleLinkedinError(err);\n }\n },\n});\n\nconst amendCommand = defineCommand({\n meta: {\n name: \"amend\",\n description:\n \"Update a staged op in place — merges a JSON patch into its payload (RFC-7386: objects deep-merge, null deletes a key, arrays/scalars replace) and re-validates. Use this instead of remove + re-create.\",\n },\n args: {\n ref: { type: \"positional\", description: \"Staged op ref (li_temp_*) or target id/URN\", required: true },\n file: { type: \"string\", description: \"JSON file with the patch object\" },\n patch: { type: \"string\", description: \"Inline JSON patch object\" },\n },\n run: async ({ args }) => {\n const ref = requireTarget(args as Record<string, unknown>, \"op\");\n const patch = loadPatchArg(args as Record<string, unknown>);\n try {\n const chatId = requireChatId();\n const body: LinkedinDraftAmendRequest = { chatId, ref, patch };\n const response = await apiPost<{ ok: true; data: LinkedinDraftStageResponse }>(\n \"/api/ads/linkedin/draft/amend\",\n body,\n );\n writeJsonEnvelope(response);\n } catch (err) {\n handleLinkedinError(err);\n }\n },\n});\n\nconst showCommand = defineCommand({\n meta: {\n name: \"show\",\n description:\n \"Print the full staged payload for one op — the receipt to verify a change looks right before publish (never truncated).\",\n },\n args: {\n ref: { type: \"positional\", description: \"Staged op ref (li_temp_*) or target id/URN\", required: true },\n chat: CHAT_READ_ARG,\n },\n run: async ({ args }) => {\n const ref = requireTarget(args as Record<string, unknown>, \"op\");\n try {\n const chatId = resolveChatId(args.chat);\n const body: LinkedinDraftShowRequest = { chatId, ref };\n const response = await apiPost<{ ok: true; data: LinkedinDraftShowResponse }>(\n \"/api/ads/linkedin/draft/show\",\n body,\n );\n writeJsonEnvelope(response);\n } catch (err) {\n handleLinkedinError(err);\n }\n },\n});\n\nexport const linkedinDraftCommand = defineCommand({\n meta: {\n name: \"draft\",\n description:\n \"Review and edit the LinkedIn write ops staged in this chat BEFORE publish. Subcommands: list (default), remove, clear, amend, show. Ops never hit LinkedIn until the chat is published. `list` and `show` take --chat <id> to read an earlier chat's changes instead.\",\n },\n // Declared on the parent too: `default: \"list\"` dispatches the bare `draft --chat <id>` form, and\n // citty prints help for a flag the parent does not know instead of forwarding it.\n args: { chat: CHAT_READ_ARG },\n subCommands: {\n list: listCommand,\n remove: removeCommand,\n clear: clearCommand,\n amend: amendCommand,\n show: showCommand,\n },\n // A parent must never declare `run`: citty falls through to it *after* running\n // the matched subcommand, so `draft show <ref>` would also re-list the draft.\n default: \"list\",\n});\n","import type { LinkedinDraftListResponse, LinkedinDraftStatusCollection, LinkedinDraftStatusNode } from \"@baker/api\";\n\n/**\n * Render the staged LinkedIn draft as a readable Campaign group ▸ Campaign ▸ Creative tree — the\n * CLI counterpart to `ads google draft list`'s campaign ▸ ad group ▸ ad tree, using the identical\n * node shape (`LinkedinDraftStatusNode` mirrors `GoogleDraftStatusNode`). Pure: takes the draft-list\n * response, returns text.\n */\n\nconst OPERATION_LABELS: Record<string, string> = {\n create: \"Creating\",\n update: \"Updating\",\n pause: \"Pausing\",\n resume: \"Resuming\",\n archive: \"Archiving\",\n delete: \"Deleting\",\n};\n\nfunction badge(node: LinkedinDraftStatusNode): string {\n const label = node.operation ? OPERATION_LABELS[node.operation] : undefined;\n if (label) {\n return label;\n }\n return node.existing ? \"on LinkedIn\" : \"staged\";\n}\n\nfunction collectionLine(collection: LinkedinDraftStatusCollection): string | undefined {\n const parts: string[] = [];\n if (collection.added > 0) {\n parts.push(`+${collection.added}`);\n }\n if (collection.existing > 0) {\n parts.push(`${collection.existing} existing`);\n }\n if (collection.removed > 0) {\n parts.push(`-${collection.removed}`);\n }\n return parts.length > 0 ? `${collection.label}: ${parts.join(\", \")}` : undefined;\n}\n\n/**\n * Every ad account the tree touches. A draft may legitimately span several, and\n * two accounts can hold identically-named campaigns — so the account is printed\n * on each node once there is more than one, and left off when there is not.\n */\nfunction accountsInTree(nodes: readonly LinkedinDraftStatusNode[]): Set<string> {\n const accounts = new Set<string>();\n const walk = (node: LinkedinDraftStatusNode): void => {\n accounts.add(node.accountId);\n for (const child of node.children) {\n walk(child);\n }\n };\n for (const node of nodes) {\n walk(node);\n }\n return accounts;\n}\n\nfunction renderNode(node: LinkedinDraftStatusNode, depth: number, lines: string[], showAccount: boolean): void {\n const indent = \" \".repeat(depth);\n const account = showAccount ? ` · account ${node.accountId}` : \"\";\n lines.push(`${indent}• ${node.name} · ${badge(node)}${account}`);\n for (const warning of node.warnings ?? []) {\n lines.push(`${indent} ⚠ ${warning}`);\n }\n for (const collection of node.collections) {\n const line = collectionLine(collection);\n if (line) {\n lines.push(`${indent} ${line}`);\n }\n }\n for (const child of node.children) {\n renderNode(child, depth + 1, lines, showAccount);\n }\n}\n\nfunction renderSection(title: string, nodes: LinkedinDraftStatusNode[], lines: string[], showAccount: boolean): void {\n if (nodes.length === 0) {\n return;\n }\n lines.push(\"\");\n lines.push(title);\n for (const node of nodes) {\n renderNode(node, 1, lines, showAccount);\n }\n}\n\n/** Campaign group ▸ Campaign ▸ Creative roots go under \"Campaigns\" (campaign group is the group parent). */\nconst CAMPAIGN_TREE_ENTITIES = new Set([\"campaignGroup\", \"campaign\", \"creative\"]);\n\n/**\n * What the publish did, once there is a publish to report.\n *\n * A published draft used to render exactly like a staged one — same count, same\n * tree, no mention of the outcome — so the surface an agent reaches for to see\n * what a publish did could not answer, and a publish that changed LinkedIn and\n * then failed to finish was indistinguishable from one that had not run yet.\n * The per-op results were in the response the whole time; only the renderer\n * dropped them.\n */\nfunction renderOutcome(data: LinkedinDraftListResponse, lines: string[]): void {\n const counts = new Map<string, number>();\n for (const op of data.ops ?? []) {\n const status = op.result?.status ?? \"pending\";\n counts.set(status, (counts.get(status) ?? 0) + 1);\n }\n const summary = [...counts].map(([status, count]) => `${count} ${status}`).join(\", \");\n lines.push(`LinkedIn Ads — published · ${summary || `${data.count} op(s)`} · ${data.mode}`);\n // A failure is the reason to read this at all, so it is named with its error\n // rather than left as a number to go and look up.\n for (const op of data.ops ?? []) {\n const status = op.result?.status;\n // An audience whose segment was created but whose rule or rows did not\n // land is `applied` with an error: it exists on LinkedIn and stays empty.\n if (status === \"applied\" && op.result?.error) {\n lines.push(` ⚠ ${op.summary} — applied in part: ${op.result.error}`);\n continue;\n }\n if (status !== \"failed\" && status !== \"skipped\") {\n continue;\n }\n const reason = op.result?.error ?? op.result?.skippedBecause ?? \"no reason recorded\";\n lines.push(` ✗ ${op.summary} — ${status}: ${reason}`);\n }\n}\n\nexport function renderDraftStatus(data: LinkedinDraftListResponse): string {\n if (data.status === \"none\" || data.count === 0) {\n return \"No staged LinkedIn changes on this chat.\";\n }\n const modeNote =\n data.mode === \"live\"\n ? \"Live — publishing writes directly to LinkedIn.\"\n : \"Simulated — publishing completes the whole draft without calling LinkedIn.\";\n const lines: string[] = [];\n if (data.status === \"applied\") {\n renderOutcome(data, lines);\n } else if (data.status === \"publishing\") {\n lines.push(`LinkedIn Ads — publishing ${data.count} change${data.count === 1 ? \"\" : \"s\"} · ${data.mode}`);\n } else {\n lines.push(`LinkedIn Ads — ${data.count} staged change${data.count === 1 ? \"\" : \"s\"} · ${data.mode}`);\n }\n lines.push(modeNote);\n\n const tree = data.tree ?? [];\n const showAccount = accountsInTree(tree).size > 1;\n renderSection(\n \"Campaigns\",\n tree.filter((node) => CAMPAIGN_TREE_ENTITIES.has(node.entity)),\n lines,\n showAccount,\n );\n const rest = tree.filter((node) => !CAMPAIGN_TREE_ENTITIES.has(node.entity));\n renderSection(\"Other\", rest, lines, showAccount);\n\n return lines.join(\"\\n\");\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CHAT_READ_ARG
|
|
3
|
+
} from "./chunk-PFBQERWX.js";
|
|
4
|
+
import {
|
|
5
|
+
failApi,
|
|
6
|
+
failValidation,
|
|
7
|
+
isTempId
|
|
8
|
+
} from "./chunk-SAAXU7QR.js";
|
|
9
|
+
import {
|
|
10
|
+
REMOVABLE_DRAFT_OP_KINDS
|
|
11
|
+
} from "./chunk-NZ34KM46.js";
|
|
12
|
+
import "./chunk-CAZGM2NX.js";
|
|
13
|
+
import "./chunk-NZS3KEQ2.js";
|
|
14
|
+
import "./chunk-GIWHHCD6.js";
|
|
15
|
+
import "./chunk-SOPVIIUW.js";
|
|
16
|
+
import "./chunk-G4FG5EQO.js";
|
|
17
|
+
import "./chunk-NSBNIPIW.js";
|
|
18
|
+
import "./chunk-MUS2UTWU.js";
|
|
19
|
+
import {
|
|
20
|
+
apiPost,
|
|
21
|
+
validateConvexId
|
|
22
|
+
} from "./chunk-X7VQFLHI.js";
|
|
23
|
+
import "./chunk-LU4HI4KI.js";
|
|
24
|
+
import {
|
|
25
|
+
requireChatId,
|
|
26
|
+
resolveChatId
|
|
27
|
+
} from "./chunk-LGK7UWBN.js";
|
|
28
|
+
import {
|
|
29
|
+
registerSchema,
|
|
30
|
+
writeJson,
|
|
31
|
+
writeOutput
|
|
32
|
+
} from "./chunk-Q7US4OOA.js";
|
|
33
|
+
import "./chunk-YQSBHWOI.js";
|
|
34
|
+
|
|
35
|
+
// src/commands/actions/draft.ts
|
|
36
|
+
import { defineCommand } from "citty";
|
|
37
|
+
var REMOVE_OP_KINDS = REMOVABLE_DRAFT_OP_KINDS;
|
|
38
|
+
registerSchema({
|
|
39
|
+
command: "actions.draft.list",
|
|
40
|
+
description: "Review the action ops staged in THIS chat's draft before publish (creates/updates/completes/discards/links). Staged ops are invisible to `actions list`/`status` until the chat publishes \u2014 use this to verify what will apply and catch duplicates. Takes --chat <id> to read an earlier chat's staged ops instead. Start here: `baker actions draft --output md` for a one-row-per-op table; add --fields to pick columns.",
|
|
41
|
+
args: {
|
|
42
|
+
chat: { type: "string", description: CHAT_READ_ARG.description, required: false },
|
|
43
|
+
output: {
|
|
44
|
+
type: "string",
|
|
45
|
+
description: "Output format: json (default, full envelope with status/count/warnings) | md | files. md and files render one row per staged op.",
|
|
46
|
+
required: false,
|
|
47
|
+
enum: ["json", "md", "files"]
|
|
48
|
+
},
|
|
49
|
+
fields: {
|
|
50
|
+
type: "string",
|
|
51
|
+
description: "Comma-separated columns for md/files output, e.g. kind,name,ref,tags",
|
|
52
|
+
required: false
|
|
53
|
+
},
|
|
54
|
+
full: {
|
|
55
|
+
type: "boolean",
|
|
56
|
+
description: "Include each op's payload (description, note, reason, blocker) in md/files output",
|
|
57
|
+
required: false,
|
|
58
|
+
default: false
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
var OUTPUT_ARGS = {
|
|
63
|
+
output: { type: "string", description: "Output format: json|md|files", required: false, default: "json" },
|
|
64
|
+
fields: { type: "string", description: "Comma-separated field names to include (md/files)", required: false },
|
|
65
|
+
full: { type: "boolean", description: "Include each op's full payload", required: false, default: false }
|
|
66
|
+
};
|
|
67
|
+
function text(value) {
|
|
68
|
+
return typeof value === "string" ? value : "";
|
|
69
|
+
}
|
|
70
|
+
function draftOpNormalizer(record, full) {
|
|
71
|
+
const compact = {
|
|
72
|
+
kind: text(record.kind),
|
|
73
|
+
name: text(record.targetName),
|
|
74
|
+
ref: text(record.tempId) || text(record.targetActionId),
|
|
75
|
+
tags: Array.isArray(record.tags) ? record.tags.join(",") : ""
|
|
76
|
+
};
|
|
77
|
+
if (!full) {
|
|
78
|
+
return compact;
|
|
79
|
+
}
|
|
80
|
+
return {
|
|
81
|
+
...compact,
|
|
82
|
+
description: text(record.description),
|
|
83
|
+
note: text(record.note),
|
|
84
|
+
reason: text(record.reason),
|
|
85
|
+
blocker: text(record.blockerTempId) || text(record.blockerActionId) || text(record.blockerName)
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
registerSchema({
|
|
89
|
+
command: "actions.draft.remove",
|
|
90
|
+
description: "Drop a single staged action op from this chat's draft before publish. For a tempId, removing the create cascades into its complete/link ops. For a real action ID, pass --op to say which op to drop. Use this to UNDO a staged op \u2014 never stage `complete` to delete an action.",
|
|
91
|
+
args: {
|
|
92
|
+
ref: { type: "string", description: "tempId (temp_*) or real action ID to drop from the draft", required: true },
|
|
93
|
+
op: {
|
|
94
|
+
type: "string",
|
|
95
|
+
description: "Required for real action IDs: which op to drop (update|complete|discard|assign|reopen)",
|
|
96
|
+
required: false
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
registerSchema({
|
|
101
|
+
command: "actions.draft.clear",
|
|
102
|
+
description: "Discard ALL staged action ops in this chat's draft before publish. Nothing applies on publish. Does not touch already-published actions.",
|
|
103
|
+
args: {}
|
|
104
|
+
});
|
|
105
|
+
var listCommand = defineCommand({
|
|
106
|
+
meta: {
|
|
107
|
+
name: "list",
|
|
108
|
+
description: "Show every action op staged in this chat's draft, with footgun warnings. Example: baker actions draft --output md"
|
|
109
|
+
},
|
|
110
|
+
args: { chat: CHAT_READ_ARG, ...OUTPUT_ARGS },
|
|
111
|
+
run: async ({ args }) => {
|
|
112
|
+
try {
|
|
113
|
+
const chatId = resolveChatId(args.chat);
|
|
114
|
+
const response = await apiPost("/api/actions/draft", { chatId });
|
|
115
|
+
const format = args.output === "md" || args.output === "files" ? args.output : "json";
|
|
116
|
+
if (format === "json") {
|
|
117
|
+
writeJson(response);
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
writeOutput(
|
|
121
|
+
{ ok: true, data: response.data.ops },
|
|
122
|
+
format,
|
|
123
|
+
args.fields ? args.fields.split(",") : void 0,
|
|
124
|
+
args.full,
|
|
125
|
+
draftOpNormalizer
|
|
126
|
+
);
|
|
127
|
+
process.stderr.write(`draft status: ${response.data.status}, ${response.data.count} op(s)
|
|
128
|
+
`);
|
|
129
|
+
for (const warning of response.data.warnings) {
|
|
130
|
+
process.stderr.write(`warning: ${warning.tempId} \u2014 ${warning.name}
|
|
131
|
+
`);
|
|
132
|
+
}
|
|
133
|
+
} catch (err) {
|
|
134
|
+
failApi(err);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
var removeCommand = defineCommand({
|
|
139
|
+
meta: {
|
|
140
|
+
name: "remove",
|
|
141
|
+
description: "Drop one staged op from the draft. Example: baker actions draft remove temp_abc123 | baker actions draft remove jx7... --op complete"
|
|
142
|
+
},
|
|
143
|
+
args: {
|
|
144
|
+
ref: { type: "positional", description: "tempId or real action ID", required: false },
|
|
145
|
+
op: {
|
|
146
|
+
type: "string",
|
|
147
|
+
description: "Op kind for real IDs: update|complete|discard|assign|reopen",
|
|
148
|
+
required: false
|
|
149
|
+
}
|
|
150
|
+
},
|
|
151
|
+
run: async ({ args }) => {
|
|
152
|
+
try {
|
|
153
|
+
const ref = args.ref;
|
|
154
|
+
if (!ref) {
|
|
155
|
+
failValidation("A tempId or action ID is required.");
|
|
156
|
+
}
|
|
157
|
+
const chatId = requireChatId();
|
|
158
|
+
if (isTempId(ref)) {
|
|
159
|
+
await apiPost("/api/actions/draft-op/remove", {
|
|
160
|
+
chatId,
|
|
161
|
+
target: { kind: "tempId", tempId: ref }
|
|
162
|
+
});
|
|
163
|
+
writeJson({ ok: true, data: { removed: ref, kind: "tempId" } });
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
validateConvexId(ref);
|
|
167
|
+
const op = args.op;
|
|
168
|
+
if (!op || !REMOVE_OP_KINDS.includes(op)) {
|
|
169
|
+
failValidation(
|
|
170
|
+
`Removing a staged op for a real action ID requires --op (one of: ${REMOVE_OP_KINDS.join("|")}).`
|
|
171
|
+
);
|
|
172
|
+
}
|
|
173
|
+
await apiPost("/api/actions/draft-op/remove", {
|
|
174
|
+
chatId,
|
|
175
|
+
target: { kind: "actionId", actionId: ref, opKind: op }
|
|
176
|
+
});
|
|
177
|
+
writeJson({ ok: true, data: { removed: ref, kind: "actionId", op } });
|
|
178
|
+
} catch (err) {
|
|
179
|
+
failApi(err);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
var clearCommand = defineCommand({
|
|
184
|
+
meta: {
|
|
185
|
+
name: "clear",
|
|
186
|
+
description: "Discard every staged op in this chat's draft. Example: baker actions draft clear"
|
|
187
|
+
},
|
|
188
|
+
run: async () => {
|
|
189
|
+
try {
|
|
190
|
+
const chatId = requireChatId();
|
|
191
|
+
await apiPost("/api/actions/draft/clear", { chatId });
|
|
192
|
+
writeJson({ ok: true, data: { cleared: true } });
|
|
193
|
+
} catch (err) {
|
|
194
|
+
failApi(err);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
});
|
|
198
|
+
var draftCommand = defineCommand({
|
|
199
|
+
meta: {
|
|
200
|
+
name: "draft",
|
|
201
|
+
description: "Review and edit the action ops staged in this chat BEFORE publish. Subcommands: list (default), remove, clear. Staged ops are invisible to `actions list`/`status` until publish, so check here before finishing. `list` takes --chat <id> to read an earlier chat's staged ops instead."
|
|
202
|
+
},
|
|
203
|
+
// Declared on the parent too: `default: "list"` dispatches the bare `draft --chat <id>` form, and
|
|
204
|
+
// citty prints help for a flag the parent does not know instead of forwarding it.
|
|
205
|
+
args: { chat: CHAT_READ_ARG, ...OUTPUT_ARGS },
|
|
206
|
+
subCommands: {
|
|
207
|
+
list: listCommand,
|
|
208
|
+
remove: removeCommand,
|
|
209
|
+
clear: clearCommand
|
|
210
|
+
},
|
|
211
|
+
// Bare `baker actions draft` (no subcommand) shows the staged ops. This must be
|
|
212
|
+
// `default`, not `run`: citty falls through to `run` after dispatching a subcommand,
|
|
213
|
+
// so a `run` here would also list the draft on every `remove` / `clear`.
|
|
214
|
+
default: "list"
|
|
215
|
+
});
|
|
216
|
+
export {
|
|
217
|
+
draftCommand,
|
|
218
|
+
draftOpNormalizer
|
|
219
|
+
};
|
|
220
|
+
//# sourceMappingURL=draft-YBNL4ZZA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/actions/draft.ts"],"sourcesContent":["import {\n type ActionsDraftClearResponse,\n type ActionsDraftResponse,\n type ActionsRemoveDraftOpResponse,\n REMOVABLE_DRAFT_OP_KINDS,\n} from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { apiPost, validateConvexId } from \"../../client.ts\";\nimport { requireChatId, resolveChatId } from \"../../env.ts\";\nimport { type OutputFormat, writeJson, writeOutput } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { CHAT_READ_ARG } from \"../chat-arg.ts\";\nimport { failApi, failValidation, isTempId } from \"./shared.ts\";\n\ntype RemoveOpKind = (typeof REMOVABLE_DRAFT_OP_KINDS)[number];\nconst REMOVE_OP_KINDS: readonly RemoveOpKind[] = REMOVABLE_DRAFT_OP_KINDS;\n\nregisterSchema({\n command: \"actions.draft.list\",\n description:\n \"Review the action ops staged in THIS chat's draft before publish (creates/updates/completes/discards/links). Staged ops are invisible to `actions list`/`status` until the chat publishes — use this to verify what will apply and catch duplicates. Takes --chat <id> to read an earlier chat's staged ops instead. Start here: `baker actions draft --output md` for a one-row-per-op table; add --fields to pick columns.\",\n args: {\n chat: { type: \"string\", description: CHAT_READ_ARG.description, required: false },\n output: {\n type: \"string\",\n description:\n \"Output format: json (default, full envelope with status/count/warnings) | md | files. md and files render one row per staged op.\",\n required: false,\n enum: [\"json\", \"md\", \"files\"],\n },\n fields: {\n type: \"string\",\n description: \"Comma-separated columns for md/files output, e.g. kind,name,ref,tags\",\n required: false,\n },\n full: {\n type: \"boolean\",\n description: \"Include each op's payload (description, note, reason, blocker) in md/files output\",\n required: false,\n default: false,\n },\n },\n});\n\nconst OUTPUT_ARGS = {\n output: { type: \"string\", description: \"Output format: json|md|files\", required: false, default: \"json\" },\n fields: { type: \"string\", description: \"Comma-separated field names to include (md/files)\", required: false },\n full: { type: \"boolean\", description: \"Include each op's full payload\", required: false, default: false },\n} as const;\n\nfunction text(value: unknown): string {\n return typeof value === \"string\" ? value : \"\";\n}\n\n/**\n * One staged op as a table row. `ref` is the handle the agent needs next —\n * `draft remove <ref>`, `update <ref>` — which is the tempId for a staged create\n * and the real action id for an op against a published action.\n */\nexport function draftOpNormalizer(record: Record<string, unknown>, full: boolean): Record<string, unknown> {\n const compact = {\n kind: text(record.kind),\n name: text(record.targetName),\n ref: text(record.tempId) || text(record.targetActionId),\n tags: Array.isArray(record.tags) ? record.tags.join(\",\") : \"\",\n };\n if (!full) {\n return compact;\n }\n return {\n ...compact,\n description: text(record.description),\n note: text(record.note),\n reason: text(record.reason),\n blocker: text(record.blockerTempId) || text(record.blockerActionId) || text(record.blockerName),\n };\n}\n\nregisterSchema({\n command: \"actions.draft.remove\",\n description:\n \"Drop a single staged action op from this chat's draft before publish. For a tempId, removing the create cascades into its complete/link ops. For a real action ID, pass --op to say which op to drop. Use this to UNDO a staged op — never stage `complete` to delete an action.\",\n args: {\n ref: { type: \"string\", description: \"tempId (temp_*) or real action ID to drop from the draft\", required: true },\n op: {\n type: \"string\",\n description: \"Required for real action IDs: which op to drop (update|complete|discard|assign|reopen)\",\n required: false,\n },\n },\n});\n\nregisterSchema({\n command: \"actions.draft.clear\",\n description:\n \"Discard ALL staged action ops in this chat's draft before publish. Nothing applies on publish. Does not touch already-published actions.\",\n args: {},\n});\n\nconst listCommand = defineCommand({\n meta: {\n name: \"list\",\n description:\n \"Show every action op staged in this chat's draft, with footgun warnings. Example: baker actions draft --output md\",\n },\n args: { chat: CHAT_READ_ARG, ...OUTPUT_ARGS },\n run: async ({ args }) => {\n try {\n const chatId = resolveChatId(args.chat);\n const response = await apiPost<ActionsDraftResponse>(\"/api/actions/draft\", { chatId });\n // Anything that isn't a table format falls back to the full JSON envelope\n // — a typo'd `--output` must not silently print nothing.\n const format: OutputFormat = args.output === \"md\" || args.output === \"files\" ? args.output : \"json\";\n if (format === \"json\") {\n writeJson(response);\n return;\n }\n // md/files render the ops as rows; `status`, `count` and the footgun\n // warnings have no column to live in, so they go to stderr rather than\n // being dropped — a warning nobody sees is the reason this format exists.\n writeOutput(\n { ok: true, data: response.data.ops },\n format,\n args.fields ? (args.fields as string).split(\",\") : undefined,\n args.full as boolean,\n draftOpNormalizer,\n );\n process.stderr.write(`draft status: ${response.data.status}, ${response.data.count} op(s)\\n`);\n for (const warning of response.data.warnings) {\n process.stderr.write(`warning: ${warning.tempId} — ${warning.name}\\n`);\n }\n } catch (err) {\n failApi(err);\n }\n },\n});\n\nconst removeCommand = defineCommand({\n meta: {\n name: \"remove\",\n description:\n \"Drop one staged op from the draft. Example: baker actions draft remove temp_abc123 | baker actions draft remove jx7... --op complete\",\n },\n args: {\n ref: { type: \"positional\", description: \"tempId or real action ID\", required: false },\n op: {\n type: \"string\",\n description: \"Op kind for real IDs: update|complete|discard|assign|reopen\",\n required: false,\n },\n },\n run: async ({ args }) => {\n try {\n const ref = args.ref as string | undefined;\n if (!ref) {\n failValidation(\"A tempId or action ID is required.\");\n }\n const chatId = requireChatId();\n\n if (isTempId(ref)) {\n await apiPost<ActionsRemoveDraftOpResponse>(\"/api/actions/draft-op/remove\", {\n chatId,\n target: { kind: \"tempId\", tempId: ref },\n });\n writeJson({ ok: true, data: { removed: ref, kind: \"tempId\" } });\n return;\n }\n\n validateConvexId(ref);\n const op = args.op as string | undefined;\n if (!op || !REMOVE_OP_KINDS.includes(op as RemoveOpKind)) {\n failValidation(\n `Removing a staged op for a real action ID requires --op (one of: ${REMOVE_OP_KINDS.join(\"|\")}).`,\n );\n }\n await apiPost<ActionsRemoveDraftOpResponse>(\"/api/actions/draft-op/remove\", {\n chatId,\n target: { kind: \"actionId\", actionId: ref, opKind: op },\n });\n writeJson({ ok: true, data: { removed: ref, kind: \"actionId\", op } });\n } catch (err) {\n failApi(err);\n }\n },\n});\n\nconst clearCommand = defineCommand({\n meta: {\n name: \"clear\",\n description: \"Discard every staged op in this chat's draft. Example: baker actions draft clear\",\n },\n run: async () => {\n try {\n const chatId = requireChatId();\n await apiPost<ActionsDraftClearResponse>(\"/api/actions/draft/clear\", { chatId });\n writeJson({ ok: true, data: { cleared: true } });\n } catch (err) {\n failApi(err);\n }\n },\n});\n\nexport const draftCommand = defineCommand({\n meta: {\n name: \"draft\",\n description:\n \"Review and edit the action ops staged in this chat BEFORE publish. Subcommands: list (default), remove, clear. Staged ops are invisible to `actions list`/`status` until publish, so check here before finishing. `list` takes --chat <id> to read an earlier chat's staged ops instead.\",\n },\n // Declared on the parent too: `default: \"list\"` dispatches the bare `draft --chat <id>` form, and\n // citty prints help for a flag the parent does not know instead of forwarding it.\n args: { chat: CHAT_READ_ARG, ...OUTPUT_ARGS },\n subCommands: {\n list: listCommand,\n remove: removeCommand,\n clear: clearCommand,\n },\n // Bare `baker actions draft` (no subcommand) shows the staged ops. This must be\n // `default`, not `run`: citty falls through to `run` after dispatching a subcommand,\n // so a `run` here would also list the draft on every `remove` / `clear`.\n default: \"list\",\n});\n"],"mappings":"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","names":[]}
|
package/dist/engine/index.js
CHANGED
|
@@ -8,14 +8,14 @@ import {
|
|
|
8
8
|
defaultRegistry,
|
|
9
9
|
generateCatalog,
|
|
10
10
|
validateCanvasDeep
|
|
11
|
-
} from "../chunk-
|
|
12
|
-
import "../chunk-
|
|
13
|
-
import "../chunk-
|
|
11
|
+
} from "../chunk-KPCHWDJM.js";
|
|
12
|
+
import "../chunk-AULSX5ZA.js";
|
|
13
|
+
import "../chunk-UMIX2BMM.js";
|
|
14
14
|
import "../chunk-DGCUPJZD.js";
|
|
15
|
-
import "../chunk-
|
|
16
|
-
import "../chunk-
|
|
17
|
-
import "../chunk-
|
|
18
|
-
import "../chunk-
|
|
15
|
+
import "../chunk-AVYUFJQQ.js";
|
|
16
|
+
import "../chunk-QHZE62GP.js";
|
|
17
|
+
import "../chunk-FJZYOVSW.js";
|
|
18
|
+
import "../chunk-F3CZFUXZ.js";
|
|
19
19
|
import "../chunk-2WZI36D3.js";
|
|
20
20
|
import "../chunk-65Y3RCWP.js";
|
|
21
21
|
import "../chunk-LNNTHEL7.js";
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
import {
|
|
2
|
+
bareAccountId,
|
|
3
|
+
failWriteValidation,
|
|
4
|
+
parseDateFlag,
|
|
5
|
+
requireTarget,
|
|
6
|
+
stageOp
|
|
7
|
+
} from "./chunk-7I6ZVBLM.js";
|
|
8
|
+
import {
|
|
9
|
+
handleLinkedinError
|
|
10
|
+
} from "./chunk-BJOK7QD4.js";
|
|
11
|
+
import "./chunk-SCAGMX2I.js";
|
|
12
|
+
import "./chunk-4NZ47VXO.js";
|
|
13
|
+
import "./chunk-D5FY4FAK.js";
|
|
14
|
+
import "./chunk-QPESDKZC.js";
|
|
15
|
+
import {
|
|
16
|
+
writeJsonEnvelope
|
|
17
|
+
} from "./chunk-ZRP7Y2DM.js";
|
|
18
|
+
import "./chunk-E44NXCTL.js";
|
|
19
|
+
import "./chunk-EJGAJHLB.js";
|
|
20
|
+
import "./chunk-LNNTHEL7.js";
|
|
21
|
+
import "./chunk-FOMFU2RX.js";
|
|
22
|
+
import "./chunk-PSGIHSNC.js";
|
|
23
|
+
import "./chunk-PONLPYD7.js";
|
|
24
|
+
import "./chunk-NZ34KM46.js";
|
|
25
|
+
import "./chunk-CAZGM2NX.js";
|
|
26
|
+
import "./chunk-NZS3KEQ2.js";
|
|
27
|
+
import "./chunk-GIWHHCD6.js";
|
|
28
|
+
import "./chunk-SOPVIIUW.js";
|
|
29
|
+
import "./chunk-G4FG5EQO.js";
|
|
30
|
+
import "./chunk-NSBNIPIW.js";
|
|
31
|
+
import "./chunk-MUS2UTWU.js";
|
|
32
|
+
import {
|
|
33
|
+
apiGet
|
|
34
|
+
} from "./chunk-X7VQFLHI.js";
|
|
35
|
+
import "./chunk-LU4HI4KI.js";
|
|
36
|
+
import "./chunk-LGK7UWBN.js";
|
|
37
|
+
import "./chunk-Q7US4OOA.js";
|
|
38
|
+
import "./chunk-YQSBHWOI.js";
|
|
39
|
+
|
|
40
|
+
// src/commands/ads/linkedin/experiments.ts
|
|
41
|
+
import { defineCommand } from "citty";
|
|
42
|
+
var STAGED_NOTE = "Staged until publish \u2014 review with `baker ads linkedin draft`.";
|
|
43
|
+
var accountArgs = {
|
|
44
|
+
"account-id": { type: "string", description: "Numeric account ID or urn:li:sponsoredAccount:N" },
|
|
45
|
+
"account-urn": { type: "string", description: "Alias for --account-id" }
|
|
46
|
+
};
|
|
47
|
+
var STOP_AT = {
|
|
48
|
+
"end-date": "AUTO_STOP_AT_END_DATE",
|
|
49
|
+
winner: "AUTO_STOP_AT_WINNER",
|
|
50
|
+
never: "AUTO_STOP_DISABLED"
|
|
51
|
+
};
|
|
52
|
+
function stopAtArg(value) {
|
|
53
|
+
if (value === void 0) {
|
|
54
|
+
return void 0;
|
|
55
|
+
}
|
|
56
|
+
const mapped = STOP_AT[String(value)];
|
|
57
|
+
if (!mapped) {
|
|
58
|
+
failWriteValidation(`--stop-at must be one of ${Object.keys(STOP_AT).join("|")}`);
|
|
59
|
+
}
|
|
60
|
+
return mapped;
|
|
61
|
+
}
|
|
62
|
+
function numberArg(value, flag) {
|
|
63
|
+
if (value === void 0) {
|
|
64
|
+
return void 0;
|
|
65
|
+
}
|
|
66
|
+
const parsed = Number(value);
|
|
67
|
+
if (!Number.isInteger(parsed)) {
|
|
68
|
+
failWriteValidation(`${flag} must be a whole number`);
|
|
69
|
+
}
|
|
70
|
+
return parsed;
|
|
71
|
+
}
|
|
72
|
+
var experimentsListCommand = defineCommand({
|
|
73
|
+
meta: {
|
|
74
|
+
name: "list",
|
|
75
|
+
description: "List the ad account's A/B tests, newest first: name, state (what was asked), running (what LinkedIn is doing: PENDING|RUNNING|ON_HOLD|STOPPED|ENDED), metric, dates and the two versions (ad sets + traffic split). Runs by default."
|
|
76
|
+
},
|
|
77
|
+
args: { ...accountArgs },
|
|
78
|
+
run: async ({ args }) => {
|
|
79
|
+
try {
|
|
80
|
+
const data = await apiGet("/api/ads/linkedin/experiments", {
|
|
81
|
+
"account-id": bareAccountId(args)
|
|
82
|
+
});
|
|
83
|
+
writeJsonEnvelope({ ok: true, data });
|
|
84
|
+
} catch (err) {
|
|
85
|
+
handleLinkedinError(err);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
var experimentsGetCommand = defineCommand({
|
|
90
|
+
meta: {
|
|
91
|
+
name: "get",
|
|
92
|
+
description: "One A/B test with LinkedIn's setup checks (an ERROR keeps it from running \u2014 e.g. NO_ACTIVE_CREATIVES; a WARNING may skew it) and its latest result: the winning version, p-value, and each version's confidence interval for the metric. `result: null` until LinkedIn computes the first one (daily)."
|
|
93
|
+
},
|
|
94
|
+
args: {
|
|
95
|
+
id: { type: "positional", description: "A/B test id from `experiments`", required: true },
|
|
96
|
+
...accountArgs
|
|
97
|
+
},
|
|
98
|
+
run: async ({ args }) => {
|
|
99
|
+
try {
|
|
100
|
+
const data = await apiGet("/api/ads/linkedin/experiments", {
|
|
101
|
+
"account-id": bareAccountId(args),
|
|
102
|
+
id: requireTarget(args, "A/B test")
|
|
103
|
+
});
|
|
104
|
+
writeJsonEnvelope({ ok: true, data });
|
|
105
|
+
} catch (err) {
|
|
106
|
+
handleLinkedinError(err);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
var experimentsCreateCommand = defineCommand({
|
|
111
|
+
meta: {
|
|
112
|
+
name: "create",
|
|
113
|
+
description: `Stage an A/B test between two ad sets of the SAME campaign: LinkedIn splits the audience so each member sees only one version, and calls a winner on the metric. ${STAGED_NOTE}
|
|
114
|
+
Rules LinkedIn enforces: exactly 2 ad sets, same campaign, that campaign must NOT share its budget across ad sets, at most 90 days, confidence 51\u201399 (90+ recommended), each ad set needs an active ad. Best practice: two new ad sets identical but for the one thing tested, equal budgets, 3+ weeks.
|
|
115
|
+
Examples:
|
|
116
|
+
baker ads linkedin experiments create --name "Image vs video" --version-a li_temp_x1 --version-b li_temp_x2 --metric CPC --start 2026-11-01 --end 2026-11-28
|
|
117
|
+
baker ads linkedin experiments create --name "Headline test" --version-a 896802423 --name-a "Pain" --version-b 896812053 --name-b "Gain" --metric CPM --start 2026-11-01 --end 2026-12-01 --stop-at winner --confidence 95`
|
|
118
|
+
},
|
|
119
|
+
args: {
|
|
120
|
+
...accountArgs,
|
|
121
|
+
name: { type: "string", description: "Test name (\u2264100)", required: true },
|
|
122
|
+
description: { type: "string", description: "What is being tested" },
|
|
123
|
+
"version-a": { type: "string", description: "Ad set id/URN or li_temp_* ref for version A", required: true },
|
|
124
|
+
"version-b": { type: "string", description: "Ad set id/URN or li_temp_* ref for version B", required: true },
|
|
125
|
+
"name-a": { type: "string", description: "Version A label (default A)" },
|
|
126
|
+
"name-b": { type: "string", description: "Version B label (default B)" },
|
|
127
|
+
"weight-a": { type: "string", description: "Version A share of the audience, 1\u201399 (default 50; B gets the rest)" },
|
|
128
|
+
metric: { type: "string", description: "CPC|CPM|CPV (video ad sets)|CPMS (message ads)", required: true },
|
|
129
|
+
confidence: { type: "string", description: "51\u201399 (default 90)" },
|
|
130
|
+
start: { type: "string", description: "Start date (ISO or epoch ms)", required: true },
|
|
131
|
+
end: { type: "string", description: "End date (\u226490 days after start)", required: true },
|
|
132
|
+
"stop-at": {
|
|
133
|
+
type: "string",
|
|
134
|
+
description: "end-date (default, pauses both) | winner | never (ad sets keep running)"
|
|
135
|
+
},
|
|
136
|
+
draft: { type: "boolean", description: "Create it set up but not running" }
|
|
137
|
+
},
|
|
138
|
+
run: async ({ args }) => {
|
|
139
|
+
const weightA = numberArg(args["weight-a"], "--weight-a") ?? 50;
|
|
140
|
+
await stageOp({
|
|
141
|
+
kind: "experiment.create",
|
|
142
|
+
accountId: bareAccountId(args),
|
|
143
|
+
payload: {
|
|
144
|
+
name: args.name,
|
|
145
|
+
description: args.description,
|
|
146
|
+
keyMetric: args.metric ? String(args.metric).toUpperCase() : void 0,
|
|
147
|
+
confidence: numberArg(args.confidence, "--confidence"),
|
|
148
|
+
start: parseDateFlag(args.start, "--start"),
|
|
149
|
+
end: parseDateFlag(args.end, "--end"),
|
|
150
|
+
autoStop: stopAtArg(args["stop-at"]),
|
|
151
|
+
state: args.draft ? "DRAFT" : void 0,
|
|
152
|
+
cells: [
|
|
153
|
+
{ name: args["name-a"] ?? "A", campaign: args["version-a"], trafficWeight: weightA },
|
|
154
|
+
{ name: args["name-b"] ?? "B", campaign: args["version-b"], trafficWeight: 100 - weightA }
|
|
155
|
+
]
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
var experimentsUpdateCommand = defineCommand({
|
|
161
|
+
meta: {
|
|
162
|
+
name: "update",
|
|
163
|
+
description: `Stage changes to an A/B test. Once it has started only the name, description, end date (still \u226490 days from start), confidence and when it stops can change \u2014 the versions are fixed. ${STAGED_NOTE}
|
|
164
|
+
Example: baker ads linkedin experiments update 5633011 --end 2026-12-15 --stop-at winner`
|
|
165
|
+
},
|
|
166
|
+
args: {
|
|
167
|
+
id: { type: "positional", description: "A/B test id", required: true },
|
|
168
|
+
...accountArgs,
|
|
169
|
+
name: { type: "string", description: "New name" },
|
|
170
|
+
description: { type: "string", description: "New description" },
|
|
171
|
+
end: { type: "string", description: "New end date" },
|
|
172
|
+
confidence: { type: "string", description: "51\u201399" },
|
|
173
|
+
"stop-at": { type: "string", description: "end-date|winner|never" }
|
|
174
|
+
},
|
|
175
|
+
run: async ({ args }) => {
|
|
176
|
+
await stageOp({
|
|
177
|
+
kind: "experiment.update",
|
|
178
|
+
accountId: bareAccountId(args),
|
|
179
|
+
target: requireTarget(args, "A/B test"),
|
|
180
|
+
payload: {
|
|
181
|
+
name: args.name,
|
|
182
|
+
description: args.description,
|
|
183
|
+
end: parseDateFlag(args.end, "--end"),
|
|
184
|
+
confidence: numberArg(args.confidence, "--confidence"),
|
|
185
|
+
autoStop: stopAtArg(args["stop-at"])
|
|
186
|
+
}
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
});
|
|
190
|
+
function experimentStateCommand(name, state, what) {
|
|
191
|
+
return defineCommand({
|
|
192
|
+
meta: {
|
|
193
|
+
name,
|
|
194
|
+
description: `Stage ${what}. ${STAGED_NOTE}
|
|
195
|
+
Example: baker ads linkedin experiments ${name} 5633011`
|
|
196
|
+
},
|
|
197
|
+
args: {
|
|
198
|
+
id: { type: "positional", description: "A/B test id", required: true },
|
|
199
|
+
...accountArgs
|
|
200
|
+
},
|
|
201
|
+
run: async ({ args }) => {
|
|
202
|
+
await stageOp({
|
|
203
|
+
kind: "experiment.update",
|
|
204
|
+
accountId: bareAccountId(args),
|
|
205
|
+
target: requireTarget(args, "A/B test"),
|
|
206
|
+
payload: { state }
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
var experimentsCommand = defineCommand({
|
|
212
|
+
meta: {
|
|
213
|
+
name: "experiments",
|
|
214
|
+
description: `LinkedIn A/B tests: two ad sets of one campaign shown to separate halves of the audience, with a winner called on CPC/CPM/CPV/CPMS.
|
|
215
|
+
Examples:
|
|
216
|
+
baker ads linkedin experiments # list
|
|
217
|
+
baker ads linkedin experiments get 5633011 # setup checks + result
|
|
218
|
+
baker ads linkedin experiments create --name "Image vs video" --version-a <ad set> --version-b <ad set> --metric CPC --start 2026-11-01 --end 2026-11-28
|
|
219
|
+
baker ads linkedin experiments pause|start|end 5633011`
|
|
220
|
+
},
|
|
221
|
+
subCommands: {
|
|
222
|
+
list: experimentsListCommand,
|
|
223
|
+
get: experimentsGetCommand,
|
|
224
|
+
create: experimentsCreateCommand,
|
|
225
|
+
update: experimentsUpdateCommand,
|
|
226
|
+
start: experimentStateCommand("start", "ACTIVE", "starting (or resuming) an A/B test"),
|
|
227
|
+
pause: experimentStateCommand("pause", "PAUSED", "pausing an A/B test \u2014 both ad sets pause, the end date stays"),
|
|
228
|
+
end: experimentStateCommand("end", "CANCELED", "ending an A/B test for good")
|
|
229
|
+
},
|
|
230
|
+
args: { ...accountArgs },
|
|
231
|
+
default: "list"
|
|
232
|
+
});
|
|
233
|
+
export {
|
|
234
|
+
experimentsCommand
|
|
235
|
+
};
|
|
236
|
+
//# sourceMappingURL=experiments-MLLTHMMS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/ads/linkedin/experiments.ts"],"sourcesContent":["import { defineCommand } from \"citty\";\nimport { apiGet } from \"../../../client.ts\";\nimport { writeJsonEnvelope } from \"../output.ts\";\nimport { handleLinkedinError } from \"./shared.ts\";\nimport { bareAccountId, failWriteValidation, parseDateFlag, requireTarget, stageOp } from \"./write-shared.ts\";\n\nconst STAGED_NOTE = \"Staged until publish — review with `baker ads linkedin draft`.\";\n\nconst accountArgs = {\n \"account-id\": { type: \"string\", description: \"Numeric account ID or urn:li:sponsoredAccount:N\" },\n \"account-urn\": { type: \"string\", description: \"Alias for --account-id\" },\n} as const;\n\nconst STOP_AT: Record<string, string> = {\n \"end-date\": \"AUTO_STOP_AT_END_DATE\",\n winner: \"AUTO_STOP_AT_WINNER\",\n never: \"AUTO_STOP_DISABLED\",\n};\n\nfunction stopAtArg(value: unknown): string | undefined {\n if (value === undefined) {\n return undefined;\n }\n const mapped = STOP_AT[String(value)];\n if (!mapped) {\n failWriteValidation(`--stop-at must be one of ${Object.keys(STOP_AT).join(\"|\")}`);\n }\n return mapped;\n}\n\nfunction numberArg(value: unknown, flag: string): number | undefined {\n if (value === undefined) {\n return undefined;\n }\n const parsed = Number(value);\n if (!Number.isInteger(parsed)) {\n failWriteValidation(`${flag} must be a whole number`);\n }\n return parsed;\n}\n\nconst experimentsListCommand = defineCommand({\n meta: {\n name: \"list\",\n description:\n \"List the ad account's A/B tests, newest first: name, state (what was asked), running (what LinkedIn is doing: PENDING|RUNNING|ON_HOLD|STOPPED|ENDED), metric, dates and the two versions (ad sets + traffic split). Runs by default.\",\n },\n args: { ...accountArgs },\n run: async ({ args }) => {\n try {\n const data = await apiGet<unknown[]>(\"/api/ads/linkedin/experiments\", {\n \"account-id\": bareAccountId(args as Record<string, unknown>),\n });\n writeJsonEnvelope({ ok: true, data });\n } catch (err) {\n handleLinkedinError(err);\n }\n },\n});\n\nconst experimentsGetCommand = defineCommand({\n meta: {\n name: \"get\",\n description:\n \"One A/B test with LinkedIn's setup checks (an ERROR keeps it from running — e.g. NO_ACTIVE_CREATIVES; a WARNING may skew it) and its latest result: the winning version, p-value, and each version's confidence interval for the metric. `result: null` until LinkedIn computes the first one (daily).\",\n },\n args: {\n id: { type: \"positional\", description: \"A/B test id from `experiments`\", required: true },\n ...accountArgs,\n },\n run: async ({ args }) => {\n try {\n const data = await apiGet<unknown>(\"/api/ads/linkedin/experiments\", {\n \"account-id\": bareAccountId(args as Record<string, unknown>),\n id: requireTarget(args as Record<string, unknown>, \"A/B test\"),\n });\n writeJsonEnvelope({ ok: true, data });\n } catch (err) {\n handleLinkedinError(err);\n }\n },\n});\n\nconst experimentsCreateCommand = defineCommand({\n meta: {\n name: \"create\",\n description: `Stage an A/B test between two ad sets of the SAME campaign: LinkedIn splits the audience so each member sees only one version, and calls a winner on the metric. ${STAGED_NOTE}\nRules LinkedIn enforces: exactly 2 ad sets, same campaign, that campaign must NOT share its budget across ad sets, at most 90 days, confidence 51–99 (90+ recommended), each ad set needs an active ad. Best practice: two new ad sets identical but for the one thing tested, equal budgets, 3+ weeks.\nExamples:\n baker ads linkedin experiments create --name \"Image vs video\" --version-a li_temp_x1 --version-b li_temp_x2 --metric CPC --start 2026-11-01 --end 2026-11-28\n baker ads linkedin experiments create --name \"Headline test\" --version-a 896802423 --name-a \"Pain\" --version-b 896812053 --name-b \"Gain\" --metric CPM --start 2026-11-01 --end 2026-12-01 --stop-at winner --confidence 95`,\n },\n args: {\n ...accountArgs,\n name: { type: \"string\", description: \"Test name (≤100)\", required: true },\n description: { type: \"string\", description: \"What is being tested\" },\n \"version-a\": { type: \"string\", description: \"Ad set id/URN or li_temp_* ref for version A\", required: true },\n \"version-b\": { type: \"string\", description: \"Ad set id/URN or li_temp_* ref for version B\", required: true },\n \"name-a\": { type: \"string\", description: \"Version A label (default A)\" },\n \"name-b\": { type: \"string\", description: \"Version B label (default B)\" },\n \"weight-a\": { type: \"string\", description: \"Version A share of the audience, 1–99 (default 50; B gets the rest)\" },\n metric: { type: \"string\", description: \"CPC|CPM|CPV (video ad sets)|CPMS (message ads)\", required: true },\n confidence: { type: \"string\", description: \"51–99 (default 90)\" },\n start: { type: \"string\", description: \"Start date (ISO or epoch ms)\", required: true },\n end: { type: \"string\", description: \"End date (≤90 days after start)\", required: true },\n \"stop-at\": {\n type: \"string\",\n description: \"end-date (default, pauses both) | winner | never (ad sets keep running)\",\n },\n draft: { type: \"boolean\", description: \"Create it set up but not running\" },\n },\n run: async ({ args }) => {\n const weightA = numberArg(args[\"weight-a\"], \"--weight-a\") ?? 50;\n await stageOp({\n kind: \"experiment.create\",\n accountId: bareAccountId(args as Record<string, unknown>),\n payload: {\n name: args.name,\n description: args.description,\n keyMetric: args.metric ? String(args.metric).toUpperCase() : undefined,\n confidence: numberArg(args.confidence, \"--confidence\"),\n start: parseDateFlag(args.start, \"--start\"),\n end: parseDateFlag(args.end, \"--end\"),\n autoStop: stopAtArg(args[\"stop-at\"]),\n state: args.draft ? \"DRAFT\" : undefined,\n cells: [\n { name: args[\"name-a\"] ?? \"A\", campaign: args[\"version-a\"], trafficWeight: weightA },\n { name: args[\"name-b\"] ?? \"B\", campaign: args[\"version-b\"], trafficWeight: 100 - weightA },\n ],\n },\n });\n },\n});\n\nconst experimentsUpdateCommand = defineCommand({\n meta: {\n name: \"update\",\n description: `Stage changes to an A/B test. Once it has started only the name, description, end date (still ≤90 days from start), confidence and when it stops can change — the versions are fixed. ${STAGED_NOTE}\nExample: baker ads linkedin experiments update 5633011 --end 2026-12-15 --stop-at winner`,\n },\n args: {\n id: { type: \"positional\", description: \"A/B test id\", required: true },\n ...accountArgs,\n name: { type: \"string\", description: \"New name\" },\n description: { type: \"string\", description: \"New description\" },\n end: { type: \"string\", description: \"New end date\" },\n confidence: { type: \"string\", description: \"51–99\" },\n \"stop-at\": { type: \"string\", description: \"end-date|winner|never\" },\n },\n run: async ({ args }) => {\n await stageOp({\n kind: \"experiment.update\",\n accountId: bareAccountId(args as Record<string, unknown>),\n target: requireTarget(args as Record<string, unknown>, \"A/B test\"),\n payload: {\n name: args.name,\n description: args.description,\n end: parseDateFlag(args.end, \"--end\"),\n confidence: numberArg(args.confidence, \"--confidence\"),\n autoStop: stopAtArg(args[\"stop-at\"]),\n },\n });\n },\n});\n\nfunction experimentStateCommand(\n name: \"start\" | \"pause\" | \"end\",\n state: \"ACTIVE\" | \"PAUSED\" | \"CANCELED\",\n what: string,\n) {\n return defineCommand({\n meta: {\n name,\n description: `Stage ${what}. ${STAGED_NOTE}\nExample: baker ads linkedin experiments ${name} 5633011`,\n },\n args: {\n id: { type: \"positional\", description: \"A/B test id\", required: true },\n ...accountArgs,\n },\n run: async ({ args }) => {\n await stageOp({\n kind: \"experiment.update\",\n accountId: bareAccountId(args as Record<string, unknown>),\n target: requireTarget(args as Record<string, unknown>, \"A/B test\"),\n payload: { state },\n });\n },\n });\n}\n\nexport const experimentsCommand = defineCommand({\n meta: {\n name: \"experiments\",\n description: `LinkedIn A/B tests: two ad sets of one campaign shown to separate halves of the audience, with a winner called on CPC/CPM/CPV/CPMS.\nExamples:\n baker ads linkedin experiments # list\n baker ads linkedin experiments get 5633011 # setup checks + result\n baker ads linkedin experiments create --name \"Image vs video\" --version-a <ad set> --version-b <ad set> --metric CPC --start 2026-11-01 --end 2026-11-28\n baker ads linkedin experiments pause|start|end 5633011`,\n },\n subCommands: {\n list: experimentsListCommand,\n get: experimentsGetCommand,\n create: experimentsCreateCommand,\n update: experimentsUpdateCommand,\n start: experimentStateCommand(\"start\", \"ACTIVE\", \"starting (or resuming) an A/B test\"),\n pause: experimentStateCommand(\"pause\", \"PAUSED\", \"pausing an A/B test — both ad sets pause, the end date stays\"),\n end: experimentStateCommand(\"end\", \"CANCELED\", \"ending an A/B test for good\"),\n },\n args: { ...accountArgs },\n default: \"list\",\n});\n"],"mappings":"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","names":[]}
|