@koda-sl/baker-cli 0.489.0 → 0.491.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 +169 -7
- package/dist/account-3H6BZO5H.js +80 -0
- package/dist/account-IKFDY52P.js +138 -0
- package/dist/account-IKFDY52P.js.map +1 -0
- package/dist/account-VGSYM7LY.js +79 -0
- package/dist/account-assets-LKZVWZAR.js +289 -0
- package/dist/account-assets-LKZVWZAR.js.map +1 -0
- package/dist/account-level-UJOZDVXY.js +608 -0
- package/dist/account-level-UJOZDVXY.js.map +1 -0
- package/dist/account-writes-AE5IJGGW.js +66 -0
- package/dist/accounts-2ARS6XP2.js +77 -0
- package/dist/accounts-AQFW4ZUM.js +611 -0
- package/dist/accounts-K4INATCW.js +75 -0
- package/dist/actions-QMUHOAXG.js +55 -0
- package/dist/activecampaign-J3QN5FMG.js +935 -0
- package/dist/activities-T253KK4Q.js +74 -0
- package/dist/ad-group-writes-VRSBI2Z2.js +170 -0
- package/dist/ad-groups-IEBVEAMS.js +68 -0
- package/dist/ad-writes-ALV4KFPZ.js +174 -0
- package/dist/add-VDUA6OWM.js +104 -0
- package/dist/add-XHOKCSW5.js +302 -0
- package/dist/ads-CQZHD7FC.js +77 -0
- package/dist/ads-HGDPNIT6.js +40 -0
- package/dist/ads-ZEY72UBN.js +114 -0
- package/dist/ads-ZEY72UBN.js.map +1 -0
- package/dist/adsets-5H3MOT3D.js +177 -0
- package/dist/adsets-5H3MOT3D.js.map +1 -0
- package/dist/advertisers-UDSEFMP7.js +120 -0
- package/dist/analytics-TBETZOPJ.js +433 -0
- package/dist/analytics-VH74LMMC.js +1976 -0
- package/dist/asset-writes-L5TMKIZC.js +47 -0
- package/dist/assign-6IE2ASFC.js +77 -0
- package/dist/audience-size-CSBWDFEP.js +73 -0
- package/dist/audience-writes-X52VG35Y.js +324 -0
- package/dist/audience-writes-X52VG35Y.js.map +1 -0
- package/dist/audiences-AAZH56WD.js +268 -0
- package/dist/audiences-X3RLGOVM.js +84 -0
- package/dist/audiences-X3RLGOVM.js.map +1 -0
- package/dist/audit-AEENRVGD.js +151 -0
- package/dist/autocomplete-AAGTJHVL.js +111 -0
- package/dist/avatars-VEATUUKU.js +38 -0
- package/dist/bid-pricing-SZTGCZTV.js +100 -0
- package/dist/brand-MXGETE4R.js +22 -0
- package/dist/brief-3GHSHOGM.js +538 -0
- package/dist/businesses-H3HIDQX6.js +53 -0
- package/dist/campaign-groups-WRI56M5X.js +95 -0
- package/dist/campaign-writes-PYGKSCPS.js +165 -0
- package/dist/campaign-writes-PYGKSCPS.js.map +1 -0
- package/dist/campaign-writes-U5PUVSMT.js +170 -0
- package/dist/campaigns-4QWC2JE7.js +109 -0
- package/dist/campaigns-AV6G3AUU.js +127 -0
- package/dist/campaigns-AV6G3AUU.js.map +1 -0
- package/dist/campaigns-JEIKY2M4.js +76 -0
- package/dist/campaigns-Q4HN7HBY.js +107 -0
- package/dist/canvas-VJ3XKCAC.js +46 -0
- package/dist/capabilities-SNGGAOV3.js +144 -0
- package/dist/catalog-S32MX453.js +65 -0
- package/dist/catalogs-OCVXZLIF.js +128 -0
- package/dist/catalogs-RXJTZTVX.js +778 -0
- package/dist/catalogs-RXJTZTVX.js.map +1 -0
- package/dist/chatgpt-QVF2FD3E.js +47 -0
- package/dist/chats-2DRTB7GK.js +276 -0
- package/dist/chats-2DRTB7GK.js.map +1 -0
- package/dist/check-Z6UMIQKD.js +104 -0
- package/dist/chunk-2C7AHPM4.js +191 -0
- package/dist/chunk-2C7AHPM4.js.map +1 -0
- package/dist/chunk-2WZI36D3.js +317 -0
- package/dist/chunk-3AMLOCXY.js +392 -0
- package/dist/chunk-3CVAEQMZ.js +156 -0
- package/dist/chunk-3WAYZQNV.js +61 -0
- package/dist/chunk-46GWHUKN.js +225 -0
- package/dist/chunk-4O6T76A3.js +191 -0
- package/dist/chunk-5C35OW7L.js +205 -0
- package/dist/chunk-5C35OW7L.js.map +1 -0
- package/dist/chunk-5GQCN2QZ.js +391 -0
- package/dist/chunk-5GQCN2QZ.js.map +1 -0
- package/dist/chunk-5MCVK4A3.js +903 -0
- package/dist/chunk-5ZLN23V5.js +97 -0
- package/dist/chunk-65Y3RCWP.js +68 -0
- package/dist/chunk-65Y3RCWP.js.map +1 -0
- package/dist/chunk-77ULVP62.js +547 -0
- package/dist/chunk-A4MVVPJ2.js +4204 -0
- package/dist/chunk-A4MVVPJ2.js.map +1 -0
- package/dist/chunk-AQM4JH62.js +274 -0
- package/dist/chunk-AQM4JH62.js.map +1 -0
- package/dist/chunk-AW2GKIGS.js +433 -0
- package/dist/chunk-BRLY6XD6.js +249 -0
- package/dist/chunk-C7NWUCLQ.js +64 -0
- package/dist/chunk-CP4P6YKM.js +287 -0
- package/dist/chunk-CP4P6YKM.js.map +1 -0
- package/dist/chunk-D4HKJBEW.js +23 -0
- package/dist/chunk-DAO63OOP.js +6352 -0
- package/dist/chunk-DAO63OOP.js.map +1 -0
- package/dist/chunk-DCBZ5CHZ.js +139 -0
- package/dist/chunk-G6XKD7QE.js +77 -0
- package/dist/chunk-GBFL4TD2.js +172 -0
- package/dist/chunk-H5SCKWFT.js +224 -0
- package/dist/chunk-HLVRHBKL.js +1078 -0
- package/dist/chunk-HLVRHBKL.js.map +1 -0
- package/dist/chunk-HXPK6KAL.js +363 -0
- package/dist/chunk-I7GOSMWT.js +197 -0
- package/dist/chunk-IBY44U2M.js +1079 -0
- package/dist/chunk-ITNHIZKK.js +275 -0
- package/dist/chunk-J33P2JNS.js +455 -0
- package/dist/chunk-JH2L5CQD.js +206 -0
- package/dist/chunk-JQH5VG6F.js +5368 -0
- package/dist/chunk-JVH5A3XC.js +8914 -0
- package/dist/chunk-KTOYQP6D.js +169 -0
- package/dist/chunk-LO3IF5PS.js +399 -0
- package/dist/chunk-LRRFGOW3.js +604 -0
- package/dist/chunk-LTPTJWZC.js +942 -0
- package/dist/chunk-MRQHJW5U.js +159 -0
- package/dist/chunk-NHYI7ORL.js +346 -0
- package/dist/chunk-NLI7C3K2.js +51 -0
- package/dist/chunk-NSEMXBUB.js +91 -0
- package/dist/chunk-OM2BRYXJ.js +3868 -0
- package/dist/chunk-OY4SKCIU.js +103 -0
- package/dist/chunk-OYAJNTRO.js +494 -0
- package/dist/chunk-PL7J3DPQ.js +831 -0
- package/dist/chunk-PUSBUMYM.js +89 -0
- package/dist/chunk-QTOZ32SU.js +163 -0
- package/dist/chunk-QTOZ32SU.js.map +1 -0
- package/dist/chunk-RRADFRPI.js +297 -0
- package/dist/chunk-SGEPZB3D.js +344 -0
- package/dist/chunk-SVAB6KV5.js +219 -0
- package/dist/chunk-SVAB6KV5.js.map +1 -0
- package/dist/chunk-TFTZDWCX.js +66 -0
- package/dist/chunk-TG4NCHFS.js +142 -0
- package/dist/chunk-TTHM66TA.js +207 -0
- package/dist/chunk-VL2GNXZY.js +19 -0
- package/dist/chunk-VQPZDM6N.js +160 -0
- package/dist/chunk-XCKINS7K.js +57 -0
- package/dist/chunk-YLYXSJ6O.js +8939 -0
- package/dist/chunk-ZAPO6UWS.js +592 -0
- package/dist/chunk-ZEPUDYPL.js +122 -0
- package/dist/chunk-ZJSGGJ5R.js +167 -0
- package/dist/claim-J2LYNHZK.js +197 -0
- package/dist/cli.js +34 -34
- package/dist/companies-VYY22B6T.js +195 -0
- package/dist/complete-5I32XM7P.js +81 -0
- package/dist/connect-EUFFQQ7O.js +42 -0
- package/dist/conversation-D6KZHGPP.js +93 -0
- package/dist/conversion-writes-ECZBVY7D.js +120 -0
- package/dist/conversions-5QCSCRLI.js +76 -0
- package/dist/conversions-Y3X6ZTTF.js +135 -0
- package/dist/copy-writes-D2RTHAL6.js +167 -0
- package/dist/copy-writes-D2RTHAL6.js.map +1 -0
- package/dist/create-2JCRTQJL.js +59 -0
- package/dist/create-LMSQPHPB.js +235 -0
- package/dist/create-MBLNB5RY.js +132 -0
- package/dist/create-VR7RXKL7.js +207 -0
- package/dist/creatives-5C42BDMW.js +182 -0
- package/dist/creatives-HYPSTANO.js +58 -0
- package/dist/creatives-MZ6ICNSY.js +88 -0
- package/dist/creatives-MZ6ICNSY.js.map +1 -0
- package/dist/credentials-4H4AUYJN.js +287 -0
- package/dist/critique-UOJZWDG2.js +1458 -0
- package/dist/critique-WCWMQQVV.js +227 -0
- package/dist/crm-B7OTHMBP.js +318 -0
- package/dist/crm-DZRWKJ6V.js +224 -0
- package/dist/custom-conversions-FIP6ZS34.js +127 -0
- package/dist/custom-conversions-FIP6ZS34.js.map +1 -0
- package/dist/customers-AOFJJCGD.js +56 -0
- package/dist/delete-DEG5KOBY.js +64 -0
- package/dist/delete-EFIODCXG.js +54 -0
- package/dist/delete-PQIMW2LK.js +66 -0
- package/dist/demographics-F26DIOCM.js +138 -0
- package/dist/discard-2EJY6UGP.js +66 -0
- package/dist/domain-XLJABLWB.js +98 -0
- package/dist/draft-2YND6T4U.js +217 -0
- package/dist/draft-34CGWUVA.js +281 -0
- package/dist/draft-L45PGCYZ.js +237 -0
- package/dist/draft-L45PGCYZ.js.map +1 -0
- package/dist/draft-TCPK6XYW.js +332 -0
- package/dist/draft-TCPK6XYW.js.map +1 -0
- package/dist/draft-WRVEANL5.js +306 -0
- package/dist/engine/index.js +4 -4
- package/dist/experiment-7N4QFRWV.js +1397 -0
- package/dist/facets-OPTNDPW2.js +114 -0
- package/dist/feedback-43BPXNBI.js +106 -0
- package/dist/feedback-record-35ZSDL6Z.js +260 -0
- package/dist/fetch-O46XBA7S.js +176 -0
- package/dist/find-FSQAEGGF.js +134 -0
- package/dist/fit-CWJ5QQ4R.js +62 -0
- package/dist/flows-CVORIQ4B.js +247 -0
- package/dist/fonts-6TPYR6IW.js +36 -0
- package/dist/forecast-2VLA6NJA.js +118 -0
- package/dist/funnel-XLKDLXMG.js +394 -0
- package/dist/ga4-LPDIBNYP.js +55 -0
- package/dist/get-O56GGN3V.js +56 -0
- package/dist/get-WFQ4XEAW.js +79 -0
- package/dist/google-5ESVO76E.js +136 -0
- package/dist/google-ads-DZMOTUY5.js +195 -0
- package/dist/gsc-FIZTQX3N.js +30 -0
- package/dist/history-43BBQZOB.js +133 -0
- package/dist/history-QKDYBSYM.js +67 -0
- package/dist/hubspot-S44MPK3G.js +779 -0
- package/dist/icon-CSVAZ7NE.js +137 -0
- package/dist/ideas-SLP5WXFF.js +40 -0
- package/dist/images-TWZOROCT.js +92 -0
- package/dist/ingest-5GCZ5ZBV.js +23 -0
- package/dist/ingest-P54J4W3V.js +107 -0
- package/dist/insights-YWVJMATY.js +424 -0
- package/dist/insights-YWVJMATY.js.map +1 -0
- package/dist/inspect-S4COGUBC.js +189 -0
- package/dist/inspiration-IX5N724J.js +53 -0
- package/dist/instant-experiences-NQ2GWIWL.js +257 -0
- package/dist/instant-experiences-NQ2GWIWL.js.map +1 -0
- package/dist/keyword-metrics-26CCKFZK.js +197 -0
- package/dist/keywords-for-site-JWWECF63.js +128 -0
- package/dist/landing-VFDRADZY.js +28 -0
- package/dist/leads-DTKKYSKH.js +90 -0
- package/dist/leads-THI37ZMD.js +537 -0
- package/dist/leads-THI37ZMD.js.map +1 -0
- package/dist/learn-GQ75IPRK.js +204 -0
- package/dist/line-item-writes-DVVHVR3Y.js +208 -0
- package/dist/line-items-EOZMK7A5.js +103 -0
- package/dist/link-R5NGCQ5H.js +64 -0
- package/dist/linkedin-DHZO3IJX.js +1057 -0
- package/dist/list-57QBEGLM.js +303 -0
- package/dist/list-Q44BBHDI.js +64 -0
- package/dist/list-W6G2NTG5.js +151 -0
- package/dist/locations-HM56X2MK.js +67 -0
- package/dist/locations-HM56X2MK.js.map +1 -0
- package/dist/log-B6X5EPKA.js +92 -0
- package/dist/logo-VHXH4J6A.js +18 -0
- package/dist/make-OIFLF3QS.js +1353 -0
- package/dist/map-PIOZT2MQ.js +433 -0
- package/dist/mcp-GFKHLWDB.js +714 -0
- package/dist/media-H6B7VDON.js +18 -0
- package/dist/media-H6B7VDON.js.map +1 -0
- package/dist/media-sources-VMMMW5UM.js +32 -0
- package/dist/members-W2QBMNIW.js +44 -0
- package/dist/meta-YHDTGJQ6.js +122 -0
- package/dist/meta-YHDTGJQ6.js.map +1 -0
- package/dist/normalize-N6XC3SLC.js +141 -0
- package/dist/options-XYJY2OEQ.js +122 -0
- package/dist/organization-BVTXCZIV.js +942 -0
- package/dist/organization-BVTXCZIV.js.map +1 -0
- package/dist/page-photos-CXRG4AXV.js +115 -0
- package/dist/page-photos-CXRG4AXV.js.map +1 -0
- package/dist/pages-PTWRXAZT.js +66 -0
- package/dist/performance-7NEZTOJ5.js +24 -0
- package/dist/pixels-MYT3TCHZ.js +60 -0
- package/dist/pixels-ZZCQUS3J.js +108 -0
- package/dist/preview-XOXAAPMQ.js +215 -0
- package/dist/preview-XOXAAPMQ.js.map +1 -0
- package/dist/promoted-tweet-writes-X2F7R2AE.js +180 -0
- package/dist/promoted-tweets-XCSD6VKP.js +119 -0
- package/dist/publish-OBY6E43R.js +341 -0
- package/dist/reddit-WJ6KHYBC.js +26 -0
- package/dist/refresh-G5BQ2LWU.js +94 -0
- package/dist/release-PBZO35KY.js +60 -0
- package/dist/remove-VJ2MEUPM.js +50 -0
- package/dist/reopen-W3LYOHSR.js +63 -0
- package/dist/rerun-4GDNBFNM.js +90 -0
- package/dist/research-4YTFPGH7.js +262 -0
- package/dist/research-LOQRIBO6.js +62 -0
- package/dist/reset-55CCQGXB.js +54 -0
- package/dist/reset-AVTQEJPZ.js +54 -0
- package/dist/resolve-E6FNMFE3.js +121 -0
- package/dist/retry-HBJ7MKVI.js +60 -0
- package/dist/retry-QBRYM6MG.js +62 -0
- package/dist/rule-writes-6ZCAJDYZ.js +522 -0
- package/dist/rule-writes-6ZCAJDYZ.js.map +1 -0
- package/dist/rules-BMYOY2BM.js +216 -0
- package/dist/rules-BMYOY2BM.js.map +1 -0
- package/dist/rules-XNDBGOIS.js +96 -0
- package/dist/rules-add-UM3ZKSVD.js +462 -0
- package/dist/run-D4YHZ4Z4.js +66 -0
- package/dist/run-ZCJ7NP63.js +65 -0
- package/dist/scaffold-ad-VQZAP32M.js +1511 -0
- package/dist/scaffold-static-ad-LEU4M44N.js +1005 -0
- package/dist/scaffold-video-PSWSYRSC.js +883 -0
- package/dist/schedule-AAH7HYFK.js +61 -0
- package/dist/scheduled-agents-HDABMHZI.js +50 -0
- package/dist/schema-OH5OWMVQ.js +132 -0
- package/dist/search-BSDPVSGA.js +174 -0
- package/dist/select-EI4QF4YZ.js +101 -0
- package/dist/set-prompt-RKDAGUWG.js +193 -0
- package/dist/setup-links-CNNJA7AB.js +141 -0
- package/dist/shared-3IBNDEFL.js +31 -0
- package/dist/site-NV4U7PIF.js +177 -0
- package/dist/sources-ATONL7W5.js +454 -0
- package/dist/sources-C3TGHKLQ.js +30 -0
- package/dist/stale-6QPXL6BZ.js +71 -0
- package/dist/stats-ZAGJH4AD.js +34 -0
- package/dist/status-BML3F4MZ.js +62 -0
- package/dist/stock-6SHHLSKG.js +179 -0
- package/dist/studies-4NIV4D5Y.js +249 -0
- package/dist/studies-4NIV4D5Y.js.map +1 -0
- package/dist/studio-ZLCGXFAN.js +49 -0
- package/dist/study-writes-L2AA2PGL.js +467 -0
- package/dist/study-writes-L2AA2PGL.js.map +1 -0
- package/dist/sync-DZAOUQPE.js +54 -0
- package/dist/sync-definition-RFEL65JE.js +64 -0
- package/dist/tag-manager-3CJ66GKJ.js +43 -0
- package/dist/tags-2KSXCJRZ.js +20 -0
- package/dist/tags-662KZJLV.js +26 -0
- package/dist/tags-6QBVW25V.js +20 -0
- package/dist/tags-LQCEJGIL.js +20 -0
- package/dist/tags-RIVD54ZG.js +224 -0
- package/dist/targeting-LNDQV4EK.js +759 -0
- package/dist/targeting-LNDQV4EK.js.map +1 -0
- package/dist/targeting-criteria-XNLYPIL2.js +113 -0
- package/dist/targets-OYIVS5KJ.js +103 -0
- package/dist/testimonials-WT43CF7V.js +32 -0
- package/dist/top-companies-6QQMOS2Y.js +108 -0
- package/dist/translate-7QN7JFGU.js +604 -0
- package/dist/triggers-LVQY3QJ2.js +142 -0
- package/dist/unlink-5ASZTCS2.js +67 -0
- package/dist/unstage-LNZTEATR.js +85 -0
- package/dist/update-7BIR4GYO.js +152 -0
- package/dist/update-BRLM5DB3.js +98 -0
- package/dist/update-DRZAAJQ2.js +63 -0
- package/dist/update-NOWC3ICD.js +188 -0
- package/dist/upload-457Q4ANZ.js +126 -0
- package/dist/url-params-KM4NJGYC.js +98 -0
- package/dist/validate-COLEPJBA.js +117 -0
- package/dist/videos-5IDZTEWC.js +39 -0
- package/dist/viewer-check-433AZPBC.js +80 -0
- package/dist/viewer-check-433AZPBC.js.map +1 -0
- package/dist/web-FZYOCCYN.js +140 -0
- package/dist/winning-ads-I4DMP7RU.js +84 -0
- package/dist/write-commands-FYB6QG7K.js +1024 -0
- package/dist/write-commands-PEJBTME6.js +1165 -0
- package/dist/write-commands-PEJBTME6.js.map +1 -0
- package/dist/x-OMN5DDLM.js +47 -0
- package/package.json +1 -1
- package/dist/account-7LUQWY6Q.js +0 -49
- package/dist/account-7LUQWY6Q.js.map +0 -1
- package/dist/account-KNRDOUJP.js +0 -79
- package/dist/account-Z65CPOWE.js +0 -80
- package/dist/account-writes-4N2MA2ZR.js +0 -66
- package/dist/accounts-RTN5ZGTU.js +0 -611
- package/dist/accounts-RW6KXBOQ.js +0 -77
- package/dist/accounts-UA2ZWRN4.js +0 -75
- package/dist/actions-HNLISA7T.js +0 -55
- package/dist/activecampaign-I5CILZPU.js +0 -935
- package/dist/activities-IQPJPP4B.js +0 -74
- package/dist/ad-group-writes-EUTMPBMK.js +0 -170
- package/dist/ad-groups-OVPAI5RM.js +0 -68
- package/dist/ad-writes-DACTYFEO.js +0 -174
- package/dist/add-6WKPFMLG.js +0 -302
- package/dist/add-XF5COUAS.js +0 -104
- package/dist/ads-G6AS5L7G.js +0 -40
- package/dist/ads-HXX2IAFF.js +0 -113
- package/dist/ads-HXX2IAFF.js.map +0 -1
- package/dist/ads-L65JIKCD.js +0 -77
- package/dist/adsets-LPN6WFGF.js +0 -176
- package/dist/adsets-LPN6WFGF.js.map +0 -1
- package/dist/advertisers-6NUM2Q3A.js +0 -120
- package/dist/analytics-QKP3A5F3.js +0 -1976
- package/dist/analytics-VLHE5A2M.js +0 -433
- package/dist/assign-6HI6TNLP.js +0 -77
- package/dist/audience-size-25LP2OBF.js +0 -73
- package/dist/audiences-RPLVMO4H.js +0 -268
- package/dist/audiences-XEZHACKH.js +0 -78
- package/dist/audiences-XEZHACKH.js.map +0 -1
- package/dist/audit-YY6X2MPA.js +0 -151
- package/dist/autocomplete-SAWJK4NF.js +0 -111
- package/dist/avatars-MXTI74VC.js +0 -38
- package/dist/bid-pricing-HZ74SLEB.js +0 -100
- package/dist/brand-T3OACVQX.js +0 -22
- package/dist/brief-BN4UGUXF.js +0 -538
- package/dist/businesses-PRRYPR7H.js +0 -53
- package/dist/campaign-groups-YJK767AP.js +0 -95
- package/dist/campaign-writes-BAFB5E7A.js +0 -165
- package/dist/campaign-writes-BAFB5E7A.js.map +0 -1
- package/dist/campaign-writes-U5LTDTYK.js +0 -170
- package/dist/campaigns-4SOLY7OR.js +0 -110
- package/dist/campaigns-4SOLY7OR.js.map +0 -1
- package/dist/campaigns-GALDR5KK.js +0 -109
- package/dist/campaigns-NR6TNQFN.js +0 -107
- package/dist/campaigns-TFEQTSO3.js +0 -76
- package/dist/canvas-GJAQAVS6.js +0 -46
- package/dist/capabilities-2KT6TCGZ.js +0 -144
- package/dist/catalog-USZL4SGX.js +0 -65
- package/dist/catalogs-A7XMEEEP.js +0 -128
- package/dist/chatgpt-4PEWDJKP.js +0 -47
- package/dist/chats-INN2OHSH.js +0 -262
- package/dist/chats-INN2OHSH.js.map +0 -1
- package/dist/check-MMJGFFZS.js +0 -104
- package/dist/chunk-2LI6746F.js +0 -103
- package/dist/chunk-2PWNIEW4.js +0 -197
- package/dist/chunk-2XRMPSEV.js +0 -142
- package/dist/chunk-3TZVZXM6.js +0 -224
- package/dist/chunk-3UXMQ3K2.js +0 -274
- package/dist/chunk-3UXMQ3K2.js.map +0 -1
- package/dist/chunk-5HJRZFMW.js +0 -207
- package/dist/chunk-62JQQUAU.js +0 -5368
- package/dist/chunk-66QHX566.js +0 -6306
- package/dist/chunk-66QHX566.js.map +0 -1
- package/dist/chunk-6JWEGFM5.js +0 -174
- package/dist/chunk-6JWEGFM5.js.map +0 -1
- package/dist/chunk-6WCAV27H.js +0 -494
- package/dist/chunk-6WXV5GTA.js +0 -8914
- package/dist/chunk-7RBJ2Z7Z.js +0 -172
- package/dist/chunk-7RBJ2Z7Z.js.map +0 -1
- package/dist/chunk-AVNSH2JE.js +0 -8939
- package/dist/chunk-BITS62MF.js +0 -77
- package/dist/chunk-BL2MX6CR.js +0 -249
- package/dist/chunk-BOPC3D6I.js +0 -604
- package/dist/chunk-C6EYCD5J.js +0 -942
- package/dist/chunk-CSZFZKVX.js +0 -97
- package/dist/chunk-D5CUAOQX.js +0 -297
- package/dist/chunk-D5UXWKLQ.js +0 -903
- package/dist/chunk-FA4YZFRV.js +0 -392
- package/dist/chunk-FUKDI2UK.js +0 -122
- package/dist/chunk-G4STCTY3.js +0 -399
- package/dist/chunk-GOJXKIFQ.js +0 -1605
- package/dist/chunk-GOJXKIFQ.js.map +0 -1
- package/dist/chunk-H5HDZ7IC.js +0 -139
- package/dist/chunk-HSPMBLKE.js +0 -363
- package/dist/chunk-IJ22WP3G.js +0 -275
- package/dist/chunk-ILSKYRDR.js +0 -169
- package/dist/chunk-JQU2LUZG.js +0 -57
- package/dist/chunk-JWSEPW7F.js +0 -225
- package/dist/chunk-KIGGMKAE.js +0 -66
- package/dist/chunk-KIGGMKAE.js.map +0 -1
- package/dist/chunk-KPYDTIAI.js +0 -317
- package/dist/chunk-LBO2YAZY.js +0 -3868
- package/dist/chunk-LOMH4TTC.js +0 -1079
- package/dist/chunk-LPXSM2DI.js +0 -66
- package/dist/chunk-MVB32GPI.js +0 -592
- package/dist/chunk-MXH35PJ5.js +0 -51
- package/dist/chunk-NEIUVSDK.js +0 -206
- package/dist/chunk-NPMAATZG.js +0 -64
- package/dist/chunk-NXZCCGES.js +0 -159
- package/dist/chunk-OP7DNHD2.js +0 -137
- package/dist/chunk-OP7DNHD2.js.map +0 -1
- package/dist/chunk-OWA7ZLC4.js +0 -547
- package/dist/chunk-P3W6SRSQ.js +0 -455
- package/dist/chunk-PA4W7BCQ.js +0 -23
- package/dist/chunk-PTGYM4J6.js +0 -89
- package/dist/chunk-QE3JEJXF.js +0 -831
- package/dist/chunk-QNLJ3GNZ.js +0 -433
- package/dist/chunk-R3EKM2P2.js +0 -191
- package/dist/chunk-SISA4HQR.js +0 -61
- package/dist/chunk-TP7HKSBX.js +0 -172
- package/dist/chunk-TPANP5A2.js +0 -91
- package/dist/chunk-TRPJJMCS.js +0 -346
- package/dist/chunk-TZEVD4Q6.js +0 -160
- package/dist/chunk-UWXDNVS5.js +0 -167
- package/dist/chunk-VD73V44J.js +0 -344
- package/dist/chunk-X7F4Z6UM.js +0 -156
- package/dist/chunk-ZL23HA4N.js +0 -19
- package/dist/claim-SLGYOOWD.js +0 -197
- package/dist/companies-IVMH6YII.js +0 -195
- package/dist/complete-45L2FI2X.js +0 -81
- package/dist/connect-WBGCBBFJ.js +0 -42
- package/dist/conversation-RIOL3OJ7.js +0 -93
- package/dist/conversion-writes-JU7Q2MUO.js +0 -120
- package/dist/conversions-3ISBR3TS.js +0 -76
- package/dist/conversions-TKIXNSYR.js +0 -135
- package/dist/create-7JY2PTIZ.js +0 -132
- package/dist/create-ACLCRXQP.js +0 -59
- package/dist/create-KYBMFD32.js +0 -207
- package/dist/create-VAPJ52GJ.js +0 -235
- package/dist/creatives-S5QUWUL6.js +0 -58
- package/dist/creatives-VQO2TKE3.js +0 -182
- package/dist/creatives-YJ3CXZQC.js +0 -87
- package/dist/creatives-YJ3CXZQC.js.map +0 -1
- package/dist/credentials-YTQ6BHWV.js +0 -287
- package/dist/critique-5LCG5TYF.js +0 -227
- package/dist/critique-BHYJYZDV.js +0 -1458
- package/dist/crm-IKTWHWEB.js +0 -318
- package/dist/crm-N7K57LZJ.js +0 -224
- package/dist/custom-conversions-YRYE65PU.js +0 -125
- package/dist/custom-conversions-YRYE65PU.js.map +0 -1
- package/dist/customers-NLU7NYDC.js +0 -56
- package/dist/delete-26J3X3ZH.js +0 -64
- package/dist/delete-A4F5Z54J.js +0 -66
- package/dist/delete-EVXOFT2H.js +0 -54
- package/dist/demographics-VZKFMM4X.js +0 -138
- package/dist/discard-ULRVUJDV.js +0 -66
- package/dist/domain-L4WCCX7R.js +0 -98
- package/dist/draft-57OQKHZI.js +0 -306
- package/dist/draft-EWDOIXSH.js +0 -233
- package/dist/draft-EWDOIXSH.js.map +0 -1
- package/dist/draft-GPN3HOAG.js +0 -328
- package/dist/draft-GPN3HOAG.js.map +0 -1
- package/dist/draft-O4S5RKWK.js +0 -217
- package/dist/draft-Y2QJE2NM.js +0 -281
- package/dist/experiment-G3FQVAJU.js +0 -1397
- package/dist/facets-EHQKGGJ2.js +0 -114
- package/dist/feedback-CAOZPGTT.js +0 -106
- package/dist/feedback-record-EXV5H6OS.js +0 -260
- package/dist/fetch-ETKT2RBC.js +0 -176
- package/dist/find-EVY4XEIQ.js +0 -134
- package/dist/fit-UJQ47C4A.js +0 -62
- package/dist/flows-Z7355RMD.js +0 -247
- package/dist/fonts-7VWBQPJF.js +0 -36
- package/dist/forecast-OI7YWZ6F.js +0 -118
- package/dist/funnel-2B3JXJPX.js +0 -394
- package/dist/ga4-2BL5YAYN.js +0 -55
- package/dist/get-2RSN4N3J.js +0 -56
- package/dist/get-6N7QJMIP.js +0 -79
- package/dist/google-7STODZQR.js +0 -136
- package/dist/google-ads-G7REKD4A.js +0 -195
- package/dist/gsc-UU3T2C6B.js +0 -30
- package/dist/history-IQ33J5PB.js +0 -67
- package/dist/history-YMK2JNZU.js +0 -133
- package/dist/hubspot-BUFS7S33.js +0 -779
- package/dist/icon-GB7UH5RF.js +0 -137
- package/dist/ideas-F6CIGTVU.js +0 -40
- package/dist/images-WCKTD6Z2.js +0 -92
- package/dist/ingest-RQUJGS7K.js +0 -107
- package/dist/ingest-XLTRLCDV.js +0 -23
- package/dist/insights-4HT2NAYP.js +0 -423
- package/dist/insights-4HT2NAYP.js.map +0 -1
- package/dist/inspect-KFVAMD4N.js +0 -189
- package/dist/inspiration-XQYHBJY2.js +0 -53
- package/dist/keyword-metrics-WYF3QMCW.js +0 -197
- package/dist/keywords-for-site-G5L5EP3T.js +0 -128
- package/dist/landing-WUILAWDS.js +0 -28
- package/dist/leads-2XOSAYP4.js +0 -293
- package/dist/leads-2XOSAYP4.js.map +0 -1
- package/dist/leads-4SJ4NJOI.js +0 -90
- package/dist/learn-CC6Q5IK2.js +0 -204
- package/dist/line-item-writes-YXKYR25W.js +0 -208
- package/dist/line-items-CKUD2UU4.js +0 -103
- package/dist/link-VBYFI7AM.js +0 -64
- package/dist/linkedin-XKVPSCLV.js +0 -1057
- package/dist/list-6ZNZGRRK.js +0 -151
- package/dist/list-ENYDGT3F.js +0 -64
- package/dist/list-VSUF2IWT.js +0 -303
- package/dist/locations-YA7NZY44.js +0 -67
- package/dist/locations-YA7NZY44.js.map +0 -1
- package/dist/log-AACKGBDW.js +0 -92
- package/dist/logo-YSNUUT33.js +0 -18
- package/dist/make-ED7HBLH3.js +0 -1353
- package/dist/map-63CQHWPI.js +0 -433
- package/dist/mcp-RKAXC6IP.js +0 -714
- package/dist/media-ES2UBGYW.js +0 -15
- package/dist/media-ES2UBGYW.js.map +0 -1
- package/dist/media-sources-PEHUMH7C.js +0 -32
- package/dist/members-SELIA674.js +0 -44
- package/dist/meta-AOIPEDV5.js +0 -69
- package/dist/meta-AOIPEDV5.js.map +0 -1
- package/dist/normalize-VAZPTBDX.js +0 -141
- package/dist/options-6FCNFWUF.js +0 -122
- package/dist/organization-SHREKDST.js +0 -881
- package/dist/organization-SHREKDST.js.map +0 -1
- package/dist/pages-FTI44OSH.js +0 -66
- package/dist/performance-K7E5KAZW.js +0 -24
- package/dist/pixels-6IUB3Y3H.js +0 -60
- package/dist/pixels-MBKR4XPX.js +0 -108
- package/dist/preview-V4YBD45S.js +0 -169
- package/dist/preview-V4YBD45S.js.map +0 -1
- package/dist/promoted-tweet-writes-PKEO6WUK.js +0 -180
- package/dist/promoted-tweets-7MXVZRBI.js +0 -119
- package/dist/publish-MPMGRV72.js +0 -341
- package/dist/reddit-XIHRI3CN.js +0 -26
- package/dist/refresh-A27N75NH.js +0 -94
- package/dist/release-UKRB5IUN.js +0 -60
- package/dist/remove-AFNFVPZY.js +0 -50
- package/dist/reopen-M5HE6J3G.js +0 -63
- package/dist/rerun-A2XHGFZS.js +0 -90
- package/dist/research-BLDY5UWH.js +0 -62
- package/dist/research-U7RQXMYH.js +0 -262
- package/dist/reset-4CCWB2RT.js +0 -54
- package/dist/reset-J3KCWFMZ.js +0 -54
- package/dist/resolve-HEK27ANI.js +0 -121
- package/dist/retry-HPZIUG2S.js +0 -62
- package/dist/retry-VVI6N6UR.js +0 -60
- package/dist/rules-SK5DFFPY.js +0 -96
- package/dist/rules-add-YQNYSME7.js +0 -462
- package/dist/run-KBN5K7LE.js +0 -65
- package/dist/run-M7ZDE6IA.js +0 -66
- package/dist/scaffold-ad-6BN5LWQH.js +0 -1511
- package/dist/scaffold-static-ad-VVZRAWBR.js +0 -1005
- package/dist/scaffold-video-LFIYI4GP.js +0 -883
- package/dist/schedule-QMOKWTJ3.js +0 -61
- package/dist/scheduled-agents-FCQHQ6KR.js +0 -50
- package/dist/schema-THFLCMBN.js +0 -132
- package/dist/search-XIUYSWO6.js +0 -174
- package/dist/select-QBU6ED4K.js +0 -101
- package/dist/set-prompt-TL64CRBQ.js +0 -193
- package/dist/setup-links-QVI6NAOK.js +0 -141
- package/dist/shared-NDRFKAH7.js +0 -31
- package/dist/site-PZPJY33N.js +0 -177
- package/dist/sources-ER7ANNG3.js +0 -454
- package/dist/sources-RMNFV4CA.js +0 -30
- package/dist/stale-ITFCPOER.js +0 -71
- package/dist/stats-RCLQE4HJ.js +0 -34
- package/dist/status-ABMJBCPJ.js +0 -62
- package/dist/stock-ECRBD7RP.js +0 -179
- package/dist/studio-MARZ22J2.js +0 -49
- package/dist/sync-QDD3MRJ6.js +0 -54
- package/dist/sync-definition-C6ROLKJ4.js +0 -64
- package/dist/tag-manager-G3LBQZUL.js +0 -43
- package/dist/tags-5JYOEYIT.js +0 -20
- package/dist/tags-B473RWAA.js +0 -224
- package/dist/tags-EWHPUM2V.js +0 -20
- package/dist/tags-KBCX6BDU.js +0 -26
- package/dist/tags-PEWN6GNZ.js +0 -20
- package/dist/targeting-criteria-EU65WUUF.js +0 -113
- package/dist/targets-KVXS5QKM.js +0 -103
- package/dist/testimonials-YMMA5YWL.js +0 -32
- package/dist/top-companies-OOX3DITI.js +0 -108
- package/dist/translate-OXVIMYHE.js +0 -604
- package/dist/triggers-OX2GKG4Y.js +0 -142
- package/dist/unlink-3USEPJSA.js +0 -67
- package/dist/unstage-VSCNPTAC.js +0 -85
- package/dist/update-6JKTH65B.js +0 -152
- package/dist/update-FG4ELXYJ.js +0 -98
- package/dist/update-GZFKHA3A.js +0 -188
- package/dist/update-HZHG67N6.js +0 -63
- package/dist/upload-BKCQ6FRW.js +0 -126
- package/dist/url-params-UN4DRN2H.js +0 -98
- package/dist/validate-ZS2M5Q3V.js +0 -117
- package/dist/videos-I6YXFBFT.js +0 -39
- package/dist/viewer-check-7ZG7KHEN.js +0 -80
- package/dist/web-UGU7YMII.js +0 -140
- package/dist/winning-ads-ABN5OULS.js +0 -84
- package/dist/write-commands-6VR2UD3T.js +0 -1024
- package/dist/write-commands-HCQI4Y27.js +0 -737
- package/dist/write-commands-HCQI4Y27.js.map +0 -1
- package/dist/x-WK2VQDPF.js +0 -47
- /package/dist/{account-Z65CPOWE.js.map → account-3H6BZO5H.js.map} +0 -0
- /package/dist/{account-KNRDOUJP.js.map → account-VGSYM7LY.js.map} +0 -0
- /package/dist/{account-writes-4N2MA2ZR.js.map → account-writes-AE5IJGGW.js.map} +0 -0
- /package/dist/{accounts-RW6KXBOQ.js.map → accounts-2ARS6XP2.js.map} +0 -0
- /package/dist/{accounts-RTN5ZGTU.js.map → accounts-AQFW4ZUM.js.map} +0 -0
- /package/dist/{accounts-UA2ZWRN4.js.map → accounts-K4INATCW.js.map} +0 -0
- /package/dist/{actions-HNLISA7T.js.map → actions-QMUHOAXG.js.map} +0 -0
- /package/dist/{activecampaign-I5CILZPU.js.map → activecampaign-J3QN5FMG.js.map} +0 -0
- /package/dist/{activities-IQPJPP4B.js.map → activities-T253KK4Q.js.map} +0 -0
- /package/dist/{ad-group-writes-EUTMPBMK.js.map → ad-group-writes-VRSBI2Z2.js.map} +0 -0
- /package/dist/{ad-groups-OVPAI5RM.js.map → ad-groups-IEBVEAMS.js.map} +0 -0
- /package/dist/{ad-writes-DACTYFEO.js.map → ad-writes-ALV4KFPZ.js.map} +0 -0
- /package/dist/{add-XF5COUAS.js.map → add-VDUA6OWM.js.map} +0 -0
- /package/dist/{add-6WKPFMLG.js.map → add-XHOKCSW5.js.map} +0 -0
- /package/dist/{ads-L65JIKCD.js.map → ads-CQZHD7FC.js.map} +0 -0
- /package/dist/{ads-G6AS5L7G.js.map → ads-HGDPNIT6.js.map} +0 -0
- /package/dist/{advertisers-6NUM2Q3A.js.map → advertisers-UDSEFMP7.js.map} +0 -0
- /package/dist/{analytics-VLHE5A2M.js.map → analytics-TBETZOPJ.js.map} +0 -0
- /package/dist/{analytics-QKP3A5F3.js.map → analytics-VH74LMMC.js.map} +0 -0
- /package/dist/{connect-WBGCBBFJ.js.map → asset-writes-L5TMKIZC.js.map} +0 -0
- /package/dist/{assign-6HI6TNLP.js.map → assign-6IE2ASFC.js.map} +0 -0
- /package/dist/{audience-size-25LP2OBF.js.map → audience-size-CSBWDFEP.js.map} +0 -0
- /package/dist/{audiences-RPLVMO4H.js.map → audiences-AAZH56WD.js.map} +0 -0
- /package/dist/{audit-YY6X2MPA.js.map → audit-AEENRVGD.js.map} +0 -0
- /package/dist/{autocomplete-SAWJK4NF.js.map → autocomplete-AAGTJHVL.js.map} +0 -0
- /package/dist/{avatars-MXTI74VC.js.map → avatars-VEATUUKU.js.map} +0 -0
- /package/dist/{bid-pricing-HZ74SLEB.js.map → bid-pricing-SZTGCZTV.js.map} +0 -0
- /package/dist/{brand-T3OACVQX.js.map → brand-MXGETE4R.js.map} +0 -0
- /package/dist/{brief-BN4UGUXF.js.map → brief-3GHSHOGM.js.map} +0 -0
- /package/dist/{businesses-PRRYPR7H.js.map → businesses-H3HIDQX6.js.map} +0 -0
- /package/dist/{campaign-groups-YJK767AP.js.map → campaign-groups-WRI56M5X.js.map} +0 -0
- /package/dist/{campaign-writes-U5LTDTYK.js.map → campaign-writes-U5PUVSMT.js.map} +0 -0
- /package/dist/{campaigns-GALDR5KK.js.map → campaigns-4QWC2JE7.js.map} +0 -0
- /package/dist/{campaigns-TFEQTSO3.js.map → campaigns-JEIKY2M4.js.map} +0 -0
- /package/dist/{campaigns-NR6TNQFN.js.map → campaigns-Q4HN7HBY.js.map} +0 -0
- /package/dist/{canvas-GJAQAVS6.js.map → canvas-VJ3XKCAC.js.map} +0 -0
- /package/dist/{capabilities-2KT6TCGZ.js.map → capabilities-SNGGAOV3.js.map} +0 -0
- /package/dist/{catalog-USZL4SGX.js.map → catalog-S32MX453.js.map} +0 -0
- /package/dist/{catalogs-A7XMEEEP.js.map → catalogs-OCVXZLIF.js.map} +0 -0
- /package/dist/{chatgpt-4PEWDJKP.js.map → chatgpt-QVF2FD3E.js.map} +0 -0
- /package/dist/{check-MMJGFFZS.js.map → check-Z6UMIQKD.js.map} +0 -0
- /package/dist/{chunk-KPYDTIAI.js.map → chunk-2WZI36D3.js.map} +0 -0
- /package/dist/{chunk-FA4YZFRV.js.map → chunk-3AMLOCXY.js.map} +0 -0
- /package/dist/{chunk-X7F4Z6UM.js.map → chunk-3CVAEQMZ.js.map} +0 -0
- /package/dist/{chunk-SISA4HQR.js.map → chunk-3WAYZQNV.js.map} +0 -0
- /package/dist/{chunk-JWSEPW7F.js.map → chunk-46GWHUKN.js.map} +0 -0
- /package/dist/{chunk-R3EKM2P2.js.map → chunk-4O6T76A3.js.map} +0 -0
- /package/dist/{chunk-D5UXWKLQ.js.map → chunk-5MCVK4A3.js.map} +0 -0
- /package/dist/{chunk-CSZFZKVX.js.map → chunk-5ZLN23V5.js.map} +0 -0
- /package/dist/{chunk-OWA7ZLC4.js.map → chunk-77ULVP62.js.map} +0 -0
- /package/dist/{chunk-QNLJ3GNZ.js.map → chunk-AW2GKIGS.js.map} +0 -0
- /package/dist/{chunk-BL2MX6CR.js.map → chunk-BRLY6XD6.js.map} +0 -0
- /package/dist/{chunk-NPMAATZG.js.map → chunk-C7NWUCLQ.js.map} +0 -0
- /package/dist/{chunk-PA4W7BCQ.js.map → chunk-D4HKJBEW.js.map} +0 -0
- /package/dist/{chunk-H5HDZ7IC.js.map → chunk-DCBZ5CHZ.js.map} +0 -0
- /package/dist/{chunk-BITS62MF.js.map → chunk-G6XKD7QE.js.map} +0 -0
- /package/dist/{chunk-TP7HKSBX.js.map → chunk-GBFL4TD2.js.map} +0 -0
- /package/dist/{chunk-3TZVZXM6.js.map → chunk-H5SCKWFT.js.map} +0 -0
- /package/dist/{chunk-HSPMBLKE.js.map → chunk-HXPK6KAL.js.map} +0 -0
- /package/dist/{chunk-2PWNIEW4.js.map → chunk-I7GOSMWT.js.map} +0 -0
- /package/dist/{chunk-LOMH4TTC.js.map → chunk-IBY44U2M.js.map} +0 -0
- /package/dist/{chunk-IJ22WP3G.js.map → chunk-ITNHIZKK.js.map} +0 -0
- /package/dist/{chunk-P3W6SRSQ.js.map → chunk-J33P2JNS.js.map} +0 -0
- /package/dist/{chunk-NEIUVSDK.js.map → chunk-JH2L5CQD.js.map} +0 -0
- /package/dist/{chunk-62JQQUAU.js.map → chunk-JQH5VG6F.js.map} +0 -0
- /package/dist/{chunk-6WXV5GTA.js.map → chunk-JVH5A3XC.js.map} +0 -0
- /package/dist/{chunk-ILSKYRDR.js.map → chunk-KTOYQP6D.js.map} +0 -0
- /package/dist/{chunk-G4STCTY3.js.map → chunk-LO3IF5PS.js.map} +0 -0
- /package/dist/{chunk-BOPC3D6I.js.map → chunk-LRRFGOW3.js.map} +0 -0
- /package/dist/{chunk-C6EYCD5J.js.map → chunk-LTPTJWZC.js.map} +0 -0
- /package/dist/{chunk-NXZCCGES.js.map → chunk-MRQHJW5U.js.map} +0 -0
- /package/dist/{chunk-TRPJJMCS.js.map → chunk-NHYI7ORL.js.map} +0 -0
- /package/dist/{chunk-MXH35PJ5.js.map → chunk-NLI7C3K2.js.map} +0 -0
- /package/dist/{chunk-TPANP5A2.js.map → chunk-NSEMXBUB.js.map} +0 -0
- /package/dist/{chunk-LBO2YAZY.js.map → chunk-OM2BRYXJ.js.map} +0 -0
- /package/dist/{chunk-2LI6746F.js.map → chunk-OY4SKCIU.js.map} +0 -0
- /package/dist/{chunk-6WCAV27H.js.map → chunk-OYAJNTRO.js.map} +0 -0
- /package/dist/{chunk-QE3JEJXF.js.map → chunk-PL7J3DPQ.js.map} +0 -0
- /package/dist/{chunk-PTGYM4J6.js.map → chunk-PUSBUMYM.js.map} +0 -0
- /package/dist/{chunk-D5CUAOQX.js.map → chunk-RRADFRPI.js.map} +0 -0
- /package/dist/{chunk-VD73V44J.js.map → chunk-SGEPZB3D.js.map} +0 -0
- /package/dist/{chunk-LPXSM2DI.js.map → chunk-TFTZDWCX.js.map} +0 -0
- /package/dist/{chunk-2XRMPSEV.js.map → chunk-TG4NCHFS.js.map} +0 -0
- /package/dist/{chunk-5HJRZFMW.js.map → chunk-TTHM66TA.js.map} +0 -0
- /package/dist/{chunk-ZL23HA4N.js.map → chunk-VL2GNXZY.js.map} +0 -0
- /package/dist/{chunk-TZEVD4Q6.js.map → chunk-VQPZDM6N.js.map} +0 -0
- /package/dist/{chunk-JQU2LUZG.js.map → chunk-XCKINS7K.js.map} +0 -0
- /package/dist/{chunk-AVNSH2JE.js.map → chunk-YLYXSJ6O.js.map} +0 -0
- /package/dist/{chunk-MVB32GPI.js.map → chunk-ZAPO6UWS.js.map} +0 -0
- /package/dist/{chunk-FUKDI2UK.js.map → chunk-ZEPUDYPL.js.map} +0 -0
- /package/dist/{chunk-UWXDNVS5.js.map → chunk-ZJSGGJ5R.js.map} +0 -0
- /package/dist/{claim-SLGYOOWD.js.map → claim-J2LYNHZK.js.map} +0 -0
- /package/dist/{companies-IVMH6YII.js.map → companies-VYY22B6T.js.map} +0 -0
- /package/dist/{complete-45L2FI2X.js.map → complete-5I32XM7P.js.map} +0 -0
- /package/dist/{customers-NLU7NYDC.js.map → connect-EUFFQQ7O.js.map} +0 -0
- /package/dist/{conversation-RIOL3OJ7.js.map → conversation-D6KZHGPP.js.map} +0 -0
- /package/dist/{conversion-writes-JU7Q2MUO.js.map → conversion-writes-ECZBVY7D.js.map} +0 -0
- /package/dist/{conversions-3ISBR3TS.js.map → conversions-5QCSCRLI.js.map} +0 -0
- /package/dist/{conversions-TKIXNSYR.js.map → conversions-Y3X6ZTTF.js.map} +0 -0
- /package/dist/{create-ACLCRXQP.js.map → create-2JCRTQJL.js.map} +0 -0
- /package/dist/{create-VAPJ52GJ.js.map → create-LMSQPHPB.js.map} +0 -0
- /package/dist/{create-7JY2PTIZ.js.map → create-MBLNB5RY.js.map} +0 -0
- /package/dist/{create-KYBMFD32.js.map → create-VR7RXKL7.js.map} +0 -0
- /package/dist/{creatives-VQO2TKE3.js.map → creatives-5C42BDMW.js.map} +0 -0
- /package/dist/{creatives-S5QUWUL6.js.map → creatives-HYPSTANO.js.map} +0 -0
- /package/dist/{credentials-YTQ6BHWV.js.map → credentials-4H4AUYJN.js.map} +0 -0
- /package/dist/{critique-BHYJYZDV.js.map → critique-UOJZWDG2.js.map} +0 -0
- /package/dist/{critique-5LCG5TYF.js.map → critique-WCWMQQVV.js.map} +0 -0
- /package/dist/{crm-IKTWHWEB.js.map → crm-B7OTHMBP.js.map} +0 -0
- /package/dist/{crm-N7K57LZJ.js.map → crm-DZRWKJ6V.js.map} +0 -0
- /package/dist/{fit-UJQ47C4A.js.map → customers-AOFJJCGD.js.map} +0 -0
- /package/dist/{delete-26J3X3ZH.js.map → delete-DEG5KOBY.js.map} +0 -0
- /package/dist/{delete-EVXOFT2H.js.map → delete-EFIODCXG.js.map} +0 -0
- /package/dist/{delete-A4F5Z54J.js.map → delete-PQIMW2LK.js.map} +0 -0
- /package/dist/{demographics-VZKFMM4X.js.map → demographics-F26DIOCM.js.map} +0 -0
- /package/dist/{discard-ULRVUJDV.js.map → discard-2EJY6UGP.js.map} +0 -0
- /package/dist/{domain-L4WCCX7R.js.map → domain-XLJABLWB.js.map} +0 -0
- /package/dist/{draft-O4S5RKWK.js.map → draft-2YND6T4U.js.map} +0 -0
- /package/dist/{draft-Y2QJE2NM.js.map → draft-34CGWUVA.js.map} +0 -0
- /package/dist/{draft-57OQKHZI.js.map → draft-WRVEANL5.js.map} +0 -0
- /package/dist/{experiment-G3FQVAJU.js.map → experiment-7N4QFRWV.js.map} +0 -0
- /package/dist/{facets-EHQKGGJ2.js.map → facets-OPTNDPW2.js.map} +0 -0
- /package/dist/{feedback-CAOZPGTT.js.map → feedback-43BPXNBI.js.map} +0 -0
- /package/dist/{feedback-record-EXV5H6OS.js.map → feedback-record-35ZSDL6Z.js.map} +0 -0
- /package/dist/{fetch-ETKT2RBC.js.map → fetch-O46XBA7S.js.map} +0 -0
- /package/dist/{find-EVY4XEIQ.js.map → find-FSQAEGGF.js.map} +0 -0
- /package/dist/{fonts-7VWBQPJF.js.map → fit-CWJ5QQ4R.js.map} +0 -0
- /package/dist/{flows-Z7355RMD.js.map → flows-CVORIQ4B.js.map} +0 -0
- /package/dist/{ideas-F6CIGTVU.js.map → fonts-6TPYR6IW.js.map} +0 -0
- /package/dist/{forecast-OI7YWZ6F.js.map → forecast-2VLA6NJA.js.map} +0 -0
- /package/dist/{funnel-2B3JXJPX.js.map → funnel-XLKDLXMG.js.map} +0 -0
- /package/dist/{ga4-2BL5YAYN.js.map → ga4-LPDIBNYP.js.map} +0 -0
- /package/dist/{get-2RSN4N3J.js.map → get-O56GGN3V.js.map} +0 -0
- /package/dist/{get-6N7QJMIP.js.map → get-WFQ4XEAW.js.map} +0 -0
- /package/dist/{google-7STODZQR.js.map → google-5ESVO76E.js.map} +0 -0
- /package/dist/{google-ads-G7REKD4A.js.map → google-ads-DZMOTUY5.js.map} +0 -0
- /package/dist/{gsc-UU3T2C6B.js.map → gsc-FIZTQX3N.js.map} +0 -0
- /package/dist/{history-YMK2JNZU.js.map → history-43BBQZOB.js.map} +0 -0
- /package/dist/{history-IQ33J5PB.js.map → history-QKDYBSYM.js.map} +0 -0
- /package/dist/{hubspot-BUFS7S33.js.map → hubspot-S44MPK3G.js.map} +0 -0
- /package/dist/{icon-GB7UH5RF.js.map → icon-CSVAZ7NE.js.map} +0 -0
- /package/dist/{ingest-XLTRLCDV.js.map → ideas-SLP5WXFF.js.map} +0 -0
- /package/dist/{images-WCKTD6Z2.js.map → images-TWZOROCT.js.map} +0 -0
- /package/dist/{logo-YSNUUT33.js.map → ingest-5GCZ5ZBV.js.map} +0 -0
- /package/dist/{ingest-RQUJGS7K.js.map → ingest-P54J4W3V.js.map} +0 -0
- /package/dist/{inspect-KFVAMD4N.js.map → inspect-S4COGUBC.js.map} +0 -0
- /package/dist/{inspiration-XQYHBJY2.js.map → inspiration-IX5N724J.js.map} +0 -0
- /package/dist/{keyword-metrics-WYF3QMCW.js.map → keyword-metrics-26CCKFZK.js.map} +0 -0
- /package/dist/{keywords-for-site-G5L5EP3T.js.map → keywords-for-site-JWWECF63.js.map} +0 -0
- /package/dist/{landing-WUILAWDS.js.map → landing-VFDRADZY.js.map} +0 -0
- /package/dist/{leads-4SJ4NJOI.js.map → leads-DTKKYSKH.js.map} +0 -0
- /package/dist/{learn-CC6Q5IK2.js.map → learn-GQ75IPRK.js.map} +0 -0
- /package/dist/{line-item-writes-YXKYR25W.js.map → line-item-writes-DVVHVR3Y.js.map} +0 -0
- /package/dist/{line-items-CKUD2UU4.js.map → line-items-EOZMK7A5.js.map} +0 -0
- /package/dist/{link-VBYFI7AM.js.map → link-R5NGCQ5H.js.map} +0 -0
- /package/dist/{linkedin-XKVPSCLV.js.map → linkedin-DHZO3IJX.js.map} +0 -0
- /package/dist/{list-VSUF2IWT.js.map → list-57QBEGLM.js.map} +0 -0
- /package/dist/{list-ENYDGT3F.js.map → list-Q44BBHDI.js.map} +0 -0
- /package/dist/{list-6ZNZGRRK.js.map → list-W6G2NTG5.js.map} +0 -0
- /package/dist/{log-AACKGBDW.js.map → log-B6X5EPKA.js.map} +0 -0
- /package/dist/{performance-K7E5KAZW.js.map → logo-VHXH4J6A.js.map} +0 -0
- /package/dist/{make-ED7HBLH3.js.map → make-OIFLF3QS.js.map} +0 -0
- /package/dist/{map-63CQHWPI.js.map → map-PIOZT2MQ.js.map} +0 -0
- /package/dist/{mcp-RKAXC6IP.js.map → mcp-GFKHLWDB.js.map} +0 -0
- /package/dist/{media-sources-PEHUMH7C.js.map → media-sources-VMMMW5UM.js.map} +0 -0
- /package/dist/{members-SELIA674.js.map → members-W2QBMNIW.js.map} +0 -0
- /package/dist/{normalize-VAZPTBDX.js.map → normalize-N6XC3SLC.js.map} +0 -0
- /package/dist/{options-6FCNFWUF.js.map → options-XYJY2OEQ.js.map} +0 -0
- /package/dist/{pages-FTI44OSH.js.map → pages-PTWRXAZT.js.map} +0 -0
- /package/dist/{reddit-XIHRI3CN.js.map → performance-7NEZTOJ5.js.map} +0 -0
- /package/dist/{pixels-6IUB3Y3H.js.map → pixels-MYT3TCHZ.js.map} +0 -0
- /package/dist/{pixels-MBKR4XPX.js.map → pixels-ZZCQUS3J.js.map} +0 -0
- /package/dist/{promoted-tweet-writes-PKEO6WUK.js.map → promoted-tweet-writes-X2F7R2AE.js.map} +0 -0
- /package/dist/{promoted-tweets-7MXVZRBI.js.map → promoted-tweets-XCSD6VKP.js.map} +0 -0
- /package/dist/{publish-MPMGRV72.js.map → publish-OBY6E43R.js.map} +0 -0
- /package/dist/{run-KBN5K7LE.js.map → reddit-WJ6KHYBC.js.map} +0 -0
- /package/dist/{refresh-A27N75NH.js.map → refresh-G5BQ2LWU.js.map} +0 -0
- /package/dist/{release-UKRB5IUN.js.map → release-PBZO35KY.js.map} +0 -0
- /package/dist/{remove-AFNFVPZY.js.map → remove-VJ2MEUPM.js.map} +0 -0
- /package/dist/{reopen-M5HE6J3G.js.map → reopen-W3LYOHSR.js.map} +0 -0
- /package/dist/{rerun-A2XHGFZS.js.map → rerun-4GDNBFNM.js.map} +0 -0
- /package/dist/{research-U7RQXMYH.js.map → research-4YTFPGH7.js.map} +0 -0
- /package/dist/{research-BLDY5UWH.js.map → research-LOQRIBO6.js.map} +0 -0
- /package/dist/{reset-4CCWB2RT.js.map → reset-55CCQGXB.js.map} +0 -0
- /package/dist/{reset-J3KCWFMZ.js.map → reset-AVTQEJPZ.js.map} +0 -0
- /package/dist/{resolve-HEK27ANI.js.map → resolve-E6FNMFE3.js.map} +0 -0
- /package/dist/{retry-VVI6N6UR.js.map → retry-HBJ7MKVI.js.map} +0 -0
- /package/dist/{retry-HPZIUG2S.js.map → retry-QBRYM6MG.js.map} +0 -0
- /package/dist/{rules-SK5DFFPY.js.map → rules-XNDBGOIS.js.map} +0 -0
- /package/dist/{rules-add-YQNYSME7.js.map → rules-add-UM3ZKSVD.js.map} +0 -0
- /package/dist/{run-M7ZDE6IA.js.map → run-D4YHZ4Z4.js.map} +0 -0
- /package/dist/{shared-NDRFKAH7.js.map → run-ZCJ7NP63.js.map} +0 -0
- /package/dist/{scaffold-ad-6BN5LWQH.js.map → scaffold-ad-VQZAP32M.js.map} +0 -0
- /package/dist/{scaffold-static-ad-VVZRAWBR.js.map → scaffold-static-ad-LEU4M44N.js.map} +0 -0
- /package/dist/{scaffold-video-LFIYI4GP.js.map → scaffold-video-PSWSYRSC.js.map} +0 -0
- /package/dist/{schedule-QMOKWTJ3.js.map → schedule-AAH7HYFK.js.map} +0 -0
- /package/dist/{scheduled-agents-FCQHQ6KR.js.map → scheduled-agents-HDABMHZI.js.map} +0 -0
- /package/dist/{schema-THFLCMBN.js.map → schema-OH5OWMVQ.js.map} +0 -0
- /package/dist/{search-XIUYSWO6.js.map → search-BSDPVSGA.js.map} +0 -0
- /package/dist/{select-QBU6ED4K.js.map → select-EI4QF4YZ.js.map} +0 -0
- /package/dist/{set-prompt-TL64CRBQ.js.map → set-prompt-RKDAGUWG.js.map} +0 -0
- /package/dist/{setup-links-QVI6NAOK.js.map → setup-links-CNNJA7AB.js.map} +0 -0
- /package/dist/{sync-definition-C6ROLKJ4.js.map → shared-3IBNDEFL.js.map} +0 -0
- /package/dist/{site-PZPJY33N.js.map → site-NV4U7PIF.js.map} +0 -0
- /package/dist/{sources-ER7ANNG3.js.map → sources-ATONL7W5.js.map} +0 -0
- /package/dist/{sources-RMNFV4CA.js.map → sources-C3TGHKLQ.js.map} +0 -0
- /package/dist/{stale-ITFCPOER.js.map → stale-6QPXL6BZ.js.map} +0 -0
- /package/dist/{stats-RCLQE4HJ.js.map → stats-ZAGJH4AD.js.map} +0 -0
- /package/dist/{status-ABMJBCPJ.js.map → status-BML3F4MZ.js.map} +0 -0
- /package/dist/{stock-ECRBD7RP.js.map → stock-6SHHLSKG.js.map} +0 -0
- /package/dist/{studio-MARZ22J2.js.map → studio-ZLCGXFAN.js.map} +0 -0
- /package/dist/{sync-QDD3MRJ6.js.map → sync-DZAOUQPE.js.map} +0 -0
- /package/dist/{viewer-check-7ZG7KHEN.js.map → sync-definition-RFEL65JE.js.map} +0 -0
- /package/dist/{tag-manager-G3LBQZUL.js.map → tag-manager-3CJ66GKJ.js.map} +0 -0
- /package/dist/{tags-EWHPUM2V.js.map → tags-2KSXCJRZ.js.map} +0 -0
- /package/dist/{tags-KBCX6BDU.js.map → tags-662KZJLV.js.map} +0 -0
- /package/dist/{tags-5JYOEYIT.js.map → tags-6QBVW25V.js.map} +0 -0
- /package/dist/{tags-PEWN6GNZ.js.map → tags-LQCEJGIL.js.map} +0 -0
- /package/dist/{tags-B473RWAA.js.map → tags-RIVD54ZG.js.map} +0 -0
- /package/dist/{targeting-criteria-EU65WUUF.js.map → targeting-criteria-XNLYPIL2.js.map} +0 -0
- /package/dist/{targets-KVXS5QKM.js.map → targets-OYIVS5KJ.js.map} +0 -0
- /package/dist/{testimonials-YMMA5YWL.js.map → testimonials-WT43CF7V.js.map} +0 -0
- /package/dist/{top-companies-OOX3DITI.js.map → top-companies-6QQMOS2Y.js.map} +0 -0
- /package/dist/{translate-OXVIMYHE.js.map → translate-7QN7JFGU.js.map} +0 -0
- /package/dist/{triggers-OX2GKG4Y.js.map → triggers-LVQY3QJ2.js.map} +0 -0
- /package/dist/{unlink-3USEPJSA.js.map → unlink-5ASZTCS2.js.map} +0 -0
- /package/dist/{unstage-VSCNPTAC.js.map → unstage-LNZTEATR.js.map} +0 -0
- /package/dist/{update-6JKTH65B.js.map → update-7BIR4GYO.js.map} +0 -0
- /package/dist/{update-FG4ELXYJ.js.map → update-BRLM5DB3.js.map} +0 -0
- /package/dist/{update-HZHG67N6.js.map → update-DRZAAJQ2.js.map} +0 -0
- /package/dist/{update-GZFKHA3A.js.map → update-NOWC3ICD.js.map} +0 -0
- /package/dist/{upload-BKCQ6FRW.js.map → upload-457Q4ANZ.js.map} +0 -0
- /package/dist/{url-params-UN4DRN2H.js.map → url-params-KM4NJGYC.js.map} +0 -0
- /package/dist/{validate-ZS2M5Q3V.js.map → validate-COLEPJBA.js.map} +0 -0
- /package/dist/{videos-I6YXFBFT.js.map → videos-5IDZTEWC.js.map} +0 -0
- /package/dist/{web-UGU7YMII.js.map → web-FZYOCCYN.js.map} +0 -0
- /package/dist/{winning-ads-ABN5OULS.js.map → winning-ads-I4DMP7RU.js.map} +0 -0
- /package/dist/{write-commands-6VR2UD3T.js.map → write-commands-FYB6QG7K.js.map} +0 -0
- /package/dist/{x-WK2VQDPF.js.map → x-OMN5DDLM.js.map} +0 -0
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import {
|
|
2
|
+
REF_PREFIX
|
|
3
|
+
} from "./chunk-JQH5VG6F.js";
|
|
4
|
+
|
|
5
|
+
// src/commands/canvas/node-preview.ts
|
|
6
|
+
var MAX_PARAMS_PREVIEW_LENGTH = 4e3;
|
|
7
|
+
var SPEC_KEYS = [
|
|
8
|
+
"model",
|
|
9
|
+
"format",
|
|
10
|
+
"mode",
|
|
11
|
+
"aspect_ratio",
|
|
12
|
+
"image_size",
|
|
13
|
+
"resolution",
|
|
14
|
+
"duration",
|
|
15
|
+
"subject_type",
|
|
16
|
+
"font_size",
|
|
17
|
+
"expect",
|
|
18
|
+
"source",
|
|
19
|
+
"path",
|
|
20
|
+
"url"
|
|
21
|
+
];
|
|
22
|
+
var BODY_KEYS = ["prompt", "text", "subject_description"];
|
|
23
|
+
function scalarField(params, key) {
|
|
24
|
+
const value = params[key];
|
|
25
|
+
if (typeof value === "number") return String(value);
|
|
26
|
+
if (typeof value !== "string") return void 0;
|
|
27
|
+
const trimmed = value.trim();
|
|
28
|
+
return trimmed && !trimmed.startsWith(REF_PREFIX) ? trimmed : void 0;
|
|
29
|
+
}
|
|
30
|
+
function compactJson(params) {
|
|
31
|
+
try {
|
|
32
|
+
const json = JSON.stringify(params);
|
|
33
|
+
return json && json !== "{}" ? json : void 0;
|
|
34
|
+
} catch {
|
|
35
|
+
return void 0;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
function cap(text) {
|
|
39
|
+
return text.length > MAX_PARAMS_PREVIEW_LENGTH ? `${text.slice(0, MAX_PARAMS_PREVIEW_LENGTH - 1)}\u2026` : text;
|
|
40
|
+
}
|
|
41
|
+
function nodeParamsPreview(params, deps) {
|
|
42
|
+
const refsLine = deps && deps.length > 0 ? `refs: ${deps.join(", ")}` : void 0;
|
|
43
|
+
if (!params || typeof params !== "object") return refsLine;
|
|
44
|
+
const own = params;
|
|
45
|
+
const nested = (key) => own[key] && typeof own[key] === "object" && !Array.isArray(own[key]) ? own[key] : {};
|
|
46
|
+
const record = { ...nested("paint"), ...nested("words"), ...own };
|
|
47
|
+
const spec = [];
|
|
48
|
+
for (const key of SPEC_KEYS) {
|
|
49
|
+
const value = scalarField(record, key);
|
|
50
|
+
if (value !== void 0) spec.push(`${key}: ${value}`);
|
|
51
|
+
}
|
|
52
|
+
if (refsLine) spec.push(refsLine);
|
|
53
|
+
const body = BODY_KEYS.map((key) => scalarField(record, key)).find(Boolean);
|
|
54
|
+
const header = spec.join("\n");
|
|
55
|
+
const composed = header && body ? `${header}
|
|
56
|
+
|
|
57
|
+
${body}` : header || body || compactJson(record);
|
|
58
|
+
return composed ? cap(composed) : void 0;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export {
|
|
62
|
+
nodeParamsPreview
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=chunk-C7NWUCLQ.js.map
|
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
import {
|
|
2
|
+
failWriteValidation,
|
|
3
|
+
parseDateFlag,
|
|
4
|
+
parseMoneyFlag
|
|
5
|
+
} from "./chunk-5C35OW7L.js";
|
|
6
|
+
import {
|
|
7
|
+
repeatedValues
|
|
8
|
+
} from "./chunk-ERSX3MKH.js";
|
|
9
|
+
|
|
10
|
+
// src/commands/ads/meta/delivery-flags.ts
|
|
11
|
+
function text(value) {
|
|
12
|
+
return typeof value === "string" && value.length > 0 ? value : void 0;
|
|
13
|
+
}
|
|
14
|
+
function frequencyCapFlag(value) {
|
|
15
|
+
const raw = text(value);
|
|
16
|
+
if (raw === void 0) {
|
|
17
|
+
return void 0;
|
|
18
|
+
}
|
|
19
|
+
const match = /^(\d+)\s*\/\s*(\d+)\s*d?$/i.exec(raw.trim());
|
|
20
|
+
if (!match) {
|
|
21
|
+
failWriteValidation(
|
|
22
|
+
`--frequency-cap takes N/D \u2014 at most N impressions per person every D days, e.g. 2/7 (got "${raw}")`
|
|
23
|
+
);
|
|
24
|
+
}
|
|
25
|
+
return [{ event: "IMPRESSIONS", interval_days: Number(match[2]), max_frequency: Number(match[1]) }];
|
|
26
|
+
}
|
|
27
|
+
var DAY_INDEX = { sun: 0, mon: 1, tue: 2, wed: 3, thu: 4, fri: 5, sat: 6 };
|
|
28
|
+
function dayIndex(name, flag) {
|
|
29
|
+
const index = DAY_INDEX[name.slice(0, 3).toLowerCase()];
|
|
30
|
+
if (index === void 0) {
|
|
31
|
+
failWriteValidation(`${flag}: "${name}" is not a day \u2014 use Mon, Tue, \u2026 Sun`);
|
|
32
|
+
}
|
|
33
|
+
return index;
|
|
34
|
+
}
|
|
35
|
+
function scheduleDays(spec) {
|
|
36
|
+
if (/^(daily|every ?day|all)$/i.test(spec)) {
|
|
37
|
+
return [0, 1, 2, 3, 4, 5, 6];
|
|
38
|
+
}
|
|
39
|
+
return spec.split(",").flatMap((part) => {
|
|
40
|
+
const [from, to] = part.split("-").map((day) => day.trim());
|
|
41
|
+
if (!from) {
|
|
42
|
+
return [];
|
|
43
|
+
}
|
|
44
|
+
const start = dayIndex(from, "--schedule");
|
|
45
|
+
if (!to) {
|
|
46
|
+
return [start];
|
|
47
|
+
}
|
|
48
|
+
const end = dayIndex(to, "--schedule");
|
|
49
|
+
const days = [];
|
|
50
|
+
for (let day = start; days.length < 7; day = (day + 1) % 7) {
|
|
51
|
+
days.push(day);
|
|
52
|
+
if (day === end) break;
|
|
53
|
+
}
|
|
54
|
+
return days;
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
function hourMinute(value) {
|
|
58
|
+
const [hours = "", minutes = "0"] = value.split(":");
|
|
59
|
+
return Number(hours) * 60 + Number(minutes);
|
|
60
|
+
}
|
|
61
|
+
function scheduleBlock(raw, timezone) {
|
|
62
|
+
const match = /^(.+?)\s+(\d{1,2}(?::\d{2})?)\s*-\s*(\d{1,2}(?::\d{2})?)$/.exec(raw.trim());
|
|
63
|
+
if (!match?.[1] || !match[2] || !match[3]) {
|
|
64
|
+
failWriteValidation(
|
|
65
|
+
`--schedule takes "<days> <from>-<to>", e.g. "Mon-Fri 09-18" or "sat,sun 10:00-14:00" (got "${raw}")`
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
return {
|
|
69
|
+
days: scheduleDays(match[1]),
|
|
70
|
+
start_minute: hourMinute(match[2]),
|
|
71
|
+
end_minute: hourMinute(match[3]),
|
|
72
|
+
timezone_type: timezone
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
function dayPartingFromFlags(args, rawArgs) {
|
|
76
|
+
const blocks = repeatedValues(rawArgs, "schedule", args.schedule).map((block) => {
|
|
77
|
+
const { timezone_type: _clock, ...rest } = scheduleBlock(block, "USER");
|
|
78
|
+
return rest;
|
|
79
|
+
});
|
|
80
|
+
return blocks.length > 0 ? blocks : void 0;
|
|
81
|
+
}
|
|
82
|
+
function scheduleTimezone(value) {
|
|
83
|
+
const raw = text(value)?.toLowerCase();
|
|
84
|
+
if (raw === void 0 || raw === "viewer" || raw === "user") {
|
|
85
|
+
return "USER";
|
|
86
|
+
}
|
|
87
|
+
if (raw === "account" || raw === "advertiser") {
|
|
88
|
+
return "ADVERTISER";
|
|
89
|
+
}
|
|
90
|
+
failWriteValidation(`--schedule-timezone takes viewer or account (got "${raw}")`);
|
|
91
|
+
}
|
|
92
|
+
var ATTRIBUTION_EVENTS = {
|
|
93
|
+
click: "CLICK_THROUGH",
|
|
94
|
+
view: "VIEW_THROUGH",
|
|
95
|
+
engaged_view: "ENGAGED_VIDEO_VIEW",
|
|
96
|
+
engaged_video_view: "ENGAGED_VIDEO_VIEW"
|
|
97
|
+
};
|
|
98
|
+
function attributionFlag(value) {
|
|
99
|
+
const raw = text(value);
|
|
100
|
+
if (raw === void 0) {
|
|
101
|
+
return void 0;
|
|
102
|
+
}
|
|
103
|
+
return raw.split(",").map((window) => {
|
|
104
|
+
const match = /^(\d+)d_([a-z_]+)$/i.exec(window.trim());
|
|
105
|
+
const event = match?.[2] ? ATTRIBUTION_EVENTS[match[2].toLowerCase()] : void 0;
|
|
106
|
+
if (!match || !event) {
|
|
107
|
+
failWriteValidation(`--attribution takes windows like 7d_click,1d_view,1d_engaged_view (got "${window}")`);
|
|
108
|
+
}
|
|
109
|
+
return { event_type: event, window_days: Number(match[1]) };
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
function numberArg(value, flag) {
|
|
113
|
+
const raw = text(value);
|
|
114
|
+
if (raw === void 0) {
|
|
115
|
+
return void 0;
|
|
116
|
+
}
|
|
117
|
+
const n = Number(raw);
|
|
118
|
+
if (!Number.isFinite(n)) {
|
|
119
|
+
failWriteValidation(`${flag} must be a number`);
|
|
120
|
+
}
|
|
121
|
+
return n;
|
|
122
|
+
}
|
|
123
|
+
function adSetDeliveryFromFlags(args, rawArgs) {
|
|
124
|
+
const timezone = scheduleTimezone(args["schedule-timezone"]);
|
|
125
|
+
const blocks = repeatedValues(rawArgs, "schedule", args.schedule).map((block) => scheduleBlock(block, timezone));
|
|
126
|
+
if (args["schedule-timezone"] !== void 0 && blocks.length === 0) {
|
|
127
|
+
failWriteValidation(
|
|
128
|
+
"--schedule-timezone says whose clock --schedule follows, so it goes with --schedule \u2014 pass the hours again with it"
|
|
129
|
+
);
|
|
130
|
+
}
|
|
131
|
+
const delivery = {
|
|
132
|
+
minRoas: numberArg(args["min-roas"], "--min-roas"),
|
|
133
|
+
frequency_control_specs: frequencyCapFlag(args["frequency-cap"]),
|
|
134
|
+
adset_schedule: blocks.length > 0 ? blocks : void 0,
|
|
135
|
+
pacing: text(args.pacing)?.toLowerCase(),
|
|
136
|
+
dailyMinSpendTarget: parseMoneyFlag(args["daily-min-spend"], args.currency, "--daily-min-spend"),
|
|
137
|
+
dailySpendCap: parseMoneyFlag(args["daily-spend-cap"], args.currency, "--daily-spend-cap"),
|
|
138
|
+
lifetimeMinSpendTarget: parseMoneyFlag(args["lifetime-min-spend"], args.currency, "--lifetime-min-spend"),
|
|
139
|
+
lifetimeSpendCap: parseMoneyFlag(args["lifetime-spend-cap"], args.currency, "--lifetime-spend-cap"),
|
|
140
|
+
is_dynamic_creative: args["dynamic-creative"] === void 0 ? void 0 : Boolean(args["dynamic-creative"]),
|
|
141
|
+
attribution_spec: attributionFlag(args.attribution)
|
|
142
|
+
};
|
|
143
|
+
return Object.fromEntries(Object.entries(delivery).filter(([, value]) => value !== void 0));
|
|
144
|
+
}
|
|
145
|
+
function budgetBoost(raw, currency) {
|
|
146
|
+
const match = /^(.+?)\.\.(.+?)=\+?(\d+(?:\.\d{1,3})?)(%?)$/.exec(raw.trim());
|
|
147
|
+
if (!match?.[1] || !match[2] || !match[3]) {
|
|
148
|
+
failWriteValidation(
|
|
149
|
+
`--budget-boost takes START..END=+AMOUNT or START..END=+PERCENT%, e.g. 2027-11-27T00:00Z..2027-11-28T00:00Z=+50% (got "${raw}")`
|
|
150
|
+
);
|
|
151
|
+
}
|
|
152
|
+
const period = {
|
|
153
|
+
time_start: parseDateFlag(match[1], "--budget-boost start"),
|
|
154
|
+
time_end: parseDateFlag(match[2], "--budget-boost end")
|
|
155
|
+
};
|
|
156
|
+
return match[4] === "%" ? { ...period, increasePercent: Number(match[3]) } : { ...period, increase: parseMoneyFlag(match[3], currency, "--budget-boost") };
|
|
157
|
+
}
|
|
158
|
+
function budgetBoostsFromFlags(args, rawArgs) {
|
|
159
|
+
const boosts = repeatedValues(rawArgs, "budget-boost", args["budget-boost"]);
|
|
160
|
+
return boosts.length > 0 ? boosts.map((boost) => budgetBoost(boost, args.currency)) : void 0;
|
|
161
|
+
}
|
|
162
|
+
function boostMove(raw) {
|
|
163
|
+
const match = /^(\d+)=(.+?)\.\.(.+)$/.exec(raw.trim());
|
|
164
|
+
if (!match?.[1] || !match[2] || !match[3]) {
|
|
165
|
+
failWriteValidation(
|
|
166
|
+
`--move-boost takes ID=START..END, e.g. 1633135568548763=2027-11-27T06:00Z..2027-11-27T12:00Z (got "${raw}")`
|
|
167
|
+
);
|
|
168
|
+
}
|
|
169
|
+
return {
|
|
170
|
+
id: match[1],
|
|
171
|
+
time_start: parseDateFlag(match[2], "--move-boost start"),
|
|
172
|
+
time_end: parseDateFlag(match[3], "--move-boost end")
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
function boostEditsFromFlags(args, rawArgs) {
|
|
176
|
+
const removed = repeatedValues(rawArgs, "remove-boost", args["remove-boost"]).flatMap((value) => value.split(",")).map((value) => value.trim()).filter(Boolean);
|
|
177
|
+
const moved = repeatedValues(rawArgs, "move-boost", args["move-boost"]);
|
|
178
|
+
return {
|
|
179
|
+
...removed.length > 0 ? { removeBoosts: removed } : {},
|
|
180
|
+
...moved.length > 0 ? { moveBoosts: moved.map(boostMove) } : {}
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
var boostEditArgs = {
|
|
184
|
+
"remove-boost": {
|
|
185
|
+
type: "string",
|
|
186
|
+
description: "Take one budget boost away, by its id from `baker ads meta high-demand-periods --campaign-id <id>` \u2014 repeatable or comma-separated. The others stay."
|
|
187
|
+
},
|
|
188
|
+
"move-boost": {
|
|
189
|
+
type: "string",
|
|
190
|
+
description: "Move one budget boost to another window, keeping its raise: ID=START..END, repeatable, at least 3 hours, on quarter hours. Meta has no boost update, so publish adds the same raise on the new window, then deletes the old boost. Example: --move-boost 1633135568548763=2027-11-27T06:00Z..2027-11-27T12:00Z"
|
|
191
|
+
}
|
|
192
|
+
};
|
|
193
|
+
var adSetDeliveryArgs = {
|
|
194
|
+
"min-roas": {
|
|
195
|
+
type: "string",
|
|
196
|
+
description: "Minimum ROAS for LOWEST_COST_WITH_MIN_ROAS bidding, as a multiple of spend: 2.5 = 250%. Needs --optimization-goal VALUE. Under a min-ROAS campaign budget every ad set needs its own. Example: --bid-strategy LOWEST_COST_WITH_MIN_ROAS --min-roas 2.5"
|
|
197
|
+
},
|
|
198
|
+
"frequency-cap": {
|
|
199
|
+
type: "string",
|
|
200
|
+
description: "At most N impressions per person every D days, as N/D \u2014 REACH and THRUPLAY goals only. Example: --frequency-cap 2/7"
|
|
201
|
+
},
|
|
202
|
+
schedule: {
|
|
203
|
+
type: "string",
|
|
204
|
+
description: 'Run ads only in these hours (dayparting), repeatable: "<days> <from>-<to>", whole hours. Needs --lifetime-budget and --end. Example: --schedule "Mon-Fri 09-18" --schedule "Sat 10-14"'
|
|
205
|
+
},
|
|
206
|
+
"schedule-timezone": {
|
|
207
|
+
type: "string",
|
|
208
|
+
description: "Whose clock --schedule follows: viewer (default) or account"
|
|
209
|
+
},
|
|
210
|
+
pacing: {
|
|
211
|
+
type: "string",
|
|
212
|
+
description: "standard (default) | no_pacing (accelerated \u2014 spends as fast as it can; LOWEST_COST_WITH_BID_CAP only) | day_parting (set by --schedule)"
|
|
213
|
+
},
|
|
214
|
+
"daily-min-spend": {
|
|
215
|
+
type: "string",
|
|
216
|
+
description: "Ad set spend limit under a DAILY campaign budget: spend at least this per day (best effort)"
|
|
217
|
+
},
|
|
218
|
+
"daily-spend-cap": {
|
|
219
|
+
type: "string",
|
|
220
|
+
description: "Ad set spend limit under a DAILY campaign budget: spend at most this per day. Example: --daily-spend-cap 15"
|
|
221
|
+
},
|
|
222
|
+
"lifetime-min-spend": {
|
|
223
|
+
type: "string",
|
|
224
|
+
description: "Ad set spend limit under a LIFETIME campaign budget: spend at least this in total"
|
|
225
|
+
},
|
|
226
|
+
"lifetime-spend-cap": {
|
|
227
|
+
type: "string",
|
|
228
|
+
description: "Ad set spend limit under a LIFETIME campaign budget: spend at most this in total"
|
|
229
|
+
},
|
|
230
|
+
attribution: {
|
|
231
|
+
type: "string",
|
|
232
|
+
description: "Attribution windows Meta optimizes on: 1d_click or 7d_click, plus 1d_view and/or 1d_engaged_view \u2014 conversion goals only; LINK_CLICKS, LANDING_PAGE_VIEWS and REACH take 1d_click alone. Fixed when the ad set is created: Meta refuses a change on a live ad set. Example: --attribution 7d_click,1d_view"
|
|
233
|
+
}
|
|
234
|
+
};
|
|
235
|
+
var budgetBoostArg = {
|
|
236
|
+
"budget-boost": {
|
|
237
|
+
type: "string",
|
|
238
|
+
description: "Raise the daily budget for a high-demand period, repeatable: START..END=+AMOUNT or START..END=+PERCENT% (max 800%), at least 3 hours, on quarter hours, all amounts or all percentages. Needs --daily-budget in the same command (the current one, on update). Example: --budget-boost 2027-11-27T00:00Z..2027-11-28T00:00Z=+50%"
|
|
239
|
+
}
|
|
240
|
+
};
|
|
241
|
+
var CLEAR_FLAGS = {
|
|
242
|
+
"daily-min-spend": "dailyMinSpendTarget",
|
|
243
|
+
"daily-spend-cap": "dailySpendCap",
|
|
244
|
+
"lifetime-min-spend": "lifetimeMinSpendTarget",
|
|
245
|
+
"lifetime-spend-cap": "lifetimeSpendCap",
|
|
246
|
+
schedule: "adset_schedule",
|
|
247
|
+
boosts: "budgetSchedules",
|
|
248
|
+
"budget-boost": "budgetSchedules"
|
|
249
|
+
};
|
|
250
|
+
var NOT_CLEARABLE = {
|
|
251
|
+
"min-roas": "a ROAS floor goes with ROAS goal bidding \u2014 switch --bid-strategy (e.g. LOWEST_COST_WITHOUT_CAP) and Baker drops the floor",
|
|
252
|
+
"frequency-cap": "Meta keeps a frequency cap on a reach ad set whatever is sent (an empty cap is accepted and ignored) \u2014 set another with --frequency-cap"
|
|
253
|
+
};
|
|
254
|
+
function clearFromFlags(rawArgs, entity) {
|
|
255
|
+
const names = repeatedValues(rawArgs, "clear", void 0).flatMap((value) => value.split(",")).map((value) => value.trim().toLowerCase()).filter(Boolean);
|
|
256
|
+
if (names.length === 0) return void 0;
|
|
257
|
+
const fields = names.map((name) => {
|
|
258
|
+
const why = NOT_CLEARABLE[name];
|
|
259
|
+
if (why) throw new Error(`--clear ${name}: ${why}`);
|
|
260
|
+
const field = CLEAR_FLAGS[name];
|
|
261
|
+
if (!field || entity === "campaign" && field !== "budgetSchedules") {
|
|
262
|
+
const takes = entity === "campaign" ? "boosts" : Object.keys(CLEAR_FLAGS).join(", ");
|
|
263
|
+
throw new Error(`--clear takes ${takes} \u2014 not "${name}"`);
|
|
264
|
+
}
|
|
265
|
+
return field;
|
|
266
|
+
});
|
|
267
|
+
return [...new Set(fields)];
|
|
268
|
+
}
|
|
269
|
+
var clearArg = {
|
|
270
|
+
clear: {
|
|
271
|
+
type: "string",
|
|
272
|
+
description: "Take a delivery control away (repeatable or comma-separated): daily-min-spend, daily-spend-cap, lifetime-min-spend, lifetime-spend-cap, schedule (back to standard pacing), boosts (every budget boost it has now). A ROAS floor goes by switching --bid-strategy; Meta keeps a reach ad set's frequency cap."
|
|
273
|
+
}
|
|
274
|
+
};
|
|
275
|
+
|
|
276
|
+
export {
|
|
277
|
+
dayPartingFromFlags,
|
|
278
|
+
adSetDeliveryFromFlags,
|
|
279
|
+
budgetBoostsFromFlags,
|
|
280
|
+
boostEditsFromFlags,
|
|
281
|
+
boostEditArgs,
|
|
282
|
+
adSetDeliveryArgs,
|
|
283
|
+
budgetBoostArg,
|
|
284
|
+
clearFromFlags,
|
|
285
|
+
clearArg
|
|
286
|
+
};
|
|
287
|
+
//# sourceMappingURL=chunk-CP4P6YKM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/ads/meta/delivery-flags.ts"],"sourcesContent":["import { repeatedValues } from \"../../../lib/repeatedFlags.ts\";\nimport { failWriteValidation, parseDateFlag, parseMoneyFlag } from \"./write-shared.ts\";\n\n/**\n * The delivery-control flags of `campaigns`/`adsets create|update`, read into\n * the staged payload: a minimum ROAS, a frequency cap, an ad schedule and\n * pacing, ad set spend limits, Dynamic Creative, attribution windows and\n * budget boosts (high-demand periods). Each flag is a compact spelling of one\n * Meta field; `--file` still takes Meta's own shapes for anything these miss.\n */\n\ntype Args = Record<string, unknown>;\n\nfunction text(value: unknown): string | undefined {\n return typeof value === \"string\" && value.length > 0 ? value : undefined;\n}\n\n/** `2/7` → at most 2 impressions per person every 7 days. */\nfunction frequencyCapFlag(value: unknown): Record<string, unknown>[] | undefined {\n const raw = text(value);\n if (raw === undefined) {\n return undefined;\n }\n const match = /^(\\d+)\\s*\\/\\s*(\\d+)\\s*d?$/i.exec(raw.trim());\n if (!match) {\n failWriteValidation(\n `--frequency-cap takes N/D — at most N impressions per person every D days, e.g. 2/7 (got \"${raw}\")`,\n );\n }\n return [{ event: \"IMPRESSIONS\", interval_days: Number(match[2]), max_frequency: Number(match[1]) }];\n}\n\nconst DAY_INDEX: Record<string, number> = { sun: 0, mon: 1, tue: 2, wed: 3, thu: 4, fri: 5, sat: 6 };\n\nfunction dayIndex(name: string, flag: string): number {\n const index = DAY_INDEX[name.slice(0, 3).toLowerCase()];\n if (index === undefined) {\n failWriteValidation(`${flag}: \"${name}\" is not a day — use Mon, Tue, … Sun`);\n }\n return index;\n}\n\n/** `Mon-Fri`, `sat,sun`, `daily` → Meta's day numbers (0 = Sunday). */\nfunction scheduleDays(spec: string): number[] {\n if (/^(daily|every ?day|all)$/i.test(spec)) {\n return [0, 1, 2, 3, 4, 5, 6];\n }\n return spec.split(\",\").flatMap((part) => {\n const [from, to] = part.split(\"-\").map((day) => day.trim());\n if (!from) {\n return [];\n }\n const start = dayIndex(from, \"--schedule\");\n if (!to) {\n return [start];\n }\n const end = dayIndex(to, \"--schedule\");\n const days: number[] = [];\n for (let day = start; days.length < 7; day = (day + 1) % 7) {\n days.push(day);\n if (day === end) break;\n }\n return days;\n });\n}\n\nfunction hourMinute(value: string): number {\n const [hours = \"\", minutes = \"0\"] = value.split(\":\");\n return Number(hours) * 60 + Number(minutes);\n}\n\n/** `Mon-Fri 09-18` → one ad schedule block. */\nfunction scheduleBlock(raw: string, timezone: string): Record<string, unknown> {\n const match = /^(.+?)\\s+(\\d{1,2}(?::\\d{2})?)\\s*-\\s*(\\d{1,2}(?::\\d{2})?)$/.exec(raw.trim());\n if (!match?.[1] || !match[2] || !match[3]) {\n failWriteValidation(\n `--schedule takes \"<days> <from>-<to>\", e.g. \"Mon-Fri 09-18\" or \"sat,sun 10:00-14:00\" (got \"${raw}\")`,\n );\n }\n return {\n days: scheduleDays(match[1]),\n start_minute: hourMinute(match[2]),\n end_minute: hourMinute(match[3]),\n timezone_type: timezone,\n };\n}\n\n/** Every `--schedule` as Meta's day-parting blocks with no clock named — a reach-and-frequency quote takes them so. */\nexport function dayPartingFromFlags(args: Args, rawArgs: readonly string[] | undefined): unknown[] | undefined {\n const blocks = repeatedValues(rawArgs, \"schedule\", args.schedule).map((block) => {\n const { timezone_type: _clock, ...rest } = scheduleBlock(block, \"USER\");\n return rest;\n });\n return blocks.length > 0 ? blocks : undefined;\n}\n\nfunction scheduleTimezone(value: unknown): string {\n const raw = text(value)?.toLowerCase();\n if (raw === undefined || raw === \"viewer\" || raw === \"user\") {\n return \"USER\";\n }\n if (raw === \"account\" || raw === \"advertiser\") {\n return \"ADVERTISER\";\n }\n failWriteValidation(`--schedule-timezone takes viewer or account (got \"${raw}\")`);\n}\n\nconst ATTRIBUTION_EVENTS: Record<string, string> = {\n click: \"CLICK_THROUGH\",\n view: \"VIEW_THROUGH\",\n engaged_view: \"ENGAGED_VIDEO_VIEW\",\n engaged_video_view: \"ENGAGED_VIDEO_VIEW\",\n};\n\n/** `7d_click,1d_view` → Meta's attribution_spec. */\nfunction attributionFlag(value: unknown): Record<string, unknown>[] | undefined {\n const raw = text(value);\n if (raw === undefined) {\n return undefined;\n }\n return raw.split(\",\").map((window) => {\n const match = /^(\\d+)d_([a-z_]+)$/i.exec(window.trim());\n const event = match?.[2] ? ATTRIBUTION_EVENTS[match[2].toLowerCase()] : undefined;\n if (!match || !event) {\n failWriteValidation(`--attribution takes windows like 7d_click,1d_view,1d_engaged_view (got \"${window}\")`);\n }\n return { event_type: event, window_days: Number(match[1]) };\n });\n}\n\nfunction numberArg(value: unknown, flag: string): number | undefined {\n const raw = text(value);\n if (raw === undefined) {\n return undefined;\n }\n const n = Number(raw);\n if (!Number.isFinite(n)) {\n failWriteValidation(`${flag} must be a number`);\n }\n return n;\n}\n\n/** The ad set delivery controls the flags name; keys a flag left unset stay undefined. */\nexport function adSetDeliveryFromFlags(args: Args, rawArgs: readonly string[] | undefined): Record<string, unknown> {\n const timezone = scheduleTimezone(args[\"schedule-timezone\"]);\n const blocks = repeatedValues(rawArgs, \"schedule\", args.schedule).map((block) => scheduleBlock(block, timezone));\n if (args[\"schedule-timezone\"] !== undefined && blocks.length === 0) {\n failWriteValidation(\n \"--schedule-timezone says whose clock --schedule follows, so it goes with --schedule — pass the hours again with it\",\n );\n }\n const delivery: Record<string, unknown> = {\n minRoas: numberArg(args[\"min-roas\"], \"--min-roas\"),\n frequency_control_specs: frequencyCapFlag(args[\"frequency-cap\"]),\n adset_schedule: blocks.length > 0 ? blocks : undefined,\n pacing: text(args.pacing)?.toLowerCase(),\n dailyMinSpendTarget: parseMoneyFlag(args[\"daily-min-spend\"], args.currency, \"--daily-min-spend\"),\n dailySpendCap: parseMoneyFlag(args[\"daily-spend-cap\"], args.currency, \"--daily-spend-cap\"),\n lifetimeMinSpendTarget: parseMoneyFlag(args[\"lifetime-min-spend\"], args.currency, \"--lifetime-min-spend\"),\n lifetimeSpendCap: parseMoneyFlag(args[\"lifetime-spend-cap\"], args.currency, \"--lifetime-spend-cap\"),\n is_dynamic_creative: args[\"dynamic-creative\"] === undefined ? undefined : Boolean(args[\"dynamic-creative\"]),\n attribution_spec: attributionFlag(args.attribution),\n };\n return Object.fromEntries(Object.entries(delivery).filter(([, value]) => value !== undefined));\n}\n\n/** `START..END=+25` (an amount) or `START..END=+50%` (a percentage) → one high-demand period. */\nfunction budgetBoost(raw: string, currency: unknown): Record<string, unknown> {\n const match = /^(.+?)\\.\\.(.+?)=\\+?(\\d+(?:\\.\\d{1,3})?)(%?)$/.exec(raw.trim());\n if (!match?.[1] || !match[2] || !match[3]) {\n failWriteValidation(\n `--budget-boost takes START..END=+AMOUNT or START..END=+PERCENT%, e.g. 2027-11-27T00:00Z..2027-11-28T00:00Z=+50% (got \"${raw}\")`,\n );\n }\n const period = {\n time_start: parseDateFlag(match[1], \"--budget-boost start\"),\n time_end: parseDateFlag(match[2], \"--budget-boost end\"),\n };\n return match[4] === \"%\"\n ? { ...period, increasePercent: Number(match[3]) }\n : { ...period, increase: parseMoneyFlag(match[3], currency, \"--budget-boost\") };\n}\n\n/** Every `--budget-boost`, or undefined when none was given. */\nexport function budgetBoostsFromFlags(args: Args, rawArgs: readonly string[] | undefined): unknown[] | undefined {\n const boosts = repeatedValues(rawArgs, \"budget-boost\", args[\"budget-boost\"]);\n return boosts.length > 0 ? boosts.map((boost) => budgetBoost(boost, args.currency)) : undefined;\n}\n\n/** `ID=START..END` → one live boost moved to a new window. */\nfunction boostMove(raw: string): Record<string, unknown> {\n const match = /^(\\d+)=(.+?)\\.\\.(.+)$/.exec(raw.trim());\n if (!match?.[1] || !match[2] || !match[3]) {\n failWriteValidation(\n `--move-boost takes ID=START..END, e.g. 1633135568548763=2027-11-27T06:00Z..2027-11-27T12:00Z (got \"${raw}\")`,\n );\n }\n return {\n id: match[1],\n time_start: parseDateFlag(match[2], \"--move-boost start\"),\n time_end: parseDateFlag(match[3], \"--move-boost end\"),\n };\n}\n\n/** Every `--remove-boost` and `--move-boost` on a live campaign or ad set. */\nexport function boostEditsFromFlags(args: Args, rawArgs: readonly string[] | undefined): Record<string, unknown> {\n const removed = repeatedValues(rawArgs, \"remove-boost\", args[\"remove-boost\"])\n .flatMap((value) => value.split(\",\"))\n .map((value) => value.trim())\n .filter(Boolean);\n const moved = repeatedValues(rawArgs, \"move-boost\", args[\"move-boost\"]);\n return {\n ...(removed.length > 0 ? { removeBoosts: removed } : {}),\n ...(moved.length > 0 ? { moveBoosts: moved.map(boostMove) } : {}),\n };\n}\n\nexport const boostEditArgs = {\n \"remove-boost\": {\n type: \"string\",\n description:\n \"Take one budget boost away, by its id from `baker ads meta high-demand-periods --campaign-id <id>` — repeatable or comma-separated. The others stay.\",\n },\n \"move-boost\": {\n type: \"string\",\n description:\n \"Move one budget boost to another window, keeping its raise: ID=START..END, repeatable, at least 3 hours, on quarter hours. Meta has no boost update, so publish adds the same raise on the new window, then deletes the old boost. Example: --move-boost 1633135568548763=2027-11-27T06:00Z..2027-11-27T12:00Z\",\n },\n} as const;\n\n/** Arg definitions for the ad set delivery-control flags, shared by create and update. */\nexport const adSetDeliveryArgs = {\n \"min-roas\": {\n type: \"string\",\n description:\n \"Minimum ROAS for LOWEST_COST_WITH_MIN_ROAS bidding, as a multiple of spend: 2.5 = 250%. Needs --optimization-goal VALUE. Under a min-ROAS campaign budget every ad set needs its own. Example: --bid-strategy LOWEST_COST_WITH_MIN_ROAS --min-roas 2.5\",\n },\n \"frequency-cap\": {\n type: \"string\",\n description:\n \"At most N impressions per person every D days, as N/D — REACH and THRUPLAY goals only. Example: --frequency-cap 2/7\",\n },\n schedule: {\n type: \"string\",\n description:\n 'Run ads only in these hours (dayparting), repeatable: \"<days> <from>-<to>\", whole hours. Needs --lifetime-budget and --end. Example: --schedule \"Mon-Fri 09-18\" --schedule \"Sat 10-14\"',\n },\n \"schedule-timezone\": {\n type: \"string\",\n description: \"Whose clock --schedule follows: viewer (default) or account\",\n },\n pacing: {\n type: \"string\",\n description:\n \"standard (default) | no_pacing (accelerated — spends as fast as it can; LOWEST_COST_WITH_BID_CAP only) | day_parting (set by --schedule)\",\n },\n \"daily-min-spend\": {\n type: \"string\",\n description: \"Ad set spend limit under a DAILY campaign budget: spend at least this per day (best effort)\",\n },\n \"daily-spend-cap\": {\n type: \"string\",\n description:\n \"Ad set spend limit under a DAILY campaign budget: spend at most this per day. Example: --daily-spend-cap 15\",\n },\n \"lifetime-min-spend\": {\n type: \"string\",\n description: \"Ad set spend limit under a LIFETIME campaign budget: spend at least this in total\",\n },\n \"lifetime-spend-cap\": {\n type: \"string\",\n description: \"Ad set spend limit under a LIFETIME campaign budget: spend at most this in total\",\n },\n attribution: {\n type: \"string\",\n description:\n \"Attribution windows Meta optimizes on: 1d_click or 7d_click, plus 1d_view and/or 1d_engaged_view — conversion goals only; LINK_CLICKS, LANDING_PAGE_VIEWS and REACH take 1d_click alone. Fixed when the ad set is created: Meta refuses a change on a live ad set. Example: --attribution 7d_click,1d_view\",\n },\n} as const;\n\nexport const budgetBoostArg = {\n \"budget-boost\": {\n type: \"string\",\n description:\n \"Raise the daily budget for a high-demand period, repeatable: START..END=+AMOUNT or START..END=+PERCENT% (max 800%), at least 3 hours, on quarter hours, all amounts or all percentages. Needs --daily-budget in the same command (the current one, on update). Example: --budget-boost 2027-11-27T00:00Z..2027-11-28T00:00Z=+50%\",\n },\n} as const;\n\nconst CLEAR_FLAGS: Readonly<Record<string, string>> = {\n \"daily-min-spend\": \"dailyMinSpendTarget\",\n \"daily-spend-cap\": \"dailySpendCap\",\n \"lifetime-min-spend\": \"lifetimeMinSpendTarget\",\n \"lifetime-spend-cap\": \"lifetimeSpendCap\",\n schedule: \"adset_schedule\",\n boosts: \"budgetSchedules\",\n \"budget-boost\": \"budgetSchedules\",\n};\n\nconst NOT_CLEARABLE: Readonly<Record<string, string>> = {\n \"min-roas\":\n \"a ROAS floor goes with ROAS goal bidding — switch --bid-strategy (e.g. LOWEST_COST_WITHOUT_CAP) and Baker drops the floor\",\n \"frequency-cap\":\n \"Meta keeps a frequency cap on a reach ad set whatever is sent (an empty cap is accepted and ignored) — set another with --frequency-cap\",\n};\n\n/**\n * What `--clear` takes away (repeatable or comma-separated), named by the\n * flag that set it. A campaign clears only its budget boosts.\n */\nexport function clearFromFlags(\n rawArgs: readonly string[] | undefined,\n entity: \"adSet\" | \"campaign\",\n): string[] | undefined {\n const names = repeatedValues(rawArgs, \"clear\", undefined)\n .flatMap((value) => value.split(\",\"))\n .map((value) => value.trim().toLowerCase())\n .filter(Boolean);\n if (names.length === 0) return undefined;\n const fields = names.map((name) => {\n const why = NOT_CLEARABLE[name];\n if (why) throw new Error(`--clear ${name}: ${why}`);\n const field = CLEAR_FLAGS[name];\n if (!field || (entity === \"campaign\" && field !== \"budgetSchedules\")) {\n const takes = entity === \"campaign\" ? \"boosts\" : Object.keys(CLEAR_FLAGS).join(\", \");\n throw new Error(`--clear takes ${takes} — not \"${name}\"`);\n }\n return field;\n });\n return [...new Set(fields)];\n}\n\nexport const clearArg = {\n clear: {\n type: \"string\",\n description:\n \"Take a delivery control away (repeatable or comma-separated): daily-min-spend, daily-spend-cap, lifetime-min-spend, lifetime-spend-cap, schedule (back to standard pacing), boosts (every budget boost it has now). A ROAS floor goes by switching --bid-strategy; Meta keeps a reach ad set's frequency cap.\",\n },\n} as const;\n"],"mappings":";;;;;;;;;;AAaA,SAAS,KAAK,OAAoC;AAChD,SAAO,OAAO,UAAU,YAAY,MAAM,SAAS,IAAI,QAAQ;AACjE;AAGA,SAAS,iBAAiB,OAAuD;AAC/E,QAAM,MAAM,KAAK,KAAK;AACtB,MAAI,QAAQ,QAAW;AACrB,WAAO;AAAA,EACT;AACA,QAAM,QAAQ,6BAA6B,KAAK,IAAI,KAAK,CAAC;AAC1D,MAAI,CAAC,OAAO;AACV;AAAA,MACE,kGAA6F,GAAG;AAAA,IAClG;AAAA,EACF;AACA,SAAO,CAAC,EAAE,OAAO,eAAe,eAAe,OAAO,MAAM,CAAC,CAAC,GAAG,eAAe,OAAO,MAAM,CAAC,CAAC,EAAE,CAAC;AACpG;AAEA,IAAM,YAAoC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,EAAE;AAEnG,SAAS,SAAS,MAAc,MAAsB;AACpD,QAAM,QAAQ,UAAU,KAAK,MAAM,GAAG,CAAC,EAAE,YAAY,CAAC;AACtD,MAAI,UAAU,QAAW;AACvB,wBAAoB,GAAG,IAAI,MAAM,IAAI,gDAAsC;AAAA,EAC7E;AACA,SAAO;AACT;AAGA,SAAS,aAAa,MAAwB;AAC5C,MAAI,4BAA4B,KAAK,IAAI,GAAG;AAC1C,WAAO,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAAA,EAC7B;AACA,SAAO,KAAK,MAAM,GAAG,EAAE,QAAQ,CAAC,SAAS;AACvC,UAAM,CAAC,MAAM,EAAE,IAAI,KAAK,MAAM,GAAG,EAAE,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC;AAC1D,QAAI,CAAC,MAAM;AACT,aAAO,CAAC;AAAA,IACV;AACA,UAAM,QAAQ,SAAS,MAAM,YAAY;AACzC,QAAI,CAAC,IAAI;AACP,aAAO,CAAC,KAAK;AAAA,IACf;AACA,UAAM,MAAM,SAAS,IAAI,YAAY;AACrC,UAAM,OAAiB,CAAC;AACxB,aAAS,MAAM,OAAO,KAAK,SAAS,GAAG,OAAO,MAAM,KAAK,GAAG;AAC1D,WAAK,KAAK,GAAG;AACb,UAAI,QAAQ,IAAK;AAAA,IACnB;AACA,WAAO;AAAA,EACT,CAAC;AACH;AAEA,SAAS,WAAW,OAAuB;AACzC,QAAM,CAAC,QAAQ,IAAI,UAAU,GAAG,IAAI,MAAM,MAAM,GAAG;AACnD,SAAO,OAAO,KAAK,IAAI,KAAK,OAAO,OAAO;AAC5C;AAGA,SAAS,cAAc,KAAa,UAA2C;AAC7E,QAAM,QAAQ,4DAA4D,KAAK,IAAI,KAAK,CAAC;AACzF,MAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG;AACzC;AAAA,MACE,8FAA8F,GAAG;AAAA,IACnG;AAAA,EACF;AACA,SAAO;AAAA,IACL,MAAM,aAAa,MAAM,CAAC,CAAC;AAAA,IAC3B,cAAc,WAAW,MAAM,CAAC,CAAC;AAAA,IACjC,YAAY,WAAW,MAAM,CAAC,CAAC;AAAA,IAC/B,eAAe;AAAA,EACjB;AACF;AAGO,SAAS,oBAAoB,MAAY,SAA+D;AAC7G,QAAM,SAAS,eAAe,SAAS,YAAY,KAAK,QAAQ,EAAE,IAAI,CAAC,UAAU;AAC/E,UAAM,EAAE,eAAe,QAAQ,GAAG,KAAK,IAAI,cAAc,OAAO,MAAM;AACtE,WAAO;AAAA,EACT,CAAC;AACD,SAAO,OAAO,SAAS,IAAI,SAAS;AACtC;AAEA,SAAS,iBAAiB,OAAwB;AAChD,QAAM,MAAM,KAAK,KAAK,GAAG,YAAY;AACrC,MAAI,QAAQ,UAAa,QAAQ,YAAY,QAAQ,QAAQ;AAC3D,WAAO;AAAA,EACT;AACA,MAAI,QAAQ,aAAa,QAAQ,cAAc;AAC7C,WAAO;AAAA,EACT;AACA,sBAAoB,qDAAqD,GAAG,IAAI;AAClF;AAEA,IAAM,qBAA6C;AAAA,EACjD,OAAO;AAAA,EACP,MAAM;AAAA,EACN,cAAc;AAAA,EACd,oBAAoB;AACtB;AAGA,SAAS,gBAAgB,OAAuD;AAC9E,QAAM,MAAM,KAAK,KAAK;AACtB,MAAI,QAAQ,QAAW;AACrB,WAAO;AAAA,EACT;AACA,SAAO,IAAI,MAAM,GAAG,EAAE,IAAI,CAAC,WAAW;AACpC,UAAM,QAAQ,sBAAsB,KAAK,OAAO,KAAK,CAAC;AACtD,UAAM,QAAQ,QAAQ,CAAC,IAAI,mBAAmB,MAAM,CAAC,EAAE,YAAY,CAAC,IAAI;AACxE,QAAI,CAAC,SAAS,CAAC,OAAO;AACpB,0BAAoB,2EAA2E,MAAM,IAAI;AAAA,IAC3G;AACA,WAAO,EAAE,YAAY,OAAO,aAAa,OAAO,MAAM,CAAC,CAAC,EAAE;AAAA,EAC5D,CAAC;AACH;AAEA,SAAS,UAAU,OAAgB,MAAkC;AACnE,QAAM,MAAM,KAAK,KAAK;AACtB,MAAI,QAAQ,QAAW;AACrB,WAAO;AAAA,EACT;AACA,QAAM,IAAI,OAAO,GAAG;AACpB,MAAI,CAAC,OAAO,SAAS,CAAC,GAAG;AACvB,wBAAoB,GAAG,IAAI,mBAAmB;AAAA,EAChD;AACA,SAAO;AACT;AAGO,SAAS,uBAAuB,MAAY,SAAiE;AAClH,QAAM,WAAW,iBAAiB,KAAK,mBAAmB,CAAC;AAC3D,QAAM,SAAS,eAAe,SAAS,YAAY,KAAK,QAAQ,EAAE,IAAI,CAAC,UAAU,cAAc,OAAO,QAAQ,CAAC;AAC/G,MAAI,KAAK,mBAAmB,MAAM,UAAa,OAAO,WAAW,GAAG;AAClE;AAAA,MACE;AAAA,IACF;AAAA,EACF;AACA,QAAM,WAAoC;AAAA,IACxC,SAAS,UAAU,KAAK,UAAU,GAAG,YAAY;AAAA,IACjD,yBAAyB,iBAAiB,KAAK,eAAe,CAAC;AAAA,IAC/D,gBAAgB,OAAO,SAAS,IAAI,SAAS;AAAA,IAC7C,QAAQ,KAAK,KAAK,MAAM,GAAG,YAAY;AAAA,IACvC,qBAAqB,eAAe,KAAK,iBAAiB,GAAG,KAAK,UAAU,mBAAmB;AAAA,IAC/F,eAAe,eAAe,KAAK,iBAAiB,GAAG,KAAK,UAAU,mBAAmB;AAAA,IACzF,wBAAwB,eAAe,KAAK,oBAAoB,GAAG,KAAK,UAAU,sBAAsB;AAAA,IACxG,kBAAkB,eAAe,KAAK,oBAAoB,GAAG,KAAK,UAAU,sBAAsB;AAAA,IAClG,qBAAqB,KAAK,kBAAkB,MAAM,SAAY,SAAY,QAAQ,KAAK,kBAAkB,CAAC;AAAA,IAC1G,kBAAkB,gBAAgB,KAAK,WAAW;AAAA,EACpD;AACA,SAAO,OAAO,YAAY,OAAO,QAAQ,QAAQ,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,MAAM,UAAU,MAAS,CAAC;AAC/F;AAGA,SAAS,YAAY,KAAa,UAA4C;AAC5E,QAAM,QAAQ,8CAA8C,KAAK,IAAI,KAAK,CAAC;AAC3E,MAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG;AACzC;AAAA,MACE,yHAAyH,GAAG;AAAA,IAC9H;AAAA,EACF;AACA,QAAM,SAAS;AAAA,IACb,YAAY,cAAc,MAAM,CAAC,GAAG,sBAAsB;AAAA,IAC1D,UAAU,cAAc,MAAM,CAAC,GAAG,oBAAoB;AAAA,EACxD;AACA,SAAO,MAAM,CAAC,MAAM,MAChB,EAAE,GAAG,QAAQ,iBAAiB,OAAO,MAAM,CAAC,CAAC,EAAE,IAC/C,EAAE,GAAG,QAAQ,UAAU,eAAe,MAAM,CAAC,GAAG,UAAU,gBAAgB,EAAE;AAClF;AAGO,SAAS,sBAAsB,MAAY,SAA+D;AAC/G,QAAM,SAAS,eAAe,SAAS,gBAAgB,KAAK,cAAc,CAAC;AAC3E,SAAO,OAAO,SAAS,IAAI,OAAO,IAAI,CAAC,UAAU,YAAY,OAAO,KAAK,QAAQ,CAAC,IAAI;AACxF;AAGA,SAAS,UAAU,KAAsC;AACvD,QAAM,QAAQ,wBAAwB,KAAK,IAAI,KAAK,CAAC;AACrD,MAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG;AACzC;AAAA,MACE,sGAAsG,GAAG;AAAA,IAC3G;AAAA,EACF;AACA,SAAO;AAAA,IACL,IAAI,MAAM,CAAC;AAAA,IACX,YAAY,cAAc,MAAM,CAAC,GAAG,oBAAoB;AAAA,IACxD,UAAU,cAAc,MAAM,CAAC,GAAG,kBAAkB;AAAA,EACtD;AACF;AAGO,SAAS,oBAAoB,MAAY,SAAiE;AAC/G,QAAM,UAAU,eAAe,SAAS,gBAAgB,KAAK,cAAc,CAAC,EACzE,QAAQ,CAAC,UAAU,MAAM,MAAM,GAAG,CAAC,EACnC,IAAI,CAAC,UAAU,MAAM,KAAK,CAAC,EAC3B,OAAO,OAAO;AACjB,QAAM,QAAQ,eAAe,SAAS,cAAc,KAAK,YAAY,CAAC;AACtE,SAAO;AAAA,IACL,GAAI,QAAQ,SAAS,IAAI,EAAE,cAAc,QAAQ,IAAI,CAAC;AAAA,IACtD,GAAI,MAAM,SAAS,IAAI,EAAE,YAAY,MAAM,IAAI,SAAS,EAAE,IAAI,CAAC;AAAA,EACjE;AACF;AAEO,IAAM,gBAAgB;AAAA,EAC3B,gBAAgB;AAAA,IACd,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AAAA,EACA,cAAc;AAAA,IACZ,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AACF;AAGO,IAAM,oBAAoB;AAAA,EAC/B,YAAY;AAAA,IACV,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AAAA,EACA,iBAAiB;AAAA,IACf,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AAAA,EACA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AAAA,EACA,qBAAqB;AAAA,IACnB,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AAAA,EACA,mBAAmB;AAAA,IACjB,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA,mBAAmB;AAAA,IACjB,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AAAA,EACA,sBAAsB;AAAA,IACpB,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA,sBAAsB;AAAA,IACpB,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA,aAAa;AAAA,IACX,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AACF;AAEO,IAAM,iBAAiB;AAAA,EAC5B,gBAAgB;AAAA,IACd,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AACF;AAEA,IAAM,cAAgD;AAAA,EACpD,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,sBAAsB;AAAA,EACtB,sBAAsB;AAAA,EACtB,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,gBAAgB;AAClB;AAEA,IAAM,gBAAkD;AAAA,EACtD,YACE;AAAA,EACF,iBACE;AACJ;AAMO,SAAS,eACd,SACA,QACsB;AACtB,QAAM,QAAQ,eAAe,SAAS,SAAS,MAAS,EACrD,QAAQ,CAAC,UAAU,MAAM,MAAM,GAAG,CAAC,EACnC,IAAI,CAAC,UAAU,MAAM,KAAK,EAAE,YAAY,CAAC,EACzC,OAAO,OAAO;AACjB,MAAI,MAAM,WAAW,EAAG,QAAO;AAC/B,QAAM,SAAS,MAAM,IAAI,CAAC,SAAS;AACjC,UAAM,MAAM,cAAc,IAAI;AAC9B,QAAI,IAAK,OAAM,IAAI,MAAM,WAAW,IAAI,KAAK,GAAG,EAAE;AAClD,UAAM,QAAQ,YAAY,IAAI;AAC9B,QAAI,CAAC,SAAU,WAAW,cAAc,UAAU,mBAAoB;AACpE,YAAM,QAAQ,WAAW,aAAa,WAAW,OAAO,KAAK,WAAW,EAAE,KAAK,IAAI;AACnF,YAAM,IAAI,MAAM,iBAAiB,KAAK,gBAAW,IAAI,GAAG;AAAA,IAC1D;AACA,WAAO;AAAA,EACT,CAAC;AACD,SAAO,CAAC,GAAG,IAAI,IAAI,MAAM,CAAC;AAC5B;AAEO,IAAM,WAAW;AAAA,EACtB,OAAO;AAAA,IACL,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AACF;","names":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import {
|
|
2
|
+
creativesRunResponseSchema
|
|
3
|
+
} from "./chunk-DAO63OOP.js";
|
|
4
|
+
import {
|
|
5
|
+
ApiError,
|
|
6
|
+
apiPost
|
|
7
|
+
} from "./chunk-XDZVBX6L.js";
|
|
8
|
+
|
|
9
|
+
// src/commands/canvas/run-history.ts
|
|
10
|
+
async function fetchRunRecord(runId, post = apiPost) {
|
|
11
|
+
try {
|
|
12
|
+
const response = await post("/api/creatives/run", { runId });
|
|
13
|
+
return creativesRunResponseSchema.parse(response).data;
|
|
14
|
+
} catch (e) {
|
|
15
|
+
if (e instanceof ApiError && e.code === "NOT_FOUND") return null;
|
|
16
|
+
throw e;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export {
|
|
21
|
+
fetchRunRecord
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=chunk-D4HKJBEW.js.map
|