@koda-sl/baker-cli 0.450.0 → 0.451.0-dev.b2a4eba2b
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 +1 -1
- package/dist/account-IVVLUX4B.js +80 -0
- package/dist/account-VBI3KT3Y.js +49 -0
- package/dist/account-W2FNH3MQ.js +79 -0
- package/dist/account-writes-TQOVHHB6.js +66 -0
- package/dist/accounts-3KDFSNLS.js +77 -0
- package/dist/accounts-DJW5PRSE.js +115 -0
- package/dist/accounts-KPAJX3P5.js +611 -0
- package/dist/accounts-TVKG5H7H.js +114 -0
- package/dist/accounts-X2CYWEHN.js +75 -0
- package/dist/actions-5CABWS3O.js +55 -0
- package/dist/active-entities-HFBJWW5X.js +103 -0
- package/dist/activities-IRKTG2P4.js +74 -0
- package/dist/ad-group-writes-4OIJFZFS.js +170 -0
- package/dist/ad-groups-OCQ4UNHN.js +68 -0
- package/dist/ad-writes-XZEKXPP2.js +174 -0
- package/dist/add-JWYHFZBE.js +97 -0
- package/dist/add-LZ2NEYLU.js +105 -0
- package/dist/add-OBRA6W5Q.js +302 -0
- package/dist/add-OSVUILLC.js +104 -0
- package/dist/ads-IVGQFY6E.js +113 -0
- package/dist/ads-ODTIC6AO.js +77 -0
- package/dist/ads-ULSDT6MZ.js +40 -0
- package/dist/adsets-3EW7RTJM.js +176 -0
- package/dist/advertisers-DIMYL7SK.js +111 -0
- package/dist/advertisers-LR4QZDGU.js +120 -0
- package/dist/analytics-QVYBGXUX.js +433 -0
- package/dist/analytics-YNR77KBA.js +1958 -0
- package/dist/animate-VOXMU24L.js +480 -0
- package/dist/assign-3347PGZM.js +77 -0
- package/dist/audience-size-H2IMWF64.js +94 -0
- package/dist/audiences-7A2YNNTW.js +85 -0
- package/dist/audiences-P4HMEMPG.js +268 -0
- package/dist/audiences-XC2WSLHB.js +78 -0
- package/dist/audit-F5SYOLIW.js +88 -0
- package/dist/audit-TB3ZXNCS.js +151 -0
- package/dist/autocomplete-QBIFAEJV.js +111 -0
- package/dist/avatars-UK5ECVNJ.js +38 -0
- package/dist/bid-pricing-4QQ2SGNR.js +99 -0
- package/dist/brand-OXTQQBVO.js +22 -0
- package/dist/brief-3TSQXUZY.js +477 -0
- package/dist/businesses-PDLCA772.js +53 -0
- package/dist/campaign-groups-C7ROQKJL.js +95 -0
- package/dist/campaign-writes-5DTI5DUE.js +165 -0
- package/dist/campaign-writes-CCTLEII5.js +170 -0
- package/dist/campaigns-BVNJCSFL.js +107 -0
- package/dist/campaigns-MDWGZCM5.js +109 -0
- package/dist/campaigns-MHSOY47R.js +110 -0
- package/dist/campaigns-TUO2Q3KY.js +76 -0
- package/dist/canvas-DRJ3OPXU.js +46 -0
- package/dist/canvas-DRJ3OPXU.js.map +1 -0
- package/dist/capabilities-KG6HKL6N.js +144 -0
- package/dist/cards-JSVWNMHT.js +85 -0
- package/dist/catalog-BJYQEBKF.js +65 -0
- package/dist/catalogs-7WNGKUTF.js +128 -0
- package/dist/changes-EWN2P6S4.js +135 -0
- package/dist/chatgpt-UDAIH7QY.js +47 -0
- package/dist/chats-ORCMVHFD.js +262 -0
- package/dist/chunk-2AFIXLB2.js +96 -0
- package/dist/chunk-3D5CA5OX.js +5189 -0
- package/dist/chunk-457IPRIT.js +275 -0
- package/dist/chunk-4L3IZCFL.js +830 -0
- package/dist/chunk-4LDMAYGM.js +55 -0
- package/dist/chunk-5EEWYHOR.js +28 -0
- package/dist/chunk-5GRB5QUI.js +46 -0
- package/dist/chunk-5HECV334.js +622 -0
- package/dist/chunk-5QD2THAH.js +67 -0
- package/dist/chunk-5XYVRS5D.js +92 -0
- package/dist/chunk-65D4T7N7.js +188 -0
- package/dist/chunk-6QGUMZSJ.js +31 -0
- package/dist/chunk-6RPA3YQB.js +66 -0
- package/dist/chunk-AE3Q6E3R.js +133 -0
- package/dist/chunk-AWAW75EF.js +382 -0
- package/dist/chunk-B6KFPCGF.js +75 -0
- package/dist/chunk-BHSKVJUB.js +363 -0
- package/dist/chunk-BNMRSDKY.js +174 -0
- package/dist/chunk-BUPNFBRW.js +207 -0
- package/dist/chunk-BW4ZFBYI.js +1441 -0
- package/dist/chunk-BWKTZPBQ.js +191 -0
- package/dist/chunk-BXUK46AI.js +197 -0
- package/dist/chunk-C7EABFTU.js +42 -0
- package/dist/chunk-CAMX6OHF.js +3182 -0
- package/dist/chunk-CAMX6OHF.js.map +1 -0
- package/dist/chunk-CRX5XO4W.js +296 -0
- package/dist/chunk-CTKGEQP7.js +509 -0
- package/dist/chunk-CZQSIGYU.js +84 -0
- package/dist/chunk-D2XZUIPA.js +26 -0
- package/dist/chunk-DIJBHIII.js +1711 -0
- package/dist/chunk-DMEGESTD.js +76 -0
- package/dist/chunk-DSG3BGGE.js +592 -0
- package/dist/chunk-E7XNUDS5.js +172 -0
- package/dist/chunk-EARZMCDM.js +440 -0
- package/dist/chunk-ERVDEVLC.js +4383 -0
- package/dist/chunk-FMMXUEDL.js +610 -0
- package/dist/chunk-FUQOBYFX.js +225 -0
- package/dist/chunk-GJZAH546.js +96 -0
- package/dist/chunk-GPWVCB2M.js +23 -0
- package/dist/chunk-IARJS3IB.js +74 -0
- package/dist/chunk-IFD5LJWU.js +136 -0
- package/dist/chunk-K3SS7PNM.js +819 -0
- package/dist/chunk-KAY5TRAH.js +139 -0
- package/dist/chunk-KBG2OLVI.js +103 -0
- package/dist/chunk-KC7HNN2Z.js +455 -0
- package/dist/chunk-KYN5OIXU.js +98 -0
- package/dist/chunk-LDLK6GIF.js +346 -0
- package/dist/chunk-LHCOWIGI.js +23992 -0
- package/dist/chunk-LHCOWIGI.js.map +1 -0
- package/dist/chunk-LSEYIZ5K.js +56 -0
- package/dist/chunk-MCM3HMNZ.js +215 -0
- package/dist/chunk-MCM3HMNZ.js.map +1 -0
- package/dist/chunk-NBM3EHRA.js +337 -0
- package/dist/chunk-NCCGOJ4I.js +111 -0
- package/dist/chunk-NDQTB6OU.js +20 -0
- package/dist/chunk-O2THKWAY.js +98 -0
- package/dist/chunk-O7UKTKUG.js +51 -0
- package/dist/chunk-OVSRMFQ4.js +297 -0
- package/dist/chunk-P5T7OZKV.js +26 -0
- package/dist/chunk-PCKVSSVT.js +214 -0
- package/dist/chunk-PLOQNCL6.js +6667 -0
- package/dist/chunk-PQ7YMQ2U.js +486 -0
- package/dist/chunk-PVXUYXYW.js +159 -0
- package/dist/chunk-QCPZVAKJ.js +106 -0
- package/dist/chunk-QNZWLESV.js +175 -0
- package/dist/chunk-QSQGGONQ.js +94 -0
- package/dist/chunk-QTXJHQSI.js +60 -0
- package/dist/chunk-QW53AQYB.js +274 -0
- package/dist/chunk-RAVSEXEL.js +125 -0
- package/dist/chunk-SGFJ4VXB.js +97 -0
- package/dist/chunk-SIZAWVI5.js +494 -0
- package/dist/chunk-SZ2LLYSO.js +141 -0
- package/dist/chunk-UMT4Z3PT.js +160 -0
- package/dist/chunk-UW36KPPH.js +454 -0
- package/dist/chunk-UW36KPPH.js.map +1 -0
- package/dist/chunk-UWX45EAT.js +3147 -0
- package/dist/chunk-VSA63D2N.js +136 -0
- package/dist/chunk-VVS5TLDG.js +333 -0
- package/dist/chunk-W7XH22P4.js +304 -0
- package/dist/chunk-WAVTLYGU.js +169 -0
- package/dist/chunk-WE66JPNB.js +172 -0
- package/dist/chunk-XFGAUP5B.js +76 -0
- package/dist/chunk-XNLCAM4S.js +534 -0
- package/dist/chunk-XNMSJP2X.js +309 -0
- package/dist/chunk-XR7TMGYY.js +1830 -0
- package/dist/chunk-XUOZ6VAL.js +496 -0
- package/dist/chunk-YGKD32WM.js +541 -0
- package/dist/chunk-YI4644DL.js +25 -0
- package/dist/chunk-YJKJW7DR.js +58 -0
- package/dist/chunk-YSW3BBNR.js +166 -0
- package/dist/chunk-YUNATR3I.js +74 -0
- package/dist/chunk-Z6JUXGJ3.js +84 -0
- package/dist/chunk-ZBSSVAST.js +19 -0
- package/dist/chunk-ZLZWMWB7.js +106 -0
- package/dist/claim-HWKC6L6D.js +197 -0
- package/dist/cli.js +34 -34
- package/dist/client-BNOZZLGA.js +19 -0
- package/dist/code-NT75YZHM.js +76 -0
- package/dist/companies-AJ36VT5S.js +195 -0
- package/dist/complete-GWJKH6JK.js +81 -0
- package/dist/config-RHWFL6FM.js +88 -0
- package/dist/connect-4IASPXRW.js +42 -0
- package/dist/content-2SVLCO7B.js +81 -0
- package/dist/conversation-3RNXZEJN.js +93 -0
- package/dist/conversion-report-WEW6RNDA.js +125 -0
- package/dist/conversion-upload-command-KLPIIBFE.js +438 -0
- package/dist/conversion-writes-2Z3ACFUD.js +120 -0
- package/dist/conversions-FVIOPR2K.js +135 -0
- package/dist/conversions-GNXBFAB6.js +76 -0
- package/dist/countries-EGWRXMAX.js +82 -0
- package/dist/create-2YEOWQH6.js +207 -0
- package/dist/create-5ASNHKN3.js +235 -0
- package/dist/create-6O5FFTFS.js +59 -0
- package/dist/create-MD543P42.js +130 -0
- package/dist/creatives-CKZJ6NXP.js +87 -0
- package/dist/creatives-JTZ6NRBC.js +182 -0
- package/dist/creatives-XZNZUR3Q.js +51 -0
- package/dist/credentials-BLTUMGXK.js +1055 -0
- package/dist/credentials-BLTUMGXK.js.map +1 -0
- package/dist/critique-AZIXWVVQ.js +213 -0
- package/dist/critique-ZEI5LKRP.js +1449 -0
- package/dist/crm-U6VZFQXE.js +224 -0
- package/dist/crm-WJEHB25B.js +318 -0
- package/dist/crop-VHSEIFDS.js +113 -0
- package/dist/currency-NF2FU3CC.js +88 -0
- package/dist/custom-conversions-7U726B5N.js +125 -0
- package/dist/customers-DTQYG3DK.js +56 -0
- package/dist/delete-3NN5OLXC.js +63 -0
- package/dist/delete-7QGELVP7.js +69 -0
- package/dist/delete-AKSGJCA7.js +54 -0
- package/dist/delete-FWK5IEB3.js +71 -0
- package/dist/delete-GGAYVQCP.js +71 -0
- package/dist/delete-VF2WIXBE.js +66 -0
- package/dist/demographics-UHAL7GNZ.js +138 -0
- package/dist/describe-AMZJUZC2.js +97 -0
- package/dist/describe-X2AGFNQV.js +97 -0
- package/dist/dimensions-S4TU2CRM.js +101 -0
- package/dist/discard-GWMUE6Y6.js +66 -0
- package/dist/discover-KBRWN46M.js +172 -0
- package/dist/domain-4P5QZYGZ.js +98 -0
- package/dist/download-PQHC35HZ.js +299 -0
- package/dist/draft-3QBNYCLN.js +100 -0
- package/dist/draft-BL3O2SKY.js +306 -0
- package/dist/draft-BT5ROZHA.js +233 -0
- package/dist/draft-CQFIWAI4.js +103 -0
- package/dist/draft-LJKZKIGZ.js +217 -0
- package/dist/draft-WYHQWQ7L.js +328 -0
- package/dist/draft-Y54L37PP.js +281 -0
- package/dist/draft-YEKM5KO2.js +107 -0
- package/dist/engine/index.js +13 -13
- package/dist/env-XRUPKGOS.js +43 -0
- package/dist/experiment-UKD3HGHR.js +1377 -0
- package/dist/export-UIJHWCH7.js +168 -0
- package/dist/extract-Q7JADPFT.js +113 -0
- package/dist/facets-UCUMBB7W.js +114 -0
- package/dist/favorites-4B45JSTO.js +178 -0
- package/dist/feed-LWG4ES53.js +157 -0
- package/dist/feedback-NYRZJ22H.js +66 -0
- package/dist/feedback-record-L32GKAUF.js +175 -0
- package/dist/fetch-6EBSWT5J.js +176 -0
- package/dist/fetch-U5RT2UTZ.js +139 -0
- package/dist/find-LXEB42QE.js +134 -0
- package/dist/fit-RLJDK3MJ.js +45 -0
- package/dist/flows-66JTIAUQ.js +247 -0
- package/dist/follow-KYCYT2NK.js +82 -0
- package/dist/follow-competitors-ZNK4UOQU.js +131 -0
- package/dist/following-KCGR4Q75.js +109 -0
- package/dist/fonts-ANPZ64PE.js +34 -0
- package/dist/forecast-3W2HGQKY.js +104 -0
- package/dist/funding-IIKMIHNO.js +85 -0
- package/dist/funnel-KCBBSPTH.js +837 -0
- package/dist/ga4-JYOR334L.js +55 -0
- package/dist/generate-EO6M7ELE.js +262 -0
- package/dist/get-7TAWI6HP.js +56 -0
- package/dist/get-ETRXKZD2.js +63 -0
- package/dist/get-IOGKAJO3.js +92 -0
- package/dist/get-JMXFR5ET.js +78 -0
- package/dist/get-P6LWZNIO.js +63 -0
- package/dist/get-ZAAD2UDM.js +59 -0
- package/dist/get-ZELEFTHV.js +61 -0
- package/dist/gif-2QSZZ7ZI.js +94 -0
- package/dist/google-LA42DKVM.js +1872 -0
- package/dist/google-T7OTO7EZ.js +136 -0
- package/dist/google-ads-BSKCL3TX.js +195 -0
- package/dist/group-3ESILU6L.js +43 -0
- package/dist/group-XNALPNXP.js +43 -0
- package/dist/gsc-TD33QG2D.js +30 -0
- package/dist/history-HCH26IOQ.js +67 -0
- package/dist/history-OGUNQMVN.js +133 -0
- package/dist/hubspot-MQKD2N2M.js +779 -0
- package/dist/icon-KSVSTMTA.js +137 -0
- package/dist/ideas-U6CILUXQ.js +32 -0
- package/dist/images-L3AWUSHY.js +90 -0
- package/dist/improve-HTJ6A7IL.js +86 -0
- package/dist/ingest-KHJJGVGT.js +23 -0
- package/dist/ingest-PVQK5I4U.js +107 -0
- package/dist/insights-EKN46CXG.js +122 -0
- package/dist/insights-NI3HRT4O.js +423 -0
- package/dist/inspect-LCDISSUW.js +189 -0
- package/dist/inspiration-CFMMY3SV.js +53 -0
- package/dist/intent-RM42YHRD.js +95 -0
- package/dist/job-YXFA4UYV.js +202 -0
- package/dist/job-create-OIC733SD.js +109 -0
- package/dist/job-status-K5SQTOXG.js +74 -0
- package/dist/keep-DMS273WJ.js +78 -0
- package/dist/keyword-gap-P3BHIOM6.js +130 -0
- package/dist/keyword-metrics-DU7AT6LB.js +197 -0
- package/dist/keywords-for-site-DCUZQMV3.js +128 -0
- package/dist/landing-2FHEISL6.js +28 -0
- package/dist/languages-OOIWLDQL.js +40 -0
- package/dist/languages-ZDXMFCYA.js +55 -0
- package/dist/layerize-FFHYHOTJ.js +190 -0
- package/dist/leads-6OZFFNI7.js +293 -0
- package/dist/leads-FZFC4GUQ.js +90 -0
- package/dist/learn-KPKDHUPO.js +203 -0
- package/dist/library-3BT6LOX6.js +109 -0
- package/dist/lighthouse-OHDSS52L.js +75 -0
- package/dist/line-item-writes-IQ5GGFJP.js +208 -0
- package/dist/line-items-HXBU4NVB.js +103 -0
- package/dist/link-QA7CYLKO.js +64 -0
- package/dist/linkedin-ZQNIUZCH.js +1008 -0
- package/dist/list-2KLD6BIX.js +76 -0
- package/dist/list-54K7REQ4.js +303 -0
- package/dist/list-ASFE2LDI.js +50 -0
- package/dist/list-CPW5FSK5.js +57 -0
- package/dist/list-KX7WKHWG.js +63 -0
- package/dist/list-SUKMTIFM.js +51 -0
- package/dist/list-VWYUWMV2.js +65 -0
- package/dist/list-X3ULWWJJ.js +151 -0
- package/dist/locations-F6AAOSLI.js +67 -0
- package/dist/locations-KZVEW7J6.js +40 -0
- package/dist/log-YSPRTGYC.js +92 -0
- package/dist/logo-JUQJUHN2.js +18 -0
- package/dist/lookup-ZEFRWV2U.js +22 -0
- package/dist/make-CRCEDOVA.js +593 -0
- package/dist/map-W7KVCU5R.js +404 -0
- package/dist/mcp-TSFJWUR6.js +476 -0
- package/dist/media-KD3BLQZO.js +15 -0
- package/dist/media-P7U5M4RS.js +89 -0
- package/dist/media-sources-J7UXZ34O.js +32 -0
- package/dist/members-YT722A4I.js +44 -0
- package/dist/meta-NJTTWKGW.js +69 -0
- package/dist/metrics-3JRK2F5K.js +152 -0
- package/dist/models-3Z6MDHQW.js +155 -0
- package/dist/normalize-BGTSKJ73.js +141 -0
- package/dist/normalize-EJPZ6OSV.js +806 -0
- package/dist/options-Q2XEZJSH.js +121 -0
- package/dist/output-5NZNSC3O.js +24 -0
- package/dist/page-YWEDNDHD.js +105 -0
- package/dist/pages-WHX335W4.js +66 -0
- package/dist/performance-TFWOPXBM.js +24 -0
- package/dist/pinterest-BRDL2KLT.js +96 -0
- package/dist/pixels-3LBWIFAX.js +108 -0
- package/dist/pixels-CUTHLKU7.js +60 -0
- package/dist/preview-PNCYU3AK.js +169 -0
- package/dist/promoted-tweet-writes-73P5ROX2.js +180 -0
- package/dist/promoted-tweets-XUDY6Z3Q.js +119 -0
- package/dist/properties-HSFPVQS5.js +101 -0
- package/dist/publish-4SB3IYLM.js +322 -0
- package/dist/query-3YAOEQVH.js +1341 -0
- package/dist/query-GBQF5CI4.js +247 -0
- package/dist/query-RZNLSJZE.js +236 -0
- package/dist/read-TH7KVFRW.js +140 -0
- package/dist/reddit-JBYG2FE4.js +26 -0
- package/dist/refresh-D74XWRSW.js +94 -0
- package/dist/release-UZINDELC.js +60 -0
- package/dist/relevant-pages-OML2QKYB.js +99 -0
- package/dist/remove-2453OBHV.js +48 -0
- package/dist/remove-K4DTZ275.js +50 -0
- package/dist/reopen-RWI7QIFS.js +63 -0
- package/dist/rerun-R5KRUGOP.js +85 -0
- package/dist/research-5PFR4B2U.js +262 -0
- package/dist/research-IWZC57ZO.js +62 -0
- package/dist/reset-DJFNQUOY.js +54 -0
- package/dist/reset-R2UQHGQD.js +54 -0
- package/dist/resolve-PSDWE65U.js +121 -0
- package/dist/retry-7WHXERKG.js +60 -0
- package/dist/retry-HKWQV3MJ.js +62 -0
- package/dist/retry-failed-NPAQ3FLC.js +45 -0
- package/dist/run-2ZNA6J2W.js +65 -0
- package/dist/run-Q62KF6D7.js +60 -0
- package/dist/scaffold-ad-LKID2V7A.js +1549 -0
- package/dist/scaffold-static-ad-ZXSLIU6J.js +966 -0
- package/dist/scaffold-video-M7SIZUQG.js +873 -0
- package/dist/schedule-OADYTLAY.js +61 -0
- package/dist/schedule-PBU6YW7M.js +66 -0
- package/dist/scheduled-agents-TE26M7YK.js +49 -0
- package/dist/schema-HA6P2YQG.js +132 -0
- package/dist/scrape-3KXWYD6G.js +2241 -0
- package/dist/screenshot-GQLSIFZM.js +102 -0
- package/dist/search-ESWPECSE.js +92 -0
- package/dist/search-KAADJZP6.js +224 -0
- package/dist/search-LOWGEYYA.js +26 -0
- package/dist/search-TL3FSB4K.js +91 -0
- package/dist/search-VFRTUYFX.js +174 -0
- package/dist/seeds-OXKHZSF7.js +101 -0
- package/dist/select-YQQT5ANU.js +94 -0
- package/dist/sends-DBJJS6CF.js +309 -0
- package/dist/sequences-AULXZXNG.js +146 -0
- package/dist/set-prompt-ZMHIZQTR.js +186 -0
- package/dist/setup-links-GBATD4PG.js +141 -0
- package/dist/shared-CBVZOAC6.js +31 -0
- package/dist/site-7SFR7XYE.js +177 -0
- package/dist/sitemaps-Q5OL766P.js +87 -0
- package/dist/sites-LBB7FYB7.js +101 -0
- package/dist/skills-AFGQPAJM.js +47 -0
- package/dist/sources-NF54XU6I.js +30 -0
- package/dist/sources-TRXVSDPD.js +421 -0
- package/dist/stale-HYKS2PPU.js +63 -0
- package/dist/stats-TBSQYXYQ.js +34 -0
- package/dist/status-MHIIGLPU.js +62 -0
- package/dist/sticker-FWUSN6JM.js +94 -0
- package/dist/stock-YDKCFK2T.js +179 -0
- package/dist/studio-J5NEBKQJ.js +49 -0
- package/dist/sync-5TISBZI4.js +54 -0
- package/dist/sync-F4PVZ7CW.js +54 -0
- package/dist/sync-HTZY6NTC.js +265 -0
- package/dist/sync-definition-2XQ6BMHZ.js +53 -0
- package/dist/tag-manager-PA7WVPSI.js +43 -0
- package/dist/tags-3JBCQANC.js +20 -0
- package/dist/tags-43HIN2GG.js +20 -0
- package/dist/tags-FKRA2KER.js +26 -0
- package/dist/tags-RCSKEKZZ.js +224 -0
- package/dist/tags-SWODCV76.js +20 -0
- package/dist/targeting-constants-6LYEQCAL.js +118 -0
- package/dist/targeting-criteria-POGVFRVS.js +113 -0
- package/dist/targets-AVRD4K2G.js +102 -0
- package/dist/templates-KVCEF57L.js +178 -0
- package/dist/testimonials-WSYOYJWC.js +32 -0
- package/dist/top-companies-NLLXVJVA.js +108 -0
- package/dist/translate-UMSCDGMJ.js +598 -0
- package/dist/triggers-GDKTZ6CX.js +141 -0
- package/dist/tweets-DUZH63HH.js +123 -0
- package/dist/unfollow-YCU6FTS7.js +46 -0
- package/dist/unlink-2DIBCISU.js +67 -0
- package/dist/unstage-CLWNA4FZ.js +95 -0
- package/dist/unstage-N2YSE3OA.js +84 -0
- package/dist/update-2HF2HZUM.js +98 -0
- package/dist/update-5CXDJZMD.js +155 -0
- package/dist/update-QCIOMFGB.js +142 -0
- package/dist/update-XZEAGBXC.js +63 -0
- package/dist/upload-2MGQVTU4.js +150 -0
- package/dist/upload-AO56MYRF.js +126 -0
- package/dist/upscale-P7B4CAR7.js +109 -0
- package/dist/url-options-HH5BLRTO.js +127 -0
- package/dist/url-params-VKERUMRM.js +98 -0
- package/dist/use-USVRQKJC.js +95 -0
- package/dist/validate-3BPOPG3F.js +89 -0
- package/dist/variant-UFUGNBV3.js +338 -0
- package/dist/videos-ASCF36M6.js +39 -0
- package/dist/view-HMNRFBZM.js +121 -0
- package/dist/viewer-check-JRSF6SOO.js +69 -0
- package/dist/web-C43J66RW.js +140 -0
- package/dist/winners-S75G5IY6.js +79 -0
- package/dist/winning-ads-GALZEXPO.js +62 -0
- package/dist/winning-ads-GALZEXPO.js.map +1 -0
- package/dist/write-commands-4TNOL7RI.js +206 -0
- package/dist/write-commands-FNKH7UQR.js +1015 -0
- package/dist/write-commands-FRH4UWLN.js +737 -0
- package/dist/write-commands-NVWMNI2Q.js +713 -0
- package/dist/x-E3PLB3NR.js +47 -0
- package/package.json +1 -1
- package/dist/account-2SVI5OK7.js +0 -79
- package/dist/account-F6MHQ64I.js +0 -80
- package/dist/account-IEVEOFIK.js +0 -49
- package/dist/account-writes-ISE4U2FQ.js +0 -66
- package/dist/accounts-2XAOZX3U.js +0 -77
- package/dist/accounts-4CDRK4S4.js +0 -75
- package/dist/accounts-5QDKBZMH.js +0 -115
- package/dist/accounts-KYJO3JC6.js +0 -114
- package/dist/accounts-U4BGY3QU.js +0 -611
- package/dist/actions-6EJU7CAQ.js +0 -55
- package/dist/active-entities-YUSOUR5M.js +0 -103
- package/dist/activities-ZVQOBHZH.js +0 -74
- package/dist/ad-group-writes-UU5NNKSO.js +0 -170
- package/dist/ad-groups-CGFXZNIA.js +0 -68
- package/dist/ad-writes-NALDYWOR.js +0 -174
- package/dist/add-577QWMCF.js +0 -97
- package/dist/add-CUWAW7KG.js +0 -105
- package/dist/add-IPGEYQQG.js +0 -104
- package/dist/add-P7CCVY2J.js +0 -302
- package/dist/ads-6MXVIV62.js +0 -40
- package/dist/ads-6UEDYT3O.js +0 -113
- package/dist/ads-PV7GZXPR.js +0 -77
- package/dist/adsets-Q5DWGANV.js +0 -176
- package/dist/advertisers-JG4DZ6SB.js +0 -120
- package/dist/advertisers-YMHPZYNF.js +0 -111
- package/dist/analytics-IMYVNQIX.js +0 -1958
- package/dist/analytics-RNEUAKC4.js +0 -433
- package/dist/animate-FWWHSYPL.js +0 -480
- package/dist/assign-46TXQRT5.js +0 -77
- package/dist/audience-size-5TNQO3IL.js +0 -94
- package/dist/audiences-AMRFZRZ7.js +0 -78
- package/dist/audiences-HFRVIE2X.js +0 -85
- package/dist/audiences-VEKGLWBG.js +0 -268
- package/dist/audit-AD4ZZNJN.js +0 -88
- package/dist/audit-XRE7XH3Q.js +0 -151
- package/dist/autocomplete-2ZWSQ6QQ.js +0 -111
- package/dist/avatars-M6NSD3KS.js +0 -38
- package/dist/bid-pricing-OIVPZCWW.js +0 -99
- package/dist/brand-YDNX7LYQ.js +0 -22
- package/dist/brief-EK6ULGXD.js +0 -477
- package/dist/businesses-JBDQZZIG.js +0 -53
- package/dist/campaign-groups-TAP6LK6F.js +0 -95
- package/dist/campaign-writes-4SWPBZE6.js +0 -165
- package/dist/campaign-writes-SX52CJYW.js +0 -170
- package/dist/campaigns-AQAJN23T.js +0 -107
- package/dist/campaigns-D6B6Z67Y.js +0 -110
- package/dist/campaigns-ROMLENHI.js +0 -109
- package/dist/campaigns-X3DPCCSN.js +0 -76
- package/dist/canvas-XYCDLDRS.js +0 -46
- package/dist/canvas-XYCDLDRS.js.map +0 -1
- package/dist/capabilities-GGPTIAFO.js +0 -144
- package/dist/cards-4477BFEV.js +0 -85
- package/dist/catalog-ME44ZRZF.js +0 -65
- package/dist/catalogs-G3YEVG6S.js +0 -128
- package/dist/changes-TP7ZZHB3.js +0 -135
- package/dist/chatgpt-QNUN63YS.js +0 -47
- package/dist/chats-G343BSVB.js +0 -262
- package/dist/chunk-2BKVVCCV.js +0 -133
- package/dist/chunk-2TK4DEOE.js +0 -74
- package/dist/chunk-35XWJEWH.js +0 -274
- package/dist/chunk-3URK7DAA.js +0 -175
- package/dist/chunk-3YOFT3AP.js +0 -23
- package/dist/chunk-4NDCTLI5.js +0 -191
- package/dist/chunk-4QEY2L6U.js +0 -486
- package/dist/chunk-542XAHNT.js +0 -92
- package/dist/chunk-54UVGFX3.js +0 -440
- package/dist/chunk-5ARG3CQG.js +0 -141
- package/dist/chunk-5Z2KSVIV.js +0 -67
- package/dist/chunk-64WGDUXH.js +0 -159
- package/dist/chunk-6B7VKFS4.js +0 -172
- package/dist/chunk-6G5K6ZC6.js +0 -46
- package/dist/chunk-75FDTDLH.js +0 -96
- package/dist/chunk-7OFNN4CT.js +0 -58
- package/dist/chunk-7WD2RW2R.js +0 -592
- package/dist/chunk-7ZHMGXE2.js +0 -819
- package/dist/chunk-B6GITCGN.js +0 -455
- package/dist/chunk-BNCW67EM.js +0 -534
- package/dist/chunk-C6U6UDHJ.js +0 -106
- package/dist/chunk-CHSNHVYF.js +0 -3182
- package/dist/chunk-CHSNHVYF.js.map +0 -1
- package/dist/chunk-D5XAVXUZ.js +0 -509
- package/dist/chunk-DZSIUEGH.js +0 -136
- package/dist/chunk-EFSYTROP.js +0 -94
- package/dist/chunk-EIVYFZ4N.js +0 -172
- package/dist/chunk-F2S5BLPE.js +0 -97
- package/dist/chunk-F4F3PLN3.js +0 -103
- package/dist/chunk-GLCPTMPG.js +0 -5189
- package/dist/chunk-GX6VAHY7.js +0 -830
- package/dist/chunk-H26L3OQY.js +0 -42
- package/dist/chunk-HQSCJYZO.js +0 -26
- package/dist/chunk-HRYOZUSK.js +0 -1711
- package/dist/chunk-IFWP3ZDO.js +0 -215
- package/dist/chunk-IFWP3ZDO.js.map +0 -1
- package/dist/chunk-J5IY3GVE.js +0 -96
- package/dist/chunk-JERXV5A3.js +0 -26
- package/dist/chunk-K66OLA6Y.js +0 -4383
- package/dist/chunk-K7FZXIOZ.js +0 -60
- package/dist/chunk-KFE3S63W.js +0 -1441
- package/dist/chunk-KLBTXETO.js +0 -23992
- package/dist/chunk-KLBTXETO.js.map +0 -1
- package/dist/chunk-KLNKEVIY.js +0 -136
- package/dist/chunk-KNY76UGC.js +0 -84
- package/dist/chunk-KQTYTCKQ.js +0 -98
- package/dist/chunk-L27H2R2N.js +0 -174
- package/dist/chunk-LERTEZST.js +0 -28
- package/dist/chunk-LLOOWRBB.js +0 -496
- package/dist/chunk-LS5MTRFI.js +0 -106
- package/dist/chunk-LYBXCXJB.js +0 -160
- package/dist/chunk-LZ73CZGP.js +0 -188
- package/dist/chunk-LZSXZB2F.js +0 -622
- package/dist/chunk-MELOSESI.js +0 -20
- package/dist/chunk-MURPCCLG.js +0 -337
- package/dist/chunk-MZL4H5PY.js +0 -225
- package/dist/chunk-NAWWC5I3.js +0 -454
- package/dist/chunk-NAWWC5I3.js.map +0 -1
- package/dist/chunk-NEXCBTBZ.js +0 -19
- package/dist/chunk-OVT676K6.js +0 -169
- package/dist/chunk-P2RE52V7.js +0 -304
- package/dist/chunk-P6ICBEE4.js +0 -6667
- package/dist/chunk-PBA3YCZA.js +0 -76
- package/dist/chunk-PLGIETFZ.js +0 -207
- package/dist/chunk-PWGWMIIJ.js +0 -25
- package/dist/chunk-Q4JYX424.js +0 -275
- package/dist/chunk-QJNTI36W.js +0 -346
- package/dist/chunk-QSN5MZGS.js +0 -74
- package/dist/chunk-RX6F3GEA.js +0 -610
- package/dist/chunk-STIB5DR5.js +0 -56
- package/dist/chunk-T4DD5YMP.js +0 -166
- package/dist/chunk-TD2P4HBP.js +0 -55
- package/dist/chunk-TD6GIMV6.js +0 -111
- package/dist/chunk-TXI5OWCF.js +0 -3147
- package/dist/chunk-UC7VFFXR.js +0 -382
- package/dist/chunk-ULJ5RFOV.js +0 -76
- package/dist/chunk-UX5HYEN3.js +0 -197
- package/dist/chunk-V4RGDJAN.js +0 -363
- package/dist/chunk-VAJBWA2U.js +0 -75
- package/dist/chunk-VB6WJJR3.js +0 -1830
- package/dist/chunk-VFIOJD5M.js +0 -309
- package/dist/chunk-VVZBBKRC.js +0 -296
- package/dist/chunk-W2TJIZS2.js +0 -51
- package/dist/chunk-W3B4BHQU.js +0 -31
- package/dist/chunk-W3ZHJJVT.js +0 -139
- package/dist/chunk-W5VGWEAG.js +0 -494
- package/dist/chunk-WDZOVF6P.js +0 -297
- package/dist/chunk-WNFIJAUO.js +0 -98
- package/dist/chunk-WTOYCUKH.js +0 -84
- package/dist/chunk-XBOK23HI.js +0 -214
- package/dist/chunk-XL3BMSYG.js +0 -125
- package/dist/chunk-YBMVHGY3.js +0 -333
- package/dist/chunk-YT7SSJFR.js +0 -541
- package/dist/chunk-ZZQXVYUY.js +0 -66
- package/dist/claim-INJHV4FM.js +0 -197
- package/dist/client-VHN32ZRE.js +0 -19
- package/dist/code-YS6ZMGX3.js +0 -76
- package/dist/companies-3REQZWKU.js +0 -195
- package/dist/complete-DX2DAAEZ.js +0 -81
- package/dist/config-CQN5FHMZ.js +0 -88
- package/dist/connect-O4OGKMAK.js +0 -42
- package/dist/content-3ZPP4SW2.js +0 -81
- package/dist/conversation-6A2X5W64.js +0 -93
- package/dist/conversion-report-N4HANYOB.js +0 -125
- package/dist/conversion-upload-command-AUF3LNTH.js +0 -438
- package/dist/conversion-writes-LW4HQKK5.js +0 -120
- package/dist/conversions-PT6UDIX3.js +0 -135
- package/dist/conversions-TS723AZV.js +0 -76
- package/dist/countries-ESAKTQAE.js +0 -82
- package/dist/create-BR3Q4A4C.js +0 -235
- package/dist/create-EOLNJGAX.js +0 -207
- package/dist/create-I2UB7FWX.js +0 -59
- package/dist/create-S47CLYXJ.js +0 -130
- package/dist/creatives-D3NXWVUF.js +0 -51
- package/dist/creatives-FBH4DKSX.js +0 -182
- package/dist/creatives-UEPLNCPN.js +0 -87
- package/dist/credentials-4BPEXA3E.js +0 -1055
- package/dist/credentials-4BPEXA3E.js.map +0 -1
- package/dist/critique-3XJG44NG.js +0 -213
- package/dist/critique-LU27A765.js +0 -1449
- package/dist/crm-GOE6ZO5N.js +0 -224
- package/dist/crm-NEI6E2T2.js +0 -318
- package/dist/crop-2J4RKJ6B.js +0 -113
- package/dist/currency-XCGKQ7FE.js +0 -88
- package/dist/custom-conversions-2VLJGPRV.js +0 -125
- package/dist/customers-USB6VCMU.js +0 -56
- package/dist/delete-3AV3ARMX.js +0 -71
- package/dist/delete-67XFFHUY.js +0 -66
- package/dist/delete-A5XD52K4.js +0 -69
- package/dist/delete-BT7I3EMN.js +0 -54
- package/dist/delete-MRM2S4Z5.js +0 -71
- package/dist/delete-ONE22VRX.js +0 -63
- package/dist/demographics-R4LCQGDJ.js +0 -138
- package/dist/describe-6NVOWIBE.js +0 -97
- package/dist/describe-P3PPIQME.js +0 -97
- package/dist/dimensions-EYAYO27I.js +0 -101
- package/dist/discard-BOPTV4V5.js +0 -66
- package/dist/discover-BJPZNXUQ.js +0 -172
- package/dist/domain-B54ILSOO.js +0 -98
- package/dist/download-7T6HIJKD.js +0 -299
- package/dist/draft-5YAYCEYY.js +0 -107
- package/dist/draft-BGUJDHXR.js +0 -103
- package/dist/draft-DWSBVJUF.js +0 -217
- package/dist/draft-J4SGNGGW.js +0 -328
- package/dist/draft-KIBMVKSR.js +0 -100
- package/dist/draft-ROERDGSK.js +0 -306
- package/dist/draft-THPZFASM.js +0 -281
- package/dist/draft-YDY2Q2K6.js +0 -233
- package/dist/env-KIP2J2UB.js +0 -43
- package/dist/experiment-LKK77YAN.js +0 -1377
- package/dist/export-JQRMBJ7D.js +0 -168
- package/dist/extract-7QKLME7Z.js +0 -113
- package/dist/facets-FUTIWQXK.js +0 -114
- package/dist/favorites-NSGF4OV5.js +0 -178
- package/dist/feed-RV4KPPXM.js +0 -157
- package/dist/feedback-C6CBUUDA.js +0 -66
- package/dist/feedback-record-FM5MW2YV.js +0 -175
- package/dist/fetch-D7JPGEYZ.js +0 -176
- package/dist/fetch-XF76JABV.js +0 -139
- package/dist/find-OTDIX6V4.js +0 -134
- package/dist/fit-7237F5EB.js +0 -45
- package/dist/flows-L6BF3TDT.js +0 -247
- package/dist/follow-FN7LV3WV.js +0 -82
- package/dist/follow-competitors-MKXFHLXB.js +0 -131
- package/dist/following-RKC2FLHI.js +0 -109
- package/dist/fonts-THAAZY7Z.js +0 -34
- package/dist/forecast-RYYVMNYT.js +0 -104
- package/dist/funding-NYO65IMT.js +0 -85
- package/dist/funnel-SK7WDPRS.js +0 -837
- package/dist/ga4-UDQ2HA2J.js +0 -55
- package/dist/generate-MMBYB44G.js +0 -262
- package/dist/get-3L6W3E3T.js +0 -59
- package/dist/get-3STPGBX3.js +0 -78
- package/dist/get-6WEYKOY6.js +0 -63
- package/dist/get-P743RPSI.js +0 -63
- package/dist/get-XN5ZGDIK.js +0 -61
- package/dist/get-YBIF3H52.js +0 -56
- package/dist/get-YIHTAMRT.js +0 -92
- package/dist/gif-53ULFVLR.js +0 -94
- package/dist/google-KTO3PLEU.js +0 -136
- package/dist/google-M7KEXVK5.js +0 -1872
- package/dist/google-ads-YD7LYWGY.js +0 -195
- package/dist/group-EFZ3AJIE.js +0 -43
- package/dist/group-GKWCCX66.js +0 -43
- package/dist/gsc-P3QYGDV2.js +0 -30
- package/dist/history-DBIEYQHY.js +0 -67
- package/dist/history-RWWBR4TN.js +0 -133
- package/dist/hubspot-E65QNOI4.js +0 -779
- package/dist/icon-I43F77FV.js +0 -137
- package/dist/ideas-ZB7O7T5I.js +0 -32
- package/dist/images-U4DKZQTE.js +0 -90
- package/dist/improve-BCCU5AS6.js +0 -86
- package/dist/ingest-MZXGMFA5.js +0 -23
- package/dist/ingest-ROEMTZMG.js +0 -107
- package/dist/insights-NZWSJKU4.js +0 -423
- package/dist/insights-ZIU6FJMS.js +0 -122
- package/dist/inspect-MCMUJPXU.js +0 -189
- package/dist/inspiration-P265QJ2H.js +0 -53
- package/dist/intent-E3UIVZBN.js +0 -95
- package/dist/job-L7RJZMSG.js +0 -202
- package/dist/job-create-JUDAN52O.js +0 -109
- package/dist/job-status-U43WE3RJ.js +0 -74
- package/dist/keep-55CPC7DG.js +0 -78
- package/dist/keyword-gap-BG6M665A.js +0 -130
- package/dist/keyword-metrics-MLFTDAS4.js +0 -197
- package/dist/keywords-for-site-4WUBJNTI.js +0 -128
- package/dist/landing-5GDWJN4C.js +0 -28
- package/dist/languages-HORKPDNH.js +0 -40
- package/dist/languages-JSGWCC7Z.js +0 -55
- package/dist/layerize-RPD6SNP6.js +0 -190
- package/dist/leads-ARUWPHBM.js +0 -293
- package/dist/leads-LDOOJI5K.js +0 -90
- package/dist/learn-MMIGRLCP.js +0 -203
- package/dist/library-ARKRLCNJ.js +0 -109
- package/dist/lighthouse-6ZC45E53.js +0 -75
- package/dist/line-item-writes-LFDWJBQG.js +0 -208
- package/dist/line-items-T3EVXB4M.js +0 -103
- package/dist/link-M5ESAD5Y.js +0 -64
- package/dist/linkedin-4FNKZNIR.js +0 -1008
- package/dist/list-7MVBXOJT.js +0 -51
- package/dist/list-A5UCIR2J.js +0 -65
- package/dist/list-AL7N6X2P.js +0 -50
- package/dist/list-EF6QI4JT.js +0 -303
- package/dist/list-FNW254C3.js +0 -63
- package/dist/list-LI4OGQFW.js +0 -57
- package/dist/list-P7NAFN6J.js +0 -76
- package/dist/list-XWUTPJRQ.js +0 -151
- package/dist/locations-74TPQWAT.js +0 -67
- package/dist/locations-J4G5RNPH.js +0 -40
- package/dist/log-5MESJJLM.js +0 -92
- package/dist/logo-2IP663QO.js +0 -18
- package/dist/lookup-XK45W2SH.js +0 -22
- package/dist/make-ATEHKECL.js +0 -593
- package/dist/map-5NONUYFP.js +0 -404
- package/dist/mcp-CGITBQQA.js +0 -476
- package/dist/media-53DJRC4N.js +0 -15
- package/dist/media-6CQYG4UY.js +0 -89
- package/dist/media-sources-6TFUGPE2.js +0 -32
- package/dist/members-R2GQVSVA.js +0 -44
- package/dist/meta-A7KM6TF5.js +0 -69
- package/dist/metrics-SQDJ5NQO.js +0 -152
- package/dist/models-7U3GRYHF.js +0 -155
- package/dist/normalize-ICQF2AST.js +0 -806
- package/dist/normalize-L6WBNGQA.js +0 -141
- package/dist/options-YT2ZGB2Z.js +0 -121
- package/dist/output-RAH3TSIL.js +0 -24
- package/dist/page-GS3WLT2C.js +0 -105
- package/dist/pages-FXYQLHSJ.js +0 -66
- package/dist/performance-52IILAFE.js +0 -24
- package/dist/pinterest-AUH7WBA7.js +0 -96
- package/dist/pixels-45A55MOP.js +0 -60
- package/dist/pixels-ZFF4BGUH.js +0 -108
- package/dist/preview-AD4GKYIA.js +0 -169
- package/dist/promoted-tweet-writes-QVIKWEIZ.js +0 -180
- package/dist/promoted-tweets-2AALRV5O.js +0 -119
- package/dist/properties-L2XIYQDS.js +0 -101
- package/dist/publish-XFLOZAOQ.js +0 -322
- package/dist/query-IEZRY6HV.js +0 -1341
- package/dist/query-SGGBCHTF.js +0 -236
- package/dist/query-VTGVZQIO.js +0 -247
- package/dist/read-LSF7DYTG.js +0 -140
- package/dist/reddit-HFBAGWNP.js +0 -26
- package/dist/refresh-INKIU3QV.js +0 -94
- package/dist/release-C2MFXAPJ.js +0 -60
- package/dist/relevant-pages-OWMNUCP7.js +0 -99
- package/dist/remove-6LGGKMLJ.js +0 -48
- package/dist/remove-JWSVNUJ4.js +0 -50
- package/dist/reopen-3GM4OSLZ.js +0 -63
- package/dist/rerun-FCZRSS3H.js +0 -85
- package/dist/research-EBQ5KWOS.js +0 -62
- package/dist/research-HUMDT7T4.js +0 -262
- package/dist/reset-3BEGDSBW.js +0 -54
- package/dist/reset-TVDYP2VK.js +0 -54
- package/dist/resolve-OQKUGWEI.js +0 -121
- package/dist/retry-EJBF6GBJ.js +0 -62
- package/dist/retry-GUHOWYO2.js +0 -60
- package/dist/retry-failed-6HXPUVXJ.js +0 -45
- package/dist/run-3D6QZC6L.js +0 -65
- package/dist/run-CUUAWKAZ.js +0 -60
- package/dist/scaffold-ad-AYKWASWY.js +0 -1549
- package/dist/scaffold-static-ad-IEZEQW4N.js +0 -966
- package/dist/scaffold-video-YMN7AJS4.js +0 -873
- package/dist/schedule-O2K6M43V.js +0 -66
- package/dist/schedule-QVYVMRIY.js +0 -61
- package/dist/scheduled-agents-CNIGCLAP.js +0 -49
- package/dist/schema-7UUVQ4RH.js +0 -132
- package/dist/scrape-ETAMW43A.js +0 -2241
- package/dist/screenshot-YCQF25ZB.js +0 -102
- package/dist/search-742XSULP.js +0 -224
- package/dist/search-MEEM4D3W.js +0 -92
- package/dist/search-OQNGSMUH.js +0 -91
- package/dist/search-UO5KJTYS.js +0 -26
- package/dist/search-XUGIKFW3.js +0 -174
- package/dist/seeds-N6FF5S4T.js +0 -101
- package/dist/select-LSS7ZJSB.js +0 -94
- package/dist/sends-WGJVQUMF.js +0 -309
- package/dist/sequences-OIPVR7JL.js +0 -146
- package/dist/set-prompt-P3WR2TZX.js +0 -186
- package/dist/setup-links-4VILWID2.js +0 -141
- package/dist/shared-HJDFNID4.js +0 -31
- package/dist/site-TLJVSZQF.js +0 -177
- package/dist/sitemaps-POPZJTAX.js +0 -87
- package/dist/sites-262H6LM4.js +0 -101
- package/dist/skills-6TQZLIMP.js +0 -47
- package/dist/sources-4MKBWFWG.js +0 -30
- package/dist/sources-7FCRKPXJ.js +0 -421
- package/dist/stale-7VJECYYJ.js +0 -63
- package/dist/stats-NNXZMPZR.js +0 -34
- package/dist/status-WZKAKUG4.js +0 -62
- package/dist/sticker-4KMBSMP5.js +0 -94
- package/dist/stock-2YCDN3N6.js +0 -179
- package/dist/studio-C5K3YX3P.js +0 -49
- package/dist/sync-CF7FVUQJ.js +0 -54
- package/dist/sync-DEWLEMTT.js +0 -54
- package/dist/sync-ZSNUBYPM.js +0 -265
- package/dist/sync-definition-ARIX5XWM.js +0 -53
- package/dist/tag-manager-DYZUOIAS.js +0 -43
- package/dist/tags-ANV54THE.js +0 -26
- package/dist/tags-IWN3QPK5.js +0 -20
- package/dist/tags-O76MDVID.js +0 -20
- package/dist/tags-RBB4TU7U.js +0 -20
- package/dist/tags-V5FR3DYU.js +0 -224
- package/dist/targeting-constants-XJ2VOW7K.js +0 -118
- package/dist/targeting-criteria-6IOXVE4K.js +0 -113
- package/dist/targets-FFLV6OMF.js +0 -102
- package/dist/templates-Y3ZLB7MK.js +0 -178
- package/dist/testimonials-FCYS4NKB.js +0 -32
- package/dist/top-companies-BL4F7OPI.js +0 -108
- package/dist/translate-GGONJG62.js +0 -598
- package/dist/triggers-6Q3YRHZS.js +0 -141
- package/dist/tweets-ATP3FQAC.js +0 -123
- package/dist/unfollow-CBVPGPF7.js +0 -46
- package/dist/unlink-WDSOVBFL.js +0 -67
- package/dist/unstage-4ZEULXEQ.js +0 -95
- package/dist/unstage-JYJIKPB5.js +0 -84
- package/dist/update-CWZVKOUB.js +0 -63
- package/dist/update-FUYXN33G.js +0 -98
- package/dist/update-IXSCDBM4.js +0 -142
- package/dist/update-WSG6RVFX.js +0 -155
- package/dist/upload-CKV2XS3G.js +0 -126
- package/dist/upload-L5SYZB3X.js +0 -150
- package/dist/upscale-YWRLFU22.js +0 -109
- package/dist/url-options-GGXAL3J4.js +0 -127
- package/dist/url-params-UJSNI4XC.js +0 -98
- package/dist/use-UT2DIZOG.js +0 -95
- package/dist/validate-FSFELDFZ.js +0 -89
- package/dist/variant-FLZJYGYL.js +0 -338
- package/dist/videos-FAKURRTG.js +0 -39
- package/dist/view-NPAG66QK.js +0 -121
- package/dist/viewer-check-45T2HLAH.js +0 -69
- package/dist/web-RRGHSAFY.js +0 -140
- package/dist/winners-I5BMATJZ.js +0 -79
- package/dist/winning-ads-HRSCX6O2.js +0 -62
- package/dist/winning-ads-HRSCX6O2.js.map +0 -1
- package/dist/write-commands-CT74VHH6.js +0 -737
- package/dist/write-commands-ERKVRHTC.js +0 -206
- package/dist/write-commands-TAG7DQKT.js +0 -1015
- package/dist/write-commands-WTRSOSO3.js +0 -713
- package/dist/x-FBWHL3PL.js +0 -47
- /package/dist/{account-F6MHQ64I.js.map → account-IVVLUX4B.js.map} +0 -0
- /package/dist/{account-IEVEOFIK.js.map → account-VBI3KT3Y.js.map} +0 -0
- /package/dist/{account-2SVI5OK7.js.map → account-W2FNH3MQ.js.map} +0 -0
- /package/dist/{account-writes-ISE4U2FQ.js.map → account-writes-TQOVHHB6.js.map} +0 -0
- /package/dist/{accounts-2XAOZX3U.js.map → accounts-3KDFSNLS.js.map} +0 -0
- /package/dist/{accounts-5QDKBZMH.js.map → accounts-DJW5PRSE.js.map} +0 -0
- /package/dist/{accounts-U4BGY3QU.js.map → accounts-KPAJX3P5.js.map} +0 -0
- /package/dist/{accounts-KYJO3JC6.js.map → accounts-TVKG5H7H.js.map} +0 -0
- /package/dist/{accounts-4CDRK4S4.js.map → accounts-X2CYWEHN.js.map} +0 -0
- /package/dist/{actions-6EJU7CAQ.js.map → actions-5CABWS3O.js.map} +0 -0
- /package/dist/{active-entities-YUSOUR5M.js.map → active-entities-HFBJWW5X.js.map} +0 -0
- /package/dist/{activities-ZVQOBHZH.js.map → activities-IRKTG2P4.js.map} +0 -0
- /package/dist/{ad-group-writes-UU5NNKSO.js.map → ad-group-writes-4OIJFZFS.js.map} +0 -0
- /package/dist/{ad-groups-CGFXZNIA.js.map → ad-groups-OCQ4UNHN.js.map} +0 -0
- /package/dist/{ad-writes-NALDYWOR.js.map → ad-writes-XZEKXPP2.js.map} +0 -0
- /package/dist/{add-577QWMCF.js.map → add-JWYHFZBE.js.map} +0 -0
- /package/dist/{add-CUWAW7KG.js.map → add-LZ2NEYLU.js.map} +0 -0
- /package/dist/{add-P7CCVY2J.js.map → add-OBRA6W5Q.js.map} +0 -0
- /package/dist/{add-IPGEYQQG.js.map → add-OSVUILLC.js.map} +0 -0
- /package/dist/{ads-6UEDYT3O.js.map → ads-IVGQFY6E.js.map} +0 -0
- /package/dist/{ads-PV7GZXPR.js.map → ads-ODTIC6AO.js.map} +0 -0
- /package/dist/{ads-6MXVIV62.js.map → ads-ULSDT6MZ.js.map} +0 -0
- /package/dist/{adsets-Q5DWGANV.js.map → adsets-3EW7RTJM.js.map} +0 -0
- /package/dist/{advertisers-YMHPZYNF.js.map → advertisers-DIMYL7SK.js.map} +0 -0
- /package/dist/{advertisers-JG4DZ6SB.js.map → advertisers-LR4QZDGU.js.map} +0 -0
- /package/dist/{analytics-RNEUAKC4.js.map → analytics-QVYBGXUX.js.map} +0 -0
- /package/dist/{analytics-IMYVNQIX.js.map → analytics-YNR77KBA.js.map} +0 -0
- /package/dist/{animate-FWWHSYPL.js.map → animate-VOXMU24L.js.map} +0 -0
- /package/dist/{assign-46TXQRT5.js.map → assign-3347PGZM.js.map} +0 -0
- /package/dist/{audience-size-5TNQO3IL.js.map → audience-size-H2IMWF64.js.map} +0 -0
- /package/dist/{audiences-HFRVIE2X.js.map → audiences-7A2YNNTW.js.map} +0 -0
- /package/dist/{audiences-VEKGLWBG.js.map → audiences-P4HMEMPG.js.map} +0 -0
- /package/dist/{audiences-AMRFZRZ7.js.map → audiences-XC2WSLHB.js.map} +0 -0
- /package/dist/{audit-AD4ZZNJN.js.map → audit-F5SYOLIW.js.map} +0 -0
- /package/dist/{audit-XRE7XH3Q.js.map → audit-TB3ZXNCS.js.map} +0 -0
- /package/dist/{autocomplete-2ZWSQ6QQ.js.map → autocomplete-QBIFAEJV.js.map} +0 -0
- /package/dist/{avatars-M6NSD3KS.js.map → avatars-UK5ECVNJ.js.map} +0 -0
- /package/dist/{bid-pricing-OIVPZCWW.js.map → bid-pricing-4QQ2SGNR.js.map} +0 -0
- /package/dist/{brand-YDNX7LYQ.js.map → brand-OXTQQBVO.js.map} +0 -0
- /package/dist/{brief-EK6ULGXD.js.map → brief-3TSQXUZY.js.map} +0 -0
- /package/dist/{businesses-JBDQZZIG.js.map → businesses-PDLCA772.js.map} +0 -0
- /package/dist/{campaign-groups-TAP6LK6F.js.map → campaign-groups-C7ROQKJL.js.map} +0 -0
- /package/dist/{campaign-writes-4SWPBZE6.js.map → campaign-writes-5DTI5DUE.js.map} +0 -0
- /package/dist/{campaign-writes-SX52CJYW.js.map → campaign-writes-CCTLEII5.js.map} +0 -0
- /package/dist/{campaigns-AQAJN23T.js.map → campaigns-BVNJCSFL.js.map} +0 -0
- /package/dist/{campaigns-ROMLENHI.js.map → campaigns-MDWGZCM5.js.map} +0 -0
- /package/dist/{campaigns-D6B6Z67Y.js.map → campaigns-MHSOY47R.js.map} +0 -0
- /package/dist/{campaigns-X3DPCCSN.js.map → campaigns-TUO2Q3KY.js.map} +0 -0
- /package/dist/{capabilities-GGPTIAFO.js.map → capabilities-KG6HKL6N.js.map} +0 -0
- /package/dist/{cards-4477BFEV.js.map → cards-JSVWNMHT.js.map} +0 -0
- /package/dist/{catalog-ME44ZRZF.js.map → catalog-BJYQEBKF.js.map} +0 -0
- /package/dist/{catalogs-G3YEVG6S.js.map → catalogs-7WNGKUTF.js.map} +0 -0
- /package/dist/{changes-TP7ZZHB3.js.map → changes-EWN2P6S4.js.map} +0 -0
- /package/dist/{chatgpt-QNUN63YS.js.map → chatgpt-UDAIH7QY.js.map} +0 -0
- /package/dist/{chats-G343BSVB.js.map → chats-ORCMVHFD.js.map} +0 -0
- /package/dist/{chunk-75FDTDLH.js.map → chunk-2AFIXLB2.js.map} +0 -0
- /package/dist/{chunk-GLCPTMPG.js.map → chunk-3D5CA5OX.js.map} +0 -0
- /package/dist/{chunk-Q4JYX424.js.map → chunk-457IPRIT.js.map} +0 -0
- /package/dist/{chunk-GX6VAHY7.js.map → chunk-4L3IZCFL.js.map} +0 -0
- /package/dist/{chunk-TD2P4HBP.js.map → chunk-4LDMAYGM.js.map} +0 -0
- /package/dist/{chunk-LERTEZST.js.map → chunk-5EEWYHOR.js.map} +0 -0
- /package/dist/{chunk-6G5K6ZC6.js.map → chunk-5GRB5QUI.js.map} +0 -0
- /package/dist/{chunk-LZSXZB2F.js.map → chunk-5HECV334.js.map} +0 -0
- /package/dist/{chunk-5Z2KSVIV.js.map → chunk-5QD2THAH.js.map} +0 -0
- /package/dist/{chunk-542XAHNT.js.map → chunk-5XYVRS5D.js.map} +0 -0
- /package/dist/{chunk-LZ73CZGP.js.map → chunk-65D4T7N7.js.map} +0 -0
- /package/dist/{chunk-W3B4BHQU.js.map → chunk-6QGUMZSJ.js.map} +0 -0
- /package/dist/{chunk-ZZQXVYUY.js.map → chunk-6RPA3YQB.js.map} +0 -0
- /package/dist/{chunk-2BKVVCCV.js.map → chunk-AE3Q6E3R.js.map} +0 -0
- /package/dist/{chunk-UC7VFFXR.js.map → chunk-AWAW75EF.js.map} +0 -0
- /package/dist/{chunk-VAJBWA2U.js.map → chunk-B6KFPCGF.js.map} +0 -0
- /package/dist/{chunk-V4RGDJAN.js.map → chunk-BHSKVJUB.js.map} +0 -0
- /package/dist/{chunk-L27H2R2N.js.map → chunk-BNMRSDKY.js.map} +0 -0
- /package/dist/{chunk-PLGIETFZ.js.map → chunk-BUPNFBRW.js.map} +0 -0
- /package/dist/{chunk-KFE3S63W.js.map → chunk-BW4ZFBYI.js.map} +0 -0
- /package/dist/{chunk-4NDCTLI5.js.map → chunk-BWKTZPBQ.js.map} +0 -0
- /package/dist/{chunk-UX5HYEN3.js.map → chunk-BXUK46AI.js.map} +0 -0
- /package/dist/{chunk-H26L3OQY.js.map → chunk-C7EABFTU.js.map} +0 -0
- /package/dist/{chunk-VVZBBKRC.js.map → chunk-CRX5XO4W.js.map} +0 -0
- /package/dist/{chunk-D5XAVXUZ.js.map → chunk-CTKGEQP7.js.map} +0 -0
- /package/dist/{chunk-KNY76UGC.js.map → chunk-CZQSIGYU.js.map} +0 -0
- /package/dist/{chunk-JERXV5A3.js.map → chunk-D2XZUIPA.js.map} +0 -0
- /package/dist/{chunk-HRYOZUSK.js.map → chunk-DIJBHIII.js.map} +0 -0
- /package/dist/{chunk-PBA3YCZA.js.map → chunk-DMEGESTD.js.map} +0 -0
- /package/dist/{chunk-7WD2RW2R.js.map → chunk-DSG3BGGE.js.map} +0 -0
- /package/dist/{chunk-6B7VKFS4.js.map → chunk-E7XNUDS5.js.map} +0 -0
- /package/dist/{chunk-54UVGFX3.js.map → chunk-EARZMCDM.js.map} +0 -0
- /package/dist/{chunk-K66OLA6Y.js.map → chunk-ERVDEVLC.js.map} +0 -0
- /package/dist/{chunk-RX6F3GEA.js.map → chunk-FMMXUEDL.js.map} +0 -0
- /package/dist/{chunk-MZL4H5PY.js.map → chunk-FUQOBYFX.js.map} +0 -0
- /package/dist/{chunk-J5IY3GVE.js.map → chunk-GJZAH546.js.map} +0 -0
- /package/dist/{chunk-3YOFT3AP.js.map → chunk-GPWVCB2M.js.map} +0 -0
- /package/dist/{chunk-2TK4DEOE.js.map → chunk-IARJS3IB.js.map} +0 -0
- /package/dist/{chunk-DZSIUEGH.js.map → chunk-IFD5LJWU.js.map} +0 -0
- /package/dist/{chunk-7ZHMGXE2.js.map → chunk-K3SS7PNM.js.map} +0 -0
- /package/dist/{chunk-W3ZHJJVT.js.map → chunk-KAY5TRAH.js.map} +0 -0
- /package/dist/{chunk-F4F3PLN3.js.map → chunk-KBG2OLVI.js.map} +0 -0
- /package/dist/{chunk-B6GITCGN.js.map → chunk-KC7HNN2Z.js.map} +0 -0
- /package/dist/{chunk-WNFIJAUO.js.map → chunk-KYN5OIXU.js.map} +0 -0
- /package/dist/{chunk-QJNTI36W.js.map → chunk-LDLK6GIF.js.map} +0 -0
- /package/dist/{chunk-STIB5DR5.js.map → chunk-LSEYIZ5K.js.map} +0 -0
- /package/dist/{chunk-MURPCCLG.js.map → chunk-NBM3EHRA.js.map} +0 -0
- /package/dist/{chunk-TD6GIMV6.js.map → chunk-NCCGOJ4I.js.map} +0 -0
- /package/dist/{chunk-MELOSESI.js.map → chunk-NDQTB6OU.js.map} +0 -0
- /package/dist/{chunk-KQTYTCKQ.js.map → chunk-O2THKWAY.js.map} +0 -0
- /package/dist/{chunk-W2TJIZS2.js.map → chunk-O7UKTKUG.js.map} +0 -0
- /package/dist/{chunk-WDZOVF6P.js.map → chunk-OVSRMFQ4.js.map} +0 -0
- /package/dist/{chunk-HQSCJYZO.js.map → chunk-P5T7OZKV.js.map} +0 -0
- /package/dist/{chunk-XBOK23HI.js.map → chunk-PCKVSSVT.js.map} +0 -0
- /package/dist/{chunk-P6ICBEE4.js.map → chunk-PLOQNCL6.js.map} +0 -0
- /package/dist/{chunk-4QEY2L6U.js.map → chunk-PQ7YMQ2U.js.map} +0 -0
- /package/dist/{chunk-64WGDUXH.js.map → chunk-PVXUYXYW.js.map} +0 -0
- /package/dist/{chunk-LS5MTRFI.js.map → chunk-QCPZVAKJ.js.map} +0 -0
- /package/dist/{chunk-3URK7DAA.js.map → chunk-QNZWLESV.js.map} +0 -0
- /package/dist/{chunk-EFSYTROP.js.map → chunk-QSQGGONQ.js.map} +0 -0
- /package/dist/{chunk-K7FZXIOZ.js.map → chunk-QTXJHQSI.js.map} +0 -0
- /package/dist/{chunk-35XWJEWH.js.map → chunk-QW53AQYB.js.map} +0 -0
- /package/dist/{chunk-XL3BMSYG.js.map → chunk-RAVSEXEL.js.map} +0 -0
- /package/dist/{chunk-F2S5BLPE.js.map → chunk-SGFJ4VXB.js.map} +0 -0
- /package/dist/{chunk-W5VGWEAG.js.map → chunk-SIZAWVI5.js.map} +0 -0
- /package/dist/{chunk-5ARG3CQG.js.map → chunk-SZ2LLYSO.js.map} +0 -0
- /package/dist/{chunk-LYBXCXJB.js.map → chunk-UMT4Z3PT.js.map} +0 -0
- /package/dist/{chunk-TXI5OWCF.js.map → chunk-UWX45EAT.js.map} +0 -0
- /package/dist/{chunk-KLNKEVIY.js.map → chunk-VSA63D2N.js.map} +0 -0
- /package/dist/{chunk-YBMVHGY3.js.map → chunk-VVS5TLDG.js.map} +0 -0
- /package/dist/{chunk-P2RE52V7.js.map → chunk-W7XH22P4.js.map} +0 -0
- /package/dist/{chunk-OVT676K6.js.map → chunk-WAVTLYGU.js.map} +0 -0
- /package/dist/{chunk-EIVYFZ4N.js.map → chunk-WE66JPNB.js.map} +0 -0
- /package/dist/{chunk-ULJ5RFOV.js.map → chunk-XFGAUP5B.js.map} +0 -0
- /package/dist/{chunk-BNCW67EM.js.map → chunk-XNLCAM4S.js.map} +0 -0
- /package/dist/{chunk-VFIOJD5M.js.map → chunk-XNMSJP2X.js.map} +0 -0
- /package/dist/{chunk-VB6WJJR3.js.map → chunk-XR7TMGYY.js.map} +0 -0
- /package/dist/{chunk-LLOOWRBB.js.map → chunk-XUOZ6VAL.js.map} +0 -0
- /package/dist/{chunk-YT7SSJFR.js.map → chunk-YGKD32WM.js.map} +0 -0
- /package/dist/{chunk-PWGWMIIJ.js.map → chunk-YI4644DL.js.map} +0 -0
- /package/dist/{chunk-7OFNN4CT.js.map → chunk-YJKJW7DR.js.map} +0 -0
- /package/dist/{chunk-T4DD5YMP.js.map → chunk-YSW3BBNR.js.map} +0 -0
- /package/dist/{chunk-QSN5MZGS.js.map → chunk-YUNATR3I.js.map} +0 -0
- /package/dist/{chunk-WTOYCUKH.js.map → chunk-Z6JUXGJ3.js.map} +0 -0
- /package/dist/{chunk-NEXCBTBZ.js.map → chunk-ZBSSVAST.js.map} +0 -0
- /package/dist/{chunk-C6U6UDHJ.js.map → chunk-ZLZWMWB7.js.map} +0 -0
- /package/dist/{claim-INJHV4FM.js.map → claim-HWKC6L6D.js.map} +0 -0
- /package/dist/{client-VHN32ZRE.js.map → client-BNOZZLGA.js.map} +0 -0
- /package/dist/{code-YS6ZMGX3.js.map → code-NT75YZHM.js.map} +0 -0
- /package/dist/{companies-3REQZWKU.js.map → companies-AJ36VT5S.js.map} +0 -0
- /package/dist/{complete-DX2DAAEZ.js.map → complete-GWJKH6JK.js.map} +0 -0
- /package/dist/{config-CQN5FHMZ.js.map → config-RHWFL6FM.js.map} +0 -0
- /package/dist/{connect-O4OGKMAK.js.map → connect-4IASPXRW.js.map} +0 -0
- /package/dist/{content-3ZPP4SW2.js.map → content-2SVLCO7B.js.map} +0 -0
- /package/dist/{conversation-6A2X5W64.js.map → conversation-3RNXZEJN.js.map} +0 -0
- /package/dist/{conversion-report-N4HANYOB.js.map → conversion-report-WEW6RNDA.js.map} +0 -0
- /package/dist/{conversion-upload-command-AUF3LNTH.js.map → conversion-upload-command-KLPIIBFE.js.map} +0 -0
- /package/dist/{conversion-writes-LW4HQKK5.js.map → conversion-writes-2Z3ACFUD.js.map} +0 -0
- /package/dist/{conversions-PT6UDIX3.js.map → conversions-FVIOPR2K.js.map} +0 -0
- /package/dist/{conversions-TS723AZV.js.map → conversions-GNXBFAB6.js.map} +0 -0
- /package/dist/{countries-ESAKTQAE.js.map → countries-EGWRXMAX.js.map} +0 -0
- /package/dist/{create-EOLNJGAX.js.map → create-2YEOWQH6.js.map} +0 -0
- /package/dist/{create-BR3Q4A4C.js.map → create-5ASNHKN3.js.map} +0 -0
- /package/dist/{create-I2UB7FWX.js.map → create-6O5FFTFS.js.map} +0 -0
- /package/dist/{create-S47CLYXJ.js.map → create-MD543P42.js.map} +0 -0
- /package/dist/{creatives-UEPLNCPN.js.map → creatives-CKZJ6NXP.js.map} +0 -0
- /package/dist/{creatives-FBH4DKSX.js.map → creatives-JTZ6NRBC.js.map} +0 -0
- /package/dist/{creatives-D3NXWVUF.js.map → creatives-XZNZUR3Q.js.map} +0 -0
- /package/dist/{critique-3XJG44NG.js.map → critique-AZIXWVVQ.js.map} +0 -0
- /package/dist/{critique-LU27A765.js.map → critique-ZEI5LKRP.js.map} +0 -0
- /package/dist/{crm-GOE6ZO5N.js.map → crm-U6VZFQXE.js.map} +0 -0
- /package/dist/{crm-NEI6E2T2.js.map → crm-WJEHB25B.js.map} +0 -0
- /package/dist/{crop-2J4RKJ6B.js.map → crop-VHSEIFDS.js.map} +0 -0
- /package/dist/{currency-XCGKQ7FE.js.map → currency-NF2FU3CC.js.map} +0 -0
- /package/dist/{custom-conversions-2VLJGPRV.js.map → custom-conversions-7U726B5N.js.map} +0 -0
- /package/dist/{customers-USB6VCMU.js.map → customers-DTQYG3DK.js.map} +0 -0
- /package/dist/{delete-ONE22VRX.js.map → delete-3NN5OLXC.js.map} +0 -0
- /package/dist/{delete-A5XD52K4.js.map → delete-7QGELVP7.js.map} +0 -0
- /package/dist/{delete-BT7I3EMN.js.map → delete-AKSGJCA7.js.map} +0 -0
- /package/dist/{delete-MRM2S4Z5.js.map → delete-FWK5IEB3.js.map} +0 -0
- /package/dist/{delete-3AV3ARMX.js.map → delete-GGAYVQCP.js.map} +0 -0
- /package/dist/{delete-67XFFHUY.js.map → delete-VF2WIXBE.js.map} +0 -0
- /package/dist/{demographics-R4LCQGDJ.js.map → demographics-UHAL7GNZ.js.map} +0 -0
- /package/dist/{describe-6NVOWIBE.js.map → describe-AMZJUZC2.js.map} +0 -0
- /package/dist/{describe-P3PPIQME.js.map → describe-X2AGFNQV.js.map} +0 -0
- /package/dist/{dimensions-EYAYO27I.js.map → dimensions-S4TU2CRM.js.map} +0 -0
- /package/dist/{discard-BOPTV4V5.js.map → discard-GWMUE6Y6.js.map} +0 -0
- /package/dist/{discover-BJPZNXUQ.js.map → discover-KBRWN46M.js.map} +0 -0
- /package/dist/{domain-B54ILSOO.js.map → domain-4P5QZYGZ.js.map} +0 -0
- /package/dist/{download-7T6HIJKD.js.map → download-PQHC35HZ.js.map} +0 -0
- /package/dist/{draft-KIBMVKSR.js.map → draft-3QBNYCLN.js.map} +0 -0
- /package/dist/{draft-ROERDGSK.js.map → draft-BL3O2SKY.js.map} +0 -0
- /package/dist/{draft-YDY2Q2K6.js.map → draft-BT5ROZHA.js.map} +0 -0
- /package/dist/{draft-BGUJDHXR.js.map → draft-CQFIWAI4.js.map} +0 -0
- /package/dist/{draft-DWSBVJUF.js.map → draft-LJKZKIGZ.js.map} +0 -0
- /package/dist/{draft-J4SGNGGW.js.map → draft-WYHQWQ7L.js.map} +0 -0
- /package/dist/{draft-THPZFASM.js.map → draft-Y54L37PP.js.map} +0 -0
- /package/dist/{draft-5YAYCEYY.js.map → draft-YEKM5KO2.js.map} +0 -0
- /package/dist/{env-KIP2J2UB.js.map → env-XRUPKGOS.js.map} +0 -0
- /package/dist/{experiment-LKK77YAN.js.map → experiment-UKD3HGHR.js.map} +0 -0
- /package/dist/{export-JQRMBJ7D.js.map → export-UIJHWCH7.js.map} +0 -0
- /package/dist/{extract-7QKLME7Z.js.map → extract-Q7JADPFT.js.map} +0 -0
- /package/dist/{facets-FUTIWQXK.js.map → facets-UCUMBB7W.js.map} +0 -0
- /package/dist/{favorites-NSGF4OV5.js.map → favorites-4B45JSTO.js.map} +0 -0
- /package/dist/{feed-RV4KPPXM.js.map → feed-LWG4ES53.js.map} +0 -0
- /package/dist/{feedback-C6CBUUDA.js.map → feedback-NYRZJ22H.js.map} +0 -0
- /package/dist/{feedback-record-FM5MW2YV.js.map → feedback-record-L32GKAUF.js.map} +0 -0
- /package/dist/{fetch-D7JPGEYZ.js.map → fetch-6EBSWT5J.js.map} +0 -0
- /package/dist/{fetch-XF76JABV.js.map → fetch-U5RT2UTZ.js.map} +0 -0
- /package/dist/{find-OTDIX6V4.js.map → find-LXEB42QE.js.map} +0 -0
- /package/dist/{fit-7237F5EB.js.map → fit-RLJDK3MJ.js.map} +0 -0
- /package/dist/{flows-L6BF3TDT.js.map → flows-66JTIAUQ.js.map} +0 -0
- /package/dist/{follow-FN7LV3WV.js.map → follow-KYCYT2NK.js.map} +0 -0
- /package/dist/{follow-competitors-MKXFHLXB.js.map → follow-competitors-ZNK4UOQU.js.map} +0 -0
- /package/dist/{following-RKC2FLHI.js.map → following-KCGR4Q75.js.map} +0 -0
- /package/dist/{fonts-THAAZY7Z.js.map → fonts-ANPZ64PE.js.map} +0 -0
- /package/dist/{forecast-RYYVMNYT.js.map → forecast-3W2HGQKY.js.map} +0 -0
- /package/dist/{funding-NYO65IMT.js.map → funding-IIKMIHNO.js.map} +0 -0
- /package/dist/{funnel-SK7WDPRS.js.map → funnel-KCBBSPTH.js.map} +0 -0
- /package/dist/{ga4-UDQ2HA2J.js.map → ga4-JYOR334L.js.map} +0 -0
- /package/dist/{generate-MMBYB44G.js.map → generate-EO6M7ELE.js.map} +0 -0
- /package/dist/{get-YBIF3H52.js.map → get-7TAWI6HP.js.map} +0 -0
- /package/dist/{get-P743RPSI.js.map → get-ETRXKZD2.js.map} +0 -0
- /package/dist/{get-YIHTAMRT.js.map → get-IOGKAJO3.js.map} +0 -0
- /package/dist/{get-3STPGBX3.js.map → get-JMXFR5ET.js.map} +0 -0
- /package/dist/{get-6WEYKOY6.js.map → get-P6LWZNIO.js.map} +0 -0
- /package/dist/{get-3L6W3E3T.js.map → get-ZAAD2UDM.js.map} +0 -0
- /package/dist/{get-XN5ZGDIK.js.map → get-ZELEFTHV.js.map} +0 -0
- /package/dist/{gif-53ULFVLR.js.map → gif-2QSZZ7ZI.js.map} +0 -0
- /package/dist/{google-M7KEXVK5.js.map → google-LA42DKVM.js.map} +0 -0
- /package/dist/{google-KTO3PLEU.js.map → google-T7OTO7EZ.js.map} +0 -0
- /package/dist/{google-ads-YD7LYWGY.js.map → google-ads-BSKCL3TX.js.map} +0 -0
- /package/dist/{group-EFZ3AJIE.js.map → group-3ESILU6L.js.map} +0 -0
- /package/dist/{group-GKWCCX66.js.map → group-XNALPNXP.js.map} +0 -0
- /package/dist/{gsc-P3QYGDV2.js.map → gsc-TD33QG2D.js.map} +0 -0
- /package/dist/{history-DBIEYQHY.js.map → history-HCH26IOQ.js.map} +0 -0
- /package/dist/{history-RWWBR4TN.js.map → history-OGUNQMVN.js.map} +0 -0
- /package/dist/{hubspot-E65QNOI4.js.map → hubspot-MQKD2N2M.js.map} +0 -0
- /package/dist/{icon-I43F77FV.js.map → icon-KSVSTMTA.js.map} +0 -0
- /package/dist/{ideas-ZB7O7T5I.js.map → ideas-U6CILUXQ.js.map} +0 -0
- /package/dist/{images-U4DKZQTE.js.map → images-L3AWUSHY.js.map} +0 -0
- /package/dist/{improve-BCCU5AS6.js.map → improve-HTJ6A7IL.js.map} +0 -0
- /package/dist/{ingest-MZXGMFA5.js.map → ingest-KHJJGVGT.js.map} +0 -0
- /package/dist/{ingest-ROEMTZMG.js.map → ingest-PVQK5I4U.js.map} +0 -0
- /package/dist/{insights-ZIU6FJMS.js.map → insights-EKN46CXG.js.map} +0 -0
- /package/dist/{insights-NZWSJKU4.js.map → insights-NI3HRT4O.js.map} +0 -0
- /package/dist/{inspect-MCMUJPXU.js.map → inspect-LCDISSUW.js.map} +0 -0
- /package/dist/{inspiration-P265QJ2H.js.map → inspiration-CFMMY3SV.js.map} +0 -0
- /package/dist/{intent-E3UIVZBN.js.map → intent-RM42YHRD.js.map} +0 -0
- /package/dist/{job-L7RJZMSG.js.map → job-YXFA4UYV.js.map} +0 -0
- /package/dist/{job-create-JUDAN52O.js.map → job-create-OIC733SD.js.map} +0 -0
- /package/dist/{job-status-U43WE3RJ.js.map → job-status-K5SQTOXG.js.map} +0 -0
- /package/dist/{keep-55CPC7DG.js.map → keep-DMS273WJ.js.map} +0 -0
- /package/dist/{keyword-gap-BG6M665A.js.map → keyword-gap-P3BHIOM6.js.map} +0 -0
- /package/dist/{keyword-metrics-MLFTDAS4.js.map → keyword-metrics-DU7AT6LB.js.map} +0 -0
- /package/dist/{keywords-for-site-4WUBJNTI.js.map → keywords-for-site-DCUZQMV3.js.map} +0 -0
- /package/dist/{landing-5GDWJN4C.js.map → landing-2FHEISL6.js.map} +0 -0
- /package/dist/{languages-HORKPDNH.js.map → languages-OOIWLDQL.js.map} +0 -0
- /package/dist/{languages-JSGWCC7Z.js.map → languages-ZDXMFCYA.js.map} +0 -0
- /package/dist/{layerize-RPD6SNP6.js.map → layerize-FFHYHOTJ.js.map} +0 -0
- /package/dist/{leads-ARUWPHBM.js.map → leads-6OZFFNI7.js.map} +0 -0
- /package/dist/{leads-LDOOJI5K.js.map → leads-FZFC4GUQ.js.map} +0 -0
- /package/dist/{learn-MMIGRLCP.js.map → learn-KPKDHUPO.js.map} +0 -0
- /package/dist/{library-ARKRLCNJ.js.map → library-3BT6LOX6.js.map} +0 -0
- /package/dist/{lighthouse-6ZC45E53.js.map → lighthouse-OHDSS52L.js.map} +0 -0
- /package/dist/{line-item-writes-LFDWJBQG.js.map → line-item-writes-IQ5GGFJP.js.map} +0 -0
- /package/dist/{line-items-T3EVXB4M.js.map → line-items-HXBU4NVB.js.map} +0 -0
- /package/dist/{link-M5ESAD5Y.js.map → link-QA7CYLKO.js.map} +0 -0
- /package/dist/{linkedin-4FNKZNIR.js.map → linkedin-ZQNIUZCH.js.map} +0 -0
- /package/dist/{list-P7NAFN6J.js.map → list-2KLD6BIX.js.map} +0 -0
- /package/dist/{list-EF6QI4JT.js.map → list-54K7REQ4.js.map} +0 -0
- /package/dist/{list-AL7N6X2P.js.map → list-ASFE2LDI.js.map} +0 -0
- /package/dist/{list-LI4OGQFW.js.map → list-CPW5FSK5.js.map} +0 -0
- /package/dist/{list-FNW254C3.js.map → list-KX7WKHWG.js.map} +0 -0
- /package/dist/{list-7MVBXOJT.js.map → list-SUKMTIFM.js.map} +0 -0
- /package/dist/{list-A5UCIR2J.js.map → list-VWYUWMV2.js.map} +0 -0
- /package/dist/{list-XWUTPJRQ.js.map → list-X3ULWWJJ.js.map} +0 -0
- /package/dist/{locations-74TPQWAT.js.map → locations-F6AAOSLI.js.map} +0 -0
- /package/dist/{locations-J4G5RNPH.js.map → locations-KZVEW7J6.js.map} +0 -0
- /package/dist/{log-5MESJJLM.js.map → log-YSPRTGYC.js.map} +0 -0
- /package/dist/{logo-2IP663QO.js.map → logo-JUQJUHN2.js.map} +0 -0
- /package/dist/{lookup-XK45W2SH.js.map → lookup-ZEFRWV2U.js.map} +0 -0
- /package/dist/{make-ATEHKECL.js.map → make-CRCEDOVA.js.map} +0 -0
- /package/dist/{map-5NONUYFP.js.map → map-W7KVCU5R.js.map} +0 -0
- /package/dist/{mcp-CGITBQQA.js.map → mcp-TSFJWUR6.js.map} +0 -0
- /package/dist/{media-53DJRC4N.js.map → media-KD3BLQZO.js.map} +0 -0
- /package/dist/{media-6CQYG4UY.js.map → media-P7U5M4RS.js.map} +0 -0
- /package/dist/{media-sources-6TFUGPE2.js.map → media-sources-J7UXZ34O.js.map} +0 -0
- /package/dist/{members-R2GQVSVA.js.map → members-YT722A4I.js.map} +0 -0
- /package/dist/{meta-A7KM6TF5.js.map → meta-NJTTWKGW.js.map} +0 -0
- /package/dist/{metrics-SQDJ5NQO.js.map → metrics-3JRK2F5K.js.map} +0 -0
- /package/dist/{models-7U3GRYHF.js.map → models-3Z6MDHQW.js.map} +0 -0
- /package/dist/{normalize-L6WBNGQA.js.map → normalize-BGTSKJ73.js.map} +0 -0
- /package/dist/{normalize-ICQF2AST.js.map → normalize-EJPZ6OSV.js.map} +0 -0
- /package/dist/{options-YT2ZGB2Z.js.map → options-Q2XEZJSH.js.map} +0 -0
- /package/dist/{output-RAH3TSIL.js.map → output-5NZNSC3O.js.map} +0 -0
- /package/dist/{page-GS3WLT2C.js.map → page-YWEDNDHD.js.map} +0 -0
- /package/dist/{pages-FXYQLHSJ.js.map → pages-WHX335W4.js.map} +0 -0
- /package/dist/{performance-52IILAFE.js.map → performance-TFWOPXBM.js.map} +0 -0
- /package/dist/{pinterest-AUH7WBA7.js.map → pinterest-BRDL2KLT.js.map} +0 -0
- /package/dist/{pixels-ZFF4BGUH.js.map → pixels-3LBWIFAX.js.map} +0 -0
- /package/dist/{pixels-45A55MOP.js.map → pixels-CUTHLKU7.js.map} +0 -0
- /package/dist/{preview-AD4GKYIA.js.map → preview-PNCYU3AK.js.map} +0 -0
- /package/dist/{promoted-tweet-writes-QVIKWEIZ.js.map → promoted-tweet-writes-73P5ROX2.js.map} +0 -0
- /package/dist/{promoted-tweets-2AALRV5O.js.map → promoted-tweets-XUDY6Z3Q.js.map} +0 -0
- /package/dist/{properties-L2XIYQDS.js.map → properties-HSFPVQS5.js.map} +0 -0
- /package/dist/{publish-XFLOZAOQ.js.map → publish-4SB3IYLM.js.map} +0 -0
- /package/dist/{query-IEZRY6HV.js.map → query-3YAOEQVH.js.map} +0 -0
- /package/dist/{query-VTGVZQIO.js.map → query-GBQF5CI4.js.map} +0 -0
- /package/dist/{query-SGGBCHTF.js.map → query-RZNLSJZE.js.map} +0 -0
- /package/dist/{read-LSF7DYTG.js.map → read-TH7KVFRW.js.map} +0 -0
- /package/dist/{reddit-HFBAGWNP.js.map → reddit-JBYG2FE4.js.map} +0 -0
- /package/dist/{refresh-INKIU3QV.js.map → refresh-D74XWRSW.js.map} +0 -0
- /package/dist/{release-C2MFXAPJ.js.map → release-UZINDELC.js.map} +0 -0
- /package/dist/{relevant-pages-OWMNUCP7.js.map → relevant-pages-OML2QKYB.js.map} +0 -0
- /package/dist/{remove-6LGGKMLJ.js.map → remove-2453OBHV.js.map} +0 -0
- /package/dist/{remove-JWSVNUJ4.js.map → remove-K4DTZ275.js.map} +0 -0
- /package/dist/{reopen-3GM4OSLZ.js.map → reopen-RWI7QIFS.js.map} +0 -0
- /package/dist/{rerun-FCZRSS3H.js.map → rerun-R5KRUGOP.js.map} +0 -0
- /package/dist/{research-HUMDT7T4.js.map → research-5PFR4B2U.js.map} +0 -0
- /package/dist/{research-EBQ5KWOS.js.map → research-IWZC57ZO.js.map} +0 -0
- /package/dist/{reset-3BEGDSBW.js.map → reset-DJFNQUOY.js.map} +0 -0
- /package/dist/{reset-TVDYP2VK.js.map → reset-R2UQHGQD.js.map} +0 -0
- /package/dist/{resolve-OQKUGWEI.js.map → resolve-PSDWE65U.js.map} +0 -0
- /package/dist/{retry-GUHOWYO2.js.map → retry-7WHXERKG.js.map} +0 -0
- /package/dist/{retry-EJBF6GBJ.js.map → retry-HKWQV3MJ.js.map} +0 -0
- /package/dist/{retry-failed-6HXPUVXJ.js.map → retry-failed-NPAQ3FLC.js.map} +0 -0
- /package/dist/{run-3D6QZC6L.js.map → run-2ZNA6J2W.js.map} +0 -0
- /package/dist/{run-CUUAWKAZ.js.map → run-Q62KF6D7.js.map} +0 -0
- /package/dist/{scaffold-ad-AYKWASWY.js.map → scaffold-ad-LKID2V7A.js.map} +0 -0
- /package/dist/{scaffold-static-ad-IEZEQW4N.js.map → scaffold-static-ad-ZXSLIU6J.js.map} +0 -0
- /package/dist/{scaffold-video-YMN7AJS4.js.map → scaffold-video-M7SIZUQG.js.map} +0 -0
- /package/dist/{schedule-QVYVMRIY.js.map → schedule-OADYTLAY.js.map} +0 -0
- /package/dist/{schedule-O2K6M43V.js.map → schedule-PBU6YW7M.js.map} +0 -0
- /package/dist/{scheduled-agents-CNIGCLAP.js.map → scheduled-agents-TE26M7YK.js.map} +0 -0
- /package/dist/{schema-7UUVQ4RH.js.map → schema-HA6P2YQG.js.map} +0 -0
- /package/dist/{scrape-ETAMW43A.js.map → scrape-3KXWYD6G.js.map} +0 -0
- /package/dist/{screenshot-YCQF25ZB.js.map → screenshot-GQLSIFZM.js.map} +0 -0
- /package/dist/{search-MEEM4D3W.js.map → search-ESWPECSE.js.map} +0 -0
- /package/dist/{search-742XSULP.js.map → search-KAADJZP6.js.map} +0 -0
- /package/dist/{search-UO5KJTYS.js.map → search-LOWGEYYA.js.map} +0 -0
- /package/dist/{search-OQNGSMUH.js.map → search-TL3FSB4K.js.map} +0 -0
- /package/dist/{search-XUGIKFW3.js.map → search-VFRTUYFX.js.map} +0 -0
- /package/dist/{seeds-N6FF5S4T.js.map → seeds-OXKHZSF7.js.map} +0 -0
- /package/dist/{select-LSS7ZJSB.js.map → select-YQQT5ANU.js.map} +0 -0
- /package/dist/{sends-WGJVQUMF.js.map → sends-DBJJS6CF.js.map} +0 -0
- /package/dist/{sequences-OIPVR7JL.js.map → sequences-AULXZXNG.js.map} +0 -0
- /package/dist/{set-prompt-P3WR2TZX.js.map → set-prompt-ZMHIZQTR.js.map} +0 -0
- /package/dist/{setup-links-4VILWID2.js.map → setup-links-GBATD4PG.js.map} +0 -0
- /package/dist/{shared-HJDFNID4.js.map → shared-CBVZOAC6.js.map} +0 -0
- /package/dist/{site-TLJVSZQF.js.map → site-7SFR7XYE.js.map} +0 -0
- /package/dist/{sitemaps-POPZJTAX.js.map → sitemaps-Q5OL766P.js.map} +0 -0
- /package/dist/{sites-262H6LM4.js.map → sites-LBB7FYB7.js.map} +0 -0
- /package/dist/{skills-6TQZLIMP.js.map → skills-AFGQPAJM.js.map} +0 -0
- /package/dist/{sources-4MKBWFWG.js.map → sources-NF54XU6I.js.map} +0 -0
- /package/dist/{sources-7FCRKPXJ.js.map → sources-TRXVSDPD.js.map} +0 -0
- /package/dist/{stale-7VJECYYJ.js.map → stale-HYKS2PPU.js.map} +0 -0
- /package/dist/{stats-NNXZMPZR.js.map → stats-TBSQYXYQ.js.map} +0 -0
- /package/dist/{status-WZKAKUG4.js.map → status-MHIIGLPU.js.map} +0 -0
- /package/dist/{sticker-4KMBSMP5.js.map → sticker-FWUSN6JM.js.map} +0 -0
- /package/dist/{stock-2YCDN3N6.js.map → stock-YDKCFK2T.js.map} +0 -0
- /package/dist/{studio-C5K3YX3P.js.map → studio-J5NEBKQJ.js.map} +0 -0
- /package/dist/{sync-DEWLEMTT.js.map → sync-5TISBZI4.js.map} +0 -0
- /package/dist/{sync-CF7FVUQJ.js.map → sync-F4PVZ7CW.js.map} +0 -0
- /package/dist/{sync-ZSNUBYPM.js.map → sync-HTZY6NTC.js.map} +0 -0
- /package/dist/{sync-definition-ARIX5XWM.js.map → sync-definition-2XQ6BMHZ.js.map} +0 -0
- /package/dist/{tag-manager-DYZUOIAS.js.map → tag-manager-PA7WVPSI.js.map} +0 -0
- /package/dist/{tags-RBB4TU7U.js.map → tags-3JBCQANC.js.map} +0 -0
- /package/dist/{tags-O76MDVID.js.map → tags-43HIN2GG.js.map} +0 -0
- /package/dist/{tags-ANV54THE.js.map → tags-FKRA2KER.js.map} +0 -0
- /package/dist/{tags-V5FR3DYU.js.map → tags-RCSKEKZZ.js.map} +0 -0
- /package/dist/{tags-IWN3QPK5.js.map → tags-SWODCV76.js.map} +0 -0
- /package/dist/{targeting-constants-XJ2VOW7K.js.map → targeting-constants-6LYEQCAL.js.map} +0 -0
- /package/dist/{targeting-criteria-6IOXVE4K.js.map → targeting-criteria-POGVFRVS.js.map} +0 -0
- /package/dist/{targets-FFLV6OMF.js.map → targets-AVRD4K2G.js.map} +0 -0
- /package/dist/{templates-Y3ZLB7MK.js.map → templates-KVCEF57L.js.map} +0 -0
- /package/dist/{testimonials-FCYS4NKB.js.map → testimonials-WSYOYJWC.js.map} +0 -0
- /package/dist/{top-companies-BL4F7OPI.js.map → top-companies-NLLXVJVA.js.map} +0 -0
- /package/dist/{translate-GGONJG62.js.map → translate-UMSCDGMJ.js.map} +0 -0
- /package/dist/{triggers-6Q3YRHZS.js.map → triggers-GDKTZ6CX.js.map} +0 -0
- /package/dist/{tweets-ATP3FQAC.js.map → tweets-DUZH63HH.js.map} +0 -0
- /package/dist/{unfollow-CBVPGPF7.js.map → unfollow-YCU6FTS7.js.map} +0 -0
- /package/dist/{unlink-WDSOVBFL.js.map → unlink-2DIBCISU.js.map} +0 -0
- /package/dist/{unstage-4ZEULXEQ.js.map → unstage-CLWNA4FZ.js.map} +0 -0
- /package/dist/{unstage-JYJIKPB5.js.map → unstage-N2YSE3OA.js.map} +0 -0
- /package/dist/{update-FUYXN33G.js.map → update-2HF2HZUM.js.map} +0 -0
- /package/dist/{update-WSG6RVFX.js.map → update-5CXDJZMD.js.map} +0 -0
- /package/dist/{update-IXSCDBM4.js.map → update-QCIOMFGB.js.map} +0 -0
- /package/dist/{update-CWZVKOUB.js.map → update-XZEAGBXC.js.map} +0 -0
- /package/dist/{upload-L5SYZB3X.js.map → upload-2MGQVTU4.js.map} +0 -0
- /package/dist/{upload-CKV2XS3G.js.map → upload-AO56MYRF.js.map} +0 -0
- /package/dist/{upscale-YWRLFU22.js.map → upscale-P7B4CAR7.js.map} +0 -0
- /package/dist/{url-options-GGXAL3J4.js.map → url-options-HH5BLRTO.js.map} +0 -0
- /package/dist/{url-params-UJSNI4XC.js.map → url-params-VKERUMRM.js.map} +0 -0
- /package/dist/{use-UT2DIZOG.js.map → use-USVRQKJC.js.map} +0 -0
- /package/dist/{validate-FSFELDFZ.js.map → validate-3BPOPG3F.js.map} +0 -0
- /package/dist/{variant-FLZJYGYL.js.map → variant-UFUGNBV3.js.map} +0 -0
- /package/dist/{videos-FAKURRTG.js.map → videos-ASCF36M6.js.map} +0 -0
- /package/dist/{view-NPAG66QK.js.map → view-HMNRFBZM.js.map} +0 -0
- /package/dist/{viewer-check-45T2HLAH.js.map → viewer-check-JRSF6SOO.js.map} +0 -0
- /package/dist/{web-RRGHSAFY.js.map → web-C43J66RW.js.map} +0 -0
- /package/dist/{winners-I5BMATJZ.js.map → winners-S75G5IY6.js.map} +0 -0
- /package/dist/{write-commands-ERKVRHTC.js.map → write-commands-4TNOL7RI.js.map} +0 -0
- /package/dist/{write-commands-TAG7DQKT.js.map → write-commands-FNKH7UQR.js.map} +0 -0
- /package/dist/{write-commands-CT74VHH6.js.map → write-commands-FRH4UWLN.js.map} +0 -0
- /package/dist/{write-commands-WTRSOSO3.js.map → write-commands-NVWMNI2Q.js.map} +0 -0
- /package/dist/{x-FBWHL3PL.js.map → x-E3PLB3NR.js.map} +0 -0
|
@@ -0,0 +1,610 @@
|
|
|
1
|
+
import {
|
|
2
|
+
hasOpenRouterKey,
|
|
3
|
+
openRouterKey
|
|
4
|
+
} from "./chunk-UW36KPPH.js";
|
|
5
|
+
|
|
6
|
+
// src/engine/nodes/local/lib/render-review.ts
|
|
7
|
+
import { execFile } from "child_process";
|
|
8
|
+
import { mkdtemp, readdir, readFile, rm } from "fs/promises";
|
|
9
|
+
import { tmpdir } from "os";
|
|
10
|
+
import path from "path";
|
|
11
|
+
import { promisify } from "util";
|
|
12
|
+
import { z } from "zod";
|
|
13
|
+
var RENDER_REVIEW_MODEL = "~google/gemini-pro-latest";
|
|
14
|
+
var RENDER_REVIEW_FRAMES = 12;
|
|
15
|
+
var RENDER_REVIEW_WIDTH = 1024;
|
|
16
|
+
var RENDER_WATCH_MODEL = "~google/gemini-flash-latest";
|
|
17
|
+
function usageFrom(model, body) {
|
|
18
|
+
const usage = body?.usage;
|
|
19
|
+
if (!usage) return null;
|
|
20
|
+
const positive = (value) => typeof value === "number" && Number.isFinite(value) && value > 0 ? value : null;
|
|
21
|
+
return {
|
|
22
|
+
model,
|
|
23
|
+
inputTokens: usage.prompt_tokens ?? 0,
|
|
24
|
+
outputTokens: usage.completion_tokens ?? 0,
|
|
25
|
+
costUsd: positive(usage.cost) ?? positive(usage.cost_details?.upstream_inference_cost) ?? 0
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
var WATCH_MAX_BYTES = 60 * 1024 * 1024;
|
|
29
|
+
var STATIC_REVIEW_ITEMS = [
|
|
30
|
+
"text",
|
|
31
|
+
"logo",
|
|
32
|
+
"layout",
|
|
33
|
+
"safe_zone",
|
|
34
|
+
"picture",
|
|
35
|
+
"subject",
|
|
36
|
+
"person",
|
|
37
|
+
"people",
|
|
38
|
+
"one_idea",
|
|
39
|
+
"thumbnail",
|
|
40
|
+
"concept",
|
|
41
|
+
"viewer",
|
|
42
|
+
"proof",
|
|
43
|
+
"sizes",
|
|
44
|
+
"native",
|
|
45
|
+
"other"
|
|
46
|
+
];
|
|
47
|
+
var FINDING_ELEMENTS = ["copy", "button", "logo", "scene_text", "picture", "other"];
|
|
48
|
+
var FINDING_DEFECTS = ["cut", "missing", "unreadable", "other"];
|
|
49
|
+
var FRAME_EDGES = ["top", "bottom", "left", "right"];
|
|
50
|
+
function sceneAt(windows, atS) {
|
|
51
|
+
return windows.find((w) => atS >= w.startS && atS < w.endS)?.file;
|
|
52
|
+
}
|
|
53
|
+
function reviewFrameTimes(durationS, frames) {
|
|
54
|
+
const n = Math.max(2, frames);
|
|
55
|
+
const last = Math.max(0, durationS - 0.15);
|
|
56
|
+
const step = last / (n - 1);
|
|
57
|
+
return Array.from({ length: n }, (_, i) => Math.round(i * step * 100) / 100);
|
|
58
|
+
}
|
|
59
|
+
function buildFrameGrabArgs(video, atS, out) {
|
|
60
|
+
return [
|
|
61
|
+
"-v",
|
|
62
|
+
"error",
|
|
63
|
+
"-ss",
|
|
64
|
+
String(atS),
|
|
65
|
+
"-i",
|
|
66
|
+
video,
|
|
67
|
+
"-frames:v",
|
|
68
|
+
"1",
|
|
69
|
+
"-vf",
|
|
70
|
+
`scale=${RENDER_REVIEW_WIDTH}:-2`,
|
|
71
|
+
out,
|
|
72
|
+
"-y"
|
|
73
|
+
];
|
|
74
|
+
}
|
|
75
|
+
var FrameReview = z.object({
|
|
76
|
+
/** Something in shot that could not happen, or is being done wrong. */
|
|
77
|
+
impossible: z.array(z.string()).default([]),
|
|
78
|
+
/** Objects present in frame that belong to no part of the scene. */
|
|
79
|
+
strays: z.array(z.string()).default([])
|
|
80
|
+
});
|
|
81
|
+
var ReelReview = z.object({
|
|
82
|
+
/** Whether the people the script treats as one person stay one person. */
|
|
83
|
+
cast_is_consistent: z.boolean().default(true),
|
|
84
|
+
cast_note: z.string().default(""),
|
|
85
|
+
/** Whether the advertiser's mark is visible anywhere. */
|
|
86
|
+
brand_mark_visible: z.boolean().default(false),
|
|
87
|
+
/** Whether the last frames close the ad rather than trailing off. */
|
|
88
|
+
ends_on_a_close: z.boolean().default(false),
|
|
89
|
+
ending_note: z.string().default(""),
|
|
90
|
+
/** Whether the ad ever cuts away from the presenter to show anything. */
|
|
91
|
+
shows_more_than_a_face: z.boolean().default(true),
|
|
92
|
+
shows_note: z.string().default("")
|
|
93
|
+
});
|
|
94
|
+
function buildFrameReviewPrompt(opts) {
|
|
95
|
+
const subject = opts.subject ? ` The advertiser is ${opts.subject}.` : "";
|
|
96
|
+
return `This is ONE frame from a video advertisement.${subject}
|
|
97
|
+
|
|
98
|
+
Answer only about what is visible in THIS frame. Do not judge whether the ad is good, and do not comment on style, mood or lighting.
|
|
99
|
+
|
|
100
|
+
1. IMPOSSIBLE OR WRONG. Is anything shown that could not physically happen, or that shows the job being done incorrectly? Judge the PROCEDURE, not only the physics: equipment resting where it would never rest, a component fitted to nothing, someone handling a part in a way that would damage it, an object at the wrong scale beside a person, a body with a limb missing or duplicated.
|
|
101
|
+
2. STRAYS. Is any object present that belongs to no part of the scene \u2014 floating, unattached, or cut off from whatever should hold it?
|
|
102
|
+
|
|
103
|
+
Report only what you can actually see. An empty list is the right answer for a clean frame. Keep each item under twelve words.
|
|
104
|
+
|
|
105
|
+
Reply with only this JSON: {"impossible":[],"strays":[]}`;
|
|
106
|
+
}
|
|
107
|
+
function buildReelReviewPrompt(opts) {
|
|
108
|
+
const subject = opts.subject ? ` The advertiser is ${opts.subject}.` : "";
|
|
109
|
+
const script = opts.script ? `
|
|
110
|
+
|
|
111
|
+
The voiceover says, in order:
|
|
112
|
+
${opts.script}` : "";
|
|
113
|
+
return `These frames are sampled in order from one video advertisement.${subject}` + script + `
|
|
114
|
+
|
|
115
|
+
Answer only about what is visible.
|
|
116
|
+
|
|
117
|
+
1. CAST. Do the people stay the same people? If the script speaks about one customer and the frames show different faces in that role, say so and count them.
|
|
118
|
+
2. BRAND. Is the advertiser's logo or wordmark visible in ANY frame? Answer yes only if you can actually see a mark \u2014 a colour is not a mark.
|
|
119
|
+
3. ENDING. Do the final frames close the advertisement \u2014 a call to action, a mark, a card \u2014 or does the picture simply carry on and stop?
|
|
120
|
+
4. WHAT IT SHOWS. Does the advertisement ever cut away from the person to show the thing it is selling, or its result? Answer false if every frame is the same person with only the framing changed, and nothing is ever shown.
|
|
121
|
+
|
|
122
|
+
Reply with only this JSON:
|
|
123
|
+
{"cast_is_consistent":true,"cast_note":"","brand_mark_visible":false,"ends_on_a_close":false,"ending_note":"","shows_more_than_a_face":true,"shows_note":""}`;
|
|
124
|
+
}
|
|
125
|
+
function parseReviewJson(raw) {
|
|
126
|
+
const fenced = raw.match(/```(?:json)?\s*([\s\S]*?)```/);
|
|
127
|
+
const body = (fenced?.[1] ?? raw).trim();
|
|
128
|
+
const start = body.indexOf("{");
|
|
129
|
+
const end = body.lastIndexOf("}");
|
|
130
|
+
if (start === -1 || end === -1 || end < start) return null;
|
|
131
|
+
try {
|
|
132
|
+
return JSON.parse(body.slice(start, end + 1));
|
|
133
|
+
} catch {
|
|
134
|
+
return null;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
var normalise = (s) => s.toLowerCase().replace(/[^a-z0-9 ]/g, " ").replace(/\s+/g, " ").trim();
|
|
138
|
+
var ANATOMY = /\b(finger|fingers|hand|hands|thumb|limb|leg|legs|arm|arms|foot|feet|anatomy)\b/i;
|
|
139
|
+
function collapseRepeats(frames) {
|
|
140
|
+
const seen = /* @__PURE__ */ new Map();
|
|
141
|
+
for (const frame of frames) {
|
|
142
|
+
const parsed = FrameReview.safeParse(frame.json);
|
|
143
|
+
if (!parsed.success) continue;
|
|
144
|
+
for (const item of [...parsed.data.impossible, ...parsed.data.strays]) {
|
|
145
|
+
const text = item.trim();
|
|
146
|
+
const key = normalise(text);
|
|
147
|
+
if (!key) continue;
|
|
148
|
+
const hit = seen.get(key);
|
|
149
|
+
if (hit) hit.at.push(frame.at);
|
|
150
|
+
else seen.set(key, { what: text, at: [frame.at] });
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
return [...seen.values()];
|
|
154
|
+
}
|
|
155
|
+
function classifyFrameFindings(frames, windows = []) {
|
|
156
|
+
const seen = collapseRepeats(frames);
|
|
157
|
+
const anatomy = seen.filter((f) => ANATOMY.test(f.what));
|
|
158
|
+
const rest = seen.filter((f) => !ANATOMY.test(f.what));
|
|
159
|
+
const findings = rest.map((f) => {
|
|
160
|
+
const scene = sceneAt(windows, f.at[0]);
|
|
161
|
+
return {
|
|
162
|
+
severity: "blocking",
|
|
163
|
+
what: `At ${f.at.map((s) => `${s}s`).join(", ")}${scene ? ` (${scene})` : ""}: ${f.what}`,
|
|
164
|
+
...scene ? { scene } : {}
|
|
165
|
+
};
|
|
166
|
+
});
|
|
167
|
+
if (anatomy.length > 0) {
|
|
168
|
+
const at = [...new Set(anatomy.flatMap((f) => f.at))].sort((a, b) => a - b);
|
|
169
|
+
findings.push({
|
|
170
|
+
severity: "blocking",
|
|
171
|
+
what: `Malformed hands or limbs in ${at.length} of ${frames.length} sampled frames (${at.map((s) => `${s}s${sceneAt(windows, s) ? ` \u2192 ${sceneAt(windows, s)}` : ""}`).join(", ")}): ${anatomy.map((f) => f.what).join(" ")} Re-render those beats \u2014 keep hands out of frame, or away from the object being held.`
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
return findings;
|
|
175
|
+
}
|
|
176
|
+
function buildWatchReviewPrompt(opts) {
|
|
177
|
+
const market = opts.market?.trim();
|
|
178
|
+
return `Watch and LISTEN to this advertisement, then answer about the things that only exist in motion and in sound.
|
|
179
|
+
1. SPOKEN VARIETY. ${market ? `The ad is set in ${market}. ` : ""}Does the speaker's accent belong there? Quote the words you heard that show it \u2014 a phonetic marker beats an impression.
|
|
180
|
+
2. VOICE AND MOUTH. Does the voice belong to the mouth on screen, in timing and in person?
|
|
181
|
+
3. CUTS. Do the shot changes hold, or does something jump, repeat or stutter between them?
|
|
182
|
+
4. DEFECTS. List anything else wrong, each with the exact timestamp where it happens \u2014 a moment maps to the shot that produced it, and a defect without one is a complaint rather than an instruction.
|
|
183
|
+
Answer JSON only: {"spoken_variety_matches":true|false,"variety_note":"...","voice_matches_mouth":true|false,"mouth_note":"...","cuts_are_clean":true|false,"cuts_note":"...","defects":[{"at":"MM:SS.s","kind":"cut|lipsync|audio|visual","what":"..."}]}`;
|
|
184
|
+
}
|
|
185
|
+
var WatchReview = z.object({
|
|
186
|
+
spoken_variety_matches: z.boolean(),
|
|
187
|
+
variety_note: z.string().default(""),
|
|
188
|
+
voice_matches_mouth: z.boolean(),
|
|
189
|
+
mouth_note: z.string().default(""),
|
|
190
|
+
cuts_are_clean: z.boolean(),
|
|
191
|
+
cuts_note: z.string().default("")
|
|
192
|
+
});
|
|
193
|
+
var WatchDefects = z.object({
|
|
194
|
+
defects: z.array(
|
|
195
|
+
z.object({
|
|
196
|
+
at: z.string().default(""),
|
|
197
|
+
kind: z.string().default(""),
|
|
198
|
+
what: z.string().default("")
|
|
199
|
+
})
|
|
200
|
+
).default([])
|
|
201
|
+
});
|
|
202
|
+
function parseMoment(at) {
|
|
203
|
+
const trimmed = at.trim();
|
|
204
|
+
const clock = /^(\d+):(\d+(?:\.\d+)?)$/.exec(trimmed);
|
|
205
|
+
if (clock) return Number(clock[1]) * 60 + Number(clock[2]);
|
|
206
|
+
const plain = Number(trimmed.replace(/s$/i, ""));
|
|
207
|
+
return Number.isFinite(plain) ? plain : null;
|
|
208
|
+
}
|
|
209
|
+
function classifyWatchDefects(json, windows) {
|
|
210
|
+
const parsed = WatchDefects.safeParse(json);
|
|
211
|
+
if (!parsed.success) return [];
|
|
212
|
+
return parsed.data.defects.filter((d) => d.what.trim()).map((d) => {
|
|
213
|
+
const at = parseMoment(d.at);
|
|
214
|
+
const scene = at === null ? void 0 : sceneAt(windows, at);
|
|
215
|
+
const when = d.at.trim() ? ` at ${d.at.trim()}` : "";
|
|
216
|
+
return {
|
|
217
|
+
severity: "warning",
|
|
218
|
+
what: `${d.what.trim()}${when}${d.kind.trim() ? ` (${d.kind.trim()})` : ""}.`,
|
|
219
|
+
...scene ? { scene } : {}
|
|
220
|
+
};
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
var FidelityReview = z.object({
|
|
224
|
+
delivers_the_ask: z.boolean(),
|
|
225
|
+
missing: z.array(z.string()).default([]),
|
|
226
|
+
contradicted: z.array(z.string()).default([])
|
|
227
|
+
});
|
|
228
|
+
function buildFidelityPrompt(brief) {
|
|
229
|
+
return `Someone asked for an advertisement in these words:
|
|
230
|
+
|
|
231
|
+
"""${brief.trim()}"""
|
|
232
|
+
|
|
233
|
+
Watch and LISTEN to the video, then answer only this: does it deliver what they asked for? Judge the request as it was written \u2014 not what would make a good ad, and not what you would have made. Two lists: what they asked for that is NOT in the video, and what the video does that CONTRADICTS what they asked for. Quote their own words in each entry so the answer can be checked. Empty lists when it delivers.
|
|
234
|
+
Answer JSON only: {"delivers_the_ask":true|false,"missing":["..."],"contradicted":["..."]}`;
|
|
235
|
+
}
|
|
236
|
+
function classifyFidelityFindings(json) {
|
|
237
|
+
const parsed = FidelityReview.safeParse(json);
|
|
238
|
+
if (!parsed.success) return [];
|
|
239
|
+
const r = parsed.data;
|
|
240
|
+
if (r.delivers_the_ask) return [];
|
|
241
|
+
return [...r.missing, ...r.contradicted].map((entry) => entry.trim()).filter(Boolean).map((what) => ({ severity: "blocking", what: `Not what was asked for: ${what}.` }));
|
|
242
|
+
}
|
|
243
|
+
function classifyWatchFindings(json) {
|
|
244
|
+
const parsed = WatchReview.safeParse(json);
|
|
245
|
+
if (!parsed.success) return [];
|
|
246
|
+
const r = parsed.data;
|
|
247
|
+
const findings = [];
|
|
248
|
+
if (!r.spoken_variety_matches) {
|
|
249
|
+
findings.push({
|
|
250
|
+
severity: "blocking",
|
|
251
|
+
what: `The voice speaks the wrong variety of the language${r.variety_note.trim() ? `: ${r.variety_note.trim()}` : ""}. A pinned voice cannot fix this \u2014 the re-voicing is speech-to-speech and carries the accent across, so state the market on the ad and let the clip prompt name the accent.`
|
|
252
|
+
});
|
|
253
|
+
}
|
|
254
|
+
if (!r.voice_matches_mouth) {
|
|
255
|
+
findings.push({
|
|
256
|
+
severity: "blocking",
|
|
257
|
+
what: `The voice does not match the mouth${r.mouth_note.trim() ? `: ${r.mouth_note.trim()}` : ""}. A person visibly speaking under a track that is not theirs reads as bad dubbing.`
|
|
258
|
+
});
|
|
259
|
+
}
|
|
260
|
+
if (!r.cuts_are_clean) {
|
|
261
|
+
findings.push({
|
|
262
|
+
severity: "warning",
|
|
263
|
+
what: `The cuts do not hold${r.cuts_note.trim() ? `: ${r.cuts_note.trim()}` : ""}.`
|
|
264
|
+
});
|
|
265
|
+
}
|
|
266
|
+
return findings;
|
|
267
|
+
}
|
|
268
|
+
function classifyReelFindings(json) {
|
|
269
|
+
const parsed = ReelReview.safeParse(json);
|
|
270
|
+
if (!parsed.success) return [];
|
|
271
|
+
const r = parsed.data;
|
|
272
|
+
const findings = [];
|
|
273
|
+
if (!r.cast_is_consistent) {
|
|
274
|
+
findings.push({
|
|
275
|
+
severity: "blocking",
|
|
276
|
+
what: `The cast changes between shots${r.cast_note.trim() ? `: ${r.cast_note.trim()}` : ""}. One customer played by several faces reads as stock footage. Ground the frames on one identity (\`baker avatars\`) or write the beats so the subject is never the same person twice.`
|
|
277
|
+
});
|
|
278
|
+
}
|
|
279
|
+
if (!r.brand_mark_visible) {
|
|
280
|
+
findings.push({
|
|
281
|
+
severity: "warning",
|
|
282
|
+
what: "No brand mark is visible in any frame. THIS IS NOT A RE-RENDER: the mark is drawn by the caption composition as an ordinary `<img>`, never generated as a picture \u2014 so fix the mark itself (a bad path, or an SVG whose geometry clips its own wordmark) or the `.brand-mark` / `.endcard-logo` rules in `<composition>/index.html`, then re-run. Every clip comes back from the cache and only the composition pass renders again, so it costs seconds and no generation."
|
|
283
|
+
});
|
|
284
|
+
}
|
|
285
|
+
if (!r.shows_more_than_a_face) {
|
|
286
|
+
findings.push({
|
|
287
|
+
severity: "blocking",
|
|
288
|
+
what: `The ad never shows what it is selling${r.shows_note.trim() ? `: ${r.shows_note.trim()}` : ""} \u2014 every frame is the same person with only the framing changed. Give the middle beats their own picture (the bill, the roof, the install, the house) and set \`cast: false\` on them.`
|
|
289
|
+
});
|
|
290
|
+
}
|
|
291
|
+
if (!r.ends_on_a_close) {
|
|
292
|
+
findings.push({
|
|
293
|
+
severity: "warning",
|
|
294
|
+
what: `The video does not close${r.ending_note.trim() ? `: ${r.ending_note.trim()}` : ""} \u2014 it runs on and stops. Give the last beat a call to action, and keep its shot short enough that the picture ends with the read.`
|
|
295
|
+
});
|
|
296
|
+
}
|
|
297
|
+
return findings;
|
|
298
|
+
}
|
|
299
|
+
function videoPathFromOutput(output) {
|
|
300
|
+
const refs = Array.isArray(output) ? output : [output];
|
|
301
|
+
let found = null;
|
|
302
|
+
for (const ref of refs) {
|
|
303
|
+
const r = ref;
|
|
304
|
+
if (!r || typeof r !== "object") continue;
|
|
305
|
+
const isVideo = r.kind === "video" || typeof r.mime === "string" && r.mime.startsWith("video/");
|
|
306
|
+
if (isVideo && typeof r.path === "string" && r.path) found = r.path;
|
|
307
|
+
}
|
|
308
|
+
return found;
|
|
309
|
+
}
|
|
310
|
+
function parseVolume(volumedetect, key) {
|
|
311
|
+
const raw = new RegExp(`${key}:\\s*(-?(?:inf|[\\d.]+)) dB`).exec(volumedetect)?.[1];
|
|
312
|
+
if (raw === void 0) return Number.NaN;
|
|
313
|
+
if (raw === "-inf") return Number.NEGATIVE_INFINITY;
|
|
314
|
+
return Number.parseFloat(raw);
|
|
315
|
+
}
|
|
316
|
+
function classifyAudio(volumedetect, hasAudioStream) {
|
|
317
|
+
if (!hasAudioStream) {
|
|
318
|
+
return [
|
|
319
|
+
{
|
|
320
|
+
severity: "blocking",
|
|
321
|
+
what: "The finished video has no audio track at all \u2014 no voice, no music, nothing. An ad that plays silent in a feed is not an ad."
|
|
322
|
+
}
|
|
323
|
+
];
|
|
324
|
+
}
|
|
325
|
+
const mean = parseVolume(volumedetect, "mean_volume");
|
|
326
|
+
const max = parseVolume(volumedetect, "max_volume");
|
|
327
|
+
const findings = [];
|
|
328
|
+
if (mean === Number.NEGATIVE_INFINITY || max === Number.NEGATIVE_INFINITY) {
|
|
329
|
+
return [
|
|
330
|
+
{
|
|
331
|
+
severity: "blocking",
|
|
332
|
+
what: "The finished video has an audio track, but it is completely silent \u2014 digital zero from start to end. An ad that plays silent in a feed is not an ad."
|
|
333
|
+
}
|
|
334
|
+
];
|
|
335
|
+
}
|
|
336
|
+
if (Number.isFinite(mean) && mean < -30) {
|
|
337
|
+
findings.push({
|
|
338
|
+
severity: "warning",
|
|
339
|
+
what: `The mix is very quiet (${mean} dB average). On a phone at half volume this is close to silence \u2014 check the music bed is not ducked into nothing under the voice.`
|
|
340
|
+
});
|
|
341
|
+
}
|
|
342
|
+
if (Number.isFinite(max) && max > -0.5) {
|
|
343
|
+
findings.push({
|
|
344
|
+
severity: "warning",
|
|
345
|
+
what: `The mix peaks at ${max} dB, which is at or over the ceiling \u2014 the voice will distort on a phone speaker. Bring the loudest track down a few dB.`
|
|
346
|
+
});
|
|
347
|
+
}
|
|
348
|
+
return findings;
|
|
349
|
+
}
|
|
350
|
+
var RENDER_REVIEW_UNAVAILABLE = "The render was NOT reviewed \u2014 no model gateway key in this environment. Watch it yourself before sending it on.";
|
|
351
|
+
var REVIEW_CONCURRENCY = 3;
|
|
352
|
+
async function mapWithLimit(items, limit, fn) {
|
|
353
|
+
const out = new Array(items.length);
|
|
354
|
+
let next = 0;
|
|
355
|
+
await Promise.all(
|
|
356
|
+
Array.from({ length: Math.min(limit, items.length) }, async () => {
|
|
357
|
+
for (let i = next++; i < items.length; i = next++) {
|
|
358
|
+
out[i] = await fn(items[i]);
|
|
359
|
+
}
|
|
360
|
+
})
|
|
361
|
+
);
|
|
362
|
+
return out;
|
|
363
|
+
}
|
|
364
|
+
var execFileAsync = promisify(execFile);
|
|
365
|
+
async function measureAudio(video) {
|
|
366
|
+
const streams = await execFileAsync(
|
|
367
|
+
"ffprobe",
|
|
368
|
+
["-v", "error", "-select_streams", "a", "-show_entries", "stream=codec_type", "-of", "csv=p=0", video],
|
|
369
|
+
{ timeout: 2e4 }
|
|
370
|
+
).catch(() => null);
|
|
371
|
+
if (!streams) return [];
|
|
372
|
+
const hasAudio = streams.stdout.trim().length > 0;
|
|
373
|
+
if (!hasAudio) return classifyAudio("", false);
|
|
374
|
+
const vol = await execFileAsync("ffmpeg", ["-i", video, "-map", "0:a:0", "-af", "volumedetect", "-f", "null", "-"], {
|
|
375
|
+
timeout: 12e4,
|
|
376
|
+
maxBuffer: 8 * 1024 * 1024
|
|
377
|
+
}).catch((e) => ({ stdout: "", stderr: e.stderr ?? "" }));
|
|
378
|
+
return classifyAudio(vol.stderr ?? "", true);
|
|
379
|
+
}
|
|
380
|
+
async function videoDuration(video) {
|
|
381
|
+
try {
|
|
382
|
+
const { stdout } = await execFileAsync(
|
|
383
|
+
"ffprobe",
|
|
384
|
+
["-v", "error", "-show_entries", "format=duration", "-of", "default=nw=1:nk=1", video],
|
|
385
|
+
{ timeout: 2e4 }
|
|
386
|
+
);
|
|
387
|
+
const seconds = Number.parseFloat(stdout.trim());
|
|
388
|
+
return Number.isFinite(seconds) && seconds > 0 ? seconds : null;
|
|
389
|
+
} catch {
|
|
390
|
+
return null;
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
async function askGateway(model, parts, timeoutMs, spent, reasoning, extra = {}) {
|
|
394
|
+
const key = openRouterKey();
|
|
395
|
+
if (!key) return null;
|
|
396
|
+
try {
|
|
397
|
+
const response = await fetch("https://openrouter.ai/api/v1/chat/completions", {
|
|
398
|
+
method: "POST",
|
|
399
|
+
headers: { "content-type": "application/json", authorization: `Bearer ${key}` },
|
|
400
|
+
body: JSON.stringify({
|
|
401
|
+
model,
|
|
402
|
+
messages: [{ role: "user", content: parts }],
|
|
403
|
+
usage: { include: true },
|
|
404
|
+
...reasoning ? { reasoning } : {},
|
|
405
|
+
...extra
|
|
406
|
+
}),
|
|
407
|
+
signal: AbortSignal.timeout(timeoutMs)
|
|
408
|
+
});
|
|
409
|
+
if (!response.ok) return null;
|
|
410
|
+
const body = await response.json();
|
|
411
|
+
const usage = usageFrom(model, body);
|
|
412
|
+
if (usage) spent(usage);
|
|
413
|
+
const text = body.choices?.[0]?.message?.content;
|
|
414
|
+
return text ? parseReviewJson(text) : null;
|
|
415
|
+
} catch {
|
|
416
|
+
return null;
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
async function askVideo(video, prompt, spent) {
|
|
420
|
+
let bytes;
|
|
421
|
+
try {
|
|
422
|
+
bytes = await readFile(video);
|
|
423
|
+
} catch {
|
|
424
|
+
return null;
|
|
425
|
+
}
|
|
426
|
+
if (bytes.byteLength > WATCH_MAX_BYTES) return null;
|
|
427
|
+
return await askGateway(
|
|
428
|
+
RENDER_WATCH_MODEL,
|
|
429
|
+
[
|
|
430
|
+
{ type: "text", text: prompt },
|
|
431
|
+
{ type: "video_url", video_url: { url: `data:video/mp4;base64,${bytes.toString("base64")}` } }
|
|
432
|
+
],
|
|
433
|
+
6e5,
|
|
434
|
+
spent
|
|
435
|
+
);
|
|
436
|
+
}
|
|
437
|
+
async function ask(images, prompt, spent) {
|
|
438
|
+
return await askGateway(
|
|
439
|
+
RENDER_REVIEW_MODEL,
|
|
440
|
+
[
|
|
441
|
+
{ type: "text", text: prompt },
|
|
442
|
+
...images.map(
|
|
443
|
+
(b64) => ({ type: "image_url", image_url: { url: `data:image/jpeg;base64,${b64}` } })
|
|
444
|
+
)
|
|
445
|
+
],
|
|
446
|
+
18e4,
|
|
447
|
+
spent
|
|
448
|
+
);
|
|
449
|
+
}
|
|
450
|
+
async function askAboutStills(images, prompt, onSpend) {
|
|
451
|
+
if (!hasOpenRouterKey()) return null;
|
|
452
|
+
return await ask(images, prompt, (usage) => onSpend?.(usage));
|
|
453
|
+
}
|
|
454
|
+
async function askAboutImages(model, images, prompt, onSpend, timeoutMs = 6e4, reasoning) {
|
|
455
|
+
if (!hasOpenRouterKey()) return null;
|
|
456
|
+
return await askGateway(
|
|
457
|
+
model,
|
|
458
|
+
[
|
|
459
|
+
{ type: "text", text: prompt },
|
|
460
|
+
...images.map(
|
|
461
|
+
(b64) => ({ type: "image_url", image_url: { url: `data:image/jpeg;base64,${b64}` } })
|
|
462
|
+
)
|
|
463
|
+
],
|
|
464
|
+
timeoutMs,
|
|
465
|
+
(usage) => onSpend?.(usage),
|
|
466
|
+
reasoning
|
|
467
|
+
);
|
|
468
|
+
}
|
|
469
|
+
async function askAboutText(model, prompt, onSpend, opts = {}) {
|
|
470
|
+
if (!hasOpenRouterKey()) return null;
|
|
471
|
+
return await askGateway(
|
|
472
|
+
model,
|
|
473
|
+
[{ type: "text", text: prompt }],
|
|
474
|
+
opts.timeoutMs ?? 6e4,
|
|
475
|
+
(usage) => onSpend?.(usage),
|
|
476
|
+
void 0,
|
|
477
|
+
opts.request
|
|
478
|
+
);
|
|
479
|
+
}
|
|
480
|
+
async function reviewRenderedVideo(opts) {
|
|
481
|
+
if (!hasOpenRouterKey()) return null;
|
|
482
|
+
const duration = await videoDuration(opts.video);
|
|
483
|
+
if (duration === null) return null;
|
|
484
|
+
const spent = (usage) => opts.onSpend?.(usage);
|
|
485
|
+
const dir = await mkdtemp(path.join(tmpdir(), "baker-review-"));
|
|
486
|
+
try {
|
|
487
|
+
const grabbed = [];
|
|
488
|
+
for (const [i, at] of reviewFrameTimes(duration, RENDER_REVIEW_FRAMES).entries()) {
|
|
489
|
+
const out = path.join(dir, `f${String(i).padStart(2, "0")}.jpg`);
|
|
490
|
+
try {
|
|
491
|
+
await execFileAsync("ffmpeg", buildFrameGrabArgs(opts.video, at, out), { timeout: 3e4 });
|
|
492
|
+
grabbed.push({ at, image: await readFile(out, { encoding: "base64" }) });
|
|
493
|
+
} catch {
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
if (grabbed.length === 0) return null;
|
|
497
|
+
const reel = await ask(
|
|
498
|
+
grabbed.map((f) => f.image),
|
|
499
|
+
buildReelReviewPrompt({ subject: opts.subject, script: opts.script }),
|
|
500
|
+
spent
|
|
501
|
+
);
|
|
502
|
+
const framePrompt = buildFrameReviewPrompt({ subject: opts.subject });
|
|
503
|
+
const perFrame = await mapWithLimit(grabbed, REVIEW_CONCURRENCY, async (f) => ({
|
|
504
|
+
at: f.at,
|
|
505
|
+
json: await ask([f.image], framePrompt, spent)
|
|
506
|
+
}));
|
|
507
|
+
const unread = perFrame.filter((f) => f.json === null).length;
|
|
508
|
+
if (unread === perFrame.length && reel === null) return null;
|
|
509
|
+
const watch = await askVideo(
|
|
510
|
+
opts.video,
|
|
511
|
+
buildWatchReviewPrompt({ market: opts.market, script: opts.script }),
|
|
512
|
+
spent
|
|
513
|
+
);
|
|
514
|
+
const fidelity = opts.brief?.trim() ? await askVideo(opts.video, buildFidelityPrompt(opts.brief), spent) : null;
|
|
515
|
+
const findings = [
|
|
516
|
+
...classifyFrameFindings(perFrame, opts.windows ?? []),
|
|
517
|
+
...classifyReelFindings(reel),
|
|
518
|
+
...classifyWatchFindings(watch),
|
|
519
|
+
...classifyWatchDefects(watch, opts.windows ?? []),
|
|
520
|
+
...classifyFidelityFindings(fidelity),
|
|
521
|
+
// Measured, not judged: a model looking at frames cannot hear the mix.
|
|
522
|
+
...await measureAudio(opts.video)
|
|
523
|
+
];
|
|
524
|
+
findings.push(
|
|
525
|
+
...unreviewedNotes({
|
|
526
|
+
watched: watch !== null,
|
|
527
|
+
fidelityAsked: Boolean(opts.brief?.trim()),
|
|
528
|
+
fidelityRead: fidelity !== null,
|
|
529
|
+
unread,
|
|
530
|
+
frames: perFrame.length
|
|
531
|
+
})
|
|
532
|
+
);
|
|
533
|
+
return findings;
|
|
534
|
+
} finally {
|
|
535
|
+
await rm(dir, { recursive: true, force: true });
|
|
536
|
+
}
|
|
537
|
+
}
|
|
538
|
+
async function reviewContextBeside(canvasPath) {
|
|
539
|
+
const raw = await readFile(path.join(path.dirname(canvasPath), "prompt.json"), "utf-8").catch(() => null);
|
|
540
|
+
if (!raw) return {};
|
|
541
|
+
try {
|
|
542
|
+
const blueprint = JSON.parse(raw);
|
|
543
|
+
const global = blueprint.global ?? {};
|
|
544
|
+
const text = (value) => typeof value === "string" && value.trim() ? value.trim() : void 0;
|
|
545
|
+
return {
|
|
546
|
+
...text(global.market) ? { market: text(global.market) } : {},
|
|
547
|
+
...text(global.branding?.name) ? { subject: text(global.branding?.name) } : {},
|
|
548
|
+
...text(global.transcript) ? { script: text(global.transcript) } : {}
|
|
549
|
+
};
|
|
550
|
+
} catch {
|
|
551
|
+
return {};
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
async function sceneWindowsBeside(canvasPath) {
|
|
555
|
+
const dir = path.join(path.dirname(canvasPath), "scenes");
|
|
556
|
+
const files = await readdir(dir).catch(() => null);
|
|
557
|
+
if (!files) return [];
|
|
558
|
+
const windows = [];
|
|
559
|
+
for (const name of files.filter((f) => f.endsWith(".json")).sort()) {
|
|
560
|
+
const raw = await readFile(path.join(dir, name), "utf-8").catch(() => null);
|
|
561
|
+
if (!raw) continue;
|
|
562
|
+
try {
|
|
563
|
+
const scene = JSON.parse(raw);
|
|
564
|
+
if (typeof scene.start_s === "number" && typeof scene.end_s === "number") {
|
|
565
|
+
windows.push({ file: `scenes/${name}`, startS: scene.start_s, endS: scene.end_s });
|
|
566
|
+
}
|
|
567
|
+
} catch {
|
|
568
|
+
}
|
|
569
|
+
}
|
|
570
|
+
return windows;
|
|
571
|
+
}
|
|
572
|
+
function unreviewedNotes(state) {
|
|
573
|
+
const notes = [];
|
|
574
|
+
if (!state.watched) {
|
|
575
|
+
notes.push({
|
|
576
|
+
severity: "warning",
|
|
577
|
+
what: "Nobody watched the finished video end to end \u2014 the accent, the voice against the mouth and the cuts are unchecked. The frame-by-frame review still ran."
|
|
578
|
+
});
|
|
579
|
+
}
|
|
580
|
+
if (state.fidelityAsked && !state.fidelityRead) {
|
|
581
|
+
notes.push({
|
|
582
|
+
severity: "warning",
|
|
583
|
+
what: "The video was not checked against what you asked for \u2014 only against whether it is well made. A well-made ad of the wrong brief passes every other check here."
|
|
584
|
+
});
|
|
585
|
+
}
|
|
586
|
+
if (state.unread > 0) {
|
|
587
|
+
notes.push({
|
|
588
|
+
severity: "warning",
|
|
589
|
+
what: `${state.unread} of ${state.frames} frames could not be reviewed \u2014 that part of the video is unchecked.`
|
|
590
|
+
});
|
|
591
|
+
}
|
|
592
|
+
return notes;
|
|
593
|
+
}
|
|
594
|
+
|
|
595
|
+
export {
|
|
596
|
+
RENDER_REVIEW_MODEL,
|
|
597
|
+
STATIC_REVIEW_ITEMS,
|
|
598
|
+
FINDING_ELEMENTS,
|
|
599
|
+
FINDING_DEFECTS,
|
|
600
|
+
FRAME_EDGES,
|
|
601
|
+
videoPathFromOutput,
|
|
602
|
+
RENDER_REVIEW_UNAVAILABLE,
|
|
603
|
+
askAboutStills,
|
|
604
|
+
askAboutImages,
|
|
605
|
+
askAboutText,
|
|
606
|
+
reviewRenderedVideo,
|
|
607
|
+
reviewContextBeside,
|
|
608
|
+
sceneWindowsBeside
|
|
609
|
+
};
|
|
610
|
+
//# sourceMappingURL=chunk-FMMXUEDL.js.map
|