@koda-sl/baker-cli 0.477.0 → 0.479.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 +57 -22
- package/dist/account-7LUQWY6Q.js +49 -0
- package/dist/account-VH2AATWI.js +79 -0
- package/dist/account-Z65CPOWE.js +80 -0
- package/dist/account-reads-GYI2SS6T.js +218 -0
- package/dist/account-writes-4N2MA2ZR.js +66 -0
- package/dist/accounts-E4TVYTUR.js +115 -0
- package/dist/accounts-SMB3TNXX.js +114 -0
- package/dist/accounts-SPLE7URQ.js +611 -0
- package/dist/accounts-UA2ZWRN4.js +75 -0
- package/dist/accounts-XG472YLB.js +77 -0
- package/dist/actions-KQTXBNJU.js +55 -0
- package/dist/active-entities-MCL7UEGV.js +103 -0
- package/dist/activecampaign-42JXANUA.js +935 -0
- package/dist/activities-IQPJPP4B.js +74 -0
- package/dist/ad-group-writes-EUTMPBMK.js +170 -0
- package/dist/ad-groups-OVPAI5RM.js +68 -0
- package/dist/ad-writes-DACTYFEO.js +174 -0
- package/dist/add-5IGUQHVZ.js +105 -0
- package/dist/add-BK5AQI5A.js +97 -0
- package/dist/add-C3FQ5D62.js +104 -0
- package/dist/add-KTEJCE4L.js +302 -0
- package/dist/add-accounts-CJSV5NPL.js +91 -0
- package/dist/ads-HXX2IAFF.js +113 -0
- package/dist/ads-L65JIKCD.js +77 -0
- package/dist/ads-RAUM6ISF.js +128 -0
- package/dist/ads-WPI3AMSR.js +40 -0
- package/dist/adsets-LPN6WFGF.js +176 -0
- package/dist/advertisers-36HP3AOE.js +120 -0
- package/dist/advertisers-DS2NRWKI.js +125 -0
- package/dist/analytics-I4LZCRG2.js +433 -0
- package/dist/analytics-IFNBT7IM.js +1976 -0
- package/dist/animate-3LV3LHXQ.js +480 -0
- package/dist/assign-WBLSZNCO.js +77 -0
- package/dist/audience-size-LOX5BNXI.js +73 -0
- package/dist/audience-size-LOX5BNXI.js.map +1 -0
- package/dist/audiences-3LRCLHTQ.js +85 -0
- package/dist/audiences-RPLVMO4H.js +268 -0
- package/dist/audiences-XEZHACKH.js +78 -0
- package/dist/audit-6AG6BPXQ.js +151 -0
- package/dist/audit-YEGQU474.js +88 -0
- package/dist/autocomplete-2QRU7ARD.js +111 -0
- package/dist/avatars-EIETXCF3.js +38 -0
- package/dist/bid-pricing-5LZFHQTS.js +100 -0
- package/dist/bid-pricing-5LZFHQTS.js.map +1 -0
- package/dist/brand-CINQG3JG.js +22 -0
- package/dist/brief-WAQ2V6Q4.js +538 -0
- package/dist/brief-WAQ2V6Q4.js.map +1 -0
- package/dist/businesses-PRRYPR7H.js +53 -0
- package/dist/campaign-groups-5CMTEJZZ.js +95 -0
- package/dist/campaign-writes-4RMPHQCT.js +165 -0
- package/dist/campaign-writes-U5LTDTYK.js +170 -0
- package/dist/campaigns-4SOLY7OR.js +110 -0
- package/dist/campaigns-NFRLFNXI.js +107 -0
- package/dist/campaigns-PC7UAVXR.js +109 -0
- package/dist/campaigns-TFEQTSO3.js +76 -0
- package/dist/canvas-BPACZHNU.js +46 -0
- package/dist/capabilities-FNVTPCDT.js +144 -0
- package/dist/cards-WHMCSRZX.js +85 -0
- package/dist/catalog-RMMECI4Z.js +65 -0
- package/dist/catalog-RMMECI4Z.js.map +1 -0
- package/dist/catalogs-A7XMEEEP.js +128 -0
- package/dist/changes-J67WATHX.js +135 -0
- package/dist/chatgpt-4PEWDJKP.js +47 -0
- package/dist/chats-S5FCV7YO.js +262 -0
- package/dist/check-GCZ2ZBKH.js +104 -0
- package/dist/check-GCZ2ZBKH.js.map +1 -0
- package/dist/chunk-232YUPUI.js +125 -0
- package/dist/chunk-23H4ZJRP.js +136 -0
- package/dist/chunk-2DHHL4PU.js +156 -0
- package/dist/chunk-2DHHL4PU.js.map +1 -0
- package/dist/chunk-2FSEESJU.js +1744 -0
- package/dist/chunk-2FSEESJU.js.map +1 -0
- package/dist/chunk-3OCSWUHV.js +67 -0
- package/dist/chunk-3S5YZWB7.js +601 -0
- package/dist/chunk-3S5YZWB7.js.map +1 -0
- package/dist/chunk-3UXMQ3K2.js +274 -0
- package/dist/chunk-5NS4CNF6.js +1518 -0
- package/dist/chunk-5NS4CNF6.js.map +1 -0
- package/dist/chunk-5WMTPYKT.js +84 -0
- package/dist/chunk-65N4ZPQD.js +26 -0
- package/dist/chunk-65PUXMWE.js +167 -0
- package/dist/chunk-65PUXMWE.js.map +1 -0
- package/dist/chunk-6JWEGFM5.js +174 -0
- package/dist/chunk-6KK26F2T.js +46 -0
- package/dist/chunk-6KK26F2T.js.map +1 -0
- package/dist/chunk-7HJR5M4R.js +8843 -0
- package/dist/chunk-7HJR5M4R.js.map +1 -0
- package/dist/chunk-7LU7KARN.js +64 -0
- package/dist/chunk-7LU7KARN.js.map +1 -0
- package/dist/chunk-7RBJ2Z7Z.js +172 -0
- package/dist/chunk-7U3V64YT.js +344 -0
- package/dist/chunk-7U3V64YT.js.map +1 -0
- package/dist/chunk-ABXTGAG7.js +23 -0
- package/dist/chunk-ADSNY4KZ.js +399 -0
- package/dist/chunk-AHF6TQWB.js +392 -0
- package/dist/chunk-AIJBZSZV.js +224 -0
- package/dist/chunk-AIJBZSZV.js.map +1 -0
- package/dist/chunk-AQ5WISEG.js +98 -0
- package/dist/chunk-AS5VL32C.js +131 -0
- package/dist/chunk-AS5VL32C.js.map +1 -0
- package/dist/chunk-BFRIRZRZ.js +98 -0
- package/dist/chunk-BFZS3WHS.js +84 -0
- package/dist/chunk-BITS62MF.js +77 -0
- package/dist/chunk-BLAHHMPF.js +333 -0
- package/dist/chunk-BSEB55E6.js +148 -0
- package/dist/chunk-BSEB55E6.js.map +1 -0
- package/dist/chunk-C3TTE7GS.js +66 -0
- package/dist/chunk-C3TTE7GS.js.map +1 -0
- package/dist/chunk-CCIDHU6M.js +169 -0
- package/dist/chunk-CM6FCSWN.js +644 -0
- package/dist/chunk-CVBKW75S.js +296 -0
- package/dist/chunk-CXQRTLSQ.js +159 -0
- package/dist/chunk-D4I3KULJ.js +5367 -0
- package/dist/chunk-D4I3KULJ.js.map +1 -0
- package/dist/chunk-D4LKZJYJ.js +76 -0
- package/dist/chunk-D7KR6KXR.js +66 -0
- package/dist/chunk-DCTEL4KG.js +592 -0
- package/dist/chunk-DF22CTXE.js +225 -0
- package/dist/chunk-DF22CTXE.js.map +1 -0
- package/dist/chunk-DH5CKOYK.js +103 -0
- package/dist/chunk-DMVDVZJK.js +97 -0
- package/dist/chunk-DMVDVZJK.js.map +1 -0
- package/dist/chunk-DQC4NIJE.js +51 -0
- package/dist/chunk-DWX44QL6.js +75 -0
- package/dist/chunk-EE72SSB2.js +472 -0
- package/dist/chunk-FNA277HP.js +97 -0
- package/dist/chunk-FRK7SSEH.js +6306 -0
- package/dist/chunk-FRK7SSEH.js.map +1 -0
- package/dist/chunk-FU7HJWGM.js +26 -0
- package/dist/chunk-GDLQ6SGW.js +46 -0
- package/dist/chunk-GEKXIXMG.js +106 -0
- package/dist/chunk-GLW7UJLB.js +58 -0
- package/dist/chunk-GMSKPGLI.js +3846 -0
- package/dist/chunk-GMSKPGLI.js.map +1 -0
- package/dist/chunk-H5HDZ7IC.js +139 -0
- package/dist/chunk-HJQ7N7FC.js +8661 -0
- package/dist/chunk-HJQ7N7FC.js.map +1 -0
- package/dist/chunk-I5VZVQBZ.js +35 -0
- package/dist/chunk-IC6SDOED.js +45 -0
- package/dist/chunk-IDN4FOOP.js +97 -0
- package/dist/chunk-IDN4FOOP.js.map +1 -0
- package/dist/chunk-IG627WWY.js +23992 -0
- package/dist/chunk-IN4G7X6W.js +94 -0
- package/dist/chunk-IPLE5K5E.js +188 -0
- package/dist/chunk-IWWOGBGA.js +665 -0
- package/dist/chunk-JD4SABZC.js +942 -0
- package/dist/chunk-JD4SABZC.js.map +1 -0
- package/dist/chunk-JFA4R3KS.js +172 -0
- package/dist/chunk-JYBLCIRN.js +106 -0
- package/dist/chunk-K3TNTBZJ.js +52 -0
- package/dist/chunk-KCKC637S.js +122 -0
- package/dist/chunk-KCKC637S.js.map +1 -0
- package/dist/chunk-KPYDTIAI.js +317 -0
- package/dist/chunk-KPYDTIAI.js.map +1 -0
- package/dist/chunk-LCW3U4EA.js +25 -0
- package/dist/chunk-LD4CHA7U.js +89 -0
- package/dist/chunk-LD4CHA7U.js.map +1 -0
- package/dist/chunk-LS3A753J.js +225 -0
- package/dist/chunk-LS3A753J.js.map +1 -0
- package/dist/chunk-MI3JB5KB.js +76 -0
- package/dist/chunk-MIOOPOG2.js +547 -0
- package/dist/chunk-MJQBXFW6.js +74 -0
- package/dist/chunk-MMVLRUMK.js +612 -0
- package/dist/chunk-MMVLRUMK.js.map +1 -0
- package/dist/chunk-MPACDBH5.js +74 -0
- package/dist/chunk-MXWOYFI2.js +544 -0
- package/dist/chunk-N5O67GK5.js +215 -0
- package/dist/chunk-NCP6RD6A.js +433 -0
- package/dist/chunk-NNF4RARY.js +297 -0
- package/dist/chunk-NR2OVOTD.js +363 -0
- package/dist/chunk-NVGXYF6K.js +846 -0
- package/dist/chunk-OP7DNHD2.js +137 -0
- package/dist/chunk-ORQKMXHA.js +76 -0
- package/dist/chunk-P3TNRS56.js +149 -0
- package/dist/chunk-PQTY22FR.js +159 -0
- package/dist/chunk-PQTY22FR.js.map +1 -0
- package/dist/chunk-Q7YZL7PG.js +494 -0
- package/dist/chunk-QABSQADZ.js +56 -0
- package/dist/chunk-QVNSVFSD.js +91 -0
- package/dist/chunk-QVNSVFSD.js.map +1 -0
- package/dist/chunk-QVQKCVP7.js +85 -0
- package/dist/chunk-QVQKCVP7.js.map +1 -0
- package/dist/chunk-R2TAVQGZ.js +455 -0
- package/dist/chunk-R5WNYLG4.js +197 -0
- package/dist/chunk-RCSOG2DV.js +142 -0
- package/dist/chunk-RCSOG2DV.js.map +1 -0
- package/dist/chunk-RD2XXQW3.js +1599 -0
- package/dist/chunk-RLS5OPPZ.js +207 -0
- package/dist/chunk-RLS5OPPZ.js.map +1 -0
- package/dist/chunk-RMLJNHCU.js +346 -0
- package/dist/chunk-RTWRNG3E.js +821 -0
- package/dist/chunk-RTWRNG3E.js.map +1 -0
- package/dist/chunk-S7A34DOA.js +111 -0
- package/dist/chunk-SFJW2KED.js +166 -0
- package/dist/chunk-SOKVXKRM.js +74 -0
- package/dist/chunk-STNCMKL6.js +191 -0
- package/dist/chunk-SWL4AAPP.js +320 -0
- package/dist/chunk-T6ATGN7Y.js +3187 -0
- package/dist/chunk-T6ATGN7Y.js.map +1 -0
- package/dist/chunk-TF4PGUO5.js +191 -0
- package/dist/chunk-TF4PGUO5.js.map +1 -0
- package/dist/chunk-TNOJ6O6B.js +61 -0
- package/dist/chunk-TNOJ6O6B.js.map +1 -0
- package/dist/chunk-U2452GLO.js +1914 -0
- package/dist/chunk-U2452GLO.js.map +1 -0
- package/dist/chunk-ULPO72IQ.js +225 -0
- package/dist/chunk-UMZIQIWN.js +1079 -0
- package/dist/chunk-V7N666PJ.js +19 -0
- package/dist/chunk-WL6FWK2Q.js +249 -0
- package/dist/chunk-WL6FWK2Q.js.map +1 -0
- package/dist/chunk-WNJ5SYAG.js +275 -0
- package/dist/chunk-WNSE7N75.js +2123 -0
- package/dist/chunk-XDZVBX6L.js +220 -0
- package/dist/chunk-XGOEX2VJ.js +55 -0
- package/dist/chunk-XUB2EK65.js +57 -0
- package/dist/chunk-XUR4QWCS.js +206 -0
- package/dist/chunk-XZ4YMCZK.js +66 -0
- package/dist/chunk-Y3VRMFGF.js +42 -0
- package/dist/chunk-YD7BQDJ6.js +903 -0
- package/dist/chunk-ZBV5IV5T.js +843 -0
- package/dist/chunk-ZBV5IV5T.js.map +1 -0
- package/dist/claim-6MPQD43X.js +197 -0
- package/dist/cli.js +41 -41
- package/dist/client-WL2FKW4T.js +19 -0
- package/dist/code-NXN7QYKU.js +76 -0
- package/dist/companies-KRF2K4CA.js +195 -0
- package/dist/complete-V433ON5C.js +81 -0
- package/dist/config-VOF57KBL.js +88 -0
- package/dist/connect-QVIAM3GX.js +42 -0
- package/dist/content-KA25YYO3.js +85 -0
- package/dist/conversation-VZKBZZGG.js +93 -0
- package/dist/conversion-report-REOHVLCI.js +125 -0
- package/dist/conversion-upload-command-ASHA6T6H.js +438 -0
- package/dist/conversion-writes-JU7Q2MUO.js +120 -0
- package/dist/conversions-3ISBR3TS.js +76 -0
- package/dist/conversions-ZLC6YTJ5.js +135 -0
- package/dist/countries-XGMZWUGP.js +82 -0
- package/dist/create-B3QMYSIX.js +132 -0
- package/dist/create-IFCCMKFT.js +207 -0
- package/dist/create-R5P6JU5A.js +235 -0
- package/dist/create-SF6DOGDJ.js +59 -0
- package/dist/creatives-KD7MOCR3.js +182 -0
- package/dist/creatives-YJ3CXZQC.js +87 -0
- package/dist/creatives-YOMFW2UP.js +58 -0
- package/dist/creatives-YOMFW2UP.js.map +1 -0
- package/dist/credentials-2KJUKBMF.js +287 -0
- package/dist/critique-A2OEMGZS.js +227 -0
- package/dist/critique-A2OEMGZS.js.map +1 -0
- package/dist/critique-JVKJEBAC.js +1451 -0
- package/dist/critique-JVKJEBAC.js.map +1 -0
- package/dist/crm-GX72E2LT.js +224 -0
- package/dist/crm-ZYDNEME5.js +318 -0
- package/dist/crop-7UTYG7GS.js +113 -0
- package/dist/currency-CGDI2NXI.js +88 -0
- package/dist/custom-conversions-YRYE65PU.js +125 -0
- package/dist/customers-P4N4NXLJ.js +56 -0
- package/dist/decide-TWKH5QQU.js +199 -0
- package/dist/delete-2GIIUPA3.js +69 -0
- package/dist/delete-AK5IV44E.js +66 -0
- package/dist/delete-GLLYPNNB.js +71 -0
- package/dist/delete-J7DXPGKD.js +71 -0
- package/dist/delete-RS7RQDUX.js +54 -0
- package/dist/delete-S4VKH7IS.js +64 -0
- package/dist/demographics-IKWN2H3V.js +138 -0
- package/dist/describe-5QCPRSIG.js +97 -0
- package/dist/describe-L3UC6MIL.js +97 -0
- package/dist/dimensions-POH4JXEM.js +101 -0
- package/dist/discard-H6DOHJRG.js +66 -0
- package/dist/discover-L4TPEKGY.js +172 -0
- package/dist/discover-XAJKZCMM.js +93 -0
- package/dist/domain-US4KKAXC.js +98 -0
- package/dist/download-N4J5WFHD.js +299 -0
- package/dist/draft-BIQ3ZAYW.js +306 -0
- package/dist/draft-EWDOIXSH.js +233 -0
- package/dist/draft-IL37WDST.js +103 -0
- package/dist/draft-IZ4YLQRD.js +307 -0
- package/dist/draft-KDMYGLWN.js +100 -0
- package/dist/draft-OLFQZBWL.js +217 -0
- package/dist/draft-R32RFDCI.js +328 -0
- package/dist/draft-Y2QJE2NM.js +281 -0
- package/dist/engine/index.d.ts +31 -1
- package/dist/engine/index.js +15 -14
- package/dist/env-5MUVYE2L.js +51 -0
- package/dist/experiment-G3FQVAJU.js +1397 -0
- package/dist/export-OLDI32HM.js +168 -0
- package/dist/extract-PPS6ONQN.js +113 -0
- package/dist/facets-JBZQHN3D.js +114 -0
- package/dist/favorites-4ELADD3R.js +178 -0
- package/dist/feed-XIY5TVDL.js +177 -0
- package/dist/feedback-CCU6ECMQ.js +106 -0
- package/dist/feedback-CCU6ECMQ.js.map +1 -0
- package/dist/feedback-record-JCE3JWG6.js +260 -0
- package/dist/feedback-record-JCE3JWG6.js.map +1 -0
- package/dist/fetch-GOY6DQRL.js +176 -0
- package/dist/fetch-YWUVDMUH.js +139 -0
- package/dist/find-EVY4XEIQ.js +134 -0
- package/dist/fit-TVQ7RK52.js +62 -0
- package/dist/flows-274YPU6I.js +247 -0
- package/dist/follow-ZTPZKIMZ.js +94 -0
- package/dist/follow-competitors-6QDVQ4VJ.js +112 -0
- package/dist/following-PBZLZFGQ.js +113 -0
- package/dist/fonts-BMUNDGOZ.js +36 -0
- package/dist/forecast-F2CZSIMP.js +168 -0
- package/dist/forecast-W5F2MNOV.js +118 -0
- package/dist/forecast-W5F2MNOV.js.map +1 -0
- package/dist/funding-ULBMKUMW.js +85 -0
- package/dist/funnel-LEUXICXU.js +394 -0
- package/dist/ga4-2BL5YAYN.js +55 -0
- package/dist/generate-4HWNFAH3.js +263 -0
- package/dist/get-6RZU4M6W.js +63 -0
- package/dist/get-7GCEJ6KG.js +92 -0
- package/dist/get-MGDY5JYZ.js +79 -0
- package/dist/get-MZWUMHEF.js +61 -0
- package/dist/get-OAZZHUZP.js +59 -0
- package/dist/get-OHU2N7B7.js +63 -0
- package/dist/get-TY6AMFI4.js +56 -0
- package/dist/gif-NYZYV5RY.js +102 -0
- package/dist/gif-NYZYV5RY.js.map +1 -0
- package/dist/google-7STODZQR.js +136 -0
- package/dist/google-ZTTE34A4.js +3190 -0
- package/dist/google-ads-5ARKO757.js +195 -0
- package/dist/group-D5WXNFCP.js +43 -0
- package/dist/group-Y5PLETFT.js +43 -0
- package/dist/gsc-UU3T2C6B.js +30 -0
- package/dist/history-IQ33J5PB.js +67 -0
- package/dist/history-SU7VQCDJ.js +133 -0
- package/dist/hubspot-TJED44GO.js +779 -0
- package/dist/icon-GB7UH5RF.js +137 -0
- package/dist/ideas-UTSCGCT6.js +40 -0
- package/dist/images-ZMZ4WLYH.js +92 -0
- package/dist/images-ZMZ4WLYH.js.map +1 -0
- package/dist/improve-U5USRH4G.js +86 -0
- package/dist/ingest-DGDNZWEM.js +23 -0
- package/dist/ingest-SGBJ3NXX.js +107 -0
- package/dist/insights-4HT2NAYP.js +423 -0
- package/dist/insights-SQLE5NOJ.js +122 -0
- package/dist/inspect-BMQTTKMW.js +189 -0
- package/dist/inspiration-XQYHBJY2.js +53 -0
- package/dist/intent-LM36WK45.js +95 -0
- package/dist/job-CGQHEANB.js +202 -0
- package/dist/job-create-SZYJT2NC.js +109 -0
- package/dist/job-status-6LAKLCKH.js +74 -0
- package/dist/keep-3MJSHWU3.js +78 -0
- package/dist/keyword-gap-P652ODHN.js +130 -0
- package/dist/keyword-metrics-MQLGGJBT.js +197 -0
- package/dist/keywords-for-site-JL6H2YGU.js +128 -0
- package/dist/landing-AJO2BPC2.js +28 -0
- package/dist/landings-ZLKUP66P.js +151 -0
- package/dist/languages-3IJVDS5Z.js +55 -0
- package/dist/languages-HL42MI7H.js +40 -0
- package/dist/launches-RG2SWEXM.js +19 -0
- package/dist/layerize-SJYK6HPD.js +190 -0
- package/dist/leads-2XOSAYP4.js +293 -0
- package/dist/leads-H6JIWVI6.js +90 -0
- package/dist/learn-NJOV2DHD.js +204 -0
- package/dist/learn-NJOV2DHD.js.map +1 -0
- package/dist/library-Q4OU7VR7.js +109 -0
- package/dist/lighthouse-FALRSVQH.js +75 -0
- package/dist/line-item-writes-V7AKAHFC.js +208 -0
- package/dist/line-items-GAMKVVIQ.js +103 -0
- package/dist/link-Z5AQP6JN.js +64 -0
- package/dist/linkedin-7F6YVXQL.js +1045 -0
- package/dist/linkedin-7F6YVXQL.js.map +1 -0
- package/dist/list-2ZTOMTES.js +65 -0
- package/dist/list-GK6LNWIW.js +76 -0
- package/dist/list-NLGM3QDP.js +303 -0
- package/dist/list-RR53EF3O.js +57 -0
- package/dist/list-SZH6TH74.js +64 -0
- package/dist/list-TB677Q2F.js +50 -0
- package/dist/list-VTVRZIYL.js +51 -0
- package/dist/list-XZVQWIJN.js +151 -0
- package/dist/locations-AEGZ36JH.js +40 -0
- package/dist/locations-YA7NZY44.js +67 -0
- package/dist/log-JM4VLJE4.js +92 -0
- package/dist/logo-YSNUUT33.js +18 -0
- package/dist/lookup-RH5N3OWJ.js +22 -0
- package/dist/make-IZJ47YZY.js +1310 -0
- package/dist/make-IZJ47YZY.js.map +1 -0
- package/dist/map-HRLUMCR2.js +433 -0
- package/dist/mcp-T6SAG4XB.js +463 -0
- package/dist/media-ES2UBGYW.js +15 -0
- package/dist/media-MPXEXN4O.js +89 -0
- package/dist/media-sources-7AS3274L.js +32 -0
- package/dist/members-J5KWXTXY.js +44 -0
- package/dist/meme-FMHHKWVU.js +100 -0
- package/dist/meme-FMHHKWVU.js.map +1 -0
- package/dist/meta-AOIPEDV5.js +69 -0
- package/dist/metrics-VDBJ6KL7.js +152 -0
- package/dist/models-2DQ5NBMT.js +155 -0
- package/dist/normalize-CHZB4QDD.js +141 -0
- package/dist/normalize-NR5RS3WR.js +806 -0
- package/dist/options-QLXFLESP.js +122 -0
- package/dist/organization-KEGKAP4P.js +328 -0
- package/dist/output-GWIP6ROX.js +24 -0
- package/dist/page-YWGBCN65.js +105 -0
- package/dist/pages-FTI44OSH.js +66 -0
- package/dist/performance-SPGPGXE5.js +24 -0
- package/dist/pinterest-J442QLQS.js +96 -0
- package/dist/pixels-6IUB3Y3H.js +60 -0
- package/dist/pixels-MBKR4XPX.js +108 -0
- package/dist/plan-YPE77T4R.js +207 -0
- package/dist/preview-V4YBD45S.js +169 -0
- package/dist/profile-S3MXS2VO.js +159 -0
- package/dist/promoted-tweet-writes-TRR3KPRJ.js +180 -0
- package/dist/promoted-tweets-XRYZNJI2.js +119 -0
- package/dist/properties-G3L2OAOL.js +101 -0
- package/dist/publish-V5YGMK53.js +341 -0
- package/dist/publish-V5YGMK53.js.map +1 -0
- package/dist/query-M3IO54U2.js +61 -0
- package/dist/query-WCB5W4NW.js +236 -0
- package/dist/query-YBS6ZQ75.js +247 -0
- package/dist/questionnaire-PAK4DALP.js +93 -0
- package/dist/read-LUTB3UOR.js +141 -0
- package/dist/reddit-STSECKMZ.js +26 -0
- package/dist/refresh-RQ3C2MHI.js +94 -0
- package/dist/release-UHGU5WBY.js +60 -0
- package/dist/relevant-pages-G6SNC73K.js +99 -0
- package/dist/remove-LTKICIIF.js +50 -0
- package/dist/remove-X6DNVS67.js +48 -0
- package/dist/reopen-BP5ERELB.js +63 -0
- package/dist/rerun-NR54OG3M.js +90 -0
- package/dist/rerun-NR54OG3M.js.map +1 -0
- package/dist/research-GOYMTKZM.js +262 -0
- package/dist/research-MBAPL35Y.js +62 -0
- package/dist/reset-Q62PEGOU.js +54 -0
- package/dist/reset-SJPGSQ7I.js +54 -0
- package/dist/resolve-R45W7QEQ.js +121 -0
- package/dist/retry-CD2Q2AJN.js +60 -0
- package/dist/retry-NBZ7Q6HK.js +62 -0
- package/dist/retry-failed-EJBP4236.js +45 -0
- package/dist/rules-SZIY67QF.js +96 -0
- package/dist/rules-SZIY67QF.js.map +1 -0
- package/dist/rules-add-KTLHU3YD.js +462 -0
- package/dist/rules-add-KTLHU3YD.js.map +1 -0
- package/dist/run-HCJKCEOL.js +66 -0
- package/dist/run-IIU2UVQU.js +65 -0
- package/dist/scaffold-ad-3VMAP5BF.js +1511 -0
- package/dist/scaffold-ad-3VMAP5BF.js.map +1 -0
- package/dist/scaffold-static-ad-Z7LO7PKI.js +1005 -0
- package/dist/scaffold-static-ad-Z7LO7PKI.js.map +1 -0
- package/dist/scaffold-video-SBSSR7TZ.js +883 -0
- package/dist/scaffold-video-SBSSR7TZ.js.map +1 -0
- package/dist/schedule-BSQHXJ5V.js +61 -0
- package/dist/schedule-IDZC6M32.js +66 -0
- package/dist/scheduled-agents-MFLMG34I.js +50 -0
- package/dist/schema-EFR7NGJG.js +69 -0
- package/dist/schema-IWPG3YSN.js +132 -0
- package/dist/scrape-J2Y7YZ4Z.js +2241 -0
- package/dist/screenshot-K7ZGTVTE.js +102 -0
- package/dist/search-CI7LEOOK.js +92 -0
- package/dist/search-EGI5K77S.js +174 -0
- package/dist/search-I6DRUXBX.js +224 -0
- package/dist/search-TTL7VQET.js +26 -0
- package/dist/search-VT2KUAH6.js +91 -0
- package/dist/search-copy-N2AIJNUH.js +168 -0
- package/dist/seeds-EYYQCMGF.js +101 -0
- package/dist/select-ON3KZEEK.js +101 -0
- package/dist/select-ON3KZEEK.js.map +1 -0
- package/dist/sends-RHVFV2XM.js +309 -0
- package/dist/sequences-5DUWNSWQ.js +146 -0
- package/dist/set-prompt-RHMZ7SFC.js +193 -0
- package/dist/set-prompt-RHMZ7SFC.js.map +1 -0
- package/dist/setup-links-5ILQNMFZ.js +141 -0
- package/dist/shared-NDRFKAH7.js +31 -0
- package/dist/site-LBXNVRPE.js +177 -0
- package/dist/sitemaps-QKKXMXMV.js +87 -0
- package/dist/sites-GRC6CCCK.js +101 -0
- package/dist/skills-UML6GSW6.js +47 -0
- package/dist/sources-GP4PUTX2.js +454 -0
- package/dist/sources-N4UANUHJ.js +30 -0
- package/dist/stale-OIOOAP2S.js +71 -0
- package/dist/stale-OIOOAP2S.js.map +1 -0
- package/dist/stats-RCLQE4HJ.js +34 -0
- package/dist/status-GSFMLC6W.js +62 -0
- package/dist/sticker-SINY47WT.js +94 -0
- package/dist/stock-ECRBD7RP.js +179 -0
- package/dist/studio-YB5WXQYC.js +49 -0
- package/dist/sync-2MFUI3ME.js +54 -0
- package/dist/sync-IE4AAVGY.js +265 -0
- package/dist/sync-LIV7FU4N.js +54 -0
- package/dist/sync-definition-5JO7QXX3.js +64 -0
- package/dist/tag-manager-G3LBQZUL.js +43 -0
- package/dist/tags-4JQX7HMT.js +26 -0
- package/dist/tags-6RQVXS47.js +224 -0
- package/dist/tags-AAIFQ6LS.js +20 -0
- package/dist/tags-F355NMIR.js +20 -0
- package/dist/tags-ZHCGHGYC.js +20 -0
- package/dist/targeting-constants-KEKYU5JQ.js +118 -0
- package/dist/targeting-criteria-6FY2JB3V.js +113 -0
- package/dist/targets-NI7TR4GV.js +103 -0
- package/dist/testimonials-G7CCH7VN.js +32 -0
- package/dist/themes-PXDXIKYR.js +94 -0
- package/dist/top-companies-YH2ZJEH5.js +108 -0
- package/dist/translate-AEOQJ5JN.js +604 -0
- package/dist/translate-AEOQJ5JN.js.map +1 -0
- package/dist/triggers-WYFM7PAH.js +142 -0
- package/dist/tweets-C3QUKS3I.js +123 -0
- package/dist/unfollow-ZI5QU7RD.js +46 -0
- package/dist/unlink-PTWUSM5B.js +67 -0
- package/dist/unstage-7F7JI6HY.js +95 -0
- package/dist/unstage-MCM6EZWK.js +85 -0
- package/dist/update-2BDIJDHN.js +188 -0
- package/dist/update-2BDIJDHN.js.map +1 -0
- package/dist/update-643S2MUW.js +63 -0
- package/dist/update-GUIP6G3N.js +152 -0
- package/dist/update-V6E3CIFD.js +98 -0
- package/dist/upload-3YJJ5VID.js +126 -0
- package/dist/upload-KO46L76G.js +150 -0
- package/dist/upscale-SJ7SCSRS.js +109 -0
- package/dist/url-options-LHS4SWWB.js +130 -0
- package/dist/url-params-2DKIXKHH.js +98 -0
- package/dist/use-6ULEM3WE.js +95 -0
- package/dist/validate-PEWGXGCR.js +117 -0
- package/dist/validate-PEWGXGCR.js.map +1 -0
- package/dist/variant-5TRRSYBB.js +338 -0
- package/dist/videos-KEDR4GG3.js +39 -0
- package/dist/view-ABSWZMXW.js +121 -0
- package/dist/viewer-check-TSH3SAYJ.js +80 -0
- package/dist/web-UOGBNAHR.js +140 -0
- package/dist/winners-KRISBKOR.js +113 -0
- package/dist/winning-ads-SGBI3WHK.js +84 -0
- package/dist/write-commands-E7JOB4HX.js +1015 -0
- package/dist/write-commands-HCQI4Y27.js +737 -0
- package/dist/write-commands-QCI6XBM7.js +206 -0
- package/dist/write-commands-RHCCPMAE.js +713 -0
- package/dist/x-UNSN57YP.js +47 -0
- package/package.json +2 -1
- package/dist/account-63NUWSXK.js +0 -49
- package/dist/account-IFB6V6GL.js +0 -80
- package/dist/account-NCX3VHZT.js +0 -79
- package/dist/account-reads-Y3T65EI4.js +0 -218
- package/dist/account-writes-7YZ7PTHF.js +0 -66
- package/dist/accounts-2MQVGI4I.js +0 -77
- package/dist/accounts-66KZC7QI.js +0 -114
- package/dist/accounts-MQIYTIAX.js +0 -611
- package/dist/accounts-MVEZ2TRL.js +0 -75
- package/dist/accounts-T5DCHHZK.js +0 -115
- package/dist/actions-LRSHHDV2.js +0 -55
- package/dist/active-entities-QWPGPNGE.js +0 -103
- package/dist/activecampaign-G4XARU6N.js +0 -935
- package/dist/activities-FN7DOE5S.js +0 -74
- package/dist/ad-group-writes-JSOCSYYV.js +0 -170
- package/dist/ad-groups-UN52WNJN.js +0 -68
- package/dist/ad-writes-X23H4HLZ.js +0 -174
- package/dist/add-2MVZQJYG.js +0 -302
- package/dist/add-7EKI6ZA4.js +0 -97
- package/dist/add-ZP47HVHW.js +0 -104
- package/dist/add-ZTXN775K.js +0 -105
- package/dist/add-accounts-PEJLMYWR.js +0 -91
- package/dist/ads-7YYCWZIR.js +0 -40
- package/dist/ads-FOJ6P4OA.js +0 -128
- package/dist/ads-MKMWS36P.js +0 -113
- package/dist/ads-NEJKXB4L.js +0 -77
- package/dist/adsets-TIHFYWOU.js +0 -176
- package/dist/advertisers-246ZLRFZ.js +0 -120
- package/dist/advertisers-E77XAYCQ.js +0 -125
- package/dist/analytics-SL56NTIV.js +0 -433
- package/dist/analytics-WPYPKM6L.js +0 -1976
- package/dist/animate-3H3TL3N6.js +0 -480
- package/dist/assign-WGQVY3DW.js +0 -77
- package/dist/audience-size-C37XJ6GS.js +0 -94
- package/dist/audience-size-C37XJ6GS.js.map +0 -1
- package/dist/audiences-BWDG2R2U.js +0 -268
- package/dist/audiences-GHMNXDPR.js +0 -85
- package/dist/audiences-Q7OCAMAQ.js +0 -78
- package/dist/audit-HG53XQJK.js +0 -88
- package/dist/audit-LGD4PMAI.js +0 -151
- package/dist/autocomplete-PD2EMWRU.js +0 -111
- package/dist/avatars-U5KAMVNV.js +0 -38
- package/dist/bid-pricing-PP6PV6S4.js +0 -99
- package/dist/bid-pricing-PP6PV6S4.js.map +0 -1
- package/dist/brand-2JJ45TBO.js +0 -22
- package/dist/brief-IMTLJQN2.js +0 -490
- package/dist/brief-IMTLJQN2.js.map +0 -1
- package/dist/businesses-24QYU6BL.js +0 -53
- package/dist/campaign-groups-ZXRHEEGS.js +0 -95
- package/dist/campaign-writes-7UHMSPJ3.js +0 -170
- package/dist/campaign-writes-WIBYW73K.js +0 -165
- package/dist/campaigns-CRRLTN74.js +0 -107
- package/dist/campaigns-DJV4W6UP.js +0 -76
- package/dist/campaigns-EY3AR4N7.js +0 -109
- package/dist/campaigns-WTZBLGVX.js +0 -110
- package/dist/canvas-WFYKZYZD.js +0 -46
- package/dist/capabilities-IGKT7D4H.js +0 -144
- package/dist/cards-IO2Q423H.js +0 -85
- package/dist/catalog-X3VJFC74.js +0 -64
- package/dist/catalog-X3VJFC74.js.map +0 -1
- package/dist/catalogs-2HT3VRRI.js +0 -128
- package/dist/changes-AZ6EUVFN.js +0 -135
- package/dist/chatgpt-M27OEM7J.js +0 -47
- package/dist/chats-OXIYXI4U.js +0 -262
- package/dist/chunk-26HCUIW2.js +0 -166
- package/dist/chunk-2SDC7WNS.js +0 -817
- package/dist/chunk-2SDC7WNS.js.map +0 -1
- package/dist/chunk-2SQ6ISRI.js +0 -392
- package/dist/chunk-2VRD3HSQ.js +0 -60
- package/dist/chunk-2VRD3HSQ.js.map +0 -1
- package/dist/chunk-2XQ5HU6D.js +0 -3088
- package/dist/chunk-2XQ5HU6D.js.map +0 -1
- package/dist/chunk-37P6DTDJ.js +0 -455
- package/dist/chunk-3IGY2FWK.js +0 -6667
- package/dist/chunk-3IGY2FWK.js.map +0 -1
- package/dist/chunk-3UA4THEF.js +0 -76
- package/dist/chunk-4EPGI6I2.js +0 -76
- package/dist/chunk-4LODOBIN.js +0 -433
- package/dist/chunk-5ADTL2LR.js +0 -188
- package/dist/chunk-5HABWBQX.js +0 -139
- package/dist/chunk-5HYSKH77.js +0 -315
- package/dist/chunk-5HYSKH77.js.map +0 -1
- package/dist/chunk-5TV4GYP2.js +0 -1830
- package/dist/chunk-5TV4GYP2.js.map +0 -1
- package/dist/chunk-6M6HUJ55.js +0 -474
- package/dist/chunk-6M6HUJ55.js.map +0 -1
- package/dist/chunk-6YZNHMPJ.js +0 -74
- package/dist/chunk-7ANWFQEA.js +0 -220
- package/dist/chunk-7FKRKMGL.js +0 -133
- package/dist/chunk-7FKRKMGL.js.map +0 -1
- package/dist/chunk-7MADMR5U.js +0 -399
- package/dist/chunk-7WZHO6W3.js +0 -225
- package/dist/chunk-AAF7HL4I.js +0 -320
- package/dist/chunk-ANWV2VTO.js +0 -136
- package/dist/chunk-ANYMWCST.js +0 -2122
- package/dist/chunk-AQADZOTG.js +0 -137
- package/dist/chunk-AQYH6C32.js +0 -544
- package/dist/chunk-BODRDUYQ.js +0 -111
- package/dist/chunk-BPPT7YVK.js +0 -274
- package/dist/chunk-BWAFZSZ4.js +0 -94
- package/dist/chunk-CIWI7LHO.js +0 -191
- package/dist/chunk-CLST7PLN.js +0 -26
- package/dist/chunk-CMNVR6DX.js +0 -486
- package/dist/chunk-CMNVR6DX.js.map +0 -1
- package/dist/chunk-CPTOHQSJ.js +0 -296
- package/dist/chunk-CU2DEMQB.js +0 -1079
- package/dist/chunk-D5GVSJBK.js +0 -66
- package/dist/chunk-D5Z34AYL.js +0 -297
- package/dist/chunk-EBC64WAG.js +0 -74
- package/dist/chunk-EMPXRKIM.js +0 -644
- package/dist/chunk-EQ74MEJN.js +0 -98
- package/dist/chunk-ETFAIX4L.js +0 -74
- package/dist/chunk-F3VR6CTH.js +0 -903
- package/dist/chunk-FDPBTKXZ.js +0 -25
- package/dist/chunk-GAD2NYL4.js +0 -1442
- package/dist/chunk-GAD2NYL4.js.map +0 -1
- package/dist/chunk-GAJQPQWS.js +0 -6239
- package/dist/chunk-GAJQPQWS.js.map +0 -1
- package/dist/chunk-GRL25RKS.js +0 -4408
- package/dist/chunk-GRL25RKS.js.map +0 -1
- package/dist/chunk-GRYP7Y5V.js +0 -103
- package/dist/chunk-H4DAEWJQ.js +0 -51
- package/dist/chunk-H5CGVMQW.js +0 -472
- package/dist/chunk-HDQBILJR.js +0 -45
- package/dist/chunk-HH5PFZ7U.js +0 -84
- package/dist/chunk-HKR7VCFK.js +0 -42
- package/dist/chunk-JQ4PQ2H6.js +0 -197
- package/dist/chunk-JRLGQA2T.js +0 -333
- package/dist/chunk-JU6X4XFU.js +0 -23
- package/dist/chunk-KODTY7PB.js +0 -215
- package/dist/chunk-LEGVJCL4.js +0 -56
- package/dist/chunk-LKM3FMYC.js +0 -363
- package/dist/chunk-LOTQBFUP.js +0 -106
- package/dist/chunk-LPBLKGH7.js +0 -106
- package/dist/chunk-MICLDQES.js +0 -346
- package/dist/chunk-MUHPBWE5.js +0 -35
- package/dist/chunk-NFSLRRIE.js +0 -77
- package/dist/chunk-NHQTEQPR.js +0 -169
- package/dist/chunk-NKXH3I65.js +0 -1743
- package/dist/chunk-NKXH3I65.js.map +0 -1
- package/dist/chunk-NRRNY3TZ.js +0 -55
- package/dist/chunk-O5J5T4ZL.js +0 -111
- package/dist/chunk-O5J5T4ZL.js.map +0 -1
- package/dist/chunk-O6TGA5HT.js +0 -337
- package/dist/chunk-O6TGA5HT.js.map +0 -1
- package/dist/chunk-O6VUX3O5.js +0 -52
- package/dist/chunk-OST3RA6Q.js +0 -610
- package/dist/chunk-OST3RA6Q.js.map +0 -1
- package/dist/chunk-PCSBF6GN.js +0 -3151
- package/dist/chunk-PCSBF6GN.js.map +0 -1
- package/dist/chunk-PLK7V2SJ.js +0 -509
- package/dist/chunk-PLK7V2SJ.js.map +0 -1
- package/dist/chunk-PWABS2DB.js +0 -172
- package/dist/chunk-PXTFT35U.js +0 -547
- package/dist/chunk-QBCPZFAV.js +0 -23992
- package/dist/chunk-QEZEXMRB.js +0 -96
- package/dist/chunk-QEZEXMRB.js.map +0 -1
- package/dist/chunk-QGSV3IWT.js +0 -304
- package/dist/chunk-QGSV3IWT.js.map +0 -1
- package/dist/chunk-QGWCBGEC.js +0 -1599
- package/dist/chunk-QKUBK3AD.js +0 -97
- package/dist/chunk-QNH5NCLM.js +0 -67
- package/dist/chunk-QNLWBJUR.js +0 -58
- package/dist/chunk-R4CDO5YH.js +0 -172
- package/dist/chunk-RCMK4FM2.js +0 -19
- package/dist/chunk-RJFM6TJC.js +0 -76
- package/dist/chunk-RKPSE27R.js +0 -98
- package/dist/chunk-S6ODQYTC.js +0 -96
- package/dist/chunk-S6ODQYTC.js.map +0 -1
- package/dist/chunk-SBN5UIQY.js +0 -665
- package/dist/chunk-SOK7U4NT.js +0 -592
- package/dist/chunk-TLQQV5AY.js +0 -159
- package/dist/chunk-TOIFDXCW.js +0 -57
- package/dist/chunk-TWXM7HVR.js +0 -149
- package/dist/chunk-U6RTBCU7.js +0 -26
- package/dist/chunk-UARL36OD.js +0 -846
- package/dist/chunk-UDG37PC2.js +0 -174
- package/dist/chunk-UMFKMS4U.js +0 -275
- package/dist/chunk-UW7PZFWZ.js +0 -75
- package/dist/chunk-UWTAQM4W.js +0 -160
- package/dist/chunk-UWTAQM4W.js.map +0 -1
- package/dist/chunk-VDAYKWVH.js +0 -125
- package/dist/chunk-VY5CTURR.js +0 -46
- package/dist/chunk-WE6K2VVZ.js +0 -494
- package/dist/chunk-WOTX7TNV.js +0 -84
- package/dist/chunk-XKA4ZHGX.js +0 -206
- package/dist/chunk-XO3GZLWQ.js +0 -5181
- package/dist/chunk-XO3GZLWQ.js.map +0 -1
- package/dist/chunk-XWB2L3HS.js +0 -66
- package/dist/chunk-XYOU3ROP.js +0 -175
- package/dist/chunk-XYOU3ROP.js.map +0 -1
- package/dist/chunk-YDSF4PXO.js +0 -216
- package/dist/chunk-YDSF4PXO.js.map +0 -1
- package/dist/chunk-YDWQVAFI.js +0 -92
- package/dist/chunk-YDWQVAFI.js.map +0 -1
- package/dist/claim-DEQYWQZ4.js +0 -197
- package/dist/client-TL7BITWM.js +0 -19
- package/dist/code-ORY2WROG.js +0 -76
- package/dist/companies-QM5MOLIZ.js +0 -195
- package/dist/complete-FM6VSFCT.js +0 -81
- package/dist/config-FMDQ323H.js +0 -88
- package/dist/connect-YTIE5PRU.js +0 -42
- package/dist/content-ZQB6PXGX.js +0 -85
- package/dist/conversation-VKWYWPB6.js +0 -93
- package/dist/conversion-report-U4UFXSD2.js +0 -125
- package/dist/conversion-upload-command-INQX73AK.js +0 -438
- package/dist/conversion-writes-MCKROLRA.js +0 -120
- package/dist/conversions-OPNDVQ56.js +0 -76
- package/dist/conversions-QILFJ34A.js +0 -135
- package/dist/countries-AZ3XSZVM.js +0 -82
- package/dist/create-A7O5CBUS.js +0 -207
- package/dist/create-BEH3DUUP.js +0 -59
- package/dist/create-C4LTWKD7.js +0 -132
- package/dist/create-LRVA4MSV.js +0 -235
- package/dist/creatives-43I65CHD.js +0 -87
- package/dist/creatives-DRRWFFOH.js +0 -51
- package/dist/creatives-DRRWFFOH.js.map +0 -1
- package/dist/creatives-XEKEYLNV.js +0 -182
- package/dist/credentials-GJMH4XRU.js +0 -287
- package/dist/critique-EJJQVV4D.js +0 -213
- package/dist/critique-EJJQVV4D.js.map +0 -1
- package/dist/critique-GIJUTKIM.js +0 -1449
- package/dist/critique-GIJUTKIM.js.map +0 -1
- package/dist/crm-ECMEYPQT.js +0 -318
- package/dist/crm-WHK3PL6S.js +0 -224
- package/dist/crop-Q2GJLOHE.js +0 -113
- package/dist/currency-SVDR5N7L.js +0 -88
- package/dist/custom-conversions-5NJNPZKM.js +0 -125
- package/dist/customers-XKE3DQR7.js +0 -56
- package/dist/decide-PCJTFCWC.js +0 -199
- package/dist/delete-7K4KFPUT.js +0 -69
- package/dist/delete-APRR2OYC.js +0 -66
- package/dist/delete-DTTEHY6E.js +0 -64
- package/dist/delete-GOA4Y562.js +0 -71
- package/dist/delete-I2SIRTMZ.js +0 -71
- package/dist/delete-QCZUGDIJ.js +0 -54
- package/dist/demographics-HG7NWA5U.js +0 -138
- package/dist/describe-CRTFAH6Y.js +0 -97
- package/dist/describe-OAB2FJYK.js +0 -97
- package/dist/dimensions-PFGHRZ5T.js +0 -101
- package/dist/discard-U3DW6WV3.js +0 -66
- package/dist/discover-IOJZYJ6B.js +0 -172
- package/dist/discover-R3EUUGRZ.js +0 -93
- package/dist/domain-HTF3ARBJ.js +0 -98
- package/dist/download-2HGDCPR7.js +0 -299
- package/dist/draft-3KLT2YHI.js +0 -233
- package/dist/draft-5RL6HZ6A.js +0 -306
- package/dist/draft-7O4ABIKK.js +0 -100
- package/dist/draft-DK4NZ6PW.js +0 -281
- package/dist/draft-GPL2TZXA.js +0 -328
- package/dist/draft-KTOZ2AT7.js +0 -217
- package/dist/draft-PQGTIABK.js +0 -103
- package/dist/draft-SRMHEIRG.js +0 -307
- package/dist/env-NPSYSFXD.js +0 -51
- package/dist/experiment-V57PLATO.js +0 -1397
- package/dist/export-UN2PTCNO.js +0 -168
- package/dist/extract-5JOFQZVU.js +0 -113
- package/dist/facets-2XQEJNZZ.js +0 -114
- package/dist/favorites-4AWW5F5B.js +0 -178
- package/dist/feed-AK3IFTAL.js +0 -177
- package/dist/feedback-34M4VJ5S.js +0 -66
- package/dist/feedback-34M4VJ5S.js.map +0 -1
- package/dist/feedback-record-ZINYAVHA.js +0 -175
- package/dist/feedback-record-ZINYAVHA.js.map +0 -1
- package/dist/fetch-6ALLGDRN.js +0 -139
- package/dist/fetch-VYIMA5BI.js +0 -176
- package/dist/find-22HWPRFY.js +0 -134
- package/dist/fit-S4RO2DMX.js +0 -45
- package/dist/flows-ITS573ST.js +0 -247
- package/dist/follow-IUW3P6KH.js +0 -94
- package/dist/follow-competitors-YDF5WM4K.js +0 -112
- package/dist/following-PNOYUSHX.js +0 -113
- package/dist/fonts-U4YXUNNZ.js +0 -34
- package/dist/forecast-AFBIS6WT.js +0 -104
- package/dist/forecast-AFBIS6WT.js.map +0 -1
- package/dist/forecast-NHG3UHOP.js +0 -168
- package/dist/funding-WSJI56OH.js +0 -85
- package/dist/funnel-46QWG5DN.js +0 -394
- package/dist/ga4-4W3KJIS5.js +0 -55
- package/dist/generate-3MC7WDL2.js +0 -263
- package/dist/get-4DJXDO42.js +0 -61
- package/dist/get-BK4MBGQF.js +0 -59
- package/dist/get-IAJ57JLM.js +0 -79
- package/dist/get-MVWVS3YT.js +0 -56
- package/dist/get-P5ZTH7RQ.js +0 -63
- package/dist/get-PTOW6PVF.js +0 -63
- package/dist/get-SR2NWOPT.js +0 -92
- package/dist/gif-L6RYCB6L.js +0 -94
- package/dist/gif-L6RYCB6L.js.map +0 -1
- package/dist/google-EMSAXPVB.js +0 -136
- package/dist/google-XE35SF3Z.js +0 -3190
- package/dist/google-ads-DYNDLOBO.js +0 -195
- package/dist/group-EUYJJ4LI.js +0 -43
- package/dist/group-MBRA2QID.js +0 -43
- package/dist/gsc-B3NPUNI6.js +0 -30
- package/dist/history-4S3YEIPK.js +0 -67
- package/dist/history-7HFGP7UI.js +0 -133
- package/dist/hubspot-3LWMILTD.js +0 -779
- package/dist/icon-4DAXBICB.js +0 -137
- package/dist/ideas-RHOV2ZJ6.js +0 -32
- package/dist/images-KXEPMLOC.js +0 -90
- package/dist/images-KXEPMLOC.js.map +0 -1
- package/dist/improve-U2RA5DPI.js +0 -86
- package/dist/ingest-H4F5TJC3.js +0 -23
- package/dist/ingest-URYQ7BTL.js +0 -107
- package/dist/insights-HQGBM6VA.js +0 -423
- package/dist/insights-K2CMI3K5.js +0 -122
- package/dist/inspect-IPQTTZK3.js +0 -189
- package/dist/inspiration-TRMFE64K.js +0 -53
- package/dist/intent-2EWV4KXW.js +0 -95
- package/dist/job-7GDSDRM4.js +0 -202
- package/dist/job-create-PE7G64WC.js +0 -109
- package/dist/job-status-LUSCFLZ2.js +0 -74
- package/dist/keep-5NFHEILH.js +0 -78
- package/dist/keyword-gap-T22T7RN6.js +0 -130
- package/dist/keyword-metrics-SLCXHPZS.js +0 -197
- package/dist/keywords-for-site-HBQSJKNN.js +0 -128
- package/dist/landing-PJJGQM3M.js +0 -28
- package/dist/landings-ZR4YMEPV.js +0 -151
- package/dist/languages-HXAZNLNU.js +0 -55
- package/dist/languages-VLMJOAJN.js +0 -40
- package/dist/launches-T5LAIOYS.js +0 -19
- package/dist/layerize-24PQKKPB.js +0 -190
- package/dist/leads-EDKSVSWP.js +0 -293
- package/dist/leads-HXYLSNMB.js +0 -90
- package/dist/learn-ZUZ7MEY5.js +0 -203
- package/dist/learn-ZUZ7MEY5.js.map +0 -1
- package/dist/library-ZHREUZMU.js +0 -109
- package/dist/lighthouse-E2NTHAO4.js +0 -75
- package/dist/line-item-writes-JNHZFCRM.js +0 -208
- package/dist/line-items-WGLNILMH.js +0 -103
- package/dist/link-KLFRRU24.js +0 -64
- package/dist/linkedin-LPWIZ3SS.js +0 -1009
- package/dist/linkedin-LPWIZ3SS.js.map +0 -1
- package/dist/list-37F6C6P5.js +0 -57
- package/dist/list-7EEDCI3T.js +0 -51
- package/dist/list-E3MCY43O.js +0 -303
- package/dist/list-E7CJMIGC.js +0 -76
- package/dist/list-HA2NITR3.js +0 -50
- package/dist/list-MIGWTOQU.js +0 -64
- package/dist/list-SW3DF473.js +0 -151
- package/dist/list-TG6LBHCV.js +0 -65
- package/dist/locations-VYIDAVD4.js +0 -67
- package/dist/locations-ZWTDUUGL.js +0 -40
- package/dist/log-Y4NIMHFD.js +0 -92
- package/dist/logo-SHQJHJK7.js +0 -18
- package/dist/lookup-TWSJ7KRT.js +0 -22
- package/dist/make-IJN6E4Q7.js +0 -633
- package/dist/make-IJN6E4Q7.js.map +0 -1
- package/dist/map-DHQTEDUH.js +0 -433
- package/dist/mcp-ZHASO273.js +0 -463
- package/dist/media-LDVWXWWZ.js +0 -15
- package/dist/media-TNB4DLTJ.js +0 -89
- package/dist/media-sources-MFBQDZNS.js +0 -32
- package/dist/members-HTHOAHPO.js +0 -44
- package/dist/meta-RAVCXVZA.js +0 -69
- package/dist/metrics-2VB46SDT.js +0 -152
- package/dist/models-TYRVCPS2.js +0 -155
- package/dist/normalize-PVOL256M.js +0 -141
- package/dist/normalize-Q7EN7JIF.js +0 -806
- package/dist/options-VDTCTJHY.js +0 -122
- package/dist/organization-VC5RO4FS.js +0 -328
- package/dist/output-NHMCVVUU.js +0 -24
- package/dist/page-5PCVZ7HS.js +0 -105
- package/dist/pages-DDXB4NQ4.js +0 -66
- package/dist/performance-QOQTL4XM.js +0 -24
- package/dist/pinterest-KQYSCTVQ.js +0 -96
- package/dist/pixels-GH522EYV.js +0 -108
- package/dist/pixels-HJYPX6RR.js +0 -60
- package/dist/plan-ZS7SOXL6.js +0 -207
- package/dist/preview-W4VKXOCT.js +0 -169
- package/dist/profile-FSB4RT55.js +0 -159
- package/dist/promoted-tweet-writes-6PI2KR65.js +0 -180
- package/dist/promoted-tweets-UJRNHKKO.js +0 -119
- package/dist/properties-V74I56UK.js +0 -101
- package/dist/publish-R6RINQCF.js +0 -322
- package/dist/publish-R6RINQCF.js.map +0 -1
- package/dist/query-5F5MBR7H.js +0 -247
- package/dist/query-KBXZD4SW.js +0 -61
- package/dist/query-SFNCXH4H.js +0 -236
- package/dist/questionnaire-JK5JLQXK.js +0 -93
- package/dist/read-LGRFU7XB.js +0 -141
- package/dist/reddit-QWM5ZQ6P.js +0 -26
- package/dist/refresh-ZPF7UH3S.js +0 -94
- package/dist/release-BZPK2P3R.js +0 -60
- package/dist/relevant-pages-VMNEEEJK.js +0 -99
- package/dist/remove-C7ZJYFCG.js +0 -50
- package/dist/remove-PIHTPIHM.js +0 -48
- package/dist/reopen-6Q7NQX2C.js +0 -63
- package/dist/rerun-VRZVJDYS.js +0 -84
- package/dist/rerun-VRZVJDYS.js.map +0 -1
- package/dist/research-FXQ6X7BY.js +0 -62
- package/dist/research-X6O7IID6.js +0 -262
- package/dist/reset-FRNQUCL5.js +0 -54
- package/dist/reset-NXK6NCOO.js +0 -54
- package/dist/resolve-WHI4UP4V.js +0 -121
- package/dist/retry-VSFPEXLE.js +0 -62
- package/dist/retry-XMTYWCFA.js +0 -60
- package/dist/retry-failed-XTYV3QJS.js +0 -45
- package/dist/run-HBNAA56X.js +0 -59
- package/dist/run-TAASFDQ7.js +0 -66
- package/dist/scaffold-ad-BV5WK4IA.js +0 -1548
- package/dist/scaffold-ad-BV5WK4IA.js.map +0 -1
- package/dist/scaffold-static-ad-IWNJ6GM7.js +0 -971
- package/dist/scaffold-static-ad-IWNJ6GM7.js.map +0 -1
- package/dist/scaffold-video-JBG7Q45T.js +0 -872
- package/dist/scaffold-video-JBG7Q45T.js.map +0 -1
- package/dist/schedule-P6GVRZ4E.js +0 -61
- package/dist/schedule-WSO7ETS6.js +0 -66
- package/dist/scheduled-agents-TYT5BIBQ.js +0 -50
- package/dist/schema-DL34A626.js +0 -69
- package/dist/schema-O4CMQQGD.js +0 -132
- package/dist/scrape-ZG2OWZL4.js +0 -2241
- package/dist/screenshot-GJUY7FCW.js +0 -102
- package/dist/search-2BJ4OLMX.js +0 -224
- package/dist/search-52CSDYJS.js +0 -91
- package/dist/search-FHSQYZOC.js +0 -92
- package/dist/search-HBFAHH4W.js +0 -174
- package/dist/search-ZAY2QV3Y.js +0 -26
- package/dist/search-copy-O5AOEBXC.js +0 -168
- package/dist/seeds-XY3EZ33U.js +0 -101
- package/dist/select-ISR6YEIE.js +0 -94
- package/dist/select-ISR6YEIE.js.map +0 -1
- package/dist/sends-GECHL3NK.js +0 -309
- package/dist/sequences-5BB4S63A.js +0 -146
- package/dist/set-prompt-DF7Q6WOF.js +0 -185
- package/dist/set-prompt-DF7Q6WOF.js.map +0 -1
- package/dist/setup-links-GF2IP4TH.js +0 -141
- package/dist/shared-JDIL3BNQ.js +0 -31
- package/dist/site-T6V5S5DJ.js +0 -177
- package/dist/sitemaps-UQJFRA2W.js +0 -87
- package/dist/sites-ZNNEPEGI.js +0 -101
- package/dist/skills-WRKEF2Q4.js +0 -47
- package/dist/sources-5YUE7KUI.js +0 -30
- package/dist/sources-UR3SLKVK.js +0 -454
- package/dist/stale-6LZAROBI.js +0 -63
- package/dist/stale-6LZAROBI.js.map +0 -1
- package/dist/stats-QFBTSDVV.js +0 -34
- package/dist/status-FDKP65DR.js +0 -62
- package/dist/sticker-2JQUC7XO.js +0 -94
- package/dist/stock-W3SNJCBV.js +0 -179
- package/dist/studio-2GAZ6QOH.js +0 -49
- package/dist/sync-4LHVBFMZ.js +0 -265
- package/dist/sync-NAJQQ6NQ.js +0 -54
- package/dist/sync-OGFGTKUK.js +0 -54
- package/dist/sync-definition-MSQFCXRK.js +0 -54
- package/dist/tag-manager-MNGOJ3GC.js +0 -43
- package/dist/tags-67KLYTJF.js +0 -224
- package/dist/tags-GLHFHQW2.js +0 -20
- package/dist/tags-PYLVQEVS.js +0 -20
- package/dist/tags-SL4F3LLY.js +0 -20
- package/dist/tags-XMRO4WF6.js +0 -26
- package/dist/targeting-constants-RQT4GLUA.js +0 -118
- package/dist/targeting-criteria-VK3IR6N2.js +0 -113
- package/dist/targets-RCM2ZXSU.js +0 -103
- package/dist/testimonials-KTHDZ3R5.js +0 -32
- package/dist/themes-VVID6Y73.js +0 -94
- package/dist/top-companies-MBTTJTRK.js +0 -108
- package/dist/translate-I6LZ3UZU.js +0 -598
- package/dist/translate-I6LZ3UZU.js.map +0 -1
- package/dist/triggers-PDIVJDLP.js +0 -142
- package/dist/tweets-L4CXZLKQ.js +0 -123
- package/dist/unfollow-5T2CT3EF.js +0 -46
- package/dist/unlink-IHEFAFG6.js +0 -67
- package/dist/unstage-NEX3EIJX.js +0 -95
- package/dist/unstage-NJQAIIPT.js +0 -85
- package/dist/update-CYQIGHT4.js +0 -98
- package/dist/update-K5MMOE5N.js +0 -155
- package/dist/update-K5MMOE5N.js.map +0 -1
- package/dist/update-LR7UW5LL.js +0 -63
- package/dist/update-P5BTLCGG.js +0 -152
- package/dist/upload-C2K66PR3.js +0 -150
- package/dist/upload-VVB2LTD2.js +0 -126
- package/dist/upscale-SGBB4GWF.js +0 -109
- package/dist/url-options-LUKI4Y46.js +0 -130
- package/dist/url-params-MSRUZOGT.js +0 -98
- package/dist/use-XGTUHBUL.js +0 -95
- package/dist/validate-XMEHRCAG.js +0 -88
- package/dist/validate-XMEHRCAG.js.map +0 -1
- package/dist/variant-DQRDW6IZ.js +0 -338
- package/dist/videos-EQG7AAXT.js +0 -39
- package/dist/view-KJ6YNRXB.js +0 -121
- package/dist/viewer-check-7DZQDGD3.js +0 -68
- package/dist/web-MSYXLOFV.js +0 -140
- package/dist/winners-LD6PFXAS.js +0 -113
- package/dist/winning-ads-VWBU3BNQ.js +0 -84
- package/dist/write-commands-CKMHQ4YY.js +0 -737
- package/dist/write-commands-NW5CC3DP.js +0 -206
- package/dist/write-commands-PK23JVW3.js +0 -1015
- package/dist/write-commands-RLEYECTB.js +0 -713
- package/dist/x-ZSTQLK6Q.js +0 -47
- /package/dist/{account-63NUWSXK.js.map → account-7LUQWY6Q.js.map} +0 -0
- /package/dist/{account-NCX3VHZT.js.map → account-VH2AATWI.js.map} +0 -0
- /package/dist/{account-IFB6V6GL.js.map → account-Z65CPOWE.js.map} +0 -0
- /package/dist/{account-reads-Y3T65EI4.js.map → account-reads-GYI2SS6T.js.map} +0 -0
- /package/dist/{account-writes-7YZ7PTHF.js.map → account-writes-4N2MA2ZR.js.map} +0 -0
- /package/dist/{accounts-T5DCHHZK.js.map → accounts-E4TVYTUR.js.map} +0 -0
- /package/dist/{accounts-66KZC7QI.js.map → accounts-SMB3TNXX.js.map} +0 -0
- /package/dist/{accounts-MQIYTIAX.js.map → accounts-SPLE7URQ.js.map} +0 -0
- /package/dist/{accounts-MVEZ2TRL.js.map → accounts-UA2ZWRN4.js.map} +0 -0
- /package/dist/{accounts-2MQVGI4I.js.map → accounts-XG472YLB.js.map} +0 -0
- /package/dist/{actions-LRSHHDV2.js.map → actions-KQTXBNJU.js.map} +0 -0
- /package/dist/{active-entities-QWPGPNGE.js.map → active-entities-MCL7UEGV.js.map} +0 -0
- /package/dist/{activecampaign-G4XARU6N.js.map → activecampaign-42JXANUA.js.map} +0 -0
- /package/dist/{activities-FN7DOE5S.js.map → activities-IQPJPP4B.js.map} +0 -0
- /package/dist/{ad-group-writes-JSOCSYYV.js.map → ad-group-writes-EUTMPBMK.js.map} +0 -0
- /package/dist/{ad-groups-UN52WNJN.js.map → ad-groups-OVPAI5RM.js.map} +0 -0
- /package/dist/{ad-writes-X23H4HLZ.js.map → ad-writes-DACTYFEO.js.map} +0 -0
- /package/dist/{add-ZTXN775K.js.map → add-5IGUQHVZ.js.map} +0 -0
- /package/dist/{add-7EKI6ZA4.js.map → add-BK5AQI5A.js.map} +0 -0
- /package/dist/{add-ZP47HVHW.js.map → add-C3FQ5D62.js.map} +0 -0
- /package/dist/{add-2MVZQJYG.js.map → add-KTEJCE4L.js.map} +0 -0
- /package/dist/{add-accounts-PEJLMYWR.js.map → add-accounts-CJSV5NPL.js.map} +0 -0
- /package/dist/{ads-MKMWS36P.js.map → ads-HXX2IAFF.js.map} +0 -0
- /package/dist/{ads-NEJKXB4L.js.map → ads-L65JIKCD.js.map} +0 -0
- /package/dist/{ads-FOJ6P4OA.js.map → ads-RAUM6ISF.js.map} +0 -0
- /package/dist/{ads-7YYCWZIR.js.map → ads-WPI3AMSR.js.map} +0 -0
- /package/dist/{adsets-TIHFYWOU.js.map → adsets-LPN6WFGF.js.map} +0 -0
- /package/dist/{advertisers-246ZLRFZ.js.map → advertisers-36HP3AOE.js.map} +0 -0
- /package/dist/{advertisers-E77XAYCQ.js.map → advertisers-DS2NRWKI.js.map} +0 -0
- /package/dist/{analytics-SL56NTIV.js.map → analytics-I4LZCRG2.js.map} +0 -0
- /package/dist/{analytics-WPYPKM6L.js.map → analytics-IFNBT7IM.js.map} +0 -0
- /package/dist/{animate-3H3TL3N6.js.map → animate-3LV3LHXQ.js.map} +0 -0
- /package/dist/{assign-WGQVY3DW.js.map → assign-WBLSZNCO.js.map} +0 -0
- /package/dist/{audiences-GHMNXDPR.js.map → audiences-3LRCLHTQ.js.map} +0 -0
- /package/dist/{audiences-BWDG2R2U.js.map → audiences-RPLVMO4H.js.map} +0 -0
- /package/dist/{audiences-Q7OCAMAQ.js.map → audiences-XEZHACKH.js.map} +0 -0
- /package/dist/{audit-LGD4PMAI.js.map → audit-6AG6BPXQ.js.map} +0 -0
- /package/dist/{audit-HG53XQJK.js.map → audit-YEGQU474.js.map} +0 -0
- /package/dist/{autocomplete-PD2EMWRU.js.map → autocomplete-2QRU7ARD.js.map} +0 -0
- /package/dist/{avatars-U5KAMVNV.js.map → avatars-EIETXCF3.js.map} +0 -0
- /package/dist/{brand-2JJ45TBO.js.map → brand-CINQG3JG.js.map} +0 -0
- /package/dist/{businesses-24QYU6BL.js.map → businesses-PRRYPR7H.js.map} +0 -0
- /package/dist/{campaign-groups-ZXRHEEGS.js.map → campaign-groups-5CMTEJZZ.js.map} +0 -0
- /package/dist/{campaign-writes-WIBYW73K.js.map → campaign-writes-4RMPHQCT.js.map} +0 -0
- /package/dist/{campaign-writes-7UHMSPJ3.js.map → campaign-writes-U5LTDTYK.js.map} +0 -0
- /package/dist/{campaigns-WTZBLGVX.js.map → campaigns-4SOLY7OR.js.map} +0 -0
- /package/dist/{campaigns-CRRLTN74.js.map → campaigns-NFRLFNXI.js.map} +0 -0
- /package/dist/{campaigns-EY3AR4N7.js.map → campaigns-PC7UAVXR.js.map} +0 -0
- /package/dist/{campaigns-DJV4W6UP.js.map → campaigns-TFEQTSO3.js.map} +0 -0
- /package/dist/{canvas-WFYKZYZD.js.map → canvas-BPACZHNU.js.map} +0 -0
- /package/dist/{capabilities-IGKT7D4H.js.map → capabilities-FNVTPCDT.js.map} +0 -0
- /package/dist/{cards-IO2Q423H.js.map → cards-WHMCSRZX.js.map} +0 -0
- /package/dist/{catalogs-2HT3VRRI.js.map → catalogs-A7XMEEEP.js.map} +0 -0
- /package/dist/{changes-AZ6EUVFN.js.map → changes-J67WATHX.js.map} +0 -0
- /package/dist/{chatgpt-M27OEM7J.js.map → chatgpt-4PEWDJKP.js.map} +0 -0
- /package/dist/{chats-OXIYXI4U.js.map → chats-S5FCV7YO.js.map} +0 -0
- /package/dist/{chunk-VDAYKWVH.js.map → chunk-232YUPUI.js.map} +0 -0
- /package/dist/{chunk-ANWV2VTO.js.map → chunk-23H4ZJRP.js.map} +0 -0
- /package/dist/{chunk-QNH5NCLM.js.map → chunk-3OCSWUHV.js.map} +0 -0
- /package/dist/{chunk-BPPT7YVK.js.map → chunk-3UXMQ3K2.js.map} +0 -0
- /package/dist/{chunk-HH5PFZ7U.js.map → chunk-5WMTPYKT.js.map} +0 -0
- /package/dist/{chunk-U6RTBCU7.js.map → chunk-65N4ZPQD.js.map} +0 -0
- /package/dist/{chunk-UDG37PC2.js.map → chunk-6JWEGFM5.js.map} +0 -0
- /package/dist/{chunk-PWABS2DB.js.map → chunk-7RBJ2Z7Z.js.map} +0 -0
- /package/dist/{chunk-JU6X4XFU.js.map → chunk-ABXTGAG7.js.map} +0 -0
- /package/dist/{chunk-7MADMR5U.js.map → chunk-ADSNY4KZ.js.map} +0 -0
- /package/dist/{chunk-2SQ6ISRI.js.map → chunk-AHF6TQWB.js.map} +0 -0
- /package/dist/{chunk-RKPSE27R.js.map → chunk-AQ5WISEG.js.map} +0 -0
- /package/dist/{chunk-EQ74MEJN.js.map → chunk-BFRIRZRZ.js.map} +0 -0
- /package/dist/{chunk-WOTX7TNV.js.map → chunk-BFZS3WHS.js.map} +0 -0
- /package/dist/{chunk-NFSLRRIE.js.map → chunk-BITS62MF.js.map} +0 -0
- /package/dist/{chunk-JRLGQA2T.js.map → chunk-BLAHHMPF.js.map} +0 -0
- /package/dist/{chunk-NHQTEQPR.js.map → chunk-CCIDHU6M.js.map} +0 -0
- /package/dist/{chunk-EMPXRKIM.js.map → chunk-CM6FCSWN.js.map} +0 -0
- /package/dist/{chunk-CPTOHQSJ.js.map → chunk-CVBKW75S.js.map} +0 -0
- /package/dist/{chunk-TLQQV5AY.js.map → chunk-CXQRTLSQ.js.map} +0 -0
- /package/dist/{chunk-4EPGI6I2.js.map → chunk-D4LKZJYJ.js.map} +0 -0
- /package/dist/{chunk-D5GVSJBK.js.map → chunk-D7KR6KXR.js.map} +0 -0
- /package/dist/{chunk-SOK7U4NT.js.map → chunk-DCTEL4KG.js.map} +0 -0
- /package/dist/{chunk-GRYP7Y5V.js.map → chunk-DH5CKOYK.js.map} +0 -0
- /package/dist/{chunk-H4DAEWJQ.js.map → chunk-DQC4NIJE.js.map} +0 -0
- /package/dist/{chunk-UW7PZFWZ.js.map → chunk-DWX44QL6.js.map} +0 -0
- /package/dist/{chunk-H5CGVMQW.js.map → chunk-EE72SSB2.js.map} +0 -0
- /package/dist/{chunk-QKUBK3AD.js.map → chunk-FNA277HP.js.map} +0 -0
- /package/dist/{chunk-CLST7PLN.js.map → chunk-FU7HJWGM.js.map} +0 -0
- /package/dist/{chunk-VY5CTURR.js.map → chunk-GDLQ6SGW.js.map} +0 -0
- /package/dist/{chunk-LPBLKGH7.js.map → chunk-GEKXIXMG.js.map} +0 -0
- /package/dist/{chunk-QNLWBJUR.js.map → chunk-GLW7UJLB.js.map} +0 -0
- /package/dist/{chunk-5HABWBQX.js.map → chunk-H5HDZ7IC.js.map} +0 -0
- /package/dist/{chunk-MUHPBWE5.js.map → chunk-I5VZVQBZ.js.map} +0 -0
- /package/dist/{chunk-HDQBILJR.js.map → chunk-IC6SDOED.js.map} +0 -0
- /package/dist/{chunk-QBCPZFAV.js.map → chunk-IG627WWY.js.map} +0 -0
- /package/dist/{chunk-BWAFZSZ4.js.map → chunk-IN4G7X6W.js.map} +0 -0
- /package/dist/{chunk-5ADTL2LR.js.map → chunk-IPLE5K5E.js.map} +0 -0
- /package/dist/{chunk-SBN5UIQY.js.map → chunk-IWWOGBGA.js.map} +0 -0
- /package/dist/{chunk-R4CDO5YH.js.map → chunk-JFA4R3KS.js.map} +0 -0
- /package/dist/{chunk-LOTQBFUP.js.map → chunk-JYBLCIRN.js.map} +0 -0
- /package/dist/{chunk-O6VUX3O5.js.map → chunk-K3TNTBZJ.js.map} +0 -0
- /package/dist/{chunk-FDPBTKXZ.js.map → chunk-LCW3U4EA.js.map} +0 -0
- /package/dist/{chunk-RJFM6TJC.js.map → chunk-MI3JB5KB.js.map} +0 -0
- /package/dist/{chunk-PXTFT35U.js.map → chunk-MIOOPOG2.js.map} +0 -0
- /package/dist/{chunk-EBC64WAG.js.map → chunk-MJQBXFW6.js.map} +0 -0
- /package/dist/{chunk-ETFAIX4L.js.map → chunk-MPACDBH5.js.map} +0 -0
- /package/dist/{chunk-AQYH6C32.js.map → chunk-MXWOYFI2.js.map} +0 -0
- /package/dist/{chunk-KODTY7PB.js.map → chunk-N5O67GK5.js.map} +0 -0
- /package/dist/{chunk-4LODOBIN.js.map → chunk-NCP6RD6A.js.map} +0 -0
- /package/dist/{chunk-D5Z34AYL.js.map → chunk-NNF4RARY.js.map} +0 -0
- /package/dist/{chunk-LKM3FMYC.js.map → chunk-NR2OVOTD.js.map} +0 -0
- /package/dist/{chunk-UARL36OD.js.map → chunk-NVGXYF6K.js.map} +0 -0
- /package/dist/{chunk-AQADZOTG.js.map → chunk-OP7DNHD2.js.map} +0 -0
- /package/dist/{chunk-3UA4THEF.js.map → chunk-ORQKMXHA.js.map} +0 -0
- /package/dist/{chunk-TWXM7HVR.js.map → chunk-P3TNRS56.js.map} +0 -0
- /package/dist/{chunk-WE6K2VVZ.js.map → chunk-Q7YZL7PG.js.map} +0 -0
- /package/dist/{chunk-LEGVJCL4.js.map → chunk-QABSQADZ.js.map} +0 -0
- /package/dist/{chunk-37P6DTDJ.js.map → chunk-R2TAVQGZ.js.map} +0 -0
- /package/dist/{chunk-JQ4PQ2H6.js.map → chunk-R5WNYLG4.js.map} +0 -0
- /package/dist/{chunk-QGWCBGEC.js.map → chunk-RD2XXQW3.js.map} +0 -0
- /package/dist/{chunk-MICLDQES.js.map → chunk-RMLJNHCU.js.map} +0 -0
- /package/dist/{chunk-BODRDUYQ.js.map → chunk-S7A34DOA.js.map} +0 -0
- /package/dist/{chunk-26HCUIW2.js.map → chunk-SFJW2KED.js.map} +0 -0
- /package/dist/{chunk-6YZNHMPJ.js.map → chunk-SOKVXKRM.js.map} +0 -0
- /package/dist/{chunk-CIWI7LHO.js.map → chunk-STNCMKL6.js.map} +0 -0
- /package/dist/{chunk-AAF7HL4I.js.map → chunk-SWL4AAPP.js.map} +0 -0
- /package/dist/{chunk-7WZHO6W3.js.map → chunk-ULPO72IQ.js.map} +0 -0
- /package/dist/{chunk-CU2DEMQB.js.map → chunk-UMZIQIWN.js.map} +0 -0
- /package/dist/{chunk-RCMK4FM2.js.map → chunk-V7N666PJ.js.map} +0 -0
- /package/dist/{chunk-UMFKMS4U.js.map → chunk-WNJ5SYAG.js.map} +0 -0
- /package/dist/{chunk-ANYMWCST.js.map → chunk-WNSE7N75.js.map} +0 -0
- /package/dist/{chunk-7ANWFQEA.js.map → chunk-XDZVBX6L.js.map} +0 -0
- /package/dist/{chunk-NRRNY3TZ.js.map → chunk-XGOEX2VJ.js.map} +0 -0
- /package/dist/{chunk-TOIFDXCW.js.map → chunk-XUB2EK65.js.map} +0 -0
- /package/dist/{chunk-XKA4ZHGX.js.map → chunk-XUR4QWCS.js.map} +0 -0
- /package/dist/{chunk-XWB2L3HS.js.map → chunk-XZ4YMCZK.js.map} +0 -0
- /package/dist/{chunk-HKR7VCFK.js.map → chunk-Y3VRMFGF.js.map} +0 -0
- /package/dist/{chunk-F3VR6CTH.js.map → chunk-YD7BQDJ6.js.map} +0 -0
- /package/dist/{claim-DEQYWQZ4.js.map → claim-6MPQD43X.js.map} +0 -0
- /package/dist/{client-TL7BITWM.js.map → client-WL2FKW4T.js.map} +0 -0
- /package/dist/{code-ORY2WROG.js.map → code-NXN7QYKU.js.map} +0 -0
- /package/dist/{companies-QM5MOLIZ.js.map → companies-KRF2K4CA.js.map} +0 -0
- /package/dist/{complete-FM6VSFCT.js.map → complete-V433ON5C.js.map} +0 -0
- /package/dist/{config-FMDQ323H.js.map → config-VOF57KBL.js.map} +0 -0
- /package/dist/{connect-YTIE5PRU.js.map → connect-QVIAM3GX.js.map} +0 -0
- /package/dist/{content-ZQB6PXGX.js.map → content-KA25YYO3.js.map} +0 -0
- /package/dist/{conversation-VKWYWPB6.js.map → conversation-VZKBZZGG.js.map} +0 -0
- /package/dist/{conversion-report-U4UFXSD2.js.map → conversion-report-REOHVLCI.js.map} +0 -0
- /package/dist/{conversion-upload-command-INQX73AK.js.map → conversion-upload-command-ASHA6T6H.js.map} +0 -0
- /package/dist/{conversion-writes-MCKROLRA.js.map → conversion-writes-JU7Q2MUO.js.map} +0 -0
- /package/dist/{conversions-OPNDVQ56.js.map → conversions-3ISBR3TS.js.map} +0 -0
- /package/dist/{conversions-QILFJ34A.js.map → conversions-ZLC6YTJ5.js.map} +0 -0
- /package/dist/{countries-AZ3XSZVM.js.map → countries-XGMZWUGP.js.map} +0 -0
- /package/dist/{create-C4LTWKD7.js.map → create-B3QMYSIX.js.map} +0 -0
- /package/dist/{create-A7O5CBUS.js.map → create-IFCCMKFT.js.map} +0 -0
- /package/dist/{create-LRVA4MSV.js.map → create-R5P6JU5A.js.map} +0 -0
- /package/dist/{create-BEH3DUUP.js.map → create-SF6DOGDJ.js.map} +0 -0
- /package/dist/{creatives-XEKEYLNV.js.map → creatives-KD7MOCR3.js.map} +0 -0
- /package/dist/{creatives-43I65CHD.js.map → creatives-YJ3CXZQC.js.map} +0 -0
- /package/dist/{credentials-GJMH4XRU.js.map → credentials-2KJUKBMF.js.map} +0 -0
- /package/dist/{crm-WHK3PL6S.js.map → crm-GX72E2LT.js.map} +0 -0
- /package/dist/{crm-ECMEYPQT.js.map → crm-ZYDNEME5.js.map} +0 -0
- /package/dist/{crop-Q2GJLOHE.js.map → crop-7UTYG7GS.js.map} +0 -0
- /package/dist/{currency-SVDR5N7L.js.map → currency-CGDI2NXI.js.map} +0 -0
- /package/dist/{custom-conversions-5NJNPZKM.js.map → custom-conversions-YRYE65PU.js.map} +0 -0
- /package/dist/{customers-XKE3DQR7.js.map → customers-P4N4NXLJ.js.map} +0 -0
- /package/dist/{decide-PCJTFCWC.js.map → decide-TWKH5QQU.js.map} +0 -0
- /package/dist/{delete-7K4KFPUT.js.map → delete-2GIIUPA3.js.map} +0 -0
- /package/dist/{delete-APRR2OYC.js.map → delete-AK5IV44E.js.map} +0 -0
- /package/dist/{delete-GOA4Y562.js.map → delete-GLLYPNNB.js.map} +0 -0
- /package/dist/{delete-I2SIRTMZ.js.map → delete-J7DXPGKD.js.map} +0 -0
- /package/dist/{delete-QCZUGDIJ.js.map → delete-RS7RQDUX.js.map} +0 -0
- /package/dist/{delete-DTTEHY6E.js.map → delete-S4VKH7IS.js.map} +0 -0
- /package/dist/{demographics-HG7NWA5U.js.map → demographics-IKWN2H3V.js.map} +0 -0
- /package/dist/{describe-CRTFAH6Y.js.map → describe-5QCPRSIG.js.map} +0 -0
- /package/dist/{describe-OAB2FJYK.js.map → describe-L3UC6MIL.js.map} +0 -0
- /package/dist/{dimensions-PFGHRZ5T.js.map → dimensions-POH4JXEM.js.map} +0 -0
- /package/dist/{discard-U3DW6WV3.js.map → discard-H6DOHJRG.js.map} +0 -0
- /package/dist/{discover-IOJZYJ6B.js.map → discover-L4TPEKGY.js.map} +0 -0
- /package/dist/{discover-R3EUUGRZ.js.map → discover-XAJKZCMM.js.map} +0 -0
- /package/dist/{domain-HTF3ARBJ.js.map → domain-US4KKAXC.js.map} +0 -0
- /package/dist/{download-2HGDCPR7.js.map → download-N4J5WFHD.js.map} +0 -0
- /package/dist/{draft-5RL6HZ6A.js.map → draft-BIQ3ZAYW.js.map} +0 -0
- /package/dist/{draft-3KLT2YHI.js.map → draft-EWDOIXSH.js.map} +0 -0
- /package/dist/{draft-PQGTIABK.js.map → draft-IL37WDST.js.map} +0 -0
- /package/dist/{draft-SRMHEIRG.js.map → draft-IZ4YLQRD.js.map} +0 -0
- /package/dist/{draft-7O4ABIKK.js.map → draft-KDMYGLWN.js.map} +0 -0
- /package/dist/{draft-KTOZ2AT7.js.map → draft-OLFQZBWL.js.map} +0 -0
- /package/dist/{draft-GPL2TZXA.js.map → draft-R32RFDCI.js.map} +0 -0
- /package/dist/{draft-DK4NZ6PW.js.map → draft-Y2QJE2NM.js.map} +0 -0
- /package/dist/{env-NPSYSFXD.js.map → env-5MUVYE2L.js.map} +0 -0
- /package/dist/{experiment-V57PLATO.js.map → experiment-G3FQVAJU.js.map} +0 -0
- /package/dist/{export-UN2PTCNO.js.map → export-OLDI32HM.js.map} +0 -0
- /package/dist/{extract-5JOFQZVU.js.map → extract-PPS6ONQN.js.map} +0 -0
- /package/dist/{facets-2XQEJNZZ.js.map → facets-JBZQHN3D.js.map} +0 -0
- /package/dist/{favorites-4AWW5F5B.js.map → favorites-4ELADD3R.js.map} +0 -0
- /package/dist/{feed-AK3IFTAL.js.map → feed-XIY5TVDL.js.map} +0 -0
- /package/dist/{fetch-VYIMA5BI.js.map → fetch-GOY6DQRL.js.map} +0 -0
- /package/dist/{fetch-6ALLGDRN.js.map → fetch-YWUVDMUH.js.map} +0 -0
- /package/dist/{find-22HWPRFY.js.map → find-EVY4XEIQ.js.map} +0 -0
- /package/dist/{fit-S4RO2DMX.js.map → fit-TVQ7RK52.js.map} +0 -0
- /package/dist/{flows-ITS573ST.js.map → flows-274YPU6I.js.map} +0 -0
- /package/dist/{follow-IUW3P6KH.js.map → follow-ZTPZKIMZ.js.map} +0 -0
- /package/dist/{follow-competitors-YDF5WM4K.js.map → follow-competitors-6QDVQ4VJ.js.map} +0 -0
- /package/dist/{following-PNOYUSHX.js.map → following-PBZLZFGQ.js.map} +0 -0
- /package/dist/{fonts-U4YXUNNZ.js.map → fonts-BMUNDGOZ.js.map} +0 -0
- /package/dist/{forecast-NHG3UHOP.js.map → forecast-F2CZSIMP.js.map} +0 -0
- /package/dist/{funding-WSJI56OH.js.map → funding-ULBMKUMW.js.map} +0 -0
- /package/dist/{funnel-46QWG5DN.js.map → funnel-LEUXICXU.js.map} +0 -0
- /package/dist/{ga4-4W3KJIS5.js.map → ga4-2BL5YAYN.js.map} +0 -0
- /package/dist/{generate-3MC7WDL2.js.map → generate-4HWNFAH3.js.map} +0 -0
- /package/dist/{get-P5ZTH7RQ.js.map → get-6RZU4M6W.js.map} +0 -0
- /package/dist/{get-SR2NWOPT.js.map → get-7GCEJ6KG.js.map} +0 -0
- /package/dist/{get-IAJ57JLM.js.map → get-MGDY5JYZ.js.map} +0 -0
- /package/dist/{get-4DJXDO42.js.map → get-MZWUMHEF.js.map} +0 -0
- /package/dist/{get-BK4MBGQF.js.map → get-OAZZHUZP.js.map} +0 -0
- /package/dist/{get-PTOW6PVF.js.map → get-OHU2N7B7.js.map} +0 -0
- /package/dist/{get-MVWVS3YT.js.map → get-TY6AMFI4.js.map} +0 -0
- /package/dist/{google-EMSAXPVB.js.map → google-7STODZQR.js.map} +0 -0
- /package/dist/{google-XE35SF3Z.js.map → google-ZTTE34A4.js.map} +0 -0
- /package/dist/{google-ads-DYNDLOBO.js.map → google-ads-5ARKO757.js.map} +0 -0
- /package/dist/{group-MBRA2QID.js.map → group-D5WXNFCP.js.map} +0 -0
- /package/dist/{group-EUYJJ4LI.js.map → group-Y5PLETFT.js.map} +0 -0
- /package/dist/{gsc-B3NPUNI6.js.map → gsc-UU3T2C6B.js.map} +0 -0
- /package/dist/{history-4S3YEIPK.js.map → history-IQ33J5PB.js.map} +0 -0
- /package/dist/{history-7HFGP7UI.js.map → history-SU7VQCDJ.js.map} +0 -0
- /package/dist/{hubspot-3LWMILTD.js.map → hubspot-TJED44GO.js.map} +0 -0
- /package/dist/{icon-4DAXBICB.js.map → icon-GB7UH5RF.js.map} +0 -0
- /package/dist/{ideas-RHOV2ZJ6.js.map → ideas-UTSCGCT6.js.map} +0 -0
- /package/dist/{improve-U2RA5DPI.js.map → improve-U5USRH4G.js.map} +0 -0
- /package/dist/{ingest-H4F5TJC3.js.map → ingest-DGDNZWEM.js.map} +0 -0
- /package/dist/{ingest-URYQ7BTL.js.map → ingest-SGBJ3NXX.js.map} +0 -0
- /package/dist/{insights-HQGBM6VA.js.map → insights-4HT2NAYP.js.map} +0 -0
- /package/dist/{insights-K2CMI3K5.js.map → insights-SQLE5NOJ.js.map} +0 -0
- /package/dist/{inspect-IPQTTZK3.js.map → inspect-BMQTTKMW.js.map} +0 -0
- /package/dist/{inspiration-TRMFE64K.js.map → inspiration-XQYHBJY2.js.map} +0 -0
- /package/dist/{intent-2EWV4KXW.js.map → intent-LM36WK45.js.map} +0 -0
- /package/dist/{job-7GDSDRM4.js.map → job-CGQHEANB.js.map} +0 -0
- /package/dist/{job-create-PE7G64WC.js.map → job-create-SZYJT2NC.js.map} +0 -0
- /package/dist/{job-status-LUSCFLZ2.js.map → job-status-6LAKLCKH.js.map} +0 -0
- /package/dist/{keep-5NFHEILH.js.map → keep-3MJSHWU3.js.map} +0 -0
- /package/dist/{keyword-gap-T22T7RN6.js.map → keyword-gap-P652ODHN.js.map} +0 -0
- /package/dist/{keyword-metrics-SLCXHPZS.js.map → keyword-metrics-MQLGGJBT.js.map} +0 -0
- /package/dist/{keywords-for-site-HBQSJKNN.js.map → keywords-for-site-JL6H2YGU.js.map} +0 -0
- /package/dist/{landing-PJJGQM3M.js.map → landing-AJO2BPC2.js.map} +0 -0
- /package/dist/{landings-ZR4YMEPV.js.map → landings-ZLKUP66P.js.map} +0 -0
- /package/dist/{languages-HXAZNLNU.js.map → languages-3IJVDS5Z.js.map} +0 -0
- /package/dist/{languages-VLMJOAJN.js.map → languages-HL42MI7H.js.map} +0 -0
- /package/dist/{launches-T5LAIOYS.js.map → launches-RG2SWEXM.js.map} +0 -0
- /package/dist/{layerize-24PQKKPB.js.map → layerize-SJYK6HPD.js.map} +0 -0
- /package/dist/{leads-EDKSVSWP.js.map → leads-2XOSAYP4.js.map} +0 -0
- /package/dist/{leads-HXYLSNMB.js.map → leads-H6JIWVI6.js.map} +0 -0
- /package/dist/{library-ZHREUZMU.js.map → library-Q4OU7VR7.js.map} +0 -0
- /package/dist/{lighthouse-E2NTHAO4.js.map → lighthouse-FALRSVQH.js.map} +0 -0
- /package/dist/{line-item-writes-JNHZFCRM.js.map → line-item-writes-V7AKAHFC.js.map} +0 -0
- /package/dist/{line-items-WGLNILMH.js.map → line-items-GAMKVVIQ.js.map} +0 -0
- /package/dist/{link-KLFRRU24.js.map → link-Z5AQP6JN.js.map} +0 -0
- /package/dist/{list-TG6LBHCV.js.map → list-2ZTOMTES.js.map} +0 -0
- /package/dist/{list-E7CJMIGC.js.map → list-GK6LNWIW.js.map} +0 -0
- /package/dist/{list-E3MCY43O.js.map → list-NLGM3QDP.js.map} +0 -0
- /package/dist/{list-37F6C6P5.js.map → list-RR53EF3O.js.map} +0 -0
- /package/dist/{list-MIGWTOQU.js.map → list-SZH6TH74.js.map} +0 -0
- /package/dist/{list-HA2NITR3.js.map → list-TB677Q2F.js.map} +0 -0
- /package/dist/{list-7EEDCI3T.js.map → list-VTVRZIYL.js.map} +0 -0
- /package/dist/{list-SW3DF473.js.map → list-XZVQWIJN.js.map} +0 -0
- /package/dist/{locations-ZWTDUUGL.js.map → locations-AEGZ36JH.js.map} +0 -0
- /package/dist/{locations-VYIDAVD4.js.map → locations-YA7NZY44.js.map} +0 -0
- /package/dist/{log-Y4NIMHFD.js.map → log-JM4VLJE4.js.map} +0 -0
- /package/dist/{logo-SHQJHJK7.js.map → logo-YSNUUT33.js.map} +0 -0
- /package/dist/{lookup-TWSJ7KRT.js.map → lookup-RH5N3OWJ.js.map} +0 -0
- /package/dist/{map-DHQTEDUH.js.map → map-HRLUMCR2.js.map} +0 -0
- /package/dist/{mcp-ZHASO273.js.map → mcp-T6SAG4XB.js.map} +0 -0
- /package/dist/{media-LDVWXWWZ.js.map → media-ES2UBGYW.js.map} +0 -0
- /package/dist/{media-TNB4DLTJ.js.map → media-MPXEXN4O.js.map} +0 -0
- /package/dist/{media-sources-MFBQDZNS.js.map → media-sources-7AS3274L.js.map} +0 -0
- /package/dist/{members-HTHOAHPO.js.map → members-J5KWXTXY.js.map} +0 -0
- /package/dist/{meta-RAVCXVZA.js.map → meta-AOIPEDV5.js.map} +0 -0
- /package/dist/{metrics-2VB46SDT.js.map → metrics-VDBJ6KL7.js.map} +0 -0
- /package/dist/{models-TYRVCPS2.js.map → models-2DQ5NBMT.js.map} +0 -0
- /package/dist/{normalize-PVOL256M.js.map → normalize-CHZB4QDD.js.map} +0 -0
- /package/dist/{normalize-Q7EN7JIF.js.map → normalize-NR5RS3WR.js.map} +0 -0
- /package/dist/{options-VDTCTJHY.js.map → options-QLXFLESP.js.map} +0 -0
- /package/dist/{organization-VC5RO4FS.js.map → organization-KEGKAP4P.js.map} +0 -0
- /package/dist/{output-NHMCVVUU.js.map → output-GWIP6ROX.js.map} +0 -0
- /package/dist/{page-5PCVZ7HS.js.map → page-YWGBCN65.js.map} +0 -0
- /package/dist/{pages-DDXB4NQ4.js.map → pages-FTI44OSH.js.map} +0 -0
- /package/dist/{performance-QOQTL4XM.js.map → performance-SPGPGXE5.js.map} +0 -0
- /package/dist/{pinterest-KQYSCTVQ.js.map → pinterest-J442QLQS.js.map} +0 -0
- /package/dist/{pixels-HJYPX6RR.js.map → pixels-6IUB3Y3H.js.map} +0 -0
- /package/dist/{pixels-GH522EYV.js.map → pixels-MBKR4XPX.js.map} +0 -0
- /package/dist/{plan-ZS7SOXL6.js.map → plan-YPE77T4R.js.map} +0 -0
- /package/dist/{preview-W4VKXOCT.js.map → preview-V4YBD45S.js.map} +0 -0
- /package/dist/{profile-FSB4RT55.js.map → profile-S3MXS2VO.js.map} +0 -0
- /package/dist/{promoted-tweet-writes-6PI2KR65.js.map → promoted-tweet-writes-TRR3KPRJ.js.map} +0 -0
- /package/dist/{promoted-tweets-UJRNHKKO.js.map → promoted-tweets-XRYZNJI2.js.map} +0 -0
- /package/dist/{properties-V74I56UK.js.map → properties-G3L2OAOL.js.map} +0 -0
- /package/dist/{query-KBXZD4SW.js.map → query-M3IO54U2.js.map} +0 -0
- /package/dist/{query-SFNCXH4H.js.map → query-WCB5W4NW.js.map} +0 -0
- /package/dist/{query-5F5MBR7H.js.map → query-YBS6ZQ75.js.map} +0 -0
- /package/dist/{questionnaire-JK5JLQXK.js.map → questionnaire-PAK4DALP.js.map} +0 -0
- /package/dist/{read-LGRFU7XB.js.map → read-LUTB3UOR.js.map} +0 -0
- /package/dist/{reddit-QWM5ZQ6P.js.map → reddit-STSECKMZ.js.map} +0 -0
- /package/dist/{refresh-ZPF7UH3S.js.map → refresh-RQ3C2MHI.js.map} +0 -0
- /package/dist/{release-BZPK2P3R.js.map → release-UHGU5WBY.js.map} +0 -0
- /package/dist/{relevant-pages-VMNEEEJK.js.map → relevant-pages-G6SNC73K.js.map} +0 -0
- /package/dist/{remove-C7ZJYFCG.js.map → remove-LTKICIIF.js.map} +0 -0
- /package/dist/{remove-PIHTPIHM.js.map → remove-X6DNVS67.js.map} +0 -0
- /package/dist/{reopen-6Q7NQX2C.js.map → reopen-BP5ERELB.js.map} +0 -0
- /package/dist/{research-X6O7IID6.js.map → research-GOYMTKZM.js.map} +0 -0
- /package/dist/{research-FXQ6X7BY.js.map → research-MBAPL35Y.js.map} +0 -0
- /package/dist/{reset-NXK6NCOO.js.map → reset-Q62PEGOU.js.map} +0 -0
- /package/dist/{reset-FRNQUCL5.js.map → reset-SJPGSQ7I.js.map} +0 -0
- /package/dist/{resolve-WHI4UP4V.js.map → resolve-R45W7QEQ.js.map} +0 -0
- /package/dist/{retry-XMTYWCFA.js.map → retry-CD2Q2AJN.js.map} +0 -0
- /package/dist/{retry-VSFPEXLE.js.map → retry-NBZ7Q6HK.js.map} +0 -0
- /package/dist/{retry-failed-XTYV3QJS.js.map → retry-failed-EJBP4236.js.map} +0 -0
- /package/dist/{run-TAASFDQ7.js.map → run-HCJKCEOL.js.map} +0 -0
- /package/dist/{run-HBNAA56X.js.map → run-IIU2UVQU.js.map} +0 -0
- /package/dist/{schedule-P6GVRZ4E.js.map → schedule-BSQHXJ5V.js.map} +0 -0
- /package/dist/{schedule-WSO7ETS6.js.map → schedule-IDZC6M32.js.map} +0 -0
- /package/dist/{scheduled-agents-TYT5BIBQ.js.map → scheduled-agents-MFLMG34I.js.map} +0 -0
- /package/dist/{schema-DL34A626.js.map → schema-EFR7NGJG.js.map} +0 -0
- /package/dist/{schema-O4CMQQGD.js.map → schema-IWPG3YSN.js.map} +0 -0
- /package/dist/{scrape-ZG2OWZL4.js.map → scrape-J2Y7YZ4Z.js.map} +0 -0
- /package/dist/{screenshot-GJUY7FCW.js.map → screenshot-K7ZGTVTE.js.map} +0 -0
- /package/dist/{search-FHSQYZOC.js.map → search-CI7LEOOK.js.map} +0 -0
- /package/dist/{search-HBFAHH4W.js.map → search-EGI5K77S.js.map} +0 -0
- /package/dist/{search-2BJ4OLMX.js.map → search-I6DRUXBX.js.map} +0 -0
- /package/dist/{search-ZAY2QV3Y.js.map → search-TTL7VQET.js.map} +0 -0
- /package/dist/{search-52CSDYJS.js.map → search-VT2KUAH6.js.map} +0 -0
- /package/dist/{search-copy-O5AOEBXC.js.map → search-copy-N2AIJNUH.js.map} +0 -0
- /package/dist/{seeds-XY3EZ33U.js.map → seeds-EYYQCMGF.js.map} +0 -0
- /package/dist/{sends-GECHL3NK.js.map → sends-RHVFV2XM.js.map} +0 -0
- /package/dist/{sequences-5BB4S63A.js.map → sequences-5DUWNSWQ.js.map} +0 -0
- /package/dist/{setup-links-GF2IP4TH.js.map → setup-links-5ILQNMFZ.js.map} +0 -0
- /package/dist/{shared-JDIL3BNQ.js.map → shared-NDRFKAH7.js.map} +0 -0
- /package/dist/{site-T6V5S5DJ.js.map → site-LBXNVRPE.js.map} +0 -0
- /package/dist/{sitemaps-UQJFRA2W.js.map → sitemaps-QKKXMXMV.js.map} +0 -0
- /package/dist/{sites-ZNNEPEGI.js.map → sites-GRC6CCCK.js.map} +0 -0
- /package/dist/{skills-WRKEF2Q4.js.map → skills-UML6GSW6.js.map} +0 -0
- /package/dist/{sources-UR3SLKVK.js.map → sources-GP4PUTX2.js.map} +0 -0
- /package/dist/{sources-5YUE7KUI.js.map → sources-N4UANUHJ.js.map} +0 -0
- /package/dist/{stats-QFBTSDVV.js.map → stats-RCLQE4HJ.js.map} +0 -0
- /package/dist/{status-FDKP65DR.js.map → status-GSFMLC6W.js.map} +0 -0
- /package/dist/{sticker-2JQUC7XO.js.map → sticker-SINY47WT.js.map} +0 -0
- /package/dist/{stock-W3SNJCBV.js.map → stock-ECRBD7RP.js.map} +0 -0
- /package/dist/{studio-2GAZ6QOH.js.map → studio-YB5WXQYC.js.map} +0 -0
- /package/dist/{sync-NAJQQ6NQ.js.map → sync-2MFUI3ME.js.map} +0 -0
- /package/dist/{sync-4LHVBFMZ.js.map → sync-IE4AAVGY.js.map} +0 -0
- /package/dist/{sync-OGFGTKUK.js.map → sync-LIV7FU4N.js.map} +0 -0
- /package/dist/{sync-definition-MSQFCXRK.js.map → sync-definition-5JO7QXX3.js.map} +0 -0
- /package/dist/{tag-manager-MNGOJ3GC.js.map → tag-manager-G3LBQZUL.js.map} +0 -0
- /package/dist/{tags-XMRO4WF6.js.map → tags-4JQX7HMT.js.map} +0 -0
- /package/dist/{tags-67KLYTJF.js.map → tags-6RQVXS47.js.map} +0 -0
- /package/dist/{tags-GLHFHQW2.js.map → tags-AAIFQ6LS.js.map} +0 -0
- /package/dist/{tags-SL4F3LLY.js.map → tags-F355NMIR.js.map} +0 -0
- /package/dist/{tags-PYLVQEVS.js.map → tags-ZHCGHGYC.js.map} +0 -0
- /package/dist/{targeting-constants-RQT4GLUA.js.map → targeting-constants-KEKYU5JQ.js.map} +0 -0
- /package/dist/{targeting-criteria-VK3IR6N2.js.map → targeting-criteria-6FY2JB3V.js.map} +0 -0
- /package/dist/{targets-RCM2ZXSU.js.map → targets-NI7TR4GV.js.map} +0 -0
- /package/dist/{testimonials-KTHDZ3R5.js.map → testimonials-G7CCH7VN.js.map} +0 -0
- /package/dist/{themes-VVID6Y73.js.map → themes-PXDXIKYR.js.map} +0 -0
- /package/dist/{top-companies-MBTTJTRK.js.map → top-companies-YH2ZJEH5.js.map} +0 -0
- /package/dist/{triggers-PDIVJDLP.js.map → triggers-WYFM7PAH.js.map} +0 -0
- /package/dist/{tweets-L4CXZLKQ.js.map → tweets-C3QUKS3I.js.map} +0 -0
- /package/dist/{unfollow-5T2CT3EF.js.map → unfollow-ZI5QU7RD.js.map} +0 -0
- /package/dist/{unlink-IHEFAFG6.js.map → unlink-PTWUSM5B.js.map} +0 -0
- /package/dist/{unstage-NEX3EIJX.js.map → unstage-7F7JI6HY.js.map} +0 -0
- /package/dist/{unstage-NJQAIIPT.js.map → unstage-MCM6EZWK.js.map} +0 -0
- /package/dist/{update-LR7UW5LL.js.map → update-643S2MUW.js.map} +0 -0
- /package/dist/{update-P5BTLCGG.js.map → update-GUIP6G3N.js.map} +0 -0
- /package/dist/{update-CYQIGHT4.js.map → update-V6E3CIFD.js.map} +0 -0
- /package/dist/{upload-VVB2LTD2.js.map → upload-3YJJ5VID.js.map} +0 -0
- /package/dist/{upload-C2K66PR3.js.map → upload-KO46L76G.js.map} +0 -0
- /package/dist/{upscale-SGBB4GWF.js.map → upscale-SJ7SCSRS.js.map} +0 -0
- /package/dist/{url-options-LUKI4Y46.js.map → url-options-LHS4SWWB.js.map} +0 -0
- /package/dist/{url-params-MSRUZOGT.js.map → url-params-2DKIXKHH.js.map} +0 -0
- /package/dist/{use-XGTUHBUL.js.map → use-6ULEM3WE.js.map} +0 -0
- /package/dist/{variant-DQRDW6IZ.js.map → variant-5TRRSYBB.js.map} +0 -0
- /package/dist/{videos-EQG7AAXT.js.map → videos-KEDR4GG3.js.map} +0 -0
- /package/dist/{view-KJ6YNRXB.js.map → view-ABSWZMXW.js.map} +0 -0
- /package/dist/{viewer-check-7DZQDGD3.js.map → viewer-check-TSH3SAYJ.js.map} +0 -0
- /package/dist/{web-MSYXLOFV.js.map → web-UOGBNAHR.js.map} +0 -0
- /package/dist/{winners-LD6PFXAS.js.map → winners-KRISBKOR.js.map} +0 -0
- /package/dist/{winning-ads-VWBU3BNQ.js.map → winning-ads-SGBI3WHK.js.map} +0 -0
- /package/dist/{write-commands-PK23JVW3.js.map → write-commands-E7JOB4HX.js.map} +0 -0
- /package/dist/{write-commands-CKMHQ4YY.js.map → write-commands-HCQI4Y27.js.map} +0 -0
- /package/dist/{write-commands-NW5CC3DP.js.map → write-commands-QCI6XBM7.js.map} +0 -0
- /package/dist/{write-commands-RLEYECTB.js.map → write-commands-RHCCPMAE.js.map} +0 -0
- /package/dist/{x-ZSTQLK6Q.js.map → x-UNSN57YP.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/creatives/cast-inventory.ts"],"sourcesContent":["/**\n * What the company has to cast and show in an ad, read before anyone is cast: its Avatars (real\n * people and ones made for a role), customers' own words for this message, and its logos. A media\n * buyer starts from the material in hand; production chats started from the image model.\n */\nimport { readdir, readFile } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport type { AvatarsListResponse, TestimonialsSearchResponse } from \"@baker/api\";\nimport { apiPost } from \"../../client.ts\";\nimport { readCompanyReading } from \"../../engine/creative-context/company.ts\";\nimport { readAvatars } from \"../avatars/transport.ts\";\n\n/** Who an Avatar's person is to the company; `unknown` when nothing says, and then treated as a customer. */\ntype CastRelation = \"team\" | \"founder\" | \"customer\" | \"partner\" | \"creator\" | \"role\" | \"unknown\";\n\n/** One Avatar as the cast is chosen from it. */\nexport type CastAvatar = {\n handle: string;\n /** Built from a real person's own pictures or profile. */\n real: boolean;\n who: string;\n relation: CastRelation;\n /** A team, founder or made-for-a-role face may be cast; a customer's, a partner's or an unknown one only in an ad quoting their own words. */\n castable: boolean;\n /** The published testimonials the person gave, when recorded. */\n testimonialIds?: string[];\n};\n\n/** The company an Avatar's person may belong to: its name and its own brand names. */\ntype CastCompany = { name?: string; brands?: readonly string[] };\n\nexport type CastInventory = {\n /** Ready Avatars. */\n avatars: CastAvatar[];\n /** Customers' own words for this message, best first. */\n customers: { name?: string; words: string; source: string; photo: boolean }[];\n /** The brand's logo files, workspace-relative. */\n logos: string[];\n /** The company's name, for finding its founder. */\n company?: string;\n};\n\nconst short = (text: string, max: number) => (text.length > max ? `${text.slice(0, max - 1).trimEnd()}…` : text);\n\n/** A name as a person may spell it: no accents, case, punctuation or company suffix. Pure. */\nconst nameKey = (name: string) =>\n name\n .normalize(\"NFD\")\n .replace(/\\p{M}/gu, \"\")\n .toLowerCase()\n .replace(/\\b(?:inc|llc|ltd|gmbh|sl|sa|corp|co)\\b\\.?/g, \"\")\n .replace(/[^\\p{L}\\p{N}]/gu, \"\");\n\n/** Whether a person's employer is the company itself, by its name or a brand of its (three letters or more). Pure. */\nfunction isTheCompany(employer: string, company: CastCompany): boolean {\n const key = nameKey(employer);\n if (key.length < 3) return false;\n return [company.name ?? \"\", ...(company.brands ?? [])].some((own) => {\n const ownKey = nameKey(own);\n return ownKey.length >= 3 && (key.includes(ownKey) || ownKey.includes(key));\n });\n}\n\n/**\n * Who an Avatar's person is to the company: the recorded relation wins; one made for a role is\n * `role`; a licensed person whose employer is the company is `team`; anyone else is `unknown`,\n * treated as a customer. Pure.\n */\nexport function avatarRelation(\n avatar: Pick<AvatarsListResponse[\"avatars\"][number], \"likeness\" | \"person\" | \"relation\">,\n company: CastCompany,\n): CastRelation {\n if (avatar.relation) return avatar.relation;\n if (avatar.likeness === \"synthetic\" && !avatar.person) return \"role\";\n return avatar.person?.company && isTheCompany(avatar.person.company, company) ? \"team\" : \"unknown\";\n}\n\nconst CASTABLE: readonly CastRelation[] = [\"team\", \"founder\", \"role\"];\n\n/** The ready Avatars, as the inventory lists them, each with who it is to the company. Pure. */\nexport function avatarsOf(response: AvatarsListResponse, company: CastCompany = {}): CastInventory[\"avatars\"] {\n return response.avatars\n .filter((a) => a.status === \"ready\")\n .map((a) => {\n const real = a.likeness === \"licensed\" || Boolean(a.person);\n const role = [a.person?.role, a.person?.company].filter(Boolean).join(\" at \");\n const relation = avatarRelation(a, company);\n return {\n handle: a.handle,\n real,\n who: short(role || a.subjectDescription || a.name, 90),\n relation,\n castable: CASTABLE.includes(relation),\n ...(a.testimonialIds?.length ? { testimonialIds: a.testimonialIds } : {}),\n };\n });\n}\n\n/** The company's title in COMPANY.md, as its name. */\nexport async function companyName(root: string): Promise<string | undefined> {\n const doc = await readFile(path.join(root, \"COMPANY.md\"), \"utf8\").catch(() => \"\");\n const title = /^#\\s+(.+?)\\s*$/m.exec(doc)?.[1] ?? \"\";\n return title.replace(/[*_`]/g, \"\").replace(/^(?:company|empresa|compañía)\\s*:\\s*/i, \"\") || undefined;\n}\n\n/** The company's name and its own brand names, for telling its people from customers. Never throws. */\nexport async function castCompany(root: string): Promise<CastCompany> {\n const [name, reading] = await Promise.all([companyName(root), readCompanyReading(root).catch(() => null)]);\n return { ...(name ? { name } : {}), brands: reading?.brands ?? [] };\n}\n\n/** Customers' words for this message, the ones with something to say first, at most three. Pure. */\nexport function customersOf(found: TestimonialsSearchResponse): CastInventory[\"customers\"] {\n return found\n .filter((t) => t.sentiment !== \"negative\" && (t.highlight || t.reviewText).trim())\n .slice(0, 3)\n .map((t) => ({\n ...(t.reviewerName ? { name: t.reviewerName } : {}),\n words: short((t.highlight || t.reviewText).trim().replace(/\\s+/g, \" \"), 140),\n source: t.sourceType,\n photo: Boolean(t.reviewerImageUrl || t.reviewerImageId || t.imageIds?.length || t.videoIds?.length),\n }));\n}\n\nconst LOGO_FILE = /\\.(svg|png|webp|jpe?g)$/i;\n\n/** Everything the company has to build with; each part empty when it cannot be read. */\nexport async function castInventory(root: string, message: string, company?: string): Promise<CastInventory> {\n const own = await castCompany(root);\n const [avatars, customers, logos] = await Promise.all([\n readAvatars<AvatarsListResponse>(\"/api/avatars\", { status: \"ready\" }).then(\n (response) => avatarsOf(response, { ...own, ...(company ? { name: company } : {}) }),\n () => [],\n ),\n apiPost<TestimonialsSearchResponse>(\"/api/testimonials/search\", { query: message, limit: 6 }).then(\n customersOf,\n () => [],\n ),\n readdir(path.join(root, \"src\", \"brand\", \"logos\")).then(\n (files) => files.filter((f) => LOGO_FILE.test(f)).map((f) => `src/brand/logos/${f}`),\n () => [],\n ),\n ]);\n return { avatars, customers, logos, ...(company ? { company } : {}) };\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
import {
|
|
2
|
+
BRAND_DIR,
|
|
3
|
+
inkLuma,
|
|
4
|
+
logoArtwork
|
|
5
|
+
} from "./chunk-D4I3KULJ.js";
|
|
6
|
+
import {
|
|
7
|
+
fetchExternalBytes
|
|
8
|
+
} from "./chunk-BLAHHMPF.js";
|
|
9
|
+
import {
|
|
10
|
+
apiGet,
|
|
11
|
+
apiPost
|
|
12
|
+
} from "./chunk-XDZVBX6L.js";
|
|
13
|
+
|
|
14
|
+
// src/commands/canvas/clientLogo.ts
|
|
15
|
+
import { mkdir, readFile, writeFile } from "fs/promises";
|
|
16
|
+
import * as cheerio from "cheerio";
|
|
17
|
+
import path from "path";
|
|
18
|
+
function decideClientLogo(domain, lookup) {
|
|
19
|
+
if (!domain) return { use: false, reason: "no_domain" };
|
|
20
|
+
const verdict = lookup?.brandMatch?.verdict;
|
|
21
|
+
if (verdict === "mismatch") {
|
|
22
|
+
return { use: false, reason: "mismatch", ...lookup?.brandMatch?.name ? { wrongBrand: lookup.brandMatch.name } : {} };
|
|
23
|
+
}
|
|
24
|
+
if (verdict !== "confirmed") return { use: false, reason: "unverified" };
|
|
25
|
+
const url = lookup?.hits?.map((hit) => hit.imageUrl ?? hit.sourceUrl).find((candidate) => Boolean(candidate));
|
|
26
|
+
return url ? { use: true, url } : { use: false, reason: "no_hits" };
|
|
27
|
+
}
|
|
28
|
+
function clientLogoMissNote(decision, domain) {
|
|
29
|
+
switch (decision.reason) {
|
|
30
|
+
case "no_domain":
|
|
31
|
+
return "Baker has no website on record for this company, so their mark could not be looked up.";
|
|
32
|
+
case "mismatch":
|
|
33
|
+
return `The mark found for \`${domain}\` belongs to ${decision.wrongBrand ?? "a different company"}, not to this client, so it was not used.`;
|
|
34
|
+
default:
|
|
35
|
+
return `No brand mark could be confirmed for \`${domain}\`, so nothing was placed.`;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
function hostOf(site) {
|
|
39
|
+
try {
|
|
40
|
+
return new URL(/^https?:\/\//i.test(site) ? site : `https://${site}`).hostname.replace(/^www\./i, "").toLowerCase();
|
|
41
|
+
} catch {
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
var NOT_THE_LOGO = /favicon|apple-touch|sprite|(?:^|[/_.-])icons?(?:[/_.-]|$)|client|customer|partner|testimonial|trust|badge|award/i;
|
|
46
|
+
function sayings(hit, url) {
|
|
47
|
+
const meta = hit.providerMeta ?? {};
|
|
48
|
+
const given = ["alt", "class", "id", "title"].map((key) => typeof meta[key] === "string" ? meta[key] : "");
|
|
49
|
+
return [new URL(url).pathname, hit.name ?? "", hit.description ?? "", ...given].join(" ");
|
|
50
|
+
}
|
|
51
|
+
function logoFromExtract(hits, domain) {
|
|
52
|
+
const own = hostOf(domain);
|
|
53
|
+
if (!own) return null;
|
|
54
|
+
const candidates = hits.flatMap((hit) => {
|
|
55
|
+
const url = hit.url ?? hit.imageUrl ?? hit.sourceUrl;
|
|
56
|
+
const host = url ? hostOf(url) : null;
|
|
57
|
+
if (!url || !host || host !== own && !host.endsWith(`.${own}`)) return [];
|
|
58
|
+
const said = sayings(hit, url);
|
|
59
|
+
if (!/logo/i.test(said) || NOT_THE_LOGO.test(said)) return [];
|
|
60
|
+
return [{ url, score: (/\.svg(?:\?|$)/i.test(url) ? 2 : 0) + (/logo/i.test(new URL(url).pathname) ? 1 : 0) }];
|
|
61
|
+
});
|
|
62
|
+
candidates.sort((a, b) => b.score - a.score || a.url.length - b.url.length);
|
|
63
|
+
return candidates[0]?.url ?? null;
|
|
64
|
+
}
|
|
65
|
+
var MAX_INLINE_SVG = 3e5;
|
|
66
|
+
var BRAND_PLACES = "header, nav, [role=banner]";
|
|
67
|
+
var IMAGE_ADDRESS = ["src", "data-src", "data-lazy-src", "data-original"];
|
|
68
|
+
function logoFromPage(html, pageUrl, domain) {
|
|
69
|
+
const own = hostOf(domain);
|
|
70
|
+
if (!own) return null;
|
|
71
|
+
const $ = cheerio.load(html);
|
|
72
|
+
for (const el of $(`${BRAND_PLACES}`).find("img, svg").toArray()) {
|
|
73
|
+
const node = $(el);
|
|
74
|
+
const said = [node, node.closest("a")].flatMap((n) => ["class", "id", "alt", "aria-label", "title"].map((k) => n.attr(k) ?? "")).join(" ");
|
|
75
|
+
if (!/logo/i.test(said) || NOT_THE_LOGO.test(said)) continue;
|
|
76
|
+
if (el.tagName === "svg") {
|
|
77
|
+
const svg = standaloneSvg($, node);
|
|
78
|
+
if (svg) return { kind: "svg", svg };
|
|
79
|
+
continue;
|
|
80
|
+
}
|
|
81
|
+
const url = IMAGE_ADDRESS.map((k) => node.attr(k)?.trim() ?? "").filter((a) => a !== "" && !a.startsWith("data:")).map((a) => absolute(a, pageUrl)).find((a) => a !== null);
|
|
82
|
+
const host = url ? hostOf(url) : null;
|
|
83
|
+
if (url && host && (host === own || host.endsWith(`.${own}`))) return { kind: "url", url };
|
|
84
|
+
}
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
function absolute(address, base) {
|
|
88
|
+
try {
|
|
89
|
+
const url = new URL(address, base);
|
|
90
|
+
return /^https?:$/.test(url.protocol) ? url.href : null;
|
|
91
|
+
} catch {
|
|
92
|
+
return null;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
function standaloneSvg($, node) {
|
|
96
|
+
const draws = node.find("path, circle, rect, polygon, polyline, ellipse, line, text").length > 0;
|
|
97
|
+
if (!draws || node.find("use").length > 0) return null;
|
|
98
|
+
const copy = node.clone();
|
|
99
|
+
if (!copy.attr("xmlns")) copy.attr("xmlns", "http://www.w3.org/2000/svg");
|
|
100
|
+
const svg = $.html(copy);
|
|
101
|
+
return svg.length <= MAX_INLINE_SVG ? svg : null;
|
|
102
|
+
}
|
|
103
|
+
function logoTone(inkLuma2) {
|
|
104
|
+
return inkLuma2 !== null && inkLuma2 > 170 ? "dark" : "light";
|
|
105
|
+
}
|
|
106
|
+
function withLogoRegistered(tokensJson, logo) {
|
|
107
|
+
if (tokensJson === null) return null;
|
|
108
|
+
let tokens;
|
|
109
|
+
try {
|
|
110
|
+
tokens = JSON.parse(tokensJson);
|
|
111
|
+
} catch {
|
|
112
|
+
return null;
|
|
113
|
+
}
|
|
114
|
+
if (!tokens || typeof tokens !== "object" || Array.isArray(tokens)) return null;
|
|
115
|
+
const doc = tokens;
|
|
116
|
+
const logos = Array.isArray(doc.logos) ? doc.logos : [];
|
|
117
|
+
if (logos.some((l) => l?.path === logo.path)) return null;
|
|
118
|
+
const next = { ...doc, logos: [...logos, { variant: "logo", background: logo.background, path: logo.path }] };
|
|
119
|
+
return `${JSON.stringify(next, null, 2)}
|
|
120
|
+
`;
|
|
121
|
+
}
|
|
122
|
+
function logoMissingHint(company, domain) {
|
|
123
|
+
return `No logo on file for ${company}: add it on the Brand page${domain ? ` (we could not find it on ${domain})` : ""}.`;
|
|
124
|
+
}
|
|
125
|
+
function extensionOf(url) {
|
|
126
|
+
return /\.(svg|png|jpg|jpeg|webp)(?:\?|$)/i.exec(url)?.[1]?.toLowerCase() ?? "svg";
|
|
127
|
+
}
|
|
128
|
+
var MAX_LOGO_BYTES = 3e6;
|
|
129
|
+
async function downloaded(url) {
|
|
130
|
+
try {
|
|
131
|
+
const { buffer } = await fetchExternalBytes(url, { maxBytes: MAX_LOGO_BYTES });
|
|
132
|
+
return buffer.byteLength > 0 ? { bytes: buffer, extension: extensionOf(url) } : null;
|
|
133
|
+
} catch {
|
|
134
|
+
return null;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
async function logoOnSite(domain) {
|
|
138
|
+
const host = hostOf(domain);
|
|
139
|
+
if (!host) return null;
|
|
140
|
+
const page = `https://${host}/`;
|
|
141
|
+
try {
|
|
142
|
+
const { buffer } = await fetchExternalBytes(page, { maxBytes: MAX_LOGO_BYTES });
|
|
143
|
+
const found = logoFromPage(buffer.toString("utf8"), page, domain);
|
|
144
|
+
if (found?.kind === "svg") return { bytes: Buffer.from(found.svg, "utf8"), extension: "svg" };
|
|
145
|
+
const file = found ? await downloaded(found.url) : null;
|
|
146
|
+
if (file) return file;
|
|
147
|
+
} catch {
|
|
148
|
+
}
|
|
149
|
+
try {
|
|
150
|
+
const listed = await apiPost("/api/images/extract", { url: page, limit: 50 });
|
|
151
|
+
const url = logoFromExtract(listed.hits ?? [], domain);
|
|
152
|
+
return url ? await downloaded(url) : null;
|
|
153
|
+
} catch {
|
|
154
|
+
return null;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
async function logoSource(domain) {
|
|
158
|
+
let lookup = null;
|
|
159
|
+
if (domain) {
|
|
160
|
+
try {
|
|
161
|
+
lookup = await apiPost("/api/images/logo", { domain, variant: "logo", autoIngest: 1 });
|
|
162
|
+
} catch {
|
|
163
|
+
lookup = null;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
const decision = decideClientLogo(domain, lookup);
|
|
167
|
+
if (decision.use) {
|
|
168
|
+
const file = await downloaded(decision.url);
|
|
169
|
+
if (file) return file;
|
|
170
|
+
}
|
|
171
|
+
if (domain && !(decision.use === false && decision.reason === "mismatch")) {
|
|
172
|
+
const file = await logoOnSite(domain);
|
|
173
|
+
if (file) return file;
|
|
174
|
+
}
|
|
175
|
+
return { note: clientLogoMissNote(decision.use ? { use: false, reason: "no_hits" } : decision, domain) };
|
|
176
|
+
}
|
|
177
|
+
async function inkOf(bytes) {
|
|
178
|
+
try {
|
|
179
|
+
return inkLuma((await logoArtwork(bytes)).data);
|
|
180
|
+
} catch {
|
|
181
|
+
return null;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
async function fetchClientLogo(root = ".") {
|
|
185
|
+
let domain;
|
|
186
|
+
let company;
|
|
187
|
+
try {
|
|
188
|
+
const found = await apiGet("/api/company");
|
|
189
|
+
domain = found.data.domain?.trim() || void 0;
|
|
190
|
+
company = found.data.name;
|
|
191
|
+
} catch {
|
|
192
|
+
domain = void 0;
|
|
193
|
+
}
|
|
194
|
+
const named = { ...domain ? { domain } : {}, ...company ? { company } : {} };
|
|
195
|
+
const source = await logoSource(domain);
|
|
196
|
+
if ("note" in source) return { ok: false, reason: source.note, ...named };
|
|
197
|
+
try {
|
|
198
|
+
const tone = logoTone(await inkOf(source.bytes));
|
|
199
|
+
const dir = path.join(root, BRAND_DIR, "logos");
|
|
200
|
+
await mkdir(dir, { recursive: true });
|
|
201
|
+
const file = path.join(dir, `logo-${tone}.${source.extension}`);
|
|
202
|
+
await writeFile(file, source.bytes);
|
|
203
|
+
await registerLogo(root, path.join(BRAND_DIR, "logos", path.basename(file)), tone);
|
|
204
|
+
return { ok: true, path: file, ...named };
|
|
205
|
+
} catch {
|
|
206
|
+
return { ok: false, reason: clientLogoMissNote({ use: false, reason: "no_hits" }, domain), ...named };
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
async function registerLogo(root, relative, background) {
|
|
210
|
+
const tokensPath = path.join(root, BRAND_DIR, "tokens.json");
|
|
211
|
+
const next = withLogoRegistered(await readFile(tokensPath, "utf8").catch(() => null), { path: relative, background });
|
|
212
|
+
if (next !== null) await writeFile(tokensPath, next, "utf8").catch(() => void 0);
|
|
213
|
+
}
|
|
214
|
+
async function withClientLogo(root, kit, reread, fetch = fetchClientLogo) {
|
|
215
|
+
if (kit.logo) return { kit };
|
|
216
|
+
const fetched = await fetch(root).catch(() => null);
|
|
217
|
+
if (fetched?.ok) return { kit: await reread() };
|
|
218
|
+
return { kit, hint: logoMissingHint(fetched?.company ?? "your company", fetched?.domain) };
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
export {
|
|
222
|
+
fetchClientLogo,
|
|
223
|
+
withClientLogo
|
|
224
|
+
};
|
|
225
|
+
//# sourceMappingURL=chunk-LS3A753J.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/canvas/clientLogo.ts"],"sourcesContent":["/**\n * Fetching the client's OWN brand mark when the workspace has none yet.\n *\n * An ad with a person in it and no logo used to stop dead, and the remedy on offer — \"put\n * the client's real mark in src/brand/logos/\" — is not something the agent can do: it has\n * no access to the client's design files. Measured on a real run, that refusal cost nine\n * tool calls and produced nothing: it tried `baker images logo withbaker.com` (OUR domain,\n * not the client's), then an icon library, then `curl`ed an SVG off iconify, then offered\n * to ship the ad unbranded. An earlier run drew a mark by hand; another ran `strings` over\n * the CLI looking for a switch.\n *\n * The mark is fetchable — Brandfetch holds it, keyed by the company's own domain, which\n * Baker has on record and the Runtime could not read until now. So the path from \"no logo\"\n * to \"the client's logo\" is one lookup, not a conversation. It is tried before an ad is\n * built without a mark, which is what happens now when the lookup finds none.\n */\n\nimport { mkdir, readFile, writeFile } from \"node:fs/promises\";\nimport * as cheerio from \"cheerio\";\nimport path from \"node:path\";\nimport type { CompanyGetResponse, ImagesExtractResponse, ImagesLogoResponse } from \"@baker/api\";\nimport { apiGet, apiPost } from \"../../client.ts\";\nimport { fetchExternalBytes } from \"../../lib/externalFetch.ts\";\nimport { logoArtwork } from \"../../engine/nodes/local/lib/logo-raster.ts\";\nimport { BRAND_DIR, inkLuma } from \"../../engine/scaffold/ad-brand-source.ts\";\n\n/** Brandfetch's verdict plus the variants it returned, as `baker images logo` reports them. */\nexport type LogoLookup = {\n brandMatch?: { verdict: \"confirmed\" | \"mismatch\" | \"unverified\"; name?: string };\n hits?: ReadonlyArray<{ imageUrl?: string; sourceUrl?: string }>;\n};\n\nexport type LogoDecision =\n | { use: true; url: string }\n | { use: false; reason: \"no_domain\" | \"mismatch\" | \"unverified\" | \"no_hits\"; wrongBrand?: string };\n\n/**\n * Whether a lookup may be placed on the client's ad, unattended.\n *\n * Only `confirmed`. A logo hit carries no content signal — `/domain/<anything>/logo`\n * returns 200 and somebody's wordmark — and `brandMatch` is the only field that separates\n * \"this is their mark\" from \"this is a mark\". On anything else the ad is worth stopping\n * for, because a stand-in ships an ad wearing another company's brand, which is worse than\n * an ad that is late.\n *\n * `confirmed` is a floor and not a ceiling: it says the RECORD matches, not the artwork.\n * That residual risk is why this only ever runs when the alternative is no ad at all.\n */\nexport function decideClientLogo(domain: string | undefined, lookup: LogoLookup | null): LogoDecision {\n if (!domain) return { use: false, reason: \"no_domain\" };\n const verdict = lookup?.brandMatch?.verdict;\n if (verdict === \"mismatch\") {\n return { use: false, reason: \"mismatch\", ...(lookup?.brandMatch?.name ? { wrongBrand: lookup.brandMatch.name } : {}) };\n }\n if (verdict !== \"confirmed\") return { use: false, reason: \"unverified\" };\n const url = lookup?.hits?.map((hit) => hit.imageUrl ?? hit.sourceUrl).find((candidate) => Boolean(candidate));\n return url ? { use: true, url } : { use: false, reason: \"no_hits\" };\n}\n\n/**\n * What the lookup found, for the hint on an ad built without a mark. Never just \"it\n * failed\": a mark that belongs to another company is worth naming, so nobody retries into it.\n */\nexport function clientLogoMissNote(decision: Extract<LogoDecision, { use: false }>, domain?: string): string {\n switch (decision.reason) {\n case \"no_domain\":\n return \"Baker has no website on record for this company, so their mark could not be looked up.\";\n case \"mismatch\":\n return (\n `The mark found for \\`${domain}\\` belongs to ${decision.wrongBrand ?? \"a different company\"}, not to this ` +\n \"client, so it was not used.\"\n );\n default:\n return `No brand mark could be confirmed for \\`${domain}\\`, so nothing was placed.`;\n }\n}\n\n/** An image the company's own site holds, as `baker images extract` reports it. */\ntype ExtractHit = {\n url?: string;\n imageUrl?: string;\n sourceUrl?: string;\n name?: string;\n description?: string;\n providerMeta?: Record<string, unknown>;\n};\n\n/** The host of a website as the company records it (`cubicup.com`, `https://www.cubicup.com/`), without `www.`. */\nfunction hostOf(site: string): string | null {\n try {\n return new URL(/^https?:\\/\\//i.test(site) ? site : `https://${site}`).hostname.replace(/^www\\./i, \"\").toLowerCase();\n } catch {\n return null;\n }\n}\n\n/** Files that hold a favicon, an icon sheet or another company's mark, never the company's logo. */\nconst NOT_THE_LOGO = /favicon|apple-touch|sprite|(?:^|[/_.-])icons?(?:[/_.-]|$)|client|customer|partner|testimonial|trust|badge|award/i;\n\n/** What an image says about itself: its address, name, description, and the alt, class or id the page gave it. */\nfunction sayings(hit: ExtractHit, url: string): string {\n const meta = hit.providerMeta ?? {};\n const given = [\"alt\", \"class\", \"id\", \"title\"].map((key) => (typeof meta[key] === \"string\" ? meta[key] : \"\"));\n return [new URL(url).pathname, hit.name ?? \"\", hit.description ?? \"\", ...given].join(\" \");\n}\n\n/**\n * The company's own logo among the images its website holds (`baker images extract https://<domain>`):\n * an image served from its own domain that says it is a logo, in its address, name or the alt, class\n * or id the page gave it, a vector first and the shortest address among equals. Another company's\n * mark, a favicon or a logo hosted elsewhere is never taken: a wrong mark is worse than a late ad. Pure.\n */\nexport function logoFromExtract(hits: readonly ExtractHit[], domain: string): string | null {\n const own = hostOf(domain);\n if (!own) return null;\n const candidates = hits.flatMap((hit) => {\n const url = hit.url ?? hit.imageUrl ?? hit.sourceUrl;\n const host = url ? hostOf(url) : null;\n if (!url || !host || (host !== own && !host.endsWith(`.${own}`))) return [];\n const said = sayings(hit, url);\n if (!/logo/i.test(said) || NOT_THE_LOGO.test(said)) return [];\n return [{ url, score: (/\\.svg(?:\\?|$)/i.test(url) ? 2 : 0) + (/logo/i.test(new URL(url).pathname) ? 1 : 0) }];\n });\n candidates.sort((a, b) => b.score - a.score || a.url.length - b.url.length);\n return candidates[0]?.url ?? null;\n}\n\n\n/** The logo a company's own page holds: an address its image is served from, or the inline SVG it draws. */\ntype PageLogo = { kind: \"url\"; url: string } | { kind: \"svg\"; svg: string };\n\n/** The largest inline SVG taken as a logo; a page's whole illustration is not one. */\nconst MAX_INLINE_SVG = 300_000;\n/** Where a page keeps its brand: its header, its navigation, its banner. */\nconst BRAND_PLACES = \"header, nav, [role=banner]\";\n/** The attributes a lazy-loaded image keeps its address in, the plain one first. */\nconst IMAGE_ADDRESS = [\"src\", \"data-src\", \"data-lazy-src\", \"data-original\"];\n\n/**\n * The company's own logo as its page shows it (`html`, fetched from `pageUrl`): an <img> or an inline\n * <svg> in the header, navigation or banner that says it is the logo in its own or its link's class,\n * id, alt or title. A header's logo is authoritative: nothing outside it counts, an image from another\n * domain never does (a press logo, a partner's mark, a CDN's rewrite), nor a sprite reference. Pure.\n */\nexport function logoFromPage(html: string, pageUrl: string, domain: string): PageLogo | null {\n const own = hostOf(domain);\n if (!own) return null;\n const $ = cheerio.load(html);\n for (const el of $(`${BRAND_PLACES}`).find(\"img, svg\").toArray()) {\n const node = $(el);\n const said = [node, node.closest(\"a\")]\n .flatMap((n) => [\"class\", \"id\", \"alt\", \"aria-label\", \"title\"].map((k) => n.attr(k) ?? \"\"))\n .join(\" \");\n if (!/logo/i.test(said) || NOT_THE_LOGO.test(said)) continue;\n if (el.tagName === \"svg\") {\n const svg = standaloneSvg($, node);\n if (svg) return { kind: \"svg\", svg };\n continue;\n }\n const url = IMAGE_ADDRESS.map((k) => node.attr(k)?.trim() ?? \"\")\n .filter((a) => a !== \"\" && !a.startsWith(\"data:\"))\n .map((a) => absolute(a, pageUrl))\n .find((a): a is string => a !== null);\n const host = url ? hostOf(url) : null;\n if (url && host && (host === own || host.endsWith(`.${own}`))) return { kind: \"url\", url };\n }\n return null;\n}\n\nfunction absolute(address: string, base: string): string | null {\n try {\n const url = new URL(address, base);\n return /^https?:$/.test(url.protocol) ? url.href : null;\n } catch {\n return null;\n }\n}\n\n/** An inline <svg> as a file of its own (its namespace stated); null when it draws nothing itself or is too large. */\nfunction standaloneSvg($: cheerio.CheerioAPI, node: ReturnType<cheerio.CheerioAPI>): string | null {\n const draws = node.find(\"path, circle, rect, polygon, polyline, ellipse, line, text\").length > 0;\n if (!draws || node.find(\"use\").length > 0) return null;\n const copy = node.clone();\n if (!copy.attr(\"xmlns\")) copy.attr(\"xmlns\", \"http://www.w3.org/2000/svg\");\n const svg = $.html(copy);\n return svg.length <= MAX_INLINE_SVG ? svg : null;\n}\n/**\n * The ground a logo file is meant for, from how light its ink is (0-255): the convention tokens.json\n * and the file names share, `logo-light` for a dark-inked mark that reads on a light ground. Pure.\n */\nexport function logoTone(inkLuma: number | null): \"light\" | \"dark\" {\n return inkLuma !== null && inkLuma > 170 ? \"dark\" : \"light\";\n}\n\n/**\n * `tokens.json` (its text) with the logo file registered under `logos`; null when there is no\n * tokens.json to add it to, it does not parse, or the file is already there (nothing to write). Pure.\n */\nexport function withLogoRegistered(\n tokensJson: string | null,\n logo: { path: string; background: \"light\" | \"dark\" },\n): string | null {\n if (tokensJson === null) return null;\n let tokens: unknown;\n try {\n tokens = JSON.parse(tokensJson);\n } catch {\n return null;\n }\n if (!tokens || typeof tokens !== \"object\" || Array.isArray(tokens)) return null;\n const doc = tokens as { logos?: unknown };\n const logos = Array.isArray(doc.logos) ? doc.logos : [];\n if (logos.some((l) => (l as { path?: unknown } | null)?.path === logo.path)) return null;\n const next = { ...doc, logos: [...logos, { variant: \"logo\", background: logo.background, path: logo.path }] };\n return `${JSON.stringify(next, null, 2)}\\n`;\n}\n\n/** The hint when no logo could be found for the company: where the person adds it. Pure. */\nexport function logoMissingHint(company: string, domain: string | undefined): string {\n return `No logo on file for ${company}: add it on the Brand page${domain ? ` (we could not find it on ${domain})` : \"\"}.`;\n}\n\n/** The file extension a logo address ends in, svg when it names none (a mark saved under the wrong extension renders as nothing). */\nfunction extensionOf(url: string): string {\n return /\\.(svg|png|jpg|jpeg|webp)(?:\\?|$)/i.exec(url)?.[1]?.toLowerCase() ?? \"svg\";\n}\n\n/** The largest logo file taken from a server; the page is read at a few times that. */\nconst MAX_LOGO_BYTES = 3_000_000;\n\ntype LogoSource = { bytes: Buffer; extension: string };\n\n/** The logo file at an address, or null when the server will not give it. */\nasync function downloaded(url: string): Promise<LogoSource | null> {\n try {\n const { buffer } = await fetchExternalBytes(url, { maxBytes: MAX_LOGO_BYTES });\n return buffer.byteLength > 0 ? { bytes: buffer, extension: extensionOf(url) } : null;\n } catch {\n return null;\n }\n}\n\n/** The logo the company's own website holds: the header's, which is authoritative, else a logo among the images the site lists. */\nasync function logoOnSite(domain: string): Promise<LogoSource | null> {\n const host = hostOf(domain);\n if (!host) return null;\n const page = `https://${host}/`;\n try {\n const { buffer } = await fetchExternalBytes(page, { maxBytes: MAX_LOGO_BYTES });\n const found = logoFromPage(buffer.toString(\"utf8\"), page, domain);\n if (found?.kind === \"svg\") return { bytes: Buffer.from(found.svg, \"utf8\"), extension: \"svg\" };\n const file = found ? await downloaded(found.url) : null;\n if (file) return file;\n } catch {\n // The page did not load: the images it lists may still say which one is the logo.\n }\n try {\n const listed = await apiPost<ImagesExtractResponse>(\"/api/images/extract\", { url: page, limit: 50 });\n const url = logoFromExtract(listed.hits ?? [], domain);\n return url ? await downloaded(url) : null;\n } catch {\n return null;\n }\n}\n\n/** The client's logo file: Brandfetch's when it confirms the brand, else the company's own website's; else why none. */\nasync function logoSource(domain: string | undefined): Promise<LogoSource | { note: string }> {\n let lookup: LogoLookup | null = null;\n if (domain) {\n try {\n lookup = await apiPost<ImagesLogoResponse>(\"/api/images/logo\", { domain, variant: \"logo\", autoIngest: 1 });\n } catch {\n lookup = null;\n }\n }\n const decision = decideClientLogo(domain, lookup);\n if (decision.use) {\n const file = await downloaded(decision.url);\n if (file) return file;\n }\n // Brandfetch holds none (or a doubtful one): the company's own website is authoritative about its logo.\n if (domain && !(decision.use === false && decision.reason === \"mismatch\")) {\n const file = await logoOnSite(domain);\n if (file) return file;\n }\n return { note: clientLogoMissNote(decision.use ? { use: false, reason: \"no_hits\" } : decision, domain) };\n}\n\n/** The mean ink of a logo file, 0-255; null when it cannot be read. */\nasync function inkOf(bytes: Buffer): Promise<number | null> {\n try {\n return inkLuma((await logoArtwork(bytes)).data);\n } catch {\n return null;\n }\n}\n\n/**\n * Fetch the client's own brand mark and write it into the workspace (`root`):\n * `src/brand/logos/logo-<light|dark>.<ext>`, registered in tokens.json so every ad finds it.\n *\n * Only ever called when the workspace has no mark. Their domain is on record with Baker; Brandfetch\n * holds the mark against it when it has one, else the company's own website does.\n *\n * Never places an unconfirmed one (see `decideClientLogo`): a wrong mark is a worse\n * outcome than a late ad. On any failure this returns the sentence the agent should act\n * on, rather than a stack trace.\n */\nexport async function fetchClientLogo(\n root = \".\",\n): Promise<{ ok: true; path: string; domain?: string } | { ok: false; reason: string; domain?: string; company?: string }> {\n let domain: string | undefined;\n let company: string | undefined;\n try {\n const found = await apiGet<CompanyGetResponse>(\"/api/company\");\n domain = found.data.domain?.trim() || undefined;\n company = found.data.name;\n } catch {\n // A company read that fails is not the agent's problem to debug mid-ad; it lands on\n // the same path as \"no domain on record\" and offers the same two ways out.\n domain = undefined;\n }\n const named = { ...(domain ? { domain } : {}), ...(company ? { company } : {}) };\n const source = await logoSource(domain);\n if (\"note\" in source) return { ok: false, reason: source.note, ...named };\n try {\n const tone = logoTone(await inkOf(source.bytes));\n const dir = path.join(root, BRAND_DIR, \"logos\");\n await mkdir(dir, { recursive: true });\n const file = path.join(dir, `logo-${tone}.${source.extension}`);\n await writeFile(file, source.bytes);\n await registerLogo(root, path.join(BRAND_DIR, \"logos\", path.basename(file)), tone);\n return { ok: true, path: file, ...named };\n } catch {\n return { ok: false, reason: clientLogoMissNote({ use: false, reason: \"no_hits\" }, domain), ...named };\n }\n}\n\n/** Register the file in the workspace's tokens.json, when it has one; a failure to is not the logo's. */\nasync function registerLogo(root: string, relative: string, background: \"light\" | \"dark\"): Promise<void> {\n const tokensPath = path.join(root, BRAND_DIR, \"tokens.json\");\n const next = withLogoRegistered(await readFile(tokensPath, \"utf8\").catch(() => null), { path: relative, background });\n if (next !== null) await writeFile(tokensPath, next, \"utf8\").catch(() => undefined);\n}\n\n/**\n * The brand kit with the company's logo in it: as it is when it has one, else the logo fetched from\n * Brandfetch or the company's own website and the kit read again (`reread`). With none found the kit\n * is as it was and `hint` says where the person adds it. `fetch` is the lookup. Never throws.\n */\nexport async function withClientLogo<Kit extends { logo?: string }>(\n root: string,\n kit: Kit,\n reread: () => Promise<Kit>,\n fetch: typeof fetchClientLogo = fetchClientLogo,\n): Promise<{ kit: Kit; hint?: string }> {\n if (kit.logo) return { kit };\n const fetched = await fetch(root).catch(() => null);\n if (fetched?.ok) return { kit: await reread() };\n return { kit, hint: logoMissingHint(fetched?.company ?? \"your company\", fetched?.domain) };\n}\n"],"mappings":"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","names":["inkLuma"]}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import {
|
|
2
|
+
MAX_REMOTE_IMAGE_BYTES,
|
|
3
|
+
fetchExternalBytes
|
|
4
|
+
} from "./chunk-BLAHHMPF.js";
|
|
5
|
+
|
|
6
|
+
// src/lib/image/io.ts
|
|
7
|
+
import { randomBytes } from "crypto";
|
|
8
|
+
import { glob as fsGlob, readFile, rename, stat, writeFile } from "fs/promises";
|
|
9
|
+
import { dirname, extname, join, resolve } from "path";
|
|
10
|
+
var REMOTE_RE = /^https?:\/\//i;
|
|
11
|
+
var GLOB_RE = /[*?[\]{}]/;
|
|
12
|
+
function isRemoteUrl(value) {
|
|
13
|
+
return REMOTE_RE.test(value);
|
|
14
|
+
}
|
|
15
|
+
function looksLikeGlob(value) {
|
|
16
|
+
return GLOB_RE.test(value);
|
|
17
|
+
}
|
|
18
|
+
async function expandInputs(spec) {
|
|
19
|
+
const parts = spec.split(",").map((p) => p.trim()).filter(Boolean);
|
|
20
|
+
const out = [];
|
|
21
|
+
for (const part of parts) {
|
|
22
|
+
if (isRemoteUrl(part)) {
|
|
23
|
+
out.push(part);
|
|
24
|
+
continue;
|
|
25
|
+
}
|
|
26
|
+
if (looksLikeGlob(part)) {
|
|
27
|
+
for await (const match of fsGlob(part)) {
|
|
28
|
+
if (typeof match === "string") out.push(match);
|
|
29
|
+
}
|
|
30
|
+
} else {
|
|
31
|
+
out.push(part);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return out;
|
|
35
|
+
}
|
|
36
|
+
async function readImageBuffer(pathOrUrl) {
|
|
37
|
+
if (isRemoteUrl(pathOrUrl)) {
|
|
38
|
+
const { buffer } = await fetchExternalBytes(pathOrUrl, { maxBytes: MAX_REMOTE_IMAGE_BYTES });
|
|
39
|
+
return buffer;
|
|
40
|
+
}
|
|
41
|
+
return readFile(pathOrUrl);
|
|
42
|
+
}
|
|
43
|
+
async function isDirectory(path) {
|
|
44
|
+
try {
|
|
45
|
+
const s = await stat(path);
|
|
46
|
+
return s.isDirectory();
|
|
47
|
+
} catch {
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
async function resolveOutputPath(inputPath, outputArg, options) {
|
|
52
|
+
const base = options.newExtension ? inputPath.slice(0, -extname(inputPath).length) + options.newExtension : inputPath;
|
|
53
|
+
if (!outputArg) return base;
|
|
54
|
+
if (options.multipleInputs || await isDirectory(outputArg)) {
|
|
55
|
+
const filename = base.split("/").pop() ?? "out.png";
|
|
56
|
+
return join(outputArg, filename);
|
|
57
|
+
}
|
|
58
|
+
return outputArg;
|
|
59
|
+
}
|
|
60
|
+
async function atomicWrite(targetPath, data) {
|
|
61
|
+
const absolute = resolve(targetPath);
|
|
62
|
+
const dir = dirname(absolute);
|
|
63
|
+
const tmp = join(dir, `.baker-image-${randomBytes(8).toString("hex")}.tmp`);
|
|
64
|
+
await writeFile(tmp, data);
|
|
65
|
+
await rename(tmp, absolute);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export {
|
|
69
|
+
isRemoteUrl,
|
|
70
|
+
expandInputs,
|
|
71
|
+
readImageBuffer,
|
|
72
|
+
isDirectory,
|
|
73
|
+
resolveOutputPath,
|
|
74
|
+
atomicWrite
|
|
75
|
+
};
|
|
76
|
+
//# sourceMappingURL=chunk-MI3JB5KB.js.map
|