@koda-sl/baker-cli 0.476.0 → 0.481.0-dev.2d33e194f
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 +128 -57
- package/canvas/avocado-tutorial.json +3 -3
- package/canvas/hello-world-overlay.json +1 -1
- package/dist/account-67PZBEP6.js +79 -0
- package/dist/account-HZC6X2PH.js +49 -0
- package/dist/account-TQUV64XP.js +80 -0
- package/dist/account-reads-IRBTERTY.js +218 -0
- package/dist/account-writes-ALDSHAEV.js +66 -0
- package/dist/accounts-4P54UY6F.js +115 -0
- package/dist/accounts-6UNBLIUH.js +75 -0
- package/dist/accounts-GVTZN4VE.js +114 -0
- package/dist/accounts-NJ6TF6WH.js +611 -0
- package/dist/accounts-WTB737BM.js +77 -0
- package/dist/actions-D3BOWDEB.js +55 -0
- package/dist/active-entities-J2O76SRP.js +103 -0
- package/dist/activities-2J7FTZMN.js +74 -0
- package/dist/ad-group-writes-PQKDCMQF.js +170 -0
- package/dist/ad-groups-NGYEJMV4.js +68 -0
- package/dist/ad-writes-77FVHJTS.js +174 -0
- package/dist/add-2FHPLALV.js +105 -0
- package/dist/add-2XJYOGKW.js +104 -0
- package/dist/add-62JPGFD4.js +302 -0
- package/dist/add-JP76KCCY.js +97 -0
- package/dist/add-accounts-M5Y4DQFM.js +91 -0
- package/dist/ads-DB5NDHX5.js +128 -0
- package/dist/ads-J2F7BSHR.js +45 -0
- package/dist/ads-J2F7BSHR.js.map +1 -0
- package/dist/ads-LYNA2I7B.js +77 -0
- package/dist/ads-W2IPUWHQ.js +113 -0
- package/dist/adsets-PY5ZKGBO.js +176 -0
- package/dist/advertisers-BVAZ4XUX.js +125 -0
- package/dist/advertisers-NZPJQF7W.js +120 -0
- package/dist/analytics-K2QIWKBN.js +444 -0
- package/dist/analytics-K2QIWKBN.js.map +1 -0
- package/dist/analytics-NTPZKMYK.js +1976 -0
- package/dist/animate-EIV2OHXT.js +480 -0
- package/dist/assign-UNIA5YDC.js +77 -0
- package/dist/audience-size-4NN6ENP5.js +94 -0
- package/dist/audiences-45ZCY2VZ.js +268 -0
- package/dist/audiences-UUIYQFS6.js +78 -0
- package/dist/audiences-VYFX7OFS.js +85 -0
- package/dist/audit-NSVHNA5J.js +151 -0
- package/dist/audit-OWXTLQC4.js +88 -0
- package/dist/autocomplete-EHWAQYVB.js +111 -0
- package/dist/avatars-7WZPW7BV.js +38 -0
- package/dist/bid-pricing-F5NDMS6W.js +99 -0
- package/dist/brand-QAJ5VWFM.js +22 -0
- package/dist/brief-V2OB5OJW.js +490 -0
- package/dist/businesses-ZH67AXR6.js +53 -0
- package/dist/campaign-groups-KFJKLNNU.js +95 -0
- package/dist/campaign-writes-BDGQ6XB3.js +170 -0
- package/dist/campaign-writes-FNMAGCKB.js +165 -0
- package/dist/campaigns-66OOGMDW.js +110 -0
- package/dist/campaigns-6HMHOXXY.js +109 -0
- package/dist/campaigns-HJTGX5WW.js +76 -0
- package/dist/campaigns-KT3J2O7S.js +107 -0
- package/dist/canvas-MQ6ZE5CZ.js +46 -0
- package/dist/capabilities-RVUMPP7C.js +144 -0
- package/dist/cards-I4BZIYUV.js +85 -0
- package/dist/catalog-NLL5VDRK.js +64 -0
- package/dist/catalogs-B2NKQO24.js +128 -0
- package/dist/changes-FX3TPYGT.js +135 -0
- package/dist/chatgpt-3NS2R442.js +47 -0
- package/dist/chats-72L7U4ML.js +262 -0
- package/dist/chunk-2KIF3U2C.js +51 -0
- package/dist/chunk-35ENAFJX.js +46 -0
- package/dist/chunk-3ZWHAIMU.js +207 -0
- package/dist/chunk-3ZWHAIMU.js.map +1 -0
- package/dist/chunk-4DM6OAQ6.js +2065 -0
- package/dist/chunk-4DM6OAQ6.js.map +1 -0
- package/dist/chunk-4TU2MWBJ.js +275 -0
- package/dist/chunk-57UECM77.js +98 -0
- package/dist/chunk-65BQAJMH.js +136 -0
- package/dist/chunk-6GFJFTG6.js +75 -0
- package/dist/chunk-6HPIWZHS.js +76 -0
- package/dist/chunk-73B3RQJC.js +610 -0
- package/dist/chunk-7GYM4I5I.js +206 -0
- package/dist/chunk-7NTION5F.js +26 -0
- package/dist/chunk-7SX73SH2.js +2902 -0
- package/dist/chunk-7SX73SH2.js.map +1 -0
- package/dist/chunk-AFDPISNJ.js +111 -0
- package/dist/chunk-AIDXJHZ4.js +433 -0
- package/dist/chunk-AR7PU7BB.js +76 -0
- package/dist/chunk-AXVOBRQT.js +1442 -0
- package/dist/chunk-BBBZR7MF.js +160 -0
- package/dist/chunk-BVYPRGPG.js +92 -0
- package/dist/chunk-CAMX6OHF.js +3182 -0
- package/dist/chunk-CAMX6OHF.js.map +1 -0
- package/dist/chunk-CBCGVPHB.js +125 -0
- package/dist/chunk-CECS3DHZ.js +333 -0
- package/dist/chunk-CZYUZL6R.js +3151 -0
- package/dist/chunk-D5MF337I.js +97 -0
- package/dist/chunk-DDTILZXI.js +103 -0
- package/dist/chunk-DL2W4N7J.js +52 -0
- package/dist/chunk-DLUWHZCE.js +225 -0
- package/dist/chunk-EOGPNV25.js +509 -0
- package/dist/chunk-F3FSD6BO.js +96 -0
- package/dist/chunk-FDG2LLX7.js +494 -0
- package/dist/chunk-FE7T32YL.js +163 -0
- package/dist/chunk-FE7T32YL.js.map +1 -0
- package/dist/chunk-FIN4ZXGJ.js +70 -0
- package/dist/chunk-FIN4ZXGJ.js.map +1 -0
- package/dist/chunk-FO5EP6DA.js +24008 -0
- package/dist/chunk-FO5EP6DA.js.map +1 -0
- package/dist/chunk-FSGTITIW.js +622 -0
- package/dist/chunk-FSGTITIW.js.map +1 -0
- package/dist/chunk-FSPV2DUG.js +310 -0
- package/dist/chunk-FSPV2DUG.js.map +1 -0
- package/dist/chunk-FYAWA3FO.js +1830 -0
- package/dist/chunk-G3KO2HFZ.js +35 -0
- package/dist/chunk-GKXMIXEV.js +166 -0
- package/dist/chunk-GT4UFORX.js +296 -0
- package/dist/chunk-GZ6YS7TG.js +106 -0
- package/dist/chunk-H7JOVRHO.js +106 -0
- package/dist/chunk-I2DNBEV6.js +4227 -0
- package/dist/chunk-I2DNBEV6.js.map +1 -0
- package/dist/chunk-IJDF7D4U.js +139 -0
- package/dist/chunk-INJHF7AF.js +172 -0
- package/dist/chunk-IZFGTGFR.js +67 -0
- package/dist/chunk-J2QOKD2F.js +76 -0
- package/dist/chunk-J5WZ7SAD.js +346 -0
- package/dist/chunk-JC6GNMA7.js +297 -0
- package/dist/chunk-KB5HBQEK.js +25 -0
- package/dist/chunk-KB5XJHQX.js +216 -0
- package/dist/chunk-KM4AAAHZ.js +5187 -0
- package/dist/chunk-KM4AAAHZ.js.map +1 -0
- package/dist/chunk-LFZTGIPJ.js +384 -0
- package/dist/chunk-LFZTGIPJ.js.map +1 -0
- package/dist/chunk-LHNL6JM2.js +309 -0
- package/dist/chunk-LMHVLUD4.js +175 -0
- package/dist/chunk-LMHVLUD4.js.map +1 -0
- package/dist/chunk-NAMEFVWL.js +1743 -0
- package/dist/chunk-NORAJYUI.js +172 -0
- package/dist/chunk-NQTSHC7Z.js +304 -0
- package/dist/chunk-O3LHCQ7Q.js +136 -0
- package/dist/chunk-O4ABJ352.js +4410 -0
- package/dist/chunk-O4ABJ352.js.map +1 -0
- package/dist/chunk-O5XLQUDS.js +846 -0
- package/dist/chunk-OI7KSXZM.js +6265 -0
- package/dist/chunk-OI7KSXZM.js.map +1 -0
- package/dist/chunk-OO67YTPM.js +35 -0
- package/dist/chunk-OO67YTPM.js.map +1 -0
- package/dist/chunk-OXBPKBSK.js +6667 -0
- package/dist/chunk-OXBPKBSK.js.map +1 -0
- package/dist/chunk-P3XJUOWT.js +474 -0
- package/dist/chunk-P3ZJIIDS.js +57 -0
- package/dist/chunk-P5T7OZKV.js +26 -0
- package/dist/chunk-P66JWKAL.js +533 -0
- package/dist/chunk-P66JWKAL.js.map +1 -0
- package/dist/chunk-PA5MYVQY.js +66 -0
- package/dist/chunk-PELW56D7.js +45 -0
- package/dist/chunk-PGVF4SB7.js +169 -0
- package/dist/chunk-Q676JHJA.js +58 -0
- package/dist/chunk-QDOVBGKZ.js +149 -0
- package/dist/chunk-QHIUJXU7.js +363 -0
- package/dist/chunk-QJPPPQPD.js +98 -0
- package/dist/chunk-QNEX7FEC.js +174 -0
- package/dist/chunk-QTL4NJ5I.js +65 -0
- package/dist/chunk-QTL4NJ5I.js.map +1 -0
- package/dist/chunk-QWX3QJNM.js +170 -0
- package/dist/chunk-QXDEZKAR.js +455 -0
- package/dist/chunk-QXDEZKAR.js.map +1 -0
- package/dist/chunk-RG7OMI5W.js +1621 -0
- package/dist/chunk-RG7OMI5W.js.map +1 -0
- package/dist/chunk-RUHMLPH5.js +455 -0
- package/dist/chunk-SEPPFM5S.js +228 -0
- package/dist/chunk-SJLIV6PF.js +19 -0
- package/dist/chunk-SLCSLVGS.js +274 -0
- package/dist/chunk-SQ7DRYCC.js +150 -0
- package/dist/chunk-THU74XR6.js +96 -0
- package/dist/chunk-TY7TEU3T.js +1079 -0
- package/dist/chunk-UXTZ5MBE.js +56 -0
- package/dist/chunk-V43RLLZE.js +55 -0
- package/dist/chunk-V7PMSMPF.js +817 -0
- package/dist/chunk-VFSLIDXA.js +42 -0
- package/dist/chunk-VHMNSO2B.js +84 -0
- package/dist/chunk-VKH6LSC2.js +188 -0
- package/dist/chunk-VTCBPYGE.js +592 -0
- package/dist/chunk-W6ASM6UP.js +197 -0
- package/dist/chunk-W7KB3LJE.js +60 -0
- package/dist/chunk-WESRVXFS.js +133 -0
- package/dist/chunk-WILN7TD6.js +84 -0
- package/dist/chunk-YGK7ZHNI.js +337 -0
- package/dist/chunk-YGK7ZHNI.js.map +1 -0
- package/dist/chunk-YGL5LTEA.js +665 -0
- package/dist/chunk-YONSWWCF.js +215 -0
- package/dist/chunk-Z5KBRTB2.js +191 -0
- package/dist/chunk-Z62XZCBE.js +541 -0
- package/dist/chunk-Z62XZCBE.js.map +1 -0
- package/dist/chunk-ZBKBTTHD.js +74 -0
- package/dist/chunk-ZJR5E53N.js +23 -0
- package/dist/chunk-ZLU5QDLU.js +486 -0
- package/dist/chunk-ZNNC6B75.js +94 -0
- package/dist/chunk-ZO2YLHRW.js +74 -0
- package/dist/chunk-ZPJE6D7W.js +74 -0
- package/dist/claim-DIITRUIN.js +197 -0
- package/dist/cli.js +38 -39
- package/dist/cli.js.map +1 -1
- package/dist/client-LY2JCQS2.js +19 -0
- package/dist/code-7CBNYUPU.js +76 -0
- package/dist/companies-HHSYHL74.js +195 -0
- package/dist/complete-M3TURPU5.js +81 -0
- package/dist/config-7COTFJWK.js +88 -0
- package/dist/connect-TQL5EVVE.js +42 -0
- package/dist/content-OXMONMHJ.js +85 -0
- package/dist/conversation-GE273GC4.js +93 -0
- package/dist/conversion-report-BH4HH2Q3.js +125 -0
- package/dist/conversion-upload-command-QWWYCTNV.js +438 -0
- package/dist/conversion-writes-HG2O6JI7.js +120 -0
- package/dist/conversions-DP6ZF57D.js +135 -0
- package/dist/conversions-XPSN7SOW.js +76 -0
- package/dist/countries-UXAUGSBR.js +82 -0
- package/dist/create-ENQWVWGB.js +59 -0
- package/dist/create-NVXJP477.js +207 -0
- package/dist/create-PITWGVAS.js +130 -0
- package/dist/create-PITWGVAS.js.map +1 -0
- package/dist/create-XLZYNFKN.js +235 -0
- package/dist/creatives-O3444SBT.js +182 -0
- package/dist/creatives-ONKKGW5T.js +87 -0
- package/dist/creatives-U6IKIQBT.js +51 -0
- package/dist/credentials-3UY7RVUL.js +287 -0
- package/dist/critique-3LMW73QJ.js +1449 -0
- package/dist/critique-KB32Y4AW.js +213 -0
- package/dist/crm-OX67TBWD.js +224 -0
- package/dist/crm-XXU5XZIQ.js +318 -0
- package/dist/crop-3ZV5BFCA.js +113 -0
- package/dist/currency-XP4EMU4M.js +88 -0
- package/dist/custom-conversions-TV23XQHW.js +125 -0
- package/dist/customers-EJ7FVCTC.js +56 -0
- package/dist/decide-EGQ3CRHI.js +199 -0
- package/dist/delete-55IHV25V.js +63 -0
- package/dist/delete-GXLPIGTC.js +54 -0
- package/dist/delete-MUPTLWHI.js +71 -0
- package/dist/delete-OW2N4WIA.js +66 -0
- package/dist/delete-R2SEUSLV.js +69 -0
- package/dist/delete-ZGBBWFAW.js +71 -0
- package/dist/demographics-K6DEWUE5.js +138 -0
- package/dist/describe-4O3VCV6L.js +97 -0
- package/dist/describe-FCTM53MM.js +97 -0
- package/dist/dimensions-AD4VS5AH.js +101 -0
- package/dist/discard-NZ7FQJEE.js +66 -0
- package/dist/discover-OISU5EJF.js +172 -0
- package/dist/discover-UQXQUPNO.js +93 -0
- package/dist/domain-DXBHNZLO.js +98 -0
- package/dist/download-IE6XLFHM.js +299 -0
- package/dist/draft-DB6KMBCH.js +306 -0
- package/dist/draft-ENA7S4Y7.js +103 -0
- package/dist/draft-HJBAG3SN.js +307 -0
- package/dist/draft-ICEVLF4E.js +328 -0
- package/dist/draft-MGKJ5RYI.js +100 -0
- package/dist/draft-OBFKQEPK.js +281 -0
- package/dist/draft-OOHU6NMA.js +217 -0
- package/dist/draft-S6VPKZYY.js +233 -0
- package/dist/engine/index.js +13 -13
- package/dist/env-YLOVBOAE.js +43 -0
- package/dist/experiment-PHFP6IBM.js +1397 -0
- package/dist/export-R2IMUCQO.js +168 -0
- package/dist/extract-OQP3TSQG.js +113 -0
- package/dist/facets-NUKR7I57.js +114 -0
- package/dist/favorites-NS73FDG5.js +178 -0
- package/dist/feed-SQPOB7SP.js +177 -0
- package/dist/feedback-SQAAAKOQ.js +66 -0
- package/dist/feedback-record-7W7WBHSQ.js +175 -0
- package/dist/fetch-PQ3NOPIE.js +139 -0
- package/dist/fetch-PTSAVQW5.js +176 -0
- package/dist/find-Y22AANDE.js +134 -0
- package/dist/find-Y22AANDE.js.map +1 -0
- package/dist/fit-IITU6UWC.js +45 -0
- package/dist/flows-ZLF3QJ76.js +247 -0
- package/dist/flows-ZLF3QJ76.js.map +1 -0
- package/dist/follow-N3DQZV7M.js +94 -0
- package/dist/follow-competitors-BZPCBGIB.js +112 -0
- package/dist/following-KESWTEBR.js +113 -0
- package/dist/fonts-FG6XMK5A.js +34 -0
- package/dist/forecast-43XBSHJR.js +168 -0
- package/dist/forecast-MAFZQ4UF.js +104 -0
- package/dist/funding-HYSCYS62.js +85 -0
- package/dist/funnel-32CNV57L.js +394 -0
- package/dist/ga4-J2KTNCD4.js +55 -0
- package/dist/generate-G3I5BLLW.js +262 -0
- package/dist/generate-G3I5BLLW.js.map +1 -0
- package/dist/get-3P2EQLP3.js +63 -0
- package/dist/get-FJB3X44Z.js +61 -0
- package/dist/get-GDF5V3RN.js +78 -0
- package/dist/get-MBGO4VJD.js +63 -0
- package/dist/get-NOKSZPIV.js +59 -0
- package/dist/get-W7MKBMQ3.js +56 -0
- package/dist/get-WHC4SRYK.js +92 -0
- package/dist/gif-SFYVDLCU.js +94 -0
- package/dist/google-THWFDDHJ.js +3191 -0
- package/dist/google-THWFDDHJ.js.map +1 -0
- package/dist/google-XRAMIES5.js +136 -0
- package/dist/google-ads-N55SE2CB.js +195 -0
- package/dist/group-6RDJTWVN.js +43 -0
- package/dist/group-TZJCKHKS.js +43 -0
- package/dist/gsc-HD6UFRYM.js +30 -0
- package/dist/history-4RWCE7WW.js +67 -0
- package/dist/history-IROFQ6LA.js +133 -0
- package/dist/hubspot-75N4AI43.js +779 -0
- package/dist/icon-BMCDFGMN.js +137 -0
- package/dist/ideas-7UQMXLI5.js +32 -0
- package/dist/images-OFR3S2U4.js +90 -0
- package/dist/improve-P6F2HXYQ.js +86 -0
- package/dist/ingest-HGR7KSG4.js +107 -0
- package/dist/ingest-XU4WXE4U.js +23 -0
- package/dist/insights-7SI2TB72.js +128 -0
- package/dist/insights-7SI2TB72.js.map +1 -0
- package/dist/insights-P5VIDOZN.js +432 -0
- package/dist/insights-P5VIDOZN.js.map +1 -0
- package/dist/inspect-TL2VZBN7.js +189 -0
- package/dist/inspiration-7WTS3AVI.js +53 -0
- package/dist/intent-OCZE4O7R.js +95 -0
- package/dist/job-XMPQ27SJ.js +202 -0
- package/dist/job-create-HTDQHPEF.js +109 -0
- package/dist/job-status-L7WUTZ2C.js +74 -0
- package/dist/keep-42SLV4CR.js +78 -0
- package/dist/keyword-gap-323NE4AK.js +130 -0
- package/dist/keyword-metrics-V6DGO7U5.js +197 -0
- package/dist/keywords-for-site-ANSLXBHB.js +128 -0
- package/dist/landing-K25GUBLZ.js +28 -0
- package/dist/landings-5IYXHA5Z.js +151 -0
- package/dist/languages-SRFGW6Z3.js +55 -0
- package/dist/languages-US6JUATO.js +40 -0
- package/dist/launches-7U4TPNO3.js +108 -0
- package/dist/launches-7U4TPNO3.js.map +1 -0
- package/dist/layerize-U672AXED.js +190 -0
- package/dist/leads-MXUQISOC.js +293 -0
- package/dist/leads-UJVKPRXX.js +90 -0
- package/dist/learn-XTEU4K66.js +203 -0
- package/dist/library-RPFXNER4.js +109 -0
- package/dist/library-RPFXNER4.js.map +1 -0
- package/dist/lighthouse-SJ4QNLUS.js +75 -0
- package/dist/line-item-writes-NURRHJ7P.js +208 -0
- package/dist/line-items-PC6QWV5J.js +103 -0
- package/dist/link-ZSXKCLQD.js +64 -0
- package/dist/linkedin-EZJJBKY3.js +1008 -0
- package/dist/list-ECF3RA26.js +303 -0
- package/dist/list-GQ65MC2N.js +65 -0
- package/dist/list-K56J7FZW.js +51 -0
- package/dist/list-M4Z3WYPM.js +76 -0
- package/dist/list-N7ZLO2LE.js +63 -0
- package/dist/list-Q5ZZRPHO.js +151 -0
- package/dist/list-SXYVDDMU.js +57 -0
- package/dist/list-XFIOXFB2.js +50 -0
- package/dist/locations-LZUHWKZY.js +40 -0
- package/dist/locations-NG4YXIBT.js +67 -0
- package/dist/log-EEBJQ6X2.js +92 -0
- package/dist/logo-4JOWGJ5A.js +18 -0
- package/dist/lookup-7NBZ64TE.js +22 -0
- package/dist/make-3J5EK52U.js +633 -0
- package/dist/map-JVVNH2RI.js +404 -0
- package/dist/map-JVVNH2RI.js.map +1 -0
- package/dist/mcp-DAKGMA2Z.js +463 -0
- package/dist/media-2SWDJDA6.js +15 -0
- package/dist/media-R64YP7T2.js +89 -0
- package/dist/media-sources-L2X3KRDU.js +32 -0
- package/dist/members-22BOEGQS.js +44 -0
- package/dist/meta-RBHF2RG3.js +69 -0
- package/dist/metrics-IXRQZVSM.js +152 -0
- package/dist/models-BDXZ56GI.js +155 -0
- package/dist/normalize-JAE3NVOX.js +141 -0
- package/dist/normalize-P5Q3F7FU.js +806 -0
- package/dist/options-YTIU3BDC.js +121 -0
- package/dist/options-YTIU3BDC.js.map +1 -0
- package/dist/output-ZL62UZHQ.js +24 -0
- package/dist/page-FZ7IZ5CV.js +105 -0
- package/dist/pages-SS7TZTHV.js +66 -0
- package/dist/performance-FOOV624A.js +24 -0
- package/dist/performance-VYEANYQ5.js +4707 -0
- package/dist/performance-VYEANYQ5.js.map +1 -0
- package/dist/pinterest-UETS7U7U.js +96 -0
- package/dist/pixels-LCTMLKGP.js +108 -0
- package/dist/pixels-MPZYWGFD.js +60 -0
- package/dist/plan-V74EVXTW.js +207 -0
- package/dist/preview-RU54Z4EM.js +169 -0
- package/dist/profile-NQOIBLJL.js +150 -0
- package/dist/profile-NQOIBLJL.js.map +1 -0
- package/dist/promoted-tweet-writes-FQRFU7PB.js +180 -0
- package/dist/promoted-tweets-L2L3V5SF.js +119 -0
- package/dist/properties-ZUDQH3LE.js +101 -0
- package/dist/publish-5XTAHTM4.js +322 -0
- package/dist/query-26T7XATH.js +236 -0
- package/dist/query-SHUOHXTO.js +247 -0
- package/dist/query-XISUHMBR.js +62 -0
- package/dist/questionnaire-UG55JLVW.js +93 -0
- package/dist/read-UYSQAXRV.js +141 -0
- package/dist/reddit-BCB4FT6J.js +26 -0
- package/dist/refresh-WY5NPNLX.js +94 -0
- package/dist/release-JBSPPNQE.js +60 -0
- package/dist/relevant-pages-OU5H56KY.js +99 -0
- package/dist/remove-2KACTXKP.js +48 -0
- package/dist/remove-M5P7M5JU.js +50 -0
- package/dist/reopen-J3VW5766.js +63 -0
- package/dist/rerun-5MRYJG6U.js +84 -0
- package/dist/research-4CAA5CA2.js +262 -0
- package/dist/research-7LBTJ2B2.js +62 -0
- package/dist/reset-DBWWGCXY.js +54 -0
- package/dist/reset-DJSSXC4Y.js +54 -0
- package/dist/resolve-BNRUYS56.js +121 -0
- package/dist/retry-TMRIFGVT.js +62 -0
- package/dist/retry-WRBGLB7O.js +60 -0
- package/dist/retry-failed-NWLH6WHK.js +45 -0
- package/dist/run-TA3DP6QG.js +59 -0
- package/dist/run-VVTLDRRW.js +65 -0
- package/dist/scaffold-ad-7DSV6XDB.js +1548 -0
- package/dist/scaffold-static-ad-BEZ37QWN.js +971 -0
- package/dist/scaffold-video-SPCMTYK3.js +872 -0
- package/dist/schedule-BQQGYGT7.js +61 -0
- package/dist/schedule-S547HPUT.js +66 -0
- package/dist/scheduled-agents-4Q6WS333.js +49 -0
- package/dist/scheduled-agents-4Q6WS333.js.map +1 -0
- package/dist/schema-DDEWM5ZX.js +132 -0
- package/dist/schema-SQIP75WG.js +63 -0
- package/dist/scrape-TI6S2W7I.js +2241 -0
- package/dist/screenshot-XFAYY4WW.js +102 -0
- package/dist/search-4HIOKYFR.js +26 -0
- package/dist/search-D2IV7KFJ.js +92 -0
- package/dist/search-IZPDHRJ4.js +224 -0
- package/dist/search-KFDL2IGG.js +91 -0
- package/dist/search-VJBKRD2U.js +174 -0
- package/dist/search-copy-QZXCAGK4.js +168 -0
- package/dist/seeds-VUNZMHZH.js +101 -0
- package/dist/select-U5TPAXGY.js +94 -0
- package/dist/sends-7HWLIOUO.js +309 -0
- package/dist/sequences-5RAGZE7L.js +146 -0
- package/dist/set-prompt-MHU4WI3Q.js +185 -0
- package/dist/setup-links-SPIGXQTY.js +141 -0
- package/dist/shared-3CGGKICB.js +31 -0
- package/dist/site-FW6K6L6M.js +177 -0
- package/dist/sitemaps-3WDYQHYR.js +87 -0
- package/dist/sites-G4DQ2Z2X.js +101 -0
- package/dist/skills-PA26HXEP.js +47 -0
- package/dist/sources-4NAC6HV6.js +421 -0
- package/dist/sources-4NAC6HV6.js.map +1 -0
- package/dist/sources-PMBWG4KO.js +30 -0
- package/dist/stale-5IMY6MWC.js +63 -0
- package/dist/stats-Q35I5DRW.js +34 -0
- package/dist/status-62SUXUWW.js +62 -0
- package/dist/sticker-MC2IAIQB.js +94 -0
- package/dist/stock-B7LKMKUK.js +179 -0
- package/dist/studio-BB2EVW5I.js +49 -0
- package/dist/sync-CLZDZL5F.js +54 -0
- package/dist/sync-XCHBEBZG.js +279 -0
- package/dist/sync-XCHBEBZG.js.map +1 -0
- package/dist/sync-YTHNOAAM.js +54 -0
- package/dist/sync-definition-DYSVT7BJ.js +52 -0
- package/dist/tag-manager-EAREWVYR.js +43 -0
- package/dist/tags-53AG3FYG.js +20 -0
- package/dist/tags-7TH7TVR6.js +224 -0
- package/dist/tags-EB4RE3ML.js +20 -0
- package/dist/tags-EUEWDTTN.js +20 -0
- package/dist/tags-ICAWBCOR.js +26 -0
- package/dist/targeting-constants-IFE72XKL.js +118 -0
- package/dist/targeting-criteria-WZDGJKOI.js +113 -0
- package/dist/targets-OKJ6A4YL.js +102 -0
- package/dist/templates-IA5TDCCZ.js +178 -0
- package/dist/templates-IA5TDCCZ.js.map +1 -0
- package/dist/testimonials-THHR5JH5.js +32 -0
- package/dist/themes-ZFRM6AVO.js +94 -0
- package/dist/top-companies-63Q475IA.js +108 -0
- package/dist/translate-XKUWIIOS.js +598 -0
- package/dist/triggers-XLKO2QXQ.js +141 -0
- package/dist/tweets-7EZRFG3Y.js +123 -0
- package/dist/unfollow-WBBTVEHE.js +46 -0
- package/dist/unlink-P7KU54YU.js +67 -0
- package/dist/unstage-EG7AUE5X.js +84 -0
- package/dist/unstage-GHXGDOT2.js +95 -0
- package/dist/update-7EWDO32L.js +98 -0
- package/dist/update-BVYGB4YL.js +142 -0
- package/dist/update-KVMQOVQK.js +63 -0
- package/dist/update-N74F5KXB.js +155 -0
- package/dist/upload-6PYPHPCZ.js +126 -0
- package/dist/upload-NA62W5RS.js +150 -0
- package/dist/upscale-RXJUBHXN.js +109 -0
- package/dist/url-options-EUDXLDBD.js +130 -0
- package/dist/url-params-DBJSM2LP.js +98 -0
- package/dist/use-MHPNS4V4.js +95 -0
- package/dist/validate-TTAGVGM2.js +88 -0
- package/dist/variant-ZFCWILPG.js +338 -0
- package/dist/videos-DUG7JYUA.js +39 -0
- package/dist/view-PYCGDGT2.js +121 -0
- package/dist/viewer-check-HIMNCZGY.js +68 -0
- package/dist/web-SDG42OBC.js +140 -0
- package/dist/winners-AI4PVSOI.js +113 -0
- package/dist/winning-ads-KGAYAIPG.js +84 -0
- package/dist/write-commands-34L5LJIB.js +713 -0
- package/dist/write-commands-5TJ3LQ5F.js +737 -0
- package/dist/write-commands-OYMWOFEY.js +1015 -0
- package/dist/write-commands-R3UCCBUI.js +206 -0
- package/dist/x-VNRVGVLI.js +47 -0
- package/package.json +1 -1
- package/dist/account-MLAW7QO4.js +0 -49
- package/dist/account-QR5LCE74.js +0 -79
- package/dist/account-UP67V2FH.js +0 -80
- package/dist/account-reads-5RGYKIIJ.js +0 -218
- package/dist/account-writes-EGRMVWVQ.js +0 -66
- package/dist/accounts-CU4Q2AV7.js +0 -75
- package/dist/accounts-GUHRV3RA.js +0 -115
- package/dist/accounts-L2SNBNOO.js +0 -611
- package/dist/accounts-LG4B7NWO.js +0 -77
- package/dist/accounts-WH7SRFCB.js +0 -114
- package/dist/actions-LMKQCN4E.js +0 -55
- package/dist/active-entities-2CQHGACO.js +0 -103
- package/dist/activecampaign-RZEJ25GO.js +0 -935
- package/dist/activecampaign-RZEJ25GO.js.map +0 -1
- package/dist/activities-EDCSBYGM.js +0 -74
- package/dist/ad-group-writes-WUAYGWDY.js +0 -170
- package/dist/ad-groups-BVEJJHX6.js +0 -68
- package/dist/ad-writes-WTWRSFLW.js +0 -174
- package/dist/add-DDKP3OOS.js +0 -104
- package/dist/add-HQERVTGX.js +0 -302
- package/dist/add-PGD6PNXH.js +0 -97
- package/dist/add-ZMZJSBQT.js +0 -105
- package/dist/add-accounts-A2YRT5NR.js +0 -91
- package/dist/ads-HRCVRXPO.js +0 -77
- package/dist/ads-WB2X5SYO.js +0 -40
- package/dist/ads-WB2X5SYO.js.map +0 -1
- package/dist/ads-ZOQM52YG.js +0 -128
- package/dist/ads-ZOYLP5R3.js +0 -113
- package/dist/adsets-RKSBDAHV.js +0 -176
- package/dist/advertisers-34GDHZC7.js +0 -125
- package/dist/advertisers-OEHGT3U2.js +0 -120
- package/dist/analytics-ILWIWU7C.js +0 -433
- package/dist/analytics-ILWIWU7C.js.map +0 -1
- package/dist/analytics-JYBKFGP4.js +0 -1976
- package/dist/animate-NVEQOLHK.js +0 -480
- package/dist/assign-2HJHKJKL.js +0 -77
- package/dist/audience-size-W74YHNBX.js +0 -94
- package/dist/audiences-FNDYOAAW.js +0 -85
- package/dist/audiences-SXBA4R3I.js +0 -78
- package/dist/audiences-ZUFCFB7M.js +0 -268
- package/dist/audit-76SDQ7C6.js +0 -151
- package/dist/audit-MADJMBNF.js +0 -88
- package/dist/autocomplete-GZ4XVGC4.js +0 -111
- package/dist/avatars-AILCY4T2.js +0 -38
- package/dist/bid-pricing-5435DI5H.js +0 -99
- package/dist/brand-4RWOQ7EN.js +0 -22
- package/dist/brief-2Y6PG6QI.js +0 -490
- package/dist/businesses-OFQG3YSL.js +0 -53
- package/dist/campaign-groups-XWQX7PSF.js +0 -95
- package/dist/campaign-writes-F4LVAD5N.js +0 -165
- package/dist/campaign-writes-GFOOQDZR.js +0 -170
- package/dist/campaigns-AFWP56ST.js +0 -109
- package/dist/campaigns-FHZLLATX.js +0 -76
- package/dist/campaigns-W7DMOOXW.js +0 -107
- package/dist/campaigns-YBOTJUV2.js +0 -110
- package/dist/canvas-RCRBTZKW.js +0 -46
- package/dist/capabilities-7DSVIC2L.js +0 -144
- package/dist/cards-WZSPTO4I.js +0 -85
- package/dist/catalog-YY33VIDD.js +0 -64
- package/dist/catalogs-NQX6UJ7C.js +0 -128
- package/dist/changes-OZ2D64FV.js +0 -135
- package/dist/chatgpt-33BYXDJP.js +0 -47
- package/dist/chats-4GAFW3QN.js +0 -262
- package/dist/chunk-2MTAKAHE.js +0 -509
- package/dist/chunk-2XQ5HU6D.js +0 -3088
- package/dist/chunk-2XQ5HU6D.js.map +0 -1
- package/dist/chunk-2YXY56FK.js +0 -455
- package/dist/chunk-33STLGET.js +0 -67
- package/dist/chunk-365Z5TYR.js +0 -275
- package/dist/chunk-3RS4M7AR.js +0 -817
- package/dist/chunk-3SF5KBIO.js +0 -42
- package/dist/chunk-3UA4THEF.js +0 -76
- package/dist/chunk-3WQ4ANUO.js +0 -84
- package/dist/chunk-3YNHIJCI.js +0 -75
- package/dist/chunk-42ESQ4AJ.js +0 -1079
- package/dist/chunk-4E27H5EG.js +0 -149
- package/dist/chunk-5B3AEQDZ.js +0 -125
- package/dist/chunk-5H2H77HR.js +0 -903
- package/dist/chunk-5H2H77HR.js.map +0 -1
- package/dist/chunk-6DE3EHEF.js +0 -296
- package/dist/chunk-6QNEVETC.js +0 -46
- package/dist/chunk-6SOB7QMD.js +0 -172
- package/dist/chunk-7JFGOMJN.js +0 -363
- package/dist/chunk-7VHPAGPK.js +0 -228
- package/dist/chunk-7YOPIYCL.js +0 -92
- package/dist/chunk-AHQJAKAV.js +0 -544
- package/dist/chunk-AHQJAKAV.js.map +0 -1
- package/dist/chunk-BC2BXRXY.js +0 -2887
- package/dist/chunk-BC2BXRXY.js.map +0 -1
- package/dist/chunk-BCKSBIQ4.js +0 -592
- package/dist/chunk-BEJ2AVPJ.js +0 -106
- package/dist/chunk-BKE32DQB.js +0 -96
- package/dist/chunk-CGOVXSSY.js +0 -309
- package/dist/chunk-CHZ3ZNGJ.js +0 -172
- package/dist/chunk-CNAPU47I.js +0 -433
- package/dist/chunk-D7KNUZ6Z.js +0 -1830
- package/dist/chunk-DRPSJE62.js +0 -216
- package/dist/chunk-DRPSJE62.js.map +0 -1
- package/dist/chunk-EMDUW6QN.js +0 -206
- package/dist/chunk-ENY76SPM.js +0 -74
- package/dist/chunk-F4H6VVPE.js +0 -215
- package/dist/chunk-FD66LSFW.js +0 -392
- package/dist/chunk-FD66LSFW.js.map +0 -1
- package/dist/chunk-FEELV5IV.js +0 -150
- package/dist/chunk-FHY3BM2O.js +0 -98
- package/dist/chunk-FJIUMOVD.js +0 -225
- package/dist/chunk-FK6GBCQ4.js +0 -66
- package/dist/chunk-FSZEVFMI.js +0 -159
- package/dist/chunk-FSZEVFMI.js.map +0 -1
- package/dist/chunk-G3AOJ5FE.js +0 -35
- package/dist/chunk-G3UCXCC2.js +0 -455
- package/dist/chunk-G3UCXCC2.js.map +0 -1
- package/dist/chunk-H5GLPZ36.js +0 -103
- package/dist/chunk-HDYF3EIN.js +0 -166
- package/dist/chunk-IBCTXMQD.js +0 -98
- package/dist/chunk-IMH2ZKKC.js +0 -60
- package/dist/chunk-IPYG4OYK.js +0 -111
- package/dist/chunk-IWLWY2UD.js +0 -2122
- package/dist/chunk-IWLWY2UD.js.map +0 -1
- package/dist/chunk-IZNTYRKB.js +0 -55
- package/dist/chunk-J5BHSJYL.js +0 -547
- package/dist/chunk-J5BHSJYL.js.map +0 -1
- package/dist/chunk-JA4PDZNY.js +0 -106
- package/dist/chunk-JHIVRENV.js +0 -346
- package/dist/chunk-JLCK7K6Y.js +0 -216
- package/dist/chunk-JQUPL6IQ.js +0 -136
- package/dist/chunk-K2DBAN3C.js +0 -26
- package/dist/chunk-KKXHGAYA.js +0 -74
- package/dist/chunk-KMMVQ2MR.js +0 -84
- package/dist/chunk-L66QWXPF.js +0 -97
- package/dist/chunk-LHKCZG2R.js +0 -136
- package/dist/chunk-LK64CCN4.js +0 -474
- package/dist/chunk-LL6T64OU.js +0 -174
- package/dist/chunk-LLN7NP3O.js +0 -52
- package/dist/chunk-LNZM6SUE.js +0 -56
- package/dist/chunk-M62WN522.js +0 -188
- package/dist/chunk-M6CI2HYA.js +0 -74
- package/dist/chunk-M6UNISGO.js +0 -66
- package/dist/chunk-M6UNISGO.js.map +0 -1
- package/dist/chunk-MCDU24JX.js +0 -57
- package/dist/chunk-MGKEUB7P.js +0 -96
- package/dist/chunk-ML7DLFFY.js +0 -4227
- package/dist/chunk-ML7DLFFY.js.map +0 -1
- package/dist/chunk-MOMZOWYC.js +0 -23992
- package/dist/chunk-MOMZOWYC.js.map +0 -1
- package/dist/chunk-MSKB6I5E.js +0 -304
- package/dist/chunk-MU23X3VU.js +0 -23
- package/dist/chunk-MX5TREEM.js +0 -197
- package/dist/chunk-MZQBL7QU.js +0 -1442
- package/dist/chunk-NC3GOGUT.js +0 -19
- package/dist/chunk-NDITGFPZ.js +0 -5181
- package/dist/chunk-NDITGFPZ.js.map +0 -1
- package/dist/chunk-NFDAIY6J.js +0 -191
- package/dist/chunk-OKHSMDCY.js +0 -494
- package/dist/chunk-OLV66PDA.js +0 -139
- package/dist/chunk-OW6TNVRC.js +0 -382
- package/dist/chunk-OW6TNVRC.js.map +0 -1
- package/dist/chunk-P4UQBJNY.js +0 -486
- package/dist/chunk-P6SFEIA5.js +0 -3151
- package/dist/chunk-PAJJXZ3Z.js +0 -170
- package/dist/chunk-PHY3AERY.js +0 -6217
- package/dist/chunk-PHY3AERY.js.map +0 -1
- package/dist/chunk-RCWEJUSF.js +0 -337
- package/dist/chunk-RCWEJUSF.js.map +0 -1
- package/dist/chunk-RDQI3YD2.js +0 -66
- package/dist/chunk-RDQI3YD2.js.map +0 -1
- package/dist/chunk-RMB2MIOJ.js +0 -94
- package/dist/chunk-RV222F63.js +0 -51
- package/dist/chunk-SKYXCMVX.js +0 -846
- package/dist/chunk-SS445HDO.js +0 -25
- package/dist/chunk-TJ5N6IVL.js +0 -665
- package/dist/chunk-TLOFNP4Q.js +0 -45
- package/dist/chunk-TUVS5SPF.js +0 -133
- package/dist/chunk-TVKE3OXR.js +0 -76
- package/dist/chunk-U6RTBCU7.js +0 -26
- package/dist/chunk-UNHCWWAI.js +0 -111
- package/dist/chunk-UNHCWWAI.js.map +0 -1
- package/dist/chunk-V4H6Q4TB.js +0 -1599
- package/dist/chunk-V4H6Q4TB.js.map +0 -1
- package/dist/chunk-VPBCR6DT.js +0 -1743
- package/dist/chunk-VTK2W2NI.js +0 -160
- package/dist/chunk-WBCQEXEH.js +0 -76
- package/dist/chunk-WJOQ6IEK.js +0 -4408
- package/dist/chunk-WJOQ6IEK.js.map +0 -1
- package/dist/chunk-WOLE67OJ.js +0 -6667
- package/dist/chunk-WOLE67OJ.js.map +0 -1
- package/dist/chunk-WSD63XGR.js +0 -169
- package/dist/chunk-X3PVW3RM.js +0 -610
- package/dist/chunk-XA2S53QZ.js +0 -274
- package/dist/chunk-XLZMKMKD.js +0 -333
- package/dist/chunk-YDAEGV42.js +0 -297
- package/dist/chunk-Z2HNETUP.js +0 -58
- package/dist/chunk-ZZS6IUOY.js +0 -175
- package/dist/chunk-ZZS6IUOY.js.map +0 -1
- package/dist/claim-XBVKGN7A.js +0 -197
- package/dist/client-2ABVGUQB.js +0 -19
- package/dist/code-GHG7DEPV.js +0 -76
- package/dist/companies-IGDIQ64M.js +0 -195
- package/dist/complete-CYPVVQWT.js +0 -81
- package/dist/config-L26WNV2G.js +0 -88
- package/dist/connect-FVP4HT6T.js +0 -42
- package/dist/content-2SL3VHIK.js +0 -85
- package/dist/conversation-DDZKRMCI.js +0 -93
- package/dist/conversion-report-VARF3FYY.js +0 -125
- package/dist/conversion-upload-command-ZWSNQFGS.js +0 -438
- package/dist/conversion-writes-7SXCEVCV.js +0 -120
- package/dist/conversions-5S5IMXGM.js +0 -135
- package/dist/conversions-ZCOIEPNI.js +0 -76
- package/dist/countries-D5JPHJ4F.js +0 -82
- package/dist/create-3WWCI3KY.js +0 -235
- package/dist/create-GLPBZEQO.js +0 -59
- package/dist/create-GNVYQPBW.js +0 -126
- package/dist/create-GNVYQPBW.js.map +0 -1
- package/dist/create-VHZWE4JQ.js +0 -207
- package/dist/creatives-5C4PRGFT.js +0 -87
- package/dist/creatives-7VEIUD3G.js +0 -182
- package/dist/creatives-CW3FDOPI.js +0 -51
- package/dist/credentials-2QHNU3SD.js +0 -287
- package/dist/critique-HU7ZONQ3.js +0 -213
- package/dist/critique-ZYSNLKNA.js +0 -1449
- package/dist/crm-BD4RK26E.js +0 -318
- package/dist/crm-LYRBIQOO.js +0 -224
- package/dist/crop-KR3LOQBX.js +0 -113
- package/dist/currency-EQ6PB7VF.js +0 -88
- package/dist/custom-conversions-YCOWWTQ7.js +0 -125
- package/dist/customers-MO6ORQAN.js +0 -56
- package/dist/decide-DZG2JUMG.js +0 -199
- package/dist/delete-FIDIBB2H.js +0 -69
- package/dist/delete-NHN73V54.js +0 -66
- package/dist/delete-O3ZTHK3M.js +0 -63
- package/dist/delete-OHTGL7ZJ.js +0 -71
- package/dist/delete-YKR5Y7EQ.js +0 -71
- package/dist/delete-YY6YJ3A6.js +0 -54
- package/dist/demographics-YU75YZFO.js +0 -138
- package/dist/describe-I7VNACXY.js +0 -97
- package/dist/describe-NAINLKWG.js +0 -97
- package/dist/dimensions-K6MDXS4B.js +0 -101
- package/dist/discard-DGK7PLWF.js +0 -66
- package/dist/discover-2UKANLTP.js +0 -172
- package/dist/discover-E7SVCXZ2.js +0 -93
- package/dist/domain-6NZKJW4W.js +0 -98
- package/dist/download-5FCLTMLA.js +0 -299
- package/dist/draft-67OFDA53.js +0 -306
- package/dist/draft-I7H6FVZT.js +0 -281
- package/dist/draft-NJNAGVVV.js +0 -103
- package/dist/draft-QSO3DQG6.js +0 -233
- package/dist/draft-RJ5HOJIR.js +0 -217
- package/dist/draft-RPCIHVRS.js +0 -307
- package/dist/draft-UNCGJCUN.js +0 -100
- package/dist/draft-W5BXN7H3.js +0 -328
- package/dist/env-FKVPPL35.js +0 -43
- package/dist/experiment-JF2QTPRV.js +0 -1397
- package/dist/export-3ROTRKFE.js +0 -168
- package/dist/extract-VXGXR5RD.js +0 -113
- package/dist/facets-3ZIRFE6P.js +0 -114
- package/dist/favorites-DI2EY34L.js +0 -178
- package/dist/feed-EH4FENF4.js +0 -177
- package/dist/feedback-Y7MDEA5O.js +0 -66
- package/dist/feedback-record-SLU5RROR.js +0 -175
- package/dist/fetch-LUOENFIX.js +0 -176
- package/dist/fetch-V3BFDMZF.js +0 -139
- package/dist/find-T7XJV535.js +0 -134
- package/dist/find-T7XJV535.js.map +0 -1
- package/dist/fit-VKSQTJ3Q.js +0 -45
- package/dist/flows-JVU42DAA.js +0 -247
- package/dist/flows-JVU42DAA.js.map +0 -1
- package/dist/follow-PIEAXZE7.js +0 -94
- package/dist/follow-competitors-7N2TPSLA.js +0 -112
- package/dist/following-74CI7UC6.js +0 -113
- package/dist/fonts-BTOLDILR.js +0 -34
- package/dist/forecast-35EBPP2K.js +0 -104
- package/dist/forecast-MHGSW73Z.js +0 -168
- package/dist/funding-FTWMCGZ7.js +0 -85
- package/dist/funnel-YH5LOG65.js +0 -394
- package/dist/ga4-T4ZHANT2.js +0 -55
- package/dist/generate-KVQLIBAX.js +0 -263
- package/dist/generate-KVQLIBAX.js.map +0 -1
- package/dist/get-2IKPCXEM.js +0 -59
- package/dist/get-ABPBK4P3.js +0 -63
- package/dist/get-GSLIPHMD.js +0 -78
- package/dist/get-NE3EEHN6.js +0 -92
- package/dist/get-QOACNGXP.js +0 -56
- package/dist/get-V4BZ4NTK.js +0 -63
- package/dist/get-WZVNWFQA.js +0 -61
- package/dist/gif-O3FLM3CF.js +0 -94
- package/dist/google-I2Z7QOHV.js +0 -3190
- package/dist/google-I2Z7QOHV.js.map +0 -1
- package/dist/google-Z5UAFS3C.js +0 -136
- package/dist/google-ads-E6VNIUEK.js +0 -195
- package/dist/group-34IDEULM.js +0 -43
- package/dist/group-HJMQ5H3L.js +0 -43
- package/dist/gsc-LDZKY5FW.js +0 -30
- package/dist/history-6TYCUXG2.js +0 -133
- package/dist/history-EBJTST3V.js +0 -67
- package/dist/hubspot-LO7ZJPNO.js +0 -779
- package/dist/icon-37BBWKJO.js +0 -137
- package/dist/ideas-2MSUALCW.js +0 -32
- package/dist/images-TZKGJVQ2.js +0 -90
- package/dist/improve-6J2UJ4JZ.js +0 -86
- package/dist/ingest-3RQSRCO5.js +0 -23
- package/dist/ingest-65T56KUI.js +0 -107
- package/dist/insights-5IBNZFHT.js +0 -423
- package/dist/insights-5IBNZFHT.js.map +0 -1
- package/dist/insights-Y7V2UL7E.js +0 -122
- package/dist/insights-Y7V2UL7E.js.map +0 -1
- package/dist/inspect-QLFYFQU2.js +0 -189
- package/dist/inspiration-LYCDPQEY.js +0 -53
- package/dist/intent-PFN2OQEE.js +0 -95
- package/dist/job-ZEI4FC5Y.js +0 -202
- package/dist/job-create-QVTI3TP6.js +0 -109
- package/dist/job-status-GVL7X6EY.js +0 -74
- package/dist/keep-GD5LZFGG.js +0 -78
- package/dist/keyword-gap-WPVHYPVP.js +0 -130
- package/dist/keyword-metrics-Y5LWCCUJ.js +0 -197
- package/dist/keywords-for-site-HGIX4S4F.js +0 -128
- package/dist/landing-EP23XIYL.js +0 -28
- package/dist/landings-4YBHALDA.js +0 -151
- package/dist/languages-5WPQX3DS.js +0 -40
- package/dist/languages-KRXEHLM4.js +0 -55
- package/dist/launches-FOJQPCD2.js +0 -19
- package/dist/layerize-M6ZRXR7M.js +0 -190
- package/dist/leads-2VKYMGP4.js +0 -90
- package/dist/leads-NV57FPKX.js +0 -293
- package/dist/learn-6W55U4ZG.js +0 -203
- package/dist/library-HC5US7CE.js +0 -109
- package/dist/library-HC5US7CE.js.map +0 -1
- package/dist/lighthouse-DXZIQLLK.js +0 -75
- package/dist/line-item-writes-LYWNJWZ2.js +0 -208
- package/dist/line-items-Q47IZGAD.js +0 -103
- package/dist/link-4CQUXZPK.js +0 -64
- package/dist/linkedin-TQCPNOIL.js +0 -1008
- package/dist/list-3RZZFCIR.js +0 -151
- package/dist/list-IZNAL5LS.js +0 -57
- package/dist/list-JHNUOEG6.js +0 -63
- package/dist/list-LC7BZRD4.js +0 -65
- package/dist/list-MEGAZDWZ.js +0 -51
- package/dist/list-RCOUIFKY.js +0 -303
- package/dist/list-RGMBFJHB.js +0 -76
- package/dist/list-VXNYIVS5.js +0 -50
- package/dist/locations-CB6KK3ZU.js +0 -40
- package/dist/locations-ZMJ5MJ6Z.js +0 -67
- package/dist/log-5V5YMZGV.js +0 -92
- package/dist/logo-SOCGJLY5.js +0 -18
- package/dist/lookup-MQBDRZZT.js +0 -22
- package/dist/make-M5LD3MX2.js +0 -633
- package/dist/map-GD2BT7RO.js +0 -433
- package/dist/map-GD2BT7RO.js.map +0 -1
- package/dist/mcp-WFRPWK3W.js +0 -463
- package/dist/media-OYAN23YG.js +0 -15
- package/dist/media-QCWYLIO2.js +0 -89
- package/dist/media-sources-YQURN7ZH.js +0 -32
- package/dist/members-4UCL6OKS.js +0 -44
- package/dist/meta-B5XDM6F6.js +0 -69
- package/dist/metrics-W4SLBSPD.js +0 -152
- package/dist/models-IUO3XGQK.js +0 -155
- package/dist/normalize-2OUEDA6D.js +0 -806
- package/dist/normalize-O6ATWOWP.js +0 -141
- package/dist/options-U4PY24PS.js +0 -122
- package/dist/options-U4PY24PS.js.map +0 -1
- package/dist/output-ZKNCKP7T.js +0 -24
- package/dist/page-EMJESGQZ.js +0 -105
- package/dist/pages-OMKAYKCF.js +0 -66
- package/dist/performance-WGCN2XIC.js +0 -24
- package/dist/pinterest-I6JO7LXL.js +0 -96
- package/dist/pixels-5JBTFWCO.js +0 -108
- package/dist/pixels-G64Y3J22.js +0 -60
- package/dist/plan-KNUKCIS7.js +0 -207
- package/dist/preview-TBINZJ2C.js +0 -169
- package/dist/profile-UV3FTEUC.js +0 -159
- package/dist/profile-UV3FTEUC.js.map +0 -1
- package/dist/promoted-tweet-writes-YVSGOBAS.js +0 -180
- package/dist/promoted-tweets-DQDEHTP4.js +0 -119
- package/dist/properties-CTFQ7IK3.js +0 -101
- package/dist/publish-I2XOKEHC.js +0 -322
- package/dist/query-JMVLWKVY.js +0 -236
- package/dist/query-L3TGHKKM.js +0 -61
- package/dist/query-T5IBVQ3B.js +0 -247
- package/dist/questionnaire-APZ6FMPE.js +0 -93
- package/dist/read-W5ZK5G7Q.js +0 -141
- package/dist/reddit-GYVC7XPJ.js +0 -26
- package/dist/refresh-XYZ2Q2SN.js +0 -94
- package/dist/release-HOSW3VHR.js +0 -60
- package/dist/relevant-pages-F5AGXYC5.js +0 -99
- package/dist/remove-7QYX2OYJ.js +0 -50
- package/dist/remove-RFOFNOYU.js +0 -48
- package/dist/reopen-HIVOKJOR.js +0 -63
- package/dist/rerun-U6F4TEPA.js +0 -84
- package/dist/research-43V2DWVK.js +0 -62
- package/dist/research-7TN24S4D.js +0 -262
- package/dist/reset-B3FAY2EH.js +0 -54
- package/dist/reset-R5RM7ZTG.js +0 -54
- package/dist/resolve-I5YOKTRV.js +0 -121
- package/dist/retry-A335Q6HS.js +0 -62
- package/dist/retry-R4OWR7IK.js +0 -60
- package/dist/retry-failed-5XDCVPQA.js +0 -45
- package/dist/run-TNO2VF2U.js +0 -59
- package/dist/run-VZGXOWFL.js +0 -65
- package/dist/scaffold-ad-VKOXZENI.js +0 -1548
- package/dist/scaffold-static-ad-CMYP2ZZ6.js +0 -971
- package/dist/scaffold-video-AKA5LMEI.js +0 -872
- package/dist/schedule-4N6JTJJT.js +0 -66
- package/dist/schedule-HKIY6JI2.js +0 -61
- package/dist/scheduled-agents-QM5Z3UNW.js +0 -50
- package/dist/scheduled-agents-QM5Z3UNW.js.map +0 -1
- package/dist/schema-J6AIGXZ7.js +0 -132
- package/dist/schema-RNVEYR2U.js +0 -63
- package/dist/scrape-VK7RZO4M.js +0 -2241
- package/dist/screenshot-PWUROUXU.js +0 -102
- package/dist/search-3ZW3RRPX.js +0 -92
- package/dist/search-J2VQNY4A.js +0 -91
- package/dist/search-LRY5SYDM.js +0 -224
- package/dist/search-M23XX3N5.js +0 -26
- package/dist/search-PK4IUZ4C.js +0 -174
- package/dist/search-copy-AVQESTYJ.js +0 -168
- package/dist/seeds-C6JI3WTG.js +0 -101
- package/dist/select-NBRJ6WLY.js +0 -94
- package/dist/sends-DYIE7W5U.js +0 -309
- package/dist/sequences-CQVKVRC4.js +0 -146
- package/dist/set-prompt-VNJ334YW.js +0 -185
- package/dist/setup-links-77534G7K.js +0 -141
- package/dist/shared-2SQRS476.js +0 -31
- package/dist/site-EFQ2QFZX.js +0 -177
- package/dist/sitemaps-XFLHKP2D.js +0 -87
- package/dist/sites-5JNZWY3A.js +0 -101
- package/dist/skills-43P4WK6Y.js +0 -47
- package/dist/sources-JQM4AKNL.js +0 -30
- package/dist/sources-WJ3EZ46E.js +0 -454
- package/dist/sources-WJ3EZ46E.js.map +0 -1
- package/dist/stale-Y5HC7BNS.js +0 -63
- package/dist/stats-LLTHL5VR.js +0 -34
- package/dist/status-T25VZANV.js +0 -62
- package/dist/sticker-B5DJ56YG.js +0 -94
- package/dist/stock-WXAFJFAC.js +0 -179
- package/dist/studio-X546AIF2.js +0 -49
- package/dist/sync-GCVG6QTL.js +0 -54
- package/dist/sync-JLECDZYS.js +0 -265
- package/dist/sync-JLECDZYS.js.map +0 -1
- package/dist/sync-VDPGFUZS.js +0 -54
- package/dist/sync-definition-GKF2KKFC.js +0 -54
- package/dist/tag-manager-HG76EBNX.js +0 -43
- package/dist/tags-6KXDDSBW.js +0 -20
- package/dist/tags-NFBMGARL.js +0 -20
- package/dist/tags-SJIXKMQH.js +0 -20
- package/dist/tags-T4OK7QXX.js +0 -26
- package/dist/tags-UE2S4UCB.js +0 -224
- package/dist/targeting-constants-GR7RUKE3.js +0 -118
- package/dist/targeting-criteria-NZVF6ZOK.js +0 -113
- package/dist/targets-4II2CNRP.js +0 -102
- package/dist/testimonials-NODH7BWK.js +0 -32
- package/dist/themes-NO3DM5M3.js +0 -94
- package/dist/top-companies-MWOOBUSM.js +0 -108
- package/dist/translate-26KMJSWL.js +0 -598
- package/dist/triggers-LYPP4FKZ.js +0 -141
- package/dist/tweets-ZWC7YOQ4.js +0 -123
- package/dist/unfollow-LBMJXF4E.js +0 -46
- package/dist/unlink-OL7UNUYB.js +0 -67
- package/dist/unstage-5AZAD2KF.js +0 -95
- package/dist/unstage-6GUUIEWL.js +0 -84
- package/dist/update-2YZVDSWQ.js +0 -142
- package/dist/update-HSMB6JMZ.js +0 -155
- package/dist/update-PCVBEGSU.js +0 -98
- package/dist/update-QWWAXFWH.js +0 -63
- package/dist/upload-MPMP3JRS.js +0 -150
- package/dist/upload-VBPWOAKD.js +0 -126
- package/dist/upscale-TXJFZLUU.js +0 -109
- package/dist/url-options-ML2D74NM.js +0 -130
- package/dist/url-params-4AD467SA.js +0 -98
- package/dist/use-SUY57ZJA.js +0 -95
- package/dist/validate-W4QZZFXV.js +0 -88
- package/dist/variant-TE6CEHZW.js +0 -338
- package/dist/videos-DJHFHZI5.js +0 -39
- package/dist/view-EQZB7Z6N.js +0 -121
- package/dist/viewer-check-GL2UNAGR.js +0 -68
- package/dist/viewer-check-GL2UNAGR.js.map +0 -1
- package/dist/web-N4RNU7UH.js +0 -140
- package/dist/winners-UPM6DFRB.js +0 -113
- package/dist/winning-ads-SVUUR443.js +0 -84
- package/dist/write-commands-5HSNHURZ.js +0 -713
- package/dist/write-commands-BCU5YATY.js +0 -737
- package/dist/write-commands-WVJJJFBP.js +0 -1015
- package/dist/write-commands-YNI6KS2B.js +0 -206
- package/dist/x-65R63NFK.js +0 -47
- /package/dist/{account-QR5LCE74.js.map → account-67PZBEP6.js.map} +0 -0
- /package/dist/{account-MLAW7QO4.js.map → account-HZC6X2PH.js.map} +0 -0
- /package/dist/{account-UP67V2FH.js.map → account-TQUV64XP.js.map} +0 -0
- /package/dist/{account-reads-5RGYKIIJ.js.map → account-reads-IRBTERTY.js.map} +0 -0
- /package/dist/{account-writes-EGRMVWVQ.js.map → account-writes-ALDSHAEV.js.map} +0 -0
- /package/dist/{accounts-GUHRV3RA.js.map → accounts-4P54UY6F.js.map} +0 -0
- /package/dist/{accounts-CU4Q2AV7.js.map → accounts-6UNBLIUH.js.map} +0 -0
- /package/dist/{accounts-WH7SRFCB.js.map → accounts-GVTZN4VE.js.map} +0 -0
- /package/dist/{accounts-L2SNBNOO.js.map → accounts-NJ6TF6WH.js.map} +0 -0
- /package/dist/{accounts-LG4B7NWO.js.map → accounts-WTB737BM.js.map} +0 -0
- /package/dist/{actions-LMKQCN4E.js.map → actions-D3BOWDEB.js.map} +0 -0
- /package/dist/{active-entities-2CQHGACO.js.map → active-entities-J2O76SRP.js.map} +0 -0
- /package/dist/{activities-EDCSBYGM.js.map → activities-2J7FTZMN.js.map} +0 -0
- /package/dist/{ad-group-writes-WUAYGWDY.js.map → ad-group-writes-PQKDCMQF.js.map} +0 -0
- /package/dist/{ad-groups-BVEJJHX6.js.map → ad-groups-NGYEJMV4.js.map} +0 -0
- /package/dist/{ad-writes-WTWRSFLW.js.map → ad-writes-77FVHJTS.js.map} +0 -0
- /package/dist/{add-ZMZJSBQT.js.map → add-2FHPLALV.js.map} +0 -0
- /package/dist/{add-DDKP3OOS.js.map → add-2XJYOGKW.js.map} +0 -0
- /package/dist/{add-HQERVTGX.js.map → add-62JPGFD4.js.map} +0 -0
- /package/dist/{add-PGD6PNXH.js.map → add-JP76KCCY.js.map} +0 -0
- /package/dist/{add-accounts-A2YRT5NR.js.map → add-accounts-M5Y4DQFM.js.map} +0 -0
- /package/dist/{ads-ZOQM52YG.js.map → ads-DB5NDHX5.js.map} +0 -0
- /package/dist/{ads-HRCVRXPO.js.map → ads-LYNA2I7B.js.map} +0 -0
- /package/dist/{ads-ZOYLP5R3.js.map → ads-W2IPUWHQ.js.map} +0 -0
- /package/dist/{adsets-RKSBDAHV.js.map → adsets-PY5ZKGBO.js.map} +0 -0
- /package/dist/{advertisers-34GDHZC7.js.map → advertisers-BVAZ4XUX.js.map} +0 -0
- /package/dist/{advertisers-OEHGT3U2.js.map → advertisers-NZPJQF7W.js.map} +0 -0
- /package/dist/{analytics-JYBKFGP4.js.map → analytics-NTPZKMYK.js.map} +0 -0
- /package/dist/{animate-NVEQOLHK.js.map → animate-EIV2OHXT.js.map} +0 -0
- /package/dist/{assign-2HJHKJKL.js.map → assign-UNIA5YDC.js.map} +0 -0
- /package/dist/{audience-size-W74YHNBX.js.map → audience-size-4NN6ENP5.js.map} +0 -0
- /package/dist/{audiences-ZUFCFB7M.js.map → audiences-45ZCY2VZ.js.map} +0 -0
- /package/dist/{audiences-SXBA4R3I.js.map → audiences-UUIYQFS6.js.map} +0 -0
- /package/dist/{audiences-FNDYOAAW.js.map → audiences-VYFX7OFS.js.map} +0 -0
- /package/dist/{audit-76SDQ7C6.js.map → audit-NSVHNA5J.js.map} +0 -0
- /package/dist/{audit-MADJMBNF.js.map → audit-OWXTLQC4.js.map} +0 -0
- /package/dist/{autocomplete-GZ4XVGC4.js.map → autocomplete-EHWAQYVB.js.map} +0 -0
- /package/dist/{avatars-AILCY4T2.js.map → avatars-7WZPW7BV.js.map} +0 -0
- /package/dist/{bid-pricing-5435DI5H.js.map → bid-pricing-F5NDMS6W.js.map} +0 -0
- /package/dist/{brand-4RWOQ7EN.js.map → brand-QAJ5VWFM.js.map} +0 -0
- /package/dist/{brief-2Y6PG6QI.js.map → brief-V2OB5OJW.js.map} +0 -0
- /package/dist/{businesses-OFQG3YSL.js.map → businesses-ZH67AXR6.js.map} +0 -0
- /package/dist/{campaign-groups-XWQX7PSF.js.map → campaign-groups-KFJKLNNU.js.map} +0 -0
- /package/dist/{campaign-writes-GFOOQDZR.js.map → campaign-writes-BDGQ6XB3.js.map} +0 -0
- /package/dist/{campaign-writes-F4LVAD5N.js.map → campaign-writes-FNMAGCKB.js.map} +0 -0
- /package/dist/{campaigns-YBOTJUV2.js.map → campaigns-66OOGMDW.js.map} +0 -0
- /package/dist/{campaigns-AFWP56ST.js.map → campaigns-6HMHOXXY.js.map} +0 -0
- /package/dist/{campaigns-FHZLLATX.js.map → campaigns-HJTGX5WW.js.map} +0 -0
- /package/dist/{campaigns-W7DMOOXW.js.map → campaigns-KT3J2O7S.js.map} +0 -0
- /package/dist/{canvas-RCRBTZKW.js.map → canvas-MQ6ZE5CZ.js.map} +0 -0
- /package/dist/{capabilities-7DSVIC2L.js.map → capabilities-RVUMPP7C.js.map} +0 -0
- /package/dist/{cards-WZSPTO4I.js.map → cards-I4BZIYUV.js.map} +0 -0
- /package/dist/{catalog-YY33VIDD.js.map → catalog-NLL5VDRK.js.map} +0 -0
- /package/dist/{catalogs-NQX6UJ7C.js.map → catalogs-B2NKQO24.js.map} +0 -0
- /package/dist/{changes-OZ2D64FV.js.map → changes-FX3TPYGT.js.map} +0 -0
- /package/dist/{chatgpt-33BYXDJP.js.map → chatgpt-3NS2R442.js.map} +0 -0
- /package/dist/{chats-4GAFW3QN.js.map → chats-72L7U4ML.js.map} +0 -0
- /package/dist/{chunk-RV222F63.js.map → chunk-2KIF3U2C.js.map} +0 -0
- /package/dist/{chunk-6QNEVETC.js.map → chunk-35ENAFJX.js.map} +0 -0
- /package/dist/{chunk-365Z5TYR.js.map → chunk-4TU2MWBJ.js.map} +0 -0
- /package/dist/{chunk-IBCTXMQD.js.map → chunk-57UECM77.js.map} +0 -0
- /package/dist/{chunk-JQUPL6IQ.js.map → chunk-65BQAJMH.js.map} +0 -0
- /package/dist/{chunk-3YNHIJCI.js.map → chunk-6GFJFTG6.js.map} +0 -0
- /package/dist/{chunk-WBCQEXEH.js.map → chunk-6HPIWZHS.js.map} +0 -0
- /package/dist/{chunk-X3PVW3RM.js.map → chunk-73B3RQJC.js.map} +0 -0
- /package/dist/{chunk-EMDUW6QN.js.map → chunk-7GYM4I5I.js.map} +0 -0
- /package/dist/{chunk-K2DBAN3C.js.map → chunk-7NTION5F.js.map} +0 -0
- /package/dist/{chunk-IPYG4OYK.js.map → chunk-AFDPISNJ.js.map} +0 -0
- /package/dist/{chunk-CNAPU47I.js.map → chunk-AIDXJHZ4.js.map} +0 -0
- /package/dist/{chunk-3UA4THEF.js.map → chunk-AR7PU7BB.js.map} +0 -0
- /package/dist/{chunk-MZQBL7QU.js.map → chunk-AXVOBRQT.js.map} +0 -0
- /package/dist/{chunk-VTK2W2NI.js.map → chunk-BBBZR7MF.js.map} +0 -0
- /package/dist/{chunk-7YOPIYCL.js.map → chunk-BVYPRGPG.js.map} +0 -0
- /package/dist/{chunk-5B3AEQDZ.js.map → chunk-CBCGVPHB.js.map} +0 -0
- /package/dist/{chunk-XLZMKMKD.js.map → chunk-CECS3DHZ.js.map} +0 -0
- /package/dist/{chunk-P6SFEIA5.js.map → chunk-CZYUZL6R.js.map} +0 -0
- /package/dist/{chunk-L66QWXPF.js.map → chunk-D5MF337I.js.map} +0 -0
- /package/dist/{chunk-H5GLPZ36.js.map → chunk-DDTILZXI.js.map} +0 -0
- /package/dist/{chunk-LLN7NP3O.js.map → chunk-DL2W4N7J.js.map} +0 -0
- /package/dist/{chunk-FJIUMOVD.js.map → chunk-DLUWHZCE.js.map} +0 -0
- /package/dist/{chunk-2MTAKAHE.js.map → chunk-EOGPNV25.js.map} +0 -0
- /package/dist/{chunk-MGKEUB7P.js.map → chunk-F3FSD6BO.js.map} +0 -0
- /package/dist/{chunk-OKHSMDCY.js.map → chunk-FDG2LLX7.js.map} +0 -0
- /package/dist/{chunk-D7KNUZ6Z.js.map → chunk-FYAWA3FO.js.map} +0 -0
- /package/dist/{chunk-G3AOJ5FE.js.map → chunk-G3KO2HFZ.js.map} +0 -0
- /package/dist/{chunk-HDYF3EIN.js.map → chunk-GKXMIXEV.js.map} +0 -0
- /package/dist/{chunk-6DE3EHEF.js.map → chunk-GT4UFORX.js.map} +0 -0
- /package/dist/{chunk-JA4PDZNY.js.map → chunk-GZ6YS7TG.js.map} +0 -0
- /package/dist/{chunk-BEJ2AVPJ.js.map → chunk-H7JOVRHO.js.map} +0 -0
- /package/dist/{chunk-OLV66PDA.js.map → chunk-IJDF7D4U.js.map} +0 -0
- /package/dist/{chunk-CHZ3ZNGJ.js.map → chunk-INJHF7AF.js.map} +0 -0
- /package/dist/{chunk-33STLGET.js.map → chunk-IZFGTGFR.js.map} +0 -0
- /package/dist/{chunk-TVKE3OXR.js.map → chunk-J2QOKD2F.js.map} +0 -0
- /package/dist/{chunk-JHIVRENV.js.map → chunk-J5WZ7SAD.js.map} +0 -0
- /package/dist/{chunk-YDAEGV42.js.map → chunk-JC6GNMA7.js.map} +0 -0
- /package/dist/{chunk-SS445HDO.js.map → chunk-KB5HBQEK.js.map} +0 -0
- /package/dist/{chunk-JLCK7K6Y.js.map → chunk-KB5XJHQX.js.map} +0 -0
- /package/dist/{chunk-CGOVXSSY.js.map → chunk-LHNL6JM2.js.map} +0 -0
- /package/dist/{chunk-VPBCR6DT.js.map → chunk-NAMEFVWL.js.map} +0 -0
- /package/dist/{chunk-6SOB7QMD.js.map → chunk-NORAJYUI.js.map} +0 -0
- /package/dist/{chunk-MSKB6I5E.js.map → chunk-NQTSHC7Z.js.map} +0 -0
- /package/dist/{chunk-LHKCZG2R.js.map → chunk-O3LHCQ7Q.js.map} +0 -0
- /package/dist/{chunk-SKYXCMVX.js.map → chunk-O5XLQUDS.js.map} +0 -0
- /package/dist/{chunk-LK64CCN4.js.map → chunk-P3XJUOWT.js.map} +0 -0
- /package/dist/{chunk-MCDU24JX.js.map → chunk-P3ZJIIDS.js.map} +0 -0
- /package/dist/{chunk-U6RTBCU7.js.map → chunk-P5T7OZKV.js.map} +0 -0
- /package/dist/{chunk-FK6GBCQ4.js.map → chunk-PA5MYVQY.js.map} +0 -0
- /package/dist/{chunk-TLOFNP4Q.js.map → chunk-PELW56D7.js.map} +0 -0
- /package/dist/{chunk-WSD63XGR.js.map → chunk-PGVF4SB7.js.map} +0 -0
- /package/dist/{chunk-Z2HNETUP.js.map → chunk-Q676JHJA.js.map} +0 -0
- /package/dist/{chunk-4E27H5EG.js.map → chunk-QDOVBGKZ.js.map} +0 -0
- /package/dist/{chunk-7JFGOMJN.js.map → chunk-QHIUJXU7.js.map} +0 -0
- /package/dist/{chunk-FHY3BM2O.js.map → chunk-QJPPPQPD.js.map} +0 -0
- /package/dist/{chunk-LL6T64OU.js.map → chunk-QNEX7FEC.js.map} +0 -0
- /package/dist/{chunk-PAJJXZ3Z.js.map → chunk-QWX3QJNM.js.map} +0 -0
- /package/dist/{chunk-2YXY56FK.js.map → chunk-RUHMLPH5.js.map} +0 -0
- /package/dist/{chunk-7VHPAGPK.js.map → chunk-SEPPFM5S.js.map} +0 -0
- /package/dist/{chunk-NC3GOGUT.js.map → chunk-SJLIV6PF.js.map} +0 -0
- /package/dist/{chunk-XA2S53QZ.js.map → chunk-SLCSLVGS.js.map} +0 -0
- /package/dist/{chunk-FEELV5IV.js.map → chunk-SQ7DRYCC.js.map} +0 -0
- /package/dist/{chunk-BKE32DQB.js.map → chunk-THU74XR6.js.map} +0 -0
- /package/dist/{chunk-42ESQ4AJ.js.map → chunk-TY7TEU3T.js.map} +0 -0
- /package/dist/{chunk-LNZM6SUE.js.map → chunk-UXTZ5MBE.js.map} +0 -0
- /package/dist/{chunk-IZNTYRKB.js.map → chunk-V43RLLZE.js.map} +0 -0
- /package/dist/{chunk-3RS4M7AR.js.map → chunk-V7PMSMPF.js.map} +0 -0
- /package/dist/{chunk-3SF5KBIO.js.map → chunk-VFSLIDXA.js.map} +0 -0
- /package/dist/{chunk-KMMVQ2MR.js.map → chunk-VHMNSO2B.js.map} +0 -0
- /package/dist/{chunk-M62WN522.js.map → chunk-VKH6LSC2.js.map} +0 -0
- /package/dist/{chunk-BCKSBIQ4.js.map → chunk-VTCBPYGE.js.map} +0 -0
- /package/dist/{chunk-MX5TREEM.js.map → chunk-W6ASM6UP.js.map} +0 -0
- /package/dist/{chunk-IMH2ZKKC.js.map → chunk-W7KB3LJE.js.map} +0 -0
- /package/dist/{chunk-TUVS5SPF.js.map → chunk-WESRVXFS.js.map} +0 -0
- /package/dist/{chunk-3WQ4ANUO.js.map → chunk-WILN7TD6.js.map} +0 -0
- /package/dist/{chunk-TJ5N6IVL.js.map → chunk-YGL5LTEA.js.map} +0 -0
- /package/dist/{chunk-F4H6VVPE.js.map → chunk-YONSWWCF.js.map} +0 -0
- /package/dist/{chunk-NFDAIY6J.js.map → chunk-Z5KBRTB2.js.map} +0 -0
- /package/dist/{chunk-ENY76SPM.js.map → chunk-ZBKBTTHD.js.map} +0 -0
- /package/dist/{chunk-MU23X3VU.js.map → chunk-ZJR5E53N.js.map} +0 -0
- /package/dist/{chunk-P4UQBJNY.js.map → chunk-ZLU5QDLU.js.map} +0 -0
- /package/dist/{chunk-RMB2MIOJ.js.map → chunk-ZNNC6B75.js.map} +0 -0
- /package/dist/{chunk-KKXHGAYA.js.map → chunk-ZO2YLHRW.js.map} +0 -0
- /package/dist/{chunk-M6CI2HYA.js.map → chunk-ZPJE6D7W.js.map} +0 -0
- /package/dist/{claim-XBVKGN7A.js.map → claim-DIITRUIN.js.map} +0 -0
- /package/dist/{client-2ABVGUQB.js.map → client-LY2JCQS2.js.map} +0 -0
- /package/dist/{code-GHG7DEPV.js.map → code-7CBNYUPU.js.map} +0 -0
- /package/dist/{companies-IGDIQ64M.js.map → companies-HHSYHL74.js.map} +0 -0
- /package/dist/{complete-CYPVVQWT.js.map → complete-M3TURPU5.js.map} +0 -0
- /package/dist/{config-L26WNV2G.js.map → config-7COTFJWK.js.map} +0 -0
- /package/dist/{connect-FVP4HT6T.js.map → connect-TQL5EVVE.js.map} +0 -0
- /package/dist/{content-2SL3VHIK.js.map → content-OXMONMHJ.js.map} +0 -0
- /package/dist/{conversation-DDZKRMCI.js.map → conversation-GE273GC4.js.map} +0 -0
- /package/dist/{conversion-report-VARF3FYY.js.map → conversion-report-BH4HH2Q3.js.map} +0 -0
- /package/dist/{conversion-upload-command-ZWSNQFGS.js.map → conversion-upload-command-QWWYCTNV.js.map} +0 -0
- /package/dist/{conversion-writes-7SXCEVCV.js.map → conversion-writes-HG2O6JI7.js.map} +0 -0
- /package/dist/{conversions-5S5IMXGM.js.map → conversions-DP6ZF57D.js.map} +0 -0
- /package/dist/{conversions-ZCOIEPNI.js.map → conversions-XPSN7SOW.js.map} +0 -0
- /package/dist/{countries-D5JPHJ4F.js.map → countries-UXAUGSBR.js.map} +0 -0
- /package/dist/{create-GLPBZEQO.js.map → create-ENQWVWGB.js.map} +0 -0
- /package/dist/{create-VHZWE4JQ.js.map → create-NVXJP477.js.map} +0 -0
- /package/dist/{create-3WWCI3KY.js.map → create-XLZYNFKN.js.map} +0 -0
- /package/dist/{creatives-7VEIUD3G.js.map → creatives-O3444SBT.js.map} +0 -0
- /package/dist/{creatives-5C4PRGFT.js.map → creatives-ONKKGW5T.js.map} +0 -0
- /package/dist/{creatives-CW3FDOPI.js.map → creatives-U6IKIQBT.js.map} +0 -0
- /package/dist/{credentials-2QHNU3SD.js.map → credentials-3UY7RVUL.js.map} +0 -0
- /package/dist/{critique-ZYSNLKNA.js.map → critique-3LMW73QJ.js.map} +0 -0
- /package/dist/{critique-HU7ZONQ3.js.map → critique-KB32Y4AW.js.map} +0 -0
- /package/dist/{crm-LYRBIQOO.js.map → crm-OX67TBWD.js.map} +0 -0
- /package/dist/{crm-BD4RK26E.js.map → crm-XXU5XZIQ.js.map} +0 -0
- /package/dist/{crop-KR3LOQBX.js.map → crop-3ZV5BFCA.js.map} +0 -0
- /package/dist/{currency-EQ6PB7VF.js.map → currency-XP4EMU4M.js.map} +0 -0
- /package/dist/{custom-conversions-YCOWWTQ7.js.map → custom-conversions-TV23XQHW.js.map} +0 -0
- /package/dist/{customers-MO6ORQAN.js.map → customers-EJ7FVCTC.js.map} +0 -0
- /package/dist/{decide-DZG2JUMG.js.map → decide-EGQ3CRHI.js.map} +0 -0
- /package/dist/{delete-O3ZTHK3M.js.map → delete-55IHV25V.js.map} +0 -0
- /package/dist/{delete-YY6YJ3A6.js.map → delete-GXLPIGTC.js.map} +0 -0
- /package/dist/{delete-OHTGL7ZJ.js.map → delete-MUPTLWHI.js.map} +0 -0
- /package/dist/{delete-NHN73V54.js.map → delete-OW2N4WIA.js.map} +0 -0
- /package/dist/{delete-FIDIBB2H.js.map → delete-R2SEUSLV.js.map} +0 -0
- /package/dist/{delete-YKR5Y7EQ.js.map → delete-ZGBBWFAW.js.map} +0 -0
- /package/dist/{demographics-YU75YZFO.js.map → demographics-K6DEWUE5.js.map} +0 -0
- /package/dist/{describe-I7VNACXY.js.map → describe-4O3VCV6L.js.map} +0 -0
- /package/dist/{describe-NAINLKWG.js.map → describe-FCTM53MM.js.map} +0 -0
- /package/dist/{dimensions-K6MDXS4B.js.map → dimensions-AD4VS5AH.js.map} +0 -0
- /package/dist/{discard-DGK7PLWF.js.map → discard-NZ7FQJEE.js.map} +0 -0
- /package/dist/{discover-2UKANLTP.js.map → discover-OISU5EJF.js.map} +0 -0
- /package/dist/{discover-E7SVCXZ2.js.map → discover-UQXQUPNO.js.map} +0 -0
- /package/dist/{domain-6NZKJW4W.js.map → domain-DXBHNZLO.js.map} +0 -0
- /package/dist/{download-5FCLTMLA.js.map → download-IE6XLFHM.js.map} +0 -0
- /package/dist/{draft-67OFDA53.js.map → draft-DB6KMBCH.js.map} +0 -0
- /package/dist/{draft-NJNAGVVV.js.map → draft-ENA7S4Y7.js.map} +0 -0
- /package/dist/{draft-RPCIHVRS.js.map → draft-HJBAG3SN.js.map} +0 -0
- /package/dist/{draft-W5BXN7H3.js.map → draft-ICEVLF4E.js.map} +0 -0
- /package/dist/{draft-UNCGJCUN.js.map → draft-MGKJ5RYI.js.map} +0 -0
- /package/dist/{draft-I7H6FVZT.js.map → draft-OBFKQEPK.js.map} +0 -0
- /package/dist/{draft-RJ5HOJIR.js.map → draft-OOHU6NMA.js.map} +0 -0
- /package/dist/{draft-QSO3DQG6.js.map → draft-S6VPKZYY.js.map} +0 -0
- /package/dist/{env-FKVPPL35.js.map → env-YLOVBOAE.js.map} +0 -0
- /package/dist/{experiment-JF2QTPRV.js.map → experiment-PHFP6IBM.js.map} +0 -0
- /package/dist/{export-3ROTRKFE.js.map → export-R2IMUCQO.js.map} +0 -0
- /package/dist/{extract-VXGXR5RD.js.map → extract-OQP3TSQG.js.map} +0 -0
- /package/dist/{facets-3ZIRFE6P.js.map → facets-NUKR7I57.js.map} +0 -0
- /package/dist/{favorites-DI2EY34L.js.map → favorites-NS73FDG5.js.map} +0 -0
- /package/dist/{feed-EH4FENF4.js.map → feed-SQPOB7SP.js.map} +0 -0
- /package/dist/{feedback-Y7MDEA5O.js.map → feedback-SQAAAKOQ.js.map} +0 -0
- /package/dist/{feedback-record-SLU5RROR.js.map → feedback-record-7W7WBHSQ.js.map} +0 -0
- /package/dist/{fetch-V3BFDMZF.js.map → fetch-PQ3NOPIE.js.map} +0 -0
- /package/dist/{fetch-LUOENFIX.js.map → fetch-PTSAVQW5.js.map} +0 -0
- /package/dist/{fit-VKSQTJ3Q.js.map → fit-IITU6UWC.js.map} +0 -0
- /package/dist/{follow-PIEAXZE7.js.map → follow-N3DQZV7M.js.map} +0 -0
- /package/dist/{follow-competitors-7N2TPSLA.js.map → follow-competitors-BZPCBGIB.js.map} +0 -0
- /package/dist/{following-74CI7UC6.js.map → following-KESWTEBR.js.map} +0 -0
- /package/dist/{fonts-BTOLDILR.js.map → fonts-FG6XMK5A.js.map} +0 -0
- /package/dist/{forecast-MHGSW73Z.js.map → forecast-43XBSHJR.js.map} +0 -0
- /package/dist/{forecast-35EBPP2K.js.map → forecast-MAFZQ4UF.js.map} +0 -0
- /package/dist/{funding-FTWMCGZ7.js.map → funding-HYSCYS62.js.map} +0 -0
- /package/dist/{funnel-YH5LOG65.js.map → funnel-32CNV57L.js.map} +0 -0
- /package/dist/{ga4-T4ZHANT2.js.map → ga4-J2KTNCD4.js.map} +0 -0
- /package/dist/{get-V4BZ4NTK.js.map → get-3P2EQLP3.js.map} +0 -0
- /package/dist/{get-WZVNWFQA.js.map → get-FJB3X44Z.js.map} +0 -0
- /package/dist/{get-GSLIPHMD.js.map → get-GDF5V3RN.js.map} +0 -0
- /package/dist/{get-ABPBK4P3.js.map → get-MBGO4VJD.js.map} +0 -0
- /package/dist/{get-2IKPCXEM.js.map → get-NOKSZPIV.js.map} +0 -0
- /package/dist/{get-QOACNGXP.js.map → get-W7MKBMQ3.js.map} +0 -0
- /package/dist/{get-NE3EEHN6.js.map → get-WHC4SRYK.js.map} +0 -0
- /package/dist/{gif-O3FLM3CF.js.map → gif-SFYVDLCU.js.map} +0 -0
- /package/dist/{google-Z5UAFS3C.js.map → google-XRAMIES5.js.map} +0 -0
- /package/dist/{google-ads-E6VNIUEK.js.map → google-ads-N55SE2CB.js.map} +0 -0
- /package/dist/{group-34IDEULM.js.map → group-6RDJTWVN.js.map} +0 -0
- /package/dist/{group-HJMQ5H3L.js.map → group-TZJCKHKS.js.map} +0 -0
- /package/dist/{gsc-LDZKY5FW.js.map → gsc-HD6UFRYM.js.map} +0 -0
- /package/dist/{history-EBJTST3V.js.map → history-4RWCE7WW.js.map} +0 -0
- /package/dist/{history-6TYCUXG2.js.map → history-IROFQ6LA.js.map} +0 -0
- /package/dist/{hubspot-LO7ZJPNO.js.map → hubspot-75N4AI43.js.map} +0 -0
- /package/dist/{icon-37BBWKJO.js.map → icon-BMCDFGMN.js.map} +0 -0
- /package/dist/{ideas-2MSUALCW.js.map → ideas-7UQMXLI5.js.map} +0 -0
- /package/dist/{images-TZKGJVQ2.js.map → images-OFR3S2U4.js.map} +0 -0
- /package/dist/{improve-6J2UJ4JZ.js.map → improve-P6F2HXYQ.js.map} +0 -0
- /package/dist/{ingest-65T56KUI.js.map → ingest-HGR7KSG4.js.map} +0 -0
- /package/dist/{ingest-3RQSRCO5.js.map → ingest-XU4WXE4U.js.map} +0 -0
- /package/dist/{inspect-QLFYFQU2.js.map → inspect-TL2VZBN7.js.map} +0 -0
- /package/dist/{inspiration-LYCDPQEY.js.map → inspiration-7WTS3AVI.js.map} +0 -0
- /package/dist/{intent-PFN2OQEE.js.map → intent-OCZE4O7R.js.map} +0 -0
- /package/dist/{job-ZEI4FC5Y.js.map → job-XMPQ27SJ.js.map} +0 -0
- /package/dist/{job-create-QVTI3TP6.js.map → job-create-HTDQHPEF.js.map} +0 -0
- /package/dist/{job-status-GVL7X6EY.js.map → job-status-L7WUTZ2C.js.map} +0 -0
- /package/dist/{keep-GD5LZFGG.js.map → keep-42SLV4CR.js.map} +0 -0
- /package/dist/{keyword-gap-WPVHYPVP.js.map → keyword-gap-323NE4AK.js.map} +0 -0
- /package/dist/{keyword-metrics-Y5LWCCUJ.js.map → keyword-metrics-V6DGO7U5.js.map} +0 -0
- /package/dist/{keywords-for-site-HGIX4S4F.js.map → keywords-for-site-ANSLXBHB.js.map} +0 -0
- /package/dist/{landing-EP23XIYL.js.map → landing-K25GUBLZ.js.map} +0 -0
- /package/dist/{landings-4YBHALDA.js.map → landings-5IYXHA5Z.js.map} +0 -0
- /package/dist/{languages-KRXEHLM4.js.map → languages-SRFGW6Z3.js.map} +0 -0
- /package/dist/{languages-5WPQX3DS.js.map → languages-US6JUATO.js.map} +0 -0
- /package/dist/{layerize-M6ZRXR7M.js.map → layerize-U672AXED.js.map} +0 -0
- /package/dist/{leads-NV57FPKX.js.map → leads-MXUQISOC.js.map} +0 -0
- /package/dist/{leads-2VKYMGP4.js.map → leads-UJVKPRXX.js.map} +0 -0
- /package/dist/{learn-6W55U4ZG.js.map → learn-XTEU4K66.js.map} +0 -0
- /package/dist/{lighthouse-DXZIQLLK.js.map → lighthouse-SJ4QNLUS.js.map} +0 -0
- /package/dist/{line-item-writes-LYWNJWZ2.js.map → line-item-writes-NURRHJ7P.js.map} +0 -0
- /package/dist/{line-items-Q47IZGAD.js.map → line-items-PC6QWV5J.js.map} +0 -0
- /package/dist/{link-4CQUXZPK.js.map → link-ZSXKCLQD.js.map} +0 -0
- /package/dist/{linkedin-TQCPNOIL.js.map → linkedin-EZJJBKY3.js.map} +0 -0
- /package/dist/{list-RCOUIFKY.js.map → list-ECF3RA26.js.map} +0 -0
- /package/dist/{list-LC7BZRD4.js.map → list-GQ65MC2N.js.map} +0 -0
- /package/dist/{list-MEGAZDWZ.js.map → list-K56J7FZW.js.map} +0 -0
- /package/dist/{list-RGMBFJHB.js.map → list-M4Z3WYPM.js.map} +0 -0
- /package/dist/{list-JHNUOEG6.js.map → list-N7ZLO2LE.js.map} +0 -0
- /package/dist/{list-3RZZFCIR.js.map → list-Q5ZZRPHO.js.map} +0 -0
- /package/dist/{list-IZNAL5LS.js.map → list-SXYVDDMU.js.map} +0 -0
- /package/dist/{list-VXNYIVS5.js.map → list-XFIOXFB2.js.map} +0 -0
- /package/dist/{locations-CB6KK3ZU.js.map → locations-LZUHWKZY.js.map} +0 -0
- /package/dist/{locations-ZMJ5MJ6Z.js.map → locations-NG4YXIBT.js.map} +0 -0
- /package/dist/{log-5V5YMZGV.js.map → log-EEBJQ6X2.js.map} +0 -0
- /package/dist/{launches-FOJQPCD2.js.map → logo-4JOWGJ5A.js.map} +0 -0
- /package/dist/{logo-SOCGJLY5.js.map → lookup-7NBZ64TE.js.map} +0 -0
- /package/dist/{make-M5LD3MX2.js.map → make-3J5EK52U.js.map} +0 -0
- /package/dist/{mcp-WFRPWK3W.js.map → mcp-DAKGMA2Z.js.map} +0 -0
- /package/dist/{media-OYAN23YG.js.map → media-2SWDJDA6.js.map} +0 -0
- /package/dist/{media-QCWYLIO2.js.map → media-R64YP7T2.js.map} +0 -0
- /package/dist/{media-sources-YQURN7ZH.js.map → media-sources-L2X3KRDU.js.map} +0 -0
- /package/dist/{members-4UCL6OKS.js.map → members-22BOEGQS.js.map} +0 -0
- /package/dist/{meta-B5XDM6F6.js.map → meta-RBHF2RG3.js.map} +0 -0
- /package/dist/{metrics-W4SLBSPD.js.map → metrics-IXRQZVSM.js.map} +0 -0
- /package/dist/{models-IUO3XGQK.js.map → models-BDXZ56GI.js.map} +0 -0
- /package/dist/{normalize-O6ATWOWP.js.map → normalize-JAE3NVOX.js.map} +0 -0
- /package/dist/{normalize-2OUEDA6D.js.map → normalize-P5Q3F7FU.js.map} +0 -0
- /package/dist/{lookup-MQBDRZZT.js.map → output-ZL62UZHQ.js.map} +0 -0
- /package/dist/{page-EMJESGQZ.js.map → page-FZ7IZ5CV.js.map} +0 -0
- /package/dist/{pages-OMKAYKCF.js.map → pages-SS7TZTHV.js.map} +0 -0
- /package/dist/{output-ZKNCKP7T.js.map → performance-FOOV624A.js.map} +0 -0
- /package/dist/{pinterest-I6JO7LXL.js.map → pinterest-UETS7U7U.js.map} +0 -0
- /package/dist/{pixels-5JBTFWCO.js.map → pixels-LCTMLKGP.js.map} +0 -0
- /package/dist/{pixels-G64Y3J22.js.map → pixels-MPZYWGFD.js.map} +0 -0
- /package/dist/{plan-KNUKCIS7.js.map → plan-V74EVXTW.js.map} +0 -0
- /package/dist/{preview-TBINZJ2C.js.map → preview-RU54Z4EM.js.map} +0 -0
- /package/dist/{promoted-tweet-writes-YVSGOBAS.js.map → promoted-tweet-writes-FQRFU7PB.js.map} +0 -0
- /package/dist/{promoted-tweets-DQDEHTP4.js.map → promoted-tweets-L2L3V5SF.js.map} +0 -0
- /package/dist/{properties-CTFQ7IK3.js.map → properties-ZUDQH3LE.js.map} +0 -0
- /package/dist/{publish-I2XOKEHC.js.map → publish-5XTAHTM4.js.map} +0 -0
- /package/dist/{query-JMVLWKVY.js.map → query-26T7XATH.js.map} +0 -0
- /package/dist/{query-T5IBVQ3B.js.map → query-SHUOHXTO.js.map} +0 -0
- /package/dist/{performance-WGCN2XIC.js.map → query-XISUHMBR.js.map} +0 -0
- /package/dist/{questionnaire-APZ6FMPE.js.map → questionnaire-UG55JLVW.js.map} +0 -0
- /package/dist/{read-W5ZK5G7Q.js.map → read-UYSQAXRV.js.map} +0 -0
- /package/dist/{query-L3TGHKKM.js.map → reddit-BCB4FT6J.js.map} +0 -0
- /package/dist/{refresh-XYZ2Q2SN.js.map → refresh-WY5NPNLX.js.map} +0 -0
- /package/dist/{release-HOSW3VHR.js.map → release-JBSPPNQE.js.map} +0 -0
- /package/dist/{relevant-pages-F5AGXYC5.js.map → relevant-pages-OU5H56KY.js.map} +0 -0
- /package/dist/{remove-RFOFNOYU.js.map → remove-2KACTXKP.js.map} +0 -0
- /package/dist/{remove-7QYX2OYJ.js.map → remove-M5P7M5JU.js.map} +0 -0
- /package/dist/{reopen-HIVOKJOR.js.map → reopen-J3VW5766.js.map} +0 -0
- /package/dist/{rerun-U6F4TEPA.js.map → rerun-5MRYJG6U.js.map} +0 -0
- /package/dist/{research-7TN24S4D.js.map → research-4CAA5CA2.js.map} +0 -0
- /package/dist/{research-43V2DWVK.js.map → research-7LBTJ2B2.js.map} +0 -0
- /package/dist/{reset-B3FAY2EH.js.map → reset-DBWWGCXY.js.map} +0 -0
- /package/dist/{reset-R5RM7ZTG.js.map → reset-DJSSXC4Y.js.map} +0 -0
- /package/dist/{resolve-I5YOKTRV.js.map → resolve-BNRUYS56.js.map} +0 -0
- /package/dist/{retry-A335Q6HS.js.map → retry-TMRIFGVT.js.map} +0 -0
- /package/dist/{retry-R4OWR7IK.js.map → retry-WRBGLB7O.js.map} +0 -0
- /package/dist/{retry-failed-5XDCVPQA.js.map → retry-failed-NWLH6WHK.js.map} +0 -0
- /package/dist/{reddit-GYVC7XPJ.js.map → run-TA3DP6QG.js.map} +0 -0
- /package/dist/{run-VZGXOWFL.js.map → run-VVTLDRRW.js.map} +0 -0
- /package/dist/{scaffold-ad-VKOXZENI.js.map → scaffold-ad-7DSV6XDB.js.map} +0 -0
- /package/dist/{scaffold-static-ad-CMYP2ZZ6.js.map → scaffold-static-ad-BEZ37QWN.js.map} +0 -0
- /package/dist/{scaffold-video-AKA5LMEI.js.map → scaffold-video-SPCMTYK3.js.map} +0 -0
- /package/dist/{schedule-HKIY6JI2.js.map → schedule-BQQGYGT7.js.map} +0 -0
- /package/dist/{schedule-4N6JTJJT.js.map → schedule-S547HPUT.js.map} +0 -0
- /package/dist/{schema-J6AIGXZ7.js.map → schema-DDEWM5ZX.js.map} +0 -0
- /package/dist/{schema-RNVEYR2U.js.map → schema-SQIP75WG.js.map} +0 -0
- /package/dist/{scrape-VK7RZO4M.js.map → scrape-TI6S2W7I.js.map} +0 -0
- /package/dist/{screenshot-PWUROUXU.js.map → screenshot-XFAYY4WW.js.map} +0 -0
- /package/dist/{run-TNO2VF2U.js.map → search-4HIOKYFR.js.map} +0 -0
- /package/dist/{search-3ZW3RRPX.js.map → search-D2IV7KFJ.js.map} +0 -0
- /package/dist/{search-LRY5SYDM.js.map → search-IZPDHRJ4.js.map} +0 -0
- /package/dist/{search-J2VQNY4A.js.map → search-KFDL2IGG.js.map} +0 -0
- /package/dist/{search-PK4IUZ4C.js.map → search-VJBKRD2U.js.map} +0 -0
- /package/dist/{search-copy-AVQESTYJ.js.map → search-copy-QZXCAGK4.js.map} +0 -0
- /package/dist/{seeds-C6JI3WTG.js.map → seeds-VUNZMHZH.js.map} +0 -0
- /package/dist/{select-NBRJ6WLY.js.map → select-U5TPAXGY.js.map} +0 -0
- /package/dist/{sends-DYIE7W5U.js.map → sends-7HWLIOUO.js.map} +0 -0
- /package/dist/{sequences-CQVKVRC4.js.map → sequences-5RAGZE7L.js.map} +0 -0
- /package/dist/{set-prompt-VNJ334YW.js.map → set-prompt-MHU4WI3Q.js.map} +0 -0
- /package/dist/{setup-links-77534G7K.js.map → setup-links-SPIGXQTY.js.map} +0 -0
- /package/dist/{search-M23XX3N5.js.map → shared-3CGGKICB.js.map} +0 -0
- /package/dist/{site-EFQ2QFZX.js.map → site-FW6K6L6M.js.map} +0 -0
- /package/dist/{sitemaps-XFLHKP2D.js.map → sitemaps-3WDYQHYR.js.map} +0 -0
- /package/dist/{sites-5JNZWY3A.js.map → sites-G4DQ2Z2X.js.map} +0 -0
- /package/dist/{skills-43P4WK6Y.js.map → skills-PA26HXEP.js.map} +0 -0
- /package/dist/{sources-JQM4AKNL.js.map → sources-PMBWG4KO.js.map} +0 -0
- /package/dist/{stale-Y5HC7BNS.js.map → stale-5IMY6MWC.js.map} +0 -0
- /package/dist/{stats-LLTHL5VR.js.map → stats-Q35I5DRW.js.map} +0 -0
- /package/dist/{status-T25VZANV.js.map → status-62SUXUWW.js.map} +0 -0
- /package/dist/{sticker-B5DJ56YG.js.map → sticker-MC2IAIQB.js.map} +0 -0
- /package/dist/{stock-WXAFJFAC.js.map → stock-B7LKMKUK.js.map} +0 -0
- /package/dist/{studio-X546AIF2.js.map → studio-BB2EVW5I.js.map} +0 -0
- /package/dist/{sync-VDPGFUZS.js.map → sync-CLZDZL5F.js.map} +0 -0
- /package/dist/{sync-GCVG6QTL.js.map → sync-YTHNOAAM.js.map} +0 -0
- /package/dist/{shared-2SQRS476.js.map → sync-definition-DYSVT7BJ.js.map} +0 -0
- /package/dist/{tag-manager-HG76EBNX.js.map → tag-manager-EAREWVYR.js.map} +0 -0
- /package/dist/{tags-6KXDDSBW.js.map → tags-53AG3FYG.js.map} +0 -0
- /package/dist/{tags-UE2S4UCB.js.map → tags-7TH7TVR6.js.map} +0 -0
- /package/dist/{tags-NFBMGARL.js.map → tags-EB4RE3ML.js.map} +0 -0
- /package/dist/{tags-SJIXKMQH.js.map → tags-EUEWDTTN.js.map} +0 -0
- /package/dist/{tags-T4OK7QXX.js.map → tags-ICAWBCOR.js.map} +0 -0
- /package/dist/{targeting-constants-GR7RUKE3.js.map → targeting-constants-IFE72XKL.js.map} +0 -0
- /package/dist/{targeting-criteria-NZVF6ZOK.js.map → targeting-criteria-WZDGJKOI.js.map} +0 -0
- /package/dist/{targets-4II2CNRP.js.map → targets-OKJ6A4YL.js.map} +0 -0
- /package/dist/{testimonials-NODH7BWK.js.map → testimonials-THHR5JH5.js.map} +0 -0
- /package/dist/{themes-NO3DM5M3.js.map → themes-ZFRM6AVO.js.map} +0 -0
- /package/dist/{top-companies-MWOOBUSM.js.map → top-companies-63Q475IA.js.map} +0 -0
- /package/dist/{translate-26KMJSWL.js.map → translate-XKUWIIOS.js.map} +0 -0
- /package/dist/{triggers-LYPP4FKZ.js.map → triggers-XLKO2QXQ.js.map} +0 -0
- /package/dist/{tweets-ZWC7YOQ4.js.map → tweets-7EZRFG3Y.js.map} +0 -0
- /package/dist/{unfollow-LBMJXF4E.js.map → unfollow-WBBTVEHE.js.map} +0 -0
- /package/dist/{unlink-OL7UNUYB.js.map → unlink-P7KU54YU.js.map} +0 -0
- /package/dist/{unstage-6GUUIEWL.js.map → unstage-EG7AUE5X.js.map} +0 -0
- /package/dist/{unstage-5AZAD2KF.js.map → unstage-GHXGDOT2.js.map} +0 -0
- /package/dist/{update-PCVBEGSU.js.map → update-7EWDO32L.js.map} +0 -0
- /package/dist/{update-2YZVDSWQ.js.map → update-BVYGB4YL.js.map} +0 -0
- /package/dist/{update-QWWAXFWH.js.map → update-KVMQOVQK.js.map} +0 -0
- /package/dist/{update-HSMB6JMZ.js.map → update-N74F5KXB.js.map} +0 -0
- /package/dist/{upload-VBPWOAKD.js.map → upload-6PYPHPCZ.js.map} +0 -0
- /package/dist/{upload-MPMP3JRS.js.map → upload-NA62W5RS.js.map} +0 -0
- /package/dist/{upscale-TXJFZLUU.js.map → upscale-RXJUBHXN.js.map} +0 -0
- /package/dist/{url-options-ML2D74NM.js.map → url-options-EUDXLDBD.js.map} +0 -0
- /package/dist/{url-params-4AD467SA.js.map → url-params-DBJSM2LP.js.map} +0 -0
- /package/dist/{use-SUY57ZJA.js.map → use-MHPNS4V4.js.map} +0 -0
- /package/dist/{validate-W4QZZFXV.js.map → validate-TTAGVGM2.js.map} +0 -0
- /package/dist/{variant-TE6CEHZW.js.map → variant-ZFCWILPG.js.map} +0 -0
- /package/dist/{videos-DJHFHZI5.js.map → videos-DUG7JYUA.js.map} +0 -0
- /package/dist/{view-EQZB7Z6N.js.map → view-PYCGDGT2.js.map} +0 -0
- /package/dist/{sync-definition-GKF2KKFC.js.map → viewer-check-HIMNCZGY.js.map} +0 -0
- /package/dist/{web-N4RNU7UH.js.map → web-SDG42OBC.js.map} +0 -0
- /package/dist/{winners-UPM6DFRB.js.map → winners-AI4PVSOI.js.map} +0 -0
- /package/dist/{winning-ads-SVUUR443.js.map → winning-ads-KGAYAIPG.js.map} +0 -0
- /package/dist/{write-commands-5HSNHURZ.js.map → write-commands-34L5LJIB.js.map} +0 -0
- /package/dist/{write-commands-BCU5YATY.js.map → write-commands-5TJ3LQ5F.js.map} +0 -0
- /package/dist/{write-commands-WVJJJFBP.js.map → write-commands-OYMWOFEY.js.map} +0 -0
- /package/dist/{write-commands-YNI6KS2B.js.map → write-commands-R3UCCBUI.js.map} +0 -0
- /package/dist/{x-65R63NFK.js.map → x-VNRVGVLI.js.map} +0 -0
package/dist/chunk-RCWEJUSF.js
DELETED
|
@@ -1,337 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
holdUnbilledSpend
|
|
3
|
-
} from "./chunk-KMMVQ2MR.js";
|
|
4
|
-
import {
|
|
5
|
-
askAboutText
|
|
6
|
-
} from "./chunk-X3PVW3RM.js";
|
|
7
|
-
import {
|
|
8
|
-
brandTokensSchema
|
|
9
|
-
} from "./chunk-PHY3AERY.js";
|
|
10
|
-
|
|
11
|
-
// src/engine/landing/lib/brand-tokens.ts
|
|
12
|
-
import { readFile as readFile2 } from "fs/promises";
|
|
13
|
-
import path2 from "path";
|
|
14
|
-
|
|
15
|
-
// src/engine/brand/brand-doc.ts
|
|
16
|
-
import { createHash } from "crypto";
|
|
17
|
-
import { mkdir, readdir, readFile, writeFile } from "fs/promises";
|
|
18
|
-
import path from "path";
|
|
19
|
-
import { z } from "zod";
|
|
20
|
-
var BRAND_DOC_MODEL = "google/gemini-3.5-flash-lite";
|
|
21
|
-
var REQUEST = {
|
|
22
|
-
provider: { order: ["google-vertex"], allow_fallbacks: false },
|
|
23
|
-
seed: 0,
|
|
24
|
-
response_format: { type: "json_object" }
|
|
25
|
-
};
|
|
26
|
-
var PROMPT_VERSION = 2;
|
|
27
|
-
var TIMEOUT_MS = 3e4;
|
|
28
|
-
var BRAND_MD_CHARS = 32e3;
|
|
29
|
-
var COMPANY_MD_CHARS = 4e3;
|
|
30
|
-
var Font = z.object({
|
|
31
|
-
family: z.string().trim().min(1).max(60),
|
|
32
|
-
role: z.enum(["heading", "body", "any"]).catch("any"),
|
|
33
|
-
use: z.boolean()
|
|
34
|
-
});
|
|
35
|
-
var Color = z.object({
|
|
36
|
-
hex: z.string().trim().regex(/^#?[0-9a-fA-F]{6}$/).transform((h) => `#${h.replace(/^#/, "").toLowerCase()}`),
|
|
37
|
-
use: z.boolean()
|
|
38
|
-
});
|
|
39
|
-
var Reading = z.object({
|
|
40
|
-
name: z.string().trim().min(1).max(80).nullable().catch(null),
|
|
41
|
-
wordmark: z.array(z.string().trim().min(1).max(40)).catch([]),
|
|
42
|
-
logoNames: z.array(z.string().trim().min(1).max(40)).catch([]),
|
|
43
|
-
fonts: z.array(z.unknown()).catch([]),
|
|
44
|
-
colors: z.array(z.unknown()).catch([])
|
|
45
|
-
});
|
|
46
|
-
function brandDocPrompt(docs) {
|
|
47
|
-
return [
|
|
48
|
-
"You read a company's brand guidelines (BRAND.md), the start of its company profile (COMPANY.md) and the file names of its logos. They may be written in any language, or several. Extract only what they state; never invent a value.",
|
|
49
|
-
"",
|
|
50
|
-
"Return JSON only, in this shape:",
|
|
51
|
-
'{"name": string | null, "wordmark": string[], "logoNames": string[], "fonts": [{"family": string, "role": "heading" | "body" | "any", "use": boolean}], "colors": [{"hex": "#rrggbb", "use": boolean}]}',
|
|
52
|
-
"",
|
|
53
|
-
`- name: the brand's name exactly as written ("# Zernio Brand Guidelines" names Zernio). null when neither document states one, as in an unfilled template ("# Brand Guidelines", "# Company", TODO).`,
|
|
54
|
-
`- wordmark: every word the documents say the logo prints, as they quote it ("Wordmark: \\"permut\\"" gives "permut"; 'symbol plus "Cubbo" wordmark' gives "Cubbo"), even when it is also the name. [] when they quote none.`,
|
|
55
|
-
'- logoNames: a product or brand name a logo file name carries ("logo-engage-blue.png" gives "Engage"). Colours, variants, sizes and formats (dark, white, icon, isotype, png) are not names. [] when none.',
|
|
56
|
-
`- fonts: every typeface the guidelines name, by its family name exactly, the banned ones included. role is heading, body, or any when they do not say. use is false when the guidelines ban it, forbid it or say to avoid it or never use it, in any wording or language; true when the brand uses it. Only a named typeface counts: a generic family (sans-serif, serif, monospace, system-ui) or the operating system's own fonts ("system stack", "system fonts") is not one, so leave it out.`,
|
|
57
|
-
"- colors: every hex colour the guidelines give. use is false when they ban it or say to avoid it, true when it is a brand colour.",
|
|
58
|
-
"",
|
|
59
|
-
"<brand_md>",
|
|
60
|
-
(docs.brandMd ?? "").slice(0, BRAND_MD_CHARS),
|
|
61
|
-
"</brand_md>",
|
|
62
|
-
"<company_md>",
|
|
63
|
-
(docs.companyMd ?? "").slice(0, COMPANY_MD_CHARS),
|
|
64
|
-
"</company_md>",
|
|
65
|
-
"<logo_files>",
|
|
66
|
-
(docs.logoFiles ?? []).join("\n"),
|
|
67
|
-
"</logo_files>"
|
|
68
|
-
].join("\n");
|
|
69
|
-
}
|
|
70
|
-
function parseBrandDoc(answer) {
|
|
71
|
-
const parsed = Reading.safeParse(answer);
|
|
72
|
-
if (!parsed.success) return null;
|
|
73
|
-
const fonts = parsed.data.fonts.flatMap((f) => {
|
|
74
|
-
const font = Font.safeParse(f);
|
|
75
|
-
return font.success ? [font.data] : [];
|
|
76
|
-
});
|
|
77
|
-
const colors = parsed.data.colors.flatMap((c) => {
|
|
78
|
-
const color = Color.safeParse(c);
|
|
79
|
-
return color.success ? [color.data] : [];
|
|
80
|
-
});
|
|
81
|
-
return {
|
|
82
|
-
...parsed.data.name ? { name: parsed.data.name } : {},
|
|
83
|
-
wordmark: [.../* @__PURE__ */ new Set([...parsed.data.wordmark, ...parsed.data.logoNames])],
|
|
84
|
-
fonts,
|
|
85
|
-
colors
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
function brandDocReader(cacheDir, onSpend) {
|
|
89
|
-
return async (docs) => {
|
|
90
|
-
const prompt = brandDocPrompt(docs);
|
|
91
|
-
const key = createHash("sha256").update(JSON.stringify([PROMPT_VERSION, BRAND_DOC_MODEL, prompt])).digest("hex");
|
|
92
|
-
const file = path.join(cacheDir, "brand-doc", `${key}.json`);
|
|
93
|
-
const cached = parseBrandDoc(await readFile(file, "utf8").then(JSON.parse, () => null));
|
|
94
|
-
if (cached) return cached;
|
|
95
|
-
const spent = [];
|
|
96
|
-
const answer = await askAboutText(BRAND_DOC_MODEL, prompt, (u) => onSpend ? onSpend(u) : spent.push(u), {
|
|
97
|
-
timeoutMs: TIMEOUT_MS,
|
|
98
|
-
request: REQUEST
|
|
99
|
-
}).catch(() => null);
|
|
100
|
-
await holdUnbilledSpend(cacheDir, spent).catch(() => void 0);
|
|
101
|
-
const reading = parseBrandDoc(answer);
|
|
102
|
-
if (reading) {
|
|
103
|
-
await mkdir(path.dirname(file), { recursive: true }).catch(() => void 0);
|
|
104
|
-
await writeFile(file, JSON.stringify(reading), "utf8").catch(() => void 0);
|
|
105
|
-
}
|
|
106
|
-
return reading;
|
|
107
|
-
};
|
|
108
|
-
}
|
|
109
|
-
var LOGO_FILE = /logo|lockup|wordmark|isotype|isologo/i;
|
|
110
|
-
async function workspaceBrandDocs(root) {
|
|
111
|
-
const read = (rel) => readFile(path.join(root, rel), "utf8").catch(() => null);
|
|
112
|
-
const logoFiles = (await readdir(path.join(root, "src", "brand", "logos")).catch(() => [])).filter((f) => /\.(png|jpe?g|webp|svg)$/i.test(f) && LOGO_FILE.test(f)).sort();
|
|
113
|
-
return { brandMd: await read("src/brand/BRAND.md"), companyMd: await read("COMPANY.md"), logoFiles };
|
|
114
|
-
}
|
|
115
|
-
async function readWorkspaceBrandDoc(root, opts = {}) {
|
|
116
|
-
const docs = await workspaceBrandDocs(root);
|
|
117
|
-
if (!docs.brandMd?.trim() && !docs.companyMd?.trim()) return null;
|
|
118
|
-
const read = opts.read ?? brandDocReader(path.join(root, "canvas", ".cache"), opts.onSpend);
|
|
119
|
-
return await read(docs).catch(() => null);
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
// src/engine/landing/lib/color.ts
|
|
123
|
-
var NEUTRAL_COLOR_KEYWORDS = /* @__PURE__ */ new Set([
|
|
124
|
-
"transparent",
|
|
125
|
-
"currentcolor",
|
|
126
|
-
"black",
|
|
127
|
-
"white",
|
|
128
|
-
"gray",
|
|
129
|
-
"grey",
|
|
130
|
-
"silver",
|
|
131
|
-
"dimgray",
|
|
132
|
-
"dimgrey",
|
|
133
|
-
"darkgray",
|
|
134
|
-
"darkgrey",
|
|
135
|
-
"lightgray",
|
|
136
|
-
"lightgrey",
|
|
137
|
-
"gainsboro",
|
|
138
|
-
"whitesmoke"
|
|
139
|
-
]);
|
|
140
|
-
function hexChannels(color) {
|
|
141
|
-
const long = color.match(/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})(?:[0-9a-f]{2})?$/i);
|
|
142
|
-
if (long)
|
|
143
|
-
return [
|
|
144
|
-
Number.parseInt(long[1] ?? "0", 16),
|
|
145
|
-
Number.parseInt(long[2] ?? "0", 16),
|
|
146
|
-
Number.parseInt(long[3] ?? "0", 16)
|
|
147
|
-
];
|
|
148
|
-
const short = color.match(/^#([0-9a-f])([0-9a-f])([0-9a-f])(?:[0-9a-f])?$/i);
|
|
149
|
-
if (short) {
|
|
150
|
-
const dup = (s) => Number.parseInt(`${s ?? "0"}${s ?? "0"}`, 16);
|
|
151
|
-
return [dup(short[1]), dup(short[2]), dup(short[3])];
|
|
152
|
-
}
|
|
153
|
-
return null;
|
|
154
|
-
}
|
|
155
|
-
function parseColor(raw) {
|
|
156
|
-
const c = String(raw || "").trim().toLowerCase();
|
|
157
|
-
if (!c || c === "transparent") return null;
|
|
158
|
-
const rgb = c.match(/rgba?\(\s*([\d.]+)[\s,]+([\d.]+)[\s,]+([\d.]+)(?:[\s,/]+([\d.]+%?))?\s*\)/i);
|
|
159
|
-
if (rgb) {
|
|
160
|
-
const alpha = rgb[4];
|
|
161
|
-
const a = alpha === void 0 ? 1 : alpha.endsWith("%") ? Number.parseFloat(alpha) / 100 : Number.parseFloat(alpha);
|
|
162
|
-
return { r: Number(rgb[1]), g: Number(rgb[2]), b: Number(rgb[3]), a };
|
|
163
|
-
}
|
|
164
|
-
const oklch = parseOklch(c);
|
|
165
|
-
if (oklch) return oklch;
|
|
166
|
-
const hex = hexChannels(c);
|
|
167
|
-
if (hex) return { r: hex[0], g: hex[1], b: hex[2], a: 1 };
|
|
168
|
-
return null;
|
|
169
|
-
}
|
|
170
|
-
function parseOklch(c) {
|
|
171
|
-
const m = c.match(/oklch\(\s*([\d.]+%?)\s+([\d.]+%?)\s+([\d.]+)(?:deg)?(?:\s*\/\s*([\d.]+%?))?\s*\)/i);
|
|
172
|
-
if (!m) return null;
|
|
173
|
-
const pct = (s, scale) => s.endsWith("%") ? Number.parseFloat(s) / 100 * scale : Number.parseFloat(s);
|
|
174
|
-
const alpha = m[4];
|
|
175
|
-
const a = alpha === void 0 ? 1 : pct(alpha, 1);
|
|
176
|
-
return { ...oklchToRgb(pct(m[1] ?? "0", 1), pct(m[2] ?? "0", 0.4), Number.parseFloat(m[3] ?? "0")), a };
|
|
177
|
-
}
|
|
178
|
-
function oklchToRgb(L, C, H) {
|
|
179
|
-
const hRad = H * Math.PI / 180;
|
|
180
|
-
const a = C * Math.cos(hRad);
|
|
181
|
-
const b = C * Math.sin(hRad);
|
|
182
|
-
const l = (L + 0.3963377774 * a + 0.2158037573 * b) ** 3;
|
|
183
|
-
const m = (L - 0.1055613458 * a - 0.0638541728 * b) ** 3;
|
|
184
|
-
const s = (L - 0.0894841775 * a - 1.291485548 * b) ** 3;
|
|
185
|
-
const lin = [
|
|
186
|
-
4.0767416621 * l - 3.3077115913 * m + 0.2309699292 * s,
|
|
187
|
-
-1.2684380046 * l + 2.6097574011 * m - 0.3413193965 * s,
|
|
188
|
-
-0.0041960863 * l - 0.7034186147 * m + 1.707614701 * s
|
|
189
|
-
].map((v) => {
|
|
190
|
-
const g = v <= 31308e-7 ? 12.92 * v : 1.055 * Math.sign(v) * Math.abs(v) ** (1 / 2.4) - 0.055;
|
|
191
|
-
return Math.round(Math.max(0, Math.min(1, g)) * 255);
|
|
192
|
-
});
|
|
193
|
-
return { r: lin[0] ?? 0, g: lin[1] ?? 0, b: lin[2] ?? 0 };
|
|
194
|
-
}
|
|
195
|
-
function isNeutralAuthoredColor(rawColor) {
|
|
196
|
-
const c = String(rawColor || "").trim().toLowerCase();
|
|
197
|
-
if (!c) return false;
|
|
198
|
-
if (NEUTRAL_COLOR_KEYWORDS.has(c)) return true;
|
|
199
|
-
if (/^rgba?\(/i.test(c)) {
|
|
200
|
-
const channels2 = c.match(/^rgba?\(\s*([\d.]+)[\s,]+([\d.]+)[\s,]+([\d.]+)/i);
|
|
201
|
-
if (channels2) {
|
|
202
|
-
const values = [1, 2, 3].map((i) => Number(channels2[i]));
|
|
203
|
-
return Math.max(...values) - Math.min(...values) < 30;
|
|
204
|
-
}
|
|
205
|
-
return false;
|
|
206
|
-
}
|
|
207
|
-
const oklch = c.match(/oklch\(\s*[\d.]+%?\s+([\d.-]+)/i);
|
|
208
|
-
if (oklch) return Number.parseFloat(oklch[1] ?? "0") < 0.02;
|
|
209
|
-
const lch = c.match(/lch\(\s*[\d.]+%?\s+([\d.-]+)/i);
|
|
210
|
-
if (lch) return Number.parseFloat(lch[1] ?? "0") < 3;
|
|
211
|
-
const hsl = c.match(/hsla?\(\s*[\d.-]+\s*,?\s*([\d.]+)%/i);
|
|
212
|
-
if (hsl) return Number.parseFloat(hsl[1] ?? "0") < 10;
|
|
213
|
-
const channels = hexChannels(c);
|
|
214
|
-
if (channels) return Math.max(...channels) - Math.min(...channels) < 30;
|
|
215
|
-
return false;
|
|
216
|
-
}
|
|
217
|
-
function hasChroma(c, threshold = 30) {
|
|
218
|
-
if (!c) return false;
|
|
219
|
-
return Math.max(c.r, c.g, c.b) - Math.min(c.r, c.g, c.b) >= threshold;
|
|
220
|
-
}
|
|
221
|
-
function getHue(c) {
|
|
222
|
-
if (!c) return 0;
|
|
223
|
-
const r = c.r / 255;
|
|
224
|
-
const g = c.g / 255;
|
|
225
|
-
const b = c.b / 255;
|
|
226
|
-
const max = Math.max(r, g, b);
|
|
227
|
-
const min = Math.min(r, g, b);
|
|
228
|
-
if (max === min) return 0;
|
|
229
|
-
const d = max - min;
|
|
230
|
-
let h;
|
|
231
|
-
if (max === r) h = ((g - b) / d + (g < b ? 6 : 0)) / 6;
|
|
232
|
-
else if (max === g) h = ((b - r) / d + 2) / 6;
|
|
233
|
-
else h = ((r - g) / d + 4) / 6;
|
|
234
|
-
return Math.round(h * 360);
|
|
235
|
-
}
|
|
236
|
-
function isAiPurpleHue(hue) {
|
|
237
|
-
return hue >= 225 && hue <= 310;
|
|
238
|
-
}
|
|
239
|
-
function isCreamColor(c) {
|
|
240
|
-
if (Math.min(c.r, c.g, c.b) < 209) return false;
|
|
241
|
-
if (!(c.r >= c.g && c.g >= c.b)) return false;
|
|
242
|
-
const warmth = c.r - c.b;
|
|
243
|
-
return warmth >= 6 && warmth <= 48;
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
// src/engine/landing/lib/brand-tokens.ts
|
|
247
|
-
var EMPTY = { fonts: /* @__PURE__ */ new Set(), colors: [], hasTokens: false };
|
|
248
|
-
function isNotAFamily(value) {
|
|
249
|
-
return /^[1-9]00$/.test(value) || /^\d+(?:\.\d+)?(?:px|rem|em|%|pt|vw|vh|ch|ex)$/i.test(value) || /^(?:normal|bold|bolder|lighter|italic|oblique|none|auto|inherit|initial|unset)$/i.test(value);
|
|
250
|
-
}
|
|
251
|
-
function parseBrandTokens(globalCss, brandDoc) {
|
|
252
|
-
const fonts = /* @__PURE__ */ new Set();
|
|
253
|
-
const colors = [];
|
|
254
|
-
parseGlobalCss(globalCss, fonts, colors);
|
|
255
|
-
for (const font of brandDoc?.fonts ?? []) if (font.use) fonts.add(font.family.toLowerCase());
|
|
256
|
-
for (const color of brandDoc?.colors ?? []) {
|
|
257
|
-
const parsed = color.use ? parseColor(color.hex) : null;
|
|
258
|
-
if (parsed) colors.push(parsed);
|
|
259
|
-
}
|
|
260
|
-
return { fonts, colors, hasTokens: fonts.size > 0 || colors.length > 0 };
|
|
261
|
-
}
|
|
262
|
-
function parseGlobalCss(rawCss, fonts, colors) {
|
|
263
|
-
const globalCss = rawCss.replace(/\/\*[\s\S]*?\*\//g, (block) => block.replace(/[^\n]/g, " "));
|
|
264
|
-
for (const m of globalCss.matchAll(/(?<![\w-])--font-([\w-]*)\s*:\s*([^;]+);/gi)) {
|
|
265
|
-
const slug = m[1] ?? "";
|
|
266
|
-
if (slug.includes("--") || /^weight(?:$|[-\s])/i.test(slug)) continue;
|
|
267
|
-
const first = (m[2] ?? "").split(",")[0]?.trim().replace(/^['"]|['"]$/g, "").toLowerCase();
|
|
268
|
-
if (!first || isNotAFamily(first)) continue;
|
|
269
|
-
fonts.add(first);
|
|
270
|
-
}
|
|
271
|
-
for (const m of globalCss.matchAll(
|
|
272
|
-
/--color-[\w-]*\s*:\s*(#[0-9a-f]{3,8}\b|rgba?\([^)]+\)|oklch\([^)]+\)|hsla?\([^)]+\))/gi
|
|
273
|
-
)) {
|
|
274
|
-
const c = parseColor(m[1] ?? "");
|
|
275
|
-
if (c) colors.push(c);
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
function brandTokensFromCanonical(tokens) {
|
|
279
|
-
const fonts = new Set(tokens.fonts.map((f) => f.family.toLowerCase()));
|
|
280
|
-
const colors = [];
|
|
281
|
-
for (const color of tokens.colors) {
|
|
282
|
-
const parsed = parseColor(color.value);
|
|
283
|
-
if (parsed) colors.push(parsed);
|
|
284
|
-
}
|
|
285
|
-
return { fonts, colors, hasTokens: fonts.size > 0 || colors.length > 0 };
|
|
286
|
-
}
|
|
287
|
-
async function loadBrandTokens(projectRoot, opts = {}) {
|
|
288
|
-
const tokensRaw = await safeRead(path2.join(projectRoot, "src", "brand", "tokens.json"));
|
|
289
|
-
if (tokensRaw) {
|
|
290
|
-
try {
|
|
291
|
-
const canonical = brandTokensSchema.safeParse(JSON.parse(tokensRaw));
|
|
292
|
-
if (canonical.success) return brandTokensFromCanonical(canonical.data);
|
|
293
|
-
} catch {
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
const globalCss = await safeRead(path2.join(projectRoot, "src", "styles", "global.css"));
|
|
297
|
-
const brandDoc = await readWorkspaceBrandDoc(projectRoot, {
|
|
298
|
-
...opts.readBrandDoc ? { read: opts.readBrandDoc } : {},
|
|
299
|
-
...opts.onSpend ? { onSpend: opts.onSpend } : {}
|
|
300
|
-
});
|
|
301
|
-
if (!globalCss && !brandDoc) return EMPTY;
|
|
302
|
-
return parseBrandTokens(globalCss, brandDoc);
|
|
303
|
-
}
|
|
304
|
-
async function safeRead(file) {
|
|
305
|
-
try {
|
|
306
|
-
return await readFile2(file, "utf8");
|
|
307
|
-
} catch {
|
|
308
|
-
return "";
|
|
309
|
-
}
|
|
310
|
-
}
|
|
311
|
-
function brandCommitsFont(brand, snippet) {
|
|
312
|
-
if (brand.fonts.size === 0) return false;
|
|
313
|
-
const lower = snippet.toLowerCase();
|
|
314
|
-
for (const f of brand.fonts) if (f.length >= 3 && lower.includes(f)) return true;
|
|
315
|
-
return false;
|
|
316
|
-
}
|
|
317
|
-
function brandCommitsAiHue(brand) {
|
|
318
|
-
return brand.colors.some((c) => hasChroma(c, 40) && isAiPurpleHue(getHue(c)));
|
|
319
|
-
}
|
|
320
|
-
function brandCommitsCream(brand) {
|
|
321
|
-
return brand.colors.some((c) => isCreamColor(c));
|
|
322
|
-
}
|
|
323
|
-
|
|
324
|
-
export {
|
|
325
|
-
LOGO_FILE,
|
|
326
|
-
readWorkspaceBrandDoc,
|
|
327
|
-
parseColor,
|
|
328
|
-
isNeutralAuthoredColor,
|
|
329
|
-
hasChroma,
|
|
330
|
-
isCreamColor,
|
|
331
|
-
parseBrandTokens,
|
|
332
|
-
loadBrandTokens,
|
|
333
|
-
brandCommitsFont,
|
|
334
|
-
brandCommitsAiHue,
|
|
335
|
-
brandCommitsCream
|
|
336
|
-
};
|
|
337
|
-
//# sourceMappingURL=chunk-RCWEJUSF.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/engine/landing/lib/brand-tokens.ts","../src/engine/brand/brand-doc.ts","../src/engine/landing/lib/color.ts"],"sourcesContent":["/**\n * Landing anti-slop detector — brand allowlist.\n *\n * The client's committed brand is the allowlist: a value that matches a brand\n * token is a decision, not a tell, so the detector downgrades it to advisory\n * (mirrors impeccable's DESIGN.md drift model). The canonical source is\n * `src/brand/tokens.json` (validated with the shared `@baker/api` schema); a\n * workspace that predates it falls back to the legacy scan of the global.css\n * `@theme` block plus the faces and colours BRAND.md says the brand uses, read\n * in any language by the brand reader (`brand/brand-doc.ts`). A value BRAND.md\n * bans is never allowlisted.\n *\n * Empty/TODO brand (a fresh scaffold) → no allowlist, full strictness.\n */\n\nimport { readFile } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { brandTokensSchema, type BrandTokens as CanonicalBrandTokens } from \"@baker/api\";\nimport { type BrandDocReading, type ReadBrandDocs, readWorkspaceBrandDoc } from \"../../brand/brand-doc.ts\";\nimport type { ReviewUsage } from \"../../nodes/local/lib/render-review.ts\";\nimport { getHue, hasChroma, isAiPurpleHue, isCreamColor, parseColor, type Rgb } from \"./color.ts\";\n\nexport type BrandTokens = {\n /** Lowercased committed font-family names (e.g. \"inter\", \"geist\"). */\n fonts: Set<string>;\n /** Parsed committed colors. */\n colors: Rgb[];\n /** True once any real token was found — distinguishes \"branded\" from \"blank\". */\n hasTokens: boolean;\n};\n\nconst EMPTY: BrandTokens = { fonts: new Set(), colors: [], hasTokens: false };\n\n/**\n * A token value that is a weight, a length, or a style keyword — never a family.\n *\n * Deliberately narrow, and the same predicate as `isNotAFamily` in the\n * scaffold's `__tooling__/checks/sdk/theme-css.mjs`. \"Anything starting with a\n * digit\" also swallows the real families that are named with digits — SAP's\n * \"72\", the \"3270\" monospace face — and because the scaffold keeps those,\n * dropping them here made `baker brand fonts check` clear a brand the client's\n * verify then rejected. `__tests__/theme-css-contract.test.ts` pins the two.\n */\nexport function isNotAFamily(value: string): boolean {\n return (\n /^[1-9]00$/.test(value) ||\n /^\\d+(?:\\.\\d+)?(?:px|rem|em|%|pt|vw|vh|ch|ex)$/i.test(value) ||\n /^(?:normal|bold|bolder|lighter|italic|oblique|none|auto|inherit|initial|unset)$/i.test(value)\n );\n}\n\n/** Pure parse of the two legacy brand sources: the theme, and what BRAND.md says it uses. */\nexport function parseBrandTokens(globalCss: string, brandDoc?: BrandDocReading | null): BrandTokens {\n const fonts = new Set<string>();\n const colors: Rgb[] = [];\n parseGlobalCss(globalCss, fonts, colors);\n for (const font of brandDoc?.fonts ?? []) if (font.use) fonts.add(font.family.toLowerCase());\n for (const color of brandDoc?.colors ?? []) {\n const parsed = color.use ? parseColor(color.hex) : null;\n if (parsed) colors.push(parsed);\n }\n return { fonts, colors, hasTokens: fonts.size > 0 || colors.length > 0 };\n}\n\n/** global.css `@theme` tokens: `--font-*` families and `--color-*` values.\n * Comments are stripped first — a commented-out legacy token is not a\n * commitment, and one stale purple would defang the color rules page-wide.\n *\n * The `--font-` match is anchored with a lookbehind and its value is checked:\n * `--text-h1--font-weight: 700` is a Tailwind v4 sub-property, and reading its\n * `--font-weight: 700` substring as a family called \"700\" put a 3-character\n * numeric string into the committed set — which `brandCommitsFont` then\n * substring-matched against every snippet containing \"700\", silently\n * whitelisting off-brand fonts. Mirrors\n * `apps/scaffold-template/__tooling__/checks/sdk/theme-css.mjs`. */\nfunction parseGlobalCss(rawCss: string, fonts: Set<string>, colors: Rgb[]): void {\n const globalCss = rawCss.replace(/\\/\\*[\\s\\S]*?\\*\\//g, (block) => block.replace(/[^\\n]/g, \" \"));\n for (const m of globalCss.matchAll(/(?<![\\w-])--font-([\\w-]*)\\s*:\\s*([^;]+);/gi)) {\n const slug = m[1] ?? \"\";\n if (slug.includes(\"--\") || /^weight(?:$|[-\\s])/i.test(slug)) continue;\n const first = (m[2] ?? \"\")\n .split(\",\")[0]\n ?.trim()\n .replace(/^['\"]|['\"]$/g, \"\")\n .toLowerCase();\n if (!first || isNotAFamily(first)) continue;\n fonts.add(first);\n }\n for (const m of globalCss.matchAll(\n /--color-[\\w-]*\\s*:\\s*(#[0-9a-f]{3,8}\\b|rgba?\\([^)]+\\)|oklch\\([^)]+\\)|hsla?\\([^)]+\\))/gi,\n )) {\n const c = parseColor(m[1] ?? \"\");\n if (c) colors.push(c);\n }\n}\n\n/** Canonical tokens.json → allowlist shape — exported for tests. */\nexport function brandTokensFromCanonical(tokens: CanonicalBrandTokens): BrandTokens {\n const fonts = new Set<string>(tokens.fonts.map((f) => f.family.toLowerCase()));\n const colors: Rgb[] = [];\n for (const color of tokens.colors) {\n const parsed = parseColor(color.value);\n if (parsed) colors.push(parsed);\n }\n return { fonts, colors, hasTokens: fonts.size > 0 || colors.length > 0 };\n}\n\n/**\n * Load brand tokens from a project root; degrades to empty when absent.\n * `src/brand/tokens.json` (canonical) wins; an absent or invalid file falls\n * back to the legacy global.css/BRAND.md scan — invalid is the drift\n * validator's finding to report, not a reason to run blind here.\n */\nexport async function loadBrandTokens(\n projectRoot: string,\n opts: { readBrandDoc?: ReadBrandDocs; onSpend?: (usage: ReviewUsage) => void } = {},\n): Promise<BrandTokens> {\n const tokensRaw = await safeRead(path.join(projectRoot, \"src\", \"brand\", \"tokens.json\"));\n if (tokensRaw) {\n try {\n const canonical = brandTokensSchema.safeParse(JSON.parse(tokensRaw));\n if (canonical.success) return brandTokensFromCanonical(canonical.data);\n } catch {\n // fall through to the legacy scan\n }\n }\n const globalCss = await safeRead(path.join(projectRoot, \"src\", \"styles\", \"global.css\"));\n const brandDoc = await readWorkspaceBrandDoc(projectRoot, {\n ...(opts.readBrandDoc ? { read: opts.readBrandDoc } : {}),\n ...(opts.onSpend ? { onSpend: opts.onSpend } : {}),\n });\n if (!globalCss && !brandDoc) return EMPTY;\n return parseBrandTokens(globalCss, brandDoc);\n}\n\nasync function safeRead(file: string): Promise<string> {\n try {\n return await readFile(file, \"utf8\");\n } catch {\n return \"\";\n }\n}\n\n/** Does the brand commit this font name (as it appears in a finding snippet)? */\nexport function brandCommitsFont(brand: BrandTokens, snippet: string): boolean {\n if (brand.fonts.size === 0) return false;\n const lower = snippet.toLowerCase();\n for (const f of brand.fonts) if (f.length >= 3 && lower.includes(f)) return true;\n return false;\n}\n\n/** Does the brand commit a purple/indigo hue (so the AI-palette tell is a choice)? */\nexport function brandCommitsAiHue(brand: BrandTokens): boolean {\n return brand.colors.some((c) => hasChroma(c, 40) && isAiPurpleHue(getHue(c)));\n}\n\n/** Does the brand commit a cream ground (so the cream tell is a choice)? */\nexport function brandCommitsCream(brand: BrandTokens): boolean {\n return brand.colors.some((c) => isCreamColor(c));\n}\n","/**\n * What the brand's own documents state about it, read by a text model in whatever language they\n * are written: its name, the words its logo prints, the typefaces and colours it uses and the ones\n * it bans. BRAND.md is prose, and every reader that scraped it with English words got it wrong\n * the moment it was written otherwise: \"nunca uses Inter\" read as a face to use.\n *\n * `src/brand/tokens.json` stays the canonical machine source; this is what the documents add or\n * what a workspace that predates tokens.json has. The model only extracts, pinned to one provider\n * and a seed, and each reading is kept by the documents' content, so the same documents\n * read the same on every run and cost one call per edit. Measured on scripts/brand-doc-evals.\n */\nimport { createHash } from \"node:crypto\";\nimport { mkdir, readdir, readFile, writeFile } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { z } from \"zod\";\nimport { holdUnbilledSpend } from \"../../commands/canvas/unbilled-spend.ts\";\nimport { askAboutText, type ReviewUsage } from \"../nodes/local/lib/render-review.ts\";\n\n/**\n * Measured 2026-10-11 with scripts/brand-doc-evals: 21/21 on each of nine runs, p50 about 0.65 s\n * (2.5 Flash-Lite, which it replaces: 21/21, 0.5 s). Vertex takes no temperature for this model\n * and AI Studio, which does, fails the key's zero-data-retention guardrail, so the seed pins the draw.\n */\nexport const BRAND_DOC_MODEL = \"google/gemini-3.5-flash-lite\";\nconst REQUEST = {\n provider: { order: [\"google-vertex\"], allow_fallbacks: false },\n seed: 0,\n response_format: { type: \"json_object\" },\n};\nconst PROMPT_VERSION = 2;\nconst TIMEOUT_MS = 30_000;\n/** About 8k tokens of guidelines: a brand document is shorter, and a runaway one is cut. */\nconst BRAND_MD_CHARS = 32_000;\n/** A company profile states its name at the top. */\nconst COMPANY_MD_CHARS = 4_000;\n\nconst Font = z.object({\n family: z.string().trim().min(1).max(60),\n role: z.enum([\"heading\", \"body\", \"any\"]).catch(\"any\"),\n use: z.boolean(),\n});\nconst Color = z.object({\n hex: z\n .string()\n .trim()\n .regex(/^#?[0-9a-fA-F]{6}$/)\n .transform((h) => `#${h.replace(/^#/, \"\").toLowerCase()}`),\n use: z.boolean(),\n});\nconst Reading = z.object({\n name: z.string().trim().min(1).max(80).nullable().catch(null),\n wordmark: z.array(z.string().trim().min(1).max(40)).catch([]),\n logoNames: z.array(z.string().trim().min(1).max(40)).catch([]),\n fonts: z.array(z.unknown()).catch([]),\n colors: z.array(z.unknown()).catch([]),\n});\n\nexport type BrandDocReading = {\n name?: string;\n /** The words the brand's logo prints, as the documents quote them or a logo file names a product. */\n wordmark: string[];\n fonts: Array<z.infer<typeof Font>>;\n colors: Array<z.infer<typeof Color>>;\n};\n\nexport type BrandDocs = { brandMd?: string | null; companyMd?: string | null; logoFiles?: readonly string[] };\n\nfunction brandDocPrompt(docs: BrandDocs): string {\n return [\n \"You read a company's brand guidelines (BRAND.md), the start of its company profile (COMPANY.md) and the file names of its logos. They may be written in any language, or several. Extract only what they state; never invent a value.\",\n \"\",\n \"Return JSON only, in this shape:\",\n '{\"name\": string | null, \"wordmark\": string[], \"logoNames\": string[], \"fonts\": [{\"family\": string, \"role\": \"heading\" | \"body\" | \"any\", \"use\": boolean}], \"colors\": [{\"hex\": \"#rrggbb\", \"use\": boolean}]}',\n \"\",\n '- name: the brand\\'s name exactly as written (\"# Zernio Brand Guidelines\" names Zernio). null when neither document states one, as in an unfilled template (\"# Brand Guidelines\", \"# Company\", TODO).',\n '- wordmark: every word the documents say the logo prints, as they quote it (\"Wordmark: \\\\\"permut\\\\\"\" gives \"permut\"; \\'symbol plus \"Cubbo\" wordmark\\' gives \"Cubbo\"), even when it is also the name. [] when they quote none.',\n '- logoNames: a product or brand name a logo file name carries (\"logo-engage-blue.png\" gives \"Engage\"). Colours, variants, sizes and formats (dark, white, icon, isotype, png) are not names. [] when none.',\n '- fonts: every typeface the guidelines name, by its family name exactly, the banned ones included. role is heading, body, or any when they do not say. use is false when the guidelines ban it, forbid it or say to avoid it or never use it, in any wording or language; true when the brand uses it. Only a named typeface counts: a generic family (sans-serif, serif, monospace, system-ui) or the operating system\\'s own fonts (\"system stack\", \"system fonts\") is not one, so leave it out.',\n \"- colors: every hex colour the guidelines give. use is false when they ban it or say to avoid it, true when it is a brand colour.\",\n \"\",\n \"<brand_md>\",\n (docs.brandMd ?? \"\").slice(0, BRAND_MD_CHARS),\n \"</brand_md>\",\n \"<company_md>\",\n (docs.companyMd ?? \"\").slice(0, COMPANY_MD_CHARS),\n \"</company_md>\",\n \"<logo_files>\",\n (docs.logoFiles ?? []).join(\"\\n\"),\n \"</logo_files>\",\n ].join(\"\\n\");\n}\n\n/** The model's answer as a reading, every entry it got wrong dropped; null when it is not one. Pure. */\nfunction parseBrandDoc(answer: unknown): BrandDocReading | null {\n const parsed = Reading.safeParse(answer);\n if (!parsed.success) return null;\n const fonts = parsed.data.fonts.flatMap((f) => {\n const font = Font.safeParse(f);\n return font.success ? [font.data] : [];\n });\n const colors = parsed.data.colors.flatMap((c) => {\n const color = Color.safeParse(c);\n return color.success ? [color.data] : [];\n });\n return {\n ...(parsed.data.name ? { name: parsed.data.name } : {}),\n wordmark: [...new Set([...parsed.data.wordmark, ...parsed.data.logoNames])],\n fonts,\n colors,\n };\n}\n\n/** Reads the documents with the model, or null when it could not answer. */\nexport type ReadBrandDocs = (docs: BrandDocs) => Promise<BrandDocReading | null>;\n\n/**\n * The real reader: each reading kept in `cacheDir` by the documents, the model and the prompt.\n * Spend goes to `onSpend`, or, without one, waits in `cacheDir` for the workspace's next run\n * record to bill it.\n */\nexport function brandDocReader(cacheDir: string, onSpend?: (usage: ReviewUsage) => void): ReadBrandDocs {\n return async (docs) => {\n const prompt = brandDocPrompt(docs);\n const key = createHash(\"sha256\")\n .update(JSON.stringify([PROMPT_VERSION, BRAND_DOC_MODEL, prompt]))\n .digest(\"hex\");\n const file = path.join(cacheDir, \"brand-doc\", `${key}.json`);\n const cached = parseBrandDoc(await readFile(file, \"utf8\").then(JSON.parse, () => null));\n if (cached) return cached;\n const spent: ReviewUsage[] = [];\n const answer = await askAboutText(BRAND_DOC_MODEL, prompt, (u) => (onSpend ? onSpend(u) : spent.push(u)), {\n timeoutMs: TIMEOUT_MS,\n request: REQUEST,\n }).catch(() => null);\n await holdUnbilledSpend(cacheDir, spent).catch(() => undefined);\n const reading = parseBrandDoc(answer);\n if (reading) {\n await mkdir(path.dirname(file), { recursive: true }).catch(() => undefined);\n await writeFile(file, JSON.stringify(reading), \"utf8\").catch(() => undefined);\n }\n return reading;\n };\n}\n\n/** A file named as the brand's own logo; a partner's or a tool's icon (`python-icon.png`) is not. */\nexport const LOGO_FILE = /logo|lockup|wordmark|isotype|isologo/i;\n\n/** BRAND.md, COMPANY.md and the brand's own logo file names in a workspace. Never throws. */\nasync function workspaceBrandDocs(root: string): Promise<BrandDocs> {\n const read = (rel: string) => readFile(path.join(root, rel), \"utf8\").catch(() => null);\n const logoFiles = ((await readdir(path.join(root, \"src\", \"brand\", \"logos\")).catch(() => [])) as string[])\n .filter((f) => /\\.(png|jpe?g|webp|svg)$/i.test(f) && LOGO_FILE.test(f))\n .sort();\n return { brandMd: await read(\"src/brand/BRAND.md\"), companyMd: await read(\"COMPANY.md\"), logoFiles };\n}\n\n/**\n * What the workspace's brand documents state, read once per edit. Null when there is nothing to\n * read, or no model could read it: every caller then uses what code can read without one.\n */\nexport async function readWorkspaceBrandDoc(\n root: string,\n opts: { read?: ReadBrandDocs; onSpend?: (usage: ReviewUsage) => void } = {},\n): Promise<BrandDocReading | null> {\n const docs = await workspaceBrandDocs(root);\n if (!docs.brandMd?.trim() && !docs.companyMd?.trim()) return null;\n const read = opts.read ?? brandDocReader(path.join(root, \"canvas\", \".cache\"), opts.onSpend);\n return await read(docs).catch(() => null);\n}\n","/**\n * Landing anti-slop detector — color utilities.\n *\n * Ported (with sense) from impeccable's `cli/engine/shared/color.mjs` +\n * `isNeutralAuthoredColor` from `detect-text.mjs`. These parse colors as WRITTEN\n * in authored CSS (hex, named, rgb/hsl/oklch), not just the computed forms a\n * browser emits — because we scan `.astro` source, not a rendered DOM.\n */\n\nexport type Rgb = { r: number; g: number; b: number; a: number };\n\n/** CSS named colors whose channels are equal (achromatic). */\nconst NEUTRAL_COLOR_KEYWORDS = new Set<string>([\n \"transparent\",\n \"currentcolor\",\n \"black\",\n \"white\",\n \"gray\",\n \"grey\",\n \"silver\",\n \"dimgray\",\n \"dimgrey\",\n \"darkgray\",\n \"darkgrey\",\n \"lightgray\",\n \"lightgrey\",\n \"gainsboro\",\n \"whitesmoke\",\n]);\n\nfunction hexChannels(color: string): [number, number, number] | null {\n const long = color.match(/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})(?:[0-9a-f]{2})?$/i);\n if (long)\n return [\n Number.parseInt(long[1] ?? \"0\", 16),\n Number.parseInt(long[2] ?? \"0\", 16),\n Number.parseInt(long[3] ?? \"0\", 16),\n ];\n const short = color.match(/^#([0-9a-f])([0-9a-f])([0-9a-f])(?:[0-9a-f])?$/i);\n if (short) {\n const dup = (s: string | undefined) => Number.parseInt(`${s ?? \"0\"}${s ?? \"0\"}`, 16);\n return [dup(short[1]), dup(short[2]), dup(short[3])];\n }\n return null;\n}\n\n/** Parse any authored hex / rgb() / oklch() color to {r,g,b,a}. Null if unknown. */\nexport function parseColor(raw: string): Rgb | null {\n const c = String(raw || \"\")\n .trim()\n .toLowerCase();\n if (!c || c === \"transparent\") return null;\n const rgb = c.match(/rgba?\\(\\s*([\\d.]+)[\\s,]+([\\d.]+)[\\s,]+([\\d.]+)(?:[\\s,/]+([\\d.]+%?))?\\s*\\)/i);\n if (rgb) {\n const alpha = rgb[4];\n const a = alpha === undefined ? 1 : alpha.endsWith(\"%\") ? Number.parseFloat(alpha) / 100 : Number.parseFloat(alpha);\n return { r: Number(rgb[1]), g: Number(rgb[2]), b: Number(rgb[3]), a };\n }\n const oklch = parseOklch(c);\n if (oklch) return oklch;\n const hex = hexChannels(c);\n if (hex) return { r: hex[0], g: hex[1], b: hex[2], a: 1 };\n return null;\n}\n\n/** `oklch(L C H)` / `oklch(L% C H / a)` → Rgb, or null when not oklch. */\nfunction parseOklch(c: string): Rgb | null {\n const m = c.match(/oklch\\(\\s*([\\d.]+%?)\\s+([\\d.]+%?)\\s+([\\d.]+)(?:deg)?(?:\\s*\\/\\s*([\\d.]+%?))?\\s*\\)/i);\n if (!m) return null;\n const pct = (s: string, scale: number) =>\n s.endsWith(\"%\") ? (Number.parseFloat(s) / 100) * scale : Number.parseFloat(s);\n const alpha = m[4];\n const a = alpha === undefined ? 1 : pct(alpha, 1);\n return { ...oklchToRgb(pct(m[1] ?? \"0\", 1), pct(m[2] ?? \"0\", 0.4), Number.parseFloat(m[3] ?? \"0\")), a };\n}\n\n/** oklch(L C H) → sRGB via OKLab (Björn Ottosson's reference constants), so\n * Tailwind v4-idiomatic `@theme` colors participate in the brand allowlist. */\nfunction oklchToRgb(L: number, C: number, H: number): { r: number; g: number; b: number } {\n const hRad = (H * Math.PI) / 180;\n const a = C * Math.cos(hRad);\n const b = C * Math.sin(hRad);\n const l = (L + 0.3963377774 * a + 0.2158037573 * b) ** 3;\n const m = (L - 0.1055613458 * a - 0.0638541728 * b) ** 3;\n const s = (L - 0.0894841775 * a - 1.291485548 * b) ** 3;\n const lin = [\n 4.0767416621 * l - 3.3077115913 * m + 0.2309699292 * s,\n -1.2684380046 * l + 2.6097574011 * m - 0.3413193965 * s,\n -0.0041960863 * l - 0.7034186147 * m + 1.707614701 * s,\n ].map((v) => {\n const g = v <= 0.0031308 ? 12.92 * v : 1.055 * Math.sign(v) * Math.abs(v) ** (1 / 2.4) - 0.055;\n return Math.round(Math.max(0, Math.min(1, g)) * 255);\n });\n return { r: lin[0] ?? 0, g: lin[1] ?? 0, b: lin[2] ?? 0 };\n}\n\n/**\n * Neutrality test for colors as written in source CSS. Handles hex and named\n * neutrals directly; for rgb()/hsl()/oklch() etc. uses the channel/component\n * spread. An unrecognized spelling stays chromatic so a real accent is never\n * silently skipped (impeccable's fail-toward-detection default).\n */\nexport function isNeutralAuthoredColor(rawColor: string): boolean {\n const c = String(rawColor || \"\")\n .trim()\n .toLowerCase();\n if (!c) return false;\n if (NEUTRAL_COLOR_KEYWORDS.has(c)) return true;\n if (/^rgba?\\(/i.test(c)) {\n const channels = c.match(/^rgba?\\(\\s*([\\d.]+)[\\s,]+([\\d.]+)[\\s,]+([\\d.]+)/i);\n if (channels) {\n const values = [1, 2, 3].map((i) => Number(channels[i]));\n return Math.max(...values) - Math.min(...values) < 30;\n }\n return false;\n }\n // oklch/lch chroma is the second component; hsl saturation is the second.\n const oklch = c.match(/oklch\\(\\s*[\\d.]+%?\\s+([\\d.-]+)/i);\n if (oklch) return Number.parseFloat(oklch[1] ?? \"0\") < 0.02;\n const lch = c.match(/lch\\(\\s*[\\d.]+%?\\s+([\\d.-]+)/i);\n if (lch) return Number.parseFloat(lch[1] ?? \"0\") < 3;\n const hsl = c.match(/hsla?\\(\\s*[\\d.-]+\\s*,?\\s*([\\d.]+)%/i);\n if (hsl) return Number.parseFloat(hsl[1] ?? \"0\") < 10;\n const channels = hexChannels(c);\n if (channels) return Math.max(...channels) - Math.min(...channels) < 30;\n return false;\n}\n\nexport function hasChroma(c: Rgb | null, threshold = 30): boolean {\n if (!c) return false;\n return Math.max(c.r, c.g, c.b) - Math.min(c.r, c.g, c.b) >= threshold;\n}\n\n/** Hue in degrees (0–360) for an rgb color. */\nexport function getHue(c: Rgb | null): number {\n if (!c) return 0;\n const r = c.r / 255;\n const g = c.g / 255;\n const b = c.b / 255;\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n if (max === min) return 0;\n const d = max - min;\n let h: number;\n if (max === r) h = ((g - b) / d + (g < b ? 6 : 0)) / 6;\n else if (max === g) h = ((b - r) / d + 2) / 6;\n else h = ((r - g) / d + 4) / 6;\n return Math.round(h * 360);\n}\n\n/** Is this hue in the purple/violet/indigo band the AI-palette rule flags?\n * 225–310 covers everything the detection side bans: Tailwind indigo (~239°),\n * the indigo hero hexes (#667eea 229°, #6366f1 239°), violet (#8b5cf6 258°),\n * and purple (#7c3aed 262°+). Keep in lockstep with `AI_PURPLE_HEXES`. */\nexport function isAiPurpleHue(hue: number): boolean {\n return hue >= 225 && hue <= 310;\n}\n\n/** Is this a warm cream/parchment ground (light, r≥g≥b, small warmth)? */\nexport function isCreamColor(c: Rgb): boolean {\n if (Math.min(c.r, c.g, c.b) < 209) return false;\n if (!(c.r >= c.g && c.g >= c.b)) return false;\n const warmth = c.r - c.b;\n return warmth >= 6 && warmth <= 48;\n}\n"],"mappings":"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","names":["readFile","path","channels","path","readFile"]}
|
package/dist/chunk-RDQI3YD2.js
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
applyFieldMask,
|
|
3
|
-
compactWinningAd,
|
|
4
|
-
fullWinningAd,
|
|
5
|
-
winningAdNormalizer,
|
|
6
|
-
writeJson
|
|
7
|
-
} from "./chunk-IWLWY2UD.js";
|
|
8
|
-
|
|
9
|
-
// src/commands/winning-ads/adRows.ts
|
|
10
|
-
var EVERY_SIGNAL = {
|
|
11
|
-
dna: {
|
|
12
|
-
visual: "-",
|
|
13
|
-
container: "-",
|
|
14
|
-
mechanism: "-",
|
|
15
|
-
audience_temperature: "-",
|
|
16
|
-
funnel_stage: "-",
|
|
17
|
-
advertiser_size: "-",
|
|
18
|
-
presumes_brand_knowledge: true,
|
|
19
|
-
brand_knowledge_reason: "-"
|
|
20
|
-
},
|
|
21
|
-
baker_uses: { companies: 1, ours: true, approved: 1, rejected: 1 },
|
|
22
|
-
source: "followed",
|
|
23
|
-
stage: "-",
|
|
24
|
-
survived_test: true,
|
|
25
|
-
partnership: { partner_name: "-" }
|
|
26
|
-
};
|
|
27
|
-
var COMPACT_FIELDS = new Set(Object.keys(compactWinningAd(EVERY_SIGNAL)));
|
|
28
|
-
var ALL_FIELDS = Object.keys(fullWinningAd(EVERY_SIGNAL));
|
|
29
|
-
function adFields(requested, full) {
|
|
30
|
-
if (!requested) return { fields: void 0, full };
|
|
31
|
-
const fields = requested.map((f) => f.trim()).filter(Boolean);
|
|
32
|
-
const invalid = fields.filter((f) => !ALL_FIELDS.includes(f));
|
|
33
|
-
if (invalid.length > 0) return { invalid, valid: ALL_FIELDS };
|
|
34
|
-
return { fields, full: full || fields.some((f) => !COMPACT_FIELDS.has(f)) };
|
|
35
|
-
}
|
|
36
|
-
function adFieldPlan(fields, full) {
|
|
37
|
-
const plan = adFields(fields ? String(fields).split(",") : void 0, Boolean(full));
|
|
38
|
-
if (!("invalid" in plan)) return plan;
|
|
39
|
-
writeJson({
|
|
40
|
-
ok: false,
|
|
41
|
-
error: {
|
|
42
|
-
code: "VALIDATION_ERROR",
|
|
43
|
-
message: `Unknown --fields: ${plan.invalid.join(", ")}`,
|
|
44
|
-
fix: {
|
|
45
|
-
action: "retry_with_valid_values",
|
|
46
|
-
explanation: "Pass only fields an ad row carries.",
|
|
47
|
-
flag: "--fields",
|
|
48
|
-
invalidValues: plan.invalid,
|
|
49
|
-
validValues: plan.valid
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
process.exit(1);
|
|
54
|
-
}
|
|
55
|
-
function adRows(raw, plan) {
|
|
56
|
-
return raw.map((r) => {
|
|
57
|
-
const row = winningAdNormalizer(r, plan.full);
|
|
58
|
-
return plan.fields ? applyFieldMask(row, plan.fields) : row;
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
export {
|
|
63
|
-
adFieldPlan,
|
|
64
|
-
adRows
|
|
65
|
-
};
|
|
66
|
-
//# sourceMappingURL=chunk-RDQI3YD2.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/winning-ads/adRows.ts"],"sourcesContent":["import { applyFieldMask, compactWinningAd, fullWinningAd, winningAdNormalizer, writeJson } from \"../../output.ts\";\n\n/**\n * The rows `search`, `feed`, `winners` and `ads` print: one ad each, compact\n * unless `--full`, cut to `--fields` in every output. Before, the JSON a\n * `feed`, `winners` or `ads` call prints ignored `--fields`, so an agent that\n * asked for three columns still read every row whole.\n */\n\nexport type AdFieldPlan = { fields: string[] | undefined; full: boolean };\n\n// A row with every optional signal set: its keys are every field an ad row can carry.\nconst EVERY_SIGNAL: Record<string, unknown> = {\n dna: {\n visual: \"-\",\n container: \"-\",\n mechanism: \"-\",\n audience_temperature: \"-\",\n funnel_stage: \"-\",\n advertiser_size: \"-\",\n presumes_brand_knowledge: true,\n brand_knowledge_reason: \"-\",\n },\n baker_uses: { companies: 1, ours: true, approved: 1, rejected: 1 },\n source: \"followed\",\n stage: \"-\",\n survived_test: true,\n partnership: { partner_name: \"-\" },\n};\nconst COMPACT_FIELDS = new Set(Object.keys(compactWinningAd(EVERY_SIGNAL)));\nconst ALL_FIELDS = Object.keys(fullWinningAd(EVERY_SIGNAL));\n\n/**\n * The `--fields` asked for, read the way an agent types them: names trimmed,\n * the full row when a name only `--full` carries is asked for, and a name no\n * row carries refused with the ones that exist. Before, each of those printed\n * an empty column.\n */\nexport function adFields(\n requested: string[] | undefined,\n full: boolean,\n): AdFieldPlan | { invalid: string[]; valid: string[] } {\n if (!requested) return { fields: undefined, full };\n const fields = requested.map((f) => f.trim()).filter(Boolean);\n const invalid = fields.filter((f) => !ALL_FIELDS.includes(f));\n if (invalid.length > 0) return { invalid, valid: ALL_FIELDS };\n return { fields, full: full || fields.some((f) => !COMPACT_FIELDS.has(f)) };\n}\n\n/** The `--fields` plan of a command, or the refusal of a name no row carries (exits). */\nexport function adFieldPlan(fields: unknown, full: unknown): AdFieldPlan {\n const plan = adFields(fields ? String(fields).split(\",\") : undefined, Boolean(full));\n if (!(\"invalid\" in plan)) return plan;\n writeJson({\n ok: false,\n error: {\n code: \"VALIDATION_ERROR\",\n message: `Unknown --fields: ${plan.invalid.join(\", \")}`,\n fix: {\n action: \"retry_with_valid_values\",\n explanation: \"Pass only fields an ad row carries.\",\n flag: \"--fields\",\n invalidValues: plan.invalid,\n validValues: plan.valid,\n },\n },\n });\n process.exit(1);\n}\n\nexport function adRows(raw: readonly unknown[], plan: AdFieldPlan): Record<string, unknown>[] {\n return raw.map((r) => {\n const row = winningAdNormalizer(r as Record<string, unknown>, plan.full);\n return plan.fields ? applyFieldMask(row, plan.fields) : row;\n });\n}\n"],"mappings":";;;;;;;;;AAYA,IAAM,eAAwC;AAAA,EAC5C,KAAK;AAAA,IACH,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,WAAW;AAAA,IACX,sBAAsB;AAAA,IACtB,cAAc;AAAA,IACd,iBAAiB;AAAA,IACjB,0BAA0B;AAAA,IAC1B,wBAAwB;AAAA,EAC1B;AAAA,EACA,YAAY,EAAE,WAAW,GAAG,MAAM,MAAM,UAAU,GAAG,UAAU,EAAE;AAAA,EACjE,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,eAAe;AAAA,EACf,aAAa,EAAE,cAAc,IAAI;AACnC;AACA,IAAM,iBAAiB,IAAI,IAAI,OAAO,KAAK,iBAAiB,YAAY,CAAC,CAAC;AAC1E,IAAM,aAAa,OAAO,KAAK,cAAc,YAAY,CAAC;AAQnD,SAAS,SACd,WACA,MACsD;AACtD,MAAI,CAAC,UAAW,QAAO,EAAE,QAAQ,QAAW,KAAK;AACjD,QAAM,SAAS,UAAU,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,OAAO;AAC5D,QAAM,UAAU,OAAO,OAAO,CAAC,MAAM,CAAC,WAAW,SAAS,CAAC,CAAC;AAC5D,MAAI,QAAQ,SAAS,EAAG,QAAO,EAAE,SAAS,OAAO,WAAW;AAC5D,SAAO,EAAE,QAAQ,MAAM,QAAQ,OAAO,KAAK,CAAC,MAAM,CAAC,eAAe,IAAI,CAAC,CAAC,EAAE;AAC5E;AAGO,SAAS,YAAY,QAAiB,MAA4B;AACvE,QAAM,OAAO,SAAS,SAAS,OAAO,MAAM,EAAE,MAAM,GAAG,IAAI,QAAW,QAAQ,IAAI,CAAC;AACnF,MAAI,EAAE,aAAa,MAAO,QAAO;AACjC,YAAU;AAAA,IACR,IAAI;AAAA,IACJ,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS,qBAAqB,KAAK,QAAQ,KAAK,IAAI,CAAC;AAAA,MACrD,KAAK;AAAA,QACH,QAAQ;AAAA,QACR,aAAa;AAAA,QACb,MAAM;AAAA,QACN,eAAe,KAAK;AAAA,QACpB,aAAa,KAAK;AAAA,MACpB;AAAA,IACF;AAAA,EACF,CAAC;AACD,UAAQ,KAAK,CAAC;AAChB;AAEO,SAAS,OAAO,KAAyB,MAA8C;AAC5F,SAAO,IAAI,IAAI,CAAC,MAAM;AACpB,UAAM,MAAM,oBAAoB,GAA8B,KAAK,IAAI;AACvE,WAAO,KAAK,SAAS,eAAe,KAAK,KAAK,MAAM,IAAI;AAAA,EAC1D,CAAC;AACH;","names":[]}
|
package/dist/chunk-RMB2MIOJ.js
DELETED
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
ApiError
|
|
3
|
-
} from "./chunk-JLCK7K6Y.js";
|
|
4
|
-
import {
|
|
5
|
-
writeJson
|
|
6
|
-
} from "./chunk-IWLWY2UD.js";
|
|
7
|
-
|
|
8
|
-
// src/commands/landing/inspiration/shared.ts
|
|
9
|
-
var INSPIRATION_HINTS = {
|
|
10
|
-
adapt: "Reference only. Re-express this in the client's BRAND.md palette, type and imagery register. Reusing a headline, subhead or CTA verbatim is a Tier 0 message-match failure (references/gotchas.md).",
|
|
11
|
-
structureNotCopy: "Take the structural decision, not the furniture: what the eye hits first, the grid ratio, what was deliberately left out. Your copy must come from the client's own offer."
|
|
12
|
-
};
|
|
13
|
-
function favoritesScopeHints(health, resultCount) {
|
|
14
|
-
if (!health) return [];
|
|
15
|
-
const hints = [];
|
|
16
|
-
if (health.savedPages === 0) {
|
|
17
|
-
hints.push(
|
|
18
|
-
"This company hasn't saved any reference pages yet, so there is no taste profile to search \u2014 an empty result here says nothing about the library. Search the whole shared library with --scope all, or save a page the client admires with `baker landing inspiration add <url>`."
|
|
19
|
-
);
|
|
20
|
-
return hints;
|
|
21
|
-
}
|
|
22
|
-
if (health.failedPages > 0) {
|
|
23
|
-
const retryable = health.failedExamples.filter((example) => example.retryable).map((example) => example.url);
|
|
24
|
-
const permanent = health.failedExamples.filter((example) => !example.retryable).map((example) => example.url);
|
|
25
|
-
hints.push(
|
|
26
|
-
`${health.failedPages} of this company's ${health.savedPages} saved pages could not be read, so they hold no sections \u2014 only ${health.usablePages} are usable, which is why this result is thin. Search the whole library with --scope all.`
|
|
27
|
-
);
|
|
28
|
-
if (retryable.length > 0) {
|
|
29
|
-
hints.push(
|
|
30
|
-
`Worth another go: ${retryable.join(", ")} \u2014 run \`baker landing inspiration add <url>\` on one of them to study it again.`
|
|
31
|
-
);
|
|
32
|
-
}
|
|
33
|
-
if (permanent.length > 0) {
|
|
34
|
-
hints.push(`Not worth retrying \u2014 these sites refuse automated readers: ${permanent.join(", ")}.`);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
if (health.studyingPages > 0) {
|
|
38
|
-
hints.push(
|
|
39
|
-
`${health.studyingPages} saved ${health.studyingPages === 1 ? "page is" : "pages are"} still being studied and will be searchable in a few minutes. Carry on; do not wait on them.`
|
|
40
|
-
);
|
|
41
|
-
}
|
|
42
|
-
if (resultCount === 0 && health.failedPages === 0 && health.studyingPages === 0) {
|
|
43
|
-
hints.push(
|
|
44
|
-
`Nothing in this company's ${health.usablePages} readable saved pages matches. The saved set is healthy, so this is the query, not the library \u2014 loosen the filters or search everything with --scope all.`
|
|
45
|
-
);
|
|
46
|
-
}
|
|
47
|
-
return hints;
|
|
48
|
-
}
|
|
49
|
-
function fidelityHint(fidelity) {
|
|
50
|
-
if (fidelity == null) return null;
|
|
51
|
-
if (fidelity >= 0.9) return null;
|
|
52
|
-
if (fidelity >= 0.75) {
|
|
53
|
-
return `Reproduction fidelity ${fidelity.toFixed(2)} \u2014 the markup is close but not exact. Trust the screenshot over the code.`;
|
|
54
|
-
}
|
|
55
|
-
return `Reproduction fidelity ${fidelity.toFixed(2)} \u2014 this section is scroll- or JS-driven and the extracted markup does NOT render like the original. Use the screenshot and the notes; treat the code as a hint only.`;
|
|
56
|
-
}
|
|
57
|
-
var STALE_COPY_AFTER_MS = 30 * 24 * 60 * 60 * 1e3;
|
|
58
|
-
function staleCopyHint(studiedAt, filedUrl, now = Date.now()) {
|
|
59
|
-
if (!studiedAt || now - studiedAt < STALE_COPY_AFTER_MS) return null;
|
|
60
|
-
const date = new Date(studiedAt).toLocaleDateString("en-US", { month: "short", day: "numeric", timeZone: "UTC" });
|
|
61
|
-
return `This copy of the page was read on ${date}. If the user says the live page looks different, run: baker landing inspiration add ${filedUrl} --refresh`;
|
|
62
|
-
}
|
|
63
|
-
function reportError(error) {
|
|
64
|
-
if (error instanceof ApiError) {
|
|
65
|
-
writeJson({ ok: false, error: { code: error.code, message: error.message } });
|
|
66
|
-
} else {
|
|
67
|
-
writeJson({
|
|
68
|
-
ok: false,
|
|
69
|
-
error: { code: "UNKNOWN", message: error instanceof Error ? error.message : String(error) }
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
process.exit(1);
|
|
73
|
-
}
|
|
74
|
-
function splitList(value) {
|
|
75
|
-
if (!value) return void 0;
|
|
76
|
-
const parts = value.split(",").map((part) => part.trim()).filter(Boolean);
|
|
77
|
-
return parts.length > 0 ? parts : void 0;
|
|
78
|
-
}
|
|
79
|
-
function parseNumber(value) {
|
|
80
|
-
if (value === void 0 || value === "") return void 0;
|
|
81
|
-
const parsed = Number(value);
|
|
82
|
-
return Number.isFinite(parsed) ? parsed : void 0;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
export {
|
|
86
|
-
INSPIRATION_HINTS,
|
|
87
|
-
favoritesScopeHints,
|
|
88
|
-
fidelityHint,
|
|
89
|
-
staleCopyHint,
|
|
90
|
-
reportError,
|
|
91
|
-
splitList,
|
|
92
|
-
parseNumber
|
|
93
|
-
};
|
|
94
|
-
//# sourceMappingURL=chunk-RMB2MIOJ.js.map
|
package/dist/chunk-RV222F63.js
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
failApi
|
|
3
|
-
} from "./chunk-6SOB7QMD.js";
|
|
4
|
-
import {
|
|
5
|
-
HUBSPOT_MISSING_GRANT_MARKER,
|
|
6
|
-
HUBSPOT_NOT_CONNECTED_MESSAGE
|
|
7
|
-
} from "./chunk-PHY3AERY.js";
|
|
8
|
-
import {
|
|
9
|
-
ApiError
|
|
10
|
-
} from "./chunk-JLCK7K6Y.js";
|
|
11
|
-
import {
|
|
12
|
-
writeJson
|
|
13
|
-
} from "./chunk-IWLWY2UD.js";
|
|
14
|
-
|
|
15
|
-
// src/commands/hubspot/refusal.ts
|
|
16
|
-
var CONTINUE = "Keep going with the wider task: say which part you could not read, skip it, and finish everything else. If the `request_connection` call fails, say so plainly and give the exact route: dashboard \u2192 Brain \u2192 Integrations \u2192 Platforms \u2192 HubSpot.";
|
|
17
|
-
function hubspotRefusal(code, message, reason = "so I can count a contact becoming a customer") {
|
|
18
|
-
if (code === "NOT_FOUND" && message.includes(HUBSPOT_NOT_CONNECTED_MESSAGE)) {
|
|
19
|
-
return {
|
|
20
|
-
code: "NO_HUBSPOT_CONNECTION",
|
|
21
|
-
fix: {
|
|
22
|
-
action: "request_connection",
|
|
23
|
-
explanation: `AGENT INSTRUCTION: HubSpot is not connected, and only the user can connect it. Call the \`request_connection\` tool with { platform: "hubspot", reason } \u2014 reason in their words, e.g. "${reason}" \u2014 and they connect it inside the chat; then run this command again. ` + CONTINUE
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
if (code === "FORBIDDEN" && message.includes(HUBSPOT_MISSING_GRANT_MARKER)) {
|
|
28
|
-
return {
|
|
29
|
-
code: "HUBSPOT_RECONNECT_REQUIRED",
|
|
30
|
-
fix: {
|
|
31
|
-
action: "request_connection",
|
|
32
|
-
explanation: 'AGENT INSTRUCTION: HubSpot is connected \u2014 do not tell the user it is missing, and do not retry. Its access does not cover this read (it was connected before Baker asked for it, or the access was withdrawn), and only the user can widen it. Call the `request_connection` tool with { platform: "hubspot", reason } naming what you need to read; the card offers them a Reconnect button. Run this command again once they have. ' + CONTINUE
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
return null;
|
|
37
|
-
}
|
|
38
|
-
function failNotConnected(err, reason) {
|
|
39
|
-
const refusal = err instanceof ApiError ? hubspotRefusal(err.code, err.message, reason) : null;
|
|
40
|
-
if (err instanceof ApiError && refusal !== null) {
|
|
41
|
-
writeJson({ ok: false, error: { code: refusal.code, message: err.message, fix: refusal.fix } });
|
|
42
|
-
process.exit(1);
|
|
43
|
-
}
|
|
44
|
-
failApi(err);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
export {
|
|
48
|
-
hubspotRefusal,
|
|
49
|
-
failNotConnected
|
|
50
|
-
};
|
|
51
|
-
//# sourceMappingURL=chunk-RV222F63.js.map
|