@koda-sl/baker-cli 0.489.0-dev.63e618e80 → 0.490.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 +170 -8
- 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-KNRDOUJP.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-reads-GA6FVKLE.js +218 -0
- package/dist/account-writes-AE5IJGGW.js +66 -0
- package/dist/accounts-K4INATCW.js +75 -0
- package/dist/accounts-RTN5ZGTU.js +611 -0
- package/dist/accounts-RW6KXBOQ.js +77 -0
- package/dist/actions-HNLISA7T.js +55 -0
- package/dist/activecampaign-I5CILZPU.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-6WKPFMLG.js +302 -0
- package/dist/add-XF5COUAS.js +104 -0
- package/dist/ads-CQZHD7FC.js +77 -0
- package/dist/ads-QIKZ6O2N.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-6NUM2Q3A.js +120 -0
- package/dist/analytics-ALOZ7ZZ4.js +1976 -0
- package/dist/analytics-VLHE5A2M.js +433 -0
- package/dist/animate-SVEPM267.js +480 -0
- package/dist/asset-writes-L5TMKIZC.js +47 -0
- package/dist/assign-6HI6TNLP.js +77 -0
- package/dist/audience-size-25LP2OBF.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-YY6X2MPA.js +151 -0
- package/dist/autocomplete-SAWJK4NF.js +111 -0
- package/dist/avatars-YSFFRHDK.js +38 -0
- package/dist/bid-pricing-HZ74SLEB.js +100 -0
- package/dist/brand-T3OACVQX.js +22 -0
- package/dist/brief-7S6XCJIA.js +538 -0
- package/dist/businesses-H3HIDQX6.js +53 -0
- package/dist/campaign-groups-YJK767AP.js +95 -0
- package/dist/campaign-writes-7ZF57KLH.js +165 -0
- package/dist/campaign-writes-7ZF57KLH.js.map +1 -0
- package/dist/campaign-writes-U5PUVSMT.js +170 -0
- package/dist/campaigns-AV6G3AUU.js +127 -0
- package/dist/campaigns-AV6G3AUU.js.map +1 -0
- package/dist/campaigns-GALDR5KK.js +109 -0
- package/dist/campaigns-JEIKY2M4.js +76 -0
- package/dist/campaigns-VTRMKSAT.js +107 -0
- package/dist/canvas-SVJEQO4V.js +46 -0
- package/dist/capabilities-2KT6TCGZ.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/changes-5TOYRKZR.js +135 -0
- package/dist/chatgpt-QVF2FD3E.js +47 -0
- package/dist/chats-QG72JB6Y.js +276 -0
- package/dist/chats-QG72JB6Y.js.map +1 -0
- package/dist/check-SLNHVYGS.js +104 -0
- package/dist/chunk-2C7AHPM4.js +191 -0
- package/dist/chunk-2C7AHPM4.js.map +1 -0
- package/dist/chunk-2LI6746F.js +103 -0
- package/dist/chunk-2PWNIEW4.js +197 -0
- package/dist/chunk-2WZI36D3.js +317 -0
- package/dist/chunk-3W6G6ARX.js +122 -0
- package/dist/chunk-45UK4KYJ.js +1606 -0
- package/dist/chunk-46GWHUKN.js +225 -0
- package/dist/chunk-4AMIHNNP.js +1919 -0
- package/dist/chunk-4KJMLYCD.js +224 -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-5HJRZFMW.js +207 -0
- package/dist/chunk-65Y3RCWP.js +68 -0
- package/dist/chunk-65Y3RCWP.js.map +1 -0
- package/dist/chunk-66QHX566.js +6306 -0
- package/dist/chunk-6NCJGU6I.js +191 -0
- package/dist/chunk-6WCAV27H.js +494 -0
- package/dist/chunk-A4MVVPJ2.js +4204 -0
- package/dist/chunk-A4MVVPJ2.js.map +1 -0
- package/dist/chunk-AO45BX6Q.js +66 -0
- package/dist/chunk-AQM4JH62.js +274 -0
- package/dist/chunk-AQM4JH62.js.map +1 -0
- package/dist/chunk-BDYLILMW.js +150 -0
- package/dist/chunk-BL2MX6CR.js +249 -0
- package/dist/chunk-BOPC3D6I.js +604 -0
- package/dist/chunk-BTY4LZBG.js +46 -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-D4CKCNGW.js +547 -0
- package/dist/chunk-D5CUAOQX.js +297 -0
- package/dist/chunk-D5UXWKLQ.js +903 -0
- package/dist/chunk-DCBZ5CHZ.js +139 -0
- package/dist/chunk-E2RFM6R2.js +1518 -0
- package/dist/chunk-EOY6BK4C.js +148 -0
- package/dist/chunk-FA4YZFRV.js +392 -0
- package/dist/chunk-FVHJCERJ.js +942 -0
- package/dist/chunk-G2LGMWNG.js +627 -0
- package/dist/chunk-G4STCTY3.js +399 -0
- package/dist/chunk-G6XKD7QE.js +77 -0
- package/dist/chunk-GSZZLW5Q.js +831 -0
- package/dist/chunk-HLVRHBKL.js +1078 -0
- package/dist/chunk-HLVRHBKL.js.map +1 -0
- package/dist/chunk-HSPMBLKE.js +363 -0
- package/dist/chunk-IG627WWY.js +23992 -0
- package/dist/chunk-IG627WWY.js.map +1 -0
- package/dist/chunk-IJ22WP3G.js +275 -0
- package/dist/chunk-IKCP5NCE.js +843 -0
- package/dist/chunk-ILSKYRDR.js +169 -0
- package/dist/chunk-JAC6JVCI.js +26 -0
- package/dist/chunk-JKJQWRLO.js +91 -0
- package/dist/chunk-JQH5VG6F.js +5368 -0
- package/dist/chunk-JQU2LUZG.js +57 -0
- package/dist/chunk-JVH5A3XC.js +8914 -0
- package/dist/chunk-JYALBYN7.js +131 -0
- package/dist/chunk-KOXDXSKN.js +8939 -0
- package/dist/chunk-LOMH4TTC.js +1079 -0
- package/dist/chunk-LXQB4ZGE.js +142 -0
- package/dist/chunk-M6PN3VH6.js +19 -0
- package/dist/chunk-M7IJU77B.js +665 -0
- package/dist/chunk-MCJ5I5LR.js +3187 -0
- package/dist/chunk-MCJ5I5LR.js.map +1 -0
- package/dist/chunk-MVB32GPI.js +592 -0
- package/dist/chunk-MXH35PJ5.js +51 -0
- package/dist/chunk-MZPS46OR.js +76 -0
- package/dist/chunk-NEIUVSDK.js +206 -0
- package/dist/chunk-NEOUY3Q7.js +285 -0
- package/dist/chunk-NXZCCGES.js +159 -0
- package/dist/chunk-P3W6SRSQ.js +455 -0
- package/dist/chunk-P5FRWPG7.js +160 -0
- package/dist/chunk-PA4W7BCQ.js +23 -0
- package/dist/chunk-PQJXIY64.js +97 -0
- package/dist/chunk-PTGYM4J6.js +89 -0
- package/dist/chunk-QNLJ3GNZ.js +433 -0
- package/dist/chunk-QTOZ32SU.js +163 -0
- package/dist/chunk-QTOZ32SU.js.map +1 -0
- package/dist/chunk-SISA4HQR.js +61 -0
- package/dist/chunk-SVAB6KV5.js +219 -0
- package/dist/chunk-SVAB6KV5.js.map +1 -0
- package/dist/chunk-SVM3DGAQ.js +228 -0
- package/dist/chunk-TP7HKSBX.js +172 -0
- package/dist/chunk-TRPJJMCS.js +346 -0
- package/dist/chunk-UNX6BS4U.js +3868 -0
- package/dist/chunk-VD73V44J.js +344 -0
- package/dist/chunk-VL65H6YM.js +846 -0
- package/dist/chunk-WTJSMYY2.js +4249 -0
- package/dist/chunk-WTJSMYY2.js.map +1 -0
- package/dist/chunk-X7F4Z6UM.js +156 -0
- package/dist/chunk-YW7VMU5L.js +654 -0
- package/dist/chunk-YW7VMU5L.js.map +1 -0
- package/dist/chunk-ZCQVKDHV.js +98 -0
- package/dist/chunk-ZJSGGJ5R.js +167 -0
- package/dist/claim-SLGYOOWD.js +197 -0
- package/dist/cli.js +36 -36
- package/dist/companies-IVMH6YII.js +195 -0
- package/dist/complete-45L2FI2X.js +81 -0
- package/dist/connect-S54TJ6OV.js +42 -0
- package/dist/conversation-RIOL3OJ7.js +93 -0
- package/dist/conversion-report-REOHVLCI.js +125 -0
- package/dist/conversion-upload-command-W4GELHIQ.js +438 -0
- package/dist/conversion-writes-ECZBVY7D.js +120 -0
- package/dist/conversions-5QCSCRLI.js +76 -0
- package/dist/conversions-TKIXNSYR.js +135 -0
- package/dist/copy-writes-D2RTHAL6.js +167 -0
- package/dist/copy-writes-D2RTHAL6.js.map +1 -0
- package/dist/create-7JY2PTIZ.js +132 -0
- package/dist/create-ACLCRXQP.js +59 -0
- package/dist/create-KYBMFD32.js +207 -0
- package/dist/create-VAPJ52GJ.js +235 -0
- package/dist/creatives-5I3G5YP3.js +182 -0
- package/dist/creatives-MZ6ICNSY.js +88 -0
- package/dist/creatives-MZ6ICNSY.js.map +1 -0
- package/dist/creatives-PCAGWPW3.js +58 -0
- package/dist/credentials-YTQ6BHWV.js +287 -0
- package/dist/critique-BHYJYZDV.js +1458 -0
- package/dist/critique-NRHUPIWF.js +227 -0
- package/dist/crm-IKTWHWEB.js +318 -0
- package/dist/crm-N7K57LZJ.js +224 -0
- package/dist/currency-PW7HIBZ6.js +88 -0
- package/dist/custom-conversions-FIP6ZS34.js +127 -0
- package/dist/custom-conversions-FIP6ZS34.js.map +1 -0
- package/dist/customers-NLU7NYDC.js +56 -0
- package/dist/delete-26J3X3ZH.js +64 -0
- package/dist/delete-A4F5Z54J.js +66 -0
- package/dist/delete-EVXOFT2H.js +54 -0
- package/dist/demographics-VZKFMM4X.js +138 -0
- package/dist/discard-ULRVUJDV.js +66 -0
- package/dist/discover-PVXWX2WL.js +172 -0
- package/dist/domain-L4WCCX7R.js +98 -0
- package/dist/draft-34CGWUVA.js +281 -0
- package/dist/draft-4P3YO67N.js +332 -0
- package/dist/draft-4P3YO67N.js.map +1 -0
- package/dist/draft-57OQKHZI.js +306 -0
- package/dist/draft-L45PGCYZ.js +237 -0
- package/dist/draft-L45PGCYZ.js.map +1 -0
- package/dist/draft-O4S5RKWK.js +217 -0
- package/dist/draft-PAYD6GIM.js +307 -0
- package/dist/engine/index.js +9 -9
- package/dist/experiment-7N4QFRWV.js +1397 -0
- package/dist/facets-EHQKGGJ2.js +114 -0
- package/dist/feedback-O3H42V4I.js +106 -0
- package/dist/feedback-record-FAPN2GBS.js +260 -0
- package/dist/fetch-ETKT2RBC.js +176 -0
- package/dist/find-FSQAEGGF.js +134 -0
- package/dist/fit-UJQ47C4A.js +62 -0
- package/dist/flows-T22B77J3.js +247 -0
- package/dist/fonts-7VWBQPJF.js +36 -0
- package/dist/forecast-HB3RDBQN.js +168 -0
- package/dist/forecast-OI7YWZ6F.js +118 -0
- package/dist/funnel-7OA33VRP.js +394 -0
- package/dist/ga4-LPDIBNYP.js +55 -0
- package/dist/generate-OMXBFGGR.js +263 -0
- package/dist/get-2RSN4N3J.js +56 -0
- package/dist/get-6N7QJMIP.js +79 -0
- package/dist/google-5ESVO76E.js +136 -0
- package/dist/google-6JZBJ2ZQ.js +3265 -0
- package/dist/google-ads-G7REKD4A.js +195 -0
- package/dist/gsc-FIZTQX3N.js +30 -0
- package/dist/history-QKDYBSYM.js +67 -0
- package/dist/history-YMK2JNZU.js +133 -0
- package/dist/hubspot-BUFS7S33.js +779 -0
- package/dist/icon-CSVAZ7NE.js +137 -0
- package/dist/ideas-JQT422P7.js +40 -0
- package/dist/images-WBNWK2ZH.js +92 -0
- package/dist/ingest-RQUJGS7K.js +107 -0
- package/dist/ingest-XLTRLCDV.js +23 -0
- package/dist/insights-SQLE5NOJ.js +122 -0
- package/dist/insights-YWVJMATY.js +424 -0
- package/dist/insights-YWVJMATY.js.map +1 -0
- package/dist/inspect-KFVAMD4N.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/intent-4KJGYYHL.js +95 -0
- package/dist/keyword-gap-U64KXDR4.js +130 -0
- package/dist/keyword-metrics-WYF3QMCW.js +197 -0
- package/dist/keywords-for-site-G5L5EP3T.js +128 -0
- package/dist/landing-Y6QCTXCZ.js +28 -0
- package/dist/languages-7IPVGGW5.js +40 -0
- package/dist/leads-4SJ4NJOI.js +90 -0
- package/dist/leads-THI37ZMD.js +537 -0
- package/dist/leads-THI37ZMD.js.map +1 -0
- package/dist/learn-3BDZUWDT.js +204 -0
- package/dist/line-item-writes-YXKYR25W.js +208 -0
- package/dist/line-items-CKUD2UU4.js +103 -0
- package/dist/link-VBYFI7AM.js +64 -0
- package/dist/linkedin-UGMAFSGO.js +1057 -0
- package/dist/list-6ZNZGRRK.js +151 -0
- package/dist/list-ENYDGT3F.js +64 -0
- package/dist/list-VSUF2IWT.js +303 -0
- package/dist/locations-HM56X2MK.js +67 -0
- package/dist/locations-HM56X2MK.js.map +1 -0
- package/dist/locations-QJBYWRCN.js +40 -0
- package/dist/log-AACKGBDW.js +92 -0
- package/dist/logo-VHXH4J6A.js +18 -0
- package/dist/make-W2PYZXYF.js +1353 -0
- package/dist/map-63CQHWPI.js +433 -0
- package/dist/mcp-RKAXC6IP.js +714 -0
- package/dist/media-H6B7VDON.js +18 -0
- package/dist/media-H6B7VDON.js.map +1 -0
- package/dist/media-sources-EZKAJNVD.js +32 -0
- package/dist/members-SELIA674.js +44 -0
- package/dist/meta-YHDTGJQ6.js +122 -0
- package/dist/meta-YHDTGJQ6.js.map +1 -0
- package/dist/metrics-V6SKOVNH.js +152 -0
- package/dist/models-2XRYXSRA.js +155 -0
- package/dist/normalize-VAZPTBDX.js +141 -0
- package/dist/options-NSCZSQ5P.js +122 -0
- package/dist/organization-SHREKDST.js +881 -0
- package/dist/organization-SHREKDST.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-K7E5KAZW.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-PKEO6WUK.js +180 -0
- package/dist/promoted-tweets-7MXVZRBI.js +119 -0
- package/dist/publish-MPMGRV72.js +341 -0
- package/dist/query-UD4OIZ3A.js +61 -0
- package/dist/reddit-XIHRI3CN.js +26 -0
- package/dist/refresh-A27N75NH.js +94 -0
- package/dist/release-UKRB5IUN.js +60 -0
- package/dist/relevant-pages-VXSHEOU2.js +99 -0
- package/dist/remove-AFNFVPZY.js +50 -0
- package/dist/reopen-M5HE6J3G.js +63 -0
- package/dist/rerun-5THJLQQJ.js +90 -0
- package/dist/research-JHDWWFL7.js +62 -0
- package/dist/research-U7RQXMYH.js +262 -0
- package/dist/reset-4CCWB2RT.js +54 -0
- package/dist/reset-J3KCWFMZ.js +54 -0
- package/dist/resolve-HEK27ANI.js +121 -0
- package/dist/retry-HPZIUG2S.js +62 -0
- package/dist/retry-VVI6N6UR.js +60 -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-YLLFDZEM.js +96 -0
- package/dist/rules-add-U2GU4AGP.js +462 -0
- package/dist/run-M7ZDE6IA.js +66 -0
- package/dist/run-V5YQB6TH.js +65 -0
- package/dist/scaffold-ad-H4GJOKAW.js +1511 -0
- package/dist/scaffold-static-ad-2YIFHCTL.js +1005 -0
- package/dist/scaffold-video-3EJLKR2O.js +883 -0
- package/dist/schedule-QMOKWTJ3.js +61 -0
- package/dist/scheduled-agents-FCQHQ6KR.js +50 -0
- package/dist/schema-THFLCMBN.js +132 -0
- package/dist/schema-XKEEAUXP.js +69 -0
- package/dist/search-XIUYSWO6.js +174 -0
- package/dist/select-I22NPSIW.js +101 -0
- package/dist/set-prompt-S75OMQ7L.js +193 -0
- package/dist/setup-links-QVI6NAOK.js +141 -0
- package/dist/shared-3IBNDEFL.js +31 -0
- package/dist/site-PZPJY33N.js +177 -0
- package/dist/sources-ER7ANNG3.js +454 -0
- package/dist/sources-VA23PDND.js +30 -0
- package/dist/stale-MHTU2NQJ.js +71 -0
- package/dist/stats-ZAGJH4AD.js +34 -0
- package/dist/status-ABMJBCPJ.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-QDD3MRJ6.js +54 -0
- package/dist/sync-definition-2EBSQA6A.js +64 -0
- package/dist/tag-manager-3CJ66GKJ.js +43 -0
- package/dist/tags-5JYOEYIT.js +20 -0
- package/dist/tags-B473RWAA.js +224 -0
- package/dist/tags-EWHPUM2V.js +20 -0
- package/dist/tags-KBCX6BDU.js +26 -0
- package/dist/tags-PEWN6GNZ.js +20 -0
- package/dist/targeting-LNDQV4EK.js +759 -0
- package/dist/targeting-LNDQV4EK.js.map +1 -0
- package/dist/targeting-criteria-EU65WUUF.js +113 -0
- package/dist/targets-KVXS5QKM.js +103 -0
- package/dist/testimonials-GR6TIS5S.js +32 -0
- package/dist/themes-JWWTOR3I.js +94 -0
- package/dist/top-companies-OOX3DITI.js +108 -0
- package/dist/translate-GEFUP6KQ.js +604 -0
- package/dist/triggers-OX2GKG4Y.js +142 -0
- package/dist/unlink-3USEPJSA.js +67 -0
- package/dist/unstage-VSCNPTAC.js +85 -0
- package/dist/update-6JKTH65B.js +152 -0
- package/dist/update-FG4ELXYJ.js +98 -0
- package/dist/update-GZFKHA3A.js +188 -0
- package/dist/update-HZHG67N6.js +63 -0
- package/dist/upload-BKCQ6FRW.js +126 -0
- package/dist/url-options-HCVRPZYU.js +130 -0
- package/dist/url-params-UN4DRN2H.js +98 -0
- package/dist/validate-NOWIOAHE.js +117 -0
- package/dist/videos-XMTDEHEJ.js +39 -0
- package/dist/viewer-check-U4XZMMS7.js +80 -0
- package/dist/viewer-check-U4XZMMS7.js.map +1 -0
- package/dist/web-UGU7YMII.js +140 -0
- package/dist/winning-ads-QOAYIR5U.js +84 -0
- package/dist/write-commands-6VR2UD3T.js +1024 -0
- package/dist/write-commands-PEJBTME6.js +1165 -0
- package/dist/write-commands-PEJBTME6.js.map +1 -0
- package/dist/x-VCSMV7T5.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-ELL7ZZLM.js +0 -80
- package/dist/account-YVQGH2GB.js +0 -79
- package/dist/account-reads-5B4FFOZU.js +0 -218
- package/dist/account-writes-CEPERFD6.js +0 -66
- package/dist/accounts-6WNFCGUW.js +0 -611
- package/dist/accounts-UA2ZWRN4.js +0 -75
- package/dist/accounts-ZIE7J6RR.js +0 -77
- package/dist/actions-QZQTB3KR.js +0 -55
- package/dist/activecampaign-LIXWDX74.js +0 -935
- package/dist/activities-IQPJPP4B.js +0 -74
- package/dist/ad-group-writes-XGSCEQTW.js +0 -170
- package/dist/ad-groups-GKOLDGET.js +0 -68
- package/dist/ad-writes-VVD36JKH.js +0 -174
- package/dist/add-HQFI5UVS.js +0 -302
- package/dist/add-JWJP4CQY.js +0 -104
- package/dist/ads-EKZVHKPN.js +0 -77
- package/dist/ads-F365TPXO.js +0 -40
- package/dist/ads-HXX2IAFF.js +0 -113
- package/dist/ads-HXX2IAFF.js.map +0 -1
- package/dist/adsets-LPN6WFGF.js +0 -176
- package/dist/adsets-LPN6WFGF.js.map +0 -1
- package/dist/advertisers-TPIS4R73.js +0 -120
- package/dist/analytics-AFW7ESJW.js +0 -1976
- package/dist/analytics-QG7TBGMC.js +0 -433
- package/dist/animate-G4P3OEJE.js +0 -480
- package/dist/assign-VKINQVCJ.js +0 -77
- package/dist/audience-size-6ZEWCPX6.js +0 -73
- package/dist/audiences-BU4JZJT7.js +0 -268
- package/dist/audiences-XEZHACKH.js +0 -78
- package/dist/audiences-XEZHACKH.js.map +0 -1
- package/dist/audit-5US7TTUF.js +0 -151
- package/dist/autocomplete-XBVLHJ4R.js +0 -111
- package/dist/avatars-5IBVOF63.js +0 -38
- package/dist/bid-pricing-EFYUHTWP.js +0 -100
- package/dist/brand-Z5KRGJX4.js +0 -22
- package/dist/brief-DGAZ6NJG.js +0 -538
- package/dist/businesses-PRRYPR7H.js +0 -53
- package/dist/campaign-groups-AOMTKPUY.js +0 -95
- package/dist/campaign-writes-NSEJCINS.js +0 -170
- package/dist/campaign-writes-NXVLFVZ6.js +0 -165
- package/dist/campaign-writes-NXVLFVZ6.js.map +0 -1
- package/dist/campaigns-4SOLY7OR.js +0 -110
- package/dist/campaigns-4SOLY7OR.js.map +0 -1
- package/dist/campaigns-UELLCVI2.js +0 -109
- package/dist/campaigns-VWN2XPK2.js +0 -76
- package/dist/campaigns-WE42FQKM.js +0 -107
- package/dist/canvas-DG3CJ7FA.js +0 -46
- package/dist/capabilities-FDCILMJK.js +0 -144
- package/dist/catalog-KZNB2YJS.js +0 -65
- package/dist/catalogs-XH5NHH4C.js +0 -128
- package/dist/changes-DKP263OZ.js +0 -135
- package/dist/chatgpt-K6KNTME4.js +0 -47
- package/dist/chats-NFSZEF5L.js +0 -262
- package/dist/chats-NFSZEF5L.js.map +0 -1
- package/dist/check-6UVMPPNH.js +0 -104
- package/dist/chunk-2GT76KEX.js +0 -285
- package/dist/chunk-33XFNSBM.js +0 -433
- package/dist/chunk-36SU43V2.js +0 -6306
- package/dist/chunk-3BKNGXCL.js +0 -23992
- package/dist/chunk-3BKNGXCL.js.map +0 -1
- package/dist/chunk-3VCHJN2B.js +0 -627
- package/dist/chunk-5562QFVB.js +0 -275
- package/dist/chunk-5QW4OQM4.js +0 -831
- package/dist/chunk-5SRHACZW.js +0 -274
- package/dist/chunk-5SRHACZW.js.map +0 -1
- package/dist/chunk-6JWEGFM5.js +0 -174
- package/dist/chunk-6JWEGFM5.js.map +0 -1
- package/dist/chunk-6KULDLLR.js +0 -547
- package/dist/chunk-6OIKNJ7G.js +0 -26
- package/dist/chunk-6TG4CAYD.js +0 -19
- package/dist/chunk-6VZHOXP6.js +0 -172
- package/dist/chunk-7RBJ2Z7Z.js +0 -172
- package/dist/chunk-7RBJ2Z7Z.js.map +0 -1
- package/dist/chunk-7RKUHTS6.js +0 -224
- package/dist/chunk-AGVCQHQK.js +0 -344
- package/dist/chunk-AJ45PER5.js +0 -57
- package/dist/chunk-AL3VGEG5.js +0 -665
- package/dist/chunk-AQMMAB2N.js +0 -197
- package/dist/chunk-B6VCTXSD.js +0 -97
- package/dist/chunk-B7FVPHCW.js +0 -843
- package/dist/chunk-BITS62MF.js +0 -77
- package/dist/chunk-C4MJ3WPQ.js +0 -592
- package/dist/chunk-C6BFE4X2.js +0 -51
- package/dist/chunk-D2YHDDKW.js +0 -23
- package/dist/chunk-E4GWQFTL.js +0 -66
- package/dist/chunk-EIDTAHUC.js +0 -191
- package/dist/chunk-ERRMJ7AZ.js +0 -169
- package/dist/chunk-EZ5KY6I2.js +0 -1079
- package/dist/chunk-F3CZFUXZ.js +0 -3187
- package/dist/chunk-F3CZFUXZ.js.map +0 -1
- package/dist/chunk-F5IH7G2F.js +0 -1919
- package/dist/chunk-GFTDR3Z2.js +0 -604
- package/dist/chunk-GGY2KH3K.js +0 -249
- package/dist/chunk-GOJXKIFQ.js +0 -1605
- package/dist/chunk-GOJXKIFQ.js.map +0 -1
- package/dist/chunk-GYJQV3IX.js +0 -225
- package/dist/chunk-H5HDZ7IC.js +0 -139
- package/dist/chunk-HVI4DNZL.js +0 -103
- package/dist/chunk-HY4G44UC.js +0 -156
- package/dist/chunk-I2WRZJAC.js +0 -46
- package/dist/chunk-IHUIXQBP.js +0 -206
- package/dist/chunk-IMWXYSCP.js +0 -392
- 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-L63JZLCX.js +0 -647
- package/dist/chunk-L63JZLCX.js.map +0 -1
- package/dist/chunk-M2D7ZWEU.js +0 -150
- package/dist/chunk-MP5IMGKF.js +0 -148
- package/dist/chunk-NA2KOPW6.js +0 -363
- package/dist/chunk-NAA4CKZZ.js +0 -4249
- package/dist/chunk-NAA4CKZZ.js.map +0 -1
- package/dist/chunk-NDVAOHMY.js +0 -903
- package/dist/chunk-NLUFREI6.js +0 -160
- package/dist/chunk-OKLYOMQ3.js +0 -1606
- package/dist/chunk-ONVPV23E.js +0 -122
- package/dist/chunk-OP7DNHD2.js +0 -137
- package/dist/chunk-OP7DNHD2.js.map +0 -1
- package/dist/chunk-OWRFIAW2.js +0 -91
- package/dist/chunk-P5ENZXC2.js +0 -64
- package/dist/chunk-QK76OM22.js +0 -297
- package/dist/chunk-R5IZ6P3E.js +0 -3868
- package/dist/chunk-RBIWYPJQ.js +0 -159
- package/dist/chunk-RESDRJRP.js +0 -399
- package/dist/chunk-RGX7AQ2K.js +0 -131
- package/dist/chunk-RWLQYW2L.js +0 -8939
- package/dist/chunk-S7B2TOOU.js +0 -98
- package/dist/chunk-SIKCVWM3.js +0 -76
- package/dist/chunk-TBZPXGEW.js +0 -142
- package/dist/chunk-TFJW5CXD.js +0 -5368
- package/dist/chunk-TPS3X5DI.js +0 -89
- package/dist/chunk-UM7ESCIN.js +0 -846
- package/dist/chunk-UWDYGSJF.js +0 -61
- package/dist/chunk-V57TZQPI.js +0 -228
- package/dist/chunk-VLKYUZF7.js +0 -346
- package/dist/chunk-VYZ4KQ3C.js +0 -942
- package/dist/chunk-WRMMJUNJ.js +0 -494
- package/dist/chunk-WY5H3XYC.js +0 -167
- package/dist/chunk-XLJVJ5TK.js +0 -1518
- package/dist/chunk-Y2GH4YWA.js +0 -207
- package/dist/chunk-YSB26POP.js +0 -8914
- package/dist/chunk-YT2ZSPWF.js +0 -455
- package/dist/claim-7CB6TVEW.js +0 -197
- package/dist/companies-CACKHSY5.js +0 -195
- package/dist/complete-IHLTYFT2.js +0 -81
- package/dist/connect-J722BTO4.js +0 -42
- package/dist/conversation-HRNJJJW5.js +0 -93
- package/dist/conversion-report-KL4LIVY5.js +0 -125
- package/dist/conversion-upload-command-WT6C35QL.js +0 -438
- package/dist/conversion-writes-MPBCTVSP.js +0 -120
- package/dist/conversions-ACYT6K7H.js +0 -76
- package/dist/conversions-DE7W5T4Z.js +0 -135
- package/dist/create-6ZDLKC4F.js +0 -59
- package/dist/create-7YO6DAAT.js +0 -207
- package/dist/create-W7OTXLCZ.js +0 -132
- package/dist/create-ZU7AHBYM.js +0 -235
- package/dist/creatives-6UYAAC5E.js +0 -58
- package/dist/creatives-XUIY3MQI.js +0 -182
- package/dist/creatives-YJ3CXZQC.js +0 -87
- package/dist/creatives-YJ3CXZQC.js.map +0 -1
- package/dist/credentials-ADGJKYA7.js +0 -287
- package/dist/critique-BBHPASRE.js +0 -227
- package/dist/critique-T7QGPPEX.js +0 -1458
- package/dist/crm-EKDV2SET.js +0 -224
- package/dist/crm-MXT2HUKU.js +0 -318
- package/dist/currency-TBBXPWXU.js +0 -88
- package/dist/custom-conversions-YRYE65PU.js +0 -125
- package/dist/custom-conversions-YRYE65PU.js.map +0 -1
- package/dist/customers-EZEVYT4Z.js +0 -56
- package/dist/delete-3UDIH2ZD.js +0 -66
- package/dist/delete-4L3HO5B6.js +0 -54
- package/dist/delete-SRU4GRDT.js +0 -64
- package/dist/demographics-3OWQDW7B.js +0 -138
- package/dist/discard-UEMA5UHL.js +0 -66
- package/dist/discover-RTV5XWRI.js +0 -172
- package/dist/domain-6324IS6I.js +0 -98
- package/dist/draft-2KS56KCT.js +0 -307
- package/dist/draft-777O2UIX.js +0 -217
- package/dist/draft-EWDOIXSH.js +0 -233
- package/dist/draft-EWDOIXSH.js.map +0 -1
- package/dist/draft-GRL7577L.js +0 -306
- package/dist/draft-VOFJXUOC.js +0 -328
- package/dist/draft-VOFJXUOC.js.map +0 -1
- package/dist/draft-VXGZDBC7.js +0 -281
- package/dist/experiment-G3FQVAJU.js +0 -1397
- package/dist/facets-YV6NORA6.js +0 -114
- package/dist/feedback-YITFVOHX.js +0 -106
- package/dist/feedback-record-FW2QWFYQ.js +0 -260
- package/dist/fetch-EYXLTSKW.js +0 -176
- package/dist/find-EVY4XEIQ.js +0 -134
- package/dist/fit-KEFUU7QA.js +0 -62
- package/dist/flows-EJV7WMGD.js +0 -247
- package/dist/fonts-DMIBVZ6D.js +0 -36
- package/dist/forecast-5YKQZSE7.js +0 -118
- package/dist/forecast-G43FKEZE.js +0 -168
- package/dist/funnel-ND7OXIKT.js +0 -394
- package/dist/ga4-2BL5YAYN.js +0 -55
- package/dist/generate-D3LUXFJT.js +0 -263
- package/dist/get-GB6SPWCA.js +0 -79
- package/dist/get-PU3YHQWN.js +0 -56
- package/dist/google-7STODZQR.js +0 -136
- package/dist/google-MHB5TOFN.js +0 -3265
- package/dist/google-ads-XGEGKEL6.js +0 -195
- package/dist/gsc-UU3T2C6B.js +0 -30
- package/dist/history-NYWAMWAY.js +0 -133
- package/dist/history-OQAOTEO3.js +0 -67
- package/dist/hubspot-LMIVY7FR.js +0 -779
- package/dist/icon-GB7UH5RF.js +0 -137
- package/dist/ideas-W4IIVOZ4.js +0 -40
- package/dist/images-PPMIMPTS.js +0 -92
- package/dist/ingest-2YGWBWAB.js +0 -107
- package/dist/ingest-FRDTTPYD.js +0 -23
- package/dist/insights-4HT2NAYP.js +0 -423
- package/dist/insights-4HT2NAYP.js.map +0 -1
- package/dist/insights-PZXFCMX2.js +0 -122
- package/dist/inspect-QF2S3U2E.js +0 -189
- package/dist/inspiration-XQYHBJY2.js +0 -53
- package/dist/intent-JJTDJ732.js +0 -95
- package/dist/keyword-gap-4NQN56JP.js +0 -130
- package/dist/keyword-metrics-QCIOBMTW.js +0 -197
- package/dist/keywords-for-site-FS635JXM.js +0 -128
- package/dist/landing-6H5QEHOW.js +0 -28
- package/dist/languages-FNE45NXJ.js +0 -40
- package/dist/leads-2XOSAYP4.js +0 -293
- package/dist/leads-2XOSAYP4.js.map +0 -1
- package/dist/leads-MKLSWZO6.js +0 -90
- package/dist/learn-C564OA7W.js +0 -204
- package/dist/line-item-writes-K7QNWRQ3.js +0 -208
- package/dist/line-items-TBTHVKCZ.js +0 -103
- package/dist/link-CPJJ6T4M.js +0 -64
- package/dist/linkedin-HGUK624E.js +0 -1057
- package/dist/list-AAT5CWDA.js +0 -303
- package/dist/list-N5SJXLYF.js +0 -64
- package/dist/list-OKDU5W4D.js +0 -151
- package/dist/locations-FTDI4FBI.js +0 -40
- package/dist/locations-VL2G22Y5.js +0 -67
- package/dist/locations-VL2G22Y5.js.map +0 -1
- package/dist/log-KVRWIJS5.js +0 -92
- package/dist/logo-YSNUUT33.js +0 -18
- package/dist/make-4NTHJ4TG.js +0 -1353
- package/dist/map-HQ43MKEC.js +0 -433
- package/dist/mcp-MFLUHPL5.js +0 -714
- package/dist/media-ES2UBGYW.js +0 -15
- package/dist/media-ES2UBGYW.js.map +0 -1
- package/dist/media-sources-A4ICRSKB.js +0 -32
- package/dist/members-NRKQSSVS.js +0 -44
- package/dist/meta-AOIPEDV5.js +0 -69
- package/dist/meta-AOIPEDV5.js.map +0 -1
- package/dist/metrics-3BRTJNGW.js +0 -152
- package/dist/models-IH6KE6OH.js +0 -155
- package/dist/normalize-EH6BTBOB.js +0 -141
- package/dist/options-YEPQXXRY.js +0 -122
- package/dist/organization-XSWT7S5S.js +0 -836
- package/dist/organization-XSWT7S5S.js.map +0 -1
- package/dist/pages-FTI44OSH.js +0 -66
- package/dist/performance-YJVMM6DL.js +0 -24
- package/dist/pixels-DWW2TDY2.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-M5OVEBC5.js +0 -180
- package/dist/promoted-tweets-2MOIERNB.js +0 -119
- package/dist/publish-NPENZIHV.js +0 -341
- package/dist/query-3OMCFGLU.js +0 -61
- package/dist/reddit-LI37G5LS.js +0 -26
- package/dist/refresh-4BBV5SPL.js +0 -94
- package/dist/release-4X3TLMQT.js +0 -60
- package/dist/relevant-pages-DIYZM6FJ.js +0 -99
- package/dist/remove-Q4AES5UH.js +0 -50
- package/dist/reopen-SDTPL3BN.js +0 -63
- package/dist/rerun-NA3MH4HG.js +0 -90
- package/dist/research-5H265UV7.js +0 -262
- package/dist/research-LXQRNAQ2.js +0 -62
- package/dist/reset-42M5IKDI.js +0 -54
- package/dist/reset-52PU3CVD.js +0 -54
- package/dist/resolve-R4IACKIZ.js +0 -121
- package/dist/retry-FPF42ZNG.js +0 -62
- package/dist/retry-RTQGAH6G.js +0 -60
- package/dist/rules-CGNYJYVC.js +0 -96
- package/dist/rules-add-EO5476BF.js +0 -462
- package/dist/run-3AZJ3UQU.js +0 -66
- package/dist/run-AFMTXJTU.js +0 -65
- package/dist/scaffold-ad-OGU2IINY.js +0 -1511
- package/dist/scaffold-static-ad-HO4BJW4H.js +0 -1005
- package/dist/scaffold-video-TLQ4WSDK.js +0 -883
- package/dist/schedule-AWWMI5FO.js +0 -61
- package/dist/scheduled-agents-ELLU7BSE.js +0 -50
- package/dist/schema-BOOZEJPA.js +0 -69
- package/dist/schema-QNVLKMKG.js +0 -132
- package/dist/search-BZNIB2XF.js +0 -174
- package/dist/select-NLWZIQ7L.js +0 -101
- package/dist/set-prompt-QKW2L553.js +0 -193
- package/dist/setup-links-NMSQ4BG7.js +0 -141
- package/dist/shared-NDRFKAH7.js +0 -31
- package/dist/site-GGYFBZT5.js +0 -177
- package/dist/sources-KTGDMUV4.js +0 -30
- package/dist/sources-LPQZDTIU.js +0 -454
- package/dist/stale-C5JLQ4D2.js +0 -71
- package/dist/stats-RCLQE4HJ.js +0 -34
- package/dist/status-6PS3HDS5.js +0 -62
- package/dist/stock-ECRBD7RP.js +0 -179
- package/dist/studio-LMDDQWRY.js +0 -49
- package/dist/sync-XSATDLE6.js +0 -54
- package/dist/sync-definition-LSGDHMHV.js +0 -64
- package/dist/tag-manager-G3LBQZUL.js +0 -43
- package/dist/tags-5Y7TPJNZ.js +0 -20
- package/dist/tags-6TT5ZJVX.js +0 -26
- package/dist/tags-BQLIOWS4.js +0 -20
- package/dist/tags-EXWKO6Q6.js +0 -224
- package/dist/tags-OK34UGSM.js +0 -20
- package/dist/targeting-criteria-AWPMOX4V.js +0 -113
- package/dist/targets-EXYCOHEX.js +0 -103
- package/dist/testimonials-BTYMR3U4.js +0 -32
- package/dist/themes-AOU4ZZXL.js +0 -94
- package/dist/top-companies-FRPAURAH.js +0 -108
- package/dist/translate-SF234KLG.js +0 -604
- package/dist/triggers-SJUXDU3X.js +0 -142
- package/dist/unlink-RIZD3XTI.js +0 -67
- package/dist/unstage-MKTIVI3I.js +0 -85
- package/dist/update-COHXM25C.js +0 -152
- package/dist/update-NKX2GXAR.js +0 -63
- package/dist/update-OXVZXDYH.js +0 -98
- package/dist/update-SZLYEEU4.js +0 -188
- package/dist/upload-LEDO3IRC.js +0 -126
- package/dist/url-options-Q5SL42CV.js +0 -130
- package/dist/url-params-KP6D7BF3.js +0 -98
- package/dist/validate-7QWQZ2OL.js +0 -117
- package/dist/videos-VABK4KHJ.js +0 -39
- package/dist/viewer-check-I45HHWSW.js +0 -80
- package/dist/web-DZGUPZYQ.js +0 -140
- package/dist/winning-ads-6MDLRSKM.js +0 -84
- package/dist/write-commands-3VIK3VC4.js +0 -1024
- package/dist/write-commands-HCQI4Y27.js +0 -737
- package/dist/write-commands-HCQI4Y27.js.map +0 -1
- package/dist/x-GRDU7QC2.js +0 -47
- /package/dist/{account-ELL7ZZLM.js.map → account-3H6BZO5H.js.map} +0 -0
- /package/dist/{account-YVQGH2GB.js.map → account-KNRDOUJP.js.map} +0 -0
- /package/dist/{account-reads-5B4FFOZU.js.map → account-reads-GA6FVKLE.js.map} +0 -0
- /package/dist/{account-writes-CEPERFD6.js.map → account-writes-AE5IJGGW.js.map} +0 -0
- /package/dist/{accounts-UA2ZWRN4.js.map → accounts-K4INATCW.js.map} +0 -0
- /package/dist/{accounts-6WNFCGUW.js.map → accounts-RTN5ZGTU.js.map} +0 -0
- /package/dist/{accounts-ZIE7J6RR.js.map → accounts-RW6KXBOQ.js.map} +0 -0
- /package/dist/{actions-QZQTB3KR.js.map → actions-HNLISA7T.js.map} +0 -0
- /package/dist/{activecampaign-LIXWDX74.js.map → activecampaign-I5CILZPU.js.map} +0 -0
- /package/dist/{activities-IQPJPP4B.js.map → activities-T253KK4Q.js.map} +0 -0
- /package/dist/{ad-group-writes-XGSCEQTW.js.map → ad-group-writes-VRSBI2Z2.js.map} +0 -0
- /package/dist/{ad-groups-GKOLDGET.js.map → ad-groups-IEBVEAMS.js.map} +0 -0
- /package/dist/{ad-writes-VVD36JKH.js.map → ad-writes-ALV4KFPZ.js.map} +0 -0
- /package/dist/{add-HQFI5UVS.js.map → add-6WKPFMLG.js.map} +0 -0
- /package/dist/{add-JWJP4CQY.js.map → add-XF5COUAS.js.map} +0 -0
- /package/dist/{ads-EKZVHKPN.js.map → ads-CQZHD7FC.js.map} +0 -0
- /package/dist/{ads-F365TPXO.js.map → ads-QIKZ6O2N.js.map} +0 -0
- /package/dist/{advertisers-TPIS4R73.js.map → advertisers-6NUM2Q3A.js.map} +0 -0
- /package/dist/{analytics-AFW7ESJW.js.map → analytics-ALOZ7ZZ4.js.map} +0 -0
- /package/dist/{analytics-QG7TBGMC.js.map → analytics-VLHE5A2M.js.map} +0 -0
- /package/dist/{animate-G4P3OEJE.js.map → animate-SVEPM267.js.map} +0 -0
- /package/dist/{connect-J722BTO4.js.map → asset-writes-L5TMKIZC.js.map} +0 -0
- /package/dist/{assign-VKINQVCJ.js.map → assign-6HI6TNLP.js.map} +0 -0
- /package/dist/{audience-size-6ZEWCPX6.js.map → audience-size-25LP2OBF.js.map} +0 -0
- /package/dist/{audiences-BU4JZJT7.js.map → audiences-AAZH56WD.js.map} +0 -0
- /package/dist/{audit-5US7TTUF.js.map → audit-YY6X2MPA.js.map} +0 -0
- /package/dist/{autocomplete-XBVLHJ4R.js.map → autocomplete-SAWJK4NF.js.map} +0 -0
- /package/dist/{avatars-5IBVOF63.js.map → avatars-YSFFRHDK.js.map} +0 -0
- /package/dist/{bid-pricing-EFYUHTWP.js.map → bid-pricing-HZ74SLEB.js.map} +0 -0
- /package/dist/{brand-Z5KRGJX4.js.map → brand-T3OACVQX.js.map} +0 -0
- /package/dist/{brief-DGAZ6NJG.js.map → brief-7S6XCJIA.js.map} +0 -0
- /package/dist/{businesses-PRRYPR7H.js.map → businesses-H3HIDQX6.js.map} +0 -0
- /package/dist/{campaign-groups-AOMTKPUY.js.map → campaign-groups-YJK767AP.js.map} +0 -0
- /package/dist/{campaign-writes-NSEJCINS.js.map → campaign-writes-U5PUVSMT.js.map} +0 -0
- /package/dist/{campaigns-UELLCVI2.js.map → campaigns-GALDR5KK.js.map} +0 -0
- /package/dist/{campaigns-VWN2XPK2.js.map → campaigns-JEIKY2M4.js.map} +0 -0
- /package/dist/{campaigns-WE42FQKM.js.map → campaigns-VTRMKSAT.js.map} +0 -0
- /package/dist/{canvas-DG3CJ7FA.js.map → canvas-SVJEQO4V.js.map} +0 -0
- /package/dist/{capabilities-FDCILMJK.js.map → capabilities-2KT6TCGZ.js.map} +0 -0
- /package/dist/{catalog-KZNB2YJS.js.map → catalog-S32MX453.js.map} +0 -0
- /package/dist/{catalogs-XH5NHH4C.js.map → catalogs-OCVXZLIF.js.map} +0 -0
- /package/dist/{changes-DKP263OZ.js.map → changes-5TOYRKZR.js.map} +0 -0
- /package/dist/{chatgpt-K6KNTME4.js.map → chatgpt-QVF2FD3E.js.map} +0 -0
- /package/dist/{check-6UVMPPNH.js.map → check-SLNHVYGS.js.map} +0 -0
- /package/dist/{chunk-HVI4DNZL.js.map → chunk-2LI6746F.js.map} +0 -0
- /package/dist/{chunk-AQMMAB2N.js.map → chunk-2PWNIEW4.js.map} +0 -0
- /package/dist/{chunk-KPYDTIAI.js.map → chunk-2WZI36D3.js.map} +0 -0
- /package/dist/{chunk-ONVPV23E.js.map → chunk-3W6G6ARX.js.map} +0 -0
- /package/dist/{chunk-OKLYOMQ3.js.map → chunk-45UK4KYJ.js.map} +0 -0
- /package/dist/{chunk-GYJQV3IX.js.map → chunk-46GWHUKN.js.map} +0 -0
- /package/dist/{chunk-F5IH7G2F.js.map → chunk-4AMIHNNP.js.map} +0 -0
- /package/dist/{chunk-7RKUHTS6.js.map → chunk-4KJMLYCD.js.map} +0 -0
- /package/dist/{chunk-Y2GH4YWA.js.map → chunk-5HJRZFMW.js.map} +0 -0
- /package/dist/{chunk-36SU43V2.js.map → chunk-66QHX566.js.map} +0 -0
- /package/dist/{chunk-EIDTAHUC.js.map → chunk-6NCJGU6I.js.map} +0 -0
- /package/dist/{chunk-WRMMJUNJ.js.map → chunk-6WCAV27H.js.map} +0 -0
- /package/dist/{chunk-E4GWQFTL.js.map → chunk-AO45BX6Q.js.map} +0 -0
- /package/dist/{chunk-M2D7ZWEU.js.map → chunk-BDYLILMW.js.map} +0 -0
- /package/dist/{chunk-GGY2KH3K.js.map → chunk-BL2MX6CR.js.map} +0 -0
- /package/dist/{chunk-GFTDR3Z2.js.map → chunk-BOPC3D6I.js.map} +0 -0
- /package/dist/{chunk-I2WRZJAC.js.map → chunk-BTY4LZBG.js.map} +0 -0
- /package/dist/{chunk-P5ENZXC2.js.map → chunk-C7NWUCLQ.js.map} +0 -0
- /package/dist/{chunk-6KULDLLR.js.map → chunk-D4CKCNGW.js.map} +0 -0
- /package/dist/{chunk-QK76OM22.js.map → chunk-D5CUAOQX.js.map} +0 -0
- /package/dist/{chunk-NDVAOHMY.js.map → chunk-D5UXWKLQ.js.map} +0 -0
- /package/dist/{chunk-H5HDZ7IC.js.map → chunk-DCBZ5CHZ.js.map} +0 -0
- /package/dist/{chunk-XLJVJ5TK.js.map → chunk-E2RFM6R2.js.map} +0 -0
- /package/dist/{chunk-MP5IMGKF.js.map → chunk-EOY6BK4C.js.map} +0 -0
- /package/dist/{chunk-IMWXYSCP.js.map → chunk-FA4YZFRV.js.map} +0 -0
- /package/dist/{chunk-VYZ4KQ3C.js.map → chunk-FVHJCERJ.js.map} +0 -0
- /package/dist/{chunk-3VCHJN2B.js.map → chunk-G2LGMWNG.js.map} +0 -0
- /package/dist/{chunk-RESDRJRP.js.map → chunk-G4STCTY3.js.map} +0 -0
- /package/dist/{chunk-BITS62MF.js.map → chunk-G6XKD7QE.js.map} +0 -0
- /package/dist/{chunk-5QW4OQM4.js.map → chunk-GSZZLW5Q.js.map} +0 -0
- /package/dist/{chunk-NA2KOPW6.js.map → chunk-HSPMBLKE.js.map} +0 -0
- /package/dist/{chunk-5562QFVB.js.map → chunk-IJ22WP3G.js.map} +0 -0
- /package/dist/{chunk-B7FVPHCW.js.map → chunk-IKCP5NCE.js.map} +0 -0
- /package/dist/{chunk-ERRMJ7AZ.js.map → chunk-ILSKYRDR.js.map} +0 -0
- /package/dist/{chunk-6OIKNJ7G.js.map → chunk-JAC6JVCI.js.map} +0 -0
- /package/dist/{chunk-OWRFIAW2.js.map → chunk-JKJQWRLO.js.map} +0 -0
- /package/dist/{chunk-TFJW5CXD.js.map → chunk-JQH5VG6F.js.map} +0 -0
- /package/dist/{chunk-AJ45PER5.js.map → chunk-JQU2LUZG.js.map} +0 -0
- /package/dist/{chunk-YSB26POP.js.map → chunk-JVH5A3XC.js.map} +0 -0
- /package/dist/{chunk-RGX7AQ2K.js.map → chunk-JYALBYN7.js.map} +0 -0
- /package/dist/{chunk-RWLQYW2L.js.map → chunk-KOXDXSKN.js.map} +0 -0
- /package/dist/{chunk-EZ5KY6I2.js.map → chunk-LOMH4TTC.js.map} +0 -0
- /package/dist/{chunk-TBZPXGEW.js.map → chunk-LXQB4ZGE.js.map} +0 -0
- /package/dist/{chunk-6TG4CAYD.js.map → chunk-M6PN3VH6.js.map} +0 -0
- /package/dist/{chunk-AL3VGEG5.js.map → chunk-M7IJU77B.js.map} +0 -0
- /package/dist/{chunk-C4MJ3WPQ.js.map → chunk-MVB32GPI.js.map} +0 -0
- /package/dist/{chunk-C6BFE4X2.js.map → chunk-MXH35PJ5.js.map} +0 -0
- /package/dist/{chunk-SIKCVWM3.js.map → chunk-MZPS46OR.js.map} +0 -0
- /package/dist/{chunk-IHUIXQBP.js.map → chunk-NEIUVSDK.js.map} +0 -0
- /package/dist/{chunk-2GT76KEX.js.map → chunk-NEOUY3Q7.js.map} +0 -0
- /package/dist/{chunk-RBIWYPJQ.js.map → chunk-NXZCCGES.js.map} +0 -0
- /package/dist/{chunk-YT2ZSPWF.js.map → chunk-P3W6SRSQ.js.map} +0 -0
- /package/dist/{chunk-NLUFREI6.js.map → chunk-P5FRWPG7.js.map} +0 -0
- /package/dist/{chunk-D2YHDDKW.js.map → chunk-PA4W7BCQ.js.map} +0 -0
- /package/dist/{chunk-B6VCTXSD.js.map → chunk-PQJXIY64.js.map} +0 -0
- /package/dist/{chunk-TPS3X5DI.js.map → chunk-PTGYM4J6.js.map} +0 -0
- /package/dist/{chunk-33XFNSBM.js.map → chunk-QNLJ3GNZ.js.map} +0 -0
- /package/dist/{chunk-UWDYGSJF.js.map → chunk-SISA4HQR.js.map} +0 -0
- /package/dist/{chunk-V57TZQPI.js.map → chunk-SVM3DGAQ.js.map} +0 -0
- /package/dist/{chunk-6VZHOXP6.js.map → chunk-TP7HKSBX.js.map} +0 -0
- /package/dist/{chunk-VLKYUZF7.js.map → chunk-TRPJJMCS.js.map} +0 -0
- /package/dist/{chunk-R5IZ6P3E.js.map → chunk-UNX6BS4U.js.map} +0 -0
- /package/dist/{chunk-AGVCQHQK.js.map → chunk-VD73V44J.js.map} +0 -0
- /package/dist/{chunk-UM7ESCIN.js.map → chunk-VL65H6YM.js.map} +0 -0
- /package/dist/{chunk-HY4G44UC.js.map → chunk-X7F4Z6UM.js.map} +0 -0
- /package/dist/{chunk-S7B2TOOU.js.map → chunk-ZCQVKDHV.js.map} +0 -0
- /package/dist/{chunk-WY5H3XYC.js.map → chunk-ZJSGGJ5R.js.map} +0 -0
- /package/dist/{claim-7CB6TVEW.js.map → claim-SLGYOOWD.js.map} +0 -0
- /package/dist/{companies-CACKHSY5.js.map → companies-IVMH6YII.js.map} +0 -0
- /package/dist/{complete-IHLTYFT2.js.map → complete-45L2FI2X.js.map} +0 -0
- /package/dist/{customers-EZEVYT4Z.js.map → connect-S54TJ6OV.js.map} +0 -0
- /package/dist/{conversation-HRNJJJW5.js.map → conversation-RIOL3OJ7.js.map} +0 -0
- /package/dist/{conversion-report-KL4LIVY5.js.map → conversion-report-REOHVLCI.js.map} +0 -0
- /package/dist/{conversion-upload-command-WT6C35QL.js.map → conversion-upload-command-W4GELHIQ.js.map} +0 -0
- /package/dist/{conversion-writes-MPBCTVSP.js.map → conversion-writes-ECZBVY7D.js.map} +0 -0
- /package/dist/{conversions-ACYT6K7H.js.map → conversions-5QCSCRLI.js.map} +0 -0
- /package/dist/{conversions-DE7W5T4Z.js.map → conversions-TKIXNSYR.js.map} +0 -0
- /package/dist/{create-W7OTXLCZ.js.map → create-7JY2PTIZ.js.map} +0 -0
- /package/dist/{create-6ZDLKC4F.js.map → create-ACLCRXQP.js.map} +0 -0
- /package/dist/{create-7YO6DAAT.js.map → create-KYBMFD32.js.map} +0 -0
- /package/dist/{create-ZU7AHBYM.js.map → create-VAPJ52GJ.js.map} +0 -0
- /package/dist/{creatives-XUIY3MQI.js.map → creatives-5I3G5YP3.js.map} +0 -0
- /package/dist/{creatives-6UYAAC5E.js.map → creatives-PCAGWPW3.js.map} +0 -0
- /package/dist/{credentials-ADGJKYA7.js.map → credentials-YTQ6BHWV.js.map} +0 -0
- /package/dist/{critique-T7QGPPEX.js.map → critique-BHYJYZDV.js.map} +0 -0
- /package/dist/{critique-BBHPASRE.js.map → critique-NRHUPIWF.js.map} +0 -0
- /package/dist/{crm-MXT2HUKU.js.map → crm-IKTWHWEB.js.map} +0 -0
- /package/dist/{crm-EKDV2SET.js.map → crm-N7K57LZJ.js.map} +0 -0
- /package/dist/{currency-TBBXPWXU.js.map → currency-PW7HIBZ6.js.map} +0 -0
- /package/dist/{fit-KEFUU7QA.js.map → customers-NLU7NYDC.js.map} +0 -0
- /package/dist/{delete-SRU4GRDT.js.map → delete-26J3X3ZH.js.map} +0 -0
- /package/dist/{delete-3UDIH2ZD.js.map → delete-A4F5Z54J.js.map} +0 -0
- /package/dist/{delete-4L3HO5B6.js.map → delete-EVXOFT2H.js.map} +0 -0
- /package/dist/{demographics-3OWQDW7B.js.map → demographics-VZKFMM4X.js.map} +0 -0
- /package/dist/{discard-UEMA5UHL.js.map → discard-ULRVUJDV.js.map} +0 -0
- /package/dist/{discover-RTV5XWRI.js.map → discover-PVXWX2WL.js.map} +0 -0
- /package/dist/{domain-6324IS6I.js.map → domain-L4WCCX7R.js.map} +0 -0
- /package/dist/{draft-VXGZDBC7.js.map → draft-34CGWUVA.js.map} +0 -0
- /package/dist/{draft-GRL7577L.js.map → draft-57OQKHZI.js.map} +0 -0
- /package/dist/{draft-777O2UIX.js.map → draft-O4S5RKWK.js.map} +0 -0
- /package/dist/{draft-2KS56KCT.js.map → draft-PAYD6GIM.js.map} +0 -0
- /package/dist/{experiment-G3FQVAJU.js.map → experiment-7N4QFRWV.js.map} +0 -0
- /package/dist/{facets-YV6NORA6.js.map → facets-EHQKGGJ2.js.map} +0 -0
- /package/dist/{feedback-YITFVOHX.js.map → feedback-O3H42V4I.js.map} +0 -0
- /package/dist/{feedback-record-FW2QWFYQ.js.map → feedback-record-FAPN2GBS.js.map} +0 -0
- /package/dist/{fetch-EYXLTSKW.js.map → fetch-ETKT2RBC.js.map} +0 -0
- /package/dist/{find-EVY4XEIQ.js.map → find-FSQAEGGF.js.map} +0 -0
- /package/dist/{fonts-DMIBVZ6D.js.map → fit-UJQ47C4A.js.map} +0 -0
- /package/dist/{flows-EJV7WMGD.js.map → flows-T22B77J3.js.map} +0 -0
- /package/dist/{ideas-W4IIVOZ4.js.map → fonts-7VWBQPJF.js.map} +0 -0
- /package/dist/{forecast-G43FKEZE.js.map → forecast-HB3RDBQN.js.map} +0 -0
- /package/dist/{forecast-5YKQZSE7.js.map → forecast-OI7YWZ6F.js.map} +0 -0
- /package/dist/{funnel-ND7OXIKT.js.map → funnel-7OA33VRP.js.map} +0 -0
- /package/dist/{ga4-2BL5YAYN.js.map → ga4-LPDIBNYP.js.map} +0 -0
- /package/dist/{generate-D3LUXFJT.js.map → generate-OMXBFGGR.js.map} +0 -0
- /package/dist/{get-PU3YHQWN.js.map → get-2RSN4N3J.js.map} +0 -0
- /package/dist/{get-GB6SPWCA.js.map → get-6N7QJMIP.js.map} +0 -0
- /package/dist/{google-7STODZQR.js.map → google-5ESVO76E.js.map} +0 -0
- /package/dist/{google-MHB5TOFN.js.map → google-6JZBJ2ZQ.js.map} +0 -0
- /package/dist/{google-ads-XGEGKEL6.js.map → google-ads-G7REKD4A.js.map} +0 -0
- /package/dist/{gsc-UU3T2C6B.js.map → gsc-FIZTQX3N.js.map} +0 -0
- /package/dist/{history-OQAOTEO3.js.map → history-QKDYBSYM.js.map} +0 -0
- /package/dist/{history-NYWAMWAY.js.map → history-YMK2JNZU.js.map} +0 -0
- /package/dist/{hubspot-LMIVY7FR.js.map → hubspot-BUFS7S33.js.map} +0 -0
- /package/dist/{icon-GB7UH5RF.js.map → icon-CSVAZ7NE.js.map} +0 -0
- /package/dist/{ingest-FRDTTPYD.js.map → ideas-JQT422P7.js.map} +0 -0
- /package/dist/{images-PPMIMPTS.js.map → images-WBNWK2ZH.js.map} +0 -0
- /package/dist/{ingest-2YGWBWAB.js.map → ingest-RQUJGS7K.js.map} +0 -0
- /package/dist/{logo-YSNUUT33.js.map → ingest-XLTRLCDV.js.map} +0 -0
- /package/dist/{insights-PZXFCMX2.js.map → insights-SQLE5NOJ.js.map} +0 -0
- /package/dist/{inspect-QF2S3U2E.js.map → inspect-KFVAMD4N.js.map} +0 -0
- /package/dist/{inspiration-XQYHBJY2.js.map → inspiration-IX5N724J.js.map} +0 -0
- /package/dist/{intent-JJTDJ732.js.map → intent-4KJGYYHL.js.map} +0 -0
- /package/dist/{keyword-gap-4NQN56JP.js.map → keyword-gap-U64KXDR4.js.map} +0 -0
- /package/dist/{keyword-metrics-QCIOBMTW.js.map → keyword-metrics-WYF3QMCW.js.map} +0 -0
- /package/dist/{keywords-for-site-FS635JXM.js.map → keywords-for-site-G5L5EP3T.js.map} +0 -0
- /package/dist/{landing-6H5QEHOW.js.map → landing-Y6QCTXCZ.js.map} +0 -0
- /package/dist/{languages-FNE45NXJ.js.map → languages-7IPVGGW5.js.map} +0 -0
- /package/dist/{leads-MKLSWZO6.js.map → leads-4SJ4NJOI.js.map} +0 -0
- /package/dist/{learn-C564OA7W.js.map → learn-3BDZUWDT.js.map} +0 -0
- /package/dist/{line-item-writes-K7QNWRQ3.js.map → line-item-writes-YXKYR25W.js.map} +0 -0
- /package/dist/{line-items-TBTHVKCZ.js.map → line-items-CKUD2UU4.js.map} +0 -0
- /package/dist/{link-CPJJ6T4M.js.map → link-VBYFI7AM.js.map} +0 -0
- /package/dist/{linkedin-HGUK624E.js.map → linkedin-UGMAFSGO.js.map} +0 -0
- /package/dist/{list-OKDU5W4D.js.map → list-6ZNZGRRK.js.map} +0 -0
- /package/dist/{list-N5SJXLYF.js.map → list-ENYDGT3F.js.map} +0 -0
- /package/dist/{list-AAT5CWDA.js.map → list-VSUF2IWT.js.map} +0 -0
- /package/dist/{locations-FTDI4FBI.js.map → locations-QJBYWRCN.js.map} +0 -0
- /package/dist/{log-KVRWIJS5.js.map → log-AACKGBDW.js.map} +0 -0
- /package/dist/{performance-YJVMM6DL.js.map → logo-VHXH4J6A.js.map} +0 -0
- /package/dist/{make-4NTHJ4TG.js.map → make-W2PYZXYF.js.map} +0 -0
- /package/dist/{map-HQ43MKEC.js.map → map-63CQHWPI.js.map} +0 -0
- /package/dist/{mcp-MFLUHPL5.js.map → mcp-RKAXC6IP.js.map} +0 -0
- /package/dist/{media-sources-A4ICRSKB.js.map → media-sources-EZKAJNVD.js.map} +0 -0
- /package/dist/{members-NRKQSSVS.js.map → members-SELIA674.js.map} +0 -0
- /package/dist/{metrics-3BRTJNGW.js.map → metrics-V6SKOVNH.js.map} +0 -0
- /package/dist/{models-IH6KE6OH.js.map → models-2XRYXSRA.js.map} +0 -0
- /package/dist/{normalize-EH6BTBOB.js.map → normalize-VAZPTBDX.js.map} +0 -0
- /package/dist/{options-YEPQXXRY.js.map → options-NSCZSQ5P.js.map} +0 -0
- /package/dist/{pages-FTI44OSH.js.map → pages-PTWRXAZT.js.map} +0 -0
- /package/dist/{query-3OMCFGLU.js.map → performance-K7E5KAZW.js.map} +0 -0
- /package/dist/{pixels-DWW2TDY2.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-M5OVEBC5.js.map → promoted-tweet-writes-PKEO6WUK.js.map} +0 -0
- /package/dist/{promoted-tweets-2MOIERNB.js.map → promoted-tweets-7MXVZRBI.js.map} +0 -0
- /package/dist/{publish-NPENZIHV.js.map → publish-MPMGRV72.js.map} +0 -0
- /package/dist/{reddit-LI37G5LS.js.map → query-UD4OIZ3A.js.map} +0 -0
- /package/dist/{run-AFMTXJTU.js.map → reddit-XIHRI3CN.js.map} +0 -0
- /package/dist/{refresh-4BBV5SPL.js.map → refresh-A27N75NH.js.map} +0 -0
- /package/dist/{release-4X3TLMQT.js.map → release-UKRB5IUN.js.map} +0 -0
- /package/dist/{relevant-pages-DIYZM6FJ.js.map → relevant-pages-VXSHEOU2.js.map} +0 -0
- /package/dist/{remove-Q4AES5UH.js.map → remove-AFNFVPZY.js.map} +0 -0
- /package/dist/{reopen-SDTPL3BN.js.map → reopen-M5HE6J3G.js.map} +0 -0
- /package/dist/{rerun-NA3MH4HG.js.map → rerun-5THJLQQJ.js.map} +0 -0
- /package/dist/{research-LXQRNAQ2.js.map → research-JHDWWFL7.js.map} +0 -0
- /package/dist/{research-5H265UV7.js.map → research-U7RQXMYH.js.map} +0 -0
- /package/dist/{reset-52PU3CVD.js.map → reset-4CCWB2RT.js.map} +0 -0
- /package/dist/{reset-42M5IKDI.js.map → reset-J3KCWFMZ.js.map} +0 -0
- /package/dist/{resolve-R4IACKIZ.js.map → resolve-HEK27ANI.js.map} +0 -0
- /package/dist/{retry-FPF42ZNG.js.map → retry-HPZIUG2S.js.map} +0 -0
- /package/dist/{retry-RTQGAH6G.js.map → retry-VVI6N6UR.js.map} +0 -0
- /package/dist/{rules-CGNYJYVC.js.map → rules-YLLFDZEM.js.map} +0 -0
- /package/dist/{rules-add-EO5476BF.js.map → rules-add-U2GU4AGP.js.map} +0 -0
- /package/dist/{run-3AZJ3UQU.js.map → run-M7ZDE6IA.js.map} +0 -0
- /package/dist/{shared-NDRFKAH7.js.map → run-V5YQB6TH.js.map} +0 -0
- /package/dist/{scaffold-ad-OGU2IINY.js.map → scaffold-ad-H4GJOKAW.js.map} +0 -0
- /package/dist/{scaffold-static-ad-HO4BJW4H.js.map → scaffold-static-ad-2YIFHCTL.js.map} +0 -0
- /package/dist/{scaffold-video-TLQ4WSDK.js.map → scaffold-video-3EJLKR2O.js.map} +0 -0
- /package/dist/{schedule-AWWMI5FO.js.map → schedule-QMOKWTJ3.js.map} +0 -0
- /package/dist/{scheduled-agents-ELLU7BSE.js.map → scheduled-agents-FCQHQ6KR.js.map} +0 -0
- /package/dist/{schema-QNVLKMKG.js.map → schema-THFLCMBN.js.map} +0 -0
- /package/dist/{schema-BOOZEJPA.js.map → schema-XKEEAUXP.js.map} +0 -0
- /package/dist/{search-BZNIB2XF.js.map → search-XIUYSWO6.js.map} +0 -0
- /package/dist/{select-NLWZIQ7L.js.map → select-I22NPSIW.js.map} +0 -0
- /package/dist/{set-prompt-QKW2L553.js.map → set-prompt-S75OMQ7L.js.map} +0 -0
- /package/dist/{setup-links-NMSQ4BG7.js.map → setup-links-QVI6NAOK.js.map} +0 -0
- /package/dist/{sync-definition-LSGDHMHV.js.map → shared-3IBNDEFL.js.map} +0 -0
- /package/dist/{site-GGYFBZT5.js.map → site-PZPJY33N.js.map} +0 -0
- /package/dist/{sources-LPQZDTIU.js.map → sources-ER7ANNG3.js.map} +0 -0
- /package/dist/{sources-KTGDMUV4.js.map → sources-VA23PDND.js.map} +0 -0
- /package/dist/{stale-C5JLQ4D2.js.map → stale-MHTU2NQJ.js.map} +0 -0
- /package/dist/{stats-RCLQE4HJ.js.map → stats-ZAGJH4AD.js.map} +0 -0
- /package/dist/{status-6PS3HDS5.js.map → status-ABMJBCPJ.js.map} +0 -0
- /package/dist/{stock-ECRBD7RP.js.map → stock-6SHHLSKG.js.map} +0 -0
- /package/dist/{studio-LMDDQWRY.js.map → studio-ZLCGXFAN.js.map} +0 -0
- /package/dist/{sync-XSATDLE6.js.map → sync-QDD3MRJ6.js.map} +0 -0
- /package/dist/{viewer-check-I45HHWSW.js.map → sync-definition-2EBSQA6A.js.map} +0 -0
- /package/dist/{tag-manager-G3LBQZUL.js.map → tag-manager-3CJ66GKJ.js.map} +0 -0
- /package/dist/{tags-OK34UGSM.js.map → tags-5JYOEYIT.js.map} +0 -0
- /package/dist/{tags-EXWKO6Q6.js.map → tags-B473RWAA.js.map} +0 -0
- /package/dist/{tags-5Y7TPJNZ.js.map → tags-EWHPUM2V.js.map} +0 -0
- /package/dist/{tags-6TT5ZJVX.js.map → tags-KBCX6BDU.js.map} +0 -0
- /package/dist/{tags-BQLIOWS4.js.map → tags-PEWN6GNZ.js.map} +0 -0
- /package/dist/{targeting-criteria-AWPMOX4V.js.map → targeting-criteria-EU65WUUF.js.map} +0 -0
- /package/dist/{targets-EXYCOHEX.js.map → targets-KVXS5QKM.js.map} +0 -0
- /package/dist/{testimonials-BTYMR3U4.js.map → testimonials-GR6TIS5S.js.map} +0 -0
- /package/dist/{themes-AOU4ZZXL.js.map → themes-JWWTOR3I.js.map} +0 -0
- /package/dist/{top-companies-FRPAURAH.js.map → top-companies-OOX3DITI.js.map} +0 -0
- /package/dist/{translate-SF234KLG.js.map → translate-GEFUP6KQ.js.map} +0 -0
- /package/dist/{triggers-SJUXDU3X.js.map → triggers-OX2GKG4Y.js.map} +0 -0
- /package/dist/{unlink-RIZD3XTI.js.map → unlink-3USEPJSA.js.map} +0 -0
- /package/dist/{unstage-MKTIVI3I.js.map → unstage-VSCNPTAC.js.map} +0 -0
- /package/dist/{update-COHXM25C.js.map → update-6JKTH65B.js.map} +0 -0
- /package/dist/{update-OXVZXDYH.js.map → update-FG4ELXYJ.js.map} +0 -0
- /package/dist/{update-SZLYEEU4.js.map → update-GZFKHA3A.js.map} +0 -0
- /package/dist/{update-NKX2GXAR.js.map → update-HZHG67N6.js.map} +0 -0
- /package/dist/{upload-LEDO3IRC.js.map → upload-BKCQ6FRW.js.map} +0 -0
- /package/dist/{url-options-Q5SL42CV.js.map → url-options-HCVRPZYU.js.map} +0 -0
- /package/dist/{url-params-KP6D7BF3.js.map → url-params-UN4DRN2H.js.map} +0 -0
- /package/dist/{validate-7QWQZ2OL.js.map → validate-NOWIOAHE.js.map} +0 -0
- /package/dist/{videos-VABK4KHJ.js.map → videos-XMTDEHEJ.js.map} +0 -0
- /package/dist/{web-DZGUPZYQ.js.map → web-UGU7YMII.js.map} +0 -0
- /package/dist/{winning-ads-6MDLRSKM.js.map → winning-ads-QOAYIR5U.js.map} +0 -0
- /package/dist/{write-commands-3VIK3VC4.js.map → write-commands-6VR2UD3T.js.map} +0 -0
- /package/dist/{x-GRDU7QC2.js.map → x-VCSMV7T5.js.map} +0 -0
package/dist/chunk-5SRHACZW.js
DELETED
|
@@ -1,274 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
chatgptDraftOpInputSchema,
|
|
3
|
-
chatgptFailure
|
|
4
|
-
} from "./chunk-3BKNGXCL.js";
|
|
5
|
-
import {
|
|
6
|
-
writeJsonEnvelope
|
|
7
|
-
} from "./chunk-SWL4AAPP.js";
|
|
8
|
-
import {
|
|
9
|
-
ApiError,
|
|
10
|
-
apiPost
|
|
11
|
-
} from "./chunk-XDZVBX6L.js";
|
|
12
|
-
import {
|
|
13
|
-
requireChatId
|
|
14
|
-
} from "./chunk-EE72SSB2.js";
|
|
15
|
-
import {
|
|
16
|
-
registerSchema
|
|
17
|
-
} from "./chunk-WNSE7N75.js";
|
|
18
|
-
|
|
19
|
-
// src/commands/ads/chatgpt/write-shared.ts
|
|
20
|
-
import { defineCommand } from "citty";
|
|
21
|
-
function fail(envelope) {
|
|
22
|
-
writeJsonEnvelope({ ...envelope });
|
|
23
|
-
process.exit(1);
|
|
24
|
-
}
|
|
25
|
-
function failWriteValidation(message) {
|
|
26
|
-
fail({
|
|
27
|
-
ok: false,
|
|
28
|
-
error: {
|
|
29
|
-
code: "VALIDATION_ERROR",
|
|
30
|
-
message,
|
|
31
|
-
fix: { action: "add_required_field", explanation: `${message}. Nothing was staged.` },
|
|
32
|
-
retryable: false
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
function writeFailure(err, reference) {
|
|
37
|
-
if (!(err instanceof ApiError) && err instanceof Error && err.message.includes("BAKER_CHAT_ID")) {
|
|
38
|
-
return {
|
|
39
|
-
ok: false,
|
|
40
|
-
error: {
|
|
41
|
-
code: "NO_CHAT",
|
|
42
|
-
message: err.message,
|
|
43
|
-
fix: {
|
|
44
|
-
action: "reject",
|
|
45
|
-
explanation: "ChatGPT Ads changes are staged on a chat and apply when it is published; run this from the chat."
|
|
46
|
-
},
|
|
47
|
-
retryable: false
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
return chatgptFailure(err, reference);
|
|
52
|
-
}
|
|
53
|
-
function decimalPlaces(value) {
|
|
54
|
-
const [mantissa, exponent] = String(value).trim().split(/e/i);
|
|
55
|
-
const written = (mantissa?.split(".")[1] ?? "").length;
|
|
56
|
-
return Math.max(0, written - (exponent ? Number(exponent) : 0));
|
|
57
|
-
}
|
|
58
|
-
function parseChatgptMoney(value) {
|
|
59
|
-
if (value === void 0 || value === "") {
|
|
60
|
-
return { ok: true, micros: void 0 };
|
|
61
|
-
}
|
|
62
|
-
const amount = Number(value);
|
|
63
|
-
if (!Number.isFinite(amount) || amount <= 0) {
|
|
64
|
-
return { ok: false, reason: "must be a positive amount, for example 12.50" };
|
|
65
|
-
}
|
|
66
|
-
if (decimalPlaces(value) > 6) {
|
|
67
|
-
return { ok: false, reason: "is finer than ChatGPT Ads can express" };
|
|
68
|
-
}
|
|
69
|
-
return { ok: true, micros: Math.round(amount * 1e6) };
|
|
70
|
-
}
|
|
71
|
-
function microsFromArg(value, flag) {
|
|
72
|
-
const parsed = parseChatgptMoney(value);
|
|
73
|
-
if (!parsed.ok) {
|
|
74
|
-
failWriteValidation(`${flag} ${parsed.reason}`);
|
|
75
|
-
}
|
|
76
|
-
return parsed.micros;
|
|
77
|
-
}
|
|
78
|
-
function csvArg(value) {
|
|
79
|
-
if (typeof value !== "string" || value.trim().length === 0) {
|
|
80
|
-
return void 0;
|
|
81
|
-
}
|
|
82
|
-
const parts = value.split(",").map((part) => part.trim()).filter(Boolean);
|
|
83
|
-
return parts.length > 0 ? parts : void 0;
|
|
84
|
-
}
|
|
85
|
-
function schemaArgs(args) {
|
|
86
|
-
return Object.fromEntries(
|
|
87
|
-
Object.entries(args).map(([name, arg]) => [
|
|
88
|
-
name,
|
|
89
|
-
{
|
|
90
|
-
type: arg.type === "positional" ? "string" : arg.type,
|
|
91
|
-
description: arg.description,
|
|
92
|
-
required: arg.required === true
|
|
93
|
-
}
|
|
94
|
-
])
|
|
95
|
-
);
|
|
96
|
-
}
|
|
97
|
-
function lowerArg(value) {
|
|
98
|
-
return typeof value === "string" && value.trim() !== "" ? value.trim().toLowerCase() : void 0;
|
|
99
|
-
}
|
|
100
|
-
function lowerCsvArg(value) {
|
|
101
|
-
return csvArg(value)?.map((part) => part.toLowerCase());
|
|
102
|
-
}
|
|
103
|
-
function compact(payload) {
|
|
104
|
-
return Object.fromEntries(Object.entries(payload).filter(([, value]) => value !== void 0 && value !== ""));
|
|
105
|
-
}
|
|
106
|
-
function requireTarget(args, name) {
|
|
107
|
-
const value = args[name];
|
|
108
|
-
if (typeof value !== "string" || value.trim().length === 0) {
|
|
109
|
-
failWriteValidation(`${name} is required`);
|
|
110
|
-
}
|
|
111
|
-
return value.trim();
|
|
112
|
-
}
|
|
113
|
-
function requireTargets(args, name) {
|
|
114
|
-
const ids = csvArg(args[name]);
|
|
115
|
-
if (!ids) {
|
|
116
|
-
failWriteValidation(`${name} is required \u2014 pass one or more ids, comma-separated`);
|
|
117
|
-
}
|
|
118
|
-
return ids;
|
|
119
|
-
}
|
|
120
|
-
function preflight(raw) {
|
|
121
|
-
const parsed = chatgptDraftOpInputSchema.safeParse(raw);
|
|
122
|
-
if (parsed.success) {
|
|
123
|
-
return parsed.data;
|
|
124
|
-
}
|
|
125
|
-
const fields = parsed.error.issues.map((issue) => ({ path: issue.path.join("."), message: issue.message }));
|
|
126
|
-
const message = fields.map((field) => field.path ? `${field.path}: ${field.message}` : field.message).join("; ");
|
|
127
|
-
return fail({
|
|
128
|
-
ok: false,
|
|
129
|
-
error: {
|
|
130
|
-
code: "VALIDATION_ERROR",
|
|
131
|
-
message,
|
|
132
|
-
fix: {
|
|
133
|
-
action: "retry_with_modified_query",
|
|
134
|
-
explanation: "Fix the named fields and stage again. Nothing was staged \u2014 the draft is as it was before this call."
|
|
135
|
-
},
|
|
136
|
-
retryable: false
|
|
137
|
-
}
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
async function postStage(chatId, op) {
|
|
141
|
-
return await apiPost("/api/ads/chatgpt/draft/stage", { chatId, op });
|
|
142
|
-
}
|
|
143
|
-
async function stageChatgptOp(raw, reference, hintsFor) {
|
|
144
|
-
const op = preflight(raw);
|
|
145
|
-
try {
|
|
146
|
-
const staged = await postStage(requireChatId(), op);
|
|
147
|
-
const hints = hintsFor?.(staged) ?? [];
|
|
148
|
-
writeJsonEnvelope({ ok: true, data: staged, ...hints.length > 0 ? { hints } : {} });
|
|
149
|
-
} catch (err) {
|
|
150
|
-
fail(writeFailure(err, reference));
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
async function stageChatgptOps(raws, reference) {
|
|
154
|
-
if (raws.length === 1 && raws[0]) {
|
|
155
|
-
await stageChatgptOp(raws[0], reference);
|
|
156
|
-
return;
|
|
157
|
-
}
|
|
158
|
-
const ops = raws.map(preflight);
|
|
159
|
-
const staged = [];
|
|
160
|
-
try {
|
|
161
|
-
const chatId = requireChatId();
|
|
162
|
-
for (const op of ops) {
|
|
163
|
-
staged.push(await postStage(chatId, op));
|
|
164
|
-
}
|
|
165
|
-
writeJsonEnvelope({ ok: true, data: staged });
|
|
166
|
-
} catch (err) {
|
|
167
|
-
const failure = writeFailure(err, reference);
|
|
168
|
-
if (staged.length > 0) {
|
|
169
|
-
failure.error.message = `${failure.error.message} (already staged: ${staged.map((s) => s.summary).join("; ")})`;
|
|
170
|
-
}
|
|
171
|
-
fail(failure);
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
function clearableCsvArg(value) {
|
|
175
|
-
return typeof value === "string" && value.trim().toLowerCase() === "none" ? [] : csvArg(value);
|
|
176
|
-
}
|
|
177
|
-
function clearableArg(value) {
|
|
178
|
-
if (typeof value !== "string" || value.trim() === "") {
|
|
179
|
-
return void 0;
|
|
180
|
-
}
|
|
181
|
-
return value.trim().toLowerCase() === "none" ? null : value.trim();
|
|
182
|
-
}
|
|
183
|
-
function cropArg(value, flag) {
|
|
184
|
-
const parts = csvArg(value);
|
|
185
|
-
if (!parts) {
|
|
186
|
-
return void 0;
|
|
187
|
-
}
|
|
188
|
-
const numbers = parts.map(Number);
|
|
189
|
-
const [x, y, width, height] = numbers;
|
|
190
|
-
if (numbers.length !== 4 || numbers.some(Number.isNaN) || x === void 0 || y === void 0 || width === void 0 || height === void 0) {
|
|
191
|
-
failWriteValidation(`${flag} takes four shares of the image, x,y,width,height \u2014 e.g. 0.1,0,0.8,0.8`);
|
|
192
|
-
}
|
|
193
|
-
return { x, y, width, height };
|
|
194
|
-
}
|
|
195
|
-
var STATUS_OF = {
|
|
196
|
-
pause: "paused",
|
|
197
|
-
resume: "active",
|
|
198
|
-
archive: "archived"
|
|
199
|
-
};
|
|
200
|
-
function statusOps(entity, ids, status) {
|
|
201
|
-
return ids.map((id) => ({ kind: `${entity}.update`, target: id, payload: { status } }));
|
|
202
|
-
}
|
|
203
|
-
var STATUS_NOUN = {
|
|
204
|
-
campaign: { command: "campaigns", plural: "campaigns", example: "cmpn_123,cmpn_456" },
|
|
205
|
-
adGroup: { command: "ad-groups", plural: "ad groups", example: "adgrp_123,adgrp_456" },
|
|
206
|
-
ad: { command: "ads", plural: "cards", example: "ad_123,ad_456" }
|
|
207
|
-
};
|
|
208
|
-
var STATUS_DOING = { pause: "pausing", resume: "resuming", archive: "archiving" };
|
|
209
|
-
function statusCommand(entity, verb, reference) {
|
|
210
|
-
const noun = STATUS_NOUN[entity];
|
|
211
|
-
const args = {
|
|
212
|
-
ids: { type: "positional", description: `${noun.plural} ids, comma-separated`, required: true }
|
|
213
|
-
};
|
|
214
|
-
const forGood = verb === "archive" ? ` Archiving is for good: ChatGPT Ads cannot bring archived ${noun.plural} back, and their results stay in reports. Pause instead unless the user asked to archive.` : "";
|
|
215
|
-
registerSchema({
|
|
216
|
-
command: `ads.chatgpt.${noun.command}.${verb}`,
|
|
217
|
-
description: `Stage ${STATUS_DOING[verb]} one or more ChatGPT Ads ${noun.plural}. Pass every id in one call.${forGood}`,
|
|
218
|
-
args: schemaArgs(args)
|
|
219
|
-
});
|
|
220
|
-
return defineCommand({
|
|
221
|
-
meta: {
|
|
222
|
-
name: verb,
|
|
223
|
-
description: `Stage ${STATUS_DOING[verb]} ${noun.plural}.${forGood}
|
|
224
|
-
|
|
225
|
-
Example:
|
|
226
|
-
baker ads chatgpt ${noun.command} ${verb} ${noun.example}`
|
|
227
|
-
},
|
|
228
|
-
args,
|
|
229
|
-
run: async ({ args: parsed }) => {
|
|
230
|
-
await stageChatgptOps(statusOps(entity, requireTargets(parsed, "ids"), STATUS_OF[verb]), reference);
|
|
231
|
-
}
|
|
232
|
-
});
|
|
233
|
-
}
|
|
234
|
-
function productFiltersArg(value) {
|
|
235
|
-
if (typeof value !== "string" || value.trim() === "") {
|
|
236
|
-
return void 0;
|
|
237
|
-
}
|
|
238
|
-
if (value.trim().toLowerCase() === "none") {
|
|
239
|
-
return [];
|
|
240
|
-
}
|
|
241
|
-
return value.split(";").map((condition) => condition.trim()).filter(Boolean).map((condition) => {
|
|
242
|
-
const match = /^(\S+)\s+(\S+)\s+(.+)$/.exec(condition);
|
|
243
|
-
if (!match?.[1] || !match[2] || !match[3]) {
|
|
244
|
-
failWriteValidation(
|
|
245
|
-
`"${condition}" is not a product filter \u2014 write field operator values, e.g. price lte 5000`
|
|
246
|
-
);
|
|
247
|
-
}
|
|
248
|
-
return {
|
|
249
|
-
field: match[1],
|
|
250
|
-
operator: match[2].toLowerCase(),
|
|
251
|
-
values: match[3].split("|").map((part) => part.trim()).filter(Boolean)
|
|
252
|
-
};
|
|
253
|
-
});
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
export {
|
|
257
|
-
failWriteValidation,
|
|
258
|
-
microsFromArg,
|
|
259
|
-
csvArg,
|
|
260
|
-
schemaArgs,
|
|
261
|
-
lowerArg,
|
|
262
|
-
lowerCsvArg,
|
|
263
|
-
compact,
|
|
264
|
-
requireTarget,
|
|
265
|
-
requireTargets,
|
|
266
|
-
stageChatgptOp,
|
|
267
|
-
stageChatgptOps,
|
|
268
|
-
clearableCsvArg,
|
|
269
|
-
clearableArg,
|
|
270
|
-
cropArg,
|
|
271
|
-
statusCommand,
|
|
272
|
-
productFiltersArg
|
|
273
|
-
};
|
|
274
|
-
//# sourceMappingURL=chunk-5SRHACZW.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/ads/chatgpt/write-shared.ts"],"sourcesContent":["import { type ChatgptDraftStageResponse, chatgptDraftOpInputSchema } from \"@baker/api/ads-chatgpt\";\nimport { defineCommand } from \"citty\";\nimport { ApiError, apiPost } from \"../../../client.ts\";\nimport { requireChatId } from \"../../../env.ts\";\nimport { registerSchema } from \"../../../schemas.ts\";\nimport { writeJsonEnvelope } from \"../output.ts\";\nimport type { AdsErrorEnvelope } from \"../types.ts\";\nimport { chatgptFailure } from \"./shared.ts\";\n\n/**\n * Shared plumbing for the staged ChatGPT Ads write commands.\n *\n * Writes never reach ChatGPT Ads from here: every command stages an op on this\n * chat's draft (`/api/ads/chatgpt/draft/stage`), the dashboard shows it as a\n * pending change, and it applies only when the chat is published.\n */\n\nfunction fail(envelope: AdsErrorEnvelope): never {\n writeJsonEnvelope({ ...envelope });\n process.exit(1);\n}\n\nexport function failWriteValidation(message: string): never {\n fail({\n ok: false,\n error: {\n code: \"VALIDATION_ERROR\",\n message,\n fix: { action: \"add_required_field\", explanation: `${message}. Nothing was staged.` },\n retryable: false,\n },\n });\n}\n\n/** A write failure, as the agent should act on it; a missing chat is not a network error. */\nfunction writeFailure(err: unknown, reference: string): AdsErrorEnvelope {\n if (!(err instanceof ApiError) && err instanceof Error && err.message.includes(\"BAKER_CHAT_ID\")) {\n return {\n ok: false,\n error: {\n code: \"NO_CHAT\",\n message: err.message,\n fix: {\n action: \"reject\",\n explanation:\n \"ChatGPT Ads changes are staged on a chat and apply when it is published; run this from the chat.\",\n },\n retryable: false,\n },\n };\n }\n return chatgptFailure(err, reference);\n}\n\n/**\n * Digits after the decimal point, read off the written amount: `String(0.0000005)`\n * is `\"5e-7\"`, whose mantissa has no decimals at all.\n */\nfunction decimalPlaces(value: unknown): number {\n const [mantissa, exponent] = String(value).trim().split(/e/i);\n const written = (mantissa?.split(\".\")[1] ?? \"\").length;\n return Math.max(0, written - (exponent ? Number(exponent) : 0));\n}\n\nexport type ChatgptMoneyParse = { ok: true; micros: number | undefined } | { ok: false; reason: string };\n\n/**\n * ChatGPT Ads takes money as integer micros of the account currency; the CLI\n * takes the amount a person writes. Counting decimals instead of comparing\n * `amount * 1e6` with its rounding is exact at every magnitude.\n */\nexport function parseChatgptMoney(value: unknown): ChatgptMoneyParse {\n if (value === undefined || value === \"\") {\n return { ok: true, micros: undefined };\n }\n const amount = Number(value);\n if (!Number.isFinite(amount) || amount <= 0) {\n return { ok: false, reason: \"must be a positive amount, for example 12.50\" };\n }\n if (decimalPlaces(value) > 6) {\n return { ok: false, reason: \"is finer than ChatGPT Ads can express\" };\n }\n return { ok: true, micros: Math.round(amount * 1_000_000) };\n}\n\nexport function microsFromArg(value: unknown, flag: string): number | undefined {\n const parsed = parseChatgptMoney(value);\n if (!parsed.ok) {\n failWriteValidation(`${flag} ${parsed.reason}`);\n }\n return parsed.micros;\n}\n\nexport function csvArg(value: unknown): string[] | undefined {\n if (typeof value !== \"string\" || value.trim().length === 0) {\n return undefined;\n }\n const parts = value\n .split(\",\")\n .map((part) => part.trim())\n .filter(Boolean);\n return parts.length > 0 ? parts : undefined;\n}\n\ninterface CliArg {\n type: string;\n description: string;\n required?: boolean;\n}\n\n/**\n * The `baker schema` entry for a command, read off the flags it really takes,\n * so the introspection an agent plans from cannot drift from the command.\n */\nexport function schemaArgs(args: Record<string, CliArg>) {\n return Object.fromEntries(\n Object.entries(args).map(([name, arg]) => [\n name,\n {\n type: arg.type === \"positional\" ? \"string\" : arg.type,\n description: arg.description,\n required: arg.required === true,\n },\n ]),\n );\n}\n\n/** A flag naming one of ChatGPT Ads' lowercase values, taken in whatever case it was typed. */\nexport function lowerArg(value: unknown): string | undefined {\n return typeof value === \"string\" && value.trim() !== \"\" ? value.trim().toLowerCase() : undefined;\n}\n\n/** A comma-separated list of those values. */\nexport function lowerCsvArg(value: unknown): string[] | undefined {\n return csvArg(value)?.map((part) => part.toLowerCase());\n}\n\n/** Drop unset keys so an omitted flag never stages as an explicit value. */\nexport function compact(payload: Record<string, unknown>): Record<string, unknown> {\n return Object.fromEntries(Object.entries(payload).filter(([, value]) => value !== undefined && value !== \"\"));\n}\n\nexport function requireTarget(args: Record<string, unknown>, name: string): string {\n const value = args[name];\n if (typeof value !== \"string\" || value.trim().length === 0) {\n failWriteValidation(`${name} is required`);\n }\n return value.trim();\n}\n\nexport function requireTargets(args: Record<string, unknown>, name: string): string[] {\n const ids = csvArg(args[name]);\n if (!ids) {\n failWriteValidation(`${name} is required — pass one or more ids, comma-separated`);\n }\n return ids;\n}\n\n/** The op, checked against the same schema the backend applies, before anything is sent. */\nfunction preflight(raw: Record<string, unknown>) {\n const parsed = chatgptDraftOpInputSchema.safeParse(raw);\n if (parsed.success) {\n return parsed.data;\n }\n const fields = parsed.error.issues.map((issue) => ({ path: issue.path.join(\".\"), message: issue.message }));\n const message = fields.map((field) => (field.path ? `${field.path}: ${field.message}` : field.message)).join(\"; \");\n return fail({\n ok: false,\n error: {\n code: \"VALIDATION_ERROR\",\n message,\n fix: {\n action: \"retry_with_modified_query\",\n explanation:\n \"Fix the named fields and stage again. Nothing was staged — the draft is as it was before this call.\",\n },\n retryable: false,\n },\n });\n}\n\n/** The ChatGPT Ads routes answer with the payload itself; the envelope is the CLI's to add. */\nasync function postStage(chatId: string, op: ReturnType<typeof preflight>): Promise<ChatgptDraftStageResponse> {\n return await apiPost<ChatgptDraftStageResponse>(\"/api/ads/chatgpt/draft/stage\", { chatId, op });\n}\n\n/** Stage one op and print what was staged; `hintsFor` names the obvious next step. */\nexport async function stageChatgptOp(\n raw: Record<string, unknown>,\n reference: string,\n hintsFor?: (staged: ChatgptDraftStageResponse) => string[],\n): Promise<void> {\n const op = preflight(raw);\n try {\n const staged = await postStage(requireChatId(), op);\n const hints = hintsFor?.(staged) ?? [];\n writeJsonEnvelope({ ok: true, data: staged, ...(hints.length > 0 ? { hints } : {}) });\n } catch (err) {\n fail(writeFailure(err, reference));\n }\n}\n\n/**\n * Stage the same change on several entities (a pause across campaigns). Each is\n * its own op; when one is refused, the ones already staged are named so the\n * agent neither re-stages nor loses them.\n */\nexport async function stageChatgptOps(raws: Array<Record<string, unknown>>, reference: string): Promise<void> {\n if (raws.length === 1 && raws[0]) {\n await stageChatgptOp(raws[0], reference);\n return;\n }\n const ops = raws.map(preflight);\n const staged: ChatgptDraftStageResponse[] = [];\n try {\n const chatId = requireChatId();\n for (const op of ops) {\n staged.push(await postStage(chatId, op));\n }\n writeJsonEnvelope({ ok: true, data: staged });\n } catch (err) {\n const failure = writeFailure(err, reference);\n if (staged.length > 0) {\n failure.error.message = `${failure.error.message} (already staged: ${staged.map((s) => s.summary).join(\"; \")})`;\n }\n fail(failure);\n }\n}\n\n/** On an update, `none` empties a list — ChatGPT Ads' way to clear exclusions, audiences or regions. */\nexport function clearableCsvArg(value: unknown): string[] | undefined {\n return typeof value === \"string\" && value.trim().toLowerCase() === \"none\" ? [] : csvArg(value);\n}\n\n/** On an update, `none` removes the value — a tracking template. */\nexport function clearableArg(value: unknown): string | null | undefined {\n if (typeof value !== \"string\" || value.trim() === \"\") {\n return undefined;\n }\n return value.trim().toLowerCase() === \"none\" ? null : value.trim();\n}\n\n/** A crop as `x,y,width,height`, each a share of the image from 0 to 1. */\nexport function cropArg(\n value: unknown,\n flag: string,\n): { x: number; y: number; width: number; height: number } | undefined {\n const parts = csvArg(value);\n if (!parts) {\n return undefined;\n }\n const numbers = parts.map(Number);\n const [x, y, width, height] = numbers;\n if (\n numbers.length !== 4 ||\n numbers.some(Number.isNaN) ||\n x === undefined ||\n y === undefined ||\n width === undefined ||\n height === undefined\n ) {\n failWriteValidation(`${flag} takes four shares of the image, x,y,width,height — e.g. 0.1,0,0.8,0.8`);\n }\n return { x, y, width, height };\n}\n\ntype StatusEntity = \"campaign\" | \"adGroup\" | \"ad\";\ntype StatusVerb = \"pause\" | \"resume\" | \"archive\";\n\nconst STATUS_OF: Record<StatusVerb, \"paused\" | \"active\" | \"archived\"> = {\n pause: \"paused\",\n resume: \"active\",\n archive: \"archived\",\n};\n\nexport function statusOps(entity: StatusEntity, ids: readonly string[], status: \"paused\" | \"active\" | \"archived\") {\n return ids.map((id) => ({ kind: `${entity}.update`, target: id, payload: { status } }));\n}\n\nconst STATUS_NOUN: Record<StatusEntity, { command: string; plural: string; example: string }> = {\n campaign: { command: \"campaigns\", plural: \"campaigns\", example: \"cmpn_123,cmpn_456\" },\n adGroup: { command: \"ad-groups\", plural: \"ad groups\", example: \"adgrp_123,adgrp_456\" },\n ad: { command: \"ads\", plural: \"cards\", example: \"ad_123,ad_456\" },\n};\n\nconst STATUS_DOING: Record<StatusVerb, string> = { pause: \"pausing\", resume: \"resuming\", archive: \"archiving\" };\n\n/** `pause`, `resume` or `archive` for every id passed, staged as one change each. */\nexport function statusCommand(entity: StatusEntity, verb: StatusVerb, reference: string) {\n const noun = STATUS_NOUN[entity];\n const args = {\n ids: { type: \"positional\", description: `${noun.plural} ids, comma-separated`, required: true },\n } as const;\n const forGood =\n verb === \"archive\"\n ? ` Archiving is for good: ChatGPT Ads cannot bring archived ${noun.plural} back, and their results stay in reports. Pause instead unless the user asked to archive.`\n : \"\";\n registerSchema({\n command: `ads.chatgpt.${noun.command}.${verb}`,\n description: `Stage ${STATUS_DOING[verb]} one or more ChatGPT Ads ${noun.plural}. Pass every id in one call.${forGood}`,\n args: schemaArgs(args),\n });\n return defineCommand({\n meta: {\n name: verb,\n description: `Stage ${STATUS_DOING[verb]} ${noun.plural}.${forGood}\n\nExample:\n baker ads chatgpt ${noun.command} ${verb} ${noun.example}`,\n },\n args,\n run: async ({ args: parsed }) => {\n await stageChatgptOps(statusOps(entity, requireTargets(parsed, \"ids\"), STATUS_OF[verb]), reference);\n },\n });\n}\n\n/**\n * Product filters as a marketer writes them: `brand in Acme|Baker; price lte 5000`\n * — conditions split by `;`, each field, operator and values (several joined\n * with `|`). `none` is no filter: the whole catalog.\n */\nexport function productFiltersArg(\n value: unknown,\n): Array<{ field: string; operator: string; values: string[] }> | undefined {\n if (typeof value !== \"string\" || value.trim() === \"\") {\n return undefined;\n }\n if (value.trim().toLowerCase() === \"none\") {\n return [];\n }\n return value\n .split(\";\")\n .map((condition) => condition.trim())\n .filter(Boolean)\n .map((condition) => {\n const match = /^(\\S+)\\s+(\\S+)\\s+(.+)$/.exec(condition);\n if (!match?.[1] || !match[2] || !match[3]) {\n failWriteValidation(\n `\"${condition}\" is not a product filter — write field operator values, e.g. price lte 5000`,\n );\n }\n return {\n field: match[1],\n operator: match[2].toLowerCase(),\n values: match[3]\n .split(\"|\")\n .map((part) => part.trim())\n .filter(Boolean),\n };\n });\n}\n"],"mappings":"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","names":[]}
|
package/dist/chunk-6JWEGFM5.js
DELETED
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
metaDraftOpInputSchema
|
|
3
|
-
} from "./chunk-GOJXKIFQ.js";
|
|
4
|
-
import {
|
|
5
|
-
handleMetaError,
|
|
6
|
-
resolveAccountIdArg
|
|
7
|
-
} from "./chunk-OP7DNHD2.js";
|
|
8
|
-
import {
|
|
9
|
-
adCopyHints,
|
|
10
|
-
booleanWordPositionalError,
|
|
11
|
-
capabilityFix
|
|
12
|
-
} from "./chunk-SFJW2KED.js";
|
|
13
|
-
import {
|
|
14
|
-
withHints
|
|
15
|
-
} from "./chunk-D5FY4FAK.js";
|
|
16
|
-
import {
|
|
17
|
-
writeJsonEnvelope
|
|
18
|
-
} from "./chunk-SWL4AAPP.js";
|
|
19
|
-
import {
|
|
20
|
-
apiPost
|
|
21
|
-
} from "./chunk-XDZVBX6L.js";
|
|
22
|
-
import {
|
|
23
|
-
requireChatId
|
|
24
|
-
} from "./chunk-EE72SSB2.js";
|
|
25
|
-
|
|
26
|
-
// src/commands/ads/meta/write-shared.ts
|
|
27
|
-
import { readFileSync } from "fs";
|
|
28
|
-
function bareAccountId(args) {
|
|
29
|
-
return resolveAccountIdArg(args).replace(/^act_/, "");
|
|
30
|
-
}
|
|
31
|
-
function failWriteValidation(message) {
|
|
32
|
-
writeJsonEnvelope({ ok: false, error: { code: "VALIDATION_ERROR", message } });
|
|
33
|
-
process.exit(1);
|
|
34
|
-
}
|
|
35
|
-
function refuseDeleteByUpdate(payload, group) {
|
|
36
|
-
if (payload.status === "DELETED") {
|
|
37
|
-
failWriteValidation(
|
|
38
|
-
`update does not delete \u2014 deleting is permanent. Use \`baker ads meta ${group} delete <id>\` if the user asked to delete; otherwise pause or archive.`
|
|
39
|
-
);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
function loadJsonFileArg(path) {
|
|
43
|
-
if (typeof path !== "string" || path.length === 0) {
|
|
44
|
-
return {};
|
|
45
|
-
}
|
|
46
|
-
try {
|
|
47
|
-
const parsed = JSON.parse(readFileSync(path, "utf8"));
|
|
48
|
-
if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) {
|
|
49
|
-
failWriteValidation(`${path} must contain a JSON object`);
|
|
50
|
-
}
|
|
51
|
-
return parsed;
|
|
52
|
-
} catch (err) {
|
|
53
|
-
if (err instanceof SyntaxError) {
|
|
54
|
-
failWriteValidation(`${path} is not valid JSON: ${err.message}`);
|
|
55
|
-
}
|
|
56
|
-
throw err;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
function mergePayload(file, flags) {
|
|
60
|
-
const merged = { ...file };
|
|
61
|
-
for (const [key, value] of Object.entries(flags)) {
|
|
62
|
-
if (value !== void 0) {
|
|
63
|
-
merged[key] = value;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
return merged;
|
|
67
|
-
}
|
|
68
|
-
function parseMoneyFlag(amount, currency, flag) {
|
|
69
|
-
if (amount === void 0 || amount === null || amount === "") {
|
|
70
|
-
return void 0;
|
|
71
|
-
}
|
|
72
|
-
if (currency === void 0 || currency === null || currency === "") {
|
|
73
|
-
return { amount: String(amount) };
|
|
74
|
-
}
|
|
75
|
-
if (typeof currency !== "string" || currency.length !== 3) {
|
|
76
|
-
failWriteValidation(`${flag} got an invalid --currency (expected a 3-letter code like USD)`);
|
|
77
|
-
}
|
|
78
|
-
return { amount: String(amount), currencyCode: currency.toUpperCase() };
|
|
79
|
-
}
|
|
80
|
-
function parseDateFlag(value, flag) {
|
|
81
|
-
if (value === void 0 || value === null || value === "") {
|
|
82
|
-
return void 0;
|
|
83
|
-
}
|
|
84
|
-
const raw = String(value);
|
|
85
|
-
if (/^\d{10,}$/.test(raw)) {
|
|
86
|
-
return Number(raw);
|
|
87
|
-
}
|
|
88
|
-
const parsed = Date.parse(raw);
|
|
89
|
-
if (Number.isNaN(parsed)) {
|
|
90
|
-
failWriteValidation(`${flag} must be an ISO date (2026-07-10) or epoch milliseconds`);
|
|
91
|
-
}
|
|
92
|
-
return parsed;
|
|
93
|
-
}
|
|
94
|
-
function listFlag(value) {
|
|
95
|
-
if (typeof value !== "string" || value.trim().length === 0) {
|
|
96
|
-
return void 0;
|
|
97
|
-
}
|
|
98
|
-
const items = value.split(",").map((item) => item.trim()).filter(Boolean);
|
|
99
|
-
return items.length > 0 ? items : void 0;
|
|
100
|
-
}
|
|
101
|
-
function upper(value) {
|
|
102
|
-
return typeof value === "string" && value.length > 0 ? value.toUpperCase() : void 0;
|
|
103
|
-
}
|
|
104
|
-
function numberFlag(value, flag) {
|
|
105
|
-
if (value === void 0 || value === null || value === "") {
|
|
106
|
-
return void 0;
|
|
107
|
-
}
|
|
108
|
-
const n = Number(value);
|
|
109
|
-
if (!Number.isFinite(n)) {
|
|
110
|
-
failWriteValidation(`${flag} must be a number`);
|
|
111
|
-
}
|
|
112
|
-
return n;
|
|
113
|
-
}
|
|
114
|
-
function requireTarget(args, entity) {
|
|
115
|
-
const inverted = booleanWordPositionalError(args, entity);
|
|
116
|
-
if (inverted !== void 0) {
|
|
117
|
-
failWriteValidation(inverted);
|
|
118
|
-
}
|
|
119
|
-
const positional = Array.isArray(args._) ? args._[0] : void 0;
|
|
120
|
-
const target = args.id ?? args.target ?? args.ref ?? positional;
|
|
121
|
-
if (typeof target !== "string" || target.length === 0) {
|
|
122
|
-
failWriteValidation(`pass the ${entity} id as the positional argument`);
|
|
123
|
-
}
|
|
124
|
-
return target;
|
|
125
|
-
}
|
|
126
|
-
async function stageOp(raw) {
|
|
127
|
-
const preflight = metaDraftOpInputSchema.safeParse(raw);
|
|
128
|
-
if (!preflight.success) {
|
|
129
|
-
const fields = preflight.error.issues.map((issue) => ({ path: issue.path.join("."), message: issue.message }));
|
|
130
|
-
writeJsonEnvelope({
|
|
131
|
-
ok: false,
|
|
132
|
-
error: {
|
|
133
|
-
code: "VALIDATION_ERROR",
|
|
134
|
-
message: fields.map((field) => field.path ? `${field.path}: ${field.message}` : field.message).join("; "),
|
|
135
|
-
fields,
|
|
136
|
-
fix: capabilityFix("meta-ads")
|
|
137
|
-
}
|
|
138
|
-
});
|
|
139
|
-
process.exit(1);
|
|
140
|
-
}
|
|
141
|
-
try {
|
|
142
|
-
const chatId = requireChatId();
|
|
143
|
-
const response = await apiPost("/api/ads/meta/draft/stage", { chatId, op: preflight.data });
|
|
144
|
-
const copyHints = await adCopyHints(preflight.data);
|
|
145
|
-
writeJsonEnvelope(withHints(response, copyHints));
|
|
146
|
-
} catch (err) {
|
|
147
|
-
handleMetaError(err);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
async function stageStatusChange(input) {
|
|
151
|
-
await stageOp({
|
|
152
|
-
kind: input.kind,
|
|
153
|
-
accountId: input.accountId,
|
|
154
|
-
target: input.target,
|
|
155
|
-
payload: { status: input.status }
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
export {
|
|
160
|
-
bareAccountId,
|
|
161
|
-
failWriteValidation,
|
|
162
|
-
refuseDeleteByUpdate,
|
|
163
|
-
loadJsonFileArg,
|
|
164
|
-
mergePayload,
|
|
165
|
-
parseMoneyFlag,
|
|
166
|
-
parseDateFlag,
|
|
167
|
-
listFlag,
|
|
168
|
-
upper,
|
|
169
|
-
numberFlag,
|
|
170
|
-
requireTarget,
|
|
171
|
-
stageOp,
|
|
172
|
-
stageStatusChange
|
|
173
|
-
};
|
|
174
|
-
//# sourceMappingURL=chunk-6JWEGFM5.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/ads/meta/write-shared.ts"],"sourcesContent":["import { readFileSync } from \"node:fs\";\nimport { type MetaDraftStageResponse, metaDraftOpInputSchema } from \"@baker/api/ads-meta\";\nimport { apiPost } from \"../../../client.ts\";\nimport { requireChatId } from \"../../../env.ts\";\nimport { capabilityFix } from \"../../capabilities/fix.ts\";\nimport { booleanWordPositionalError } from \"../boolean-word-positional.ts\";\nimport { adCopyHints } from \"../copy-hints.ts\";\nimport { withHints } from \"../hints.ts\";\nimport { writeJsonEnvelope } from \"../output.ts\";\nimport { handleMetaError, resolveAccountIdArg } from \"./shared.ts\";\n\n/**\n * Shared plumbing for the staged Meta write commands. Writes NEVER hit Meta\n * directly: every command stages an op against this chat's draft\n * (`/api/ads/meta/draft/stage`), the dashboard shows it as a pending Meta\n * change, and it applies when the chat is published.\n */\n\n/** Backend account ids are bare numeric — strip the `act_` prefix resolveAccountIdArg adds. */\nexport function bareAccountId(args: Record<string, unknown>): string {\n return resolveAccountIdArg(args).replace(/^act_/, \"\");\n}\n\nexport function failWriteValidation(message: string): never {\n writeJsonEnvelope({ ok: false, error: { code: \"VALIDATION_ERROR\", message } });\n process.exit(1);\n}\n\n/** Deleting is permanent, so it only stages through `delete`, whose description carries that warning. */\nexport function refuseDeleteByUpdate(payload: Record<string, unknown>, group: \"campaigns\" | \"adsets\" | \"ads\"): void {\n if (payload.status === \"DELETED\") {\n failWriteValidation(\n `update does not delete — deleting is permanent. Use \\`baker ads meta ${group} delete <id>\\` if the user asked to delete; otherwise pause or archive.`,\n );\n }\n}\n\nexport function loadJsonFileArg(path: unknown): Record<string, unknown> {\n if (typeof path !== \"string\" || path.length === 0) {\n return {};\n }\n try {\n const parsed = JSON.parse(readFileSync(path, \"utf8\")) as unknown;\n if (parsed === null || typeof parsed !== \"object\" || Array.isArray(parsed)) {\n failWriteValidation(`${path} must contain a JSON object`);\n }\n return parsed as Record<string, unknown>;\n } catch (err) {\n if (err instanceof SyntaxError) {\n failWriteValidation(`${path} is not valid JSON: ${err.message}`);\n }\n throw err;\n }\n}\n\n/** Flags override file keys — the file is the base, flags are the overrides. */\nexport function mergePayload(file: Record<string, unknown>, flags: Record<string, unknown>): Record<string, unknown> {\n const merged: Record<string, unknown> = { ...file };\n for (const [key, value] of Object.entries(flags)) {\n if (value !== undefined) {\n merged[key] = value;\n }\n }\n return merged;\n}\n\nexport function parseMoneyFlag(\n amount: unknown,\n currency: unknown,\n flag: string,\n): { amount: string; currencyCode?: string } | undefined {\n if (amount === undefined || amount === null || amount === \"\") {\n return undefined;\n }\n if (currency === undefined || currency === null || currency === \"\") {\n // Meta ad accounts are single-currency — the backend fills it in.\n return { amount: String(amount) };\n }\n if (typeof currency !== \"string\" || currency.length !== 3) {\n failWriteValidation(`${flag} got an invalid --currency (expected a 3-letter code like USD)`);\n }\n return { amount: String(amount), currencyCode: currency.toUpperCase() };\n}\n\n/** Accepts ISO dates (2026-07-10), ISO datetimes, or epoch millis. */\nexport function parseDateFlag(value: unknown, flag: string): number | undefined {\n if (value === undefined || value === null || value === \"\") {\n return undefined;\n }\n const raw = String(value);\n if (/^\\d{10,}$/.test(raw)) {\n return Number(raw);\n }\n const parsed = Date.parse(raw);\n if (Number.isNaN(parsed)) {\n failWriteValidation(`${flag} must be an ISO date (2026-07-10) or epoch milliseconds`);\n }\n return parsed;\n}\n\n/** Split a comma-separated flag into a trimmed, non-empty array. */\nexport function listFlag(value: unknown): string[] | undefined {\n if (typeof value !== \"string\" || value.trim().length === 0) {\n return undefined;\n }\n const items = value\n .split(\",\")\n .map((item) => item.trim())\n .filter(Boolean);\n return items.length > 0 ? items : undefined;\n}\n\nexport function upper(value: unknown): string | undefined {\n return typeof value === \"string\" && value.length > 0 ? value.toUpperCase() : undefined;\n}\n\nexport function numberFlag(value: unknown, flag: string): number | undefined {\n if (value === undefined || value === null || value === \"\") {\n return undefined;\n }\n const n = Number(value);\n if (!Number.isFinite(n)) {\n failWriteValidation(`${flag} must be a number`);\n }\n return n;\n}\n\n/**\n * Accepts whichever positional the command declared (`id`, `target`, `ref`) or the raw positional.\n *\n * `--flag false` is refused first: citty turns it into the flag set to TRUE plus a stray positional,\n * so on `campaigns duplicate 6123 --replace false` the copy stages AND the live original is staged\n * for pause — the opposite of what was typed, with an \"ok\" receipt. This is the only place on this\n * surface that reads positionals, and every target-taking command goes through it.\n */\nexport function requireTarget(args: Record<string, unknown>, entity: string): string {\n const inverted = booleanWordPositionalError(args, entity);\n if (inverted !== undefined) {\n failWriteValidation(inverted);\n }\n const positional = Array.isArray(args._) ? args._[0] : undefined;\n const target = args.id ?? args.target ?? args.ref ?? positional;\n if (typeof target !== \"string\" || target.length === 0) {\n failWriteValidation(`pass the ${entity} id as the positional argument`);\n }\n return target;\n}\n\ninterface StageEnvelope extends Record<string, unknown> {\n ok: true;\n data: MetaDraftStageResponse;\n}\n\n/**\n * Preflight-validates the op against the shared `@baker/api/ads-meta` contract\n * (same schema the backend enforces), then stages it. Prints the staged\n * envelope — ref, mode (always `live`: publishing reaches the real ad account),\n * summary, warnings.\n */\nexport async function stageOp(raw: Record<string, unknown>): Promise<void> {\n const preflight = metaDraftOpInputSchema.safeParse(raw);\n if (!preflight.success) {\n const fields = preflight.error.issues.map((issue) => ({ path: issue.path.join(\".\"), message: issue.message }));\n writeJsonEnvelope({\n ok: false,\n error: {\n code: \"VALIDATION_ERROR\",\n message: fields.map((field) => (field.path ? `${field.path}: ${field.message}` : field.message)).join(\"; \"),\n fields,\n fix: capabilityFix(\"meta-ads\"),\n },\n });\n process.exit(1);\n }\n try {\n const chatId = requireChatId();\n const response = await apiPost<StageEnvelope>(\"/api/ads/meta/draft/stage\", { chatId, op: preflight.data });\n const copyHints = await adCopyHints(preflight.data);\n writeJsonEnvelope(withHints(response, copyHints));\n } catch (err) {\n handleMetaError(err);\n }\n}\n\nexport async function stageStatusChange(input: {\n kind: \"campaign.update\" | \"adSet.update\" | \"adCreative.update\" | \"ad.update\" | \"customAudience.update\";\n accountId: string;\n target: string;\n status: \"ACTIVE\" | \"PAUSED\" | \"ARCHIVED\" | \"DELETED\";\n}): Promise<void> {\n await stageOp({\n kind: input.kind,\n accountId: input.accountId,\n target: input.target,\n payload: { status: input.status },\n });\n}\n"],"mappings":"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","names":[]}
|