@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
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import {
|
|
2
|
+
recordIdeaLines
|
|
3
|
+
} from "./chunk-3W6G6ARX.js";
|
|
4
|
+
import {
|
|
5
|
+
anchorLines,
|
|
6
|
+
readIdeaAnchor
|
|
7
|
+
} from "./chunk-KOXDXSKN.js";
|
|
8
|
+
import {
|
|
9
|
+
findWorkspaceRoot
|
|
10
|
+
} from "./chunk-23H4ZJRP.js";
|
|
11
|
+
|
|
12
|
+
// src/commands/creatives/idea-hint.ts
|
|
13
|
+
import path from "path";
|
|
14
|
+
function present(fields) {
|
|
15
|
+
const said = Object.entries(fields).filter(([, v]) => v !== void 0 && !(Array.isArray(v) && v.length === 0));
|
|
16
|
+
return Object.fromEntries(said);
|
|
17
|
+
}
|
|
18
|
+
function anchorOut(view, full) {
|
|
19
|
+
const reference = view.reference ? {
|
|
20
|
+
...present({ adId: view.reference.adId, advertiser: view.advertiser }),
|
|
21
|
+
carry: view.reference.carry,
|
|
22
|
+
mustKeep: view.reference.mustKeep
|
|
23
|
+
} : void 0;
|
|
24
|
+
const compact = present({
|
|
25
|
+
message: view.message,
|
|
26
|
+
language: view.language,
|
|
27
|
+
reference,
|
|
28
|
+
seriesLead: view.seriesLead,
|
|
29
|
+
accent: view.accent,
|
|
30
|
+
cast: view.cast,
|
|
31
|
+
who: view.who,
|
|
32
|
+
survives: view.survives
|
|
33
|
+
});
|
|
34
|
+
if (!full) return compact;
|
|
35
|
+
return {
|
|
36
|
+
...compact,
|
|
37
|
+
...present({ why: view.why, voices: view.voices, voiceIds: view.voiceIds, route: view.route }),
|
|
38
|
+
changes: view.changes
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
function ideaHint(view) {
|
|
42
|
+
return `Its idea: ${anchorLines(view).join(" \xB7 ").replace(
|
|
43
|
+
/[.!?…]+$/u,
|
|
44
|
+
""
|
|
45
|
+
)}. An edit keeps it: change exactly what they named; a change of the idea they asked for is one line under "## Changes" in _definition.md, the reason after the dash.`;
|
|
46
|
+
}
|
|
47
|
+
function withAnchor(response, view, opts) {
|
|
48
|
+
return {
|
|
49
|
+
...response,
|
|
50
|
+
data: { ...response.data, anchor: anchorOut(view, opts.full) },
|
|
51
|
+
hints: [ideaHint(view), ...response.hints ?? []]
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
async function readCreativeIdea(slug) {
|
|
55
|
+
const root = findWorkspaceRoot(process.cwd()) ?? process.cwd();
|
|
56
|
+
const read = await readIdeaAnchor(path.join(root, "src", "creatives", slug));
|
|
57
|
+
if (!read) return null;
|
|
58
|
+
await recordIdeaLines(path.join(root, "canvas"), slug, anchorLines(read.view)).catch(() => void 0);
|
|
59
|
+
return read.view;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export {
|
|
63
|
+
withAnchor,
|
|
64
|
+
readCreativeIdea
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=chunk-AO45BX6Q.js.map
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
import {
|
|
2
|
+
chatgptDraftOpInputSchema,
|
|
3
|
+
chatgptFailure
|
|
4
|
+
} from "./chunk-IG627WWY.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,
|
|
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-AQM4JH62.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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,\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":[]}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import {
|
|
2
|
+
GEO_TARGET_COUNTRIES,
|
|
3
|
+
LANGUAGE_CONSTANTS
|
|
4
|
+
} from "./chunk-WTJSMYY2.js";
|
|
5
|
+
|
|
6
|
+
// src/geo-context.ts
|
|
7
|
+
function toOptions(names) {
|
|
8
|
+
return Object.entries(names).map(([id, name]) => ({ id, name })).sort((a, b) => a.name.localeCompare(b.name));
|
|
9
|
+
}
|
|
10
|
+
var GOOGLE_ADS_LOCATIONS = toOptions(GEO_TARGET_COUNTRIES);
|
|
11
|
+
var GOOGLE_ADS_LANGUAGES = toOptions(LANGUAGE_CONSTANTS);
|
|
12
|
+
var DATAFORSEO_LOCATIONS = [
|
|
13
|
+
{ code: "us", name: "United States" },
|
|
14
|
+
{ code: "uk", name: "United Kingdom" },
|
|
15
|
+
{ code: "gb", name: "United Kingdom" },
|
|
16
|
+
{ code: "ca", name: "Canada" },
|
|
17
|
+
{ code: "au", name: "Australia" },
|
|
18
|
+
{ code: "de", name: "Germany" },
|
|
19
|
+
{ code: "fr", name: "France" },
|
|
20
|
+
{ code: "es", name: "Spain" },
|
|
21
|
+
{ code: "it", name: "Italy" },
|
|
22
|
+
{ code: "br", name: "Brazil" },
|
|
23
|
+
{ code: "mx", name: "Mexico" },
|
|
24
|
+
{ code: "nl", name: "Netherlands" },
|
|
25
|
+
{ code: "be", name: "Belgium" },
|
|
26
|
+
{ code: "at", name: "Austria" },
|
|
27
|
+
{ code: "ch", name: "Switzerland" },
|
|
28
|
+
{ code: "pt", name: "Portugal" },
|
|
29
|
+
{ code: "se", name: "Sweden" },
|
|
30
|
+
{ code: "no", name: "Norway" },
|
|
31
|
+
{ code: "dk", name: "Denmark" },
|
|
32
|
+
{ code: "fi", name: "Finland" },
|
|
33
|
+
{ code: "ie", name: "Ireland" },
|
|
34
|
+
{ code: "nz", name: "New Zealand" },
|
|
35
|
+
{ code: "in", name: "India" },
|
|
36
|
+
{ code: "jp", name: "Japan" },
|
|
37
|
+
{ code: "kr", name: "South Korea" },
|
|
38
|
+
{ code: "sg", name: "Singapore" },
|
|
39
|
+
{ code: "ar", name: "Argentina" },
|
|
40
|
+
{ code: "cl", name: "Chile" },
|
|
41
|
+
{ code: "co", name: "Colombia" },
|
|
42
|
+
{ code: "pe", name: "Peru" },
|
|
43
|
+
{ code: "pl", name: "Poland" },
|
|
44
|
+
{ code: "cz", name: "Czech Republic" },
|
|
45
|
+
{ code: "ro", name: "Romania" },
|
|
46
|
+
{ code: "hu", name: "Hungary" },
|
|
47
|
+
{ code: "za", name: "South Africa" },
|
|
48
|
+
{ code: "il", name: "Israel" },
|
|
49
|
+
{ code: "ae", name: "United Arab Emirates" },
|
|
50
|
+
{ code: "sa", name: "Saudi Arabia" },
|
|
51
|
+
{ code: "tr", name: "Turkey" },
|
|
52
|
+
{ code: "ph", name: "Philippines" },
|
|
53
|
+
{ code: "th", name: "Thailand" },
|
|
54
|
+
{ code: "my", name: "Malaysia" },
|
|
55
|
+
{ code: "id", name: "Indonesia" },
|
|
56
|
+
{ code: "vn", name: "Vietnam" },
|
|
57
|
+
{ code: "tw", name: "Taiwan" },
|
|
58
|
+
{ code: "hk", name: "Hong Kong" }
|
|
59
|
+
];
|
|
60
|
+
var DATAFORSEO_LANGUAGES = [
|
|
61
|
+
{ code: "en", name: "English" },
|
|
62
|
+
{ code: "es", name: "Spanish" },
|
|
63
|
+
{ code: "fr", name: "French" },
|
|
64
|
+
{ code: "de", name: "German" },
|
|
65
|
+
{ code: "it", name: "Italian" },
|
|
66
|
+
{ code: "pt", name: "Portuguese" },
|
|
67
|
+
{ code: "nl", name: "Dutch" },
|
|
68
|
+
{ code: "ja", name: "Japanese" },
|
|
69
|
+
{ code: "ko", name: "Korean" },
|
|
70
|
+
{ code: "zh", name: "Chinese" },
|
|
71
|
+
{ code: "ar", name: "Arabic" },
|
|
72
|
+
{ code: "ru", name: "Russian" },
|
|
73
|
+
{ code: "pl", name: "Polish" },
|
|
74
|
+
{ code: "tr", name: "Turkish" },
|
|
75
|
+
{ code: "sv", name: "Swedish" },
|
|
76
|
+
{ code: "no", name: "Norwegian" },
|
|
77
|
+
{ code: "da", name: "Danish" },
|
|
78
|
+
{ code: "fi", name: "Finnish" }
|
|
79
|
+
];
|
|
80
|
+
function toRecord(list) {
|
|
81
|
+
const map = {};
|
|
82
|
+
for (const item of list) {
|
|
83
|
+
const key = item.id ?? item.code;
|
|
84
|
+
if (key) map[key] = item.name;
|
|
85
|
+
}
|
|
86
|
+
return map;
|
|
87
|
+
}
|
|
88
|
+
var researchLocationMap = toRecord(DATAFORSEO_LOCATIONS);
|
|
89
|
+
var researchLanguageMap = toRecord(DATAFORSEO_LANGUAGES);
|
|
90
|
+
function buildAdsQueryContext(locationArg, languageArg) {
|
|
91
|
+
const locationId = locationArg ?? "2840";
|
|
92
|
+
const languageId = languageArg ?? "1000";
|
|
93
|
+
const locationIsDefault = !locationArg;
|
|
94
|
+
const languageIsDefault = !languageArg;
|
|
95
|
+
const locationName = GEO_TARGET_COUNTRIES[locationId] ?? `ID ${locationId}`;
|
|
96
|
+
const languageName = LANGUAGE_CONSTANTS[languageId] ?? `ID ${languageId}`;
|
|
97
|
+
const ctx = {
|
|
98
|
+
location: `${locationName} (${locationId})`,
|
|
99
|
+
language: `${languageName} (${languageId})`,
|
|
100
|
+
location_is_default: locationIsDefault,
|
|
101
|
+
language_is_default: languageIsDefault
|
|
102
|
+
};
|
|
103
|
+
if (locationIsDefault || languageIsDefault) {
|
|
104
|
+
const parts = [];
|
|
105
|
+
if (locationIsDefault) parts.push("--location");
|
|
106
|
+
if (languageIsDefault) parts.push("--language");
|
|
107
|
+
ctx.defaults_warning = `Location and/or language were not specified \u2014 using defaults. Results are for ${locationName} in ${languageName}. Pass ${parts.join(" and ")} to target a different market.`;
|
|
108
|
+
}
|
|
109
|
+
return ctx;
|
|
110
|
+
}
|
|
111
|
+
function buildResearchQueryContext(locationArg, languageArg, options) {
|
|
112
|
+
const skipLocation = options?.skipLocation ?? false;
|
|
113
|
+
const locationCode = locationArg ?? "us";
|
|
114
|
+
const languageCode = languageArg ?? "en";
|
|
115
|
+
const locationIsDefault = !locationArg && !skipLocation;
|
|
116
|
+
const languageIsDefault = !languageArg;
|
|
117
|
+
const locationName = researchLocationMap[locationCode.toLowerCase()] ?? `code ${locationCode}`;
|
|
118
|
+
const languageName = researchLanguageMap[languageCode.toLowerCase()] ?? `code ${languageCode}`;
|
|
119
|
+
const ctx = {
|
|
120
|
+
location: skipLocation ? "N/A" : `${locationName} (${locationCode})`,
|
|
121
|
+
language: `${languageName} (${languageCode})`,
|
|
122
|
+
location_is_default: locationIsDefault,
|
|
123
|
+
language_is_default: languageIsDefault
|
|
124
|
+
};
|
|
125
|
+
const defaultParts = [];
|
|
126
|
+
if (locationIsDefault) defaultParts.push("--location");
|
|
127
|
+
if (languageIsDefault) defaultParts.push("--language");
|
|
128
|
+
if (defaultParts.length > 0) {
|
|
129
|
+
const market = skipLocation ? `${languageName}` : `${locationName} in ${languageName}`;
|
|
130
|
+
ctx.defaults_warning = `Location and/or language were not specified \u2014 using defaults. Results are for ${market}. Pass ${defaultParts.join(" and ")} to target a different market.`;
|
|
131
|
+
}
|
|
132
|
+
return ctx;
|
|
133
|
+
}
|
|
134
|
+
function warnDefaults(ctx) {
|
|
135
|
+
if (ctx.defaults_warning) {
|
|
136
|
+
process.stderr.write(`
|
|
137
|
+
[WARNING] ${ctx.defaults_warning}
|
|
138
|
+
|
|
139
|
+
`);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
export {
|
|
144
|
+
GOOGLE_ADS_LOCATIONS,
|
|
145
|
+
GOOGLE_ADS_LANGUAGES,
|
|
146
|
+
buildAdsQueryContext,
|
|
147
|
+
buildResearchQueryContext,
|
|
148
|
+
warnDefaults
|
|
149
|
+
};
|
|
150
|
+
//# sourceMappingURL=chunk-BDYLILMW.js.map
|