@koda-sl/baker-cli 0.545.0-dev.2a6beac48 → 0.546.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 +2 -0
- package/dist/account-2HJ4GKHN.js +82 -0
- package/dist/account-P5S2VJ2E.js +82 -0
- package/dist/account-reads-X36NPCX5.js +219 -0
- package/dist/account-users-PJQTX3SX.js +64 -0
- package/dist/account-writes-FZ3KCJZY.js +68 -0
- package/dist/accounts-2BFYTYMI.js +80 -0
- package/dist/accounts-C4Y7GFSK.js +701 -0
- package/dist/actions-QG2OULYP.js +55 -0
- package/dist/activecampaign-MNT2JV2L.js +938 -0
- package/dist/ad-group-writes-XGG3WQEO.js +172 -0
- package/dist/ad-groups-GZIPUN64.js +70 -0
- package/dist/ad-writes-2VTRWQLW.js +176 -0
- package/dist/add-AZ5A7BIN.js +107 -0
- package/dist/add-RNNEHG6I.js +305 -0
- package/dist/ads-IXE6BT3V.js +48 -0
- package/dist/ads-LNWALF6G.js +79 -0
- package/dist/advertisers-WBZ3ECQX.js +123 -0
- package/dist/analytics-2HJWW3FB.js +447 -0
- package/dist/analytics-PEYMMWD7.js +2437 -0
- package/dist/animate-DM4OUJMR.js +480 -0
- package/dist/assign-JHGAFCUY.js +80 -0
- package/dist/audience-size-U76DF2X5.js +76 -0
- package/dist/audiences-7D5VPOWF.js +280 -0
- package/dist/audit-DZYUAO3J.js +154 -0
- package/dist/autocomplete-Z4SWGQ3P.js +114 -0
- package/dist/avatars-4S2IWOKX.js +38 -0
- package/dist/bid-pricing-SXZDIXYR.js +103 -0
- package/dist/brand-2TRP2BIX.js +22 -0
- package/dist/brief-GDZ343Y2.js +543 -0
- package/dist/campaign-groups-5J7N2MFZ.js +99 -0
- package/dist/campaign-writes-3WFTS727.js +168 -0
- package/dist/campaign-writes-H22P6YPW.js +176 -0
- package/dist/campaigns-265JXD2Z.js +78 -0
- package/dist/campaigns-5L7R2HO6.js +111 -0
- package/dist/campaigns-PQ76BA6H.js +113 -0
- package/dist/canvas-EUBBLSWF.js +46 -0
- package/dist/capabilities-MBO3DOG2.js +147 -0
- package/dist/catalog-DPUQBZZ7.js +66 -0
- package/dist/catalogs-SBXFAD3X.js +130 -0
- package/dist/changes-HXVZUJMH.js +143 -0
- package/dist/chatgpt-UXJPCGZU.js +47 -0
- package/dist/chats-WJW4GHBK.js +449 -0
- package/dist/check-7Z6JYY5U.js +107 -0
- package/dist/chunk-2EAHMSLD.js +249 -0
- package/dist/chunk-2YH5JHEH.js +91 -0
- package/dist/chunk-4D73PLXU.js +843 -0
- package/dist/chunk-4LEHJXPY.js +604 -0
- package/dist/chunk-4O2EPB6D.js +344 -0
- package/dist/chunk-4S5ZAG4S.js +63 -0
- package/dist/chunk-65SIPEB3.js +910 -0
- package/dist/chunk-7GKMMWGG.js +547 -0
- package/dist/chunk-7MN447O7.js +377 -0
- package/dist/chunk-AMMXBAHA.js +224 -0
- package/dist/chunk-BNY6KR47.js +831 -0
- package/dist/chunk-BQZMJEHJ.js +494 -0
- package/dist/chunk-CMXTQ4PS.js +7800 -0
- package/dist/chunk-CMXTQ4PS.js.map +1 -0
- package/dist/chunk-DYTBVVQX.js +679 -0
- package/dist/chunk-DYTBVVQX.js.map +1 -0
- package/dist/chunk-EBWOLUII.js +24026 -0
- package/dist/chunk-EBWOLUII.js.map +1 -0
- package/dist/chunk-EKS4XPSS.js +207 -0
- package/dist/chunk-EOMY5SUJ.js +783 -0
- package/dist/chunk-EZH5QZDA.js +19 -0
- package/dist/chunk-FVDC6AKZ.js +150 -0
- package/dist/chunk-FWMPRDJX.js +334 -0
- package/dist/chunk-FWXYITXH.js +297 -0
- package/dist/chunk-GN7K3NPI.js +148 -0
- package/dist/chunk-HBDWE7WK.js +98 -0
- package/dist/chunk-JAC6JVCI.js +26 -0
- package/dist/chunk-JFO2Q3ZO.js +91 -0
- package/dist/chunk-JLLGXYOZ.js +857 -0
- package/dist/chunk-JOQLRI2R.js +455 -0
- package/dist/chunk-JY3OJBKZ.js +3510 -0
- package/dist/chunk-K4W7XMUF.js +8954 -0
- package/dist/chunk-KIXVHP2C.js +1919 -0
- package/dist/chunk-L6WI7WEQ.js +685 -0
- package/dist/chunk-LHZAGVUZ.js +191 -0
- package/dist/chunk-LTKET3RQ.js +203 -0
- package/dist/chunk-MCJ5I5LR.js +3187 -0
- package/dist/chunk-MCJ5I5LR.js.map +1 -0
- package/dist/chunk-MLJKPUWP.js +191 -0
- package/dist/chunk-MLJKPUWP.js.map +1 -0
- package/dist/chunk-MSMTG6OC.js +4269 -0
- package/dist/chunk-MSMTG6OC.js.map +1 -0
- package/dist/chunk-MZPS46OR.js +76 -0
- package/dist/chunk-NBWZVBDG.js +131 -0
- package/dist/chunk-OLEYVOS2.js +2209 -0
- package/dist/chunk-OOE5JYCT.js +275 -0
- package/dist/chunk-OWSNCNLT.js +197 -0
- package/dist/chunk-P3VY5JEM.js +274 -0
- package/dist/chunk-PP3DM7NO.js +430 -0
- package/dist/chunk-PXGR3VGW.js +1646 -0
- package/dist/chunk-Q2MRYCUR.js +66 -0
- package/dist/chunk-QK3HMAVU.js +5471 -0
- package/dist/chunk-QQU3TWMB.js +51 -0
- package/dist/chunk-RH2A7LT2.js +103 -0
- package/dist/chunk-RHEWQB5O.js +638 -0
- package/dist/chunk-RNHTZYSX.js +163 -0
- package/dist/chunk-RP36XHWT.js +46 -0
- package/dist/chunk-RVMI6327.js +156 -0
- package/dist/chunk-SA5EIVSY.js +142 -0
- package/dist/chunk-SDAADQBT.js +387 -0
- package/dist/chunk-SNWFM2DB.js +228 -0
- package/dist/chunk-SOKUGFVQ.js +169 -0
- package/dist/chunk-TARINRA4.js +1518 -0
- package/dist/chunk-TB2EO2SY.js +23 -0
- package/dist/chunk-TNMTZOMA.js +479 -0
- package/dist/chunk-TNZUMU55.js +167 -0
- package/dist/chunk-V2XA5SIO.js +152 -0
- package/dist/chunk-V2XA5SIO.js.map +1 -0
- package/dist/chunk-VFYC466I.js +438 -0
- package/dist/chunk-VOUCQ2YW.js +64 -0
- package/dist/chunk-WOE4TZHJ.js +285 -0
- package/dist/chunk-X32MFGWW.js +15 -0
- package/dist/chunk-X32MFGWW.js.map +1 -0
- package/dist/chunk-X5PWBSXW.js +930 -0
- package/dist/chunk-XRD25RJ7.js +1902 -0
- package/dist/chunk-XTI7GGHL.js +170 -0
- package/dist/chunk-XYNQMRNX.js +5368 -0
- package/dist/chunk-YOJLONWG.js +61 -0
- package/dist/chunk-YTHF34YK.js +89 -0
- package/dist/chunk-YVKB74CZ.js +392 -0
- package/dist/chunk-Z2IGUL2M.js +57 -0
- package/dist/chunk-ZEUAJAKN.js +225 -0
- package/dist/claim-SO5J35XP.js +200 -0
- package/dist/cli.js +33 -33
- package/dist/companies-CDECCXBD.js +198 -0
- package/dist/company-NYZDI5N2.js +308 -0
- package/dist/complete-MG37D4CB.js +84 -0
- package/dist/config-3VK74MY6.js +88 -0
- package/dist/connect-SZMBR2OI.js +45 -0
- package/dist/conversation-DTNMIXHM.js +96 -0
- package/dist/conversion-report-RB2MU7UD.js +127 -0
- package/dist/conversion-upload-command-HFZYKVXA.js +439 -0
- package/dist/conversion-writes-56AIPXPK.js +122 -0
- package/dist/conversions-NRX76ZIT.js +78 -0
- package/dist/conversions-X3DU4BJA.js +140 -0
- package/dist/create-CZI3743R.js +239 -0
- package/dist/create-I47VP7N7.js +210 -0
- package/dist/create-TNYAFY7C.js +62 -0
- package/dist/create-XSLRS6QB.js +135 -0
- package/dist/creatives-2DY62A7C.js +223 -0
- package/dist/creatives-6UVWEEQ6.js +58 -0
- package/dist/credentials-3YVA5FAS.js +290 -0
- package/dist/critique-LSOI3FHP.js +232 -0
- package/dist/critique-XMAU2GHO.js +1451 -0
- package/dist/crm-3EBMPJJB.js +323 -0
- package/dist/crm-KVZPRNUX.js +227 -0
- package/dist/currency-CHBV6WIO.js +88 -0
- package/dist/customers-FYSYG3KC.js +65 -0
- package/dist/delete-ESSOYJKH.js +57 -0
- package/dist/delete-HLQMRIME.js +67 -0
- package/dist/delete-Q3NX3Q5B.js +69 -0
- package/dist/demographics-LASHWIXO.js +141 -0
- package/dist/discard-3DO7JVEV.js +69 -0
- package/dist/discover-ZU2DAV23.js +172 -0
- package/dist/domain-FB4247ER.js +101 -0
- package/dist/download-R33R7GY2.js +172 -0
- package/dist/draft-6EHV5NAN.js +247 -0
- package/dist/draft-6EHV5NAN.js.map +1 -0
- package/dist/draft-A2W2GB6J.js +342 -0
- package/dist/draft-A2W2GB6J.js.map +1 -0
- package/dist/draft-EWGNZUU4.js +288 -0
- package/dist/draft-EWGNZUU4.js.map +1 -0
- package/dist/draft-FSZMTGWI.js +106 -0
- package/dist/draft-FSZMTGWI.js.map +1 -0
- package/dist/draft-O4RCH27D.js +220 -0
- package/dist/draft-P3YJZY74.js +106 -0
- package/dist/draft-P3YJZY74.js.map +1 -0
- package/dist/draft-Q2FDEPPR.js +313 -0
- package/dist/draft-Q2FDEPPR.js.map +1 -0
- package/dist/draft-R7BNWMBR.js +408 -0
- package/dist/draft-R7BNWMBR.js.map +1 -0
- package/dist/engine/index.js +8 -8
- package/dist/experiments-LKCWGOHZ.js +236 -0
- package/dist/facets-KLNWJHHS.js +117 -0
- package/dist/feedback-S362KMYD.js +115 -0
- package/dist/feedback-record-4SNCWNXJ.js +269 -0
- package/dist/fetch-JDLKLVB3.js +204 -0
- package/dist/fit-VR4RLHAW.js +65 -0
- package/dist/flows-KRF2MXDV.js +250 -0
- package/dist/fonts-VZRP3WKC.js +39 -0
- package/dist/forecast-372Q6KQZ.js +169 -0
- package/dist/forecast-XWMDKUWU.js +121 -0
- package/dist/funnel-6DDF77MP.js +397 -0
- package/dist/ga4-GDMHIFBU.js +55 -0
- package/dist/generate-JQIK3UYS.js +263 -0
- package/dist/get-6QFJJQZF.js +59 -0
- package/dist/get-ZRY36R6X.js +82 -0
- package/dist/google-JHTOX6WM.js +3270 -0
- package/dist/google-ads-HGXVNG7F.js +198 -0
- package/dist/history-AAXNYSBM.js +102 -0
- package/dist/history-BXYPY5NL.js +153 -0
- package/dist/history-VNLS2TKB.js +69 -0
- package/dist/hubspot-HOCVFC6T.js +782 -0
- package/dist/ideas-XWO4KK7B.js +45 -0
- package/dist/images-DAQAHTEQ.js +92 -0
- package/dist/ingest-E3RVG24Y.js +123 -0
- package/dist/ingest-Q354BZ5E.js +27 -0
- package/dist/insights-XY6II7TX.js +132 -0
- package/dist/inspect-K4K4DKCA.js +192 -0
- package/dist/intent-5QUPPZNI.js +95 -0
- package/dist/keyword-gap-IG3EFLDH.js +130 -0
- package/dist/keyword-metrics-2OEPH7SY.js +200 -0
- package/dist/keywords-for-site-FQTQ7YK7.js +131 -0
- package/dist/landing-2DQPIGP3.js +28 -0
- package/dist/languages-LNHWSCMT.js +40 -0
- package/dist/leads-BFN7STN7.js +115 -0
- package/dist/learn-J35JIM2I.js +207 -0
- package/dist/line-item-writes-SSQ4MIM4.js +211 -0
- package/dist/line-items-EJUWLXKX.js +107 -0
- package/dist/link-AEY3CNWU.js +67 -0
- package/dist/linkedin-JZV7UL6X.js +1330 -0
- package/dist/linkedin-JZV7UL6X.js.map +1 -0
- package/dist/linkedin-person-NEE63CCA.js +139 -0
- package/dist/list-M4TCQF5X.js +306 -0
- package/dist/list-VQDNBEYO.js +67 -0
- package/dist/list-ZY24D24K.js +154 -0
- package/dist/locations-64JNCQID.js +69 -0
- package/dist/locations-KVAAO7LD.js +40 -0
- package/dist/log-OPLN3IRB.js +95 -0
- package/dist/make-6L7PP5UQ.js +1367 -0
- package/dist/map-VUALMWUR.js +436 -0
- package/dist/mcp-56IBRTZ4.js +729 -0
- package/dist/media-sources-6ESCZBK3.js +35 -0
- package/dist/members-PT6TDQVH.js +47 -0
- package/dist/meta-XVPSGNHU.js +122 -0
- package/dist/metrics-MXGA3EFS.js +152 -0
- package/dist/models-Z6SUHWKI.js +155 -0
- package/dist/normalize-L4LY7T44.js +144 -0
- package/dist/options-YYX4ABEJ.js +125 -0
- package/dist/organization-TB6HQDMZ.js +949 -0
- package/dist/performance-OVWWS4H7.js +27 -0
- package/dist/performance-Z2KJSRYW.js +5565 -0
- package/dist/pixels-H642RPK4.js +62 -0
- package/dist/plan-FRRE4YQC.js +208 -0
- package/dist/promoted-tweet-writes-Z53Y53NY.js +183 -0
- package/dist/promoted-tweets-6LCVTNA4.js +119 -0
- package/dist/publish-IINRY5CV.js +344 -0
- package/dist/query-FT2BA3WH.js +62 -0
- package/dist/read-7ZFZAJSQ.js +141 -0
- package/dist/reddit-GN7JTUT4.js +29 -0
- package/dist/refresh-GG3YE2OV.js +97 -0
- package/dist/release-ANPUYLTT.js +63 -0
- package/dist/relevant-pages-OCHLUV5K.js +99 -0
- package/dist/remove-KRJNZWI6.js +53 -0
- package/dist/reopen-HSES67EB.js +66 -0
- package/dist/rerun-E4EKDIUW.js +96 -0
- package/dist/research-EGJRTHXJ.js +75 -0
- package/dist/research-ISCZZZZA.js +265 -0
- package/dist/reset-EG7VZ2CV.js +57 -0
- package/dist/reset-H432TZBK.js +57 -0
- package/dist/resolve-YR42UONS.js +124 -0
- package/dist/retry-4PLDHYSR.js +65 -0
- package/dist/retry-5DVWSAL4.js +63 -0
- package/dist/revenue-KVPNIH6W.js +91 -0
- package/dist/rules-3P7YGWPO.js +99 -0
- package/dist/rules-add-RGDR7KZY.js +465 -0
- package/dist/run-IX3GBTJW.js +71 -0
- package/dist/run-VZ5EIKUY.js +69 -0
- package/dist/scaffold-ad-6NMCWJWB.js +1513 -0
- package/dist/scaffold-static-ad-VEOPCYXT.js +1011 -0
- package/dist/scaffold-video-M5NYH3Y7.js +885 -0
- package/dist/schedule-3W3URGTX.js +64 -0
- package/dist/scheduled-agents-OP6RE5UG.js +55 -0
- package/dist/schema-MGXMIZSJ.js +135 -0
- package/dist/search-WNEXCXAB.js +177 -0
- package/dist/select-6YIRXTDD.js +110 -0
- package/dist/set-prompt-KCCBDH2W.js +199 -0
- package/dist/setup-links-ZZHTAIHB.js +144 -0
- package/dist/shopify-AJBIYN7L.js +3980 -0
- package/dist/shopify-AJBIYN7L.js.map +1 -0
- package/dist/site-T2SKABGA.js +180 -0
- package/dist/sources-BS2PSBJY.js +457 -0
- package/dist/sources-BXNZRLWV.js +30 -0
- package/dist/stale-ZXHCEHL3.js +90 -0
- package/dist/status-CO65UWTW.js +65 -0
- package/dist/studio-6ZXUKA4G.js +49 -0
- package/dist/sync-ZAK5GPCA.js +57 -0
- package/dist/sync-definition-HO2RAVSB.js +70 -0
- package/dist/tag-manager-74CGUGXX.js +43 -0
- package/dist/tags-7NACSUYN.js +227 -0
- package/dist/tags-LMPGS3ZO.js +23 -0
- package/dist/tags-LUAG3KGM.js +23 -0
- package/dist/tags-RBZR2NO3.js +23 -0
- package/dist/tags-ZLOXPFQZ.js +26 -0
- package/dist/targeting-criteria-CRRYYBHP.js +113 -0
- package/dist/targets-35X4YKUB.js +106 -0
- package/dist/testimonials-DBOEVW2C.js +32 -0
- package/dist/themes-R3A6IVQN.js +95 -0
- package/dist/top-companies-XWBHS5LC.js +111 -0
- package/dist/transcript-FBJZUF7A.js +165 -0
- package/dist/translate-2EZKFEUC.js +603 -0
- package/dist/triggers-PRFYW7IG.js +144 -0
- package/dist/unlink-3K7ZLSPQ.js +70 -0
- package/dist/unstage-QHWN7QHU.js +88 -0
- package/dist/update-4XRJU43K.js +192 -0
- package/dist/update-KSSY2TTH.js +155 -0
- package/dist/update-MSAHJFFZ.js +101 -0
- package/dist/update-WMQZD7P2.js +66 -0
- package/dist/upload-JFBWYXQ2.js +130 -0
- package/dist/url-options-YZ6UG3NY.js +131 -0
- package/dist/url-params-E5I6POBJ.js +101 -0
- package/dist/validate-USALHH7N.js +125 -0
- package/dist/videos-IJWH4DAC.js +41 -0
- package/dist/viewer-check-HQKTK5QT.js +83 -0
- package/dist/web-XXXOKEV2.js +173 -0
- package/dist/winning-ads-WF2UXSKZ.js +86 -0
- package/dist/write-commands-5Z5A3D3M.js +713 -0
- package/dist/write-commands-7DTFGM6E.js +206 -0
- package/dist/write-commands-GFVERRU4.js +1525 -0
- package/dist/x-TPEKLUTG.js +47 -0
- package/package.json +1 -1
- package/dist/account-D236Y3BP.js +0 -82
- package/dist/account-IG3U6UXZ.js +0 -82
- package/dist/account-reads-L2GYNCD3.js +0 -219
- package/dist/account-users-A5H7FC7T.js +0 -64
- package/dist/account-writes-BSSKSTZ2.js +0 -68
- package/dist/accounts-ENS2ONLA.js +0 -701
- package/dist/accounts-RTUSISHG.js +0 -80
- package/dist/actions-3SQGXLLM.js +0 -55
- package/dist/activecampaign-MJ4SIVWY.js +0 -938
- package/dist/ad-group-writes-KMB3OMJG.js +0 -172
- package/dist/ad-groups-E67CNQS4.js +0 -70
- package/dist/ad-writes-FNMKNFUN.js +0 -176
- package/dist/add-BH2GJZ46.js +0 -305
- package/dist/add-FJJHZDVW.js +0 -107
- package/dist/ads-4LASBP4G.js +0 -79
- package/dist/ads-WE6GT2BL.js +0 -48
- package/dist/advertisers-P742OQFI.js +0 -123
- package/dist/analytics-ICV42S7D.js +0 -447
- package/dist/analytics-XCUJSG3F.js +0 -2437
- package/dist/animate-OWXAT2RK.js +0 -480
- package/dist/assign-OQYVRXCT.js +0 -80
- package/dist/audience-size-NN43B7FF.js +0 -76
- package/dist/audiences-3R574STZ.js +0 -280
- package/dist/audit-JLH2TBIL.js +0 -154
- package/dist/autocomplete-ZQAKVB6T.js +0 -114
- package/dist/avatars-JWCZ2KVM.js +0 -38
- package/dist/bid-pricing-CX3V76MC.js +0 -103
- package/dist/brand-NKHAO4TK.js +0 -22
- package/dist/brief-6RDPVD4A.js +0 -543
- package/dist/campaign-groups-3PVR3IXH.js +0 -99
- package/dist/campaign-writes-TBWAZOZ2.js +0 -168
- package/dist/campaign-writes-Z2J24SUZ.js +0 -176
- package/dist/campaigns-43OS6EUG.js +0 -78
- package/dist/campaigns-PW4XK65Y.js +0 -113
- package/dist/campaigns-RN3SPC7L.js +0 -111
- package/dist/canvas-QJI65546.js +0 -46
- package/dist/capabilities-KPQWOCTA.js +0 -147
- package/dist/catalog-7LINLVVY.js +0 -66
- package/dist/catalogs-IR22RGZD.js +0 -130
- package/dist/changes-RSEGYV45.js +0 -143
- package/dist/chatgpt-PDFFKPY2.js +0 -47
- package/dist/chats-RRD42PZ5.js +0 -449
- package/dist/check-TPP2KZY6.js +0 -107
- package/dist/chunk-3BXD6MC6.js +0 -197
- package/dist/chunk-3EUITH4J.js +0 -638
- package/dist/chunk-3MZNBHC7.js +0 -156
- package/dist/chunk-47K5MDGX.js +0 -170
- package/dist/chunk-4IRJ5JXA.js +0 -46
- package/dist/chunk-5IFFPSEN.js +0 -225
- package/dist/chunk-64ALJ6TJ.js +0 -274
- package/dist/chunk-6OIKNJ7G.js +0 -26
- package/dist/chunk-6UMQSHGK.js +0 -2209
- package/dist/chunk-7UFV6H7J.js +0 -167
- package/dist/chunk-7VDTLOSX.js +0 -344
- package/dist/chunk-7YYTE5XE.js +0 -191
- package/dist/chunk-ANUFRN3B.js +0 -334
- package/dist/chunk-B3CDNANO.js +0 -843
- package/dist/chunk-B74ZFQKS.js +0 -676
- package/dist/chunk-B74ZFQKS.js.map +0 -1
- package/dist/chunk-BDWNJRTY.js +0 -1902
- package/dist/chunk-BH3JS7EF.js +0 -91
- package/dist/chunk-BKIHYRQL.js +0 -149
- package/dist/chunk-BKIHYRQL.js.map +0 -1
- package/dist/chunk-BLGTDKIV.js +0 -831
- package/dist/chunk-BNO3EFGR.js +0 -4266
- package/dist/chunk-BNO3EFGR.js.map +0 -1
- package/dist/chunk-CXCZHEVW.js +0 -23
- package/dist/chunk-CYKFXG4R.js +0 -455
- package/dist/chunk-DD33NA2U.js +0 -89
- package/dist/chunk-DD6IMD7G.js +0 -207
- package/dist/chunk-E5H7JIWB.js +0 -3510
- package/dist/chunk-EYBIZT7T.js +0 -61
- package/dist/chunk-F3CZFUXZ.js +0 -3187
- package/dist/chunk-F3CZFUXZ.js.map +0 -1
- package/dist/chunk-FGSRPKOV.js +0 -438
- package/dist/chunk-FSK77EEM.js +0 -910
- package/dist/chunk-G2FDUCUU.js +0 -297
- package/dist/chunk-G6J6AWTE.js +0 -5471
- package/dist/chunk-GCFC2MNR.js +0 -228
- package/dist/chunk-GCZK4BMB.js +0 -5368
- package/dist/chunk-GJD43KID.js +0 -479
- package/dist/chunk-HGRCKRCF.js +0 -51
- package/dist/chunk-HMFIOE4P.js +0 -63
- package/dist/chunk-IM3GD4G3.js +0 -857
- package/dist/chunk-IUWM5XHR.js +0 -103
- package/dist/chunk-JBNT444M.js +0 -285
- package/dist/chunk-JW6VZBV7.js +0 -1646
- package/dist/chunk-KIX3ZM24.js +0 -685
- package/dist/chunk-L7AJMZ6Z.js +0 -24026
- package/dist/chunk-L7AJMZ6Z.js.map +0 -1
- package/dist/chunk-LDFM37DM.js +0 -148
- package/dist/chunk-NQF5U6FX.js +0 -150
- package/dist/chunk-ODN2LYPJ.js +0 -19
- package/dist/chunk-OKBIPYZN.js +0 -66
- package/dist/chunk-OM45JY2R.js +0 -377
- package/dist/chunk-ORLQEQDF.js +0 -203
- package/dist/chunk-OW2SDF66.js +0 -142
- package/dist/chunk-P6FMQHJJ.js +0 -131
- package/dist/chunk-PFBQERWX.js +0 -10
- package/dist/chunk-PFBQERWX.js.map +0 -1
- package/dist/chunk-Q6LCL67T.js +0 -1518
- package/dist/chunk-QB334QBO.js +0 -604
- package/dist/chunk-QJCGLIVD.js +0 -57
- package/dist/chunk-RKT6RFOR.js +0 -249
- package/dist/chunk-RM5T4MA6.js +0 -783
- package/dist/chunk-RYXGJDBK.js +0 -392
- package/dist/chunk-S47XHWFU.js +0 -7794
- package/dist/chunk-S47XHWFU.js.map +0 -1
- package/dist/chunk-SBPUCN6H.js +0 -547
- package/dist/chunk-SIKCVWM3.js +0 -76
- package/dist/chunk-SOYKSA2X.js +0 -224
- package/dist/chunk-TGW2POU6.js +0 -430
- package/dist/chunk-TL6P7WDT.js +0 -387
- package/dist/chunk-TSNL3AYG.js +0 -8954
- package/dist/chunk-TTDLK73U.js +0 -494
- package/dist/chunk-V4UJERGL.js +0 -64
- package/dist/chunk-VJKLZVAM.js +0 -169
- package/dist/chunk-VZGLL54O.js +0 -930
- package/dist/chunk-WGJHVP7T.js +0 -163
- package/dist/chunk-WJ6UJBHB.js +0 -91
- package/dist/chunk-WSYZT2QI.js +0 -275
- package/dist/chunk-XU6XQPNM.js +0 -1919
- package/dist/chunk-Y2AKJYI4.js +0 -191
- package/dist/chunk-Y2AKJYI4.js.map +0 -1
- package/dist/chunk-YQB66YKJ.js +0 -98
- package/dist/claim-75KAZXLJ.js +0 -200
- package/dist/companies-IB4C245S.js +0 -198
- package/dist/company-5J2EGA42.js +0 -308
- package/dist/complete-7AT7QWZN.js +0 -84
- package/dist/config-3GCILBEL.js +0 -88
- package/dist/connect-HKVHKX44.js +0 -45
- package/dist/conversation-5OEBGDYR.js +0 -96
- package/dist/conversion-report-R4KJI4VA.js +0 -127
- package/dist/conversion-upload-command-XQQWLYHZ.js +0 -439
- package/dist/conversion-writes-XIQEIDPS.js +0 -122
- package/dist/conversions-LLVHKDOQ.js +0 -140
- package/dist/conversions-RMBQNW3T.js +0 -78
- package/dist/create-2TAKPSGG.js +0 -210
- package/dist/create-J3OXZGXC.js +0 -239
- package/dist/create-RL3L7L2S.js +0 -135
- package/dist/create-ZVTM57AZ.js +0 -62
- package/dist/creatives-3EAIKWGU.js +0 -223
- package/dist/creatives-AALLH7YU.js +0 -58
- package/dist/credentials-MS4NJHEG.js +0 -290
- package/dist/critique-KLITVZA4.js +0 -1451
- package/dist/critique-NFPZD54K.js +0 -232
- package/dist/crm-7BAHXTK4.js +0 -227
- package/dist/crm-QQ7LGCLO.js +0 -323
- package/dist/currency-XFHCLKAV.js +0 -88
- package/dist/customers-NENDLH5A.js +0 -65
- package/dist/delete-VOUXBXU3.js +0 -67
- package/dist/delete-WACZG5SD.js +0 -69
- package/dist/delete-ZCPZ2ACI.js +0 -57
- package/dist/demographics-C5EL3BI6.js +0 -141
- package/dist/discard-RQXALYQZ.js +0 -69
- package/dist/discover-R3QBVUHZ.js +0 -172
- package/dist/domain-HV2N4S3O.js +0 -101
- package/dist/download-OQFJOZFD.js +0 -172
- package/dist/draft-25YY6NMC.js +0 -396
- package/dist/draft-25YY6NMC.js.map +0 -1
- package/dist/draft-4SZHKEAW.js +0 -310
- package/dist/draft-4SZHKEAW.js.map +0 -1
- package/dist/draft-6E7EQUCU.js +0 -103
- package/dist/draft-6E7EQUCU.js.map +0 -1
- package/dist/draft-GIJCJIQ5.js +0 -240
- package/dist/draft-GIJCJIQ5.js.map +0 -1
- package/dist/draft-IXHBF7UK.js +0 -335
- package/dist/draft-IXHBF7UK.js.map +0 -1
- package/dist/draft-Q74WOMUR.js +0 -283
- package/dist/draft-Q74WOMUR.js.map +0 -1
- package/dist/draft-RK3ZAUBF.js +0 -100
- package/dist/draft-RK3ZAUBF.js.map +0 -1
- package/dist/draft-SDOXYIND.js +0 -220
- package/dist/experiments-5UC4QVZU.js +0 -236
- package/dist/facets-I2CY2STO.js +0 -117
- package/dist/feedback-WGRNI4J3.js +0 -115
- package/dist/feedback-record-C6VYJQOL.js +0 -269
- package/dist/fetch-WS4CABQN.js +0 -204
- package/dist/fit-BJH2KAKU.js +0 -65
- package/dist/flows-ZQ66S64A.js +0 -250
- package/dist/fonts-EKLOSPJA.js +0 -39
- package/dist/forecast-JOQESPEP.js +0 -169
- package/dist/forecast-KDJVAWTO.js +0 -121
- package/dist/funnel-PD7EMXAX.js +0 -397
- package/dist/ga4-SBHUQKGK.js +0 -55
- package/dist/generate-SW5KLHXG.js +0 -263
- package/dist/get-IMZPHROU.js +0 -59
- package/dist/get-PIYAY4MD.js +0 -82
- package/dist/google-Q424277P.js +0 -3270
- package/dist/google-ads-VG2ZQBAP.js +0 -198
- package/dist/history-4LN2MMCY.js +0 -102
- package/dist/history-7DF5HFJT.js +0 -69
- package/dist/history-SECNIWQQ.js +0 -153
- package/dist/hubspot-HW3DMFB2.js +0 -782
- package/dist/ideas-CIFADAYV.js +0 -45
- package/dist/images-KV7UJMNO.js +0 -92
- package/dist/ingest-3DW2YGCB.js +0 -123
- package/dist/ingest-OG3RUM2Z.js +0 -27
- package/dist/insights-YVV5MHPQ.js +0 -132
- package/dist/inspect-YJGFTVGT.js +0 -192
- package/dist/intent-5VLQBTM7.js +0 -95
- package/dist/keyword-gap-COLF7JNH.js +0 -130
- package/dist/keyword-metrics-I7OIBLCO.js +0 -200
- package/dist/keywords-for-site-DIIUKEVJ.js +0 -131
- package/dist/landing-FFAMZ3CD.js +0 -28
- package/dist/languages-RYIOZQFH.js +0 -40
- package/dist/leads-WSK4N2I6.js +0 -115
- package/dist/learn-A4LSAKRL.js +0 -207
- package/dist/line-item-writes-Q47ZVHB6.js +0 -211
- package/dist/line-items-MHIXPRTG.js +0 -107
- package/dist/link-6FVFHGP4.js +0 -67
- package/dist/linkedin-ATHYXJ4Q.js +0 -1328
- package/dist/linkedin-ATHYXJ4Q.js.map +0 -1
- package/dist/linkedin-person-3MFAKS2Y.js +0 -139
- package/dist/list-7RNRZN4W.js +0 -154
- package/dist/list-BDGTMCFP.js +0 -306
- package/dist/list-MPZF6NTD.js +0 -67
- package/dist/locations-7RYEWKJO.js +0 -69
- package/dist/locations-OF2ZI5YX.js +0 -40
- package/dist/log-MBPVGWLX.js +0 -95
- package/dist/make-DYFGYGMD.js +0 -1367
- package/dist/map-UUHQJSSU.js +0 -436
- package/dist/mcp-BH5MXQMJ.js +0 -729
- package/dist/media-sources-4BJOODBR.js +0 -35
- package/dist/members-PK2AXSE4.js +0 -47
- package/dist/meta-X46LC3GI.js +0 -122
- package/dist/metrics-PKMIG7VL.js +0 -152
- package/dist/models-X2IXXAD6.js +0 -155
- package/dist/normalize-36K2VJMB.js +0 -144
- package/dist/options-7BEM4Z5E.js +0 -125
- package/dist/organization-RSFFVT2M.js +0 -949
- package/dist/performance-4L2AFM4A.js +0 -27
- package/dist/performance-PVZ5V6YL.js +0 -5565
- package/dist/pixels-DBSPNHIE.js +0 -62
- package/dist/plan-2Q6SOHMD.js +0 -208
- package/dist/promoted-tweet-writes-UW2VRBZ2.js +0 -183
- package/dist/promoted-tweets-MJEZFPLW.js +0 -119
- package/dist/publish-XNYDOQ7I.js +0 -344
- package/dist/query-GBIWIZSS.js +0 -62
- package/dist/read-DF3UPNBM.js +0 -141
- package/dist/reddit-NLC55XYL.js +0 -29
- package/dist/refresh-5EGKQGJI.js +0 -97
- package/dist/release-RDNXS362.js +0 -63
- package/dist/relevant-pages-OZPYOGFO.js +0 -99
- package/dist/remove-OVN7XALF.js +0 -53
- package/dist/reopen-ODW3ZUEG.js +0 -66
- package/dist/rerun-3MTIAJUZ.js +0 -96
- package/dist/research-63ISQ74U.js +0 -75
- package/dist/research-RKFSB7OH.js +0 -265
- package/dist/reset-EZSCJXPC.js +0 -57
- package/dist/reset-GUJSHPHR.js +0 -57
- package/dist/resolve-BTM6MDOY.js +0 -124
- package/dist/retry-6BXQONQ3.js +0 -65
- package/dist/retry-OL2W3HFH.js +0 -63
- package/dist/revenue-P26LJFEF.js +0 -91
- package/dist/rules-MN5CBYLN.js +0 -99
- package/dist/rules-add-YPD466NS.js +0 -465
- package/dist/run-PEHYPLDQ.js +0 -69
- package/dist/run-WTN5QQ2P.js +0 -71
- package/dist/scaffold-ad-ZHZUX4Q6.js +0 -1513
- package/dist/scaffold-static-ad-SHGWFBBO.js +0 -1011
- package/dist/scaffold-video-VENWOP75.js +0 -885
- package/dist/schedule-637C6MY3.js +0 -64
- package/dist/scheduled-agents-ZUM6UUF2.js +0 -55
- package/dist/schema-NEL6O4O2.js +0 -135
- package/dist/search-36RRNTF6.js +0 -177
- package/dist/select-INJUT4PU.js +0 -110
- package/dist/set-prompt-X3DCUAGP.js +0 -199
- package/dist/setup-links-UG7S553A.js +0 -144
- package/dist/shopify-WLXZHJII.js +0 -3958
- package/dist/shopify-WLXZHJII.js.map +0 -1
- package/dist/site-YCSCW42E.js +0 -180
- package/dist/sources-HP3PRSU6.js +0 -457
- package/dist/sources-TQKN3HD7.js +0 -30
- package/dist/stale-KKBZ5FJX.js +0 -90
- package/dist/status-2HQBV7WL.js +0 -65
- package/dist/studio-OV2ZY5W3.js +0 -49
- package/dist/sync-QVPBBQAW.js +0 -57
- package/dist/sync-definition-YQJTCJJC.js +0 -70
- package/dist/tag-manager-5ORFHLM4.js +0 -43
- package/dist/tags-4VQS3QAK.js +0 -23
- package/dist/tags-TCGLKPB5.js +0 -227
- package/dist/tags-UUDTBJ6U.js +0 -23
- package/dist/tags-VJS37ZWW.js +0 -26
- package/dist/tags-YQVXWGWX.js +0 -23
- package/dist/targeting-criteria-3EXFTUMR.js +0 -113
- package/dist/targets-H7TVQ47T.js +0 -106
- package/dist/testimonials-NOLI2BVV.js +0 -32
- package/dist/themes-GD53PVOD.js +0 -95
- package/dist/top-companies-2KMUKTCC.js +0 -111
- package/dist/transcript-HJH2YNGC.js +0 -165
- package/dist/translate-X7TMHL22.js +0 -603
- package/dist/triggers-7HRFXKFZ.js +0 -144
- package/dist/unlink-G5KUMOL4.js +0 -70
- package/dist/unstage-WYJY5HKG.js +0 -88
- package/dist/update-GJ425R5V.js +0 -101
- package/dist/update-T6COJ6BO.js +0 -192
- package/dist/update-THOWGBFC.js +0 -155
- package/dist/update-WKS5QUFB.js +0 -66
- package/dist/upload-35QHU7B4.js +0 -130
- package/dist/url-options-VNNI4QXX.js +0 -131
- package/dist/url-params-3JU5W2AS.js +0 -101
- package/dist/validate-XQD5H6MU.js +0 -125
- package/dist/videos-JBJP3CZD.js +0 -41
- package/dist/viewer-check-ACRU6HY3.js +0 -83
- package/dist/web-NRG6WKRV.js +0 -173
- package/dist/winning-ads-ZKVXCS2L.js +0 -86
- package/dist/write-commands-ECCJLDLG.js +0 -1525
- package/dist/write-commands-FGWCJHLH.js +0 -713
- package/dist/write-commands-UTM7PPK5.js +0 -206
- package/dist/x-M3LIA6SI.js +0 -47
- /package/dist/{account-IG3U6UXZ.js.map → account-2HJ4GKHN.js.map} +0 -0
- /package/dist/{account-D236Y3BP.js.map → account-P5S2VJ2E.js.map} +0 -0
- /package/dist/{account-reads-L2GYNCD3.js.map → account-reads-X36NPCX5.js.map} +0 -0
- /package/dist/{account-users-A5H7FC7T.js.map → account-users-PJQTX3SX.js.map} +0 -0
- /package/dist/{account-writes-BSSKSTZ2.js.map → account-writes-FZ3KCJZY.js.map} +0 -0
- /package/dist/{accounts-RTUSISHG.js.map → accounts-2BFYTYMI.js.map} +0 -0
- /package/dist/{accounts-ENS2ONLA.js.map → accounts-C4Y7GFSK.js.map} +0 -0
- /package/dist/{actions-3SQGXLLM.js.map → actions-QG2OULYP.js.map} +0 -0
- /package/dist/{activecampaign-MJ4SIVWY.js.map → activecampaign-MNT2JV2L.js.map} +0 -0
- /package/dist/{ad-group-writes-KMB3OMJG.js.map → ad-group-writes-XGG3WQEO.js.map} +0 -0
- /package/dist/{ad-groups-E67CNQS4.js.map → ad-groups-GZIPUN64.js.map} +0 -0
- /package/dist/{ad-writes-FNMKNFUN.js.map → ad-writes-2VTRWQLW.js.map} +0 -0
- /package/dist/{add-FJJHZDVW.js.map → add-AZ5A7BIN.js.map} +0 -0
- /package/dist/{add-BH2GJZ46.js.map → add-RNNEHG6I.js.map} +0 -0
- /package/dist/{ads-WE6GT2BL.js.map → ads-IXE6BT3V.js.map} +0 -0
- /package/dist/{ads-4LASBP4G.js.map → ads-LNWALF6G.js.map} +0 -0
- /package/dist/{advertisers-P742OQFI.js.map → advertisers-WBZ3ECQX.js.map} +0 -0
- /package/dist/{analytics-ICV42S7D.js.map → analytics-2HJWW3FB.js.map} +0 -0
- /package/dist/{analytics-XCUJSG3F.js.map → analytics-PEYMMWD7.js.map} +0 -0
- /package/dist/{animate-OWXAT2RK.js.map → animate-DM4OUJMR.js.map} +0 -0
- /package/dist/{assign-OQYVRXCT.js.map → assign-JHGAFCUY.js.map} +0 -0
- /package/dist/{audience-size-NN43B7FF.js.map → audience-size-U76DF2X5.js.map} +0 -0
- /package/dist/{audiences-3R574STZ.js.map → audiences-7D5VPOWF.js.map} +0 -0
- /package/dist/{audit-JLH2TBIL.js.map → audit-DZYUAO3J.js.map} +0 -0
- /package/dist/{autocomplete-ZQAKVB6T.js.map → autocomplete-Z4SWGQ3P.js.map} +0 -0
- /package/dist/{avatars-JWCZ2KVM.js.map → avatars-4S2IWOKX.js.map} +0 -0
- /package/dist/{bid-pricing-CX3V76MC.js.map → bid-pricing-SXZDIXYR.js.map} +0 -0
- /package/dist/{brand-NKHAO4TK.js.map → brand-2TRP2BIX.js.map} +0 -0
- /package/dist/{brief-6RDPVD4A.js.map → brief-GDZ343Y2.js.map} +0 -0
- /package/dist/{campaign-groups-3PVR3IXH.js.map → campaign-groups-5J7N2MFZ.js.map} +0 -0
- /package/dist/{campaign-writes-TBWAZOZ2.js.map → campaign-writes-3WFTS727.js.map} +0 -0
- /package/dist/{campaign-writes-Z2J24SUZ.js.map → campaign-writes-H22P6YPW.js.map} +0 -0
- /package/dist/{campaigns-43OS6EUG.js.map → campaigns-265JXD2Z.js.map} +0 -0
- /package/dist/{campaigns-RN3SPC7L.js.map → campaigns-5L7R2HO6.js.map} +0 -0
- /package/dist/{campaigns-PW4XK65Y.js.map → campaigns-PQ76BA6H.js.map} +0 -0
- /package/dist/{canvas-QJI65546.js.map → canvas-EUBBLSWF.js.map} +0 -0
- /package/dist/{capabilities-KPQWOCTA.js.map → capabilities-MBO3DOG2.js.map} +0 -0
- /package/dist/{catalog-7LINLVVY.js.map → catalog-DPUQBZZ7.js.map} +0 -0
- /package/dist/{catalogs-IR22RGZD.js.map → catalogs-SBXFAD3X.js.map} +0 -0
- /package/dist/{changes-RSEGYV45.js.map → changes-HXVZUJMH.js.map} +0 -0
- /package/dist/{chatgpt-PDFFKPY2.js.map → chatgpt-UXJPCGZU.js.map} +0 -0
- /package/dist/{chats-RRD42PZ5.js.map → chats-WJW4GHBK.js.map} +0 -0
- /package/dist/{check-TPP2KZY6.js.map → check-7Z6JYY5U.js.map} +0 -0
- /package/dist/{chunk-RKT6RFOR.js.map → chunk-2EAHMSLD.js.map} +0 -0
- /package/dist/{chunk-BH3JS7EF.js.map → chunk-2YH5JHEH.js.map} +0 -0
- /package/dist/{chunk-B3CDNANO.js.map → chunk-4D73PLXU.js.map} +0 -0
- /package/dist/{chunk-QB334QBO.js.map → chunk-4LEHJXPY.js.map} +0 -0
- /package/dist/{chunk-7VDTLOSX.js.map → chunk-4O2EPB6D.js.map} +0 -0
- /package/dist/{chunk-HMFIOE4P.js.map → chunk-4S5ZAG4S.js.map} +0 -0
- /package/dist/{chunk-FSK77EEM.js.map → chunk-65SIPEB3.js.map} +0 -0
- /package/dist/{chunk-SBPUCN6H.js.map → chunk-7GKMMWGG.js.map} +0 -0
- /package/dist/{chunk-OM45JY2R.js.map → chunk-7MN447O7.js.map} +0 -0
- /package/dist/{chunk-SOYKSA2X.js.map → chunk-AMMXBAHA.js.map} +0 -0
- /package/dist/{chunk-BLGTDKIV.js.map → chunk-BNY6KR47.js.map} +0 -0
- /package/dist/{chunk-TTDLK73U.js.map → chunk-BQZMJEHJ.js.map} +0 -0
- /package/dist/{chunk-DD6IMD7G.js.map → chunk-EKS4XPSS.js.map} +0 -0
- /package/dist/{chunk-RM5T4MA6.js.map → chunk-EOMY5SUJ.js.map} +0 -0
- /package/dist/{chunk-ODN2LYPJ.js.map → chunk-EZH5QZDA.js.map} +0 -0
- /package/dist/{chunk-NQF5U6FX.js.map → chunk-FVDC6AKZ.js.map} +0 -0
- /package/dist/{chunk-ANUFRN3B.js.map → chunk-FWMPRDJX.js.map} +0 -0
- /package/dist/{chunk-G2FDUCUU.js.map → chunk-FWXYITXH.js.map} +0 -0
- /package/dist/{chunk-LDFM37DM.js.map → chunk-GN7K3NPI.js.map} +0 -0
- /package/dist/{chunk-YQB66YKJ.js.map → chunk-HBDWE7WK.js.map} +0 -0
- /package/dist/{chunk-6OIKNJ7G.js.map → chunk-JAC6JVCI.js.map} +0 -0
- /package/dist/{chunk-WJ6UJBHB.js.map → chunk-JFO2Q3ZO.js.map} +0 -0
- /package/dist/{chunk-IM3GD4G3.js.map → chunk-JLLGXYOZ.js.map} +0 -0
- /package/dist/{chunk-CYKFXG4R.js.map → chunk-JOQLRI2R.js.map} +0 -0
- /package/dist/{chunk-E5H7JIWB.js.map → chunk-JY3OJBKZ.js.map} +0 -0
- /package/dist/{chunk-TSNL3AYG.js.map → chunk-K4W7XMUF.js.map} +0 -0
- /package/dist/{chunk-XU6XQPNM.js.map → chunk-KIXVHP2C.js.map} +0 -0
- /package/dist/{chunk-KIX3ZM24.js.map → chunk-L6WI7WEQ.js.map} +0 -0
- /package/dist/{chunk-7YYTE5XE.js.map → chunk-LHZAGVUZ.js.map} +0 -0
- /package/dist/{chunk-ORLQEQDF.js.map → chunk-LTKET3RQ.js.map} +0 -0
- /package/dist/{chunk-SIKCVWM3.js.map → chunk-MZPS46OR.js.map} +0 -0
- /package/dist/{chunk-P6FMQHJJ.js.map → chunk-NBWZVBDG.js.map} +0 -0
- /package/dist/{chunk-6UMQSHGK.js.map → chunk-OLEYVOS2.js.map} +0 -0
- /package/dist/{chunk-WSYZT2QI.js.map → chunk-OOE5JYCT.js.map} +0 -0
- /package/dist/{chunk-3BXD6MC6.js.map → chunk-OWSNCNLT.js.map} +0 -0
- /package/dist/{chunk-64ALJ6TJ.js.map → chunk-P3VY5JEM.js.map} +0 -0
- /package/dist/{chunk-TGW2POU6.js.map → chunk-PP3DM7NO.js.map} +0 -0
- /package/dist/{chunk-JW6VZBV7.js.map → chunk-PXGR3VGW.js.map} +0 -0
- /package/dist/{chunk-OKBIPYZN.js.map → chunk-Q2MRYCUR.js.map} +0 -0
- /package/dist/{chunk-G6J6AWTE.js.map → chunk-QK3HMAVU.js.map} +0 -0
- /package/dist/{chunk-HGRCKRCF.js.map → chunk-QQU3TWMB.js.map} +0 -0
- /package/dist/{chunk-IUWM5XHR.js.map → chunk-RH2A7LT2.js.map} +0 -0
- /package/dist/{chunk-3EUITH4J.js.map → chunk-RHEWQB5O.js.map} +0 -0
- /package/dist/{chunk-WGJHVP7T.js.map → chunk-RNHTZYSX.js.map} +0 -0
- /package/dist/{chunk-4IRJ5JXA.js.map → chunk-RP36XHWT.js.map} +0 -0
- /package/dist/{chunk-3MZNBHC7.js.map → chunk-RVMI6327.js.map} +0 -0
- /package/dist/{chunk-OW2SDF66.js.map → chunk-SA5EIVSY.js.map} +0 -0
- /package/dist/{chunk-TL6P7WDT.js.map → chunk-SDAADQBT.js.map} +0 -0
- /package/dist/{chunk-GCFC2MNR.js.map → chunk-SNWFM2DB.js.map} +0 -0
- /package/dist/{chunk-VJKLZVAM.js.map → chunk-SOKUGFVQ.js.map} +0 -0
- /package/dist/{chunk-Q6LCL67T.js.map → chunk-TARINRA4.js.map} +0 -0
- /package/dist/{chunk-CXCZHEVW.js.map → chunk-TB2EO2SY.js.map} +0 -0
- /package/dist/{chunk-GJD43KID.js.map → chunk-TNMTZOMA.js.map} +0 -0
- /package/dist/{chunk-7UFV6H7J.js.map → chunk-TNZUMU55.js.map} +0 -0
- /package/dist/{chunk-FGSRPKOV.js.map → chunk-VFYC466I.js.map} +0 -0
- /package/dist/{chunk-V4UJERGL.js.map → chunk-VOUCQ2YW.js.map} +0 -0
- /package/dist/{chunk-JBNT444M.js.map → chunk-WOE4TZHJ.js.map} +0 -0
- /package/dist/{chunk-VZGLL54O.js.map → chunk-X5PWBSXW.js.map} +0 -0
- /package/dist/{chunk-BDWNJRTY.js.map → chunk-XRD25RJ7.js.map} +0 -0
- /package/dist/{chunk-47K5MDGX.js.map → chunk-XTI7GGHL.js.map} +0 -0
- /package/dist/{chunk-GCZK4BMB.js.map → chunk-XYNQMRNX.js.map} +0 -0
- /package/dist/{chunk-EYBIZT7T.js.map → chunk-YOJLONWG.js.map} +0 -0
- /package/dist/{chunk-DD33NA2U.js.map → chunk-YTHF34YK.js.map} +0 -0
- /package/dist/{chunk-RYXGJDBK.js.map → chunk-YVKB74CZ.js.map} +0 -0
- /package/dist/{chunk-QJCGLIVD.js.map → chunk-Z2IGUL2M.js.map} +0 -0
- /package/dist/{chunk-5IFFPSEN.js.map → chunk-ZEUAJAKN.js.map} +0 -0
- /package/dist/{claim-75KAZXLJ.js.map → claim-SO5J35XP.js.map} +0 -0
- /package/dist/{companies-IB4C245S.js.map → companies-CDECCXBD.js.map} +0 -0
- /package/dist/{company-5J2EGA42.js.map → company-NYZDI5N2.js.map} +0 -0
- /package/dist/{complete-7AT7QWZN.js.map → complete-MG37D4CB.js.map} +0 -0
- /package/dist/{config-3GCILBEL.js.map → config-3VK74MY6.js.map} +0 -0
- /package/dist/{connect-HKVHKX44.js.map → connect-SZMBR2OI.js.map} +0 -0
- /package/dist/{conversation-5OEBGDYR.js.map → conversation-DTNMIXHM.js.map} +0 -0
- /package/dist/{conversion-report-R4KJI4VA.js.map → conversion-report-RB2MU7UD.js.map} +0 -0
- /package/dist/{conversion-upload-command-XQQWLYHZ.js.map → conversion-upload-command-HFZYKVXA.js.map} +0 -0
- /package/dist/{conversion-writes-XIQEIDPS.js.map → conversion-writes-56AIPXPK.js.map} +0 -0
- /package/dist/{conversions-RMBQNW3T.js.map → conversions-NRX76ZIT.js.map} +0 -0
- /package/dist/{conversions-LLVHKDOQ.js.map → conversions-X3DU4BJA.js.map} +0 -0
- /package/dist/{create-J3OXZGXC.js.map → create-CZI3743R.js.map} +0 -0
- /package/dist/{create-2TAKPSGG.js.map → create-I47VP7N7.js.map} +0 -0
- /package/dist/{create-ZVTM57AZ.js.map → create-TNYAFY7C.js.map} +0 -0
- /package/dist/{create-RL3L7L2S.js.map → create-XSLRS6QB.js.map} +0 -0
- /package/dist/{creatives-3EAIKWGU.js.map → creatives-2DY62A7C.js.map} +0 -0
- /package/dist/{creatives-AALLH7YU.js.map → creatives-6UVWEEQ6.js.map} +0 -0
- /package/dist/{credentials-MS4NJHEG.js.map → credentials-3YVA5FAS.js.map} +0 -0
- /package/dist/{critique-NFPZD54K.js.map → critique-LSOI3FHP.js.map} +0 -0
- /package/dist/{critique-KLITVZA4.js.map → critique-XMAU2GHO.js.map} +0 -0
- /package/dist/{crm-QQ7LGCLO.js.map → crm-3EBMPJJB.js.map} +0 -0
- /package/dist/{crm-7BAHXTK4.js.map → crm-KVZPRNUX.js.map} +0 -0
- /package/dist/{currency-XFHCLKAV.js.map → currency-CHBV6WIO.js.map} +0 -0
- /package/dist/{customers-NENDLH5A.js.map → customers-FYSYG3KC.js.map} +0 -0
- /package/dist/{delete-ZCPZ2ACI.js.map → delete-ESSOYJKH.js.map} +0 -0
- /package/dist/{delete-VOUXBXU3.js.map → delete-HLQMRIME.js.map} +0 -0
- /package/dist/{delete-WACZG5SD.js.map → delete-Q3NX3Q5B.js.map} +0 -0
- /package/dist/{demographics-C5EL3BI6.js.map → demographics-LASHWIXO.js.map} +0 -0
- /package/dist/{discard-RQXALYQZ.js.map → discard-3DO7JVEV.js.map} +0 -0
- /package/dist/{discover-R3QBVUHZ.js.map → discover-ZU2DAV23.js.map} +0 -0
- /package/dist/{domain-HV2N4S3O.js.map → domain-FB4247ER.js.map} +0 -0
- /package/dist/{download-OQFJOZFD.js.map → download-R33R7GY2.js.map} +0 -0
- /package/dist/{draft-SDOXYIND.js.map → draft-O4RCH27D.js.map} +0 -0
- /package/dist/{experiments-5UC4QVZU.js.map → experiments-LKCWGOHZ.js.map} +0 -0
- /package/dist/{facets-I2CY2STO.js.map → facets-KLNWJHHS.js.map} +0 -0
- /package/dist/{feedback-WGRNI4J3.js.map → feedback-S362KMYD.js.map} +0 -0
- /package/dist/{feedback-record-C6VYJQOL.js.map → feedback-record-4SNCWNXJ.js.map} +0 -0
- /package/dist/{fetch-WS4CABQN.js.map → fetch-JDLKLVB3.js.map} +0 -0
- /package/dist/{fit-BJH2KAKU.js.map → fit-VR4RLHAW.js.map} +0 -0
- /package/dist/{flows-ZQ66S64A.js.map → flows-KRF2MXDV.js.map} +0 -0
- /package/dist/{fonts-EKLOSPJA.js.map → fonts-VZRP3WKC.js.map} +0 -0
- /package/dist/{forecast-JOQESPEP.js.map → forecast-372Q6KQZ.js.map} +0 -0
- /package/dist/{forecast-KDJVAWTO.js.map → forecast-XWMDKUWU.js.map} +0 -0
- /package/dist/{funnel-PD7EMXAX.js.map → funnel-6DDF77MP.js.map} +0 -0
- /package/dist/{ga4-SBHUQKGK.js.map → ga4-GDMHIFBU.js.map} +0 -0
- /package/dist/{generate-SW5KLHXG.js.map → generate-JQIK3UYS.js.map} +0 -0
- /package/dist/{get-IMZPHROU.js.map → get-6QFJJQZF.js.map} +0 -0
- /package/dist/{get-PIYAY4MD.js.map → get-ZRY36R6X.js.map} +0 -0
- /package/dist/{google-Q424277P.js.map → google-JHTOX6WM.js.map} +0 -0
- /package/dist/{google-ads-VG2ZQBAP.js.map → google-ads-HGXVNG7F.js.map} +0 -0
- /package/dist/{history-4LN2MMCY.js.map → history-AAXNYSBM.js.map} +0 -0
- /package/dist/{history-SECNIWQQ.js.map → history-BXYPY5NL.js.map} +0 -0
- /package/dist/{history-7DF5HFJT.js.map → history-VNLS2TKB.js.map} +0 -0
- /package/dist/{hubspot-HW3DMFB2.js.map → hubspot-HOCVFC6T.js.map} +0 -0
- /package/dist/{ideas-CIFADAYV.js.map → ideas-XWO4KK7B.js.map} +0 -0
- /package/dist/{images-KV7UJMNO.js.map → images-DAQAHTEQ.js.map} +0 -0
- /package/dist/{ingest-3DW2YGCB.js.map → ingest-E3RVG24Y.js.map} +0 -0
- /package/dist/{ingest-OG3RUM2Z.js.map → ingest-Q354BZ5E.js.map} +0 -0
- /package/dist/{insights-YVV5MHPQ.js.map → insights-XY6II7TX.js.map} +0 -0
- /package/dist/{inspect-YJGFTVGT.js.map → inspect-K4K4DKCA.js.map} +0 -0
- /package/dist/{intent-5VLQBTM7.js.map → intent-5QUPPZNI.js.map} +0 -0
- /package/dist/{keyword-gap-COLF7JNH.js.map → keyword-gap-IG3EFLDH.js.map} +0 -0
- /package/dist/{keyword-metrics-I7OIBLCO.js.map → keyword-metrics-2OEPH7SY.js.map} +0 -0
- /package/dist/{keywords-for-site-DIIUKEVJ.js.map → keywords-for-site-FQTQ7YK7.js.map} +0 -0
- /package/dist/{landing-FFAMZ3CD.js.map → landing-2DQPIGP3.js.map} +0 -0
- /package/dist/{languages-RYIOZQFH.js.map → languages-LNHWSCMT.js.map} +0 -0
- /package/dist/{leads-WSK4N2I6.js.map → leads-BFN7STN7.js.map} +0 -0
- /package/dist/{learn-A4LSAKRL.js.map → learn-J35JIM2I.js.map} +0 -0
- /package/dist/{line-item-writes-Q47ZVHB6.js.map → line-item-writes-SSQ4MIM4.js.map} +0 -0
- /package/dist/{line-items-MHIXPRTG.js.map → line-items-EJUWLXKX.js.map} +0 -0
- /package/dist/{link-6FVFHGP4.js.map → link-AEY3CNWU.js.map} +0 -0
- /package/dist/{linkedin-person-3MFAKS2Y.js.map → linkedin-person-NEE63CCA.js.map} +0 -0
- /package/dist/{list-BDGTMCFP.js.map → list-M4TCQF5X.js.map} +0 -0
- /package/dist/{list-MPZF6NTD.js.map → list-VQDNBEYO.js.map} +0 -0
- /package/dist/{list-7RNRZN4W.js.map → list-ZY24D24K.js.map} +0 -0
- /package/dist/{locations-7RYEWKJO.js.map → locations-64JNCQID.js.map} +0 -0
- /package/dist/{locations-OF2ZI5YX.js.map → locations-KVAAO7LD.js.map} +0 -0
- /package/dist/{log-MBPVGWLX.js.map → log-OPLN3IRB.js.map} +0 -0
- /package/dist/{make-DYFGYGMD.js.map → make-6L7PP5UQ.js.map} +0 -0
- /package/dist/{map-UUHQJSSU.js.map → map-VUALMWUR.js.map} +0 -0
- /package/dist/{mcp-BH5MXQMJ.js.map → mcp-56IBRTZ4.js.map} +0 -0
- /package/dist/{media-sources-4BJOODBR.js.map → media-sources-6ESCZBK3.js.map} +0 -0
- /package/dist/{members-PK2AXSE4.js.map → members-PT6TDQVH.js.map} +0 -0
- /package/dist/{meta-X46LC3GI.js.map → meta-XVPSGNHU.js.map} +0 -0
- /package/dist/{metrics-PKMIG7VL.js.map → metrics-MXGA3EFS.js.map} +0 -0
- /package/dist/{models-X2IXXAD6.js.map → models-Z6SUHWKI.js.map} +0 -0
- /package/dist/{normalize-36K2VJMB.js.map → normalize-L4LY7T44.js.map} +0 -0
- /package/dist/{options-7BEM4Z5E.js.map → options-YYX4ABEJ.js.map} +0 -0
- /package/dist/{organization-RSFFVT2M.js.map → organization-TB6HQDMZ.js.map} +0 -0
- /package/dist/{performance-4L2AFM4A.js.map → performance-OVWWS4H7.js.map} +0 -0
- /package/dist/{performance-PVZ5V6YL.js.map → performance-Z2KJSRYW.js.map} +0 -0
- /package/dist/{pixels-DBSPNHIE.js.map → pixels-H642RPK4.js.map} +0 -0
- /package/dist/{plan-2Q6SOHMD.js.map → plan-FRRE4YQC.js.map} +0 -0
- /package/dist/{promoted-tweet-writes-UW2VRBZ2.js.map → promoted-tweet-writes-Z53Y53NY.js.map} +0 -0
- /package/dist/{promoted-tweets-MJEZFPLW.js.map → promoted-tweets-6LCVTNA4.js.map} +0 -0
- /package/dist/{publish-XNYDOQ7I.js.map → publish-IINRY5CV.js.map} +0 -0
- /package/dist/{query-GBIWIZSS.js.map → query-FT2BA3WH.js.map} +0 -0
- /package/dist/{read-DF3UPNBM.js.map → read-7ZFZAJSQ.js.map} +0 -0
- /package/dist/{reddit-NLC55XYL.js.map → reddit-GN7JTUT4.js.map} +0 -0
- /package/dist/{refresh-5EGKQGJI.js.map → refresh-GG3YE2OV.js.map} +0 -0
- /package/dist/{release-RDNXS362.js.map → release-ANPUYLTT.js.map} +0 -0
- /package/dist/{relevant-pages-OZPYOGFO.js.map → relevant-pages-OCHLUV5K.js.map} +0 -0
- /package/dist/{remove-OVN7XALF.js.map → remove-KRJNZWI6.js.map} +0 -0
- /package/dist/{reopen-ODW3ZUEG.js.map → reopen-HSES67EB.js.map} +0 -0
- /package/dist/{rerun-3MTIAJUZ.js.map → rerun-E4EKDIUW.js.map} +0 -0
- /package/dist/{research-63ISQ74U.js.map → research-EGJRTHXJ.js.map} +0 -0
- /package/dist/{research-RKFSB7OH.js.map → research-ISCZZZZA.js.map} +0 -0
- /package/dist/{reset-GUJSHPHR.js.map → reset-EG7VZ2CV.js.map} +0 -0
- /package/dist/{reset-EZSCJXPC.js.map → reset-H432TZBK.js.map} +0 -0
- /package/dist/{resolve-BTM6MDOY.js.map → resolve-YR42UONS.js.map} +0 -0
- /package/dist/{retry-6BXQONQ3.js.map → retry-4PLDHYSR.js.map} +0 -0
- /package/dist/{retry-OL2W3HFH.js.map → retry-5DVWSAL4.js.map} +0 -0
- /package/dist/{revenue-P26LJFEF.js.map → revenue-KVPNIH6W.js.map} +0 -0
- /package/dist/{rules-MN5CBYLN.js.map → rules-3P7YGWPO.js.map} +0 -0
- /package/dist/{rules-add-YPD466NS.js.map → rules-add-RGDR7KZY.js.map} +0 -0
- /package/dist/{run-WTN5QQ2P.js.map → run-IX3GBTJW.js.map} +0 -0
- /package/dist/{run-PEHYPLDQ.js.map → run-VZ5EIKUY.js.map} +0 -0
- /package/dist/{scaffold-ad-ZHZUX4Q6.js.map → scaffold-ad-6NMCWJWB.js.map} +0 -0
- /package/dist/{scaffold-static-ad-SHGWFBBO.js.map → scaffold-static-ad-VEOPCYXT.js.map} +0 -0
- /package/dist/{scaffold-video-VENWOP75.js.map → scaffold-video-M5NYH3Y7.js.map} +0 -0
- /package/dist/{schedule-637C6MY3.js.map → schedule-3W3URGTX.js.map} +0 -0
- /package/dist/{scheduled-agents-ZUM6UUF2.js.map → scheduled-agents-OP6RE5UG.js.map} +0 -0
- /package/dist/{schema-NEL6O4O2.js.map → schema-MGXMIZSJ.js.map} +0 -0
- /package/dist/{search-36RRNTF6.js.map → search-WNEXCXAB.js.map} +0 -0
- /package/dist/{select-INJUT4PU.js.map → select-6YIRXTDD.js.map} +0 -0
- /package/dist/{set-prompt-X3DCUAGP.js.map → set-prompt-KCCBDH2W.js.map} +0 -0
- /package/dist/{setup-links-UG7S553A.js.map → setup-links-ZZHTAIHB.js.map} +0 -0
- /package/dist/{site-YCSCW42E.js.map → site-T2SKABGA.js.map} +0 -0
- /package/dist/{sources-HP3PRSU6.js.map → sources-BS2PSBJY.js.map} +0 -0
- /package/dist/{sources-TQKN3HD7.js.map → sources-BXNZRLWV.js.map} +0 -0
- /package/dist/{stale-KKBZ5FJX.js.map → stale-ZXHCEHL3.js.map} +0 -0
- /package/dist/{status-2HQBV7WL.js.map → status-CO65UWTW.js.map} +0 -0
- /package/dist/{studio-OV2ZY5W3.js.map → studio-6ZXUKA4G.js.map} +0 -0
- /package/dist/{sync-QVPBBQAW.js.map → sync-ZAK5GPCA.js.map} +0 -0
- /package/dist/{sync-definition-YQJTCJJC.js.map → sync-definition-HO2RAVSB.js.map} +0 -0
- /package/dist/{tag-manager-5ORFHLM4.js.map → tag-manager-74CGUGXX.js.map} +0 -0
- /package/dist/{tags-TCGLKPB5.js.map → tags-7NACSUYN.js.map} +0 -0
- /package/dist/{tags-4VQS3QAK.js.map → tags-LMPGS3ZO.js.map} +0 -0
- /package/dist/{tags-UUDTBJ6U.js.map → tags-LUAG3KGM.js.map} +0 -0
- /package/dist/{tags-YQVXWGWX.js.map → tags-RBZR2NO3.js.map} +0 -0
- /package/dist/{tags-VJS37ZWW.js.map → tags-ZLOXPFQZ.js.map} +0 -0
- /package/dist/{targeting-criteria-3EXFTUMR.js.map → targeting-criteria-CRRYYBHP.js.map} +0 -0
- /package/dist/{targets-H7TVQ47T.js.map → targets-35X4YKUB.js.map} +0 -0
- /package/dist/{testimonials-NOLI2BVV.js.map → testimonials-DBOEVW2C.js.map} +0 -0
- /package/dist/{themes-GD53PVOD.js.map → themes-R3A6IVQN.js.map} +0 -0
- /package/dist/{top-companies-2KMUKTCC.js.map → top-companies-XWBHS5LC.js.map} +0 -0
- /package/dist/{transcript-HJH2YNGC.js.map → transcript-FBJZUF7A.js.map} +0 -0
- /package/dist/{translate-X7TMHL22.js.map → translate-2EZKFEUC.js.map} +0 -0
- /package/dist/{triggers-7HRFXKFZ.js.map → triggers-PRFYW7IG.js.map} +0 -0
- /package/dist/{unlink-G5KUMOL4.js.map → unlink-3K7ZLSPQ.js.map} +0 -0
- /package/dist/{unstage-WYJY5HKG.js.map → unstage-QHWN7QHU.js.map} +0 -0
- /package/dist/{update-T6COJ6BO.js.map → update-4XRJU43K.js.map} +0 -0
- /package/dist/{update-THOWGBFC.js.map → update-KSSY2TTH.js.map} +0 -0
- /package/dist/{update-GJ425R5V.js.map → update-MSAHJFFZ.js.map} +0 -0
- /package/dist/{update-WKS5QUFB.js.map → update-WMQZD7P2.js.map} +0 -0
- /package/dist/{upload-35QHU7B4.js.map → upload-JFBWYXQ2.js.map} +0 -0
- /package/dist/{url-options-VNNI4QXX.js.map → url-options-YZ6UG3NY.js.map} +0 -0
- /package/dist/{url-params-3JU5W2AS.js.map → url-params-E5I6POBJ.js.map} +0 -0
- /package/dist/{validate-XQD5H6MU.js.map → validate-USALHH7N.js.map} +0 -0
- /package/dist/{videos-JBJP3CZD.js.map → videos-IJWH4DAC.js.map} +0 -0
- /package/dist/{viewer-check-ACRU6HY3.js.map → viewer-check-HQKTK5QT.js.map} +0 -0
- /package/dist/{web-NRG6WKRV.js.map → web-XXXOKEV2.js.map} +0 -0
- /package/dist/{winning-ads-ZKVXCS2L.js.map → winning-ads-WF2UXSKZ.js.map} +0 -0
- /package/dist/{write-commands-FGWCJHLH.js.map → write-commands-5Z5A3D3M.js.map} +0 -0
- /package/dist/{write-commands-UTM7PPK5.js.map → write-commands-7DTFGM6E.js.map} +0 -0
- /package/dist/{write-commands-ECCJLDLG.js.map → write-commands-GFVERRU4.js.map} +0 -0
- /package/dist/{x-M3LIA6SI.js.map → x-TPEKLUTG.js.map} +0 -0
|
@@ -0,0 +1,603 @@
|
|
|
1
|
+
import {
|
|
2
|
+
withoutFields
|
|
3
|
+
} from "./chunk-JFO2Q3ZO.js";
|
|
4
|
+
import {
|
|
5
|
+
leadVersion,
|
|
6
|
+
runBaker,
|
|
7
|
+
seriesLeadsAbove,
|
|
8
|
+
writeSeriesMemberCanvas
|
|
9
|
+
} from "./chunk-X5PWBSXW.js";
|
|
10
|
+
import "./chunk-XRD25RJ7.js";
|
|
11
|
+
import "./chunk-TNZUMU55.js";
|
|
12
|
+
import {
|
|
13
|
+
isCustomersWords,
|
|
14
|
+
isSignatureLine,
|
|
15
|
+
languageName,
|
|
16
|
+
languageRegion,
|
|
17
|
+
languageTag,
|
|
18
|
+
maybeSigned,
|
|
19
|
+
parseDefinitionStrategyFields,
|
|
20
|
+
sameTag,
|
|
21
|
+
tagSlug
|
|
22
|
+
} from "./chunk-K4W7XMUF.js";
|
|
23
|
+
import "./chunk-TB2EO2SY.js";
|
|
24
|
+
import "./chunk-6REXNFPV.js";
|
|
25
|
+
import "./chunk-EKX37C3T.js";
|
|
26
|
+
import {
|
|
27
|
+
setDefinitionFields
|
|
28
|
+
} from "./chunk-WOE4TZHJ.js";
|
|
29
|
+
import "./chunk-GN7K3NPI.js";
|
|
30
|
+
import "./chunk-BNY6KR47.js";
|
|
31
|
+
import "./chunk-SA5EIVSY.js";
|
|
32
|
+
import "./chunk-YTHF34YK.js";
|
|
33
|
+
import "./chunk-C4EE6LIF.js";
|
|
34
|
+
import "./chunk-4O2EPB6D.js";
|
|
35
|
+
import "./chunk-RHEWQB5O.js";
|
|
36
|
+
import "./chunk-JOQLRI2R.js";
|
|
37
|
+
import "./chunk-2EAHMSLD.js";
|
|
38
|
+
import "./chunk-NBWZVBDG.js";
|
|
39
|
+
import "./chunk-G6XKD7QE.js";
|
|
40
|
+
import "./chunk-NGQ5J4FV.js";
|
|
41
|
+
import {
|
|
42
|
+
holdUnbilledSpend
|
|
43
|
+
} from "./chunk-VWOKPC3T.js";
|
|
44
|
+
import {
|
|
45
|
+
findWorkspaceRoot
|
|
46
|
+
} from "./chunk-BGT5ZA4L.js";
|
|
47
|
+
import "./chunk-JY3OJBKZ.js";
|
|
48
|
+
import "./chunk-XYNQMRNX.js";
|
|
49
|
+
import "./chunk-TARINRA4.js";
|
|
50
|
+
import "./chunk-DGCUPJZD.js";
|
|
51
|
+
import "./chunk-RP36XHWT.js";
|
|
52
|
+
import {
|
|
53
|
+
isAdSpec,
|
|
54
|
+
readAdSpec
|
|
55
|
+
} from "./chunk-KIXVHP2C.js";
|
|
56
|
+
import {
|
|
57
|
+
RENDER_REVIEW_MODEL,
|
|
58
|
+
askAboutImages
|
|
59
|
+
} from "./chunk-4D73PLXU.js";
|
|
60
|
+
import "./chunk-MCJ5I5LR.js";
|
|
61
|
+
import "./chunk-2WZI36D3.js";
|
|
62
|
+
import "./chunk-65Y3RCWP.js";
|
|
63
|
+
import {
|
|
64
|
+
askJev
|
|
65
|
+
} from "./chunk-JF2XP76K.js";
|
|
66
|
+
import "./chunk-SYLPRIFM.js";
|
|
67
|
+
import "./chunk-XBR7TSZN.js";
|
|
68
|
+
import "./chunk-DGUN7FUH.js";
|
|
69
|
+
import "./chunk-CMXTQ4PS.js";
|
|
70
|
+
import "./chunk-QV6AST5T.js";
|
|
71
|
+
import "./chunk-WCU362Z6.js";
|
|
72
|
+
import "./chunk-GIWHHCD6.js";
|
|
73
|
+
import "./chunk-SOPVIIUW.js";
|
|
74
|
+
import "./chunk-G4FG5EQO.js";
|
|
75
|
+
import "./chunk-NSBNIPIW.js";
|
|
76
|
+
import "./chunk-MSMTG6OC.js";
|
|
77
|
+
import "./chunk-B2OHCWYB.js";
|
|
78
|
+
import "./chunk-SVUFNCOE.js";
|
|
79
|
+
import "./chunk-E54435XT.js";
|
|
80
|
+
import {
|
|
81
|
+
registerSchema,
|
|
82
|
+
writeJson
|
|
83
|
+
} from "./chunk-WCIS4FZH.js";
|
|
84
|
+
import "./chunk-YQSBHWOI.js";
|
|
85
|
+
|
|
86
|
+
// src/commands/creatives/translate.ts
|
|
87
|
+
import { readFile as readFile2 } from "fs/promises";
|
|
88
|
+
import path2 from "path";
|
|
89
|
+
import { defineCommand } from "citty";
|
|
90
|
+
|
|
91
|
+
// src/commands/creatives/translate-ad.ts
|
|
92
|
+
import { mkdir, readFile, writeFile } from "fs/promises";
|
|
93
|
+
import path from "path";
|
|
94
|
+
|
|
95
|
+
// src/commands/creatives/translate-model.ts
|
|
96
|
+
import { z } from "zod";
|
|
97
|
+
function parseLanguages(raw, sourceLanguage) {
|
|
98
|
+
const asked = raw.split(",").map((code) => code.trim()).filter(Boolean);
|
|
99
|
+
if (asked.length === 0) {
|
|
100
|
+
return {
|
|
101
|
+
code: "translate_language_invalid",
|
|
102
|
+
message: "No language was named.",
|
|
103
|
+
fix: "Name each language as a code, comma-separated: --to es,de,fr (pt-BR, es-MX for a regional variant)."
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
const languages = [];
|
|
107
|
+
for (const code of asked) {
|
|
108
|
+
const tag = languageTag(code);
|
|
109
|
+
if (!tag) {
|
|
110
|
+
return {
|
|
111
|
+
code: "translate_language_invalid",
|
|
112
|
+
message: `"${code}" is not a language code.`,
|
|
113
|
+
fix: "Name each language as a BCP-47 code: es, de, fr, pt-BR, es-MX."
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
if (sourceLanguage && sameTag(tag, sourceLanguage)) {
|
|
117
|
+
return {
|
|
118
|
+
code: "translate_same_language",
|
|
119
|
+
message: `The ad is already in ${languageName(tag) ?? tag}.`,
|
|
120
|
+
fix: `Leave ${code} out of --to.`
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
if (!languages.some((l) => sameTag(l, tag))) languages.push(tag);
|
|
124
|
+
}
|
|
125
|
+
return { languages };
|
|
126
|
+
}
|
|
127
|
+
var quoteLineQuestion = (text) => ({
|
|
128
|
+
instructions: {
|
|
129
|
+
question: "Is `line` a customer's or reviewer's own words (a testimonial, or a quote signed with the name of the person who said it), rather than the advertiser's own copy, in whatever language it is written?",
|
|
130
|
+
line: text
|
|
131
|
+
}
|
|
132
|
+
});
|
|
133
|
+
var CUSTOMERS_WORDS = 0.5;
|
|
134
|
+
function signedLines(lines) {
|
|
135
|
+
const signed = /* @__PURE__ */ new Set();
|
|
136
|
+
lines.forEach((line, i) => {
|
|
137
|
+
if (line.role === MESSAGE_ROLE) return;
|
|
138
|
+
const below = lines[i + 1];
|
|
139
|
+
if (isCustomersWords(line) || below !== void 0 && isSignatureLine(below)) signed.add(i);
|
|
140
|
+
});
|
|
141
|
+
return signed;
|
|
142
|
+
}
|
|
143
|
+
async function customersWordsAmong(lines, judge) {
|
|
144
|
+
const kept = signedLines(lines);
|
|
145
|
+
const open = lines.flatMap((line, i) => line.role === MESSAGE_ROLE || kept.has(i) ? [] : [i]);
|
|
146
|
+
if (!judge || open.length === 0) return kept;
|
|
147
|
+
const asked = (i) => {
|
|
148
|
+
const text = lines[i]?.text ?? "";
|
|
149
|
+
const below = lines[i + 1]?.text;
|
|
150
|
+
return below !== void 0 && maybeSigned(below) && !maybeSigned(text) ? `${text}
|
|
151
|
+
${below}` : text;
|
|
152
|
+
};
|
|
153
|
+
const answers = await judge(open.map(asked));
|
|
154
|
+
if (answers?.length !== open.length) return kept;
|
|
155
|
+
for (const [k, i] of open.entries()) if ((answers[k] ?? 0) >= CUSTOMERS_WORDS) kept.add(i);
|
|
156
|
+
return kept;
|
|
157
|
+
}
|
|
158
|
+
var MESSAGE_ROLE = "message";
|
|
159
|
+
var Answer = z.object({ translations: z.record(z.string(), z.array(z.string()).catch([])) });
|
|
160
|
+
function acceptTranslations(answer, languages, lineCount) {
|
|
161
|
+
const wrapped = answer && typeof answer === "object" && !("translations" in answer) ? { translations: answer } : answer;
|
|
162
|
+
const parsed = Answer.safeParse(wrapped);
|
|
163
|
+
if (!parsed.success) return {};
|
|
164
|
+
const byTag = new Map(Object.entries(parsed.data.translations).map(([key, lines]) => [key.toLowerCase(), lines]));
|
|
165
|
+
const kept = {};
|
|
166
|
+
for (const language of languages) {
|
|
167
|
+
const lines = byTag.get(language.toLowerCase())?.map((line) => line.trim());
|
|
168
|
+
if (lines && lines.length === lineCount && lines.every(Boolean)) kept[language] = lines;
|
|
169
|
+
}
|
|
170
|
+
return kept;
|
|
171
|
+
}
|
|
172
|
+
function lineByKey(key, lines) {
|
|
173
|
+
if (/^\d+$/.test(key)) {
|
|
174
|
+
const n = Number(key) - 1;
|
|
175
|
+
return n >= 0 && n < lines.length ? n : void 0;
|
|
176
|
+
}
|
|
177
|
+
const i = lines.findIndex((l) => l.role !== MESSAGE_ROLE && l.role?.toLowerCase() === key.trim().toLowerCase());
|
|
178
|
+
return i === -1 ? void 0 : i;
|
|
179
|
+
}
|
|
180
|
+
function lineOverrides(file, languages, lines) {
|
|
181
|
+
const byTag = languageEntries(file);
|
|
182
|
+
const out = {};
|
|
183
|
+
for (const language of languages) {
|
|
184
|
+
const given = byTag.get(language.toLowerCase());
|
|
185
|
+
if (!given || Array.isArray(given) || typeof given !== "object") continue;
|
|
186
|
+
const words = {};
|
|
187
|
+
for (const [key, text] of Object.entries(given)) {
|
|
188
|
+
const i = lineByKey(key, lines);
|
|
189
|
+
if (i !== void 0 && typeof text === "string" && text.trim()) words[i] = text.trim();
|
|
190
|
+
}
|
|
191
|
+
if (Object.keys(words).length > 0) out[language] = words;
|
|
192
|
+
}
|
|
193
|
+
return out;
|
|
194
|
+
}
|
|
195
|
+
function unknownLineKeys(file, language, lines) {
|
|
196
|
+
const given = languageEntries(file).get(language.toLowerCase());
|
|
197
|
+
if (!given || Array.isArray(given) || typeof given !== "object") return [];
|
|
198
|
+
return Object.keys(given).filter((key) => lineByKey(key, lines) === void 0);
|
|
199
|
+
}
|
|
200
|
+
function numberedLines(lines) {
|
|
201
|
+
return lines.filter((l) => l.role !== MESSAGE_ROLE).map((l, i) => `${i + 1}${l.role ? ` ${l.role}` : ""}: ${JSON.stringify(l.text)}`).join("; ");
|
|
202
|
+
}
|
|
203
|
+
function languageEntries(file) {
|
|
204
|
+
const record = file && typeof file === "object" && !Array.isArray(file) ? file : {};
|
|
205
|
+
const languages = record.translations && typeof record.translations === "object" ? record.translations : record;
|
|
206
|
+
return new Map(Object.entries(languages).map(([k, v]) => [k.toLowerCase(), v]));
|
|
207
|
+
}
|
|
208
|
+
function buildTranslatePrompt(lines, languages, context) {
|
|
209
|
+
const from = context.from ? languageName(context.from) : null;
|
|
210
|
+
return [
|
|
211
|
+
`These are the lines of copy printed on a finished static ad${from ? `, written in ${from}` : ""}. Translate them${from ? ` from ${from}` : ""} into each of these languages: ${languages.map((l) => `${l} (${languageName(l) ?? l})`).join(", ")}.`,
|
|
212
|
+
"",
|
|
213
|
+
...lines.map(
|
|
214
|
+
(line, i) => `${i + 1}. ${line.role === MESSAGE_ROLE ? "[not printed: what the ad says, in one sentence, for the team that runs it] " : line.role ? `[${line.role}] ` : ""}${line.customersWords ? "[a customer's own words: copy it exactly as written, untranslated] " : ""}${JSON.stringify(line.text)}`
|
|
215
|
+
),
|
|
216
|
+
"",
|
|
217
|
+
"Rules:",
|
|
218
|
+
"- Transcreate as a native copywriter of that market would write the ad, not word for word: the same promise and tone, natural for the people who will see it.",
|
|
219
|
+
"- Each line keeps its role: a headline stays a headline, a button stays a short button.",
|
|
220
|
+
"- Keep each line about as long as the original: it is set in the same layout, in the same space, so a much longer line will not fit.",
|
|
221
|
+
`- Keep brand names${context.brand ? ` (${JSON.stringify(context.brand)})` : ""}, product names, numbers, prices, currencies, percentages and URLs exactly as they are.`,
|
|
222
|
+
"- Use the language's own accents and punctuation (\xBF \xA1 \xAB \xBB \xDF \xE7 \xE3).",
|
|
223
|
+
...varieties(languages),
|
|
224
|
+
...context.note ? [
|
|
225
|
+
"",
|
|
226
|
+
`The team's own instructions for this translation. Follow them over the rules above, except that a customer's own words stay exactly as written.
|
|
227
|
+
${context.note}`
|
|
228
|
+
] : [],
|
|
229
|
+
"",
|
|
230
|
+
`Reply with only this JSON, one array per language with exactly ${lines.length} lines in the order above: {"translations": {${languages.map((l) => `"${l}": ["..."]`).join(", ")}}}`
|
|
231
|
+
].join("\n");
|
|
232
|
+
}
|
|
233
|
+
function translatedSpec(source, lines, language, customersWords = /* @__PURE__ */ new Set()) {
|
|
234
|
+
const spec = isAdSpec(source) ? source : readAdSpec(source);
|
|
235
|
+
const copy = Array.isArray(spec.copy) ? spec.copy : [];
|
|
236
|
+
const viewer = spec.viewer;
|
|
237
|
+
return {
|
|
238
|
+
...spec,
|
|
239
|
+
// A customer's words stay theirs: translated, they would be words nobody said under their name.
|
|
240
|
+
copy: copy.map((line, i) => customersWords.has(i) ? line : { ...line, text: lines[i] ?? line.text }),
|
|
241
|
+
...viewer?.market ? { viewer: { ...viewer, market: { ...viewer.market, ...marketOf(language) } } } : {}
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
var OWN_FIELDS = ["series", "language", "title", "status"];
|
|
245
|
+
function translatedDefinition(source, translation) {
|
|
246
|
+
return setDefinitionFields(withoutFields(source, OWN_FIELDS), {
|
|
247
|
+
title: translation.title.slice(0, 120),
|
|
248
|
+
series: translation.source,
|
|
249
|
+
language: translation.language,
|
|
250
|
+
status: "draft",
|
|
251
|
+
...translation.message ? { message: translation.message } : {}
|
|
252
|
+
});
|
|
253
|
+
}
|
|
254
|
+
function varieties(languages) {
|
|
255
|
+
const regional = languages.flatMap((tag) => {
|
|
256
|
+
const region = languageRegion(tag);
|
|
257
|
+
return region ? [
|
|
258
|
+
`- ${tag}: write it as people in ${region.name} write ads: its own vocabulary, spelling, idioms and form of address (t\xFA, usted or vos as ads there use it), not a neutral one and not a neighbouring country's variety of the same language.`
|
|
259
|
+
] : [];
|
|
260
|
+
});
|
|
261
|
+
return regional.length > 0 ? ["", "Each regional variant is its own ad:", ...regional] : [];
|
|
262
|
+
}
|
|
263
|
+
function marketOf(language) {
|
|
264
|
+
const region = languageRegion(language);
|
|
265
|
+
return region ? { language, country: region.code } : { language };
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
// src/commands/creatives/translate-ad.ts
|
|
269
|
+
function comparable(spec) {
|
|
270
|
+
try {
|
|
271
|
+
return JSON.stringify(readAdSpec(spec));
|
|
272
|
+
} catch {
|
|
273
|
+
return null;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
async function changedSinceRender(root, source, rendered) {
|
|
277
|
+
const raw = await readFile(path.join(creativeDir(root, source), "prompt.json"), "utf8").catch(() => null);
|
|
278
|
+
if (raw === null) return false;
|
|
279
|
+
let now;
|
|
280
|
+
try {
|
|
281
|
+
now = JSON.parse(raw);
|
|
282
|
+
} catch {
|
|
283
|
+
return false;
|
|
284
|
+
}
|
|
285
|
+
const [a, b] = [comparable(now), comparable(rendered)];
|
|
286
|
+
return a !== null && b !== null && a !== b;
|
|
287
|
+
}
|
|
288
|
+
var translationSlug = (source, language) => `${source}-${tagSlug(language)}`;
|
|
289
|
+
var creativeDir = (root, slug) => path.join(root, "src", "creatives", slug);
|
|
290
|
+
function definitionOf(root, slug) {
|
|
291
|
+
return readFile(path.join(creativeDir(root, slug), "_definition.md"), "utf8").catch(() => null);
|
|
292
|
+
}
|
|
293
|
+
function sourceLanguageOf(definition, spec) {
|
|
294
|
+
const market = spec.viewer?.market?.language;
|
|
295
|
+
return parseDefinitionStrategyFields(definition).language ?? (typeof market === "string" ? languageTag(market) ?? void 0 : void 0);
|
|
296
|
+
}
|
|
297
|
+
async function planLanguages(root, source, languages, again) {
|
|
298
|
+
const settled = [];
|
|
299
|
+
const pending = [];
|
|
300
|
+
for (const language of languages) {
|
|
301
|
+
const creative = translationSlug(source, language);
|
|
302
|
+
const existing = await definitionOf(root, creative);
|
|
303
|
+
const fields = existing === null ? null : parseDefinitionStrategyFields(existing);
|
|
304
|
+
const ours = fields?.seriesLead === source && sameTag(fields.language ?? "", language);
|
|
305
|
+
if (!fields || again && ours) {
|
|
306
|
+
pending.push(language);
|
|
307
|
+
} else if (ours) {
|
|
308
|
+
settled.push({ language, creative, status: "exists" });
|
|
309
|
+
} else {
|
|
310
|
+
settled.push({
|
|
311
|
+
language,
|
|
312
|
+
creative,
|
|
313
|
+
status: "refused",
|
|
314
|
+
error: {
|
|
315
|
+
code: "translate_slug_taken",
|
|
316
|
+
message: `"${creative}" is already another creative, not the ${languageName(language) ?? language} version of "${source}".`,
|
|
317
|
+
fix: `Rename or remove src/creatives/${creative}/ if it is a leftover, then translate again.`
|
|
318
|
+
}
|
|
319
|
+
});
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
return { settled, pending };
|
|
323
|
+
}
|
|
324
|
+
function wordsInFile(copy, pending, overrides, lines) {
|
|
325
|
+
const printed = lines.flatMap((l, i) => l.role === MESSAGE_ROLE ? [] : [i]);
|
|
326
|
+
const full = acceptTranslations(copy, pending, lines.length);
|
|
327
|
+
const printedOnly = printed.length < lines.length ? acceptTranslations(copy, pending, printed.length) : {};
|
|
328
|
+
const byLine = Object.entries(overrides).flatMap(
|
|
329
|
+
([language, given]) => printed.every((i) => given[i] !== void 0) ? [[language, printed.map((i) => given[i] ?? "")]] : []
|
|
330
|
+
);
|
|
331
|
+
return { ...Object.fromEntries(byLine), ...printedOnly, ...full };
|
|
332
|
+
}
|
|
333
|
+
async function wordsFor(pending, overrides, lines, context, deps) {
|
|
334
|
+
if (pending.length === 0) return { words: {}, asked: [] };
|
|
335
|
+
const fromFile = deps.copy === void 0 ? {} : wordsInFile(deps.copy, pending, overrides, lines);
|
|
336
|
+
const asked = deps.copy === void 0 ? [...pending] : pending.filter((l) => overrides[l] && !fromFile[l]);
|
|
337
|
+
const note = deps.note ? { note: deps.note } : {};
|
|
338
|
+
const answer = asked.length > 0 ? await deps.ask(buildTranslatePrompt(lines, asked, { ...context, ...note })) : null;
|
|
339
|
+
const answered = asked.length > 0 ? acceptTranslations(answer, asked, lines.length) : {};
|
|
340
|
+
const words = { ...fromFile };
|
|
341
|
+
for (const language of asked) {
|
|
342
|
+
const written = answered[language];
|
|
343
|
+
if (written) words[language] = written.map((text, i) => overrides[language]?.[i] ?? text);
|
|
344
|
+
}
|
|
345
|
+
return { words, asked };
|
|
346
|
+
}
|
|
347
|
+
async function translateAd(root, source, to, deps) {
|
|
348
|
+
const version = await leadVersion(root, source, deps.fetchRecord);
|
|
349
|
+
if ("refused" in version) return version.refused;
|
|
350
|
+
const spec = version.spec;
|
|
351
|
+
if (spec.native) {
|
|
352
|
+
return {
|
|
353
|
+
code: "translate_native_unsupported",
|
|
354
|
+
message: `"${source}" is a copy of a screen people know (a post, a chat, a review wall): its words are not lines of copy to translate.`,
|
|
355
|
+
fix: "Make it in the other language as its own ad: baker creatives make <idea> with the words written in that language."
|
|
356
|
+
};
|
|
357
|
+
}
|
|
358
|
+
const sourceDefinition = await definitionOf(root, source) ?? "---\nkind: static\n---\n";
|
|
359
|
+
const sourceLanguage = sourceLanguageOf(sourceDefinition, spec);
|
|
360
|
+
const asked = parseLanguages(to, sourceLanguage);
|
|
361
|
+
if ("code" in asked) return asked;
|
|
362
|
+
const { settled, pending } = await planLanguages(root, source, asked.languages, deps.again === true);
|
|
363
|
+
const lines = version.lead.copy;
|
|
364
|
+
const quoted = pending.length > 0 ? await customersWordsAmong(lines, deps.judgeQuotes) : /* @__PURE__ */ new Set();
|
|
365
|
+
const signed = signedLines(lines);
|
|
366
|
+
const overrides = deps.copy !== void 0 ? lineOverrides(deps.copy, pending, lines) : {};
|
|
367
|
+
const quotedIn = (language) => new Set([...quoted].filter((i) => overrides[language]?.[i] === void 0 || signed.has(i)));
|
|
368
|
+
const unchanged = pending.filter((language) => lines.every((_, i) => quotedIn(language).has(i)));
|
|
369
|
+
const open = pending.filter((language) => !unchanged.includes(language));
|
|
370
|
+
const brand = readAdSpec(spec).brand?.name;
|
|
371
|
+
const message = parseDefinitionStrategyFields(sourceDefinition).message;
|
|
372
|
+
const marked = lines.map((line, i) => quoted.has(i) ? { ...line, customersWords: true } : line);
|
|
373
|
+
const asks = message ? [...marked, { text: message, role: MESSAGE_ROLE }] : marked;
|
|
374
|
+
const { words, asked: modelAsked } = await wordsFor(
|
|
375
|
+
open,
|
|
376
|
+
overrides,
|
|
377
|
+
asks,
|
|
378
|
+
{ ...sourceLanguage ? { from: sourceLanguage } : {}, ...brand ? { brand } : {} },
|
|
379
|
+
deps
|
|
380
|
+
);
|
|
381
|
+
const translations = [...settled, ...unchanged.map((language) => nothingToTranslate(source, language))];
|
|
382
|
+
for (const language of open) {
|
|
383
|
+
translations.push(
|
|
384
|
+
await makeTranslation(
|
|
385
|
+
root,
|
|
386
|
+
{
|
|
387
|
+
source,
|
|
388
|
+
language,
|
|
389
|
+
sourceDefinition,
|
|
390
|
+
spec,
|
|
391
|
+
lines,
|
|
392
|
+
quoted: quotedIn(language),
|
|
393
|
+
signed,
|
|
394
|
+
words: words[language],
|
|
395
|
+
fromModel: modelAsked.includes(language)
|
|
396
|
+
},
|
|
397
|
+
deps
|
|
398
|
+
)
|
|
399
|
+
);
|
|
400
|
+
}
|
|
401
|
+
const order = new Map(asked.languages.map((l, i) => [l, i]));
|
|
402
|
+
translations.sort((a, b) => (order.get(a.language) ?? 0) - (order.get(b.language) ?? 0));
|
|
403
|
+
return {
|
|
404
|
+
source,
|
|
405
|
+
...sourceLanguage ? { sourceLanguage } : {},
|
|
406
|
+
leadsAbove: await seriesLeadsAbove(root, source),
|
|
407
|
+
translations,
|
|
408
|
+
...await changedSinceRender(root, source, version.spec) ? { changedSinceRender: true } : {}
|
|
409
|
+
};
|
|
410
|
+
}
|
|
411
|
+
function nothingToTranslate(source, language) {
|
|
412
|
+
const name = languageName(language) ?? language;
|
|
413
|
+
return {
|
|
414
|
+
language,
|
|
415
|
+
creative: translationSlug(source, language),
|
|
416
|
+
status: "refused",
|
|
417
|
+
error: {
|
|
418
|
+
code: "translate_nothing_to_translate",
|
|
419
|
+
message: `Every line of "${source}" is a customer's own words, kept as they said them, so in ${name} it would be the same ad.`,
|
|
420
|
+
fix: `Never translate a customer's words yourself: that puts words they never said under their name. To reach ${name} speakers, run "${source}" as it is, or give it a line of your own (a headline or a call to action), render it, then translate again.`
|
|
421
|
+
}
|
|
422
|
+
};
|
|
423
|
+
}
|
|
424
|
+
function copyMissing(language, name, lines, unknown) {
|
|
425
|
+
const named = unknown.map((key) => JSON.stringify(key)).join(", ");
|
|
426
|
+
return {
|
|
427
|
+
code: "translate_copy_missing",
|
|
428
|
+
message: unknown.length ? `The copy file's ${name} lines ${named} name no line of the ad.` : `The copy file has no ${name} lines, or not one for each of the ad's ${lines.length} lines.`,
|
|
429
|
+
fix: `Give "${language}" an array of ${lines.length} lines in the ad's order, or only the lines to change, by number or role ({"${language}": {"headline": "\u2026"}}): the model writes the rest. The ad's lines: ${numberedLines(lines)}.`
|
|
430
|
+
};
|
|
431
|
+
}
|
|
432
|
+
async function makeTranslation(root, t, deps) {
|
|
433
|
+
const creative = translationSlug(t.source, t.language);
|
|
434
|
+
const refused = (error) => ({ language: t.language, creative, status: "refused", error });
|
|
435
|
+
const name = languageName(t.language) ?? t.language;
|
|
436
|
+
if (!t.words) {
|
|
437
|
+
return refused(
|
|
438
|
+
!t.fromModel ? copyMissing(t.language, name, t.lines, unknownLineKeys(deps.copy, t.language, t.lines)) : {
|
|
439
|
+
code: "translate_failed",
|
|
440
|
+
message: `The ${name} words could not be written.`,
|
|
441
|
+
fix: `Write them yourself: --copy-file <json> with {"${t.language}": [${t.lines.length} lines in the ad's order]}.`
|
|
442
|
+
}
|
|
443
|
+
);
|
|
444
|
+
}
|
|
445
|
+
const dir = creativeDir(root, creative);
|
|
446
|
+
const definitionPath = path.join(dir, "_definition.md");
|
|
447
|
+
await mkdir(dir, { recursive: true });
|
|
448
|
+
await writeFile(
|
|
449
|
+
path.join(dir, "prompt.json"),
|
|
450
|
+
`${JSON.stringify(translatedSpec(t.spec, t.words, t.language, t.quoted), null, 2)}
|
|
451
|
+
`,
|
|
452
|
+
"utf8"
|
|
453
|
+
);
|
|
454
|
+
const headline = Math.max(
|
|
455
|
+
0,
|
|
456
|
+
t.lines.findIndex((l) => l.role === "headline")
|
|
457
|
+
);
|
|
458
|
+
await writeFile(
|
|
459
|
+
definitionPath,
|
|
460
|
+
translatedDefinition(t.sourceDefinition, {
|
|
461
|
+
source: t.source,
|
|
462
|
+
language: t.language,
|
|
463
|
+
title: t.words[headline] ?? creative,
|
|
464
|
+
...t.words.length > t.lines.length ? { message: t.words[t.lines.length] } : {}
|
|
465
|
+
}),
|
|
466
|
+
"utf8"
|
|
467
|
+
);
|
|
468
|
+
const made = await writeSeriesMemberCanvas(root, creative, {
|
|
469
|
+
leadWords: true,
|
|
470
|
+
...deps.fetchRecord ? { fetchRecord: deps.fetchRecord } : {}
|
|
471
|
+
});
|
|
472
|
+
if (made === null || "refused" in made) {
|
|
473
|
+
return refused(made?.refused ?? { code: "translate_not_made", message: `"${creative}" could not be made.` });
|
|
474
|
+
}
|
|
475
|
+
await deps.sync(dir);
|
|
476
|
+
const kept = [...t.quoted].sort((a, b) => a - b);
|
|
477
|
+
const judged = kept.filter((i) => !t.signed.has(i)).map((i) => i + 1);
|
|
478
|
+
return {
|
|
479
|
+
language: t.language,
|
|
480
|
+
creative,
|
|
481
|
+
status: "made",
|
|
482
|
+
...kept.length ? { kept: kept.map((i) => t.lines[i]?.text ?? "") } : {},
|
|
483
|
+
...judged.length ? { judged } : {}
|
|
484
|
+
};
|
|
485
|
+
}
|
|
486
|
+
function keptHint(source, t) {
|
|
487
|
+
const kept = (t.kept ?? []).map((text) => JSON.stringify(text)).join(", ");
|
|
488
|
+
const [line] = t.judged ?? [];
|
|
489
|
+
const change = line ? ` If line ${line} is the ad's own words, not a customer's, write it yourself: baker creatives translate --slug ${source} --to ${t.language} --again --copy-file with {"${t.language}": {"${line}": "<its words in ${t.language}>"}}; the model writes the other lines again.` : "";
|
|
490
|
+
return `${t.creative}: kept as the customer said them, untranslated: ${kept}.${change}`;
|
|
491
|
+
}
|
|
492
|
+
function translateEnvelope(result) {
|
|
493
|
+
const made = result.translations.filter((t) => t.status !== "refused").map((t) => t.creative);
|
|
494
|
+
const refused = result.translations.filter((t) => t.status === "refused");
|
|
495
|
+
const order = [...result.leadsAbove].reverse().concat(result.source);
|
|
496
|
+
return {
|
|
497
|
+
ok: true,
|
|
498
|
+
data: {
|
|
499
|
+
source: result.source,
|
|
500
|
+
made,
|
|
501
|
+
translations: result.translations.map((t) => ({ ...t, name: languageName(t.language) ?? t.language }))
|
|
502
|
+
},
|
|
503
|
+
hints: [
|
|
504
|
+
...result.changedSinceRender ? [
|
|
505
|
+
`src/creatives/${result.source}/prompt.json was changed since its last render, and every language is made from the version rendered: none of them has that change. Never say they do. To carry it: baker canvas run --slug ${result.source}, then translate again with --again.`
|
|
506
|
+
] : [],
|
|
507
|
+
...made.length > 0 ? [
|
|
508
|
+
`Next: baker canvas run --series ${result.source} renders every language at once, each the ${result.source} picture with its own words, reviewed and corrected on its own. A language already rendered from the current version of ${result.source} is not rendered again.`
|
|
509
|
+
] : [],
|
|
510
|
+
...made.length > 0 ? [
|
|
511
|
+
`To change a line of one language (a word the person wants otherwise, a line too long), edit its words in that ad's own copy, src/creatives/${made[0]}/prompt.json \`copy\` (never its design), then baker canvas run --series ${result.source}: only that ad is made again. To change how every line reads (tone, t\xFA or usted, a term to keep), translate again with --again --note "<what to change>"; --again writes every line of that language again.`
|
|
512
|
+
] : [],
|
|
513
|
+
`A later change to ${result.source} (its picture or design) reaches every language on the next ${order.map((slug) => `baker canvas run --series ${slug}`).join(", then ")}. A change to its words does not: translate again with --again for the languages to update.`,
|
|
514
|
+
...refused.map((t) => `${t.creative}: ${t.error?.message ?? "not made"}${t.error?.fix ? ` ${t.error.fix}` : ""}`),
|
|
515
|
+
...result.translations.flatMap((t) => t.kept?.length ? [keptHint(result.source, t)] : [])
|
|
516
|
+
]
|
|
517
|
+
};
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
// src/commands/creatives/translate.ts
|
|
521
|
+
var TRANSLATE_TIMEOUT_MS = 12e4;
|
|
522
|
+
var DESCRIPTION = `The same static ad in other languages. Each language becomes its own creative, <ad>-<lang>, made as an ad of the series <ad> leads: its ready picture with only the words changed, so the design is never made again per language. Every language is translated in one call (transcreated for the market, same role and length per line, brand names, prices and numbers kept); seconds, nothing rendered. The ad must have a ready version.
|
|
523
|
+
|
|
524
|
+
Start here:
|
|
525
|
+
baker creatives translate --slug spring-offer --to es-MX,es-CO,pt-BR # one ad per country: Mexico and Colombia are two ads
|
|
526
|
+
baker creatives translate --slug spring-offer --to de,fr # a language with no country: its neutral variety
|
|
527
|
+
baker creatives translate --slug spring-offer --to de --copy-file de.json # your own lines: {"de": ["line 1", "line 2"]}
|
|
528
|
+
baker creatives translate --slug spring-offer --to de --copy-file de.json # only some lines yours, the model writes the rest: {"de": {"headline": "\u2026", "3": "\u2026"}}
|
|
529
|
+
baker creatives translate --slug spring-offer --to es-MX --note "Informal t\xFA. Keep 'Pro' in English." # brief the translator
|
|
530
|
+
To change one line of one language after: edit src/creatives/<ad>-<lang>/prompt.json copy, then baker canvas run --series <ad>.
|
|
531
|
+
Ten angle ads in three languages: one design (the lead), the angle ads (creatives make <idea> --series <lead>), then translate each angle ad. Never a new canvas or a new design per language.
|
|
532
|
+
Then: baker canvas run --series spring-offer (renders every language at once). Adding a language later leaves the ones made as they are.`;
|
|
533
|
+
var ARGS = {
|
|
534
|
+
slug: {
|
|
535
|
+
type: "string",
|
|
536
|
+
required: true,
|
|
537
|
+
description: "The ad to translate (its creative slug); it must have a ready version"
|
|
538
|
+
},
|
|
539
|
+
to: {
|
|
540
|
+
type: "string",
|
|
541
|
+
required: true,
|
|
542
|
+
description: "The languages, comma-separated BCP-47 codes: es-MX,es-CO,pt-BR (a country's own variety) or de,fr. One new creative each: <slug>-<tag in lowercase>"
|
|
543
|
+
},
|
|
544
|
+
"copy-file": {
|
|
545
|
+
type: "string",
|
|
546
|
+
required: false,
|
|
547
|
+
description: `A JSON file with your own lines. A language as an array is every line, in the ad's order, no model asked: {"es": ["line 1", "line 2"]}. A language as an object is only the lines you write, by number (from 1) or role, and the model writes the rest: {"de": {"headline": "\u2026", "3": "\u2026"}}. Your words for a line also win over the reading that it is a customer's, unless it is signed as theirs`
|
|
548
|
+
},
|
|
549
|
+
note: {
|
|
550
|
+
type: "string",
|
|
551
|
+
required: false,
|
|
552
|
+
description: "Your instructions for the translator, as you would brief a copywriter: the tone, t\xFA or usted, a term to keep in English, what the market calls the product. A customer's words stay as they said them whatever it says"
|
|
553
|
+
},
|
|
554
|
+
again: {
|
|
555
|
+
type: "boolean",
|
|
556
|
+
required: false,
|
|
557
|
+
default: false,
|
|
558
|
+
description: "Translate a language already made again (after the ad's words changed); without it, a made language is left as it is"
|
|
559
|
+
}
|
|
560
|
+
};
|
|
561
|
+
registerSchema({ command: "creatives.translate", description: DESCRIPTION, args: ARGS });
|
|
562
|
+
function fail(error) {
|
|
563
|
+
writeJson({ ok: false, error });
|
|
564
|
+
process.exit(1);
|
|
565
|
+
}
|
|
566
|
+
async function readCopyFile(file) {
|
|
567
|
+
try {
|
|
568
|
+
return JSON.parse(await readFile2(path2.resolve(file), "utf8"));
|
|
569
|
+
} catch (e) {
|
|
570
|
+
fail({
|
|
571
|
+
code: "translate_copy_file_unreadable",
|
|
572
|
+
message: `The copy file ${file} could not be read as JSON (${e instanceof Error ? e.message : String(e)}).`,
|
|
573
|
+
fix: 'Write it as {"<lang>": ["line 1", "line 2"]}, one array per language.'
|
|
574
|
+
});
|
|
575
|
+
}
|
|
576
|
+
}
|
|
577
|
+
var translateCommand = defineCommand({
|
|
578
|
+
meta: { name: "translate", description: DESCRIPTION },
|
|
579
|
+
args: ARGS,
|
|
580
|
+
async run({ args }) {
|
|
581
|
+
const root = findWorkspaceRoot(process.cwd()) ?? process.cwd();
|
|
582
|
+
const copyFile = typeof args["copy-file"] === "string" && args["copy-file"] ? args["copy-file"] : void 0;
|
|
583
|
+
const copy = copyFile ? await readCopyFile(copyFile) : void 0;
|
|
584
|
+
const spent = [];
|
|
585
|
+
const result = await translateAd(root, String(args.slug), String(args.to), {
|
|
586
|
+
ask: (prompt) => askAboutImages(RENDER_REVIEW_MODEL, [], prompt, (usage) => spent.push(usage), TRANSLATE_TIMEOUT_MS).catch(
|
|
587
|
+
() => null
|
|
588
|
+
),
|
|
589
|
+
...copy !== void 0 ? { copy } : {},
|
|
590
|
+
again: args.again === true,
|
|
591
|
+
...typeof args.note === "string" && args.note.trim() ? { note: args.note.trim() } : {},
|
|
592
|
+
sync: (dir) => runBaker(["canvas", "sync-definition", dir, "--title"]),
|
|
593
|
+
judgeQuotes: (texts) => askJev(texts.map(quoteLineQuestion), (usage) => spent.push(usage))
|
|
594
|
+
});
|
|
595
|
+
await holdUnbilledSpend(path2.join(root, "canvas", ".cache"), spent).catch(() => void 0);
|
|
596
|
+
if ("code" in result) fail(result);
|
|
597
|
+
writeJson(translateEnvelope(result));
|
|
598
|
+
}
|
|
599
|
+
});
|
|
600
|
+
export {
|
|
601
|
+
translateCommand
|
|
602
|
+
};
|
|
603
|
+
//# sourceMappingURL=translate-2EZKFEUC.js.map
|