@koda-sl/baker-cli 0.525.0 → 0.527.0
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 +7 -1
- package/dist/account-2G3IT7J4.js +82 -0
- package/dist/account-CQJFUII3.js +139 -0
- package/dist/account-CQJFUII3.js.map +1 -0
- package/dist/account-ULC5N7SI.js +82 -0
- package/dist/account-assets-IDVG4DGK.js +290 -0
- package/dist/account-assets-IDVG4DGK.js.map +1 -0
- package/dist/account-level-GK7M2MMQ.js +611 -0
- package/dist/account-level-GK7M2MMQ.js.map +1 -0
- package/dist/account-reads-FRFI6OHK.js +219 -0
- package/dist/account-users-PINZLBT7.js +64 -0
- package/dist/account-writes-WRGJC7VU.js +68 -0
- package/dist/accounts-2KFG33EX.js +80 -0
- package/dist/accounts-5754XUS3.js +115 -0
- package/dist/accounts-KRW3JNCW.js +76 -0
- package/dist/accounts-MHPNZW3W.js +701 -0
- package/dist/accounts-MTNBMXHD.js +114 -0
- package/dist/actions-33IZOT5C.js +55 -0
- package/dist/active-entities-JR5B32X2.js +103 -0
- package/dist/activecampaign-BV5GZFVR.js +938 -0
- package/dist/activities-2RAJXP3J.js +75 -0
- package/dist/activities-2RAJXP3J.js.map +1 -0
- package/dist/ad-group-writes-W6RCMYLC.js +172 -0
- package/dist/ad-groups-XAI2Z62X.js +70 -0
- package/dist/ad-writes-IGWZRTXY.js +176 -0
- package/dist/add-4PJDIW2M.js +148 -0
- package/dist/add-DBCN33GH.js +107 -0
- package/dist/add-KB7O7NSB.js +97 -0
- package/dist/add-PRU32PQN.js +81 -0
- package/dist/add-UZDOQAJL.js +80 -0
- package/dist/add-WDX66JSM.js +305 -0
- package/dist/add-accounts-ZWXG6HLM.js +91 -0
- package/dist/ads-255V76SZ.js +79 -0
- package/dist/ads-F2PURRHL.js +48 -0
- package/dist/ads-I6I4MYQH.js +128 -0
- package/dist/ads-JVBLNTBF.js +120 -0
- package/dist/ads-JVBLNTBF.js.map +1 -0
- package/dist/adsets-FN5ZWSYF.js +182 -0
- package/dist/adsets-FN5ZWSYF.js.map +1 -0
- package/dist/advertisers-BPJWOY7I.js +125 -0
- package/dist/advertisers-SJO6JYIO.js +123 -0
- package/dist/analytics-OUNKG2FW.js +2437 -0
- package/dist/analytics-TXPEXLPQ.js +447 -0
- package/dist/animate-425S4ZXS.js +480 -0
- package/dist/approved-KUVAJ5M7.js +73 -0
- package/dist/asset-writes-SSI3CO2A.js +50 -0
- package/dist/assign-CTV6LDEI.js +80 -0
- package/dist/audience-size-5QYI5PKH.js +76 -0
- package/dist/audience-writes-G64754LR.js +327 -0
- package/dist/audience-writes-G64754LR.js.map +1 -0
- package/dist/audiences-JAVNJ5NC.js +86 -0
- package/dist/audiences-JAVNJ5NC.js.map +1 -0
- package/dist/audiences-JZ6SCEUC.js +280 -0
- package/dist/audiences-OMLKMHEJ.js +85 -0
- package/dist/audit-2YFDJAKL.js +88 -0
- package/dist/audit-4UE6GFLG.js +154 -0
- package/dist/autocomplete-HTUV2UDS.js +114 -0
- package/dist/avatars-IJQOWSFC.js +38 -0
- package/dist/bid-pricing-OWP4SZP5.js +103 -0
- package/dist/brand-GBP4OEJI.js +22 -0
- package/dist/brief-ZDHUBPV5.js +543 -0
- package/dist/businesses-DXRDQIFP.js +54 -0
- package/dist/campaign-groups-LDOQU65Q.js +99 -0
- package/dist/campaign-writes-SHF3XZXV.js +176 -0
- package/dist/campaign-writes-SK55QLY5.js +168 -0
- package/dist/campaigns-6CAKRANC.js +113 -0
- package/dist/campaigns-EHV7J7PW.js +111 -0
- package/dist/campaigns-GG7LLI4X.js +78 -0
- package/dist/campaigns-GQWFSKGC.js +130 -0
- package/dist/campaigns-GQWFSKGC.js.map +1 -0
- package/dist/canvas-AZ47PNYZ.js +46 -0
- package/dist/capabilities-BEZXR2FZ.js +147 -0
- package/dist/cards-J2PGFKEF.js +85 -0
- package/dist/catalog-XECCXRM6.js +65 -0
- package/dist/catalogs-P5KMIMC2.js +130 -0
- package/dist/catalogs-TBRONC2D.js +781 -0
- package/dist/catalogs-TBRONC2D.js.map +1 -0
- package/dist/changes-3COSIJLU.js +135 -0
- package/dist/chatgpt-S5EVEKYV.js +47 -0
- package/dist/chats-AN52YVBT.js +279 -0
- package/dist/check-AQO7CMDD.js +107 -0
- package/dist/chunk-2MXDSPUO.js +76 -0
- package/dist/chunk-2SGREP24.js +76 -0
- package/dist/chunk-34FVKJS2.js +64 -0
- package/dist/chunk-364TCROV.js +207 -0
- package/dist/chunk-3J3W23S4.js +592 -0
- package/dist/chunk-3KMYOPBI.js +98 -0
- package/dist/chunk-3N2KAOVM.js +8954 -0
- package/dist/chunk-3WSJGYA3.js +148 -0
- package/dist/chunk-4745PLPI.js +111 -0
- package/dist/chunk-4JS2O2KV.js +89 -0
- package/dist/chunk-4VSD4NSZ.js +188 -0
- package/dist/chunk-4VXQAJRU.js +225 -0
- package/dist/chunk-4XXA4WCS.js +207 -0
- package/dist/chunk-4XXA4WCS.js.map +1 -0
- package/dist/chunk-52IYZCRS.js +476 -0
- package/dist/chunk-5CTNSIWY.js +69 -0
- package/dist/chunk-5G225R4A.js +91 -0
- package/dist/chunk-62QMJYML.js +167 -0
- package/dist/chunk-6B4KNOJZ.js +75 -0
- package/dist/chunk-6M77QNJ4.js +69 -0
- package/dist/chunk-7B73TSKJ.js +191 -0
- package/dist/chunk-7O4HFODK.js +26 -0
- package/dist/chunk-7ODQ6ZID.js +66 -0
- package/dist/chunk-7OVCUTEL.js +19 -0
- package/dist/chunk-AFQF6ISC.js +215 -0
- package/dist/chunk-AXTOIHH2.js +74 -0
- package/dist/chunk-B4UVJCJ4.js +229 -0
- package/dist/chunk-BN4TDL5L.js +217 -0
- package/dist/chunk-BN4TDL5L.js.map +1 -0
- package/dist/chunk-C5UFKDAX.js +377 -0
- package/dist/chunk-CREEY2FS.js +455 -0
- package/dist/chunk-DJWEQDBB.js +98 -0
- package/dist/chunk-DLNADMQV.js +547 -0
- package/dist/chunk-DNWP5DL6.js +42 -0
- package/dist/chunk-DW3OPKXI.js +51 -0
- package/dist/chunk-ECJIMIEJ.js +142 -0
- package/dist/chunk-EHIISZYD.js +296 -0
- package/dist/chunk-FBG3JDET.js +97 -0
- package/dist/chunk-FOWT6ENH.js +170 -0
- package/dist/chunk-FSGJSREN.js +2437 -0
- package/dist/chunk-FSGJSREN.js.map +1 -0
- package/dist/chunk-FX3MXXYD.js +91 -0
- package/dist/chunk-GEFZVG4P.js +219 -0
- package/dist/chunk-GEFZVG4P.js.map +1 -0
- package/dist/chunk-GLCHD54W.js +74 -0
- package/dist/chunk-GT77XMOG.js +23 -0
- package/dist/chunk-GXPZJ2QN.js +225 -0
- package/dist/chunk-HPDGVK6R.js +324 -0
- package/dist/chunk-HZ3RXKR4.js +3868 -0
- package/dist/chunk-ILEJXJH2.js +1518 -0
- package/dist/chunk-J4ASA24X.js +203 -0
- package/dist/chunk-JCVPZ7CV.js +638 -0
- package/dist/chunk-KDNOMRJA.js +942 -0
- package/dist/chunk-KG7FPYM2.js +64 -0
- package/dist/chunk-KRQ2AXFW.js +191 -0
- package/dist/chunk-L5IYVZM2.js +39 -0
- package/dist/chunk-LHQ6GXNF.js +46 -0
- package/dist/chunk-LS2KEAYJ.js +66 -0
- package/dist/chunk-LURM3KKS.js +94 -0
- package/dist/chunk-MHH7SGLS.js +106 -0
- package/dist/chunk-MZIYRWXL.js +285 -0
- package/dist/chunk-NY5VYGTP.js +97 -0
- package/dist/chunk-O37YK4P6.js +136 -0
- package/dist/chunk-OXARC5HH.js +429 -0
- package/dist/chunk-PN72Z2W2.js +56 -0
- package/dist/chunk-PTK7AFEE.js +224 -0
- package/dist/chunk-QJ5TU5J6.js +100 -0
- package/dist/chunk-QNLPZOHV.js +84 -0
- package/dist/chunk-QNXDSNOQ.js +544 -0
- package/dist/chunk-QOC3JEUQ.js +363 -0
- package/dist/chunk-R44B522K.js +139 -0
- package/dist/chunk-R5GGTLYE.js +846 -0
- package/dist/chunk-R6T25WTZ.js +344 -0
- package/dist/chunk-RUJS2NOA.js +297 -0
- package/dist/chunk-SDQLZYQG.js +843 -0
- package/dist/chunk-SEC6FPWC.js +494 -0
- package/dist/chunk-SJAUMPL3.js +46 -0
- package/dist/chunk-SNDHR5QA.js +24026 -0
- package/dist/chunk-SP5L7EYC.js +125 -0
- package/dist/chunk-SPBNAGIN.js +1646 -0
- package/dist/chunk-SWNCS2OD.js +333 -0
- package/dist/chunk-T37PAZT2.js +274 -0
- package/dist/chunk-T6PTG6VM.js +5368 -0
- package/dist/chunk-TEKML2NW.js +35 -0
- package/dist/chunk-TKDOVFO6.js +287 -0
- package/dist/chunk-TRMZQRVV.js +1919 -0
- package/dist/chunk-TTKDFRON.js +149 -0
- package/dist/chunk-U2BPZ27S.js +910 -0
- package/dist/chunk-UPDIBQUC.js +106 -0
- package/dist/chunk-V2XEX2YR.js +84 -0
- package/dist/chunk-V62ZWGCL.js +103 -0
- package/dist/chunk-VCUXAPLM.js +169 -0
- package/dist/chunk-W7C7HZFJ.js +275 -0
- package/dist/chunk-WPAW6EVY.js +166 -0
- package/dist/chunk-WPSLL3S2.js +604 -0
- package/dist/chunk-WQKBEC4I.js +122 -0
- package/dist/chunk-WSYQ6LWB.js +710 -0
- package/dist/chunk-WW6JLISJ.js +200 -0
- package/dist/chunk-X3HPRECW.js +52 -0
- package/dist/chunk-XGX2WOV2.js +8914 -0
- package/dist/chunk-XJHUSJY6.js +156 -0
- package/dist/chunk-XPDUBDPL.js +25 -0
- package/dist/chunk-XRSRHAEU.js +163 -0
- package/dist/chunk-XVHR2NCG.js +249 -0
- package/dist/chunk-XZWBLUDV.js +831 -0
- package/dist/chunk-YUCGCJKT.js +676 -0
- package/dist/chunk-ZBUIWVF3.js +197 -0
- package/dist/chunk-ZFJ2FQUH.js +131 -0
- package/dist/chunk-ZL5YETKR.js +45 -0
- package/dist/chunk-ZNXP3WNJ.js +58 -0
- package/dist/chunk-ZVXKWLLE.js +1744 -0
- package/dist/claim-NRNO4XCO.js +200 -0
- package/dist/cli.js +47 -44
- package/dist/cli.js.map +1 -1
- package/dist/client-463NKLRT.js +19 -0
- package/dist/code-R4JOQ27J.js +76 -0
- package/dist/companies-4TOBU44J.js +198 -0
- package/dist/company-RK34S3IA.js +308 -0
- package/dist/complete-7BNBQ5AI.js +84 -0
- package/dist/config-GDLHHBJZ.js +88 -0
- package/dist/connect-CRIRSXN3.js +45 -0
- package/dist/content-FCO6MGXW.js +85 -0
- package/dist/conversation-4CQG2B2C.js +96 -0
- package/dist/conversion-report-PDTQTRVB.js +127 -0
- package/dist/conversion-upload-command-MEO4WLZH.js +439 -0
- package/dist/conversion-writes-ZVBOXUIA.js +122 -0
- package/dist/conversions-BND5HYTL.js +78 -0
- package/dist/conversions-POBKTXQF.js +140 -0
- package/dist/copy-writes-EUFEVWDW.js +170 -0
- package/dist/copy-writes-EUFEVWDW.js.map +1 -0
- package/dist/countries-TKL5T5JL.js +82 -0
- package/dist/create-BJ7XBNY5.js +62 -0
- package/dist/create-UI2YG2KA.js +135 -0
- package/dist/create-XN4KVB5U.js +210 -0
- package/dist/create-YSGBH6Q4.js +239 -0
- package/dist/creatives-57XIJAEG.js +223 -0
- package/dist/creatives-6VJDUHEY.js +89 -0
- package/dist/creatives-6VJDUHEY.js.map +1 -0
- package/dist/creatives-QFSIIFXB.js +58 -0
- package/dist/credentials-KIH6ICDU.js +290 -0
- package/dist/critique-GWRXVXVG.js +1451 -0
- package/dist/critique-OK2ENBOA.js +232 -0
- package/dist/crm-QSHUYXTW.js +323 -0
- package/dist/crm-Y5QTZAHO.js +227 -0
- package/dist/crop-WKTW3EMP.js +113 -0
- package/dist/currency-PTOI5SPU.js +88 -0
- package/dist/custom-conversions-NDY5RHSM.js +128 -0
- package/dist/custom-conversions-NDY5RHSM.js.map +1 -0
- package/dist/customers-2G32E6W7.js +59 -0
- package/dist/decide-X2UAKYXK.js +199 -0
- package/dist/delete-2ZTMTKYD.js +69 -0
- package/dist/delete-4CUEJZ2Z.js +67 -0
- package/dist/delete-FOSTK2RA.js +71 -0
- package/dist/delete-HIAZHA56.js +57 -0
- package/dist/delete-I43JQH2E.js +69 -0
- package/dist/delete-RF44ILYE.js +71 -0
- package/dist/demographics-2UYQW6II.js +141 -0
- package/dist/describe-M6DYXNQC.js +97 -0
- package/dist/describe-OQ6R3EF7.js +97 -0
- package/dist/dimensions-DGYM5E5P.js +101 -0
- package/dist/discard-NKPQ73UM.js +69 -0
- package/dist/discover-XLIH7RCB.js +93 -0
- package/dist/discover-YKMBVSPF.js +172 -0
- package/dist/domain-LUDUZB3F.js +101 -0
- package/dist/download-LL6DL62N.js +172 -0
- package/dist/download-SFWMT7DL.js +299 -0
- package/dist/draft-374Z4MGY.js +103 -0
- package/dist/draft-736FJJWK.js +310 -0
- package/dist/draft-7LPUJZCF.js +283 -0
- package/dist/draft-G432FJ7N.js +240 -0
- package/dist/draft-MPWR47CG.js +308 -0
- package/dist/draft-R5ND5SWT.js +100 -0
- package/dist/draft-T7TWIFEX.js +335 -0
- package/dist/draft-XAAIGE6Q.js +220 -0
- package/dist/engine/index.js +13 -13
- package/dist/env-DQHY5ODN.js +53 -0
- package/dist/experiment-MO6MT6OJ.js +1397 -0
- package/dist/experiments-OGZV73W6.js +236 -0
- package/dist/export-6Z6QBU6V.js +168 -0
- package/dist/extract-YGOQBOQK.js +113 -0
- package/dist/facets-OLZ7JLFL.js +117 -0
- package/dist/favorites-R3JO4SJJ.js +178 -0
- package/dist/feed-IUMMHM3I.js +177 -0
- package/dist/feedback-ZBEZIIPT.js +111 -0
- package/dist/feedback-record-CZVSPZUR.js +265 -0
- package/dist/fetch-AL44XS4Q.js +139 -0
- package/dist/fetch-K3NRT2L2.js +179 -0
- package/dist/find-ZFIGMRYQ.js +143 -0
- package/dist/fit-5NVXWXZV.js +65 -0
- package/dist/flows-CAOMVQYZ.js +250 -0
- package/dist/follow-SS374QUW.js +94 -0
- package/dist/follow-competitors-3LTOTTBY.js +112 -0
- package/dist/following-YMA5O3LF.js +113 -0
- package/dist/fonts-E3CNWPD5.js +39 -0
- package/dist/forecast-KOBF5TKM.js +169 -0
- package/dist/forecast-PWGN4ETP.js +121 -0
- package/dist/funding-KLIZ73SS.js +85 -0
- package/dist/funnel-LKF6D7AA.js +397 -0
- package/dist/ga4-XPCE4EK5.js +55 -0
- package/dist/generate-GHIXVLMY.js +263 -0
- package/dist/get-HCGFATFD.js +38 -0
- package/dist/get-JR2KZXW5.js +63 -0
- package/dist/get-RDTJSWSA.js +92 -0
- package/dist/get-SGNT4JG2.js +59 -0
- package/dist/get-TB52FVNV.js +82 -0
- package/dist/get-TGFXZC5S.js +61 -0
- package/dist/get-WS744HAO.js +59 -0
- package/dist/get-YD7GDMDR.js +63 -0
- package/dist/gif-YK5HJXRE.js +102 -0
- package/dist/google-BI45CXMW.js +136 -0
- package/dist/google-FZVOB7HW.js +3267 -0
- package/dist/google-ads-DYZGUM6W.js +198 -0
- package/dist/group-7OWIYAKJ.js +43 -0
- package/dist/group-H6ZYRPE6.js +43 -0
- package/dist/gsc-HI2KXDEU.js +30 -0
- package/dist/history-3EQQHYKT.js +69 -0
- package/dist/history-SJJX6EXI.js +102 -0
- package/dist/history-SQPJ7PPE.js +136 -0
- package/dist/hubspot-MYTV36SM.js +782 -0
- package/dist/icon-HLJCWTR3.js +137 -0
- package/dist/ideas-CVXHFVX7.js +45 -0
- package/dist/images-K7JQ3ORB.js +92 -0
- package/dist/improve-BRC4R6MW.js +86 -0
- package/dist/ingest-4GNJ2PWL.js +26 -0
- package/dist/ingest-5NYBUZE2.js +110 -0
- package/dist/insights-CN3GUTT7.js +132 -0
- package/dist/insights-IVW6W5CP.js +439 -0
- package/dist/inspect-25IVRU45.js +192 -0
- package/dist/inspiration-KAXPRINY.js +53 -0
- package/dist/instant-experiences-6F6GXZ67.js +260 -0
- package/dist/instant-experiences-6F6GXZ67.js.map +1 -0
- package/dist/intent-3GDLPKKN.js +95 -0
- package/dist/job-2JJNKUHT.js +202 -0
- package/dist/job-create-BNTNZCSP.js +109 -0
- package/dist/job-status-N7RWRDRO.js +74 -0
- package/dist/keep-Z2WH3CKU.js +78 -0
- package/dist/keyword-gap-B2WPVHOB.js +130 -0
- package/dist/keyword-metrics-UDGWN7BO.js +200 -0
- package/dist/keywords-for-site-GEG6AXD3.js +131 -0
- package/dist/landing-BFMRM3HA.js +28 -0
- package/dist/landings-7QRITXZ2.js +151 -0
- package/dist/languages-RZLMZR57.js +55 -0
- package/dist/languages-UJAOPTV2.js +40 -0
- package/dist/launches-4H6ANGTG.js +19 -0
- package/dist/layerize-P5LFIA4X.js +190 -0
- package/dist/leads-CJKRKB2Q.js +540 -0
- package/dist/leads-CJKRKB2Q.js.map +1 -0
- package/dist/leads-MTTOYNPM.js +115 -0
- package/dist/learn-QPXZZIZZ.js +207 -0
- package/dist/library-VW27X75P.js +211 -0
- package/dist/lighthouse-FGUFJRGR.js +75 -0
- package/dist/line-item-writes-RVOAMJ5R.js +211 -0
- package/dist/line-items-POZRAJLC.js +107 -0
- package/dist/link-IXEZKRM7.js +67 -0
- package/dist/linkedin-5PYG5HEM.js +1328 -0
- package/dist/linkedin-person-EMJXEZYR.js +139 -0
- package/dist/list-4KS7WSUG.js +306 -0
- package/dist/list-7GDMM26I.js +93 -0
- package/dist/list-DVVOP6FM.js +50 -0
- package/dist/list-J5KWXHFO.js +76 -0
- package/dist/list-PT4DVD4U.js +67 -0
- package/dist/list-PTK2HOUY.js +51 -0
- package/dist/list-Q5LVTPQP.js +57 -0
- package/dist/list-UG4V5AM2.js +65 -0
- package/dist/list-XOYU7UTX.js +154 -0
- package/dist/locations-EISZ6JOT.js +40 -0
- package/dist/locations-VJX64ZZR.js +69 -0
- package/dist/log-2F2N24DT.js +95 -0
- package/dist/logo-H2KHGLYD.js +18 -0
- package/dist/lookup-IUQWU346.js +23 -0
- package/dist/make-N5LVJSZD.js +1366 -0
- package/dist/map-QGJZIC5N.js +436 -0
- package/dist/mcp-RSW7KAWP.js +729 -0
- package/dist/media-HDHZULQ7.js +18 -0
- package/dist/media-K5RJXLTN.js +89 -0
- package/dist/media-sources-7R7FO53Y.js +35 -0
- package/dist/members-B6TKGGT5.js +47 -0
- package/dist/meme-QMCUGXUE.js +100 -0
- package/dist/meta-MOSJVYIE.js +122 -0
- package/dist/metrics-PRIKXVYZ.js +152 -0
- package/dist/models-M3E4YFCT.js +155 -0
- package/dist/normalize-5B4EQLUX.js +144 -0
- package/dist/normalize-5QIGANTK.js +806 -0
- package/dist/options-K33CJOR6.js +125 -0
- package/dist/organization-A4NFWWWI.js +949 -0
- package/dist/output-U5ZV6PST.js +24 -0
- package/dist/page-XVOUD4VV.js +105 -0
- package/dist/page-photos-4JTIKXAW.js +118 -0
- package/dist/page-photos-4JTIKXAW.js.map +1 -0
- package/dist/pages-BAUS7LQM.js +67 -0
- package/dist/performance-L3Q57H4H.js +5556 -0
- package/dist/performance-NVURSEZ6.js +27 -0
- package/dist/pinterest-NA6HGPMB.js +96 -0
- package/dist/pixels-QOSEYXCP.js +109 -0
- package/dist/pixels-QOSEYXCP.js.map +1 -0
- package/dist/pixels-THDQD3RF.js +62 -0
- package/dist/plan-VHMWZU7F.js +208 -0
- package/dist/posts-BDMC644W.js +36 -0
- package/dist/preview-X6EJGPAY.js +218 -0
- package/dist/profile-YHI65VGK.js +159 -0
- package/dist/promoted-tweet-writes-MXXVRLVQ.js +183 -0
- package/dist/promoted-tweets-HFLGXWX2.js +119 -0
- package/dist/properties-ZLY6NYVK.js +101 -0
- package/dist/publish-6ZXFUBGP.js +344 -0
- package/dist/query-ELD7WSFR.js +247 -0
- package/dist/query-HFHTLNDN.js +236 -0
- package/dist/query-WMEX73ZB.js +62 -0
- package/dist/questionnaire-32BQ4ZUX.js +94 -0
- package/dist/read-2HQEZIJW.js +141 -0
- package/dist/reddit-BIHGJPGP.js +29 -0
- package/dist/refresh-4O32S4YR.js +97 -0
- package/dist/refresh-LVV4SPLT.js +42 -0
- package/dist/release-VIPNSPQ5.js +63 -0
- package/dist/relevant-pages-B5SYN575.js +99 -0
- package/dist/remove-2E77743U.js +53 -0
- package/dist/remove-TPOWWFZ6.js +49 -0
- package/dist/reopen-UOBTJBMQ.js +66 -0
- package/dist/rerun-HUFJUOEV.js +95 -0
- package/dist/research-ELM3KHGE.js +72 -0
- package/dist/research-FOJIDMSE.js +265 -0
- package/dist/reset-FTLWUFZK.js +57 -0
- package/dist/reset-GIXXLPHQ.js +57 -0
- package/dist/resolve-QHR5JJTJ.js +124 -0
- package/dist/retry-HNWXJR5U.js +65 -0
- package/dist/retry-NY5KFEDA.js +63 -0
- package/dist/retry-failed-OAH7JQKD.js +45 -0
- package/dist/revenue-JFMUODJO.js +91 -0
- package/dist/rule-writes-A4BFYHPA.js +525 -0
- package/dist/rule-writes-A4BFYHPA.js.map +1 -0
- package/dist/rules-56E55SGC.js +99 -0
- package/dist/rules-HLREXY2M.js +217 -0
- package/dist/rules-HLREXY2M.js.map +1 -0
- package/dist/rules-add-ZOPOWJMY.js +465 -0
- package/dist/run-7OCCCNJ4.js +70 -0
- package/dist/run-MRC4UVHU.js +69 -0
- package/dist/scaffold-ad-7ADCDQBK.js +1512 -0
- package/dist/scaffold-static-ad-TV5OWISA.js +1010 -0
- package/dist/scaffold-video-LLBDO546.js +884 -0
- package/dist/schedule-OFPSZVZ2.js +67 -0
- package/dist/schedule-ZATNBBWD.js +64 -0
- package/dist/scheduled-agents-EPPP4SCZ.js +55 -0
- package/dist/schema-5Q6VO5MW.js +121 -0
- package/dist/schema-5Q6VO5MW.js.map +1 -0
- package/dist/schema-OGP4DUPP.js +135 -0
- package/dist/scrape-ZHL2BHS7.js +2241 -0
- package/dist/screenshot-ADMRDYWN.js +102 -0
- package/dist/search-6W4HXR2S.js +91 -0
- package/dist/search-6ZWI2NML.js +92 -0
- package/dist/search-CQUS7EOM.js +51 -0
- package/dist/search-HF5ECIYW.js +26 -0
- package/dist/search-MKVVMJ2Q.js +224 -0
- package/dist/search-QUF6LHQ5.js +177 -0
- package/dist/search-copy-O6FDX4HT.js +168 -0
- package/dist/seeds-5TM3O3K3.js +101 -0
- package/dist/select-BRH4QLWU.js +106 -0
- package/dist/sends-43FU3SJN.js +349 -0
- package/dist/sequences-3CEVHGHB.js +146 -0
- package/dist/set-prompt-SYWNE4CS.js +198 -0
- package/dist/setup-links-4STQ5B4P.js +144 -0
- package/dist/shared-I3SB77VH.js +32 -0
- package/dist/shopify-7LDHCWUQ.js +3958 -0
- package/dist/site-I3NFMPJB.js +180 -0
- package/dist/sitemaps-PLAWVXQL.js +87 -0
- package/dist/sites-WX2IBTZT.js +101 -0
- package/dist/skills-O6EQOAMQ.js +47 -0
- package/dist/sources-CGXHNWJM.js +30 -0
- package/dist/sources-PUZ4WV4Q.js +457 -0
- package/dist/stale-QNIJZTGD.js +76 -0
- package/dist/stats-QQRYOMZA.js +34 -0
- package/dist/status-5OMVGFCH.js +65 -0
- package/dist/sticker-654HS3K2.js +94 -0
- package/dist/stock-35LOO3YN.js +179 -0
- package/dist/studies-IGOCWM7F.js +250 -0
- package/dist/studies-IGOCWM7F.js.map +1 -0
- package/dist/studio-NRWLXOFZ.js +49 -0
- package/dist/study-writes-Z5P2W7JH.js +470 -0
- package/dist/study-writes-Z5P2W7JH.js.map +1 -0
- package/dist/suggest-JASHCOL5.js +66 -0
- package/dist/sync-6AN67IX3.js +55 -0
- package/dist/sync-RCDODSOD.js +57 -0
- package/dist/sync-URIRLHTS.js +279 -0
- package/dist/sync-definition-EGHEQ57K.js +69 -0
- package/dist/tag-7YMFAZQQ.js +57 -0
- package/dist/tag-manager-LU4GAZ6R.js +43 -0
- package/dist/tags-6A7QOYBI.js +23 -0
- package/dist/tags-JHT3Q6VO.js +227 -0
- package/dist/tags-KSMLT4G2.js +26 -0
- package/dist/tags-MTVZJHCE.js +23 -0
- package/dist/tags-OU32R2SH.js +23 -0
- package/dist/targeting-7HXKBXWY.js +762 -0
- package/dist/targeting-7HXKBXWY.js.map +1 -0
- package/dist/targeting-constants-QIB3UZHM.js +118 -0
- package/dist/targeting-criteria-NUXZB7NP.js +113 -0
- package/dist/targets-3WIBMP4B.js +106 -0
- package/dist/terms-X4OJWTQH.js +102 -0
- package/dist/testimonials-2NQMY23B.js +32 -0
- package/dist/themes-6KVP3COR.js +95 -0
- package/dist/top-companies-WWNPUJ23.js +111 -0
- package/dist/transcript-P7HKVABU.js +165 -0
- package/dist/translate-YGHRSEX6.js +600 -0
- package/dist/triggers-6EXLTW35.js +144 -0
- package/dist/tweets-X5PTAT6F.js +123 -0
- package/dist/unfollow-S5LHFLGW.js +46 -0
- package/dist/unlink-XTZA474P.js +70 -0
- package/dist/unstage-KEMVI37X.js +88 -0
- package/dist/unstage-YSVQ6DLB.js +96 -0
- package/dist/update-3NA6ABLW.js +101 -0
- package/dist/update-5ZNS2DKP.js +66 -0
- package/dist/update-DDKNKV6M.js +81 -0
- package/dist/update-MDVZ24VQ.js +192 -0
- package/dist/update-USKR3UOC.js +155 -0
- package/dist/upload-IMP5CUY5.js +129 -0
- package/dist/upload-SYFB2VTJ.js +150 -0
- package/dist/upscale-P5EYUVOZ.js +109 -0
- package/dist/url-options-6MFRIDNA.js +131 -0
- package/dist/url-params-Y5XQSDEF.js +101 -0
- package/dist/use-D3RBWLJO.js +95 -0
- package/dist/validate-JX4FT7PL.js +122 -0
- package/dist/variant-JQVZUUA4.js +338 -0
- package/dist/videos-EHDZ46UQ.js +41 -0
- package/dist/view-IKKRJ5YD.js +121 -0
- package/dist/viewer-check-5GREZIVJ.js +83 -0
- package/dist/web-7TPDDBI6.js +143 -0
- package/dist/winners-4PKEVMUC.js +113 -0
- package/dist/winning-ads-H7ZE5AQW.js +86 -0
- package/dist/write-commands-CTLF2M6L.js +713 -0
- package/dist/write-commands-CY734U34.js +1172 -0
- package/dist/write-commands-CY734U34.js.map +1 -0
- package/dist/write-commands-FIS6Y2MN.js +206 -0
- package/dist/write-commands-V77MD5SC.js +1525 -0
- package/dist/x-EMLFCHSG.js +47 -0
- package/package.json +3 -1
- package/dist/account-4PSZF4JD.js +0 -82
- package/dist/account-647PCUOQ.js +0 -82
- package/dist/account-VYFXJUNE.js +0 -139
- package/dist/account-VYFXJUNE.js.map +0 -1
- package/dist/account-assets-2HF7NCHO.js +0 -290
- package/dist/account-assets-2HF7NCHO.js.map +0 -1
- package/dist/account-level-Q5IW5477.js +0 -611
- package/dist/account-level-Q5IW5477.js.map +0 -1
- package/dist/account-reads-P6IIXT33.js +0 -219
- package/dist/account-users-5IQPUS2D.js +0 -64
- package/dist/account-writes-3ZZQZNUK.js +0 -68
- package/dist/accounts-3DD3A3XT.js +0 -76
- package/dist/accounts-CZ66YSKO.js +0 -115
- package/dist/accounts-K27VTHIE.js +0 -701
- package/dist/accounts-OIS47UO5.js +0 -80
- package/dist/accounts-Q2DTEEMD.js +0 -114
- package/dist/actions-AN46NZXW.js +0 -55
- package/dist/active-entities-SJ4XHVI2.js +0 -103
- package/dist/activecampaign-XXQHZ2L5.js +0 -938
- package/dist/activities-TX5ZXXSA.js +0 -75
- package/dist/activities-TX5ZXXSA.js.map +0 -1
- package/dist/ad-group-writes-5DUD5PBM.js +0 -172
- package/dist/ad-groups-NT5TPH6G.js +0 -70
- package/dist/ad-writes-YKSI3GDY.js +0 -176
- package/dist/add-5K7S2UPA.js +0 -97
- package/dist/add-GBMMGF7P.js +0 -107
- package/dist/add-JNHU6ULY.js +0 -148
- package/dist/add-RAL7GDKT.js +0 -305
- package/dist/add-WRF2WZCB.js +0 -80
- package/dist/add-ZKQ3NQJM.js +0 -81
- package/dist/add-accounts-MR56FBTK.js +0 -91
- package/dist/ads-3J7T72YE.js +0 -48
- package/dist/ads-IEE5ZRA5.js +0 -115
- package/dist/ads-IEE5ZRA5.js.map +0 -1
- package/dist/ads-KGBTVDQR.js +0 -128
- package/dist/ads-YUOJV4OD.js +0 -79
- package/dist/adsets-YOCZGGSS.js +0 -182
- package/dist/adsets-YOCZGGSS.js.map +0 -1
- package/dist/advertisers-5FMIUJYH.js +0 -123
- package/dist/advertisers-NSPD6B6E.js +0 -125
- package/dist/analytics-KDGDYK7M.js +0 -447
- package/dist/analytics-Y2SRC665.js +0 -2437
- package/dist/animate-KBLNHCZC.js +0 -480
- package/dist/approved-D5FVTWOI.js +0 -73
- package/dist/asset-writes-LW32HJF4.js +0 -50
- package/dist/assign-TGOKVBIY.js +0 -80
- package/dist/audience-size-KLFTT34X.js +0 -76
- package/dist/audience-writes-ESYRCZNG.js +0 -327
- package/dist/audience-writes-ESYRCZNG.js.map +0 -1
- package/dist/audiences-GJDGNYQK.js +0 -86
- package/dist/audiences-GJDGNYQK.js.map +0 -1
- package/dist/audiences-TESXNPYE.js +0 -280
- package/dist/audiences-XL72SBM4.js +0 -85
- package/dist/audit-RVDFAWOH.js +0 -88
- package/dist/audit-U5LWLN3E.js +0 -154
- package/dist/autocomplete-F77MTXIZ.js +0 -114
- package/dist/avatars-AD4AZGM4.js +0 -38
- package/dist/bid-pricing-JGBLTYIA.js +0 -103
- package/dist/brand-LL3SIC57.js +0 -22
- package/dist/brief-GIIWAVE4.js +0 -543
- package/dist/businesses-TVZUF67Q.js +0 -54
- package/dist/campaign-groups-EW7G2FDF.js +0 -99
- package/dist/campaign-writes-E2FKR6U5.js +0 -176
- package/dist/campaign-writes-HBVEQB6K.js +0 -168
- package/dist/campaigns-RZLJUAIH.js +0 -113
- package/dist/campaigns-TVK2YHUI.js +0 -130
- package/dist/campaigns-TVK2YHUI.js.map +0 -1
- package/dist/campaigns-YQXDJCLI.js +0 -111
- package/dist/campaigns-YZSVFAMF.js +0 -78
- package/dist/canvas-CPL26MJ6.js +0 -46
- package/dist/capabilities-H3K7VWUC.js +0 -147
- package/dist/cards-IW6O5MW6.js +0 -85
- package/dist/catalog-VIM36XDY.js +0 -65
- package/dist/catalogs-4K6CWT6W.js +0 -781
- package/dist/catalogs-4K6CWT6W.js.map +0 -1
- package/dist/catalogs-FPFMRMJ3.js +0 -130
- package/dist/changes-EH56IET2.js +0 -135
- package/dist/chatgpt-3IRHLNDB.js +0 -47
- package/dist/chats-GKGPR7CM.js +0 -279
- package/dist/check-65K6NOU4.js +0 -107
- package/dist/chunk-2AI7CZGS.js +0 -100
- package/dist/chunk-2II2GUFL.js +0 -225
- package/dist/chunk-2XYUFXF2.js +0 -224
- package/dist/chunk-33WJWY36.js +0 -106
- package/dist/chunk-3662ESC7.js +0 -58
- package/dist/chunk-3N4SIGSG.js +0 -111
- package/dist/chunk-3VNW4CZF.js +0 -76
- package/dist/chunk-42YZYRDP.js +0 -163
- package/dist/chunk-47A4XF27.js +0 -175
- package/dist/chunk-47A4XF27.js.map +0 -1
- package/dist/chunk-4E5FSFXV.js +0 -97
- package/dist/chunk-4LZJ6QDN.js +0 -1646
- package/dist/chunk-56ID4HVR.js +0 -46
- package/dist/chunk-5QRF7ANY.js +0 -1518
- package/dist/chunk-5UCUIAZ2.js +0 -846
- package/dist/chunk-5VEEWQUR.js +0 -24026
- package/dist/chunk-67STPUUA.js +0 -207
- package/dist/chunk-6JACV223.js +0 -35
- package/dist/chunk-6JM2YYPC.js +0 -149
- package/dist/chunk-6WI5SJ3A.js +0 -455
- package/dist/chunk-7CGPYX5C.js +0 -363
- package/dist/chunk-7DCOK7YK.js +0 -103
- package/dist/chunk-7DZOZVZS.js +0 -3868
- package/dist/chunk-7OPS4UZS.js +0 -377
- package/dist/chunk-7VXC6SFJ.js +0 -831
- package/dist/chunk-ABXVFHTG.js +0 -476
- package/dist/chunk-AEEJDTVO.js +0 -74
- package/dist/chunk-AEUKCVG6.js +0 -1919
- package/dist/chunk-B46WSAWE.js +0 -66
- package/dist/chunk-BQPPSOJK.js +0 -169
- package/dist/chunk-CET36WNA.js +0 -139
- package/dist/chunk-CHUN7S7I.js +0 -287
- package/dist/chunk-CW3LS6QZ.js +0 -76
- package/dist/chunk-DERQLVKB.js +0 -215
- package/dist/chunk-DGWSMAKI.js +0 -75
- package/dist/chunk-DM6LTYOQ.js +0 -604
- package/dist/chunk-DPPV45D5.js +0 -229
- package/dist/chunk-EBMIK6PP.js +0 -5368
- package/dist/chunk-ED3OAFEO.js +0 -89
- package/dist/chunk-EGETVGHM.js +0 -285
- package/dist/chunk-EGNHYOKZ.js +0 -74
- package/dist/chunk-ER3V3FVG.js +0 -136
- package/dist/chunk-ERKWETZB.js +0 -52
- package/dist/chunk-FZBNHR2U.js +0 -56
- package/dist/chunk-G2NUIZ74.js +0 -296
- package/dist/chunk-GV2DI6EZ.js +0 -942
- package/dist/chunk-HQWSGOAC.js +0 -46
- package/dist/chunk-HZRJ2G6Z.js +0 -98
- package/dist/chunk-I2LRPRO6.js +0 -167
- package/dist/chunk-IEUHPWKD.js +0 -106
- package/dist/chunk-IFSDN33H.js +0 -188
- package/dist/chunk-IGG52H7X.js +0 -638
- package/dist/chunk-ILYJWV7K.js +0 -156
- package/dist/chunk-J3SHO5XC.js +0 -69
- package/dist/chunk-J6ND2DM3.js +0 -676
- package/dist/chunk-JHWCNIRD.js +0 -429
- package/dist/chunk-JPPTBNFD.js +0 -197
- package/dist/chunk-KL4H62CA.js +0 -131
- package/dist/chunk-KVKV5NUX.js +0 -91
- package/dist/chunk-LXFD2MAX.js +0 -710
- package/dist/chunk-LYWPC6JW.js +0 -64
- package/dist/chunk-MPRC7FAK.js +0 -275
- package/dist/chunk-MYE7YPQ7.js +0 -51
- package/dist/chunk-N2AVGSVA.js +0 -94
- package/dist/chunk-N727QO5G.js +0 -344
- package/dist/chunk-NBVQBVLL.js +0 -148
- package/dist/chunk-NND4P5BL.js +0 -45
- package/dist/chunk-NVTVSGUZ.js +0 -91
- package/dist/chunk-OC7PHF55.js +0 -219
- package/dist/chunk-OC7PHF55.js.map +0 -1
- package/dist/chunk-OICSCE6A.js +0 -191
- package/dist/chunk-OIXU5KU3.js +0 -191
- package/dist/chunk-OJQBHX5Z.js +0 -324
- package/dist/chunk-OKMGZXQO.js +0 -547
- package/dist/chunk-OMORXBRN.js +0 -333
- package/dist/chunk-OS2UGBNB.js +0 -170
- package/dist/chunk-PKJZ42PC.js +0 -66
- package/dist/chunk-POJMYM56.js +0 -207
- package/dist/chunk-POJMYM56.js.map +0 -1
- package/dist/chunk-PSSBGCSI.js +0 -297
- package/dist/chunk-QHVSGWLV.js +0 -200
- package/dist/chunk-QNWDGKGN.js +0 -142
- package/dist/chunk-QT2W5VGG.js +0 -8954
- package/dist/chunk-R2TNLGCG.js +0 -494
- package/dist/chunk-RAHWPMEI.js +0 -23
- package/dist/chunk-SF3VUQNM.js +0 -166
- package/dist/chunk-SGEHQTEJ.js +0 -843
- package/dist/chunk-SQSNXBK3.js +0 -544
- package/dist/chunk-T6ICE6NG.js +0 -42
- package/dist/chunk-T7Z5ZU64.js +0 -64
- package/dist/chunk-TCYK35RZ.js +0 -1744
- package/dist/chunk-TM6S6PJY.js +0 -125
- package/dist/chunk-TMVNSRSX.js +0 -84
- package/dist/chunk-TUJBT5IT.js +0 -122
- package/dist/chunk-TW3B7KTA.js +0 -97
- package/dist/chunk-TW6QDRID.js +0 -26
- package/dist/chunk-UCI6ZGUF.js +0 -2321
- package/dist/chunk-UCI6ZGUF.js.map +0 -1
- package/dist/chunk-VFDV7VH3.js +0 -203
- package/dist/chunk-VQYBXI76.js +0 -19
- package/dist/chunk-XCHIV2EE.js +0 -69
- package/dist/chunk-XJL6ECNN.js +0 -249
- package/dist/chunk-XUMMEZBE.js +0 -8914
- package/dist/chunk-XZLGG2AT.js +0 -25
- package/dist/chunk-YAFVIGRK.js +0 -592
- package/dist/chunk-YTGA55EL.js +0 -39
- package/dist/chunk-YWHAEFSK.js +0 -910
- package/dist/chunk-Z3GBZSDK.js +0 -274
- package/dist/chunk-Z7R2WBAX.js +0 -84
- package/dist/chunk-ZAIJTVSP.js +0 -225
- package/dist/chunk-ZWOXDT2A.js +0 -98
- package/dist/claim-R45JCR52.js +0 -200
- package/dist/client-326OAAIR.js +0 -19
- package/dist/code-HTYD5KW2.js +0 -76
- package/dist/companies-NJWHPCPA.js +0 -198
- package/dist/company-ZBXJWXY7.js +0 -308
- package/dist/complete-M22JLTKC.js +0 -84
- package/dist/config-UWZFBXZ7.js +0 -88
- package/dist/connect-UXLCEZPO.js +0 -45
- package/dist/content-VA4BT2RU.js +0 -85
- package/dist/conversation-T46XZAWU.js +0 -96
- package/dist/conversion-report-UE7RFG5C.js +0 -127
- package/dist/conversion-upload-command-MJYMZBL2.js +0 -439
- package/dist/conversion-writes-MLBRQZE5.js +0 -122
- package/dist/conversions-NJZ6DPDX.js +0 -78
- package/dist/conversions-POANPZNX.js +0 -140
- package/dist/copy-writes-IEMFN2NY.js +0 -170
- package/dist/copy-writes-IEMFN2NY.js.map +0 -1
- package/dist/countries-CQUPWQ4X.js +0 -82
- package/dist/create-6AQ7ZEEK.js +0 -210
- package/dist/create-BLJZZQA3.js +0 -135
- package/dist/create-V7PU2S5H.js +0 -62
- package/dist/create-VF6MIFVE.js +0 -239
- package/dist/creatives-3Q472TRK.js +0 -89
- package/dist/creatives-3Q472TRK.js.map +0 -1
- package/dist/creatives-3UUPKCQV.js +0 -223
- package/dist/creatives-6DXFUEDL.js +0 -58
- package/dist/credentials-5M4XL62I.js +0 -290
- package/dist/critique-CBUPRMZ2.js +0 -232
- package/dist/critique-TU3NZX67.js +0 -1451
- package/dist/crm-HNFZNG5G.js +0 -323
- package/dist/crm-ZZCTVEDQ.js +0 -227
- package/dist/crop-FVCVEJSR.js +0 -113
- package/dist/currency-FQVXID7K.js +0 -88
- package/dist/custom-conversions-EWCAZIE4.js +0 -128
- package/dist/custom-conversions-EWCAZIE4.js.map +0 -1
- package/dist/customers-NHOOO24F.js +0 -59
- package/dist/decide-KQR4CPWC.js +0 -199
- package/dist/delete-F7QO2QDC.js +0 -57
- package/dist/delete-KKO7X3RT.js +0 -69
- package/dist/delete-LTNKDW4A.js +0 -67
- package/dist/delete-OASJUDPH.js +0 -69
- package/dist/delete-SYLJMG4T.js +0 -71
- package/dist/delete-ZTSWWKFX.js +0 -71
- package/dist/demographics-MJI7FUBY.js +0 -141
- package/dist/describe-MBJ3HJ7J.js +0 -97
- package/dist/describe-TY747KWN.js +0 -97
- package/dist/dimensions-IDARVFYN.js +0 -101
- package/dist/discard-TC5VNV4A.js +0 -69
- package/dist/discover-3SNIZB77.js +0 -172
- package/dist/discover-522LNERG.js +0 -93
- package/dist/domain-EFLTGWAH.js +0 -101
- package/dist/download-ASPSNADB.js +0 -172
- package/dist/download-EZ5TP4TO.js +0 -299
- package/dist/draft-5JO5X66B.js +0 -310
- package/dist/draft-5XBLFH7G.js +0 -308
- package/dist/draft-B6SRPKVH.js +0 -220
- package/dist/draft-H3UODN7K.js +0 -335
- package/dist/draft-IJKYXCYH.js +0 -283
- package/dist/draft-S3DMENEI.js +0 -100
- package/dist/draft-W37T35ZL.js +0 -103
- package/dist/draft-ZNV5Q3Z3.js +0 -240
- package/dist/env-FMH2MF32.js +0 -53
- package/dist/experiment-42WRSUVQ.js +0 -1397
- package/dist/experiments-AVSCZC2U.js +0 -236
- package/dist/export-F74SHU6W.js +0 -168
- package/dist/extract-E53SKZO6.js +0 -113
- package/dist/facets-QISBLVXH.js +0 -117
- package/dist/favorites-BHFIU2YJ.js +0 -178
- package/dist/feed-YXMGEQIR.js +0 -177
- package/dist/feedback-775YR5HU.js +0 -111
- package/dist/feedback-record-DR6PXCBL.js +0 -265
- package/dist/fetch-CN3XY65Y.js +0 -139
- package/dist/fetch-L2X4J6NL.js +0 -179
- package/dist/find-H24XAY3I.js +0 -143
- package/dist/fit-GEDS2RRK.js +0 -65
- package/dist/flows-2INFTGLY.js +0 -250
- package/dist/follow-RZIVLFTP.js +0 -94
- package/dist/follow-competitors-3OYH45TL.js +0 -112
- package/dist/following-7IEZRMFW.js +0 -113
- package/dist/fonts-DUFHUFG7.js +0 -39
- package/dist/forecast-P23UYT4Q.js +0 -169
- package/dist/forecast-QGOILCQR.js +0 -121
- package/dist/funding-UMOHBL3B.js +0 -85
- package/dist/funnel-RRBVMYBN.js +0 -397
- package/dist/ga4-WVMAQSK2.js +0 -55
- package/dist/generate-47VQBRBV.js +0 -263
- package/dist/get-2RMCKC44.js +0 -82
- package/dist/get-545JKP27.js +0 -59
- package/dist/get-7HEW4JJS.js +0 -38
- package/dist/get-BE6CTMSX.js +0 -92
- package/dist/get-GD4VVGZM.js +0 -63
- package/dist/get-NI6JUBK6.js +0 -63
- package/dist/get-OSYIEPOV.js +0 -59
- package/dist/get-PFPS2YZG.js +0 -61
- package/dist/gif-7PEOJ7LJ.js +0 -102
- package/dist/google-O5QYCJVB.js +0 -136
- package/dist/google-WMNFVC3W.js +0 -3267
- package/dist/google-ads-SRGEWT5V.js +0 -198
- package/dist/group-FR3FFHQA.js +0 -43
- package/dist/group-OW223DX7.js +0 -43
- package/dist/gsc-RURIHUO6.js +0 -30
- package/dist/history-2YEJFMTG.js +0 -102
- package/dist/history-DAZV5KNW.js +0 -69
- package/dist/history-KETFVKOJ.js +0 -136
- package/dist/hubspot-LIYJQDAD.js +0 -782
- package/dist/icon-T3R4JEP4.js +0 -137
- package/dist/ideas-YNVJJE6J.js +0 -45
- package/dist/images-AHTMTPAW.js +0 -92
- package/dist/improve-YG3IYZ2X.js +0 -86
- package/dist/ingest-SSF4SB5Y.js +0 -110
- package/dist/ingest-Z4RYPUI6.js +0 -26
- package/dist/insights-BS664EVG.js +0 -132
- package/dist/insights-MM3BBSEB.js +0 -439
- package/dist/inspect-R4F44CWC.js +0 -192
- package/dist/inspiration-RKNVN32W.js +0 -53
- package/dist/instant-experiences-OYH5CBOS.js +0 -260
- package/dist/instant-experiences-OYH5CBOS.js.map +0 -1
- package/dist/intent-LQWD34Z2.js +0 -95
- package/dist/job-HU57IITM.js +0 -202
- package/dist/job-create-3BITITIH.js +0 -109
- package/dist/job-status-N3GHIEJQ.js +0 -74
- package/dist/keep-QVR77ETP.js +0 -78
- package/dist/keyword-gap-5J4EL2QJ.js +0 -130
- package/dist/keyword-metrics-BY5LQGKL.js +0 -200
- package/dist/keywords-for-site-5ICGQRGM.js +0 -131
- package/dist/landing-CRWUFCHZ.js +0 -28
- package/dist/landings-4QUOO57P.js +0 -151
- package/dist/languages-E6QEX56G.js +0 -55
- package/dist/languages-X3TJTLON.js +0 -40
- package/dist/launches-ARKSFHM4.js +0 -19
- package/dist/layerize-MBPVR6A2.js +0 -190
- package/dist/leads-Q4DI5VAD.js +0 -115
- package/dist/leads-TOC2LNFE.js +0 -540
- package/dist/leads-TOC2LNFE.js.map +0 -1
- package/dist/learn-3WJ55SY6.js +0 -207
- package/dist/library-2KAQIAL4.js +0 -211
- package/dist/lighthouse-VBYMU5IU.js +0 -75
- package/dist/line-item-writes-OA63VP3A.js +0 -211
- package/dist/line-items-SC2X3REC.js +0 -107
- package/dist/link-N5DFWR57.js +0 -67
- package/dist/linkedin-4EZGZCI4.js +0 -1328
- package/dist/linkedin-person-YHXCCLIJ.js +0 -139
- package/dist/list-4EM7NNLN.js +0 -93
- package/dist/list-4RUI6ARN.js +0 -154
- package/dist/list-CHEXCOHV.js +0 -51
- package/dist/list-LOFL43XV.js +0 -57
- package/dist/list-MVCLPKSE.js +0 -306
- package/dist/list-NPT55NSD.js +0 -76
- package/dist/list-OX333277.js +0 -50
- package/dist/list-X7CHCNPV.js +0 -67
- package/dist/list-Y5O2RZF7.js +0 -65
- package/dist/locations-AP34JJ43.js +0 -69
- package/dist/locations-PZNE7DSY.js +0 -40
- package/dist/log-T4AT6W4G.js +0 -95
- package/dist/logo-QBUCJS5N.js +0 -18
- package/dist/lookup-3TQVU2JC.js +0 -23
- package/dist/make-WQ3CYYHK.js +0 -1366
- package/dist/map-PWD5HNDL.js +0 -436
- package/dist/mcp-S46JFWPE.js +0 -729
- package/dist/media-FAKJHFDA.js +0 -18
- package/dist/media-VEBI2AQV.js +0 -89
- package/dist/media-sources-VYCQ4CBN.js +0 -35
- package/dist/members-K4WKAU6K.js +0 -47
- package/dist/meme-OAEM7ZOK.js +0 -100
- package/dist/meta-DJGCKSUM.js +0 -122
- package/dist/metrics-RD444PNG.js +0 -152
- package/dist/models-4T3ZYN2T.js +0 -155
- package/dist/normalize-K4ESALR4.js +0 -144
- package/dist/normalize-QAAYQ6AT.js +0 -806
- package/dist/options-OQPIK3JZ.js +0 -125
- package/dist/organization-J57FTB5Z.js +0 -949
- package/dist/output-I3KNTW6D.js +0 -24
- package/dist/page-CU4QKNLY.js +0 -105
- package/dist/page-photos-4S5FKMGF.js +0 -118
- package/dist/page-photos-4S5FKMGF.js.map +0 -1
- package/dist/pages-H2PHZCPL.js +0 -67
- package/dist/performance-6YVVU4IM.js +0 -27
- package/dist/performance-G3KZMGBS.js +0 -5556
- package/dist/pinterest-5P4IEPPC.js +0 -96
- package/dist/pixels-62KNDNMV.js +0 -62
- package/dist/pixels-XOTHAC7M.js +0 -109
- package/dist/pixels-XOTHAC7M.js.map +0 -1
- package/dist/plan-FDZ4CAO7.js +0 -208
- package/dist/posts-4UY4NLL4.js +0 -36
- package/dist/preview-QNMOIWIS.js +0 -218
- package/dist/profile-5JHDAWAQ.js +0 -159
- package/dist/promoted-tweet-writes-PPASZ4KJ.js +0 -183
- package/dist/promoted-tweets-LULS4HD6.js +0 -119
- package/dist/properties-PKBBENIF.js +0 -101
- package/dist/publish-DHFWCH5U.js +0 -344
- package/dist/query-DPMRKPCU.js +0 -236
- package/dist/query-QZAWNHQD.js +0 -247
- package/dist/query-SRITUMBY.js +0 -62
- package/dist/questionnaire-VNW3WOHN.js +0 -94
- package/dist/read-NBPRYGJW.js +0 -141
- package/dist/reddit-B2RH446Y.js +0 -29
- package/dist/refresh-AY62O4TN.js +0 -97
- package/dist/refresh-C6RK3HK2.js +0 -42
- package/dist/release-EASQTSSS.js +0 -63
- package/dist/relevant-pages-YKXXEIUN.js +0 -99
- package/dist/remove-PFPU2VFL.js +0 -53
- package/dist/remove-QAPYLSPN.js +0 -49
- package/dist/reopen-HPJ7G3EB.js +0 -66
- package/dist/rerun-KZBYDGBL.js +0 -95
- package/dist/research-AMFXOM6E.js +0 -265
- package/dist/research-EOPLJRSL.js +0 -72
- package/dist/reset-ACPJOF2W.js +0 -57
- package/dist/reset-TXBI6OCQ.js +0 -57
- package/dist/resolve-O5XXQ7UH.js +0 -124
- package/dist/retry-26YFHHK3.js +0 -63
- package/dist/retry-TEXPZCGS.js +0 -65
- package/dist/retry-failed-RSSJRETJ.js +0 -45
- package/dist/revenue-FGL6RWOU.js +0 -91
- package/dist/rule-writes-6KXNKD2B.js +0 -525
- package/dist/rule-writes-6KXNKD2B.js.map +0 -1
- package/dist/rules-U6DQDZKC.js +0 -99
- package/dist/rules-ZJPPSX46.js +0 -217
- package/dist/rules-ZJPPSX46.js.map +0 -1
- package/dist/rules-add-JYKU2POK.js +0 -465
- package/dist/run-D7XEXEKQ.js +0 -70
- package/dist/run-YVVTDVXK.js +0 -69
- package/dist/scaffold-ad-RI3Z25AE.js +0 -1512
- package/dist/scaffold-static-ad-4WJNLNRD.js +0 -1010
- package/dist/scaffold-video-IE5C2BMT.js +0 -884
- package/dist/schedule-QYP5AUQR.js +0 -64
- package/dist/schedule-ZJX4VHGZ.js +0 -67
- package/dist/scheduled-agents-VU6I4MP6.js +0 -55
- package/dist/schema-D4WTTOJD.js +0 -135
- package/dist/schema-SG7ROT4Y.js +0 -69
- package/dist/schema-SG7ROT4Y.js.map +0 -1
- package/dist/scrape-GYJSU2R4.js +0 -2241
- package/dist/screenshot-4NEQSSGY.js +0 -102
- package/dist/search-3KRS2DCE.js +0 -177
- package/dist/search-5APUMKHR.js +0 -26
- package/dist/search-K5D3IYGG.js +0 -91
- package/dist/search-MPQ2FCIT.js +0 -224
- package/dist/search-UKGSZLMI.js +0 -92
- package/dist/search-ZRFBRHI5.js +0 -51
- package/dist/search-copy-X7XS7MEM.js +0 -168
- package/dist/seeds-7YAOHAKL.js +0 -101
- package/dist/select-KNNNQCHN.js +0 -106
- package/dist/sends-FCZXXXXN.js +0 -349
- package/dist/sequences-BHFEEONU.js +0 -146
- package/dist/set-prompt-OYNIOHAQ.js +0 -198
- package/dist/setup-links-QOQGDULT.js +0 -144
- package/dist/shared-4RVNVHDS.js +0 -32
- package/dist/shopify-HNM2KZSF.js +0 -3958
- package/dist/site-CSUPKGWU.js +0 -180
- package/dist/sitemaps-LSGHYJT7.js +0 -87
- package/dist/sites-MHYSTCA6.js +0 -101
- package/dist/skills-56RL5QYY.js +0 -47
- package/dist/sources-GBKTJNF2.js +0 -30
- package/dist/sources-NKTE7QX3.js +0 -457
- package/dist/stale-F7TSZ6U5.js +0 -76
- package/dist/stats-D5Q25JFU.js +0 -34
- package/dist/status-ZRUBS2QN.js +0 -65
- package/dist/sticker-UZDMIOJM.js +0 -94
- package/dist/stock-2YCEHBME.js +0 -179
- package/dist/studies-EVDF6OQG.js +0 -250
- package/dist/studies-EVDF6OQG.js.map +0 -1
- package/dist/studio-NCDGI4PJ.js +0 -49
- package/dist/study-writes-BUBCDURE.js +0 -470
- package/dist/study-writes-BUBCDURE.js.map +0 -1
- package/dist/suggest-UNOBUPDF.js +0 -66
- package/dist/sync-3GFMQRHF.js +0 -57
- package/dist/sync-LOEYQKOS.js +0 -279
- package/dist/sync-NYZYG56I.js +0 -55
- package/dist/sync-definition-OWBYWYQQ.js +0 -69
- package/dist/tag-BFJEX5VG.js +0 -57
- package/dist/tag-manager-VYGTVVMF.js +0 -43
- package/dist/tags-6CTV47HC.js +0 -23
- package/dist/tags-FUPUYIFX.js +0 -23
- package/dist/tags-MKWRG7M7.js +0 -23
- package/dist/tags-WX4H4D5C.js +0 -227
- package/dist/tags-X2MWDWCV.js +0 -26
- package/dist/targeting-H6RF33HZ.js +0 -762
- package/dist/targeting-H6RF33HZ.js.map +0 -1
- package/dist/targeting-constants-BTYMBPSR.js +0 -118
- package/dist/targeting-criteria-LTUPUXIS.js +0 -113
- package/dist/targets-GY6VE3VG.js +0 -106
- package/dist/terms-MHG3L4YP.js +0 -102
- package/dist/testimonials-2TGE4G2R.js +0 -32
- package/dist/themes-TOYR45TC.js +0 -95
- package/dist/top-companies-CGTWRZXJ.js +0 -111
- package/dist/transcript-HMAXYZEQ.js +0 -165
- package/dist/translate-F2S6TRZH.js +0 -600
- package/dist/triggers-5WY5HYZ3.js +0 -144
- package/dist/tweets-O3HMTO6K.js +0 -123
- package/dist/unfollow-W3LMFY6S.js +0 -46
- package/dist/unlink-7K6OTFKW.js +0 -70
- package/dist/unstage-IFI7C7XR.js +0 -96
- package/dist/unstage-RKP3QWW4.js +0 -88
- package/dist/update-C4IPV7LT.js +0 -101
- package/dist/update-KANGTJO3.js +0 -66
- package/dist/update-TLIXQA45.js +0 -155
- package/dist/update-TYFZ35OB.js +0 -81
- package/dist/update-X5L46DBY.js +0 -192
- package/dist/upload-LX73CSH3.js +0 -129
- package/dist/upload-NBACREXN.js +0 -150
- package/dist/upscale-BUNH7QHL.js +0 -109
- package/dist/url-options-BWOAG6IC.js +0 -131
- package/dist/url-params-6VHVQATN.js +0 -101
- package/dist/use-25Z6JEDC.js +0 -95
- package/dist/validate-M45SEOV6.js +0 -122
- package/dist/variant-SZJRK24B.js +0 -338
- package/dist/videos-2YWDLKFE.js +0 -41
- package/dist/view-EE3MFZA6.js +0 -121
- package/dist/viewer-check-2JIL6IUW.js +0 -83
- package/dist/web-ESUWCNYH.js +0 -143
- package/dist/winners-KRY3CKZG.js +0 -113
- package/dist/winning-ads-7FECWYGO.js +0 -86
- package/dist/write-commands-DRVURLDR.js +0 -1525
- package/dist/write-commands-FCHTIVXG.js +0 -1172
- package/dist/write-commands-FCHTIVXG.js.map +0 -1
- package/dist/write-commands-HXVAMQXC.js +0 -206
- package/dist/write-commands-YIAZJ4OX.js +0 -713
- package/dist/x-XWGAWFJL.js +0 -47
- /package/dist/{account-647PCUOQ.js.map → account-2G3IT7J4.js.map} +0 -0
- /package/dist/{account-4PSZF4JD.js.map → account-ULC5N7SI.js.map} +0 -0
- /package/dist/{account-reads-P6IIXT33.js.map → account-reads-FRFI6OHK.js.map} +0 -0
- /package/dist/{account-users-5IQPUS2D.js.map → account-users-PINZLBT7.js.map} +0 -0
- /package/dist/{account-writes-3ZZQZNUK.js.map → account-writes-WRGJC7VU.js.map} +0 -0
- /package/dist/{accounts-OIS47UO5.js.map → accounts-2KFG33EX.js.map} +0 -0
- /package/dist/{accounts-CZ66YSKO.js.map → accounts-5754XUS3.js.map} +0 -0
- /package/dist/{accounts-3DD3A3XT.js.map → accounts-KRW3JNCW.js.map} +0 -0
- /package/dist/{accounts-K27VTHIE.js.map → accounts-MHPNZW3W.js.map} +0 -0
- /package/dist/{accounts-Q2DTEEMD.js.map → accounts-MTNBMXHD.js.map} +0 -0
- /package/dist/{actions-AN46NZXW.js.map → actions-33IZOT5C.js.map} +0 -0
- /package/dist/{active-entities-SJ4XHVI2.js.map → active-entities-JR5B32X2.js.map} +0 -0
- /package/dist/{activecampaign-XXQHZ2L5.js.map → activecampaign-BV5GZFVR.js.map} +0 -0
- /package/dist/{ad-group-writes-5DUD5PBM.js.map → ad-group-writes-W6RCMYLC.js.map} +0 -0
- /package/dist/{ad-groups-NT5TPH6G.js.map → ad-groups-XAI2Z62X.js.map} +0 -0
- /package/dist/{ad-writes-YKSI3GDY.js.map → ad-writes-IGWZRTXY.js.map} +0 -0
- /package/dist/{add-JNHU6ULY.js.map → add-4PJDIW2M.js.map} +0 -0
- /package/dist/{add-GBMMGF7P.js.map → add-DBCN33GH.js.map} +0 -0
- /package/dist/{add-5K7S2UPA.js.map → add-KB7O7NSB.js.map} +0 -0
- /package/dist/{add-ZKQ3NQJM.js.map → add-PRU32PQN.js.map} +0 -0
- /package/dist/{add-WRF2WZCB.js.map → add-UZDOQAJL.js.map} +0 -0
- /package/dist/{add-RAL7GDKT.js.map → add-WDX66JSM.js.map} +0 -0
- /package/dist/{add-accounts-MR56FBTK.js.map → add-accounts-ZWXG6HLM.js.map} +0 -0
- /package/dist/{ads-YUOJV4OD.js.map → ads-255V76SZ.js.map} +0 -0
- /package/dist/{ads-3J7T72YE.js.map → ads-F2PURRHL.js.map} +0 -0
- /package/dist/{ads-KGBTVDQR.js.map → ads-I6I4MYQH.js.map} +0 -0
- /package/dist/{advertisers-NSPD6B6E.js.map → advertisers-BPJWOY7I.js.map} +0 -0
- /package/dist/{advertisers-5FMIUJYH.js.map → advertisers-SJO6JYIO.js.map} +0 -0
- /package/dist/{analytics-Y2SRC665.js.map → analytics-OUNKG2FW.js.map} +0 -0
- /package/dist/{analytics-KDGDYK7M.js.map → analytics-TXPEXLPQ.js.map} +0 -0
- /package/dist/{animate-KBLNHCZC.js.map → animate-425S4ZXS.js.map} +0 -0
- /package/dist/{approved-D5FVTWOI.js.map → approved-KUVAJ5M7.js.map} +0 -0
- /package/dist/{asset-writes-LW32HJF4.js.map → asset-writes-SSI3CO2A.js.map} +0 -0
- /package/dist/{assign-TGOKVBIY.js.map → assign-CTV6LDEI.js.map} +0 -0
- /package/dist/{audience-size-KLFTT34X.js.map → audience-size-5QYI5PKH.js.map} +0 -0
- /package/dist/{audiences-TESXNPYE.js.map → audiences-JZ6SCEUC.js.map} +0 -0
- /package/dist/{audiences-XL72SBM4.js.map → audiences-OMLKMHEJ.js.map} +0 -0
- /package/dist/{audit-RVDFAWOH.js.map → audit-2YFDJAKL.js.map} +0 -0
- /package/dist/{audit-U5LWLN3E.js.map → audit-4UE6GFLG.js.map} +0 -0
- /package/dist/{autocomplete-F77MTXIZ.js.map → autocomplete-HTUV2UDS.js.map} +0 -0
- /package/dist/{avatars-AD4AZGM4.js.map → avatars-IJQOWSFC.js.map} +0 -0
- /package/dist/{bid-pricing-JGBLTYIA.js.map → bid-pricing-OWP4SZP5.js.map} +0 -0
- /package/dist/{brand-LL3SIC57.js.map → brand-GBP4OEJI.js.map} +0 -0
- /package/dist/{brief-GIIWAVE4.js.map → brief-ZDHUBPV5.js.map} +0 -0
- /package/dist/{businesses-TVZUF67Q.js.map → businesses-DXRDQIFP.js.map} +0 -0
- /package/dist/{campaign-groups-EW7G2FDF.js.map → campaign-groups-LDOQU65Q.js.map} +0 -0
- /package/dist/{campaign-writes-E2FKR6U5.js.map → campaign-writes-SHF3XZXV.js.map} +0 -0
- /package/dist/{campaign-writes-HBVEQB6K.js.map → campaign-writes-SK55QLY5.js.map} +0 -0
- /package/dist/{campaigns-RZLJUAIH.js.map → campaigns-6CAKRANC.js.map} +0 -0
- /package/dist/{campaigns-YQXDJCLI.js.map → campaigns-EHV7J7PW.js.map} +0 -0
- /package/dist/{campaigns-YZSVFAMF.js.map → campaigns-GG7LLI4X.js.map} +0 -0
- /package/dist/{canvas-CPL26MJ6.js.map → canvas-AZ47PNYZ.js.map} +0 -0
- /package/dist/{capabilities-H3K7VWUC.js.map → capabilities-BEZXR2FZ.js.map} +0 -0
- /package/dist/{cards-IW6O5MW6.js.map → cards-J2PGFKEF.js.map} +0 -0
- /package/dist/{catalog-VIM36XDY.js.map → catalog-XECCXRM6.js.map} +0 -0
- /package/dist/{catalogs-FPFMRMJ3.js.map → catalogs-P5KMIMC2.js.map} +0 -0
- /package/dist/{changes-EH56IET2.js.map → changes-3COSIJLU.js.map} +0 -0
- /package/dist/{chatgpt-3IRHLNDB.js.map → chatgpt-S5EVEKYV.js.map} +0 -0
- /package/dist/{chats-GKGPR7CM.js.map → chats-AN52YVBT.js.map} +0 -0
- /package/dist/{check-65K6NOU4.js.map → check-AQO7CMDD.js.map} +0 -0
- /package/dist/{chunk-3VNW4CZF.js.map → chunk-2MXDSPUO.js.map} +0 -0
- /package/dist/{chunk-CW3LS6QZ.js.map → chunk-2SGREP24.js.map} +0 -0
- /package/dist/{chunk-LYWPC6JW.js.map → chunk-34FVKJS2.js.map} +0 -0
- /package/dist/{chunk-67STPUUA.js.map → chunk-364TCROV.js.map} +0 -0
- /package/dist/{chunk-YAFVIGRK.js.map → chunk-3J3W23S4.js.map} +0 -0
- /package/dist/{chunk-HZRJ2G6Z.js.map → chunk-3KMYOPBI.js.map} +0 -0
- /package/dist/{chunk-QT2W5VGG.js.map → chunk-3N2KAOVM.js.map} +0 -0
- /package/dist/{chunk-NBVQBVLL.js.map → chunk-3WSJGYA3.js.map} +0 -0
- /package/dist/{chunk-3N4SIGSG.js.map → chunk-4745PLPI.js.map} +0 -0
- /package/dist/{chunk-ED3OAFEO.js.map → chunk-4JS2O2KV.js.map} +0 -0
- /package/dist/{chunk-IFSDN33H.js.map → chunk-4VSD4NSZ.js.map} +0 -0
- /package/dist/{chunk-2II2GUFL.js.map → chunk-4VXQAJRU.js.map} +0 -0
- /package/dist/{chunk-ABXVFHTG.js.map → chunk-52IYZCRS.js.map} +0 -0
- /package/dist/{chunk-J3SHO5XC.js.map → chunk-5CTNSIWY.js.map} +0 -0
- /package/dist/{chunk-NVTVSGUZ.js.map → chunk-5G225R4A.js.map} +0 -0
- /package/dist/{chunk-I2LRPRO6.js.map → chunk-62QMJYML.js.map} +0 -0
- /package/dist/{chunk-DGWSMAKI.js.map → chunk-6B4KNOJZ.js.map} +0 -0
- /package/dist/{chunk-XCHIV2EE.js.map → chunk-6M77QNJ4.js.map} +0 -0
- /package/dist/{chunk-OIXU5KU3.js.map → chunk-7B73TSKJ.js.map} +0 -0
- /package/dist/{chunk-TW6QDRID.js.map → chunk-7O4HFODK.js.map} +0 -0
- /package/dist/{chunk-PKJZ42PC.js.map → chunk-7ODQ6ZID.js.map} +0 -0
- /package/dist/{chunk-VQYBXI76.js.map → chunk-7OVCUTEL.js.map} +0 -0
- /package/dist/{chunk-DERQLVKB.js.map → chunk-AFQF6ISC.js.map} +0 -0
- /package/dist/{chunk-AEEJDTVO.js.map → chunk-AXTOIHH2.js.map} +0 -0
- /package/dist/{chunk-DPPV45D5.js.map → chunk-B4UVJCJ4.js.map} +0 -0
- /package/dist/{chunk-7OPS4UZS.js.map → chunk-C5UFKDAX.js.map} +0 -0
- /package/dist/{chunk-6WI5SJ3A.js.map → chunk-CREEY2FS.js.map} +0 -0
- /package/dist/{chunk-ZWOXDT2A.js.map → chunk-DJWEQDBB.js.map} +0 -0
- /package/dist/{chunk-OKMGZXQO.js.map → chunk-DLNADMQV.js.map} +0 -0
- /package/dist/{chunk-T6ICE6NG.js.map → chunk-DNWP5DL6.js.map} +0 -0
- /package/dist/{chunk-MYE7YPQ7.js.map → chunk-DW3OPKXI.js.map} +0 -0
- /package/dist/{chunk-QNWDGKGN.js.map → chunk-ECJIMIEJ.js.map} +0 -0
- /package/dist/{chunk-G2NUIZ74.js.map → chunk-EHIISZYD.js.map} +0 -0
- /package/dist/{chunk-4E5FSFXV.js.map → chunk-FBG3JDET.js.map} +0 -0
- /package/dist/{chunk-OS2UGBNB.js.map → chunk-FOWT6ENH.js.map} +0 -0
- /package/dist/{chunk-KVKV5NUX.js.map → chunk-FX3MXXYD.js.map} +0 -0
- /package/dist/{chunk-EGNHYOKZ.js.map → chunk-GLCHD54W.js.map} +0 -0
- /package/dist/{chunk-RAHWPMEI.js.map → chunk-GT77XMOG.js.map} +0 -0
- /package/dist/{chunk-ZAIJTVSP.js.map → chunk-GXPZJ2QN.js.map} +0 -0
- /package/dist/{chunk-OJQBHX5Z.js.map → chunk-HPDGVK6R.js.map} +0 -0
- /package/dist/{chunk-7DZOZVZS.js.map → chunk-HZ3RXKR4.js.map} +0 -0
- /package/dist/{chunk-5QRF7ANY.js.map → chunk-ILEJXJH2.js.map} +0 -0
- /package/dist/{chunk-VFDV7VH3.js.map → chunk-J4ASA24X.js.map} +0 -0
- /package/dist/{chunk-IGG52H7X.js.map → chunk-JCVPZ7CV.js.map} +0 -0
- /package/dist/{chunk-GV2DI6EZ.js.map → chunk-KDNOMRJA.js.map} +0 -0
- /package/dist/{chunk-T7Z5ZU64.js.map → chunk-KG7FPYM2.js.map} +0 -0
- /package/dist/{chunk-OICSCE6A.js.map → chunk-KRQ2AXFW.js.map} +0 -0
- /package/dist/{chunk-YTGA55EL.js.map → chunk-L5IYVZM2.js.map} +0 -0
- /package/dist/{chunk-HQWSGOAC.js.map → chunk-LHQ6GXNF.js.map} +0 -0
- /package/dist/{chunk-B46WSAWE.js.map → chunk-LS2KEAYJ.js.map} +0 -0
- /package/dist/{chunk-N2AVGSVA.js.map → chunk-LURM3KKS.js.map} +0 -0
- /package/dist/{chunk-33WJWY36.js.map → chunk-MHH7SGLS.js.map} +0 -0
- /package/dist/{chunk-EGETVGHM.js.map → chunk-MZIYRWXL.js.map} +0 -0
- /package/dist/{chunk-TW3B7KTA.js.map → chunk-NY5VYGTP.js.map} +0 -0
- /package/dist/{chunk-ER3V3FVG.js.map → chunk-O37YK4P6.js.map} +0 -0
- /package/dist/{chunk-JHWCNIRD.js.map → chunk-OXARC5HH.js.map} +0 -0
- /package/dist/{chunk-FZBNHR2U.js.map → chunk-PN72Z2W2.js.map} +0 -0
- /package/dist/{chunk-2XYUFXF2.js.map → chunk-PTK7AFEE.js.map} +0 -0
- /package/dist/{chunk-2AI7CZGS.js.map → chunk-QJ5TU5J6.js.map} +0 -0
- /package/dist/{chunk-Z7R2WBAX.js.map → chunk-QNLPZOHV.js.map} +0 -0
- /package/dist/{chunk-SQSNXBK3.js.map → chunk-QNXDSNOQ.js.map} +0 -0
- /package/dist/{chunk-7CGPYX5C.js.map → chunk-QOC3JEUQ.js.map} +0 -0
- /package/dist/{chunk-CET36WNA.js.map → chunk-R44B522K.js.map} +0 -0
- /package/dist/{chunk-5UCUIAZ2.js.map → chunk-R5GGTLYE.js.map} +0 -0
- /package/dist/{chunk-N727QO5G.js.map → chunk-R6T25WTZ.js.map} +0 -0
- /package/dist/{chunk-PSSBGCSI.js.map → chunk-RUJS2NOA.js.map} +0 -0
- /package/dist/{chunk-SGEHQTEJ.js.map → chunk-SDQLZYQG.js.map} +0 -0
- /package/dist/{chunk-R2TNLGCG.js.map → chunk-SEC6FPWC.js.map} +0 -0
- /package/dist/{chunk-56ID4HVR.js.map → chunk-SJAUMPL3.js.map} +0 -0
- /package/dist/{chunk-5VEEWQUR.js.map → chunk-SNDHR5QA.js.map} +0 -0
- /package/dist/{chunk-TM6S6PJY.js.map → chunk-SP5L7EYC.js.map} +0 -0
- /package/dist/{chunk-4LZJ6QDN.js.map → chunk-SPBNAGIN.js.map} +0 -0
- /package/dist/{chunk-OMORXBRN.js.map → chunk-SWNCS2OD.js.map} +0 -0
- /package/dist/{chunk-Z3GBZSDK.js.map → chunk-T37PAZT2.js.map} +0 -0
- /package/dist/{chunk-EBMIK6PP.js.map → chunk-T6PTG6VM.js.map} +0 -0
- /package/dist/{chunk-6JACV223.js.map → chunk-TEKML2NW.js.map} +0 -0
- /package/dist/{chunk-CHUN7S7I.js.map → chunk-TKDOVFO6.js.map} +0 -0
- /package/dist/{chunk-AEUKCVG6.js.map → chunk-TRMZQRVV.js.map} +0 -0
- /package/dist/{chunk-6JM2YYPC.js.map → chunk-TTKDFRON.js.map} +0 -0
- /package/dist/{chunk-YWHAEFSK.js.map → chunk-U2BPZ27S.js.map} +0 -0
- /package/dist/{chunk-IEUHPWKD.js.map → chunk-UPDIBQUC.js.map} +0 -0
- /package/dist/{chunk-TMVNSRSX.js.map → chunk-V2XEX2YR.js.map} +0 -0
- /package/dist/{chunk-7DCOK7YK.js.map → chunk-V62ZWGCL.js.map} +0 -0
- /package/dist/{chunk-BQPPSOJK.js.map → chunk-VCUXAPLM.js.map} +0 -0
- /package/dist/{chunk-MPRC7FAK.js.map → chunk-W7C7HZFJ.js.map} +0 -0
- /package/dist/{chunk-SF3VUQNM.js.map → chunk-WPAW6EVY.js.map} +0 -0
- /package/dist/{chunk-DM6LTYOQ.js.map → chunk-WPSLL3S2.js.map} +0 -0
- /package/dist/{chunk-TUJBT5IT.js.map → chunk-WQKBEC4I.js.map} +0 -0
- /package/dist/{chunk-LXFD2MAX.js.map → chunk-WSYQ6LWB.js.map} +0 -0
- /package/dist/{chunk-QHVSGWLV.js.map → chunk-WW6JLISJ.js.map} +0 -0
- /package/dist/{chunk-ERKWETZB.js.map → chunk-X3HPRECW.js.map} +0 -0
- /package/dist/{chunk-XUMMEZBE.js.map → chunk-XGX2WOV2.js.map} +0 -0
- /package/dist/{chunk-ILYJWV7K.js.map → chunk-XJHUSJY6.js.map} +0 -0
- /package/dist/{chunk-XZLGG2AT.js.map → chunk-XPDUBDPL.js.map} +0 -0
- /package/dist/{chunk-42YZYRDP.js.map → chunk-XRSRHAEU.js.map} +0 -0
- /package/dist/{chunk-XJL6ECNN.js.map → chunk-XVHR2NCG.js.map} +0 -0
- /package/dist/{chunk-7VXC6SFJ.js.map → chunk-XZWBLUDV.js.map} +0 -0
- /package/dist/{chunk-J6ND2DM3.js.map → chunk-YUCGCJKT.js.map} +0 -0
- /package/dist/{chunk-JPPTBNFD.js.map → chunk-ZBUIWVF3.js.map} +0 -0
- /package/dist/{chunk-KL4H62CA.js.map → chunk-ZFJ2FQUH.js.map} +0 -0
- /package/dist/{chunk-NND4P5BL.js.map → chunk-ZL5YETKR.js.map} +0 -0
- /package/dist/{chunk-3662ESC7.js.map → chunk-ZNXP3WNJ.js.map} +0 -0
- /package/dist/{chunk-TCYK35RZ.js.map → chunk-ZVXKWLLE.js.map} +0 -0
- /package/dist/{claim-R45JCR52.js.map → claim-NRNO4XCO.js.map} +0 -0
- /package/dist/{client-326OAAIR.js.map → client-463NKLRT.js.map} +0 -0
- /package/dist/{code-HTYD5KW2.js.map → code-R4JOQ27J.js.map} +0 -0
- /package/dist/{companies-NJWHPCPA.js.map → companies-4TOBU44J.js.map} +0 -0
- /package/dist/{company-ZBXJWXY7.js.map → company-RK34S3IA.js.map} +0 -0
- /package/dist/{complete-M22JLTKC.js.map → complete-7BNBQ5AI.js.map} +0 -0
- /package/dist/{config-UWZFBXZ7.js.map → config-GDLHHBJZ.js.map} +0 -0
- /package/dist/{connect-UXLCEZPO.js.map → connect-CRIRSXN3.js.map} +0 -0
- /package/dist/{content-VA4BT2RU.js.map → content-FCO6MGXW.js.map} +0 -0
- /package/dist/{conversation-T46XZAWU.js.map → conversation-4CQG2B2C.js.map} +0 -0
- /package/dist/{conversion-report-UE7RFG5C.js.map → conversion-report-PDTQTRVB.js.map} +0 -0
- /package/dist/{conversion-upload-command-MJYMZBL2.js.map → conversion-upload-command-MEO4WLZH.js.map} +0 -0
- /package/dist/{conversion-writes-MLBRQZE5.js.map → conversion-writes-ZVBOXUIA.js.map} +0 -0
- /package/dist/{conversions-NJZ6DPDX.js.map → conversions-BND5HYTL.js.map} +0 -0
- /package/dist/{conversions-POANPZNX.js.map → conversions-POBKTXQF.js.map} +0 -0
- /package/dist/{countries-CQUPWQ4X.js.map → countries-TKL5T5JL.js.map} +0 -0
- /package/dist/{create-V7PU2S5H.js.map → create-BJ7XBNY5.js.map} +0 -0
- /package/dist/{create-BLJZZQA3.js.map → create-UI2YG2KA.js.map} +0 -0
- /package/dist/{create-6AQ7ZEEK.js.map → create-XN4KVB5U.js.map} +0 -0
- /package/dist/{create-VF6MIFVE.js.map → create-YSGBH6Q4.js.map} +0 -0
- /package/dist/{creatives-3UUPKCQV.js.map → creatives-57XIJAEG.js.map} +0 -0
- /package/dist/{creatives-6DXFUEDL.js.map → creatives-QFSIIFXB.js.map} +0 -0
- /package/dist/{credentials-5M4XL62I.js.map → credentials-KIH6ICDU.js.map} +0 -0
- /package/dist/{critique-TU3NZX67.js.map → critique-GWRXVXVG.js.map} +0 -0
- /package/dist/{critique-CBUPRMZ2.js.map → critique-OK2ENBOA.js.map} +0 -0
- /package/dist/{crm-HNFZNG5G.js.map → crm-QSHUYXTW.js.map} +0 -0
- /package/dist/{crm-ZZCTVEDQ.js.map → crm-Y5QTZAHO.js.map} +0 -0
- /package/dist/{crop-FVCVEJSR.js.map → crop-WKTW3EMP.js.map} +0 -0
- /package/dist/{currency-FQVXID7K.js.map → currency-PTOI5SPU.js.map} +0 -0
- /package/dist/{customers-NHOOO24F.js.map → customers-2G32E6W7.js.map} +0 -0
- /package/dist/{decide-KQR4CPWC.js.map → decide-X2UAKYXK.js.map} +0 -0
- /package/dist/{delete-OASJUDPH.js.map → delete-2ZTMTKYD.js.map} +0 -0
- /package/dist/{delete-LTNKDW4A.js.map → delete-4CUEJZ2Z.js.map} +0 -0
- /package/dist/{delete-ZTSWWKFX.js.map → delete-FOSTK2RA.js.map} +0 -0
- /package/dist/{delete-F7QO2QDC.js.map → delete-HIAZHA56.js.map} +0 -0
- /package/dist/{delete-KKO7X3RT.js.map → delete-I43JQH2E.js.map} +0 -0
- /package/dist/{delete-SYLJMG4T.js.map → delete-RF44ILYE.js.map} +0 -0
- /package/dist/{demographics-MJI7FUBY.js.map → demographics-2UYQW6II.js.map} +0 -0
- /package/dist/{describe-MBJ3HJ7J.js.map → describe-M6DYXNQC.js.map} +0 -0
- /package/dist/{describe-TY747KWN.js.map → describe-OQ6R3EF7.js.map} +0 -0
- /package/dist/{dimensions-IDARVFYN.js.map → dimensions-DGYM5E5P.js.map} +0 -0
- /package/dist/{discard-TC5VNV4A.js.map → discard-NKPQ73UM.js.map} +0 -0
- /package/dist/{discover-522LNERG.js.map → discover-XLIH7RCB.js.map} +0 -0
- /package/dist/{discover-3SNIZB77.js.map → discover-YKMBVSPF.js.map} +0 -0
- /package/dist/{domain-EFLTGWAH.js.map → domain-LUDUZB3F.js.map} +0 -0
- /package/dist/{download-ASPSNADB.js.map → download-LL6DL62N.js.map} +0 -0
- /package/dist/{download-EZ5TP4TO.js.map → download-SFWMT7DL.js.map} +0 -0
- /package/dist/{draft-W37T35ZL.js.map → draft-374Z4MGY.js.map} +0 -0
- /package/dist/{draft-5JO5X66B.js.map → draft-736FJJWK.js.map} +0 -0
- /package/dist/{draft-IJKYXCYH.js.map → draft-7LPUJZCF.js.map} +0 -0
- /package/dist/{draft-ZNV5Q3Z3.js.map → draft-G432FJ7N.js.map} +0 -0
- /package/dist/{draft-5XBLFH7G.js.map → draft-MPWR47CG.js.map} +0 -0
- /package/dist/{draft-S3DMENEI.js.map → draft-R5ND5SWT.js.map} +0 -0
- /package/dist/{draft-H3UODN7K.js.map → draft-T7TWIFEX.js.map} +0 -0
- /package/dist/{draft-B6SRPKVH.js.map → draft-XAAIGE6Q.js.map} +0 -0
- /package/dist/{env-FMH2MF32.js.map → env-DQHY5ODN.js.map} +0 -0
- /package/dist/{experiment-42WRSUVQ.js.map → experiment-MO6MT6OJ.js.map} +0 -0
- /package/dist/{experiments-AVSCZC2U.js.map → experiments-OGZV73W6.js.map} +0 -0
- /package/dist/{export-F74SHU6W.js.map → export-6Z6QBU6V.js.map} +0 -0
- /package/dist/{extract-E53SKZO6.js.map → extract-YGOQBOQK.js.map} +0 -0
- /package/dist/{facets-QISBLVXH.js.map → facets-OLZ7JLFL.js.map} +0 -0
- /package/dist/{favorites-BHFIU2YJ.js.map → favorites-R3JO4SJJ.js.map} +0 -0
- /package/dist/{feed-YXMGEQIR.js.map → feed-IUMMHM3I.js.map} +0 -0
- /package/dist/{feedback-775YR5HU.js.map → feedback-ZBEZIIPT.js.map} +0 -0
- /package/dist/{feedback-record-DR6PXCBL.js.map → feedback-record-CZVSPZUR.js.map} +0 -0
- /package/dist/{fetch-CN3XY65Y.js.map → fetch-AL44XS4Q.js.map} +0 -0
- /package/dist/{fetch-L2X4J6NL.js.map → fetch-K3NRT2L2.js.map} +0 -0
- /package/dist/{find-H24XAY3I.js.map → find-ZFIGMRYQ.js.map} +0 -0
- /package/dist/{fit-GEDS2RRK.js.map → fit-5NVXWXZV.js.map} +0 -0
- /package/dist/{flows-2INFTGLY.js.map → flows-CAOMVQYZ.js.map} +0 -0
- /package/dist/{follow-RZIVLFTP.js.map → follow-SS374QUW.js.map} +0 -0
- /package/dist/{follow-competitors-3OYH45TL.js.map → follow-competitors-3LTOTTBY.js.map} +0 -0
- /package/dist/{following-7IEZRMFW.js.map → following-YMA5O3LF.js.map} +0 -0
- /package/dist/{fonts-DUFHUFG7.js.map → fonts-E3CNWPD5.js.map} +0 -0
- /package/dist/{forecast-P23UYT4Q.js.map → forecast-KOBF5TKM.js.map} +0 -0
- /package/dist/{forecast-QGOILCQR.js.map → forecast-PWGN4ETP.js.map} +0 -0
- /package/dist/{funding-UMOHBL3B.js.map → funding-KLIZ73SS.js.map} +0 -0
- /package/dist/{funnel-RRBVMYBN.js.map → funnel-LKF6D7AA.js.map} +0 -0
- /package/dist/{ga4-WVMAQSK2.js.map → ga4-XPCE4EK5.js.map} +0 -0
- /package/dist/{generate-47VQBRBV.js.map → generate-GHIXVLMY.js.map} +0 -0
- /package/dist/{get-7HEW4JJS.js.map → get-HCGFATFD.js.map} +0 -0
- /package/dist/{get-GD4VVGZM.js.map → get-JR2KZXW5.js.map} +0 -0
- /package/dist/{get-BE6CTMSX.js.map → get-RDTJSWSA.js.map} +0 -0
- /package/dist/{get-545JKP27.js.map → get-SGNT4JG2.js.map} +0 -0
- /package/dist/{get-2RMCKC44.js.map → get-TB52FVNV.js.map} +0 -0
- /package/dist/{get-PFPS2YZG.js.map → get-TGFXZC5S.js.map} +0 -0
- /package/dist/{get-OSYIEPOV.js.map → get-WS744HAO.js.map} +0 -0
- /package/dist/{get-NI6JUBK6.js.map → get-YD7GDMDR.js.map} +0 -0
- /package/dist/{gif-7PEOJ7LJ.js.map → gif-YK5HJXRE.js.map} +0 -0
- /package/dist/{google-O5QYCJVB.js.map → google-BI45CXMW.js.map} +0 -0
- /package/dist/{google-WMNFVC3W.js.map → google-FZVOB7HW.js.map} +0 -0
- /package/dist/{google-ads-SRGEWT5V.js.map → google-ads-DYZGUM6W.js.map} +0 -0
- /package/dist/{group-FR3FFHQA.js.map → group-7OWIYAKJ.js.map} +0 -0
- /package/dist/{group-OW223DX7.js.map → group-H6ZYRPE6.js.map} +0 -0
- /package/dist/{gsc-RURIHUO6.js.map → gsc-HI2KXDEU.js.map} +0 -0
- /package/dist/{history-DAZV5KNW.js.map → history-3EQQHYKT.js.map} +0 -0
- /package/dist/{history-2YEJFMTG.js.map → history-SJJX6EXI.js.map} +0 -0
- /package/dist/{history-KETFVKOJ.js.map → history-SQPJ7PPE.js.map} +0 -0
- /package/dist/{hubspot-LIYJQDAD.js.map → hubspot-MYTV36SM.js.map} +0 -0
- /package/dist/{icon-T3R4JEP4.js.map → icon-HLJCWTR3.js.map} +0 -0
- /package/dist/{ideas-YNVJJE6J.js.map → ideas-CVXHFVX7.js.map} +0 -0
- /package/dist/{images-AHTMTPAW.js.map → images-K7JQ3ORB.js.map} +0 -0
- /package/dist/{improve-YG3IYZ2X.js.map → improve-BRC4R6MW.js.map} +0 -0
- /package/dist/{ingest-Z4RYPUI6.js.map → ingest-4GNJ2PWL.js.map} +0 -0
- /package/dist/{ingest-SSF4SB5Y.js.map → ingest-5NYBUZE2.js.map} +0 -0
- /package/dist/{insights-BS664EVG.js.map → insights-CN3GUTT7.js.map} +0 -0
- /package/dist/{insights-MM3BBSEB.js.map → insights-IVW6W5CP.js.map} +0 -0
- /package/dist/{inspect-R4F44CWC.js.map → inspect-25IVRU45.js.map} +0 -0
- /package/dist/{inspiration-RKNVN32W.js.map → inspiration-KAXPRINY.js.map} +0 -0
- /package/dist/{intent-LQWD34Z2.js.map → intent-3GDLPKKN.js.map} +0 -0
- /package/dist/{job-HU57IITM.js.map → job-2JJNKUHT.js.map} +0 -0
- /package/dist/{job-create-3BITITIH.js.map → job-create-BNTNZCSP.js.map} +0 -0
- /package/dist/{job-status-N3GHIEJQ.js.map → job-status-N7RWRDRO.js.map} +0 -0
- /package/dist/{keep-QVR77ETP.js.map → keep-Z2WH3CKU.js.map} +0 -0
- /package/dist/{keyword-gap-5J4EL2QJ.js.map → keyword-gap-B2WPVHOB.js.map} +0 -0
- /package/dist/{keyword-metrics-BY5LQGKL.js.map → keyword-metrics-UDGWN7BO.js.map} +0 -0
- /package/dist/{keywords-for-site-5ICGQRGM.js.map → keywords-for-site-GEG6AXD3.js.map} +0 -0
- /package/dist/{landing-CRWUFCHZ.js.map → landing-BFMRM3HA.js.map} +0 -0
- /package/dist/{landings-4QUOO57P.js.map → landings-7QRITXZ2.js.map} +0 -0
- /package/dist/{languages-E6QEX56G.js.map → languages-RZLMZR57.js.map} +0 -0
- /package/dist/{languages-X3TJTLON.js.map → languages-UJAOPTV2.js.map} +0 -0
- /package/dist/{launches-ARKSFHM4.js.map → launches-4H6ANGTG.js.map} +0 -0
- /package/dist/{layerize-MBPVR6A2.js.map → layerize-P5LFIA4X.js.map} +0 -0
- /package/dist/{leads-Q4DI5VAD.js.map → leads-MTTOYNPM.js.map} +0 -0
- /package/dist/{learn-3WJ55SY6.js.map → learn-QPXZZIZZ.js.map} +0 -0
- /package/dist/{library-2KAQIAL4.js.map → library-VW27X75P.js.map} +0 -0
- /package/dist/{lighthouse-VBYMU5IU.js.map → lighthouse-FGUFJRGR.js.map} +0 -0
- /package/dist/{line-item-writes-OA63VP3A.js.map → line-item-writes-RVOAMJ5R.js.map} +0 -0
- /package/dist/{line-items-SC2X3REC.js.map → line-items-POZRAJLC.js.map} +0 -0
- /package/dist/{link-N5DFWR57.js.map → link-IXEZKRM7.js.map} +0 -0
- /package/dist/{linkedin-4EZGZCI4.js.map → linkedin-5PYG5HEM.js.map} +0 -0
- /package/dist/{linkedin-person-YHXCCLIJ.js.map → linkedin-person-EMJXEZYR.js.map} +0 -0
- /package/dist/{list-MVCLPKSE.js.map → list-4KS7WSUG.js.map} +0 -0
- /package/dist/{list-4EM7NNLN.js.map → list-7GDMM26I.js.map} +0 -0
- /package/dist/{list-OX333277.js.map → list-DVVOP6FM.js.map} +0 -0
- /package/dist/{list-NPT55NSD.js.map → list-J5KWXHFO.js.map} +0 -0
- /package/dist/{list-X7CHCNPV.js.map → list-PT4DVD4U.js.map} +0 -0
- /package/dist/{list-CHEXCOHV.js.map → list-PTK2HOUY.js.map} +0 -0
- /package/dist/{list-LOFL43XV.js.map → list-Q5LVTPQP.js.map} +0 -0
- /package/dist/{list-Y5O2RZF7.js.map → list-UG4V5AM2.js.map} +0 -0
- /package/dist/{list-4RUI6ARN.js.map → list-XOYU7UTX.js.map} +0 -0
- /package/dist/{locations-PZNE7DSY.js.map → locations-EISZ6JOT.js.map} +0 -0
- /package/dist/{locations-AP34JJ43.js.map → locations-VJX64ZZR.js.map} +0 -0
- /package/dist/{log-T4AT6W4G.js.map → log-2F2N24DT.js.map} +0 -0
- /package/dist/{logo-QBUCJS5N.js.map → logo-H2KHGLYD.js.map} +0 -0
- /package/dist/{lookup-3TQVU2JC.js.map → lookup-IUQWU346.js.map} +0 -0
- /package/dist/{make-WQ3CYYHK.js.map → make-N5LVJSZD.js.map} +0 -0
- /package/dist/{map-PWD5HNDL.js.map → map-QGJZIC5N.js.map} +0 -0
- /package/dist/{mcp-S46JFWPE.js.map → mcp-RSW7KAWP.js.map} +0 -0
- /package/dist/{media-FAKJHFDA.js.map → media-HDHZULQ7.js.map} +0 -0
- /package/dist/{media-VEBI2AQV.js.map → media-K5RJXLTN.js.map} +0 -0
- /package/dist/{media-sources-VYCQ4CBN.js.map → media-sources-7R7FO53Y.js.map} +0 -0
- /package/dist/{members-K4WKAU6K.js.map → members-B6TKGGT5.js.map} +0 -0
- /package/dist/{meme-OAEM7ZOK.js.map → meme-QMCUGXUE.js.map} +0 -0
- /package/dist/{meta-DJGCKSUM.js.map → meta-MOSJVYIE.js.map} +0 -0
- /package/dist/{metrics-RD444PNG.js.map → metrics-PRIKXVYZ.js.map} +0 -0
- /package/dist/{models-4T3ZYN2T.js.map → models-M3E4YFCT.js.map} +0 -0
- /package/dist/{normalize-K4ESALR4.js.map → normalize-5B4EQLUX.js.map} +0 -0
- /package/dist/{normalize-QAAYQ6AT.js.map → normalize-5QIGANTK.js.map} +0 -0
- /package/dist/{options-OQPIK3JZ.js.map → options-K33CJOR6.js.map} +0 -0
- /package/dist/{organization-J57FTB5Z.js.map → organization-A4NFWWWI.js.map} +0 -0
- /package/dist/{output-I3KNTW6D.js.map → output-U5ZV6PST.js.map} +0 -0
- /package/dist/{page-CU4QKNLY.js.map → page-XVOUD4VV.js.map} +0 -0
- /package/dist/{pages-H2PHZCPL.js.map → pages-BAUS7LQM.js.map} +0 -0
- /package/dist/{performance-G3KZMGBS.js.map → performance-L3Q57H4H.js.map} +0 -0
- /package/dist/{performance-6YVVU4IM.js.map → performance-NVURSEZ6.js.map} +0 -0
- /package/dist/{pinterest-5P4IEPPC.js.map → pinterest-NA6HGPMB.js.map} +0 -0
- /package/dist/{pixels-62KNDNMV.js.map → pixels-THDQD3RF.js.map} +0 -0
- /package/dist/{plan-FDZ4CAO7.js.map → plan-VHMWZU7F.js.map} +0 -0
- /package/dist/{posts-4UY4NLL4.js.map → posts-BDMC644W.js.map} +0 -0
- /package/dist/{preview-QNMOIWIS.js.map → preview-X6EJGPAY.js.map} +0 -0
- /package/dist/{profile-5JHDAWAQ.js.map → profile-YHI65VGK.js.map} +0 -0
- /package/dist/{promoted-tweet-writes-PPASZ4KJ.js.map → promoted-tweet-writes-MXXVRLVQ.js.map} +0 -0
- /package/dist/{promoted-tweets-LULS4HD6.js.map → promoted-tweets-HFLGXWX2.js.map} +0 -0
- /package/dist/{properties-PKBBENIF.js.map → properties-ZLY6NYVK.js.map} +0 -0
- /package/dist/{publish-DHFWCH5U.js.map → publish-6ZXFUBGP.js.map} +0 -0
- /package/dist/{query-QZAWNHQD.js.map → query-ELD7WSFR.js.map} +0 -0
- /package/dist/{query-DPMRKPCU.js.map → query-HFHTLNDN.js.map} +0 -0
- /package/dist/{query-SRITUMBY.js.map → query-WMEX73ZB.js.map} +0 -0
- /package/dist/{questionnaire-VNW3WOHN.js.map → questionnaire-32BQ4ZUX.js.map} +0 -0
- /package/dist/{read-NBPRYGJW.js.map → read-2HQEZIJW.js.map} +0 -0
- /package/dist/{reddit-B2RH446Y.js.map → reddit-BIHGJPGP.js.map} +0 -0
- /package/dist/{refresh-AY62O4TN.js.map → refresh-4O32S4YR.js.map} +0 -0
- /package/dist/{refresh-C6RK3HK2.js.map → refresh-LVV4SPLT.js.map} +0 -0
- /package/dist/{release-EASQTSSS.js.map → release-VIPNSPQ5.js.map} +0 -0
- /package/dist/{relevant-pages-YKXXEIUN.js.map → relevant-pages-B5SYN575.js.map} +0 -0
- /package/dist/{remove-PFPU2VFL.js.map → remove-2E77743U.js.map} +0 -0
- /package/dist/{remove-QAPYLSPN.js.map → remove-TPOWWFZ6.js.map} +0 -0
- /package/dist/{reopen-HPJ7G3EB.js.map → reopen-UOBTJBMQ.js.map} +0 -0
- /package/dist/{rerun-KZBYDGBL.js.map → rerun-HUFJUOEV.js.map} +0 -0
- /package/dist/{research-EOPLJRSL.js.map → research-ELM3KHGE.js.map} +0 -0
- /package/dist/{research-AMFXOM6E.js.map → research-FOJIDMSE.js.map} +0 -0
- /package/dist/{reset-ACPJOF2W.js.map → reset-FTLWUFZK.js.map} +0 -0
- /package/dist/{reset-TXBI6OCQ.js.map → reset-GIXXLPHQ.js.map} +0 -0
- /package/dist/{resolve-O5XXQ7UH.js.map → resolve-QHR5JJTJ.js.map} +0 -0
- /package/dist/{retry-TEXPZCGS.js.map → retry-HNWXJR5U.js.map} +0 -0
- /package/dist/{retry-26YFHHK3.js.map → retry-NY5KFEDA.js.map} +0 -0
- /package/dist/{retry-failed-RSSJRETJ.js.map → retry-failed-OAH7JQKD.js.map} +0 -0
- /package/dist/{revenue-FGL6RWOU.js.map → revenue-JFMUODJO.js.map} +0 -0
- /package/dist/{rules-U6DQDZKC.js.map → rules-56E55SGC.js.map} +0 -0
- /package/dist/{rules-add-JYKU2POK.js.map → rules-add-ZOPOWJMY.js.map} +0 -0
- /package/dist/{run-D7XEXEKQ.js.map → run-7OCCCNJ4.js.map} +0 -0
- /package/dist/{run-YVVTDVXK.js.map → run-MRC4UVHU.js.map} +0 -0
- /package/dist/{scaffold-ad-RI3Z25AE.js.map → scaffold-ad-7ADCDQBK.js.map} +0 -0
- /package/dist/{scaffold-static-ad-4WJNLNRD.js.map → scaffold-static-ad-TV5OWISA.js.map} +0 -0
- /package/dist/{scaffold-video-IE5C2BMT.js.map → scaffold-video-LLBDO546.js.map} +0 -0
- /package/dist/{schedule-ZJX4VHGZ.js.map → schedule-OFPSZVZ2.js.map} +0 -0
- /package/dist/{schedule-QYP5AUQR.js.map → schedule-ZATNBBWD.js.map} +0 -0
- /package/dist/{scheduled-agents-VU6I4MP6.js.map → scheduled-agents-EPPP4SCZ.js.map} +0 -0
- /package/dist/{schema-D4WTTOJD.js.map → schema-OGP4DUPP.js.map} +0 -0
- /package/dist/{scrape-GYJSU2R4.js.map → scrape-ZHL2BHS7.js.map} +0 -0
- /package/dist/{screenshot-4NEQSSGY.js.map → screenshot-ADMRDYWN.js.map} +0 -0
- /package/dist/{search-K5D3IYGG.js.map → search-6W4HXR2S.js.map} +0 -0
- /package/dist/{search-UKGSZLMI.js.map → search-6ZWI2NML.js.map} +0 -0
- /package/dist/{search-ZRFBRHI5.js.map → search-CQUS7EOM.js.map} +0 -0
- /package/dist/{search-5APUMKHR.js.map → search-HF5ECIYW.js.map} +0 -0
- /package/dist/{search-MPQ2FCIT.js.map → search-MKVVMJ2Q.js.map} +0 -0
- /package/dist/{search-3KRS2DCE.js.map → search-QUF6LHQ5.js.map} +0 -0
- /package/dist/{search-copy-X7XS7MEM.js.map → search-copy-O6FDX4HT.js.map} +0 -0
- /package/dist/{seeds-7YAOHAKL.js.map → seeds-5TM3O3K3.js.map} +0 -0
- /package/dist/{select-KNNNQCHN.js.map → select-BRH4QLWU.js.map} +0 -0
- /package/dist/{sends-FCZXXXXN.js.map → sends-43FU3SJN.js.map} +0 -0
- /package/dist/{sequences-BHFEEONU.js.map → sequences-3CEVHGHB.js.map} +0 -0
- /package/dist/{set-prompt-OYNIOHAQ.js.map → set-prompt-SYWNE4CS.js.map} +0 -0
- /package/dist/{setup-links-QOQGDULT.js.map → setup-links-4STQ5B4P.js.map} +0 -0
- /package/dist/{shared-4RVNVHDS.js.map → shared-I3SB77VH.js.map} +0 -0
- /package/dist/{shopify-HNM2KZSF.js.map → shopify-7LDHCWUQ.js.map} +0 -0
- /package/dist/{site-CSUPKGWU.js.map → site-I3NFMPJB.js.map} +0 -0
- /package/dist/{sitemaps-LSGHYJT7.js.map → sitemaps-PLAWVXQL.js.map} +0 -0
- /package/dist/{sites-MHYSTCA6.js.map → sites-WX2IBTZT.js.map} +0 -0
- /package/dist/{skills-56RL5QYY.js.map → skills-O6EQOAMQ.js.map} +0 -0
- /package/dist/{sources-GBKTJNF2.js.map → sources-CGXHNWJM.js.map} +0 -0
- /package/dist/{sources-NKTE7QX3.js.map → sources-PUZ4WV4Q.js.map} +0 -0
- /package/dist/{stale-F7TSZ6U5.js.map → stale-QNIJZTGD.js.map} +0 -0
- /package/dist/{stats-D5Q25JFU.js.map → stats-QQRYOMZA.js.map} +0 -0
- /package/dist/{status-ZRUBS2QN.js.map → status-5OMVGFCH.js.map} +0 -0
- /package/dist/{sticker-UZDMIOJM.js.map → sticker-654HS3K2.js.map} +0 -0
- /package/dist/{stock-2YCEHBME.js.map → stock-35LOO3YN.js.map} +0 -0
- /package/dist/{studio-NCDGI4PJ.js.map → studio-NRWLXOFZ.js.map} +0 -0
- /package/dist/{suggest-UNOBUPDF.js.map → suggest-JASHCOL5.js.map} +0 -0
- /package/dist/{sync-NYZYG56I.js.map → sync-6AN67IX3.js.map} +0 -0
- /package/dist/{sync-3GFMQRHF.js.map → sync-RCDODSOD.js.map} +0 -0
- /package/dist/{sync-LOEYQKOS.js.map → sync-URIRLHTS.js.map} +0 -0
- /package/dist/{sync-definition-OWBYWYQQ.js.map → sync-definition-EGHEQ57K.js.map} +0 -0
- /package/dist/{tag-BFJEX5VG.js.map → tag-7YMFAZQQ.js.map} +0 -0
- /package/dist/{tag-manager-VYGTVVMF.js.map → tag-manager-LU4GAZ6R.js.map} +0 -0
- /package/dist/{tags-FUPUYIFX.js.map → tags-6A7QOYBI.js.map} +0 -0
- /package/dist/{tags-WX4H4D5C.js.map → tags-JHT3Q6VO.js.map} +0 -0
- /package/dist/{tags-X2MWDWCV.js.map → tags-KSMLT4G2.js.map} +0 -0
- /package/dist/{tags-MKWRG7M7.js.map → tags-MTVZJHCE.js.map} +0 -0
- /package/dist/{tags-6CTV47HC.js.map → tags-OU32R2SH.js.map} +0 -0
- /package/dist/{targeting-constants-BTYMBPSR.js.map → targeting-constants-QIB3UZHM.js.map} +0 -0
- /package/dist/{targeting-criteria-LTUPUXIS.js.map → targeting-criteria-NUXZB7NP.js.map} +0 -0
- /package/dist/{targets-GY6VE3VG.js.map → targets-3WIBMP4B.js.map} +0 -0
- /package/dist/{terms-MHG3L4YP.js.map → terms-X4OJWTQH.js.map} +0 -0
- /package/dist/{testimonials-2TGE4G2R.js.map → testimonials-2NQMY23B.js.map} +0 -0
- /package/dist/{themes-TOYR45TC.js.map → themes-6KVP3COR.js.map} +0 -0
- /package/dist/{top-companies-CGTWRZXJ.js.map → top-companies-WWNPUJ23.js.map} +0 -0
- /package/dist/{transcript-HMAXYZEQ.js.map → transcript-P7HKVABU.js.map} +0 -0
- /package/dist/{translate-F2S6TRZH.js.map → translate-YGHRSEX6.js.map} +0 -0
- /package/dist/{triggers-5WY5HYZ3.js.map → triggers-6EXLTW35.js.map} +0 -0
- /package/dist/{tweets-O3HMTO6K.js.map → tweets-X5PTAT6F.js.map} +0 -0
- /package/dist/{unfollow-W3LMFY6S.js.map → unfollow-S5LHFLGW.js.map} +0 -0
- /package/dist/{unlink-7K6OTFKW.js.map → unlink-XTZA474P.js.map} +0 -0
- /package/dist/{unstage-RKP3QWW4.js.map → unstage-KEMVI37X.js.map} +0 -0
- /package/dist/{unstage-IFI7C7XR.js.map → unstage-YSVQ6DLB.js.map} +0 -0
- /package/dist/{update-C4IPV7LT.js.map → update-3NA6ABLW.js.map} +0 -0
- /package/dist/{update-KANGTJO3.js.map → update-5ZNS2DKP.js.map} +0 -0
- /package/dist/{update-TYFZ35OB.js.map → update-DDKNKV6M.js.map} +0 -0
- /package/dist/{update-X5L46DBY.js.map → update-MDVZ24VQ.js.map} +0 -0
- /package/dist/{update-TLIXQA45.js.map → update-USKR3UOC.js.map} +0 -0
- /package/dist/{upload-LX73CSH3.js.map → upload-IMP5CUY5.js.map} +0 -0
- /package/dist/{upload-NBACREXN.js.map → upload-SYFB2VTJ.js.map} +0 -0
- /package/dist/{upscale-BUNH7QHL.js.map → upscale-P5EYUVOZ.js.map} +0 -0
- /package/dist/{url-options-BWOAG6IC.js.map → url-options-6MFRIDNA.js.map} +0 -0
- /package/dist/{url-params-6VHVQATN.js.map → url-params-Y5XQSDEF.js.map} +0 -0
- /package/dist/{use-25Z6JEDC.js.map → use-D3RBWLJO.js.map} +0 -0
- /package/dist/{validate-M45SEOV6.js.map → validate-JX4FT7PL.js.map} +0 -0
- /package/dist/{variant-SZJRK24B.js.map → variant-JQVZUUA4.js.map} +0 -0
- /package/dist/{videos-2YWDLKFE.js.map → videos-EHDZ46UQ.js.map} +0 -0
- /package/dist/{view-EE3MFZA6.js.map → view-IKKRJ5YD.js.map} +0 -0
- /package/dist/{viewer-check-2JIL6IUW.js.map → viewer-check-5GREZIVJ.js.map} +0 -0
- /package/dist/{web-ESUWCNYH.js.map → web-7TPDDBI6.js.map} +0 -0
- /package/dist/{winners-KRY3CKZG.js.map → winners-4PKEVMUC.js.map} +0 -0
- /package/dist/{winning-ads-7FECWYGO.js.map → winning-ads-H7ZE5AQW.js.map} +0 -0
- /package/dist/{write-commands-YIAZJ4OX.js.map → write-commands-CTLF2M6L.js.map} +0 -0
- /package/dist/{write-commands-HXVAMQXC.js.map → write-commands-FIS6Y2MN.js.map} +0 -0
- /package/dist/{write-commands-DRVURLDR.js.map → write-commands-V77MD5SC.js.map} +0 -0
- /package/dist/{x-XWGAWFJL.js.map → x-EMLFCHSG.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/ads/meta/rule-writes.ts","../src/commands/ads/meta/rule-flags.ts"],"sourcesContent":["import { readFileSync } from \"node:fs\";\nimport { defineCommand } from \"citty\";\nimport { repeatedValues } from \"../../../lib/repeatedFlags.ts\";\nimport { registerSchema } from \"../../../schemas.ts\";\nimport { type RuleFlags, ruleFileForStaging, rulePayloadFromFlags } from \"./rule-flags.ts\";\nimport { bareAccountId, failWriteValidation, requireTarget, stageOp } from \"./write-shared.ts\";\n\n/**\n * Staged Meta automated-rule writes. Nothing here reaches Meta: each command\n * stages an op on this chat's draft, and the rule is created, changed or\n * deleted when the chat publishes — after anything it names that the same\n * draft creates.\n */\n\nconst STAGED_NOTE = \"Staged until publish — review with `baker ads meta draft`.\";\n\nconst ruleArgs = {\n \"account-id\": { type: \"string\", description: \"Numeric account ID or act_N\" },\n name: { type: \"string\", description: \"Rule name, shown in Ads Manager → Automated rules\" },\n \"apply-to\": {\n type: \"string\",\n description: \"What the rule watches and acts on: ad | adset | campaign. Alone, it means every one in the account.\",\n },\n ids: {\n type: \"string\",\n description:\n \"Only these ads / ad sets / campaigns (repeatable or comma-separated; meta_temp_* refs from this chat work). With --action rotate: the ad sets whose ads take turns\",\n },\n \"in-campaigns\": { type: \"string\", description: \"Only what sits in these campaigns (repeatable or comma-separated)\" },\n \"in-adsets\": { type: \"string\", description: \"Only what sits in these ad sets (repeatable or comma-separated)\" },\n \"name-contains\": { type: \"string\", description: \"Only objects whose name contains this text\" },\n when: {\n type: \"string\",\n description:\n 'A condition, repeatable (all must hold): \"cost_per_result>20\", \"ctr<0.8\", \"spend between 10 and 50\", \"frequency outside 1 and 3\". Money in the account currency. Metrics: cost_per_result, cpa, cpc, cpm, ctr, frequency, spend, results, impressions, reach, roas, cost_per_lead, cost_per_purchase, or any Meta rule field.',\n },\n window: {\n type: \"string\",\n description:\n \"Time range the metrics are read over (default LAST_7D — the last 7 full days): TODAY, YESTERDAY, LAST_3D, LAST_7D, LAST_14D, LAST_30D, LAST_7_DAYS (today included), LIFETIME, THIS_MONTH\",\n },\n realtime: {\n type: \"boolean\",\n description:\n \"React the moment the first --when condition becomes true (a trigger rule) instead of on a schedule. Only pause, unpause and notify; the window must include today.\",\n },\n action: {\n type: \"string\",\n description: \"pause | unpause | notify | raise-budget | lower-budget | raise-bid | lower-bid | rotate\",\n },\n by: { type: \"string\", description: \"For a budget or bid change: 20% or an amount in the account currency\" },\n cap: {\n type: \"string\",\n description: \"Highest (raise) or lowest (lower) the budget or bid may reach, account currency\",\n },\n \"max-times\": { type: \"string\", description: \"Change each object at most this many times\" },\n every: { type: \"string\", description: \"Wait at least this long before changing the same object again: 90, 12h, 7d\" },\n \"notify-user-ids\": {\n type: \"string\",\n description: \"Facebook user ids to notify (default: whoever connected Meta); repeatable or comma-separated\",\n },\n schedule: { type: \"string\", description: \"daily (default) | hourly | half-hourly | custom\" },\n at: { type: \"string\", description: \"Custom schedule: run at HH:MM (half hours), repeatable\" },\n between: { type: \"string\", description: \"Custom schedule: run every 30 minutes in this window, e.g. 09:00-17:00\" },\n days: { type: \"string\", description: \"Custom schedule: only these days, e.g. mon,wed,fri\" },\n file: {\n type: \"string\",\n description:\n \"JSON with the full rule — {name, status, evaluation_spec, execution_spec, schedule_spec} in Meta's shape. What `rules --rule-id <id>` prints can be saved and passed as it is (its id and timestamps are left out). Flags override its name and status.\",\n },\n} as const;\n\n/** `ruleArgs` as `baker schema` lists them: every flag optional, as the shorthand and --file trade off. */\nfunction schemaArgs(\n args: Record<string, { type: string; description: string }>,\n): Record<string, { type: string; description: string; required: boolean }> {\n return Object.fromEntries(Object.entries(args).map(([key, arg]) => [key, { ...arg, required: false }]));\n}\n\nfunction listValues(rawArgs: readonly string[] | undefined, flag: string, parsed: unknown): string[] {\n return repeatedValues(rawArgs, flag, parsed)\n .flatMap((value) => value.split(\",\"))\n .map((value) => value.trim())\n .filter(Boolean);\n}\n\n/** The command line as rule flags, with every repeatable flag read whole (citty keeps only the last). */\nexport function ruleFlagsFromArgs(args: Record<string, unknown>, rawArgs: readonly string[] | undefined): RuleFlags {\n const text = (key: string) => (typeof args[key] === \"string\" && args[key] !== \"\" ? String(args[key]) : undefined);\n return {\n name: text(\"name\"),\n status: text(\"status\"),\n \"apply-to\": text(\"apply-to\"),\n ids: listValues(rawArgs, \"ids\", args.ids),\n \"in-campaigns\": listValues(rawArgs, \"in-campaigns\", args[\"in-campaigns\"]),\n \"in-adsets\": listValues(rawArgs, \"in-adsets\", args[\"in-adsets\"]),\n \"name-contains\": text(\"name-contains\"),\n when: repeatedValues(rawArgs, \"when\", args.when),\n window: text(\"window\"),\n realtime: args.realtime === true,\n action: text(\"action\"),\n by: text(\"by\"),\n cap: text(\"cap\"),\n \"max-times\": text(\"max-times\"),\n every: text(\"every\"),\n \"notify-user-ids\": listValues(rawArgs, \"notify-user-ids\", args[\"notify-user-ids\"]),\n schedule: text(\"schedule\"),\n at: repeatedValues(rawArgs, \"at\", args.at),\n between: text(\"between\"),\n days: listValues(rawArgs, \"days\", args.days).join(\",\") || undefined,\n };\n}\n\nfunction payloadOrFail(flags: RuleFlags, update: boolean): Record<string, unknown> {\n try {\n return rulePayloadFromFlags(flags, { update });\n } catch (err) {\n failWriteValidation(err instanceof Error ? err.message : String(err));\n }\n}\n\nfunction loadRuleFile(path: unknown, update: boolean): Record<string, unknown> {\n if (typeof path !== \"string\" || path.length === 0) {\n return {};\n }\n try {\n return ruleFileForStaging(JSON.parse(readFileSync(path, \"utf8\")) as unknown, { update });\n } catch (err) {\n failWriteValidation(`${path}: ${err instanceof Error ? err.message : String(err)}`);\n }\n}\n\n/** A `--file` rule as the base, the flags on top: name and status always, a whole spec when its flags are given. */\nfunction rulePayload(args: Record<string, unknown>, rawArgs: readonly string[] | undefined, update: boolean) {\n const file = loadRuleFile(args.file, update);\n const flags = ruleFlagsFromArgs(args, rawArgs);\n const fromFile = Object.keys(file).length > 0;\n const fromFlags = fromFile ? payloadOrFail(flags, true) : payloadOrFail(flags, update);\n return { ...file, ...fromFlags };\n}\n\nregisterSchema({\n command: \"ads.meta.rules.create\",\n description:\n 'Stage a new Meta automated rule — it is created at publish and then runs on Meta, unattended. Shorthand: --apply-to ad|adset|campaign [--ids …] --when \"cost_per_result>20\" [--window LAST_7D] --action pause|unpause|notify|raise-budget|lower-budget|raise-bid|lower-bid|rotate [--by 20%] [--cap 500] [--schedule daily|hourly|custom --at 09:00 --days mon,fri] [--realtime]. Or --file with the full rule in Meta\\'s shape. Fields Meta compares: Insights metrics (cost_per, spent, results, impressions, reach, frequency, cpc, cpm, ctr, cpa, link_ctr, website_purchase_roas, cost_per_lead_fb, …) and metadata (name, daily_budget, hours_since_creation, effective_status, …), optionally prefixed ad./adset./campaign. Starts switched on unless --status DISABLED.',\n args: schemaArgs({ ...ruleArgs, status: { type: \"string\", description: \"ENABLED (default) or DISABLED\" } }),\n});\n\nexport const rulesCreateCommand = defineCommand({\n meta: {\n name: \"create\",\n description: `Stage a new Meta automated rule. ${STAGED_NOTE}\nIt runs on Meta from publish on, with nobody watching — say what it will do back to the user before publishing.\nExamples:\n baker ads meta rules create --name \"Stop expensive ads\" --apply-to ad --when \"cost_per_result>20\" --action pause\n baker ads meta rules create --name \"Scale winners\" --apply-to adset --in-campaigns 6123 --when \"roas>3\" --when \"spend>50\" --window LAST_3D --action raise-budget --by 20% --cap 500 --max-times 3\n baker ads meta rules create --name \"CPM alarm\" --apply-to campaign --when \"cpm>15\" --window TODAY --action notify --realtime\n baker ads meta rules create --file rule.json`,\n },\n args: { ...ruleArgs, status: { type: \"string\", description: \"ENABLED (default) or DISABLED\" } },\n run: async ({ args, rawArgs }) => {\n const accountId = await bareAccountId(args as Record<string, unknown>);\n await stageOp({ kind: \"adRule.create\", accountId, payload: rulePayload(args, rawArgs, false) });\n },\n});\n\nregisterSchema({\n command: \"ads.meta.rules.update\",\n description:\n \"Stage a change to a live rule (or amend one staged in this chat by its meta_temp_* ref). Each part you change is replaced whole: any of --apply-to/--ids/--in-*/--name-contains/--when/--window/--realtime rebuilds what it checks, --action/--by/--cap/--max-times/--every/--notify-user-ids what it does, --schedule/--at/--between/--days when it runs. Restate every condition you keep — read it first with `rules --rule-id`.\",\n args: { id: { type: \"positional\", description: \"Rule id\", required: true }, ...schemaArgs(ruleArgs) },\n});\n\nexport const rulesUpdateCommand = defineCommand({\n meta: {\n name: \"update\",\n description: `Stage a change to a rule. ${STAGED_NOTE}\nEach part you change is replaced whole — restate every condition you keep (read the rule first: \\`rules --rule-id <id>\\`). Switch with enable/disable; remove with delete.\nExample: baker ads meta rules update 1132635173044914 --apply-to ad --when \"cost_per_result>25\" --window LAST_7D`,\n },\n args: { id: { type: \"positional\", description: \"Rule id or meta_temp_* ref\", required: true }, ...ruleArgs },\n run: async ({ args, rawArgs }) => {\n const accountId = await bareAccountId(args as Record<string, unknown>);\n const target = requireTarget(args as Record<string, unknown>, \"rule\");\n const payload = rulePayload(args, rawArgs, true);\n if (payload.status === \"DELETED\") {\n failWriteValidation(\n \"update does not delete — use `baker ads meta rules delete <id>` if the user asked to remove it\",\n );\n }\n await stageOp({ kind: \"adRule.update\", accountId, target, payload });\n },\n});\n\nconst STATUS_COMMANDS = {\n enable: { status: \"ENABLED\", note: \"It starts running on its schedule from publish on.\" },\n disable: { status: \"DISABLED\", note: \"It stops running and keeps its settings; enable brings it back.\" },\n delete: {\n status: \"DELETED\",\n note: \"Deleting is permanent — Meta removes the rule from the account. Prefer disable unless the user asked to delete it.\",\n },\n} as const;\n\nfunction statusCommand(name: keyof typeof STATUS_COMMANDS) {\n const { status, note } = STATUS_COMMANDS[name];\n registerSchema({\n command: `ads.meta.rules.${name}`,\n description: `Stage ${name} for an automated rule. ${note}`,\n args: {\n id: { type: \"positional\", description: \"Rule id\", required: true },\n \"account-id\": { type: \"string\", description: \"Meta ad account ID (act_123)\", required: false },\n },\n });\n return defineCommand({\n meta: { name, description: `Stage ${name} for an automated rule. ${note} ${STAGED_NOTE}` },\n args: { id: { type: \"positional\", description: \"Rule id\", required: true }, \"account-id\": ruleArgs[\"account-id\"] },\n run: async ({ args }) => {\n const accountId = await bareAccountId(args as Record<string, unknown>);\n await stageOp({\n kind: \"adRule.update\",\n accountId,\n target: requireTarget(args as Record<string, unknown>, \"rule\"),\n payload: { status },\n });\n },\n });\n}\n\nexport const rulesEnableCommand = statusCommand(\"enable\");\nexport const rulesDisableCommand = statusCommand(\"disable\");\nexport const rulesDeleteCommand = statusCommand(\"delete\");\n\nregisterSchema({\n command: \"ads.meta.rules.run\",\n description:\n \"Stage running an automated rule once, at publish — it acts on whatever matches it then, whatever its schedule and even while it is off. Check what it would act on first with `rules preview <id>`.\",\n args: {\n id: { type: \"positional\", description: \"Rule id\", required: true },\n \"account-id\": { type: \"string\", description: \"Meta ad account ID (act_123)\", required: false },\n },\n});\n\nexport const rulesRunCommand = defineCommand({\n meta: {\n name: \"run\",\n description: `Stage running a rule once, at publish. ${STAGED_NOTE}\nThe rule acts on whatever matches it when the chat is published (pauses, budget changes, notifications) — Meta runs it then, whatever its schedule, even while it is off. Start here: baker ads meta rules preview <id>, then baker ads meta rules history --rule-id <id> after publishing.\nExample: baker ads meta rules run 1132635173044914`,\n },\n args: { id: { type: \"positional\", description: \"Rule id\", required: true }, \"account-id\": ruleArgs[\"account-id\"] },\n run: async ({ args }) => {\n const accountId = await bareAccountId(args as Record<string, unknown>);\n const target = requireTarget(args as Record<string, unknown>, \"rule\");\n if (target.startsWith(\"meta_temp_\")) {\n failWriteValidation(\"a rule this chat creates exists only at publish — run it in a later chat, once it is live\");\n }\n await stageOp({ kind: \"adRule.update\", accountId, target, payload: { run_now: true } });\n },\n});\n","import type {\n AdRuleEvaluationSpec,\n AdRuleExecutionOption,\n AdRuleExecutionSpec,\n AdRuleFilter,\n AdRuleScheduleSpec,\n} from \"@baker/api/ads-meta/adRules\";\nimport { decimalMarkShown } from \"./customer-list.ts\";\n\n/**\n * The flag shorthand for Meta automated rules — `--apply-to ad --when\n * \"cost_per_result>20\" --action pause` — as the rule payload Meta's own\n * vocabulary describes. Pure: the command collects repeated flags and prints\n * refusals; everything here returns a payload or throws a message the agent can\n * act on.\n */\n\n/** Words marketers use for a metric → Meta's rule field. Anything else is passed through as a Meta field. */\nconst METRIC_ALIASES: Readonly<Record<string, string>> = {\n cost_per_result: \"cost_per\",\n cpr: \"cost_per\",\n cost_per_lead: \"cost_per_lead_fb\",\n cost_per_purchase: \"cost_per_purchase_fb\",\n cost_per_add_to_cart: \"cost_per_add_to_cart_fb\",\n cost_per_registration: \"cost_per_complete_registration_fb\",\n roas: \"website_purchase_roas\",\n purchase_roas: \"website_purchase_roas\",\n spend: \"spent\",\n amount_spent: \"spent\",\n link_clicks: \"link_click\",\n leads: \"offsite_conversion.fb_pixel_lead\",\n purchases: \"offsite_conversion.fb_pixel_purchase\",\n};\n\nconst CONDITION_HELP =\n 'write a condition as \"cost_per_result>20\", \"ctr<0.8\", \"spend between 10 and 50\" or \"frequency outside 1 and 3\" — money in the account currency, a dot or a comma for decimals (12.5 or 12,5)';\n\nfunction metric(raw: string): string {\n const key = raw.trim().toLowerCase();\n const dot = key.lastIndexOf(\".\");\n const prefix = dot > 0 && !key.startsWith(\"offsite_conversion\") ? key.slice(0, dot + 1) : \"\";\n const base = prefix ? key.slice(prefix.length) : key;\n return `${prefix}${METRIC_ALIASES[base] ?? base}`;\n}\n\n/**\n * A number as the marketer wrote it: a dot or a comma as the decimal mark\n * (\"12.5\", \"12,50\"), thousands grouped either way (\"1,234.50\", \"12,345,678\",\n * \"1.234,50\"). A lone comma before three digits (\"1,234\") could be either and is\n * refused, never guessed — a hundredfold budget change is not a typo to absorb.\n */\nfunction number(raw: string): number {\n const cleaned = raw.replace(/\\s/g, \"\");\n const mark = decimalMarkShown(cleaned) ?? (cleaned.includes(\",\") ? undefined : \".\");\n if (!mark) {\n throw new Error(\n `\"${raw}\" is ambiguous — it could be ${cleaned.replace(/,/g, \"\")} or ${cleaned.replace(\",\", \".\")}; write it with a dot for decimals and no thousands separator (1234 or 1.234)`,\n );\n }\n const plain = cleaned\n .split(mark === \",\" ? \".\" : \",\")\n .join(\"\")\n .replace(\",\", \".\");\n const value = plain === \"\" ? Number.NaN : Number(plain);\n if (!Number.isFinite(value)) throw new Error(`\"${raw}\" is not a number — ${CONDITION_HELP}`);\n return value;\n}\n\n/** One `--when` condition as a rule filter. */\nexport function ruleConditionFromFlag(raw: string): AdRuleFilter {\n const range = /^\\s*([\\w.:]+)\\s+(between|outside)\\s+(-?[\\d.,]+)\\s+and\\s+(-?[\\d.,]+)\\s*$/i.exec(raw);\n if (range?.[1] && range[2] && range[3] && range[4]) {\n return {\n field: metric(range[1]),\n operator: range[2].toLowerCase() === \"between\" ? \"IN_RANGE\" : \"NOT_IN_RANGE\",\n value: [number(range[3]), number(range[4])],\n };\n }\n const compare = /^\\s*([\\w.:]+)\\s*(>|<|=|\\babove\\b|\\bbelow\\b)\\s*(-?[\\d.,]+)\\s*$/i.exec(raw);\n if (compare?.[1] && compare[2] && compare[3]) {\n const word = compare[2].toLowerCase();\n const operator =\n word === \">\" || word === \"above\" ? \"GREATER_THAN\" : word === \"<\" || word === \"below\" ? \"LESS_THAN\" : \"EQUAL\";\n return { field: metric(compare[1]), operator, value: number(compare[3]) };\n }\n throw new Error(`could not read --when \"${raw}\" — ${CONDITION_HELP}`);\n}\n\n// --- Flags ---\n\nexport interface RuleFlags {\n name?: string;\n status?: string;\n \"apply-to\"?: string;\n ids?: string[];\n \"in-campaigns\"?: string[];\n \"in-adsets\"?: string[];\n \"name-contains\"?: string;\n when?: string[];\n window?: string;\n realtime?: boolean;\n action?: string;\n by?: string;\n cap?: string;\n \"max-times\"?: string;\n every?: string;\n \"notify-user-ids\"?: string[];\n schedule?: string;\n at?: string[];\n between?: string;\n days?: string;\n}\n\nconst LEVELS: Readonly<Record<string, string>> = {\n ad: \"AD\",\n ads: \"AD\",\n adset: \"ADSET\",\n adsets: \"ADSET\",\n \"ad-set\": \"ADSET\",\n campaign: \"CAMPAIGN\",\n campaigns: \"CAMPAIGN\",\n};\n\nconst EVALUATION_FLAGS = [\n \"apply-to\",\n \"ids\",\n \"in-campaigns\",\n \"in-adsets\",\n \"name-contains\",\n \"when\",\n \"window\",\n \"realtime\",\n] as const;\nconst EXECUTION_FLAGS = [\"action\", \"by\", \"cap\", \"max-times\", \"every\", \"notify-user-ids\"] as const;\nconst SCHEDULE_FLAGS = [\"schedule\", \"at\", \"between\", \"days\"] as const;\n\nfunction given(flags: RuleFlags, names: readonly (keyof RuleFlags)[]): boolean {\n return names.some((name) => {\n const value = flags[name];\n return Array.isArray(value) ? value.length > 0 : value !== undefined && value !== false && value !== \"\";\n });\n}\n\nfunction ruleLevel(flags: RuleFlags): string | undefined {\n const raw = flags[\"apply-to\"];\n if (!raw) return isRotate(flags) ? \"AD\" : undefined;\n const level = LEVELS[raw.toLowerCase()];\n if (!level) throw new Error(`--apply-to takes ad, adset or campaign — not \"${raw}\"`);\n return level;\n}\n\nfunction listFilter(field: string, ids: string[] | undefined): AdRuleFilter[] {\n return ids?.length ? [{ field, operator: \"IN\", value: ids }] : [];\n}\n\n/** What the rule watches: its level, the objects it names, and a name match. */\nfunction isRotate(flags: RuleFlags): boolean {\n return flags.action?.toLowerCase() === \"rotate\";\n}\n\n/**\n * A rotate rule acts on ads but names the ad sets it rotates within; Meta takes\n * those as `adset.id` beside entity_type AD and refuses a bare `id` (live).\n */\nfunction scopeFilters(flags: RuleFlags, level: string | undefined): AdRuleFilter[] {\n return [\n ...(level ? [{ field: \"entity_type\", operator: \"EQUAL\" as const, value: level }] : []),\n ...listFilter(isRotate(flags) ? \"adset.id\" : \"id\", flags.ids),\n ...listFilter(\"campaign.id\", flags[\"in-campaigns\"]),\n ...listFilter(\"adset.id\", flags[\"in-adsets\"]),\n ...(flags[\"name-contains\"] ? [{ field: \"name\", operator: \"CONTAIN\" as const, value: flags[\"name-contains\"] }] : []),\n ];\n}\n\nfunction evaluationFromFlags(flags: RuleFlags): AdRuleEvaluationSpec {\n const level = ruleLevel(flags);\n if (!level && !flags.ids?.length) {\n throw new Error(\n \"say what the rule watches: --apply-to ad|adset|campaign (every one in the account), plus --ids to name them\",\n );\n }\n const conditions = (flags.when ?? []).map(ruleConditionFromFlag);\n const [first, ...rest] = conditions;\n const trigger = flags.realtime ? first : undefined;\n if (flags.realtime && !trigger) throw new Error(\"--realtime needs a --when condition to react to\");\n const filters = scopeFilters(flags, level);\n if (conditions.length > 0 || flags.window) {\n const preset = (flags.window ?? (flags.realtime ? \"TODAY\" : \"LAST_7D\")).toUpperCase();\n filters.push({ field: \"time_preset\", operator: \"EQUAL\", value: preset });\n }\n filters.push(...(trigger ? rest : conditions));\n return {\n evaluation_type: trigger ? \"TRIGGER\" : \"SCHEDULE\",\n filters,\n ...(trigger ? { trigger: { type: \"STATS_CHANGE\" as const, ...trigger } } : {}),\n };\n}\n\nconst ACTIONS: Readonly<Record<string, { type: AdRuleExecutionSpec[\"execution_type\"]; sign?: 1 | -1 }>> = {\n pause: { type: \"PAUSE\" },\n unpause: { type: \"UNPAUSE\" },\n \"turn-on\": { type: \"UNPAUSE\" },\n notify: { type: \"NOTIFICATION\" },\n \"raise-budget\": { type: \"CHANGE_BUDGET\", sign: 1 },\n \"lower-budget\": { type: \"CHANGE_BUDGET\", sign: -1 },\n \"raise-bid\": { type: \"CHANGE_BID\", sign: 1 },\n \"lower-bid\": { type: \"CHANGE_BID\", sign: -1 },\n rotate: { type: \"ROTATE\" },\n};\n\n/** `90` minutes, `12h`, `7d` → minutes. */\nfunction minutes(raw: string): number {\n const match = /^\\s*(\\d+)\\s*(m|min|h|d)?\\s*$/i.exec(raw);\n if (!match?.[1]) throw new Error(`--every takes minutes, or hours/days like 12h or 7d — not \"${raw}\"`);\n const unit = (match[2] ?? \"m\").toLowerCase();\n return Number(match[1]) * (unit === \"d\" ? 1440 : unit === \"h\" ? 60 : 1);\n}\n\nfunction changeSpec(flags: RuleFlags, sign: 1 | -1): Record<string, unknown> {\n if (!flags.by)\n throw new Error(`--action ${flags.action} needs --by: a percentage like 20% or an amount in the account currency`);\n const percent = flags.by.trim().endsWith(\"%\");\n const amount = number(flags.by.replace(\"%\", \"\")) * sign;\n return {\n amount,\n unit: percent ? \"PERCENTAGE\" : \"ACCOUNT_CURRENCY\",\n ...(flags.cap ? { limit: number(flags.cap) } : {}),\n };\n}\n\nfunction executionFromFlags(flags: RuleFlags, level: string | undefined): AdRuleExecutionSpec {\n const action = flags.action ? ACTIONS[flags.action.toLowerCase()] : undefined;\n if (!action) {\n throw new Error(\n `--action takes ${Object.keys(ACTIONS).join(\", \")}${flags.action ? ` — not \"${flags.action}\"` : \"\"}`,\n );\n }\n // A campaign's budget is its own action on Meta (Advantage campaign budget).\n const type = action.type === \"CHANGE_BUDGET\" && level === \"CAMPAIGN\" ? \"CHANGE_CAMPAIGN_BUDGET\" : action.type;\n const options: AdRuleExecutionOption[] = [];\n if (action.sign) options.push({ field: \"change_spec\", operator: \"EQUAL\", value: changeSpec(flags, action.sign) });\n if (flags[\"max-times\"])\n options.push({ field: \"execution_count_limit\", operator: \"EQUAL\", value: number(flags[\"max-times\"]) });\n if (flags.every) options.push({ field: \"action_frequency\", operator: \"EQUAL\", value: minutes(flags.every) });\n if (flags[\"notify-user-ids\"]?.length)\n options.push({ field: \"user_ids\", operator: \"EQUAL\", value: flags[\"notify-user-ids\"] });\n return { execution_type: type, ...(options.length > 0 ? { execution_options: options } : {}) };\n}\n\nconst DAY_NUMBERS: Readonly<Record<string, number>> = { sun: 0, mon: 1, tue: 2, wed: 3, thu: 4, fri: 5, sat: 6 };\n\nfunction clockMinutes(raw: string): number {\n const match = /^\\s*(\\d{1,2}):(\\d{2})\\s*$/.exec(raw);\n if (!match?.[1] || !match[2]) throw new Error(`times are HH:MM on the half hour, like 09:30 — not \"${raw}\"`);\n return Number(match[1]) * 60 + Number(match[2]);\n}\n\nfunction days(raw: string | undefined): number[] | undefined {\n if (!raw) return undefined;\n return raw.split(\",\").map((day) => {\n const value = DAY_NUMBERS[day.trim().slice(0, 3).toLowerCase()];\n if (value === undefined) throw new Error(`--days takes mon,tue,wed,thu,fri,sat,sun — not \"${day}\"`);\n return value;\n });\n}\n\nconst SCHEDULE_TYPES: Readonly<Record<string, AdRuleScheduleSpec[\"schedule_type\"]>> = {\n daily: \"DAILY\",\n hourly: \"HOURLY\",\n \"half-hourly\": \"SEMI_HOURLY\",\n \"semi-hourly\": \"SEMI_HOURLY\",\n custom: \"CUSTOM\",\n};\n\nfunction scheduleFromFlags(flags: RuleFlags): AdRuleScheduleSpec {\n const custom = Boolean(flags.at?.length || flags.between || flags.days);\n const type = flags.schedule ? SCHEDULE_TYPES[flags.schedule.toLowerCase()] : custom ? \"CUSTOM\" : \"DAILY\";\n if (!type) throw new Error(`--schedule takes daily, hourly, half-hourly or custom — not \"${flags.schedule}\"`);\n // Times and days only belong to a custom schedule: refused, not dropped, so the\n // rule never runs on a timetable nobody asked for.\n if (type !== \"CUSTOM\" && custom) {\n throw new Error(\n `--at, --between and --days set a custom timetable, which --schedule ${flags.schedule} does not take — use --schedule custom (or leave --schedule out)`,\n );\n }\n if (type !== \"CUSTOM\") return { schedule_type: type };\n const dayList = days(flags.days);\n const withDays = dayList ? { days: dayList } : {};\n const items: NonNullable<AdRuleScheduleSpec[\"schedule\"]> = (flags.at ?? []).map((at) => ({\n start_minute: clockMinutes(at),\n ...withDays,\n }));\n if (flags.between) {\n const [from, to] = flags.between.split(\"-\");\n if (!from || !to) throw new Error(`--between takes a time range like 09:00-17:00 — not \"${flags.between}\"`);\n items.push({ start_minute: clockMinutes(from), end_minute: clockMinutes(to), ...withDays });\n }\n return { schedule_type: \"CUSTOM\", schedule: items.length > 0 ? items : [withDays] };\n}\n\n/**\n * The rule payload the flags describe. On an update, a part (what it checks,\n * what it does, when it runs) is built only when one of its flags is given —\n * and then whole, since Meta replaces a spec rather than merging it.\n */\n/** What a rule read carries that Meta sets itself — never sent back. */\nconst READ_ONLY_RULE_KEYS = new Set([\n \"id\",\n \"account_id\",\n \"created_time\",\n \"updated_time\",\n \"created_by\",\n \"disable_error_code\",\n \"description\",\n \"currencyCode\",\n]);\n\n/**\n * A rule file as staging takes it. It may be exactly what `rules --rule-id`\n * printed — the envelope, its `data` list of one, or the rule — so a read can\n * be edited and passed back; the fields Meta keeps for itself are left out.\n */\nexport function ruleFileForStaging(\n raw: unknown,\n { update = false }: { update?: boolean } = {},\n): Record<string, unknown> {\n const unwrapped =\n raw && typeof raw === \"object\" && !Array.isArray(raw) && \"data\" in raw ? (raw as { data: unknown }).data : raw;\n const list = Array.isArray(unwrapped) ? unwrapped : [unwrapped];\n if (list.length !== 1) {\n throw new Error(`holds ${list.length} rules — keep the one to stage`);\n }\n const rule = list[0];\n if (!rule || typeof rule !== \"object\" || Array.isArray(rule)) {\n throw new Error(\"must contain a JSON object with the rule\");\n }\n // An update switches a rule only through enable/disable: restating the read's\n // status would be refused as \"already DISABLED\".\n return Object.fromEntries(\n Object.entries(rule).filter(([key]) => !READ_ONLY_RULE_KEYS.has(key) && !(update && key === \"status\")),\n );\n}\n\nexport function rulePayloadFromFlags(\n flags: RuleFlags,\n { update = false }: { update?: boolean } = {},\n): Record<string, unknown> & { evaluation_spec?: AdRuleEvaluationSpec; schedule_spec?: AdRuleScheduleSpec } {\n if (flags.realtime && given(flags, SCHEDULE_FLAGS)) {\n throw new Error(\n \"--realtime rules react the moment a metric changes and run on no schedule — drop --schedule/--at/--between/--days, or drop --realtime\",\n );\n }\n const evaluation = !update || given(flags, EVALUATION_FLAGS) ? evaluationFromFlags(flags) : undefined;\n const level = ruleLevel(flags);\n const execution = !update || given(flags, EXECUTION_FLAGS) ? executionFromFlags(flags, level) : undefined;\n const realtime = evaluation?.evaluation_type === \"TRIGGER\";\n const schedule = !realtime && (!update || given(flags, SCHEDULE_FLAGS)) ? scheduleFromFlags(flags) : undefined;\n return {\n ...(flags.name ? { name: flags.name } : {}),\n ...(flags.status ? { status: flags.status.toUpperCase() } : {}),\n ...(evaluation ? { evaluation_spec: evaluation } : {}),\n ...(execution ? { execution_spec: execution } : {}),\n ...(schedule ? { schedule_spec: schedule } : {}),\n };\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import {
|
|
2
|
+
readCreativeSpecs,
|
|
3
|
+
rulesHints,
|
|
4
|
+
rulesView,
|
|
5
|
+
waiverCounts
|
|
6
|
+
} from "./chunk-QVQKCVP7.js";
|
|
7
|
+
import {
|
|
8
|
+
readAllRules
|
|
9
|
+
} from "./chunk-R6T25WTZ.js";
|
|
10
|
+
import "./chunk-JCVPZ7CV.js";
|
|
11
|
+
import "./chunk-ZFJ2FQUH.js";
|
|
12
|
+
import "./chunk-V2XEX2YR.js";
|
|
13
|
+
import {
|
|
14
|
+
findWorkspaceRoot
|
|
15
|
+
} from "./chunk-O37YK4P6.js";
|
|
16
|
+
import {
|
|
17
|
+
selectRules
|
|
18
|
+
} from "./chunk-SDQLZYQG.js";
|
|
19
|
+
import "./chunk-MCJ5I5LR.js";
|
|
20
|
+
import "./chunk-ZVXKWLLE.js";
|
|
21
|
+
import "./chunk-EHIISZYD.js";
|
|
22
|
+
import "./chunk-SWNCS2OD.js";
|
|
23
|
+
import "./chunk-HVJJEQDQ.js";
|
|
24
|
+
import "./chunk-QV6AST5T.js";
|
|
25
|
+
import "./chunk-WCU362Z6.js";
|
|
26
|
+
import "./chunk-GIWHHCD6.js";
|
|
27
|
+
import "./chunk-SOPVIIUW.js";
|
|
28
|
+
import "./chunk-G4FG5EQO.js";
|
|
29
|
+
import "./chunk-NSBNIPIW.js";
|
|
30
|
+
import "./chunk-46YLDIQG.js";
|
|
31
|
+
import "./chunk-B4UVJCJ4.js";
|
|
32
|
+
import "./chunk-AFQF6ISC.js";
|
|
33
|
+
import "./chunk-52IYZCRS.js";
|
|
34
|
+
import {
|
|
35
|
+
registerSchema,
|
|
36
|
+
writeJson
|
|
37
|
+
} from "./chunk-FSGJSREN.js";
|
|
38
|
+
import "./chunk-YQSBHWOI.js";
|
|
39
|
+
|
|
40
|
+
// src/commands/creatives/rules.ts
|
|
41
|
+
import { defineCommand } from "citty";
|
|
42
|
+
var LIST_DESCRIPTION = `The company's standing rules for every ad: the brand's own (BRAND.md) and the ones a person taught, each with its id, strength (never | must | prefer), what it is about, its words, the person's own words and where it came from. \`baker creatives brief\` carries them too.
|
|
43
|
+
Start here: baker creatives rules list
|
|
44
|
+
baker creatives rules list --kind video --product cubbo-engage # the rules one ad is held to
|
|
45
|
+
baker creatives rules list --all # retired ones and every scope too`;
|
|
46
|
+
var LIST_ARGS = {
|
|
47
|
+
kind: {
|
|
48
|
+
type: "string",
|
|
49
|
+
description: "static | video: only the rules an ad of this kind is held to",
|
|
50
|
+
required: false
|
|
51
|
+
},
|
|
52
|
+
product: {
|
|
53
|
+
type: "string",
|
|
54
|
+
description: "A product slug (src/content/products/<slug>.md): only the rules an ad of it is held to",
|
|
55
|
+
required: false
|
|
56
|
+
},
|
|
57
|
+
all: {
|
|
58
|
+
type: "boolean",
|
|
59
|
+
description: "Every rule, retired ones and every scope included",
|
|
60
|
+
required: false,
|
|
61
|
+
default: false
|
|
62
|
+
},
|
|
63
|
+
full: { type: "boolean", description: "Each rule and the person's words whole", required: false, default: false }
|
|
64
|
+
};
|
|
65
|
+
registerSchema({ command: "creatives.rules.list", description: LIST_DESCRIPTION, args: LIST_ARGS });
|
|
66
|
+
var listCommand = defineCommand({
|
|
67
|
+
meta: { name: "list", description: LIST_DESCRIPTION },
|
|
68
|
+
args: LIST_ARGS,
|
|
69
|
+
async run({ args }) {
|
|
70
|
+
const root = findWorkspaceRoot(process.cwd()) ?? process.cwd();
|
|
71
|
+
const kind = args.kind === "static" || args.kind === "video" ? args.kind : void 0;
|
|
72
|
+
const product = typeof args.product === "string" && args.product ? args.product : void 0;
|
|
73
|
+
const [rules, specs] = await Promise.all([readAllRules(root), readCreativeSpecs(root)]);
|
|
74
|
+
const active = selectRules(rules, { ...kind ? { kind } : {}, ...product ? { product } : {} });
|
|
75
|
+
const shown = args.all === true ? rules : active;
|
|
76
|
+
const hints = rulesHints(active, waiverCounts(specs));
|
|
77
|
+
writeJson({
|
|
78
|
+
ok: true,
|
|
79
|
+
data: { rules: rulesView(shown, { full: args.full === true }), active: active.length, total: rules.length },
|
|
80
|
+
...hints.length > 0 ? { hints } : {}
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
var rulesCommand = defineCommand({
|
|
85
|
+
meta: {
|
|
86
|
+
name: "rules",
|
|
87
|
+
description: "The company's standing rules for every ad: list them, add one the person agreed to, retire one."
|
|
88
|
+
},
|
|
89
|
+
subCommands: {
|
|
90
|
+
list: listCommand,
|
|
91
|
+
add: () => import("./rules-add-ZOPOWJMY.js").then((m) => m.rulesAddCommand),
|
|
92
|
+
retire: () => import("./rules-add-ZOPOWJMY.js").then((m) => m.rulesRetireCommand)
|
|
93
|
+
},
|
|
94
|
+
default: "list"
|
|
95
|
+
});
|
|
96
|
+
export {
|
|
97
|
+
rulesCommand
|
|
98
|
+
};
|
|
99
|
+
//# sourceMappingURL=rules-56E55SGC.js.map
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
import {
|
|
2
|
+
handleMetaError,
|
|
3
|
+
resolveAccountIdArg
|
|
4
|
+
} from "./chunk-BN4TDL5L.js";
|
|
5
|
+
import "./chunk-QALAJNBG.js";
|
|
6
|
+
import {
|
|
7
|
+
writeJsonEnvelope
|
|
8
|
+
} from "./chunk-HPDGVK6R.js";
|
|
9
|
+
import {
|
|
10
|
+
apiGet
|
|
11
|
+
} from "./chunk-B4UVJCJ4.js";
|
|
12
|
+
import "./chunk-AFQF6ISC.js";
|
|
13
|
+
import "./chunk-52IYZCRS.js";
|
|
14
|
+
import {
|
|
15
|
+
registerSchema
|
|
16
|
+
} from "./chunk-FSGJSREN.js";
|
|
17
|
+
import "./chunk-YQSBHWOI.js";
|
|
18
|
+
|
|
19
|
+
// src/commands/ads/meta/rules.ts
|
|
20
|
+
import { defineCommand } from "citty";
|
|
21
|
+
function compactRule(row) {
|
|
22
|
+
return {
|
|
23
|
+
id: row.id,
|
|
24
|
+
name: row.name,
|
|
25
|
+
status: row.status,
|
|
26
|
+
does: row.description,
|
|
27
|
+
...row.disable_error_code ? { disable_error_code: row.disable_error_code } : {},
|
|
28
|
+
updated_time: row.updated_time
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
function ruleListHints(rows) {
|
|
32
|
+
const hints = [];
|
|
33
|
+
if (rows.length === 0) {
|
|
34
|
+
hints.push(
|
|
35
|
+
'No automated rules on this account. Stage one with `baker ads meta rules create --name \u2026 --apply-to ad --when "cost_per_result>20" --action pause`.'
|
|
36
|
+
);
|
|
37
|
+
}
|
|
38
|
+
const issues = rows.filter((row) => row.status === "HAS_ISSUES");
|
|
39
|
+
if (issues.length > 0) {
|
|
40
|
+
hints.push(
|
|
41
|
+
`${issues.map((row) => row.name ?? row.id).join(", ")} ${issues.length === 1 ? "has" : "have"} been stopped by Meta (HAS_ISSUES) \u2014 read it with --rule-id and fix the spec with \`rules update\`.`
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
if (rows.length > 0) {
|
|
45
|
+
hints.push(
|
|
46
|
+
"`rules history --rule-id <id>` shows what a rule did and when; `rules preview <id>` what it would act on now."
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
return hints;
|
|
50
|
+
}
|
|
51
|
+
registerSchema({
|
|
52
|
+
command: "ads.meta.rules",
|
|
53
|
+
description: "List the automated rules on a Meta ad account (Ads Manager \u2192 Automated rules): each rule's status and what it does, in words. --rule-id reads one; --full adds its evaluation_spec, execution_spec and schedule_spec in the shape `rules update --file` takes (money in major units of the account currency).",
|
|
54
|
+
args: {
|
|
55
|
+
"account-id": { type: "string", description: "Meta ad account ID (act_123)", required: false },
|
|
56
|
+
"rule-id": { type: "string", description: "Read one rule", required: false },
|
|
57
|
+
full: { type: "boolean", description: "Include the specs and timestamps", required: false }
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
var listCommand = defineCommand({
|
|
61
|
+
meta: {
|
|
62
|
+
name: "list",
|
|
63
|
+
description: "List automated rules. Runs by default. Example: baker ads meta rules --account-id act_123 \xB7 one rule in full: baker ads meta rules --rule-id 1132635173044914 --full"
|
|
64
|
+
},
|
|
65
|
+
args: {
|
|
66
|
+
"account-id": { type: "string", description: "Meta ad account ID" },
|
|
67
|
+
"rule-id": { type: "string", description: "Read one rule" },
|
|
68
|
+
full: { type: "boolean", description: "Include the specs and timestamps" }
|
|
69
|
+
},
|
|
70
|
+
run: async ({ args }) => {
|
|
71
|
+
const accountId = await resolveAccountIdArg(args);
|
|
72
|
+
try {
|
|
73
|
+
const params = { "account-id": accountId };
|
|
74
|
+
if (args["rule-id"]) params["rule-id"] = String(args["rule-id"]);
|
|
75
|
+
const rows = await apiGet("/api/ads/meta/rules", params);
|
|
76
|
+
const full = Boolean(args.full) || Boolean(args["rule-id"]);
|
|
77
|
+
writeJsonEnvelope({ ok: true, data: full ? rows : rows.map(compactRule), hints: ruleListHints(rows) });
|
|
78
|
+
} catch (err) {
|
|
79
|
+
handleMetaError(err);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
function compactHistory(row) {
|
|
84
|
+
const changes = (row.results ?? []).flatMap(
|
|
85
|
+
(result) => (result.actions ?? []).map((action) => ({
|
|
86
|
+
object_id: result.object_id,
|
|
87
|
+
action: action.action,
|
|
88
|
+
...action.field ? { field: action.field } : {},
|
|
89
|
+
...action.old_value !== void 0 ? { from: action.old_value } : {},
|
|
90
|
+
...action.new_value !== void 0 ? { to: action.new_value } : {}
|
|
91
|
+
}))
|
|
92
|
+
);
|
|
93
|
+
return {
|
|
94
|
+
timestamp: row.timestamp,
|
|
95
|
+
rule_id: row.rule_id,
|
|
96
|
+
...row.is_manual ? { manual: true } : {},
|
|
97
|
+
changes,
|
|
98
|
+
...row.exception_message ? { error: row.exception_message } : {}
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
registerSchema({
|
|
102
|
+
command: "ads.meta.rules.history",
|
|
103
|
+
description: "What automated rules did and when: each run with the objects it changed (PAUSED, CHANGED_BUDGET, \u2026, old \u2192 new value). Without --rule-id, every rule on the account, newest first.",
|
|
104
|
+
args: {
|
|
105
|
+
"account-id": { type: "string", description: "Meta ad account ID (act_123)", required: false },
|
|
106
|
+
"rule-id": { type: "string", description: "One rule's runs", required: false },
|
|
107
|
+
"object-id": { type: "string", description: "Only runs that touched this ad, ad set or campaign", required: false },
|
|
108
|
+
action: { type: "string", description: "Only this action, e.g. PAUSED, CHANGED_BUDGET", required: false },
|
|
109
|
+
"hide-no-changes": { type: "boolean", description: "Drop runs that changed nothing", required: false },
|
|
110
|
+
limit: { type: "string", description: "Max runs (default 50)", required: false },
|
|
111
|
+
full: { type: "boolean", description: "Include the rule's specs at each run", required: false }
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
var historyCommand = defineCommand({
|
|
115
|
+
meta: {
|
|
116
|
+
name: "history",
|
|
117
|
+
description: "What rules did and when. Example: baker ads meta rules history --rule-id 1132635173044914 --hide-no-changes \xB7 every rule: baker ads meta rules history --account-id act_123"
|
|
118
|
+
},
|
|
119
|
+
args: {
|
|
120
|
+
"account-id": { type: "string", description: "Meta ad account ID" },
|
|
121
|
+
"rule-id": { type: "string", description: "One rule's runs" },
|
|
122
|
+
"object-id": { type: "string", description: "Only runs that touched this object" },
|
|
123
|
+
action: { type: "string", description: "Only this action (PAUSED, CHANGED_BUDGET, \u2026)" },
|
|
124
|
+
"hide-no-changes": { type: "boolean", description: "Drop runs that changed nothing" },
|
|
125
|
+
limit: { type: "string", description: "Max runs (default 50)" },
|
|
126
|
+
full: { type: "boolean", description: "Include the rule's specs at each run" }
|
|
127
|
+
},
|
|
128
|
+
run: async ({ args }) => {
|
|
129
|
+
const accountId = await resolveAccountIdArg(args);
|
|
130
|
+
try {
|
|
131
|
+
const params = { "account-id": accountId };
|
|
132
|
+
for (const key of ["rule-id", "object-id", "action", "limit"]) {
|
|
133
|
+
if (args[key]) params[key] = String(args[key]);
|
|
134
|
+
}
|
|
135
|
+
if (args["hide-no-changes"]) params["hide-no-changes"] = "true";
|
|
136
|
+
const rows = await apiGet("/api/ads/meta/rules/history", params);
|
|
137
|
+
const hints = rows.length === 0 ? [
|
|
138
|
+
"No runs recorded. A daily rule first runs just after midnight in the ad account's time zone; a switched-off rule never runs."
|
|
139
|
+
] : [];
|
|
140
|
+
writeJsonEnvelope({ ok: true, data: args.full ? rows : rows.map(compactHistory), hints });
|
|
141
|
+
} catch (err) {
|
|
142
|
+
handleMetaError(err);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
registerSchema({
|
|
147
|
+
command: "ads.meta.rules.preview",
|
|
148
|
+
description: "Which ads, ad sets or campaigns a live schedule rule would act on right now, by Meta's own evaluation. Changes nothing.",
|
|
149
|
+
args: {
|
|
150
|
+
id: { type: "positional", description: "Rule id", required: true },
|
|
151
|
+
"account-id": { type: "string", description: "Meta ad account ID (act_123)", required: false }
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
var previewCommand = defineCommand({
|
|
155
|
+
meta: {
|
|
156
|
+
name: "preview",
|
|
157
|
+
description: "What a rule would act on right now (changes nothing). Example: baker ads meta rules preview 1132635173044914"
|
|
158
|
+
},
|
|
159
|
+
args: {
|
|
160
|
+
id: { type: "positional", description: "Rule id", required: true },
|
|
161
|
+
"account-id": { type: "string", description: "Meta ad account ID" }
|
|
162
|
+
},
|
|
163
|
+
run: async ({ args }) => {
|
|
164
|
+
const accountId = await resolveAccountIdArg(args);
|
|
165
|
+
try {
|
|
166
|
+
const data = await apiGet("/api/ads/meta/rules/preview", {
|
|
167
|
+
"account-id": accountId,
|
|
168
|
+
"rule-id": String(args.id)
|
|
169
|
+
});
|
|
170
|
+
const hints = data.matched.length === 0 ? ["Nothing matches right now \u2014 the rule would change nothing if it ran now."] : [];
|
|
171
|
+
writeJsonEnvelope({ ok: true, data, hints });
|
|
172
|
+
} catch (err) {
|
|
173
|
+
handleMetaError(err);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
var rulesCommand = defineCommand({
|
|
178
|
+
meta: {
|
|
179
|
+
name: "rules",
|
|
180
|
+
description: `Meta automated rules \u2014 Meta's own automation, which runs on Meta with no Baker involvement once created.
|
|
181
|
+
Use one for a standing "if this metric crosses that line, do X" that needs no judgement; use a Baker scheduled agent when the call needs reasoning.
|
|
182
|
+
|
|
183
|
+
Examples:
|
|
184
|
+
baker ads meta rules --account-id act_123 # every rule, what it does
|
|
185
|
+
baker ads meta rules --rule-id 1132635173044914 # one rule with its specs
|
|
186
|
+
baker ads meta rules history --rule-id 1132635173044914 --hide-no-changes # what it did
|
|
187
|
+
baker ads meta rules preview 1132635173044914 # what it would act on now
|
|
188
|
+
baker ads meta rules create --name "Stop expensive ads" --apply-to ad --when "cost_per_result>20" --action pause
|
|
189
|
+
baker ads meta rules update 1132635173044914 --name "Stop very expensive ads"
|
|
190
|
+
baker ads meta rules disable|enable|delete 1132635173044914
|
|
191
|
+
baker ads meta rules run 1132635173044914 # run it once, at publish`
|
|
192
|
+
},
|
|
193
|
+
subCommands: {
|
|
194
|
+
list: listCommand,
|
|
195
|
+
history: historyCommand,
|
|
196
|
+
preview: previewCommand,
|
|
197
|
+
create: () => import("./rule-writes-A4BFYHPA.js").then((m) => m.rulesCreateCommand),
|
|
198
|
+
update: () => import("./rule-writes-A4BFYHPA.js").then((m) => m.rulesUpdateCommand),
|
|
199
|
+
enable: () => import("./rule-writes-A4BFYHPA.js").then((m) => m.rulesEnableCommand),
|
|
200
|
+
disable: () => import("./rule-writes-A4BFYHPA.js").then((m) => m.rulesDisableCommand),
|
|
201
|
+
delete: () => import("./rule-writes-A4BFYHPA.js").then((m) => m.rulesDeleteCommand),
|
|
202
|
+
run: () => import("./rule-writes-A4BFYHPA.js").then((m) => m.rulesRunCommand)
|
|
203
|
+
},
|
|
204
|
+
args: {
|
|
205
|
+
"account-id": { type: "string", description: "Meta ad account ID" },
|
|
206
|
+
"rule-id": { type: "string", description: "Read one rule" },
|
|
207
|
+
full: { type: "boolean", description: "Include the specs and timestamps" }
|
|
208
|
+
},
|
|
209
|
+
default: "list"
|
|
210
|
+
});
|
|
211
|
+
export {
|
|
212
|
+
compactHistory,
|
|
213
|
+
compactRule,
|
|
214
|
+
ruleListHints,
|
|
215
|
+
rulesCommand
|
|
216
|
+
};
|
|
217
|
+
//# sourceMappingURL=rules-HLREXY2M.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/ads/meta/rules.ts"],"sourcesContent":["import type { MetaAdRuleHistoryRow, MetaAdRuleRow } from \"@baker/api/ads-meta/adRules\";\nimport { defineCommand } from \"citty\";\nimport { apiGet } from \"../../../client.ts\";\nimport { registerSchema } from \"../../../schemas.ts\";\nimport { writeJsonEnvelope } from \"../output.ts\";\nimport { handleMetaError, resolveAccountIdArg } from \"./shared.ts\";\n\n/**\n * Meta automated rules — reads. A rule is Meta's own automation: it runs on\n * Meta, on Meta's schedule, with no Baker involvement once created. Writes\n * (create / update / enable / disable / delete) stage like every Meta change\n * and live in `rule-writes.ts`.\n */\n\n/** What an agent needs to pick a rule and know what it does. Specs sit behind --full. */\nexport function compactRule(row: MetaAdRuleRow): Record<string, unknown> {\n return {\n id: row.id,\n name: row.name,\n status: row.status,\n does: row.description,\n ...(row.disable_error_code ? { disable_error_code: row.disable_error_code } : {}),\n updated_time: row.updated_time,\n };\n}\n\nexport function ruleListHints(rows: readonly MetaAdRuleRow[]): string[] {\n const hints: string[] = [];\n if (rows.length === 0) {\n hints.push(\n 'No automated rules on this account. Stage one with `baker ads meta rules create --name … --apply-to ad --when \"cost_per_result>20\" --action pause`.',\n );\n }\n const issues = rows.filter((row) => row.status === \"HAS_ISSUES\");\n if (issues.length > 0) {\n hints.push(\n `${issues.map((row) => row.name ?? row.id).join(\", \")} ${issues.length === 1 ? \"has\" : \"have\"} been stopped by Meta (HAS_ISSUES) — read it with --rule-id and fix the spec with \\`rules update\\`.`,\n );\n }\n if (rows.length > 0) {\n hints.push(\n \"`rules history --rule-id <id>` shows what a rule did and when; `rules preview <id>` what it would act on now.\",\n );\n }\n return hints;\n}\n\nregisterSchema({\n command: \"ads.meta.rules\",\n description:\n \"List the automated rules on a Meta ad account (Ads Manager → Automated rules): each rule's status and what it does, in words. --rule-id reads one; --full adds its evaluation_spec, execution_spec and schedule_spec in the shape `rules update --file` takes (money in major units of the account currency).\",\n args: {\n \"account-id\": { type: \"string\", description: \"Meta ad account ID (act_123)\", required: false },\n \"rule-id\": { type: \"string\", description: \"Read one rule\", required: false },\n full: { type: \"boolean\", description: \"Include the specs and timestamps\", required: false },\n },\n});\n\nconst listCommand = defineCommand({\n meta: {\n name: \"list\",\n description:\n \"List automated rules. Runs by default. Example: baker ads meta rules --account-id act_123 · one rule in full: baker ads meta rules --rule-id 1132635173044914 --full\",\n },\n args: {\n \"account-id\": { type: \"string\", description: \"Meta ad account ID\" },\n \"rule-id\": { type: \"string\", description: \"Read one rule\" },\n full: { type: \"boolean\", description: \"Include the specs and timestamps\" },\n },\n run: async ({ args }) => {\n const accountId = await resolveAccountIdArg(args);\n try {\n const params: Record<string, string> = { \"account-id\": accountId };\n if (args[\"rule-id\"]) params[\"rule-id\"] = String(args[\"rule-id\"]);\n const rows = await apiGet<MetaAdRuleRow[]>(\"/api/ads/meta/rules\", params);\n const full = Boolean(args.full) || Boolean(args[\"rule-id\"]);\n writeJsonEnvelope({ ok: true, data: full ? rows : rows.map(compactRule), hints: ruleListHints(rows) });\n } catch (err) {\n handleMetaError(err);\n }\n },\n});\n\n/** A run in a line an agent can read: when, which rule, and what it changed. */\nexport function compactHistory(row: MetaAdRuleHistoryRow): Record<string, unknown> {\n const changes = (row.results ?? []).flatMap((result) =>\n (result.actions ?? []).map((action) => ({\n object_id: result.object_id,\n action: action.action,\n ...(action.field ? { field: action.field } : {}),\n ...(action.old_value !== undefined ? { from: action.old_value } : {}),\n ...(action.new_value !== undefined ? { to: action.new_value } : {}),\n })),\n );\n return {\n timestamp: row.timestamp,\n rule_id: row.rule_id,\n ...(row.is_manual ? { manual: true } : {}),\n changes,\n ...(row.exception_message ? { error: row.exception_message } : {}),\n };\n}\n\nregisterSchema({\n command: \"ads.meta.rules.history\",\n description:\n \"What automated rules did and when: each run with the objects it changed (PAUSED, CHANGED_BUDGET, …, old → new value). Without --rule-id, every rule on the account, newest first.\",\n args: {\n \"account-id\": { type: \"string\", description: \"Meta ad account ID (act_123)\", required: false },\n \"rule-id\": { type: \"string\", description: \"One rule's runs\", required: false },\n \"object-id\": { type: \"string\", description: \"Only runs that touched this ad, ad set or campaign\", required: false },\n action: { type: \"string\", description: \"Only this action, e.g. PAUSED, CHANGED_BUDGET\", required: false },\n \"hide-no-changes\": { type: \"boolean\", description: \"Drop runs that changed nothing\", required: false },\n limit: { type: \"string\", description: \"Max runs (default 50)\", required: false },\n full: { type: \"boolean\", description: \"Include the rule's specs at each run\", required: false },\n },\n});\n\nconst historyCommand = defineCommand({\n meta: {\n name: \"history\",\n description:\n \"What rules did and when. Example: baker ads meta rules history --rule-id 1132635173044914 --hide-no-changes · every rule: baker ads meta rules history --account-id act_123\",\n },\n args: {\n \"account-id\": { type: \"string\", description: \"Meta ad account ID\" },\n \"rule-id\": { type: \"string\", description: \"One rule's runs\" },\n \"object-id\": { type: \"string\", description: \"Only runs that touched this object\" },\n action: { type: \"string\", description: \"Only this action (PAUSED, CHANGED_BUDGET, …)\" },\n \"hide-no-changes\": { type: \"boolean\", description: \"Drop runs that changed nothing\" },\n limit: { type: \"string\", description: \"Max runs (default 50)\" },\n full: { type: \"boolean\", description: \"Include the rule's specs at each run\" },\n },\n run: async ({ args }) => {\n const accountId = await resolveAccountIdArg(args);\n try {\n const params: Record<string, string> = { \"account-id\": accountId };\n for (const key of [\"rule-id\", \"object-id\", \"action\", \"limit\"] as const) {\n if (args[key]) params[key] = String(args[key]);\n }\n if (args[\"hide-no-changes\"]) params[\"hide-no-changes\"] = \"true\";\n const rows = await apiGet<MetaAdRuleHistoryRow[]>(\"/api/ads/meta/rules/history\", params);\n const hints =\n rows.length === 0\n ? [\n \"No runs recorded. A daily rule first runs just after midnight in the ad account's time zone; a switched-off rule never runs.\",\n ]\n : [];\n writeJsonEnvelope({ ok: true, data: args.full ? rows : rows.map(compactHistory), hints });\n } catch (err) {\n handleMetaError(err);\n }\n },\n});\n\nregisterSchema({\n command: \"ads.meta.rules.preview\",\n description:\n \"Which ads, ad sets or campaigns a live schedule rule would act on right now, by Meta's own evaluation. Changes nothing.\",\n args: {\n id: { type: \"positional\", description: \"Rule id\", required: true },\n \"account-id\": { type: \"string\", description: \"Meta ad account ID (act_123)\", required: false },\n },\n});\n\nconst previewCommand = defineCommand({\n meta: {\n name: \"preview\",\n description:\n \"What a rule would act on right now (changes nothing). Example: baker ads meta rules preview 1132635173044914\",\n },\n args: {\n id: { type: \"positional\", description: \"Rule id\", required: true },\n \"account-id\": { type: \"string\", description: \"Meta ad account ID\" },\n },\n run: async ({ args }) => {\n const accountId = await resolveAccountIdArg(args);\n try {\n const data = await apiGet<{ ruleId: string; matched: unknown[] }>(\"/api/ads/meta/rules/preview\", {\n \"account-id\": accountId,\n \"rule-id\": String(args.id),\n });\n const hints =\n data.matched.length === 0 ? [\"Nothing matches right now — the rule would change nothing if it ran now.\"] : [];\n writeJsonEnvelope({ ok: true, data, hints });\n } catch (err) {\n handleMetaError(err);\n }\n },\n});\n\nexport const rulesCommand = defineCommand({\n meta: {\n name: \"rules\",\n description: `Meta automated rules — Meta's own automation, which runs on Meta with no Baker involvement once created.\nUse one for a standing \"if this metric crosses that line, do X\" that needs no judgement; use a Baker scheduled agent when the call needs reasoning.\n\nExamples:\n baker ads meta rules --account-id act_123 # every rule, what it does\n baker ads meta rules --rule-id 1132635173044914 # one rule with its specs\n baker ads meta rules history --rule-id 1132635173044914 --hide-no-changes # what it did\n baker ads meta rules preview 1132635173044914 # what it would act on now\n baker ads meta rules create --name \"Stop expensive ads\" --apply-to ad --when \"cost_per_result>20\" --action pause\n baker ads meta rules update 1132635173044914 --name \"Stop very expensive ads\"\n baker ads meta rules disable|enable|delete 1132635173044914\n baker ads meta rules run 1132635173044914 # run it once, at publish`,\n },\n subCommands: {\n list: listCommand,\n history: historyCommand,\n preview: previewCommand,\n create: () => import(\"./rule-writes.ts\").then((m) => m.rulesCreateCommand),\n update: () => import(\"./rule-writes.ts\").then((m) => m.rulesUpdateCommand),\n enable: () => import(\"./rule-writes.ts\").then((m) => m.rulesEnableCommand),\n disable: () => import(\"./rule-writes.ts\").then((m) => m.rulesDisableCommand),\n delete: () => import(\"./rule-writes.ts\").then((m) => m.rulesDeleteCommand),\n run: () => import(\"./rule-writes.ts\").then((m) => m.rulesRunCommand),\n },\n args: {\n \"account-id\": { type: \"string\", description: \"Meta ad account ID\" },\n \"rule-id\": { type: \"string\", description: \"Read one rule\" },\n full: { type: \"boolean\", description: \"Include the specs and timestamps\" },\n },\n default: \"list\",\n});\n"],"mappings":"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","names":[]}
|