@koda-sl/baker-cli 0.442.0 → 0.443.0-dev.043c1d4ac
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 +38 -23
- package/canvas/tiktok-captions-composition/index.html +5 -6
- package/canvas/tiktok-captions-composition/meta.json +5 -0
- package/dist/account-4H7QVBRK.js +80 -0
- package/dist/account-4H7QVBRK.js.map +1 -0
- package/dist/account-IEVEOFIK.js +49 -0
- package/dist/account-IEVEOFIK.js.map +1 -0
- package/dist/account-RDRK7NOE.js +79 -0
- package/dist/account-RDRK7NOE.js.map +1 -0
- package/dist/account-writes-AK42HGRM.js +66 -0
- package/dist/account-writes-AK42HGRM.js.map +1 -0
- package/dist/accounts-4CDRK4S4.js +75 -0
- package/dist/accounts-4CDRK4S4.js.map +1 -0
- package/dist/accounts-4TYIUVWY.js +77 -0
- package/dist/accounts-4TYIUVWY.js.map +1 -0
- package/dist/accounts-5QDKBZMH.js +115 -0
- package/dist/accounts-5QDKBZMH.js.map +1 -0
- package/dist/accounts-6COLJJHM.js +611 -0
- package/dist/accounts-6COLJJHM.js.map +1 -0
- package/dist/accounts-KYJO3JC6.js +114 -0
- package/dist/accounts-KYJO3JC6.js.map +1 -0
- package/dist/actions-PEI6ZQAG.js +55 -0
- package/dist/active-entities-YUSOUR5M.js +103 -0
- package/dist/active-entities-YUSOUR5M.js.map +1 -0
- package/dist/activities-ZVQOBHZH.js +74 -0
- package/dist/activities-ZVQOBHZH.js.map +1 -0
- package/dist/ad-group-writes-QQS4223F.js +170 -0
- package/dist/ad-group-writes-QQS4223F.js.map +1 -0
- package/dist/ad-groups-WGPDPUI2.js +68 -0
- package/dist/ad-groups-WGPDPUI2.js.map +1 -0
- package/dist/ad-writes-XE2IE4DS.js +174 -0
- package/dist/ad-writes-XE2IE4DS.js.map +1 -0
- package/dist/add-577QWMCF.js +97 -0
- package/dist/add-577QWMCF.js.map +1 -0
- package/dist/add-CUWAW7KG.js +105 -0
- package/dist/add-CUWAW7KG.js.map +1 -0
- package/dist/add-XDOQQCHS.js +104 -0
- package/dist/add-XDOQQCHS.js.map +1 -0
- package/dist/add-XEDSBYLM.js +280 -0
- package/dist/add-XEDSBYLM.js.map +1 -0
- package/dist/ads-BCOSQALY.js +77 -0
- package/dist/ads-BCOSQALY.js.map +1 -0
- package/dist/ads-H7GH7A26.js +113 -0
- package/dist/ads-H7GH7A26.js.map +1 -0
- package/dist/ads-TJ7ACFHG.js +40 -0
- package/dist/adsets-H7QT42U6.js +176 -0
- package/dist/adsets-H7QT42U6.js.map +1 -0
- package/dist/advertisers-WSNHNCBQ.js +116 -0
- package/dist/advertisers-WSNHNCBQ.js.map +1 -0
- package/dist/advertisers-YMHPZYNF.js +111 -0
- package/dist/advertisers-YMHPZYNF.js.map +1 -0
- package/dist/analytics-PT2GKCFU.js +1958 -0
- package/dist/analytics-PT2GKCFU.js.map +1 -0
- package/dist/analytics-ZVWUY66X.js +433 -0
- package/dist/analytics-ZVWUY66X.js.map +1 -0
- package/dist/animate-3Z7HXOLE.js +480 -0
- package/dist/animate-3Z7HXOLE.js.map +1 -0
- package/dist/assign-B26AJLGN.js +77 -0
- package/dist/assign-B26AJLGN.js.map +1 -0
- package/dist/audience-size-ZX565D5P.js +94 -0
- package/dist/audience-size-ZX565D5P.js.map +1 -0
- package/dist/audiences-HFRVIE2X.js +85 -0
- package/dist/audiences-HFRVIE2X.js.map +1 -0
- package/dist/audiences-JACGRBNN.js +78 -0
- package/dist/audiences-JACGRBNN.js.map +1 -0
- package/dist/audiences-TGD5US2M.js +268 -0
- package/dist/audiences-TGD5US2M.js.map +1 -0
- package/dist/audit-AD4ZZNJN.js +88 -0
- package/dist/audit-AD4ZZNJN.js.map +1 -0
- package/dist/audit-SAXVPGWS.js +151 -0
- package/dist/audit-SAXVPGWS.js.map +1 -0
- package/dist/autocomplete-6PYFCOMX.js +107 -0
- package/dist/autocomplete-6PYFCOMX.js.map +1 -0
- package/dist/avatars-2UQJXHPV.js +38 -0
- package/dist/bid-pricing-WSHACGX4.js +99 -0
- package/dist/bid-pricing-WSHACGX4.js.map +1 -0
- package/dist/brand-XBABUT52.js +22 -0
- package/dist/brief-KKNC32TA.js +478 -0
- package/dist/brief-KKNC32TA.js.map +1 -0
- package/dist/businesses-JBDQZZIG.js +53 -0
- package/dist/businesses-JBDQZZIG.js.map +1 -0
- package/dist/campaign-groups-G35366AW.js +95 -0
- package/dist/campaign-groups-G35366AW.js.map +1 -0
- package/dist/campaign-writes-SXLZFYF6.js +170 -0
- package/dist/campaign-writes-SXLZFYF6.js.map +1 -0
- package/dist/campaign-writes-ZQGN7FQ3.js +165 -0
- package/dist/campaign-writes-ZQGN7FQ3.js.map +1 -0
- package/dist/campaigns-GXUCHQ2S.js +109 -0
- package/dist/campaigns-GXUCHQ2S.js.map +1 -0
- package/dist/campaigns-WBEG5QA4.js +110 -0
- package/dist/campaigns-WBEG5QA4.js.map +1 -0
- package/dist/campaigns-WECN54WV.js +107 -0
- package/dist/campaigns-WECN54WV.js.map +1 -0
- package/dist/campaigns-YS3OGQXO.js +76 -0
- package/dist/campaigns-YS3OGQXO.js.map +1 -0
- package/dist/canvas-KEXE5P6S.js +46 -0
- package/dist/capabilities-74I5AQ36.js +144 -0
- package/dist/capabilities-74I5AQ36.js.map +1 -0
- package/dist/cards-4477BFEV.js +85 -0
- package/dist/cards-4477BFEV.js.map +1 -0
- package/dist/catalog-IQEQ5TGQ.js +66 -0
- package/dist/catalog-IQEQ5TGQ.js.map +1 -0
- package/dist/catalogs-BRXEDE56.js +128 -0
- package/dist/catalogs-BRXEDE56.js.map +1 -0
- package/dist/changes-6QBJMGJC.js +135 -0
- package/dist/changes-6QBJMGJC.js.map +1 -0
- package/dist/chatgpt-7W75X3ER.js +47 -0
- package/dist/chats-DWHF64IU.js +262 -0
- package/dist/chats-DWHF64IU.js.map +1 -0
- package/dist/chunk-27NMXSC3.js +486 -0
- package/dist/chunk-27NMXSC3.js.map +1 -0
- package/dist/chunk-2CD5ZP7M.js +6659 -0
- package/dist/chunk-2CD5ZP7M.js.map +1 -0
- package/dist/chunk-2TK4DEOE.js +74 -0
- package/dist/chunk-3RJ3VGJP.js +197 -0
- package/dist/chunk-3RJ3VGJP.js.map +1 -0
- package/dist/chunk-4NDCTLI5.js +191 -0
- package/dist/chunk-4NZ47VXO.js +137 -0
- package/dist/chunk-4NZ47VXO.js.map +1 -0
- package/dist/chunk-4SJDDGPV.js +1411 -0
- package/dist/chunk-4SJDDGPV.js.map +1 -0
- package/dist/chunk-5ARG3CQG.js +141 -0
- package/dist/chunk-5HYSKH77.js +315 -0
- package/dist/chunk-5HYSKH77.js.map +1 -0
- package/dist/chunk-5Z2KSVIV.js +67 -0
- package/dist/chunk-654U6NU6.js +534 -0
- package/dist/chunk-654U6NU6.js.map +1 -0
- package/dist/chunk-6B7VKFS4.js +172 -0
- package/dist/chunk-6G5K6ZC6.js +46 -0
- package/dist/chunk-73QKIIIR.js +23 -0
- package/dist/chunk-75FDTDLH.js +96 -0
- package/dist/chunk-75VNSKS3.js +455 -0
- package/dist/chunk-75VNSKS3.js.map +1 -0
- package/dist/chunk-7GPDUS3P.js +494 -0
- package/dist/chunk-7GPDUS3P.js.map +1 -0
- package/dist/chunk-7J6EHOH6.js +274 -0
- package/dist/chunk-7OFNN4CT.js +58 -0
- package/dist/chunk-7QJVPMVB.js +592 -0
- package/dist/chunk-7QJVPMVB.js.map +1 -0
- package/dist/chunk-AN447DQB.js +159 -0
- package/dist/chunk-AN447DQB.js.map +1 -0
- package/dist/chunk-BYDF22T4.js +346 -0
- package/dist/chunk-BYDF22T4.js.map +1 -0
- package/dist/chunk-C6U6UDHJ.js +106 -0
- package/dist/chunk-CLMM6P6B.js +1751 -0
- package/dist/chunk-CLMM6P6B.js.map +1 -0
- package/dist/chunk-DIY6QR3E.js +96 -0
- package/dist/chunk-EFSYTROP.js +94 -0
- package/dist/chunk-EIP4PYCL.js +496 -0
- package/dist/chunk-EIP4PYCL.js.map +1 -0
- package/dist/chunk-EZUG6WE2.js +60 -0
- package/dist/chunk-EZUG6WE2.js.map +1 -0
- package/dist/chunk-F2S5BLPE.js +97 -0
- package/dist/chunk-F2S5BLPE.js.map +1 -0
- package/dist/chunk-FEXDI4NM.js +103 -0
- package/dist/chunk-FHXIEMCG.js +382 -0
- package/dist/chunk-FTWJFDIN.js +23992 -0
- package/dist/chunk-FTWJFDIN.js.map +1 -0
- package/dist/chunk-FXED3VZK.js +174 -0
- package/dist/chunk-FXED3VZK.js.map +1 -0
- package/dist/chunk-GIJT3A5U.js +166 -0
- package/dist/chunk-GIJT3A5U.js.map +1 -0
- package/dist/chunk-H26L3OQY.js +42 -0
- package/dist/chunk-HIPDMQZ6.js +136 -0
- package/dist/chunk-HMEFD2CG.js +5163 -0
- package/dist/chunk-HMEFD2CG.js.map +1 -0
- package/dist/chunk-HO3IUJ4K.js +70 -0
- package/dist/chunk-HO3IUJ4K.js.map +1 -0
- package/dist/chunk-HXTGYOQC.js +813 -0
- package/dist/chunk-HXTGYOQC.js.map +1 -0
- package/dist/chunk-HYCIBVDW.js +98 -0
- package/dist/chunk-ICM2OXZV.js +304 -0
- package/dist/chunk-ICM2OXZV.js.map +1 -0
- package/dist/chunk-IFWP3ZDO.js +215 -0
- package/dist/chunk-IKGWQBKJ.js +422 -0
- package/dist/chunk-IKGWQBKJ.js.map +1 -0
- package/dist/chunk-IXKEWS7X.js +433 -0
- package/dist/chunk-JERXV5A3.js +26 -0
- package/dist/chunk-JM73NDCM.js +163 -0
- package/dist/chunk-JM73NDCM.js.map +1 -0
- package/dist/chunk-K3PN7TN5.js +84 -0
- package/dist/chunk-K3PN7TN5.js.map +1 -0
- package/dist/chunk-KLNKEVIY.js +136 -0
- package/dist/chunk-KNY76UGC.js +84 -0
- package/dist/chunk-KWAOTV7F.js +830 -0
- package/dist/chunk-L3OLEAJN.js +92 -0
- package/dist/chunk-L3OLEAJN.js.map +1 -0
- package/dist/chunk-LERTEZST.js +28 -0
- package/dist/chunk-LL2CD5WU.js +310 -0
- package/dist/chunk-LO6GEJ4Z.js +51 -0
- package/dist/chunk-LS5MTRFI.js +106 -0
- package/dist/chunk-LZ73CZGP.js +188 -0
- package/dist/chunk-MELOSESI.js +20 -0
- package/dist/chunk-MLU6STIN.js +66 -0
- package/dist/chunk-MLU6STIN.js.map +1 -0
- package/dist/chunk-MZL4H5PY.js +225 -0
- package/dist/chunk-MZL4H5PY.js.map +1 -0
- package/dist/chunk-NAWWC5I3.js +454 -0
- package/dist/chunk-NFSLRRIE.js +77 -0
- package/dist/chunk-NFSLRRIE.js.map +1 -0
- package/dist/chunk-NPE7EWBE.js +297 -0
- package/dist/chunk-NU7JSWVA.js +946 -0
- package/dist/chunk-NU7JSWVA.js.map +1 -0
- package/dist/chunk-OBDAYP2P.js +3155 -0
- package/dist/chunk-OBDAYP2P.js.map +1 -0
- package/dist/chunk-OC5IJSIW.js +420 -0
- package/dist/chunk-OC5IJSIW.js.map +1 -0
- package/dist/chunk-OKG6GX2F.js +169 -0
- package/dist/chunk-OTFHEHIU.js +1706 -0
- package/dist/chunk-OTFHEHIU.js.map +1 -0
- package/dist/chunk-PBA3YCZA.js +76 -0
- package/dist/chunk-PWGWMIIJ.js +25 -0
- package/dist/chunk-QHLB5V7J.js +19 -0
- package/dist/chunk-QJE6ZYGI.js +131 -0
- package/dist/chunk-QSN5MZGS.js +74 -0
- package/dist/chunk-QXZYAIWS.js +390 -0
- package/dist/chunk-QXZYAIWS.js.map +1 -0
- package/dist/chunk-RRUJQVWA.js +4372 -0
- package/dist/chunk-RRUJQVWA.js.map +1 -0
- package/dist/chunk-RSW6QJPH.js +217 -0
- package/dist/chunk-RX6F3GEA.js +610 -0
- package/dist/chunk-RX6F3GEA.js.map +1 -0
- package/dist/chunk-SBMIQDCX.js +175 -0
- package/dist/chunk-SJDPHVGE.js +363 -0
- package/dist/chunk-SJDPHVGE.js.map +1 -0
- package/dist/chunk-STIB5DR5.js +56 -0
- package/dist/chunk-TBEUMOEL.js +95 -0
- package/dist/chunk-TCNNOLVZ.js +207 -0
- package/dist/chunk-TCNNOLVZ.js.map +1 -0
- package/dist/chunk-TD2P4HBP.js +55 -0
- package/dist/chunk-URIYUZIN.js +111 -0
- package/dist/chunk-URIYUZIN.js.map +1 -0
- package/dist/chunk-VAJBWA2U.js +75 -0
- package/dist/chunk-VAJBWA2U.js.map +1 -0
- package/dist/chunk-VBHDZSI5.js +57 -0
- package/dist/chunk-VFIOJD5M.js +309 -0
- package/dist/chunk-VVZBBKRC.js +296 -0
- package/dist/chunk-VWCELTQE.js +1079 -0
- package/dist/chunk-VWCELTQE.js.map +1 -0
- package/dist/chunk-W3B4BHQU.js +31 -0
- package/dist/chunk-W3ZHJJVT.js +139 -0
- package/dist/chunk-W3ZHJJVT.js.map +1 -0
- package/dist/chunk-WS2GMOSG.js +74 -0
- package/dist/chunk-XBOK23HI.js +214 -0
- package/dist/chunk-XG3XCHN6.js +26 -0
- package/dist/chunk-XL3BMSYG.js +125 -0
- package/dist/chunk-XWH7CCBL.js +6065 -0
- package/dist/chunk-XWH7CCBL.js.map +1 -0
- package/dist/chunk-XYMPS526.js +622 -0
- package/dist/chunk-Y5ZGWLWP.js +2882 -0
- package/dist/chunk-Y5ZGWLWP.js.map +1 -0
- package/dist/chunk-YBMVHGY3.js +333 -0
- package/dist/chunk-ZJ47BR6X.js +337 -0
- package/dist/chunk-ZJ47BR6X.js.map +1 -0
- package/dist/chunk-ZNBDKK4Y.js +76 -0
- package/dist/chunk-ZNBDKK4Y.js.map +1 -0
- package/dist/chunk-ZXTW3TXY.js +133 -0
- package/dist/chunk-ZXTW3TXY.js.map +1 -0
- package/dist/claim-EIL4ZBSN.js +197 -0
- package/dist/claim-EIL4ZBSN.js.map +1 -0
- package/dist/cli.js +36 -37
- package/dist/cli.js.map +1 -1
- package/dist/client-VHN32ZRE.js +19 -0
- package/dist/code-YS6ZMGX3.js +76 -0
- package/dist/code-YS6ZMGX3.js.map +1 -0
- package/dist/companies-2UG7RDYN.js +195 -0
- package/dist/companies-2UG7RDYN.js.map +1 -0
- package/dist/complete-I4KRFYMD.js +81 -0
- package/dist/complete-I4KRFYMD.js.map +1 -0
- package/dist/config-CQN5FHMZ.js +88 -0
- package/dist/config-CQN5FHMZ.js.map +1 -0
- package/dist/connect-TA5W6YGW.js +36 -0
- package/dist/content-3ZPP4SW2.js +81 -0
- package/dist/content-3ZPP4SW2.js.map +1 -0
- package/dist/conversation-BJI54MI6.js +93 -0
- package/dist/conversation-BJI54MI6.js.map +1 -0
- package/dist/conversion-report-XQBJ6LG4.js +125 -0
- package/dist/conversion-report-XQBJ6LG4.js.map +1 -0
- package/dist/conversion-upload-command-JULHGVIR.js +438 -0
- package/dist/conversion-upload-command-JULHGVIR.js.map +1 -0
- package/dist/conversion-writes-UBCVXP2E.js +120 -0
- package/dist/conversion-writes-UBCVXP2E.js.map +1 -0
- package/dist/conversions-D236RTUK.js +76 -0
- package/dist/conversions-D236RTUK.js.map +1 -0
- package/dist/conversions-VJOJ5S4U.js +135 -0
- package/dist/conversions-VJOJ5S4U.js.map +1 -0
- package/dist/countries-FYHM3IMJ.js +82 -0
- package/dist/countries-FYHM3IMJ.js.map +1 -0
- package/dist/create-E7BIZNUC.js +130 -0
- package/dist/create-E7BIZNUC.js.map +1 -0
- package/dist/create-HKOO7O5L.js +59 -0
- package/dist/create-HKOO7O5L.js.map +1 -0
- package/dist/create-JLQCXAT2.js +207 -0
- package/dist/create-JLQCXAT2.js.map +1 -0
- package/dist/create-VY3RQXOY.js +235 -0
- package/dist/create-VY3RQXOY.js.map +1 -0
- package/dist/creatives-PSWCNY7U.js +87 -0
- package/dist/creatives-PSWCNY7U.js.map +1 -0
- package/dist/creatives-QXMBEA2V.js +51 -0
- package/dist/creatives-QXMBEA2V.js.map +1 -0
- package/dist/creatives-VXQQUH2F.js +182 -0
- package/dist/creatives-VXQQUH2F.js.map +1 -0
- package/dist/credentials-G5BJK7OR.js +1055 -0
- package/dist/credentials-G5BJK7OR.js.map +1 -0
- package/dist/critique-CMLAPVUB.js +1449 -0
- package/dist/critique-CMLAPVUB.js.map +1 -0
- package/dist/critique-O5VNNBPB.js +214 -0
- package/dist/critique-O5VNNBPB.js.map +1 -0
- package/dist/crm-CL7R67FT.js +224 -0
- package/dist/crm-CL7R67FT.js.map +1 -0
- package/dist/crm-GJCAM3DI.js +318 -0
- package/dist/crm-GJCAM3DI.js.map +1 -0
- package/dist/crop-2J4RKJ6B.js +113 -0
- package/dist/crop-2J4RKJ6B.js.map +1 -0
- package/dist/currency-DJDVIR3C.js +88 -0
- package/dist/currency-DJDVIR3C.js.map +1 -0
- package/dist/custom-conversions-6P555U2K.js +125 -0
- package/dist/custom-conversions-6P555U2K.js.map +1 -0
- package/dist/customers-4RJGRR2Y.js +56 -0
- package/dist/delete-3AV3ARMX.js +71 -0
- package/dist/delete-3AV3ARMX.js.map +1 -0
- package/dist/delete-4QXLTL24.js +63 -0
- package/dist/delete-4QXLTL24.js.map +1 -0
- package/dist/delete-A5XD52K4.js +69 -0
- package/dist/delete-A5XD52K4.js.map +1 -0
- package/dist/delete-IJNJTAGW.js +54 -0
- package/dist/delete-IJNJTAGW.js.map +1 -0
- package/dist/delete-MRM2S4Z5.js +71 -0
- package/dist/delete-MRM2S4Z5.js.map +1 -0
- package/dist/delete-R57JFJ3A.js +66 -0
- package/dist/delete-R57JFJ3A.js.map +1 -0
- package/dist/demographics-VMARSTTE.js +138 -0
- package/dist/demographics-VMARSTTE.js.map +1 -0
- package/dist/describe-6NVOWIBE.js +97 -0
- package/dist/describe-6NVOWIBE.js.map +1 -0
- package/dist/describe-P3PPIQME.js +97 -0
- package/dist/describe-P3PPIQME.js.map +1 -0
- package/dist/dimensions-EYAYO27I.js +101 -0
- package/dist/dimensions-EYAYO27I.js.map +1 -0
- package/dist/discard-Y2BKPW4Z.js +66 -0
- package/dist/discard-Y2BKPW4Z.js.map +1 -0
- package/dist/discover-M3ZKKFEL.js +172 -0
- package/dist/discover-M3ZKKFEL.js.map +1 -0
- package/dist/domain-YTHDTRWN.js +98 -0
- package/dist/domain-YTHDTRWN.js.map +1 -0
- package/dist/download-7T6HIJKD.js +299 -0
- package/dist/download-7T6HIJKD.js.map +1 -0
- package/dist/draft-ABGQYDHP.js +328 -0
- package/dist/draft-ABGQYDHP.js.map +1 -0
- package/dist/draft-BGUJDHXR.js +103 -0
- package/dist/draft-BGUJDHXR.js.map +1 -0
- package/dist/draft-KIBMVKSR.js +100 -0
- package/dist/draft-KIBMVKSR.js.map +1 -0
- package/dist/draft-KOLU5BRR.js +217 -0
- package/dist/draft-KOLU5BRR.js.map +1 -0
- package/dist/draft-MNFJ4G3C.js +281 -0
- package/dist/draft-MNFJ4G3C.js.map +1 -0
- package/dist/draft-U6CT6LCC.js +107 -0
- package/dist/draft-U6CT6LCC.js.map +1 -0
- package/dist/draft-YDY2Q2K6.js +233 -0
- package/dist/draft-YDY2Q2K6.js.map +1 -0
- package/dist/draft-ZVVUAMMQ.js +306 -0
- package/dist/draft-ZVVUAMMQ.js.map +1 -0
- package/dist/engine/index.d.ts +10 -0
- package/dist/engine/index.js +16 -17
- package/dist/env-KIP2J2UB.js +43 -0
- package/dist/experiment-LKK77YAN.js +1377 -0
- package/dist/experiment-LKK77YAN.js.map +1 -0
- package/dist/export-JQRMBJ7D.js +168 -0
- package/dist/export-JQRMBJ7D.js.map +1 -0
- package/dist/extract-7QKLME7Z.js +113 -0
- package/dist/extract-7QKLME7Z.js.map +1 -0
- package/dist/facets-UXN4MYPO.js +114 -0
- package/dist/facets-UXN4MYPO.js.map +1 -0
- package/dist/favorites-NSGF4OV5.js +178 -0
- package/dist/favorites-NSGF4OV5.js.map +1 -0
- package/dist/feed-RV4KPPXM.js +157 -0
- package/dist/feed-RV4KPPXM.js.map +1 -0
- package/dist/feedback-3FQYLADC.js +66 -0
- package/dist/feedback-3FQYLADC.js.map +1 -0
- package/dist/feedback-record-DTRZC73R.js +176 -0
- package/dist/feedback-record-DTRZC73R.js.map +1 -0
- package/dist/fetch-UTTJAOLC.js +171 -0
- package/dist/fetch-UTTJAOLC.js.map +1 -0
- package/dist/fetch-XF76JABV.js +139 -0
- package/dist/fetch-XF76JABV.js.map +1 -0
- package/dist/find-OTDIX6V4.js +134 -0
- package/dist/find-OTDIX6V4.js.map +1 -0
- package/dist/fit-KXHYKIA4.js +43 -0
- package/dist/flows-PB4K66NJ.js +244 -0
- package/dist/flows-PB4K66NJ.js.map +1 -0
- package/dist/follow-DUIEGDVK.js +82 -0
- package/dist/follow-DUIEGDVK.js.map +1 -0
- package/dist/follow-competitors-IT5ZVJPE.js +131 -0
- package/dist/follow-competitors-IT5ZVJPE.js.map +1 -0
- package/dist/following-RKC2FLHI.js +109 -0
- package/dist/following-RKC2FLHI.js.map +1 -0
- package/dist/fonts-NTOQS2KU.js +34 -0
- package/dist/forecast-RWDIDDWP.js +104 -0
- package/dist/forecast-RWDIDDWP.js.map +1 -0
- package/dist/funding-NYO65IMT.js +85 -0
- package/dist/funding-NYO65IMT.js.map +1 -0
- package/dist/funnel-XCKPRYTV.js +837 -0
- package/dist/funnel-XCKPRYTV.js.map +1 -0
- package/dist/ga4-UDQ2HA2J.js +55 -0
- package/dist/generate-DMQUS665.js +262 -0
- package/dist/generate-DMQUS665.js.map +1 -0
- package/dist/get-3L6W3E3T.js +59 -0
- package/dist/get-3L6W3E3T.js.map +1 -0
- package/dist/get-67IG7SZI.js +78 -0
- package/dist/get-67IG7SZI.js.map +1 -0
- package/dist/get-6WEYKOY6.js +63 -0
- package/dist/get-6WEYKOY6.js.map +1 -0
- package/dist/get-P743RPSI.js +63 -0
- package/dist/get-P743RPSI.js.map +1 -0
- package/dist/get-WO22OCMZ.js +54 -0
- package/dist/get-WO22OCMZ.js.map +1 -0
- package/dist/get-XN5ZGDIK.js +61 -0
- package/dist/get-XN5ZGDIK.js.map +1 -0
- package/dist/get-YIHTAMRT.js +92 -0
- package/dist/get-YIHTAMRT.js.map +1 -0
- package/dist/gif-53ULFVLR.js +94 -0
- package/dist/gif-53ULFVLR.js.map +1 -0
- package/dist/google-KIBLORXX.js +1872 -0
- package/dist/google-KIBLORXX.js.map +1 -0
- package/dist/google-KTO3PLEU.js +136 -0
- package/dist/google-KTO3PLEU.js.map +1 -0
- package/dist/group-EFZ3AJIE.js +43 -0
- package/dist/group-EFZ3AJIE.js.map +1 -0
- package/dist/group-GKWCCX66.js +43 -0
- package/dist/group-GKWCCX66.js.map +1 -0
- package/dist/gsc-P3QYGDV2.js +30 -0
- package/dist/history-PBFRKLU6.js +133 -0
- package/dist/history-PBFRKLU6.js.map +1 -0
- package/dist/history-Q3QCT64S.js +67 -0
- package/dist/history-Q3QCT64S.js.map +1 -0
- package/dist/hubspot-PMOZST7W.js +779 -0
- package/dist/hubspot-PMOZST7W.js.map +1 -0
- package/dist/icon-I43F77FV.js +137 -0
- package/dist/icon-I43F77FV.js.map +1 -0
- package/dist/ideas-PU7IAX6F.js +32 -0
- package/dist/images-QI2HTX6B.js +90 -0
- package/dist/improve-BCCU5AS6.js +86 -0
- package/dist/improve-BCCU5AS6.js.map +1 -0
- package/dist/ingest-BYJNFOOT.js +23 -0
- package/dist/ingest-ZQM47NVZ.js +107 -0
- package/dist/ingest-ZQM47NVZ.js.map +1 -0
- package/dist/insights-LNAXV2CG.js +122 -0
- package/dist/insights-LNAXV2CG.js.map +1 -0
- package/dist/insights-NZWSJKU4.js +423 -0
- package/dist/insights-NZWSJKU4.js.map +1 -0
- package/dist/inspect-CQH55Q6G.js +189 -0
- package/dist/inspect-CQH55Q6G.js.map +1 -0
- package/dist/inspiration-I4MMKAWA.js +53 -0
- package/dist/intent-ICKFJRT2.js +95 -0
- package/dist/intent-ICKFJRT2.js.map +1 -0
- package/dist/job-L7RJZMSG.js +202 -0
- package/dist/job-L7RJZMSG.js.map +1 -0
- package/dist/job-create-JUDAN52O.js +109 -0
- package/dist/job-create-JUDAN52O.js.map +1 -0
- package/dist/job-status-U43WE3RJ.js +74 -0
- package/dist/job-status-U43WE3RJ.js.map +1 -0
- package/dist/keep-55CPC7DG.js +78 -0
- package/dist/keep-55CPC7DG.js.map +1 -0
- package/dist/keyword-gap-NGPH32FN.js +130 -0
- package/dist/keyword-gap-NGPH32FN.js.map +1 -0
- package/dist/keyword-metrics-E3NJUSEQ.js +197 -0
- package/dist/keyword-metrics-E3NJUSEQ.js.map +1 -0
- package/dist/keywords-for-site-RH47P4GJ.js +124 -0
- package/dist/keywords-for-site-RH47P4GJ.js.map +1 -0
- package/dist/landing-4PA7GCPM.js +28 -0
- package/dist/landing-4PA7GCPM.js.map +1 -0
- package/dist/languages-JDYL2N5F.js +40 -0
- package/dist/languages-JDYL2N5F.js.map +1 -0
- package/dist/languages-JMVNOHMG.js +55 -0
- package/dist/languages-JMVNOHMG.js.map +1 -0
- package/dist/layerize-RPD6SNP6.js +190 -0
- package/dist/layerize-RPD6SNP6.js.map +1 -0
- package/dist/leads-7EVHMNUF.js +293 -0
- package/dist/leads-7EVHMNUF.js.map +1 -0
- package/dist/leads-I7BO5V7P.js +90 -0
- package/dist/leads-I7BO5V7P.js.map +1 -0
- package/dist/learn-HZU3QWNN.js +204 -0
- package/dist/library-ARKRLCNJ.js +109 -0
- package/dist/library-ARKRLCNJ.js.map +1 -0
- package/dist/lighthouse-NQBUCHTW.js +75 -0
- package/dist/lighthouse-NQBUCHTW.js.map +1 -0
- package/dist/line-item-writes-JSR53MID.js +208 -0
- package/dist/line-item-writes-JSR53MID.js.map +1 -0
- package/dist/line-items-2WFLKOOR.js +103 -0
- package/dist/line-items-2WFLKOOR.js.map +1 -0
- package/dist/link-AYXOJQDV.js +64 -0
- package/dist/link-AYXOJQDV.js.map +1 -0
- package/dist/linkedin-M2PVZYLV.js +1008 -0
- package/dist/linkedin-M2PVZYLV.js.map +1 -0
- package/dist/list-3OKEMUFD.js +151 -0
- package/dist/list-3OKEMUFD.js.map +1 -0
- package/dist/list-4MQC23JH.js +63 -0
- package/dist/list-4MQC23JH.js.map +1 -0
- package/dist/list-7MVBXOJT.js +51 -0
- package/dist/list-7MVBXOJT.js.map +1 -0
- package/dist/list-A5UCIR2J.js +65 -0
- package/dist/list-A5UCIR2J.js.map +1 -0
- package/dist/list-AL7N6X2P.js +50 -0
- package/dist/list-AL7N6X2P.js.map +1 -0
- package/dist/list-LI4OGQFW.js +57 -0
- package/dist/list-LI4OGQFW.js.map +1 -0
- package/dist/list-P7NAFN6J.js +76 -0
- package/dist/list-P7NAFN6J.js.map +1 -0
- package/dist/list-QGLIL7J6.js +303 -0
- package/dist/list-QGLIL7J6.js.map +1 -0
- package/dist/locations-2NKBJKBT.js +67 -0
- package/dist/locations-2NKBJKBT.js.map +1 -0
- package/dist/locations-S4U6IJIS.js +40 -0
- package/dist/locations-S4U6IJIS.js.map +1 -0
- package/dist/log-QHR2JNKW.js +92 -0
- package/dist/log-QHR2JNKW.js.map +1 -0
- package/dist/logo-2IP663QO.js +18 -0
- package/dist/lookup-XK45W2SH.js +22 -0
- package/dist/make-ANPR2D2L.js +516 -0
- package/dist/make-ANPR2D2L.js.map +1 -0
- package/dist/map-3BVFAP33.js +404 -0
- package/dist/map-3BVFAP33.js.map +1 -0
- package/dist/mcp-LH5KR6RO.js +476 -0
- package/dist/mcp-LH5KR6RO.js.map +1 -0
- package/dist/media-6CQYG4UY.js +89 -0
- package/dist/media-6CQYG4UY.js.map +1 -0
- package/dist/media-M7E6V2XU.js +15 -0
- package/dist/media-sources-3D246I3O.js +32 -0
- package/dist/members-4DUQHLZH.js +44 -0
- package/dist/members-4DUQHLZH.js.map +1 -0
- package/dist/meta-EZ4SY25M.js +69 -0
- package/dist/metrics-AY4RP54F.js +152 -0
- package/dist/metrics-AY4RP54F.js.map +1 -0
- package/dist/models-5NTC7A5G.js +155 -0
- package/dist/models-5NTC7A5G.js.map +1 -0
- package/dist/normalize-CD4PQRYY.js +138 -0
- package/dist/normalize-CD4PQRYY.js.map +1 -0
- package/dist/normalize-ICQF2AST.js +806 -0
- package/dist/normalize-ICQF2AST.js.map +1 -0
- package/dist/options-6TE5E34Z.js +121 -0
- package/dist/options-6TE5E34Z.js.map +1 -0
- package/dist/output-RAH3TSIL.js +24 -0
- package/dist/page-GS3WLT2C.js +105 -0
- package/dist/page-GS3WLT2C.js.map +1 -0
- package/dist/pages-FXYQLHSJ.js +66 -0
- package/dist/pages-FXYQLHSJ.js.map +1 -0
- package/dist/performance-7LQQCEAW.js +24 -0
- package/dist/pinterest-AUH7WBA7.js +96 -0
- package/dist/pinterest-AUH7WBA7.js.map +1 -0
- package/dist/pixels-TZPF746S.js +60 -0
- package/dist/pixels-TZPF746S.js.map +1 -0
- package/dist/pixels-ZFF4BGUH.js +108 -0
- package/dist/pixels-ZFF4BGUH.js.map +1 -0
- package/dist/preview-AD4GKYIA.js +169 -0
- package/dist/preview-AD4GKYIA.js.map +1 -0
- package/dist/promoted-tweet-writes-F76YIMB6.js +180 -0
- package/dist/promoted-tweet-writes-F76YIMB6.js.map +1 -0
- package/dist/promoted-tweets-EJL37P7K.js +119 -0
- package/dist/promoted-tweets-EJL37P7K.js.map +1 -0
- package/dist/properties-L2XIYQDS.js +101 -0
- package/dist/properties-L2XIYQDS.js.map +1 -0
- package/dist/publish-H5S2IKZP.js +322 -0
- package/dist/publish-H5S2IKZP.js.map +1 -0
- package/dist/query-CPZZNMDY.js +1341 -0
- package/dist/query-CPZZNMDY.js.map +1 -0
- package/dist/query-SGGBCHTF.js +236 -0
- package/dist/query-SGGBCHTF.js.map +1 -0
- package/dist/query-VTGVZQIO.js +247 -0
- package/dist/query-VTGVZQIO.js.map +1 -0
- package/dist/read-LSF7DYTG.js +140 -0
- package/dist/read-LSF7DYTG.js.map +1 -0
- package/dist/reddit-INGPFGP4.js +26 -0
- package/dist/refresh-MKSKISPX.js +94 -0
- package/dist/refresh-MKSKISPX.js.map +1 -0
- package/dist/release-J5LIAIZT.js +60 -0
- package/dist/release-J5LIAIZT.js.map +1 -0
- package/dist/relevant-pages-MTMFMBPD.js +99 -0
- package/dist/relevant-pages-MTMFMBPD.js.map +1 -0
- package/dist/remove-6LGGKMLJ.js +48 -0
- package/dist/remove-6LGGKMLJ.js.map +1 -0
- package/dist/remove-LYEK7VFV.js +50 -0
- package/dist/remove-LYEK7VFV.js.map +1 -0
- package/dist/reopen-FR4UBOG7.js +63 -0
- package/dist/reopen-FR4UBOG7.js.map +1 -0
- package/dist/rerun-3FEOYNG2.js +86 -0
- package/dist/rerun-3FEOYNG2.js.map +1 -0
- package/dist/research-PA53M335.js +59 -0
- package/dist/research-RPJSOWPT.js +226 -0
- package/dist/research-RPJSOWPT.js.map +1 -0
- package/dist/reset-H3ES4WV5.js +54 -0
- package/dist/reset-H3ES4WV5.js.map +1 -0
- package/dist/reset-RCYRE5WO.js +54 -0
- package/dist/reset-RCYRE5WO.js.map +1 -0
- package/dist/resolve-QIDQJCE6.js +121 -0
- package/dist/resolve-QIDQJCE6.js.map +1 -0
- package/dist/retry-PLLCFOJW.js +60 -0
- package/dist/retry-PLLCFOJW.js.map +1 -0
- package/dist/retry-WLVMR7XP.js +62 -0
- package/dist/retry-WLVMR7XP.js.map +1 -0
- package/dist/retry-failed-6HXPUVXJ.js +45 -0
- package/dist/retry-failed-6HXPUVXJ.js.map +1 -0
- package/dist/run-2IM2QOCI.js +61 -0
- package/dist/run-4D7ZCLMF.js +65 -0
- package/dist/run-4D7ZCLMF.js.map +1 -0
- package/dist/scaffold-ad-YYUVL4IP.js +1550 -0
- package/dist/scaffold-ad-YYUVL4IP.js.map +1 -0
- package/dist/scaffold-static-ad-SUEYXLOR.js +948 -0
- package/dist/scaffold-static-ad-SUEYXLOR.js.map +1 -0
- package/dist/scaffold-video-IBH2YJZD.js +874 -0
- package/dist/scaffold-video-IBH2YJZD.js.map +1 -0
- package/dist/schedule-O2K6M43V.js +66 -0
- package/dist/schedule-O2K6M43V.js.map +1 -0
- package/dist/schedule-RXUUCNNI.js +61 -0
- package/dist/schedule-RXUUCNNI.js.map +1 -0
- package/dist/scheduled-agents-2NCGSD76.js +49 -0
- package/dist/schema-6GR77VJG.js +63 -0
- package/dist/schema-6GR77VJG.js.map +1 -0
- package/dist/schema-SFODURN7.js +129 -0
- package/dist/schema-SFODURN7.js.map +1 -0
- package/dist/scrape-ETAMW43A.js +2241 -0
- package/dist/scrape-ETAMW43A.js.map +1 -0
- package/dist/screenshot-YCQF25ZB.js +102 -0
- package/dist/screenshot-YCQF25ZB.js.map +1 -0
- package/dist/search-742XSULP.js +224 -0
- package/dist/search-742XSULP.js.map +1 -0
- package/dist/search-7QVZOWSI.js +174 -0
- package/dist/search-7QVZOWSI.js.map +1 -0
- package/dist/search-MEEM4D3W.js +92 -0
- package/dist/search-MEEM4D3W.js.map +1 -0
- package/dist/search-OQNGSMUH.js +91 -0
- package/dist/search-OQNGSMUH.js.map +1 -0
- package/dist/search-XUIVHGAY.js +26 -0
- package/dist/seeds-N6FF5S4T.js +101 -0
- package/dist/seeds-N6FF5S4T.js.map +1 -0
- package/dist/select-ZWDEVAH2.js +95 -0
- package/dist/sends-WGJVQUMF.js +309 -0
- package/dist/sends-WGJVQUMF.js.map +1 -0
- package/dist/sequences-OIPVR7JL.js +146 -0
- package/dist/sequences-OIPVR7JL.js.map +1 -0
- package/dist/set-prompt-SBEOQGCF.js +187 -0
- package/dist/set-prompt-SBEOQGCF.js.map +1 -0
- package/dist/setup-links-XW4A6L2I.js +141 -0
- package/dist/setup-links-XW4A6L2I.js.map +1 -0
- package/dist/shared-HJDFNID4.js +31 -0
- package/dist/site-6UTQSYIK.js +177 -0
- package/dist/site-6UTQSYIK.js.map +1 -0
- package/dist/sitemaps-POPZJTAX.js +87 -0
- package/dist/sitemaps-POPZJTAX.js.map +1 -0
- package/dist/sites-262H6LM4.js +101 -0
- package/dist/sites-262H6LM4.js.map +1 -0
- package/dist/skills-6TQZLIMP.js +47 -0
- package/dist/skills-6TQZLIMP.js.map +1 -0
- package/dist/sources-QQNWQLUM.js +421 -0
- package/dist/sources-QQNWQLUM.js.map +1 -0
- package/dist/sources-UGMZFZ2E.js +30 -0
- package/dist/stale-QRO3M5R2.js +64 -0
- package/dist/stale-QRO3M5R2.js.map +1 -0
- package/dist/stats-NNXZMPZR.js +34 -0
- package/dist/status-NXGKJGH7.js +62 -0
- package/dist/status-NXGKJGH7.js.map +1 -0
- package/dist/sticker-4KMBSMP5.js +94 -0
- package/dist/sticker-4KMBSMP5.js.map +1 -0
- package/dist/stock-2YCDN3N6.js +179 -0
- package/dist/stock-2YCDN3N6.js.map +1 -0
- package/dist/studio-HUEBE6DS.js +49 -0
- package/dist/sync-CF7FVUQJ.js +54 -0
- package/dist/sync-CF7FVUQJ.js.map +1 -0
- package/dist/sync-RXS6BPLM.js +54 -0
- package/dist/sync-RXS6BPLM.js.map +1 -0
- package/dist/sync-ZSNUBYPM.js +265 -0
- package/dist/sync-ZSNUBYPM.js.map +1 -0
- package/dist/sync-definition-YBDM7D4M.js +54 -0
- package/dist/tag-manager-HREEYGVM.js +43 -0
- package/dist/tags-C65JB762.js +224 -0
- package/dist/tags-C65JB762.js.map +1 -0
- package/dist/tags-CMBKEXIZ.js +20 -0
- package/dist/tags-CMBKEXIZ.js.map +1 -0
- package/dist/tags-GFFQLLG2.js +20 -0
- package/dist/tags-GFFQLLG2.js.map +1 -0
- package/dist/tags-IJN2SPSM.js +20 -0
- package/dist/tags-IJN2SPSM.js.map +1 -0
- package/dist/tags-R3K35KTL.js +26 -0
- package/dist/targeting-constants-XJ2VOW7K.js +118 -0
- package/dist/targeting-constants-XJ2VOW7K.js.map +1 -0
- package/dist/targeting-criteria-IHBPLHSX.js +113 -0
- package/dist/targeting-criteria-IHBPLHSX.js.map +1 -0
- package/dist/targets-JH37NVJF.js +102 -0
- package/dist/targets-JH37NVJF.js.map +1 -0
- package/dist/templates-HXSHQ23T.js +178 -0
- package/dist/templates-HXSHQ23T.js.map +1 -0
- package/dist/testimonials-5QGCPZ6K.js +32 -0
- package/dist/top-companies-FJEFKVI7.js +108 -0
- package/dist/top-companies-FJEFKVI7.js.map +1 -0
- package/dist/translate-H7O5K3RC.js +457 -0
- package/dist/translate-H7O5K3RC.js.map +1 -0
- package/dist/triggers-SEOAAJSS.js +141 -0
- package/dist/triggers-SEOAAJSS.js.map +1 -0
- package/dist/tweets-ATP3FQAC.js +123 -0
- package/dist/tweets-ATP3FQAC.js.map +1 -0
- package/dist/unfollow-CBVPGPF7.js +46 -0
- package/dist/unfollow-CBVPGPF7.js.map +1 -0
- package/dist/unlink-UZDVSHBO.js +67 -0
- package/dist/unlink-UZDVSHBO.js.map +1 -0
- package/dist/unstage-4ZEULXEQ.js +95 -0
- package/dist/unstage-4ZEULXEQ.js.map +1 -0
- package/dist/unstage-CE5RRGM5.js +84 -0
- package/dist/unstage-CE5RRGM5.js.map +1 -0
- package/dist/update-DGZKEP6T.js +63 -0
- package/dist/update-DGZKEP6T.js.map +1 -0
- package/dist/update-JOS4ITAV.js +142 -0
- package/dist/update-JOS4ITAV.js.map +1 -0
- package/dist/update-JZ4I6WW7.js +98 -0
- package/dist/update-JZ4I6WW7.js.map +1 -0
- package/dist/update-ZXOG2V34.js +155 -0
- package/dist/update-ZXOG2V34.js.map +1 -0
- package/dist/upload-L5SYZB3X.js +150 -0
- package/dist/upload-L5SYZB3X.js.map +1 -0
- package/dist/upload-SSOPA7ZT.js +126 -0
- package/dist/upload-SSOPA7ZT.js.map +1 -0
- package/dist/upscale-YWRLFU22.js +109 -0
- package/dist/upscale-YWRLFU22.js.map +1 -0
- package/dist/url-options-QEWKRKZ3.js +127 -0
- package/dist/url-options-QEWKRKZ3.js.map +1 -0
- package/dist/url-params-OR5N5EWT.js +98 -0
- package/dist/url-params-OR5N5EWT.js.map +1 -0
- package/dist/use-UT2DIZOG.js +95 -0
- package/dist/use-UT2DIZOG.js.map +1 -0
- package/dist/validate-2PLHIP6I.js +90 -0
- package/dist/validate-2PLHIP6I.js.map +1 -0
- package/dist/variant-FLZJYGYL.js +338 -0
- package/dist/variant-FLZJYGYL.js.map +1 -0
- package/dist/videos-GIYDCCKR.js +39 -0
- package/dist/view-NPAG66QK.js +121 -0
- package/dist/view-NPAG66QK.js.map +1 -0
- package/dist/viewer-check-VN2JK2LW.js +70 -0
- package/dist/web-WUGLSULO.js +135 -0
- package/dist/web-WUGLSULO.js.map +1 -0
- package/dist/winners-I5BMATJZ.js +79 -0
- package/dist/winners-I5BMATJZ.js.map +1 -0
- package/dist/winning-ads-7QWEIMRU.js +62 -0
- package/dist/write-commands-ERKVRHTC.js +206 -0
- package/dist/write-commands-ERKVRHTC.js.map +1 -0
- package/dist/write-commands-SVJ43D7G.js +1015 -0
- package/dist/write-commands-SVJ43D7G.js.map +1 -0
- package/dist/write-commands-TAYGTJEZ.js +737 -0
- package/dist/write-commands-TAYGTJEZ.js.map +1 -0
- package/dist/write-commands-WTRSOSO3.js +713 -0
- package/dist/write-commands-WTRSOSO3.js.map +1 -0
- package/dist/x-OEAKQBB7.js +47 -0
- package/package.json +1 -1
- package/dist/account-5GT2BEST.js +0 -80
- package/dist/account-5GT2BEST.js.map +0 -1
- package/dist/account-S2RDGMMM.js +0 -81
- package/dist/account-S2RDGMMM.js.map +0 -1
- package/dist/account-YLZAL6W7.js +0 -50
- package/dist/account-YLZAL6W7.js.map +0 -1
- package/dist/account-writes-VBY7FJ7C.js +0 -67
- package/dist/account-writes-VBY7FJ7C.js.map +0 -1
- package/dist/accounts-4IIHAQGS.js +0 -116
- package/dist/accounts-4IIHAQGS.js.map +0 -1
- package/dist/accounts-E7TRNPFA.js +0 -115
- package/dist/accounts-E7TRNPFA.js.map +0 -1
- package/dist/accounts-GFJOGX7J.js +0 -613
- package/dist/accounts-GFJOGX7J.js.map +0 -1
- package/dist/accounts-INB4Z4LZ.js +0 -76
- package/dist/accounts-INB4Z4LZ.js.map +0 -1
- package/dist/accounts-NLL4QWKY.js +0 -78
- package/dist/accounts-NLL4QWKY.js.map +0 -1
- package/dist/actions-7XF5L4U3.js +0 -55
- package/dist/active-entities-IGQG5EZO.js +0 -104
- package/dist/active-entities-IGQG5EZO.js.map +0 -1
- package/dist/activities-MH4C4IVV.js +0 -75
- package/dist/activities-MH4C4IVV.js.map +0 -1
- package/dist/ad-group-writes-B64OBHQ4.js +0 -171
- package/dist/ad-group-writes-B64OBHQ4.js.map +0 -1
- package/dist/ad-groups-APCFB6SI.js +0 -69
- package/dist/ad-groups-APCFB6SI.js.map +0 -1
- package/dist/ad-writes-A7P772KD.js +0 -175
- package/dist/ad-writes-A7P772KD.js.map +0 -1
- package/dist/add-33WQDKGF.js +0 -106
- package/dist/add-33WQDKGF.js.map +0 -1
- package/dist/add-65OIGMD7.js +0 -99
- package/dist/add-65OIGMD7.js.map +0 -1
- package/dist/add-EW276CKL.js +0 -282
- package/dist/add-EW276CKL.js.map +0 -1
- package/dist/add-EXKVB5KR.js +0 -107
- package/dist/add-EXKVB5KR.js.map +0 -1
- package/dist/ads-A2HP6UVG.js +0 -114
- package/dist/ads-A2HP6UVG.js.map +0 -1
- package/dist/ads-H6NPLMNX.js +0 -78
- package/dist/ads-H6NPLMNX.js.map +0 -1
- package/dist/ads-IRE5RZCS.js +0 -40
- package/dist/adsets-UZJTGQQM.js +0 -153
- package/dist/adsets-UZJTGQQM.js.map +0 -1
- package/dist/advertisers-CFS2JAYJ.js +0 -113
- package/dist/advertisers-CFS2JAYJ.js.map +0 -1
- package/dist/advertisers-WQBPBK4D.js +0 -117
- package/dist/advertisers-WQBPBK4D.js.map +0 -1
- package/dist/analytics-L46XME7Y.js +0 -434
- package/dist/analytics-L46XME7Y.js.map +0 -1
- package/dist/analytics-UT7FQ6XA.js +0 -1959
- package/dist/analytics-UT7FQ6XA.js.map +0 -1
- package/dist/animate-S6ZU3723.js +0 -482
- package/dist/animate-S6ZU3723.js.map +0 -1
- package/dist/assign-XHHVXXOL.js +0 -79
- package/dist/assign-XHHVXXOL.js.map +0 -1
- package/dist/audience-size-6FR7WFVU.js +0 -95
- package/dist/audience-size-6FR7WFVU.js.map +0 -1
- package/dist/audiences-BN2LT7E6.js +0 -86
- package/dist/audiences-BN2LT7E6.js.map +0 -1
- package/dist/audiences-HQS6V7EV.js +0 -269
- package/dist/audiences-HQS6V7EV.js.map +0 -1
- package/dist/audiences-JVEXHN67.js +0 -79
- package/dist/audiences-JVEXHN67.js.map +0 -1
- package/dist/audit-7UDFEGZV.js +0 -152
- package/dist/audit-7UDFEGZV.js.map +0 -1
- package/dist/audit-YTRTNTAK.js +0 -89
- package/dist/audit-YTRTNTAK.js.map +0 -1
- package/dist/autocomplete-LAZ6FFG6.js +0 -108
- package/dist/autocomplete-LAZ6FFG6.js.map +0 -1
- package/dist/avatars-G54K55J3.js +0 -38
- package/dist/bid-pricing-EQKORHAA.js +0 -100
- package/dist/bid-pricing-EQKORHAA.js.map +0 -1
- package/dist/brand-ODTHWWFL.js +0 -22
- package/dist/brief-EA4DWOJW.js +0 -479
- package/dist/brief-EA4DWOJW.js.map +0 -1
- package/dist/businesses-QHNI7MSK.js +0 -54
- package/dist/businesses-QHNI7MSK.js.map +0 -1
- package/dist/campaign-groups-EJEGKHQD.js +0 -96
- package/dist/campaign-groups-EJEGKHQD.js.map +0 -1
- package/dist/campaign-writes-DZE43ZOC.js +0 -166
- package/dist/campaign-writes-DZE43ZOC.js.map +0 -1
- package/dist/campaign-writes-OX62FCEH.js +0 -171
- package/dist/campaign-writes-OX62FCEH.js.map +0 -1
- package/dist/campaigns-APRWHCGF.js +0 -111
- package/dist/campaigns-APRWHCGF.js.map +0 -1
- package/dist/campaigns-D2LYKUO2.js +0 -108
- package/dist/campaigns-D2LYKUO2.js.map +0 -1
- package/dist/campaigns-E3H4POUU.js +0 -77
- package/dist/campaigns-E3H4POUU.js.map +0 -1
- package/dist/campaigns-OPLRDMJW.js +0 -110
- package/dist/campaigns-OPLRDMJW.js.map +0 -1
- package/dist/canvas-M5HAG7VA.js +0 -46
- package/dist/capabilities-4Q4CMVIE.js +0 -146
- package/dist/capabilities-4Q4CMVIE.js.map +0 -1
- package/dist/cards-L37M7Q3L.js +0 -86
- package/dist/cards-L37M7Q3L.js.map +0 -1
- package/dist/catalog-HOWAUW2V.js +0 -67
- package/dist/catalog-HOWAUW2V.js.map +0 -1
- package/dist/catalogs-XBIQ4PNK.js +0 -129
- package/dist/catalogs-XBIQ4PNK.js.map +0 -1
- package/dist/changes-HCOPS4FF.js +0 -136
- package/dist/changes-HCOPS4FF.js.map +0 -1
- package/dist/chatgpt-PLKNBNVL.js +0 -47
- package/dist/chats-HELZHJO4.js +0 -264
- package/dist/chats-HELZHJO4.js.map +0 -1
- package/dist/chunk-3KQ5R3H7.js +0 -45
- package/dist/chunk-3KQ5R3H7.js.map +0 -1
- package/dist/chunk-4MU3U3SO.js +0 -103
- package/dist/chunk-4VKV3DNC.js +0 -23992
- package/dist/chunk-4VKV3DNC.js.map +0 -1
- package/dist/chunk-5HH4RGC4.js +0 -136
- package/dist/chunk-5HH4RGC4.js.map +0 -1
- package/dist/chunk-5NQIFCNX.js +0 -141
- package/dist/chunk-6CCDQO2F.js +0 -225
- package/dist/chunk-6CCDQO2F.js.map +0 -1
- package/dist/chunk-6FBZ5E6L.js +0 -96
- package/dist/chunk-6YWRJMGR.js +0 -309
- package/dist/chunk-73MCYA5Z.js +0 -310
- package/dist/chunk-7DQAVVUA.js +0 -130
- package/dist/chunk-7DQAVVUA.js.map +0 -1
- package/dist/chunk-A3PEJ3V3.js +0 -95
- package/dist/chunk-A57AHUNA.js +0 -28
- package/dist/chunk-ABELDLY3.js +0 -594
- package/dist/chunk-ABELDLY3.js.map +0 -1
- package/dist/chunk-AWICKT2B.js +0 -25
- package/dist/chunk-AYC2WM4P.js +0 -106
- package/dist/chunk-AYC2WM4P.js.map +0 -1
- package/dist/chunk-BDD2ILIT.js +0 -56
- package/dist/chunk-BSFTG66P.js +0 -2743
- package/dist/chunk-BSFTG66P.js.map +0 -1
- package/dist/chunk-BSUN6JMU.js +0 -215
- package/dist/chunk-CBEL3P22.js +0 -57
- package/dist/chunk-CSADPKPC.js +0 -161
- package/dist/chunk-CSADPKPC.js.map +0 -1
- package/dist/chunk-DPEQVHTX.js +0 -26
- package/dist/chunk-DQLBKU7G.js +0 -469
- package/dist/chunk-DQLBKU7G.js.map +0 -1
- package/dist/chunk-ECXNE6RJ.js +0 -622
- package/dist/chunk-EDFVATFW.js +0 -211
- package/dist/chunk-EDFVATFW.js.map +0 -1
- package/dist/chunk-EPK2GYLV.js +0 -214
- package/dist/chunk-EYO62URT.js +0 -172
- package/dist/chunk-F3WFP75M.js +0 -94
- package/dist/chunk-F6NJAHAZ.js +0 -19
- package/dist/chunk-F7HBCFUA.js +0 -188
- package/dist/chunk-FCTWXNRC.js +0 -365
- package/dist/chunk-FCTWXNRC.js.map +0 -1
- package/dist/chunk-FFZBW4CC.js +0 -297
- package/dist/chunk-FR345TDN.js +0 -577
- package/dist/chunk-FR345TDN.js.map +0 -1
- package/dist/chunk-FRVROFI6.js +0 -98
- package/dist/chunk-G32FXVQ6.js +0 -31
- package/dist/chunk-HA5D6US2.js +0 -26
- package/dist/chunk-HWWPDUZM.js +0 -217
- package/dist/chunk-IEULFYA2.js +0 -174
- package/dist/chunk-IEULFYA2.js.map +0 -1
- package/dist/chunk-IMZIECST.js +0 -830
- package/dist/chunk-IPF4P6ZQ.js +0 -392
- package/dist/chunk-IPF4P6ZQ.js.map +0 -1
- package/dist/chunk-IRHNWYDT.js +0 -106
- package/dist/chunk-JH7NHC5W.js +0 -169
- package/dist/chunk-JIHG6K7N.js +0 -30
- package/dist/chunk-JIHG6K7N.js.map +0 -1
- package/dist/chunk-JKDITP62.js +0 -1380
- package/dist/chunk-JKDITP62.js.map +0 -1
- package/dist/chunk-JMXBUIVI.js +0 -84
- package/dist/chunk-KHCN2QXV.js +0 -346
- package/dist/chunk-KHCN2QXV.js.map +0 -1
- package/dist/chunk-KY4MPR6R.js +0 -3155
- package/dist/chunk-KY4MPR6R.js.map +0 -1
- package/dist/chunk-L4DOL7L7.js +0 -125
- package/dist/chunk-L6PDFIND.js +0 -496
- package/dist/chunk-L6PDFIND.js.map +0 -1
- package/dist/chunk-L7HPNEKW.js +0 -304
- package/dist/chunk-L7HPNEKW.js.map +0 -1
- package/dist/chunk-LB3VYIS2.js +0 -141
- package/dist/chunk-LB3VYIS2.js.map +0 -1
- package/dist/chunk-LDVMMLRA.js +0 -106
- package/dist/chunk-LQ4HBQ2B.js +0 -433
- package/dist/chunk-LXUEWTHJ.js +0 -788
- package/dist/chunk-LXUEWTHJ.js.map +0 -1
- package/dist/chunk-LYZVLKRA.js +0 -175
- package/dist/chunk-MBKCUSMR.js +0 -6078
- package/dist/chunk-MBKCUSMR.js.map +0 -1
- package/dist/chunk-MPI3SWIT.js +0 -536
- package/dist/chunk-MPI3SWIT.js.map +0 -1
- package/dist/chunk-MXPFUDFR.js +0 -1024
- package/dist/chunk-MXPFUDFR.js.map +0 -1
- package/dist/chunk-N5SQSMMR.js +0 -229
- package/dist/chunk-N5SQSMMR.js.map +0 -1
- package/dist/chunk-NEONVKMJ.js +0 -455
- package/dist/chunk-NEONVKMJ.js.map +0 -1
- package/dist/chunk-NFSV3CDO.js +0 -6198
- package/dist/chunk-NFSV3CDO.js.map +0 -1
- package/dist/chunk-NGT6MARJ.js +0 -274
- package/dist/chunk-NGYKF4T6.js +0 -20
- package/dist/chunk-NMMKTPGI.js +0 -136
- package/dist/chunk-O4AXPEOE.js +0 -923
- package/dist/chunk-O4AXPEOE.js.map +0 -1
- package/dist/chunk-OPEMWO6C.js +0 -5096
- package/dist/chunk-OPEMWO6C.js.map +0 -1
- package/dist/chunk-OZLBLXTK.js +0 -74
- package/dist/chunk-PB4LQHL2.js +0 -4341
- package/dist/chunk-PB4LQHL2.js.map +0 -1
- package/dist/chunk-PDJZMQ7F.js +0 -316
- package/dist/chunk-PDJZMQ7F.js.map +0 -1
- package/dist/chunk-PNHDM76R.js +0 -74
- package/dist/chunk-PNHDM76R.js.map +0 -1
- package/dist/chunk-Q7UF4ERB.js +0 -74
- package/dist/chunk-QRXTDXMX.js +0 -129
- package/dist/chunk-QRXTDXMX.js.map +0 -1
- package/dist/chunk-QTERC4PG.js +0 -1700
- package/dist/chunk-QTERC4PG.js.map +0 -1
- package/dist/chunk-QYOPQRLI.js +0 -296
- package/dist/chunk-R34LJSPM.js +0 -42
- package/dist/chunk-R4ODZS43.js +0 -492
- package/dist/chunk-R4ODZS43.js.map +0 -1
- package/dist/chunk-RJAQEZVD.js +0 -23
- package/dist/chunk-RPFBZHHE.js +0 -55
- package/dist/chunk-SXRSLUW7.js +0 -454
- package/dist/chunk-T5RKIWPQ.js +0 -352
- package/dist/chunk-T5RKIWPQ.js.map +0 -1
- package/dist/chunk-TCSPJQ2X.js +0 -136
- package/dist/chunk-TD44SXQX.js +0 -58
- package/dist/chunk-TQAXOBKJ.js +0 -364
- package/dist/chunk-TQAXOBKJ.js.map +0 -1
- package/dist/chunk-TTFTS2SO.js +0 -131
- package/dist/chunk-UA5EUJXV.js +0 -51
- package/dist/chunk-W7OFLOZB.js +0 -46
- package/dist/chunk-WAQYXH2U.js +0 -76
- package/dist/chunk-WWD4PITU.js +0 -333
- package/dist/chunk-WZ5YRUQU.js +0 -12
- package/dist/chunk-WZ5YRUQU.js.map +0 -1
- package/dist/chunk-XEVVAGAG.js +0 -422
- package/dist/chunk-XEVVAGAG.js.map +0 -1
- package/dist/chunk-Y4JR4RDM.js +0 -74
- package/dist/chunk-YMOVI3WT.js +0 -382
- package/dist/chunk-YS6PCTPS.js +0 -96
- package/dist/chunk-YUP46PWY.js +0 -199
- package/dist/chunk-YUP46PWY.js.map +0 -1
- package/dist/chunk-Z4NYXXTP.js +0 -42
- package/dist/chunk-Z4NYXXTP.js.map +0 -1
- package/dist/chunk-Z5AUNK6P.js +0 -1709
- package/dist/chunk-Z5AUNK6P.js.map +0 -1
- package/dist/chunk-ZAFR46HG.js +0 -67
- package/dist/chunk-ZHW3O25C.js +0 -191
- package/dist/claim-CG2IMTHK.js +0 -199
- package/dist/claim-CG2IMTHK.js.map +0 -1
- package/dist/client-XKDFFS7O.js +0 -20
- package/dist/code-JWIOO2AJ.js +0 -78
- package/dist/code-JWIOO2AJ.js.map +0 -1
- package/dist/companies-LQN4HUUH.js +0 -196
- package/dist/companies-LQN4HUUH.js.map +0 -1
- package/dist/complete-MKB27QP7.js +0 -82
- package/dist/complete-MKB27QP7.js.map +0 -1
- package/dist/config-LJOEAYFZ.js +0 -89
- package/dist/config-LJOEAYFZ.js.map +0 -1
- package/dist/connect-ATGYJNG4.js +0 -37
- package/dist/content-Y2BJSXG6.js +0 -83
- package/dist/content-Y2BJSXG6.js.map +0 -1
- package/dist/conversation-EFNQM435.js +0 -94
- package/dist/conversation-EFNQM435.js.map +0 -1
- package/dist/conversion-report-EUSTSHPV.js +0 -126
- package/dist/conversion-report-EUSTSHPV.js.map +0 -1
- package/dist/conversion-upload-command-677OT5NZ.js +0 -432
- package/dist/conversion-upload-command-677OT5NZ.js.map +0 -1
- package/dist/conversion-writes-E7M6VHGB.js +0 -121
- package/dist/conversion-writes-E7M6VHGB.js.map +0 -1
- package/dist/conversions-BXZLEXHU.js +0 -136
- package/dist/conversions-BXZLEXHU.js.map +0 -1
- package/dist/conversions-FERAOXWG.js +0 -77
- package/dist/conversions-FERAOXWG.js.map +0 -1
- package/dist/countries-TKPX2GDH.js +0 -83
- package/dist/countries-TKPX2GDH.js.map +0 -1
- package/dist/create-HGMIWFVX.js +0 -132
- package/dist/create-HGMIWFVX.js.map +0 -1
- package/dist/create-LBJV3NPD.js +0 -209
- package/dist/create-LBJV3NPD.js.map +0 -1
- package/dist/create-QTPZ7PP7.js +0 -117
- package/dist/create-QTPZ7PP7.js.map +0 -1
- package/dist/create-SBIHEG25.js +0 -60
- package/dist/create-SBIHEG25.js.map +0 -1
- package/dist/creatives-CIOOFE3T.js +0 -88
- package/dist/creatives-CIOOFE3T.js.map +0 -1
- package/dist/creatives-MIUJAK4E.js +0 -49
- package/dist/creatives-MIUJAK4E.js.map +0 -1
- package/dist/creatives-QXR7QDXM.js +0 -183
- package/dist/creatives-QXR7QDXM.js.map +0 -1
- package/dist/credentials-CMVAKAUL.js +0 -1057
- package/dist/credentials-CMVAKAUL.js.map +0 -1
- package/dist/critique-LUB35ORK.js +0 -213
- package/dist/critique-LUB35ORK.js.map +0 -1
- package/dist/critique-XXCM7YAV.js +0 -1477
- package/dist/critique-XXCM7YAV.js.map +0 -1
- package/dist/crm-EGNVKQHB.js +0 -279
- package/dist/crm-EGNVKQHB.js.map +0 -1
- package/dist/crm-I6IQ5M55.js +0 -226
- package/dist/crm-I6IQ5M55.js.map +0 -1
- package/dist/crop-ES2IDPUL.js +0 -115
- package/dist/crop-ES2IDPUL.js.map +0 -1
- package/dist/currency-VFKYXFBM.js +0 -89
- package/dist/currency-VFKYXFBM.js.map +0 -1
- package/dist/custom-conversions-WPTEXOWR.js +0 -126
- package/dist/custom-conversions-WPTEXOWR.js.map +0 -1
- package/dist/customers-ACRYXALZ.js +0 -58
- package/dist/delete-3AHBFPQJ.js +0 -68
- package/dist/delete-3AHBFPQJ.js.map +0 -1
- package/dist/delete-E7WYQN2L.js +0 -73
- package/dist/delete-E7WYQN2L.js.map +0 -1
- package/dist/delete-EJCB5MHV.js +0 -71
- package/dist/delete-EJCB5MHV.js.map +0 -1
- package/dist/delete-J677F4BG.js +0 -64
- package/dist/delete-J677F4BG.js.map +0 -1
- package/dist/delete-LVQ7R6DI.js +0 -73
- package/dist/delete-LVQ7R6DI.js.map +0 -1
- package/dist/delete-U4K6NIOE.js +0 -55
- package/dist/delete-U4K6NIOE.js.map +0 -1
- package/dist/demographics-RY6R6VWA.js +0 -139
- package/dist/demographics-RY6R6VWA.js.map +0 -1
- package/dist/describe-N36XDO4P.js +0 -99
- package/dist/describe-N36XDO4P.js.map +0 -1
- package/dist/describe-Q5OAJDYH.js +0 -99
- package/dist/describe-Q5OAJDYH.js.map +0 -1
- package/dist/dimensions-YIWQVFTO.js +0 -103
- package/dist/dimensions-YIWQVFTO.js.map +0 -1
- package/dist/discard-UO4DJNP3.js +0 -67
- package/dist/discard-UO4DJNP3.js.map +0 -1
- package/dist/discover-IASOLBUQ.js +0 -173
- package/dist/discover-IASOLBUQ.js.map +0 -1
- package/dist/domain-QBF4TBGL.js +0 -100
- package/dist/domain-QBF4TBGL.js.map +0 -1
- package/dist/download-DKFYGXEH.js +0 -301
- package/dist/download-DKFYGXEH.js.map +0 -1
- package/dist/draft-5ZZOTJZR.js +0 -282
- package/dist/draft-5ZZOTJZR.js.map +0 -1
- package/dist/draft-DKMUTG4F.js +0 -104
- package/dist/draft-DKMUTG4F.js.map +0 -1
- package/dist/draft-FMOQUVPP.js +0 -219
- package/dist/draft-FMOQUVPP.js.map +0 -1
- package/dist/draft-KFXJCKCH.js +0 -234
- package/dist/draft-KFXJCKCH.js.map +0 -1
- package/dist/draft-KJ6SH67P.js +0 -101
- package/dist/draft-KJ6SH67P.js.map +0 -1
- package/dist/draft-QW7EYFFU.js +0 -329
- package/dist/draft-QW7EYFFU.js.map +0 -1
- package/dist/draft-URMXE4U4.js +0 -101
- package/dist/draft-URMXE4U4.js.map +0 -1
- package/dist/draft-ZU7MZLIT.js +0 -300
- package/dist/draft-ZU7MZLIT.js.map +0 -1
- package/dist/env-ODWJOKNV.js +0 -44
- package/dist/experiment-TUKKH6UJ.js +0 -1378
- package/dist/experiment-TUKKH6UJ.js.map +0 -1
- package/dist/export-WXFUVX6F.js +0 -170
- package/dist/export-WXFUVX6F.js.map +0 -1
- package/dist/extract-PY3J3WVF.js +0 -115
- package/dist/extract-PY3J3WVF.js.map +0 -1
- package/dist/facets-NUEIHCKA.js +0 -115
- package/dist/facets-NUEIHCKA.js.map +0 -1
- package/dist/favorites-JDFIYSV2.js +0 -180
- package/dist/favorites-JDFIYSV2.js.map +0 -1
- package/dist/feed-CYFNDBJS.js +0 -159
- package/dist/feed-CYFNDBJS.js.map +0 -1
- package/dist/feedback-E2P3NB7H.js +0 -68
- package/dist/feedback-E2P3NB7H.js.map +0 -1
- package/dist/feedback-record-IMCTEDOX.js +0 -137
- package/dist/feedback-record-IMCTEDOX.js.map +0 -1
- package/dist/fetch-ELSDT3NZ.js +0 -141
- package/dist/fetch-ELSDT3NZ.js.map +0 -1
- package/dist/fetch-NM7MD3CN.js +0 -172
- package/dist/fetch-NM7MD3CN.js.map +0 -1
- package/dist/find-HYMLZCKA.js +0 -136
- package/dist/find-HYMLZCKA.js.map +0 -1
- package/dist/fit-5WZ6NVSF.js +0 -44
- package/dist/flows-ZEUUIXCS.js +0 -246
- package/dist/flows-ZEUUIXCS.js.map +0 -1
- package/dist/follow-RGJ76HHD.js +0 -84
- package/dist/follow-RGJ76HHD.js.map +0 -1
- package/dist/follow-competitors-JMNOP2ZT.js +0 -133
- package/dist/follow-competitors-JMNOP2ZT.js.map +0 -1
- package/dist/following-5GINRDTL.js +0 -111
- package/dist/following-5GINRDTL.js.map +0 -1
- package/dist/fonts-7U7I2TWV.js +0 -27
- package/dist/forecast-PGDYFFKQ.js +0 -105
- package/dist/forecast-PGDYFFKQ.js.map +0 -1
- package/dist/funding-ED6PDKJF.js +0 -86
- package/dist/funding-ED6PDKJF.js.map +0 -1
- package/dist/funnel-IML4F5ZP.js +0 -838
- package/dist/funnel-IML4F5ZP.js.map +0 -1
- package/dist/ga4-QPEXE6YG.js +0 -55
- package/dist/generate-VVTQCJRI.js +0 -264
- package/dist/generate-VVTQCJRI.js.map +0 -1
- package/dist/get-CZSESEHU.js +0 -61
- package/dist/get-CZSESEHU.js.map +0 -1
- package/dist/get-DEGOS3R6.js +0 -63
- package/dist/get-DEGOS3R6.js.map +0 -1
- package/dist/get-L3ZGUJJB.js +0 -65
- package/dist/get-L3ZGUJJB.js.map +0 -1
- package/dist/get-NX5DGSRP.js +0 -65
- package/dist/get-NX5DGSRP.js.map +0 -1
- package/dist/get-TL6UET23.js +0 -56
- package/dist/get-TL6UET23.js.map +0 -1
- package/dist/get-UNZMYRB6.js +0 -80
- package/dist/get-UNZMYRB6.js.map +0 -1
- package/dist/get-ZVRRZDUU.js +0 -94
- package/dist/get-ZVRRZDUU.js.map +0 -1
- package/dist/gif-MNBSPA64.js +0 -96
- package/dist/gif-MNBSPA64.js.map +0 -1
- package/dist/google-C2Z4XWRL.js +0 -1866
- package/dist/google-C2Z4XWRL.js.map +0 -1
- package/dist/google-LJSSLBP3.js +0 -138
- package/dist/google-LJSSLBP3.js.map +0 -1
- package/dist/group-7BGYA6LK.js +0 -44
- package/dist/group-7BGYA6LK.js.map +0 -1
- package/dist/group-MPYAKBH5.js +0 -44
- package/dist/group-MPYAKBH5.js.map +0 -1
- package/dist/gsc-LC5ADBA3.js +0 -30
- package/dist/history-GPQE2ZYR.js +0 -68
- package/dist/history-GPQE2ZYR.js.map +0 -1
- package/dist/history-XTSLGMK6.js +0 -135
- package/dist/history-XTSLGMK6.js.map +0 -1
- package/dist/hubspot-GPTEZD3A.js +0 -781
- package/dist/hubspot-GPTEZD3A.js.map +0 -1
- package/dist/icon-YKMRIU7A.js +0 -139
- package/dist/icon-YKMRIU7A.js.map +0 -1
- package/dist/ideas-NEBJBIBM.js +0 -31
- package/dist/images-ASWWS5TH.js +0 -90
- package/dist/improve-VXDJGXTG.js +0 -88
- package/dist/improve-VXDJGXTG.js.map +0 -1
- package/dist/ingest-AW37RWJN.js +0 -109
- package/dist/ingest-AW37RWJN.js.map +0 -1
- package/dist/ingest-X7UPOCKP.js +0 -24
- package/dist/insights-MHUV75RQ.js +0 -424
- package/dist/insights-MHUV75RQ.js.map +0 -1
- package/dist/insights-NLQXAW3F.js +0 -123
- package/dist/insights-NLQXAW3F.js.map +0 -1
- package/dist/inspect-TXVKPBAR.js +0 -191
- package/dist/inspect-TXVKPBAR.js.map +0 -1
- package/dist/inspiration-64DY3QWN.js +0 -53
- package/dist/intent-3HY6DRHW.js +0 -96
- package/dist/intent-3HY6DRHW.js.map +0 -1
- package/dist/job-L73KC4TC.js +0 -203
- package/dist/job-L73KC4TC.js.map +0 -1
- package/dist/job-create-LR3EHWKO.js +0 -110
- package/dist/job-create-LR3EHWKO.js.map +0 -1
- package/dist/job-status-MSL4EAJT.js +0 -75
- package/dist/job-status-MSL4EAJT.js.map +0 -1
- package/dist/keep-XUATLR5B.js +0 -80
- package/dist/keep-XUATLR5B.js.map +0 -1
- package/dist/keyword-gap-DJAYVD4U.js +0 -131
- package/dist/keyword-gap-DJAYVD4U.js.map +0 -1
- package/dist/keyword-metrics-4FEFFTQO.js +0 -198
- package/dist/keyword-metrics-4FEFFTQO.js.map +0 -1
- package/dist/keywords-for-site-HIMEQY63.js +0 -125
- package/dist/keywords-for-site-HIMEQY63.js.map +0 -1
- package/dist/landing-KU3ILVB3.js +0 -28
- package/dist/landing-KU3ILVB3.js.map +0 -1
- package/dist/languages-4QYK5DMW.js +0 -56
- package/dist/languages-4QYK5DMW.js.map +0 -1
- package/dist/languages-L5E7WS77.js +0 -41
- package/dist/languages-L5E7WS77.js.map +0 -1
- package/dist/layerize-YAVLAXYM.js +0 -192
- package/dist/layerize-YAVLAXYM.js.map +0 -1
- package/dist/leads-DR3EK77T.js +0 -91
- package/dist/leads-DR3EK77T.js.map +0 -1
- package/dist/leads-PFPQOCBR.js +0 -286
- package/dist/leads-PFPQOCBR.js.map +0 -1
- package/dist/learn-D4D75X2Y.js +0 -204
- package/dist/library-E2SJS7PT.js +0 -111
- package/dist/library-E2SJS7PT.js.map +0 -1
- package/dist/lighthouse-QMECKX4R.js +0 -76
- package/dist/lighthouse-QMECKX4R.js.map +0 -1
- package/dist/line-item-writes-XMDA7AZQ.js +0 -209
- package/dist/line-item-writes-XMDA7AZQ.js.map +0 -1
- package/dist/line-items-YGKTYKVE.js +0 -104
- package/dist/line-items-YGKTYKVE.js.map +0 -1
- package/dist/link-AOB3WGGN.js +0 -65
- package/dist/link-AOB3WGGN.js.map +0 -1
- package/dist/linkedin-WRJNY6NY.js +0 -1002
- package/dist/linkedin-WRJNY6NY.js.map +0 -1
- package/dist/list-66VKYGKM.js +0 -52
- package/dist/list-66VKYGKM.js.map +0 -1
- package/dist/list-6DZWRLDN.js +0 -59
- package/dist/list-6DZWRLDN.js.map +0 -1
- package/dist/list-6KJWGPPS.js +0 -67
- package/dist/list-6KJWGPPS.js.map +0 -1
- package/dist/list-GXCKA2AN.js +0 -153
- package/dist/list-GXCKA2AN.js.map +0 -1
- package/dist/list-KNHZPT7L.js +0 -65
- package/dist/list-KNHZPT7L.js.map +0 -1
- package/dist/list-LPETG6A6.js +0 -78
- package/dist/list-LPETG6A6.js.map +0 -1
- package/dist/list-WHJNWHSZ.js +0 -53
- package/dist/list-WHJNWHSZ.js.map +0 -1
- package/dist/list-YV5Z2J6U.js +0 -305
- package/dist/list-YV5Z2J6U.js.map +0 -1
- package/dist/locations-4FZYKG2A.js +0 -68
- package/dist/locations-4FZYKG2A.js.map +0 -1
- package/dist/locations-W32YE2KS.js +0 -41
- package/dist/locations-W32YE2KS.js.map +0 -1
- package/dist/log-YVW46HL7.js +0 -94
- package/dist/log-YVW46HL7.js.map +0 -1
- package/dist/logo-7O7VW5R3.js +0 -19
- package/dist/lookup-Z2X5WAO6.js +0 -23
- package/dist/make-Q6BQ7LNT.js +0 -505
- package/dist/make-Q6BQ7LNT.js.map +0 -1
- package/dist/map-VZM5C6DA.js +0 -406
- package/dist/map-VZM5C6DA.js.map +0 -1
- package/dist/mcp-KSJDALG6.js +0 -478
- package/dist/mcp-KSJDALG6.js.map +0 -1
- package/dist/media-7P66TUIR.js +0 -15
- package/dist/media-JBQKYSRQ.js +0 -90
- package/dist/media-JBQKYSRQ.js.map +0 -1
- package/dist/media-sources-427U333M.js +0 -32
- package/dist/members-ABGEFALK.js +0 -46
- package/dist/members-ABGEFALK.js.map +0 -1
- package/dist/meta-JH4FHVNX.js +0 -69
- package/dist/metrics-ALSPX6EQ.js +0 -153
- package/dist/metrics-ALSPX6EQ.js.map +0 -1
- package/dist/models-7BM5BKXX.js +0 -157
- package/dist/models-7BM5BKXX.js.map +0 -1
- package/dist/normalize-DFK3DGGZ.js +0 -808
- package/dist/normalize-DFK3DGGZ.js.map +0 -1
- package/dist/normalize-NDR7YEQE.js +0 -140
- package/dist/normalize-NDR7YEQE.js.map +0 -1
- package/dist/options-G5VGH22X.js +0 -123
- package/dist/options-G5VGH22X.js.map +0 -1
- package/dist/output-ZLXBAA4O.js +0 -25
- package/dist/page-L7BBMINT.js +0 -107
- package/dist/page-L7BBMINT.js.map +0 -1
- package/dist/pages-NBV35ECG.js +0 -67
- package/dist/pages-NBV35ECG.js.map +0 -1
- package/dist/performance-SOMZNPIG.js +0 -25
- package/dist/pinterest-KXAZTRDP.js +0 -98
- package/dist/pinterest-KXAZTRDP.js.map +0 -1
- package/dist/pixels-DYWHXAJT.js +0 -109
- package/dist/pixels-DYWHXAJT.js.map +0 -1
- package/dist/pixels-UMS2QBUG.js +0 -61
- package/dist/pixels-UMS2QBUG.js.map +0 -1
- package/dist/preview-C5FER5SU.js +0 -170
- package/dist/preview-C5FER5SU.js.map +0 -1
- package/dist/promoted-tweet-writes-3PECZLQA.js +0 -181
- package/dist/promoted-tweet-writes-3PECZLQA.js.map +0 -1
- package/dist/promoted-tweets-GMV6WIWV.js +0 -120
- package/dist/promoted-tweets-GMV6WIWV.js.map +0 -1
- package/dist/properties-YAJQF577.js +0 -102
- package/dist/properties-YAJQF577.js.map +0 -1
- package/dist/publish-5WDUTTG5.js +0 -355
- package/dist/publish-5WDUTTG5.js.map +0 -1
- package/dist/query-TBWL52JI.js +0 -1342
- package/dist/query-TBWL52JI.js.map +0 -1
- package/dist/query-VESQSTQI.js +0 -237
- package/dist/query-VESQSTQI.js.map +0 -1
- package/dist/query-XZQSY62P.js +0 -248
- package/dist/query-XZQSY62P.js.map +0 -1
- package/dist/read-UMAWDVKX.js +0 -141
- package/dist/read-UMAWDVKX.js.map +0 -1
- package/dist/reddit-OPHQFRRC.js +0 -27
- package/dist/refresh-U56RE7DI.js +0 -96
- package/dist/refresh-U56RE7DI.js.map +0 -1
- package/dist/release-P66DYNKQ.js +0 -61
- package/dist/release-P66DYNKQ.js.map +0 -1
- package/dist/relevant-pages-DSQQU6F7.js +0 -100
- package/dist/relevant-pages-DSQQU6F7.js.map +0 -1
- package/dist/remove-GRLXSDZC.js +0 -50
- package/dist/remove-GRLXSDZC.js.map +0 -1
- package/dist/remove-IRIP4OKM.js +0 -52
- package/dist/remove-IRIP4OKM.js.map +0 -1
- package/dist/reopen-PMIO7NJJ.js +0 -65
- package/dist/reopen-PMIO7NJJ.js.map +0 -1
- package/dist/rerun-V4O6TKBY.js +0 -84
- package/dist/rerun-V4O6TKBY.js.map +0 -1
- package/dist/research-MG3MESKH.js +0 -59
- package/dist/research-RFPBKIVP.js +0 -228
- package/dist/research-RFPBKIVP.js.map +0 -1
- package/dist/reset-3HKXFAV7.js +0 -56
- package/dist/reset-3HKXFAV7.js.map +0 -1
- package/dist/reset-LQZA3CIB.js +0 -56
- package/dist/reset-LQZA3CIB.js.map +0 -1
- package/dist/resolve-H33CQAY4.js +0 -122
- package/dist/resolve-H33CQAY4.js.map +0 -1
- package/dist/retry-6F3YAVYQ.js +0 -64
- package/dist/retry-6F3YAVYQ.js.map +0 -1
- package/dist/retry-QWD3HWFP.js +0 -62
- package/dist/retry-QWD3HWFP.js.map +0 -1
- package/dist/retry-failed-7OAJ5TMD.js +0 -47
- package/dist/retry-failed-7OAJ5TMD.js.map +0 -1
- package/dist/run-CGZIVYLV.js +0 -67
- package/dist/run-CGZIVYLV.js.map +0 -1
- package/dist/run-PZF26R6H.js +0 -59
- package/dist/scaffold-ad-AI6R4GDU.js +0 -1458
- package/dist/scaffold-ad-AI6R4GDU.js.map +0 -1
- package/dist/scaffold-static-ad-T7ZDHRB3.js +0 -944
- package/dist/scaffold-static-ad-T7ZDHRB3.js.map +0 -1
- package/dist/scaffold-video-R24U2WC7.js +0 -840
- package/dist/scaffold-video-R24U2WC7.js.map +0 -1
- package/dist/schedule-BK44B77G.js +0 -68
- package/dist/schedule-BK44B77G.js.map +0 -1
- package/dist/schedule-F2EEY4UK.js +0 -63
- package/dist/schedule-F2EEY4UK.js.map +0 -1
- package/dist/scheduled-agents-CIEAOWM6.js +0 -49
- package/dist/schema-3B6FDPBF.js +0 -131
- package/dist/schema-3B6FDPBF.js.map +0 -1
- package/dist/schema-4FOZ5W35.js +0 -65
- package/dist/schema-4FOZ5W35.js.map +0 -1
- package/dist/scrape-P46M2J43.js +0 -2243
- package/dist/scrape-P46M2J43.js.map +0 -1
- package/dist/screenshot-6F7G3LN5.js +0 -104
- package/dist/screenshot-6F7G3LN5.js.map +0 -1
- package/dist/search-23LREBOG.js +0 -94
- package/dist/search-23LREBOG.js.map +0 -1
- package/dist/search-DNYAA6TT.js +0 -176
- package/dist/search-DNYAA6TT.js.map +0 -1
- package/dist/search-FORHMB7P.js +0 -27
- package/dist/search-KQMPPO3X.js +0 -226
- package/dist/search-KQMPPO3X.js.map +0 -1
- package/dist/search-X4AKUB2K.js +0 -93
- package/dist/search-X4AKUB2K.js.map +0 -1
- package/dist/seeds-K4CHZ2HU.js +0 -103
- package/dist/seeds-K4CHZ2HU.js.map +0 -1
- package/dist/select-52K6KZGY.js +0 -95
- package/dist/sends-UH2MZGCD.js +0 -310
- package/dist/sends-UH2MZGCD.js.map +0 -1
- package/dist/sequences-BXGO3NPA.js +0 -148
- package/dist/sequences-BXGO3NPA.js.map +0 -1
- package/dist/set-prompt-3IXP42AK.js +0 -186
- package/dist/set-prompt-3IXP42AK.js.map +0 -1
- package/dist/setup-links-OV6ALAUU.js +0 -143
- package/dist/setup-links-OV6ALAUU.js.map +0 -1
- package/dist/shared-VMV44VPB.js +0 -32
- package/dist/site-MQ5ORTKV.js +0 -179
- package/dist/site-MQ5ORTKV.js.map +0 -1
- package/dist/sitemaps-LKCTG2WM.js +0 -88
- package/dist/sitemaps-LKCTG2WM.js.map +0 -1
- package/dist/sites-YHUF7G4Z.js +0 -102
- package/dist/sites-YHUF7G4Z.js.map +0 -1
- package/dist/skills-CG674XHN.js +0 -49
- package/dist/skills-CG674XHN.js.map +0 -1
- package/dist/sources-44THTN2Y.js +0 -422
- package/dist/sources-44THTN2Y.js.map +0 -1
- package/dist/sources-BQNCLGWT.js +0 -30
- package/dist/stale-JGLP7BAC.js +0 -63
- package/dist/stale-JGLP7BAC.js.map +0 -1
- package/dist/stats-TO3J2FU6.js +0 -34
- package/dist/status-NJ3SMBGS.js +0 -64
- package/dist/status-NJ3SMBGS.js.map +0 -1
- package/dist/sticker-YBOWSWMR.js +0 -96
- package/dist/sticker-YBOWSWMR.js.map +0 -1
- package/dist/stock-E6NMDSVI.js +0 -181
- package/dist/stock-E6NMDSVI.js.map +0 -1
- package/dist/studio-LHH62SZC.js +0 -49
- package/dist/sync-2R5UKTHN.js +0 -56
- package/dist/sync-2R5UKTHN.js.map +0 -1
- package/dist/sync-AZRR5JNS.js +0 -266
- package/dist/sync-AZRR5JNS.js.map +0 -1
- package/dist/sync-ML7E5J22.js +0 -56
- package/dist/sync-ML7E5J22.js.map +0 -1
- package/dist/sync-definition-LBPI7P5F.js +0 -48
- package/dist/tag-manager-D3YNI7JG.js +0 -43
- package/dist/tags-BYGKXDDS.js +0 -21
- package/dist/tags-BYGKXDDS.js.map +0 -1
- package/dist/tags-OOQV4G2Y.js +0 -26
- package/dist/tags-TKYXWGN4.js +0 -21
- package/dist/tags-TKYXWGN4.js.map +0 -1
- package/dist/tags-V732MEES.js +0 -226
- package/dist/tags-V732MEES.js.map +0 -1
- package/dist/tags-YLC46IXM.js +0 -21
- package/dist/tags-YLC46IXM.js.map +0 -1
- package/dist/targeting-constants-XT56MOGP.js +0 -119
- package/dist/targeting-constants-XT56MOGP.js.map +0 -1
- package/dist/targeting-criteria-24X3IIJS.js +0 -114
- package/dist/targeting-criteria-24X3IIJS.js.map +0 -1
- package/dist/targets-AKAN2HFY.js +0 -104
- package/dist/targets-AKAN2HFY.js.map +0 -1
- package/dist/templates-7MRVQTB2.js +0 -180
- package/dist/templates-7MRVQTB2.js.map +0 -1
- package/dist/testimonials-OIZMXEYZ.js +0 -32
- package/dist/top-companies-3IG5FRQ2.js +0 -109
- package/dist/top-companies-3IG5FRQ2.js.map +0 -1
- package/dist/triggers-ZHNWHJG4.js +0 -143
- package/dist/triggers-ZHNWHJG4.js.map +0 -1
- package/dist/tweets-V5R5DUA2.js +0 -124
- package/dist/tweets-V5R5DUA2.js.map +0 -1
- package/dist/unfollow-RYDJDDAV.js +0 -48
- package/dist/unfollow-RYDJDDAV.js.map +0 -1
- package/dist/unlink-CS7QNOU2.js +0 -68
- package/dist/unlink-CS7QNOU2.js.map +0 -1
- package/dist/unstage-DDZ5F2Z6.js +0 -86
- package/dist/unstage-DDZ5F2Z6.js.map +0 -1
- package/dist/unstage-KPLOFKU5.js +0 -96
- package/dist/unstage-KPLOFKU5.js.map +0 -1
- package/dist/update-ASY63WIK.js +0 -157
- package/dist/update-ASY63WIK.js.map +0 -1
- package/dist/update-HA5IQCJ2.js +0 -99
- package/dist/update-HA5IQCJ2.js.map +0 -1
- package/dist/update-R3VD5DC3.js +0 -143
- package/dist/update-R3VD5DC3.js.map +0 -1
- package/dist/update-WMCBSNSD.js +0 -64
- package/dist/update-WMCBSNSD.js.map +0 -1
- package/dist/upload-ADEYBWTV.js +0 -152
- package/dist/upload-ADEYBWTV.js.map +0 -1
- package/dist/upload-WBNPIOVR.js +0 -128
- package/dist/upload-WBNPIOVR.js.map +0 -1
- package/dist/upscale-WYTZPUIA.js +0 -111
- package/dist/upscale-WYTZPUIA.js.map +0 -1
- package/dist/url-options-DOCH5AWX.js +0 -128
- package/dist/url-options-DOCH5AWX.js.map +0 -1
- package/dist/url-params-IYTU3MVV.js +0 -99
- package/dist/url-params-IYTU3MVV.js.map +0 -1
- package/dist/use-RGJMULXG.js +0 -97
- package/dist/use-RGJMULXG.js.map +0 -1
- package/dist/validate-T22BKIFK.js +0 -89
- package/dist/validate-T22BKIFK.js.map +0 -1
- package/dist/variant-3DBL2RDV.js +0 -339
- package/dist/variant-3DBL2RDV.js.map +0 -1
- package/dist/videos-7SB2CLZW.js +0 -39
- package/dist/view-5QDCP7HF.js +0 -123
- package/dist/view-5QDCP7HF.js.map +0 -1
- package/dist/viewer-check-NGIMC2BR.js +0 -66
- package/dist/web-IRWXTGE2.js +0 -136
- package/dist/web-IRWXTGE2.js.map +0 -1
- package/dist/winners-JSI4N26Y.js +0 -81
- package/dist/winners-JSI4N26Y.js.map +0 -1
- package/dist/winning-ads-XQZ6HEX5.js +0 -62
- package/dist/write-commands-3C3TV2YC.js +0 -714
- package/dist/write-commands-3C3TV2YC.js.map +0 -1
- package/dist/write-commands-7WIG5UDU.js +0 -731
- package/dist/write-commands-7WIG5UDU.js.map +0 -1
- package/dist/write-commands-G7HHGAEE.js +0 -1009
- package/dist/write-commands-G7HHGAEE.js.map +0 -1
- package/dist/write-commands-ROQSZFXR.js +0 -207
- package/dist/write-commands-ROQSZFXR.js.map +0 -1
- package/dist/x-BLTCL6L3.js +0 -47
- /package/dist/{actions-7XF5L4U3.js.map → actions-PEI6ZQAG.js.map} +0 -0
- /package/dist/{ads-IRE5RZCS.js.map → ads-TJ7ACFHG.js.map} +0 -0
- /package/dist/{avatars-G54K55J3.js.map → avatars-2UQJXHPV.js.map} +0 -0
- /package/dist/{brand-ODTHWWFL.js.map → brand-XBABUT52.js.map} +0 -0
- /package/dist/{canvas-M5HAG7VA.js.map → canvas-KEXE5P6S.js.map} +0 -0
- /package/dist/{chatgpt-PLKNBNVL.js.map → chatgpt-7W75X3ER.js.map} +0 -0
- /package/dist/{chunk-OZLBLXTK.js.map → chunk-2TK4DEOE.js.map} +0 -0
- /package/dist/{chunk-ZHW3O25C.js.map → chunk-4NDCTLI5.js.map} +0 -0
- /package/dist/{chunk-5NQIFCNX.js.map → chunk-5ARG3CQG.js.map} +0 -0
- /package/dist/{chunk-ZAFR46HG.js.map → chunk-5Z2KSVIV.js.map} +0 -0
- /package/dist/{chunk-EYO62URT.js.map → chunk-6B7VKFS4.js.map} +0 -0
- /package/dist/{chunk-W7OFLOZB.js.map → chunk-6G5K6ZC6.js.map} +0 -0
- /package/dist/{chunk-RJAQEZVD.js.map → chunk-73QKIIIR.js.map} +0 -0
- /package/dist/{chunk-YS6PCTPS.js.map → chunk-75FDTDLH.js.map} +0 -0
- /package/dist/{chunk-NGT6MARJ.js.map → chunk-7J6EHOH6.js.map} +0 -0
- /package/dist/{chunk-TD44SXQX.js.map → chunk-7OFNN4CT.js.map} +0 -0
- /package/dist/{chunk-LDVMMLRA.js.map → chunk-C6U6UDHJ.js.map} +0 -0
- /package/dist/{chunk-6FBZ5E6L.js.map → chunk-DIY6QR3E.js.map} +0 -0
- /package/dist/{chunk-F3WFP75M.js.map → chunk-EFSYTROP.js.map} +0 -0
- /package/dist/{chunk-4MU3U3SO.js.map → chunk-FEXDI4NM.js.map} +0 -0
- /package/dist/{chunk-YMOVI3WT.js.map → chunk-FHXIEMCG.js.map} +0 -0
- /package/dist/{chunk-R34LJSPM.js.map → chunk-H26L3OQY.js.map} +0 -0
- /package/dist/{chunk-NMMKTPGI.js.map → chunk-HIPDMQZ6.js.map} +0 -0
- /package/dist/{chunk-FRVROFI6.js.map → chunk-HYCIBVDW.js.map} +0 -0
- /package/dist/{chunk-BSUN6JMU.js.map → chunk-IFWP3ZDO.js.map} +0 -0
- /package/dist/{chunk-LQ4HBQ2B.js.map → chunk-IXKEWS7X.js.map} +0 -0
- /package/dist/{chunk-DPEQVHTX.js.map → chunk-JERXV5A3.js.map} +0 -0
- /package/dist/{chunk-TCSPJQ2X.js.map → chunk-KLNKEVIY.js.map} +0 -0
- /package/dist/{chunk-JMXBUIVI.js.map → chunk-KNY76UGC.js.map} +0 -0
- /package/dist/{chunk-IMZIECST.js.map → chunk-KWAOTV7F.js.map} +0 -0
- /package/dist/{chunk-A57AHUNA.js.map → chunk-LERTEZST.js.map} +0 -0
- /package/dist/{chunk-73MCYA5Z.js.map → chunk-LL2CD5WU.js.map} +0 -0
- /package/dist/{chunk-UA5EUJXV.js.map → chunk-LO6GEJ4Z.js.map} +0 -0
- /package/dist/{chunk-IRHNWYDT.js.map → chunk-LS5MTRFI.js.map} +0 -0
- /package/dist/{chunk-F7HBCFUA.js.map → chunk-LZ73CZGP.js.map} +0 -0
- /package/dist/{chunk-NGYKF4T6.js.map → chunk-MELOSESI.js.map} +0 -0
- /package/dist/{chunk-SXRSLUW7.js.map → chunk-NAWWC5I3.js.map} +0 -0
- /package/dist/{chunk-FFZBW4CC.js.map → chunk-NPE7EWBE.js.map} +0 -0
- /package/dist/{chunk-JH7NHC5W.js.map → chunk-OKG6GX2F.js.map} +0 -0
- /package/dist/{chunk-WAQYXH2U.js.map → chunk-PBA3YCZA.js.map} +0 -0
- /package/dist/{chunk-AWICKT2B.js.map → chunk-PWGWMIIJ.js.map} +0 -0
- /package/dist/{chunk-F6NJAHAZ.js.map → chunk-QHLB5V7J.js.map} +0 -0
- /package/dist/{chunk-TTFTS2SO.js.map → chunk-QJE6ZYGI.js.map} +0 -0
- /package/dist/{chunk-Y4JR4RDM.js.map → chunk-QSN5MZGS.js.map} +0 -0
- /package/dist/{chunk-HWWPDUZM.js.map → chunk-RSW6QJPH.js.map} +0 -0
- /package/dist/{chunk-LYZVLKRA.js.map → chunk-SBMIQDCX.js.map} +0 -0
- /package/dist/{chunk-BDD2ILIT.js.map → chunk-STIB5DR5.js.map} +0 -0
- /package/dist/{chunk-A3PEJ3V3.js.map → chunk-TBEUMOEL.js.map} +0 -0
- /package/dist/{chunk-RPFBZHHE.js.map → chunk-TD2P4HBP.js.map} +0 -0
- /package/dist/{chunk-CBEL3P22.js.map → chunk-VBHDZSI5.js.map} +0 -0
- /package/dist/{chunk-6YWRJMGR.js.map → chunk-VFIOJD5M.js.map} +0 -0
- /package/dist/{chunk-QYOPQRLI.js.map → chunk-VVZBBKRC.js.map} +0 -0
- /package/dist/{chunk-G32FXVQ6.js.map → chunk-W3B4BHQU.js.map} +0 -0
- /package/dist/{chunk-Q7UF4ERB.js.map → chunk-WS2GMOSG.js.map} +0 -0
- /package/dist/{chunk-EPK2GYLV.js.map → chunk-XBOK23HI.js.map} +0 -0
- /package/dist/{chunk-HA5D6US2.js.map → chunk-XG3XCHN6.js.map} +0 -0
- /package/dist/{chunk-L4DOL7L7.js.map → chunk-XL3BMSYG.js.map} +0 -0
- /package/dist/{chunk-ECXNE6RJ.js.map → chunk-XYMPS526.js.map} +0 -0
- /package/dist/{chunk-WWD4PITU.js.map → chunk-YBMVHGY3.js.map} +0 -0
- /package/dist/{client-XKDFFS7O.js.map → client-VHN32ZRE.js.map} +0 -0
- /package/dist/{connect-ATGYJNG4.js.map → connect-TA5W6YGW.js.map} +0 -0
- /package/dist/{customers-ACRYXALZ.js.map → customers-4RJGRR2Y.js.map} +0 -0
- /package/dist/{env-ODWJOKNV.js.map → env-KIP2J2UB.js.map} +0 -0
- /package/dist/{fit-5WZ6NVSF.js.map → fit-KXHYKIA4.js.map} +0 -0
- /package/dist/{fonts-7U7I2TWV.js.map → fonts-NTOQS2KU.js.map} +0 -0
- /package/dist/{ga4-QPEXE6YG.js.map → ga4-UDQ2HA2J.js.map} +0 -0
- /package/dist/{gsc-LC5ADBA3.js.map → gsc-P3QYGDV2.js.map} +0 -0
- /package/dist/{ideas-NEBJBIBM.js.map → ideas-PU7IAX6F.js.map} +0 -0
- /package/dist/{images-ASWWS5TH.js.map → images-QI2HTX6B.js.map} +0 -0
- /package/dist/{ingest-X7UPOCKP.js.map → ingest-BYJNFOOT.js.map} +0 -0
- /package/dist/{inspiration-64DY3QWN.js.map → inspiration-I4MMKAWA.js.map} +0 -0
- /package/dist/{learn-D4D75X2Y.js.map → learn-HZU3QWNN.js.map} +0 -0
- /package/dist/{logo-7O7VW5R3.js.map → logo-2IP663QO.js.map} +0 -0
- /package/dist/{lookup-Z2X5WAO6.js.map → lookup-XK45W2SH.js.map} +0 -0
- /package/dist/{media-7P66TUIR.js.map → media-M7E6V2XU.js.map} +0 -0
- /package/dist/{media-sources-427U333M.js.map → media-sources-3D246I3O.js.map} +0 -0
- /package/dist/{meta-JH4FHVNX.js.map → meta-EZ4SY25M.js.map} +0 -0
- /package/dist/{output-ZLXBAA4O.js.map → output-RAH3TSIL.js.map} +0 -0
- /package/dist/{performance-SOMZNPIG.js.map → performance-7LQQCEAW.js.map} +0 -0
- /package/dist/{reddit-OPHQFRRC.js.map → reddit-INGPFGP4.js.map} +0 -0
- /package/dist/{research-MG3MESKH.js.map → research-PA53M335.js.map} +0 -0
- /package/dist/{run-PZF26R6H.js.map → run-2IM2QOCI.js.map} +0 -0
- /package/dist/{scheduled-agents-CIEAOWM6.js.map → scheduled-agents-2NCGSD76.js.map} +0 -0
- /package/dist/{search-FORHMB7P.js.map → search-XUIVHGAY.js.map} +0 -0
- /package/dist/{select-52K6KZGY.js.map → select-ZWDEVAH2.js.map} +0 -0
- /package/dist/{shared-VMV44VPB.js.map → shared-HJDFNID4.js.map} +0 -0
- /package/dist/{sources-BQNCLGWT.js.map → sources-UGMZFZ2E.js.map} +0 -0
- /package/dist/{stats-TO3J2FU6.js.map → stats-NNXZMPZR.js.map} +0 -0
- /package/dist/{studio-LHH62SZC.js.map → studio-HUEBE6DS.js.map} +0 -0
- /package/dist/{sync-definition-LBPI7P5F.js.map → sync-definition-YBDM7D4M.js.map} +0 -0
- /package/dist/{tag-manager-D3YNI7JG.js.map → tag-manager-HREEYGVM.js.map} +0 -0
- /package/dist/{tags-OOQV4G2Y.js.map → tags-R3K35KTL.js.map} +0 -0
- /package/dist/{testimonials-OIZMXEYZ.js.map → testimonials-5QGCPZ6K.js.map} +0 -0
- /package/dist/{videos-7SB2CLZW.js.map → videos-GIYDCCKR.js.map} +0 -0
- /package/dist/{viewer-check-NGIMC2BR.js.map → viewer-check-VN2JK2LW.js.map} +0 -0
- /package/dist/{winning-ads-XQZ6HEX5.js.map → winning-ads-7QWEIMRU.js.map} +0 -0
- /package/dist/{x-BLTCL6L3.js.map → x-OEAKQBB7.js.map} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/research/customers.ts"],"sourcesContent":["import { mkdir, readdir, readFile, writeFile } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport type {\n ResearchFetchRequest,\n ResearchFetchResponse,\n ResearchRedditItem,\n TestimonialsSearchRequest,\n} from \"@baker/api\";\nimport { CUSTOMER_INSIGHTS_MODEL } from \"@baker/canvas-contract\";\nimport { defineCommand } from \"citty\";\nimport { parse as parseYaml } from \"yaml\";\nimport { z } from \"zod\";\nimport { apiGet, apiPost } from \"../../client.ts\";\nimport { askAboutText, type ReviewUsage } from \"../../engine/nodes/local/lib/render-review.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { findWorkspaceRoot } from \"../canvas/normalize-paths.ts\";\nimport { holdUnbilledSpend } from \"../canvas/unbilled-spend.ts\";\nimport { findSubreddits, searchReddit } from \"./reddit.ts\";\n\n/**\n * `baker research customers` — what real customers say, kept only where they said it.\n *\n * Ads start from a customer's own words. An agent asked for those words writes plausible ones,\n * and a plausible quote is the one thing an ad must never carry. So nothing here is written by\n * the agent or the model: the model only POINTS at a span of a fetched text, and the code keeps\n * that span only if it is in that text as written (`keepVerbatim`). One Knowledge file per\n * insight, `status: observed`.\n */\n\nexport const INSIGHT_TYPES = [\n \"accommodation\",\n \"failed_solution\",\n \"nearly_didnt\",\n \"word\",\n \"moment\",\n \"pain\",\n \"objection\",\n \"desire\",\n \"proof\",\n \"other\",\n] as const;\nexport type InsightType = (typeof INSIGHT_TYPES)[number];\n\nexport const FORCES = [\"push\", \"pull\", \"anxiety\", \"habit\"] as const;\nexport type Force = (typeof FORCES)[number];\n\nexport type SourceKind = \"review\" | \"testimonial\" | \"reddit\" | \"web\";\n\n/** One text a customer wrote, as the model is shown it and the gate checks it. */\nexport type CustomerSource = {\n /** What the insight cites: a URL, or `testimonials:<id>`. */\n ref: string;\n kind: SourceKind;\n text: string;\n /** One line: who said it, where. */\n context: string;\n /** When it was said, YYYY-MM-DD, when the source knows. */\n saidOn?: string;\n};\n\n/** What the model points at: a span of source number `source` (1-based, as the prompt numbers them). */\nexport type Candidate = {\n source: number;\n quote: string;\n type: InsightType;\n force?: Force;\n persona?: string;\n};\n\n/** A candidate whose quote is in its source as written. */\nexport type VerbatimInsight = Omit<Candidate, \"source\"> & { source: CustomerSource };\n\nexport const MAX_QUOTE_CHARS = 280;\n\n/** Curly and prime quote marks, by code point: single ones read as ', double ones as \". */\nconst SINGLE_QUOTES = new Set([0x2018, 0x2019, 0x201a, 0x201b, 0x2032]);\nconst DOUBLE_QUOTES = new Set([0x201c, 0x201d, 0x201e, 0x201f, 0x2033]);\n\nfunction foldChar(char: string): string {\n if (/\\s/.test(char)) return \" \";\n const code = char.codePointAt(0) ?? 0;\n if (SINGLE_QUOTES.has(code)) return \"'\";\n if (DOUBLE_QUOTES.has(code)) return '\"';\n return char.normalize(\"NFKC\").toLowerCase();\n}\n\n/**\n * A text in the form quotes are compared in (curly quotes straightened, spacing collapsed, case\n * folded), with, for each folded character, where it starts in the original.\n */\nfunction foldWithOffsets(text: string): { folded: string; offsets: number[] } {\n let folded = \"\";\n const offsets: number[] = [];\n let at = 0;\n for (const char of text) {\n const out = foldChar(char);\n const collapses = out === \" \" && (folded.length === 0 || folded.endsWith(\" \"));\n if (!collapses) {\n for (const piece of out) {\n folded += piece;\n offsets.push(at);\n }\n }\n at += char.length;\n }\n if (folded.endsWith(\" \")) {\n folded = folded.slice(0, -1);\n offsets.pop();\n }\n return { folded, offsets };\n}\n\n/**\n * Where `quote` sits in `text` under the comparison form, as the original's own characters\n * (spacing collapsed), or null when it is not there.\n */\nfunction findVerbatim(quote: string, text: string): string | null {\n const needle = foldWithOffsets(quote).folded;\n if (needle.length === 0) return null;\n const { folded, offsets } = foldWithOffsets(text);\n const start = folded.indexOf(needle);\n if (start < 0) return null;\n const last = offsets[start + needle.length - 1] ?? 0;\n const end = last + (String.fromCodePoint(text.codePointAt(last) ?? 0).length || 1);\n return text.slice(offsets[start], end).replace(/\\s+/g, \" \").trim();\n}\n\n/**\n * The gate: a candidate survives only if its quote is in the source it cites, and what is kept\n * is the source's own spelling of that span, not the model's copy of it. Everything else (a\n * paraphrase, a quote cited to the wrong text, a source that does not exist) is dropped and\n * counted, never repaired; a span longer than MAX_QUOTE_CHARS is counted apart. Pure.\n */\nexport function keepVerbatim(\n candidates: readonly Candidate[],\n sources: readonly CustomerSource[],\n): { kept: VerbatimInsight[]; dropped: number; tooLong: number } {\n const kept: VerbatimInsight[] = [];\n let dropped = 0;\n let tooLong = 0;\n for (const { source: index, ...rest } of candidates) {\n const source = sources[index - 1];\n const quote = source ? findVerbatim(rest.quote, source.text) : null;\n if (!source || !quote) {\n dropped++;\n continue;\n }\n if (quote.length > MAX_QUOTE_CHARS) {\n tooLong++;\n continue;\n }\n kept.push({ ...rest, quote, source });\n }\n return { kept, dropped, tooLong };\n}\n\nconst SLUG_WORDS = 6;\n\n/** Lowercase ASCII words, accents dropped. */\nfunction asciiWords(text: string): string[] {\n return text\n .normalize(\"NFKD\")\n .replace(/\\p{M}/gu, \"\")\n .toLowerCase()\n .replace(/[^a-z0-9]+/g, \" \")\n .trim()\n .split(\" \")\n .filter(Boolean);\n}\n\n/** The file name an insight gets: its type, then the first words of its quote, kebab-case ASCII. Pure. */\nfunction insightSlug(type: InsightType, quote: string): string {\n return [type.replace(/_/g, \"-\"), ...asciiWords(quote).slice(0, SLUG_WORDS)].join(\"-\");\n}\n\nexport type PlannedInsight = { id: string; insight: VerbatimInsight };\n\n/**\n * Which insights to write and under what id. The first five types first (they write most of an\n * ad), at most `limit`. A quote already on file (or already planned) is skipped; an id held by a\n * different quote gets a `-2`, `-3`… so a file is never overwritten. Pure.\n */\nexport function planInsightWrites(\n insights: readonly VerbatimInsight[],\n existing: readonly { id: string; quote: string }[],\n limit: number,\n): { writes: PlannedInsight[]; skippedExisting: number } {\n const quotes = new Set(existing.map((e) => foldWithOffsets(e.quote).folded));\n const ids = new Set(existing.map((e) => e.id));\n const ranked = [...insights].sort((a, b) => INSIGHT_TYPES.indexOf(a.type) - INSIGHT_TYPES.indexOf(b.type));\n const writes: PlannedInsight[] = [];\n let skippedExisting = 0;\n for (const insight of ranked) {\n const folded = foldWithOffsets(insight.quote).folded;\n if (quotes.has(folded)) {\n skippedExisting++;\n continue;\n }\n if (writes.length >= limit) continue;\n const base = insightSlug(insight.type, insight.quote);\n let id = base;\n for (let n = 2; ids.has(id); n++) id = `${base}-${n}`;\n quotes.add(folded);\n ids.add(id);\n writes.push({ id, insight });\n }\n return { writes, skippedExisting };\n}\n\n/** A frontmatter string, YAML-safe: a JSON string is a valid double-quoted YAML scalar. */\nfunction yamlScalar(value: string): string {\n return JSON.stringify(value);\n}\n\nconst TITLE_CHARS = 70;\n\n/** The quote's opening words as the entry's title, in quote marks, so the Knowledge list reads as what was said. */\nfunction insightTitle(quote: string): string {\n const text = quote.replace(/[\"“”]/g, \"\").replace(/\\s+/g, \" \").trim();\n if (text.length <= TITLE_CHARS) return `“${text}”`;\n const cut = text.slice(0, TITLE_CHARS);\n return `“${cut.slice(0, cut.lastIndexOf(\" \")).replace(/[,;:.]$/, \"\")}…”`;\n}\n\n/**\n * The insight's Knowledge file (`src/content/insights/<id>.md`): frontmatter per the `insights`\n * collection, `status: observed`, and one line of context as the body. Pure.\n */\nexport function renderInsightFile(insight: VerbatimInsight, opts: { today: string; product?: string }): string {\n const { source } = insight;\n const lines = [\n \"---\",\n `title: ${yamlScalar(insightTitle(insight.quote))}`,\n `type: ${insight.type}`,\n `quote: ${yamlScalar(insight.quote)}`,\n `source: ${yamlScalar(source.ref)}`,\n `sourceKind: ${source.kind}`,\n `seenAt: ${yamlScalar(source.saidOn ?? opts.today)}`,\n \"status: observed\",\n ];\n if (insight.force) lines.push(`force: ${insight.force}`);\n if (insight.persona?.trim()) lines.push(`persona: ${yamlScalar(insight.persona.trim())}`);\n if (opts.product) lines.push(`product: ${yamlScalar(opts.product)}`);\n lines.push(\"---\", \"\", source.context.replace(/\\s+/g, \" \").trim(), \"\");\n return lines.join(\"\\n\");\n}\n\n/** How much of one review or comment the model reads (and the gate checks against). */\nconst MAX_SHORT_SOURCE_CHARS = 1_500;\n\nconst PLATFORM_NAMES: Record<string, string> = {\n google: \"Google\",\n trustpilot: \"Trustpilot\",\n yelp: \"Yelp\",\n tripadvisor: \"Tripadvisor\",\n g2: \"G2\",\n capterra: \"Capterra\",\n amazon: \"Amazon\",\n app_store: \"App Store\",\n google_play: \"Google Play\",\n};\n\n/** One library review as `/api/testimonials` returns it, read loosely so a new field never empties the list. */\nconst LibraryReviewSchema = z.object({\n _id: z.string().min(1),\n reviewText: z.string(),\n sourceType: z.string().optional(),\n reviewerName: z.string().optional(),\n rating: z.number().optional(),\n reviewDate: z.number().optional(),\n});\n\nfunction dayOf(ms: number | string): string | undefined {\n const date = new Date(ms);\n return Number.isNaN(date.getTime()) ? undefined : date.toISOString().slice(0, 10);\n}\n\n/** \"A …\" or \"An …\", ending in one full stop. */\nfunction sentence(rest: string): string {\n const line = `${/^[aeiou]/i.test(rest) ? \"An\" : \"A\"} ${rest}`;\n return line.endsWith(\".\") ? line : `${line}.`;\n}\n\n/** \"A 4★ Trustpilot review by Marta G.\" */\nfunction reviewContext(review: z.infer<typeof LibraryReviewSchema>): string {\n const platform = review.sourceType ? `${PLATFORM_NAMES[review.sourceType] ?? review.sourceType} ` : \"\";\n const rating = review.rating !== undefined ? `${review.rating}★ ` : \"\";\n const by = review.reviewerName?.trim() ? ` by ${review.reviewerName.trim()}` : \"\";\n return sentence(`${rating}${platform}review${by}`);\n}\n\n/** The company's reviews (a plain list from `/api/testimonials`) as sources, each cited `testimonials:<id>`. Pure. */\nexport function sourcesFromTestimonials(data: unknown): CustomerSource[] {\n const list = Array.isArray(data) ? data : [];\n return list.flatMap((item): CustomerSource[] => {\n const parsed = LibraryReviewSchema.safeParse(item);\n if (!parsed.success) return [];\n const review = parsed.data;\n const text = review.reviewText.trim().slice(0, MAX_SHORT_SOURCE_CHARS);\n if (!text) return [];\n const saidOn = review.reviewDate !== undefined ? dayOf(review.reviewDate) : undefined;\n return [\n {\n ref: `testimonials:${review._id}`,\n kind: \"review\",\n text,\n context: reviewContext(review),\n ...(saidOn ? { saidOn } : {}),\n },\n ];\n });\n}\n\n/** Reddit posts and comments as sources, each cited by its own permalink; a post's title counts as its words. Pure. */\nexport function sourcesFromReddit(items: readonly ResearchRedditItem[]): CustomerSource[] {\n return items.flatMap((item): CustomerSource[] => {\n const words = item.kind === \"post\" ? [item.title ?? \"\", item.text].filter((t) => t.trim()).join(\"\\n\\n\") : item.text;\n const text = words.trim().slice(0, MAX_SHORT_SOURCE_CHARS);\n if (!text) return [];\n const under = item.kind === \"comment\" && item.title ? `, under ${JSON.stringify(item.title)}` : \"\";\n const saidOn = dayOf(item.createdAt);\n return [\n {\n ref: item.permalink,\n kind: \"reddit\",\n text,\n context: `A Reddit ${item.kind} in r/${item.subreddit}${under}.`,\n ...(saidOn ? { saidOn } : {}),\n },\n ];\n });\n}\n\n/** How much of one web page the model reads (and the gate checks against). */\nconst MAX_PAGE_SOURCE_CHARS = 6_000;\n\n/** Pages read with `research fetch` as sources, each cited by where the read landed. Pure. */\nexport function sourcesFromPages(pages: readonly ResearchFetchResponse[]): CustomerSource[] {\n return pages.flatMap((page): CustomerSource[] => {\n const text = page.content.trim().slice(0, MAX_PAGE_SOURCE_CHARS);\n if (!text) return [];\n const host = URL.canParse(page.finalUrl) ? new URL(page.finalUrl).host : page.finalUrl;\n const title = page.title?.trim() ? `, ${JSON.stringify(page.title.trim())}` : \"\";\n return [{ ref: page.finalUrl, kind: \"web\", text, context: `A page on ${host}${title}.` }];\n });\n}\n\n/**\n * The classification prompt: numbered texts, and the instruction to point at exact spans of\n * them. What comes back is only a pointer; `keepVerbatim` decides what is kept. Pure.\n */\nexport function buildCustomersPrompt(sources: readonly CustomerSource[], focus?: string): string {\n return [\n `Below are ${sources.length} numbered texts written by real customers (reviews, testimonials, forum posts and comments, web pages)${focus ? `, gathered about: ${focus}` : \"\"}.`,\n \"Find the customer truths in them, the material ads are written from.\",\n \"\",\n \"Rules:\",\n \"- Every quote must be an EXACT substring of the text it cites: the same words, in the same order, with the same spelling and typos. Copy, never paraphrase, translate, summarize, correct or join two passages.\",\n `- The shortest span that carries the truth, at most ${MAX_QUOTE_CHARS} characters.`,\n \"- Only the customer's own words: skip a seller's reply, an ad, a page's marketing copy, and a text with no truth in it. Return fewer, or none, rather than invent.\",\n \"- type: accommodation (a workaround they live with), failed_solution (what they tried before that failed them), nearly_didnt (what nearly stopped them buying), word (their own word or phrase for the problem), moment (the moment that started their search), pain, objection, desire, proof (a result they got), other.\",\n \"- force, when it speaks to one: push (what pushes them off the old way), pull (what draws them to the new one), anxiety (what they fear about changing), habit (what keeps them where they are).\",\n '- persona: a few words on who is speaking, only when the text says it (\"restaurant owner\", \"night-shift courier\").',\n \"\",\n 'Reply with only this JSON: {\"insights\":[{\"source\":1,\"quote\":\"\",\"type\":\"\",\"force\":\"\",\"persona\":\"\"}]}',\n \"\",\n \"Texts:\",\n ...sources.map((source, i) => `[${i + 1}] ${source.text}`),\n ].join(\"\\n\");\n}\n\nconst AnswerSchema = z.object({ insights: z.array(z.unknown()) });\n\nconst CandidateSchema = z.object({\n source: z.coerce.number().int().positive(),\n quote: z.string().trim().min(1),\n type: z.enum(INSIGHT_TYPES).catch(\"other\"),\n force: z.enum(FORCES).optional().catch(undefined),\n persona: z.string().trim().optional().catch(undefined),\n});\n\n/** The model's spans, or null when the reply is not the asked shape. An item that is not a span is dropped. Pure. */\nexport function candidatesFrom(answer: unknown): Candidate[] | null {\n const parsed = AnswerSchema.safeParse(answer);\n if (!parsed.success) return null;\n return parsed.data.insights.flatMap((item): Candidate[] => {\n const candidate = CandidateSchema.safeParse(item);\n if (!candidate.success) return [];\n const { source, quote, type, force, persona } = candidate.data;\n return [{ source, quote, type, ...(force ? { force } : {}), ...(persona ? { persona } : {}) }];\n });\n}\n\n/** Sources in batches of at most `budget` characters of text; a source is never split. Pure. */\nexport function batchSources(sources: readonly CustomerSource[], budget: number): CustomerSource[][] {\n const batches: CustomerSource[][] = [];\n let current: CustomerSource[] = [];\n let size = 0;\n for (const source of sources) {\n if (current.length > 0 && size + source.text.length > budget) {\n batches.push(current);\n current = [];\n size = 0;\n }\n current.push(source);\n size += source.text.length;\n }\n if (current.length > 0) batches.push(current);\n return batches;\n}\n\n/** How many insights answered per source; null when the source was not asked or did not answer. */\nexport type SourceCounts = { testimonials: number | null; reddit: number | null; web: number | null };\n\nconst FEW_OBSERVED = 5;\n\n/** What the agent does next. Pure. */\nexport function customersHints(input: { written: number; sources: SourceCounts }): string[] {\n const { written, sources } = input;\n const widen =\n 'Search in the customers\\' own words with --query \"<the words they write>\" (their phrasing, not a category name), or add --web.';\n if (written === 0) {\n return [\n \"No customer words were found to keep, so nothing was written. Import where customers already talk: `baker testimonials sources add <review page link>` (Google, Trustpilot, G2, app stores…) brings their reviews into the library; then run this again.\",\n ...(sources.reddit === null\n ? ['Reddit was not read: pass --focus \"<product>\" or --query \"<their words>\".']\n : [widen]),\n \"Until there are observed truths, ad ideas go in as explore bets: an idea with an empty `evidence` list.\",\n ];\n }\n const cite = `Cite these by id in an idea's \\`evidence\\` (src/creatives/_ideas/<idea>.md); write the ad from the quote as said.`;\n return written < FEW_OBSERVED ? [`Only ${written} observed. ${widen}`, cite] : [cite];\n}\n\n// ---------------------------------------------------------------------------\n// The command: gather, classify, gate, write\n// ---------------------------------------------------------------------------\n\nconst INSIGHTS_DIR = path.join(\"src\", \"content\", \"insights\");\nconst BATCH_CHARS = 24_000;\nconst MAX_BATCHES = 5;\nconst WEB_PAGES = 3;\nconst DEFAULT_LIMIT = 20;\nconst SHOWN_QUOTE_CHARS = 120;\nconst READ_TIMEOUT_MS = 180_000;\n\nconst DESCRIPTION = `Gather what real customers say and keep it as Knowledge: one file per customer truth in src/content/insights/<id>.md, each a quote found word for word in its source (status: observed). Ads and ideas are written from these.\n\nStart here: baker research customers --focus \"<product or persona>\"\n\nReads the company's review library, Reddit (with --focus or --query) and, with --web, a few web pages. A model only points at spans; a quote is kept only if it appears verbatim in the text it came from, and everything else is dropped and counted. Never write an insight by hand.\n\nExamples:\n baker research customers --focus \"payroll app for restaurants\"\n baker research customers --query \"chasing invoices\" --web\n baker research customers --dry-run`;\n\nconst ARGS = {\n focus: {\n type: \"string\",\n required: false,\n description:\n 'The product or persona to listen for, e.g. \"payroll for restaurants\". Also the Reddit search when --query is not given.',\n },\n query: {\n type: \"string\",\n required: false,\n description: 'Search terms in the customers\\' own words, e.g. \"chasing invoices\". Used for Reddit and the web.',\n },\n limit: { type: \"string\", required: false, description: `Most insights written (default ${DEFAULT_LIMIT}).` },\n web: {\n type: \"boolean\",\n required: false,\n default: false,\n description: `Also read up to ${WEB_PAGES} web pages where customers talk about it (slower).`,\n },\n \"dry-run\": {\n type: \"boolean\",\n required: false,\n default: false,\n description: \"Show what would be written; write nothing.\",\n },\n full: {\n type: \"boolean\",\n required: false,\n default: false,\n description: \"Add each insight's whole quote, source and context.\",\n },\n} as const;\n\nregisterSchema({ command: \"research.customers\", description: DESCRIPTION, args: ARGS });\n\nconst QuoteFrontmatter = z.object({ quote: z.string() });\n\n/** An insight file's `quote`, or \"\" when it has none that reads. */\nfunction quoteOf(raw: string): string {\n const front = raw.match(/^---\\r?\\n([\\s\\S]*?)\\r?\\n---/)?.[1];\n if (!front) return \"\";\n try {\n const parsed = QuoteFrontmatter.safeParse(parseYaml(front));\n return parsed.success ? parsed.data.quote : \"\";\n } catch {\n return \"\";\n }\n}\n\n/** The insights already on file, id and quote. Never throws. */\nasync function readExistingInsights(dir: string): Promise<{ id: string; quote: string }[]> {\n const files = (await readdir(dir).catch(() => [] as string[])).filter((f) => f.endsWith(\".md\"));\n return await Promise.all(\n files.map(async (file) => ({\n id: file.slice(0, -3),\n quote: quoteOf(await readFile(path.join(dir, file), \"utf8\").catch(() => \"\")),\n })),\n );\n}\n\n/** The product entries' names (file slugs). Never throws. */\nasync function productSlugs(root: string): Promise<string[]> {\n const files = await readdir(path.join(root, \"src\", \"content\", \"products\")).catch(() => [] as string[]);\n return files.filter((f) => f.endsWith(\".md\")).map((f) => f.slice(0, -3));\n}\n\n/** The library's reviews: the ones about --focus when given, else the latest. Null when the library did not answer. */\nasync function gatherTestimonials(focus: string | undefined): Promise<CustomerSource[] | null> {\n try {\n const search: TestimonialsSearchRequest = { query: focus ?? \"\", limit: 40 };\n const data = focus\n ? await apiPost<unknown>(\"/api/testimonials/search\", search)\n : await apiGet<unknown>(\"/api/testimonials\", { limit: \"50\" });\n return sourcesFromTestimonials(data);\n } catch {\n return null;\n }\n}\n\n/** Reddit posts and comments matching `query`, in the subreddits where it is talked about. Null when Reddit did not answer. */\nasync function gatherReddit(query: string): Promise<CustomerSource[] | null> {\n const subreddits = await findSubreddits({ query: query.slice(0, 100), limit: 3 })\n .then((r) => r.results.filter((s) => s.access !== \"private\").map((s) => s.name))\n .catch(() => [] as string[]);\n const answers = await Promise.allSettled([\n searchReddit({ query, subreddits, kind: \"posts\", limit: 15 }),\n ...(subreddits.length > 0 ? [searchReddit({ query, subreddits, kind: \"comments\", limit: 25 })] : []),\n ]);\n if (answers.every((a) => a.status === \"rejected\")) return null;\n const seen = new Set<string>();\n const items = answers\n .flatMap((a) => (a.status === \"fulfilled\" ? a.value.results : []))\n .filter((item) => !seen.has(item.id) && Boolean(seen.add(item.id)));\n return sourcesFromReddit(items);\n}\n\nconst ExploreAnswer = z.object({ sources: z.array(z.object({ url: z.string() })) });\n\n/**\n * Web research cites its pages through Google's grounding redirect; a quote must cite the page\n * itself, so the redirect is followed once (no body read). Any other URL, or a redirect that does\n * not answer, is kept as it is.\n */\nasync function resolveGroundingRedirect(url: string): Promise<string> {\n if (!URL.canParse(url) || new URL(url).host !== \"vertexaisearch.cloud.google.com\") return url;\n try {\n const response = await fetch(url, { method: \"HEAD\", redirect: \"manual\", signal: AbortSignal.timeout(15_000) });\n const location = response.headers.get(\"location\");\n return location && URL.canParse(location) ? location : url;\n } catch {\n return url;\n }\n}\n\n/** A few web pages where customers talk about `topic`, each read whole. Null when the web did not answer. */\nasync function gatherWeb(topic: string): Promise<CustomerSource[] | null> {\n let urls: string[];\n try {\n const found = ExploreAnswer.parse(\n await apiPost<unknown>(\n \"/api/research/explore\",\n {\n question: `Which pages carry first-hand customer comments about ${topic}, in the customers' own words: reviews, complaints, forum threads?`,\n depth: \"medium\",\n },\n { timeoutMs: READ_TIMEOUT_MS },\n ),\n );\n urls = (await Promise.all(found.sources.slice(0, WEB_PAGES * 2).map((s) => resolveGroundingRedirect(s.url))))\n .filter((u) => !/reddit\\.com/i.test(u))\n .filter((u, i, all) => all.indexOf(u) === i);\n } catch {\n return null;\n }\n const pages = await Promise.allSettled(\n urls.slice(0, WEB_PAGES).map((url) => {\n const body: ResearchFetchRequest = { url };\n return apiPost<ResearchFetchResponse>(\"/api/research/fetch\", body, { timeoutMs: READ_TIMEOUT_MS });\n }),\n );\n return sourcesFromPages(pages.flatMap((p) => (p.status === \"fulfilled\" ? [p.value] : [])));\n}\n\n/** One batch's spans, asked at most twice; null when the model never answered in shape. */\nasync function classifyBatch(\n batch: CustomerSource[],\n focus: string | undefined,\n onSpend: (usage: ReviewUsage) => void,\n): Promise<Candidate[] | null> {\n const prompt = buildCustomersPrompt(batch, focus);\n for (let attempt = 0; attempt < 2; attempt++) {\n const candidates = candidatesFrom(await askAboutText(CUSTOMER_INSIGHTS_MODEL, prompt, onSpend));\n if (candidates) return candidates;\n }\n return null;\n}\n\n/** Sources taken in turn from each list, so every kind reaches the model when there is more than it reads. */\nfunction interleave(lists: readonly CustomerSource[][]): CustomerSource[] {\n const out: CustomerSource[] = [];\n const longest = Math.max(0, ...lists.map((l) => l.length));\n for (let i = 0; i < longest; i++) {\n for (const list of lists) {\n const source = list[i];\n if (source) out.push(source);\n }\n }\n return out;\n}\n\nfunction fail(code: string, message: string, fix: string): never {\n writeJson({ ok: false, error: { code, message, fix } });\n process.exit(1);\n}\n\n/** Every source asked at once; one that does not answer is null and never stops the rest. */\nasync function gatherSources(opts: { focus?: string; topic?: string; web: boolean }) {\n const { focus, topic, web: withWeb } = opts;\n const [testimonials, reddit, web] = await Promise.all([\n gatherTestimonials(focus),\n topic ? gatherReddit(topic) : Promise.resolve(null),\n withWeb && topic ? gatherWeb(topic) : Promise.resolve(null),\n ]);\n const counts: SourceCounts = {\n testimonials: testimonials?.length ?? null,\n reddit: reddit?.length ?? null,\n web: web?.length ?? null,\n };\n return { all: interleave([testimonials ?? [], reddit ?? [], web ?? []]), counts };\n}\n\n/**\n * Every batch classified and gated; null when the model answered no batch at all. The spend\n * waits in the workspace's canvas cache: no run record carries these calls, so the next render\n * of this workspace bills them.\n */\nasync function classifyAll(\n sources: readonly CustomerSource[],\n focus: string | undefined,\n root: string,\n): Promise<{ kept: VerbatimInsight[]; dropped: number; tooLong: number } | null> {\n const batches = batchSources(sources, BATCH_CHARS).slice(0, MAX_BATCHES);\n const spent: ReviewUsage[] = [];\n const answers = await Promise.all(batches.map((batch) => classifyBatch(batch, focus, (u) => spent.push(u))));\n await holdUnbilledSpend(path.join(root, \"canvas\", \".cache\"), spent);\n if (batches.length > 0 && answers.every((a) => a === null)) return null;\n const result = { kept: [] as VerbatimInsight[], dropped: 0, tooLong: 0 };\n batches.forEach((batch, i) => {\n const gated = keepVerbatim(answers[i] ?? [], batch);\n result.kept.push(...gated.kept);\n result.dropped += gated.dropped;\n result.tooLong += gated.tooLong;\n });\n return result;\n}\n\n/** Writes each planned file, never over one that appeared since the plan (`wx`); returns what was written. */\nasync function writeInsights(\n dir: string,\n writes: readonly PlannedInsight[],\n opts: { today: string; product?: string },\n): Promise<PlannedInsight[]> {\n if (writes.length === 0) return [];\n await mkdir(dir, { recursive: true });\n const written: PlannedInsight[] = [];\n for (const entry of writes) {\n const file = renderInsightFile(entry.insight, opts);\n const ok = await writeFile(path.join(dir, `${entry.id}.md`), file, { encoding: \"utf8\", flag: \"wx\" }).then(\n () => true,\n () => false,\n );\n if (ok) written.push(entry);\n }\n return written;\n}\n\nfunction writtenRow({ id, insight }: PlannedInsight, full: boolean) {\n const quote =\n insight.quote.length > SHOWN_QUOTE_CHARS ? `${insight.quote.slice(0, SHOWN_QUOTE_CHARS)}…` : insight.quote;\n if (!full) return { id, type: insight.type, quote };\n return {\n id,\n type: insight.type,\n quote,\n full_quote: insight.quote,\n source: insight.source.ref,\n context: insight.source.context,\n ...(insight.force ? { force: insight.force } : {}),\n ...(insight.persona ? { persona: insight.persona } : {}),\n };\n}\n\n/** What the run listens for: the product a --focus names, and the words Reddit and the web are searched with. */\nasync function resolveTopic(root: string, focus: string | undefined, query: string | undefined) {\n const products = await productSlugs(root);\n const product = focus ? products.find((slug) => slug === asciiWords(focus).join(\"-\")) : undefined;\n const firstProduct = products[0];\n const topic = query ?? focus ?? (firstProduct ? asciiWords(firstProduct).join(\" \") : undefined);\n return { product, topic };\n}\n\n/**\n * Gathers, classifies, gates and writes customer truths into the workspace; null when the model\n * answered no batch. Shared with `baker creatives brief`, which runs it when few quotes are on file.\n */\nexport async function researchCustomers(\n root: string,\n opts: { focus?: string; query?: string; limit?: number; web?: boolean; dryRun?: boolean },\n) {\n const { focus, query, limit = DEFAULT_LIMIT, web = false, dryRun = false } = opts;\n const { product, topic } = await resolveTopic(root, focus, query);\n const { all, counts } = await gatherSources({ focus, topic, web });\n const gated = await classifyAll(all, focus, root);\n if (!gated) return null;\n const dir = path.join(root, INSIGHTS_DIR);\n const plan = planInsightWrites(gated.kept, await readExistingInsights(dir), limit);\n const today = new Date().toISOString().slice(0, 10);\n const shown = dryRun\n ? plan.writes\n : await writeInsights(dir, plan.writes, { today, ...(product ? { product } : {}) });\n return { shown, plan, gated, counts };\n}\n\nexport const customersCommand = defineCommand({\n meta: { name: \"customers\", description: DESCRIPTION },\n args: ARGS,\n async run({ args }) {\n const focus = args.focus?.trim() || undefined;\n const query = args.query?.trim() || undefined;\n const limit = args.limit === undefined ? DEFAULT_LIMIT : Number(args.limit);\n if (!Number.isInteger(limit) || limit < 1 || limit > 100) {\n fail(\"VALIDATION_ERROR\", \"--limit must be a whole number from 1 to 100.\", \"Run it again with --limit 20.\");\n }\n const dryRun = Boolean(args[\"dry-run\"]);\n const root = findWorkspaceRoot(process.cwd()) ?? process.cwd();\n const found = await researchCustomers(root, { focus, query, limit, web: Boolean(args.web), dryRun });\n if (!found) {\n fail(\n \"UNAVAILABLE\",\n \"The model that picks out customer words did not answer (no gateway key here, or it failed twice).\",\n \"Run it again. Do not write insights by hand: an insight is only a quote this command found in its source.\",\n );\n }\n const { shown, plan, gated, counts } = found;\n\n writeJson({\n ok: true,\n data: {\n ...(dryRun ? { dry_run: true } : {}),\n written: shown.map((entry) => writtenRow(entry, Boolean(args.full))),\n skipped_existing: plan.skippedExisting,\n dropped_not_verbatim: gated.dropped,\n ...(gated.tooLong > 0 ? { dropped_too_long: gated.tooLong } : {}),\n sources: counts,\n },\n hints: customersHints({ written: shown.length, sources: counts }),\n });\n },\n});\n"],"mappings":"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","names":[]}
|
package/dist/chunk-AWICKT2B.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
ApiError,
|
|
3
|
-
apiGet,
|
|
4
|
-
apiPost
|
|
5
|
-
} from "./chunk-EPK2GYLV.js";
|
|
6
|
-
|
|
7
|
-
// src/commands/avatars/transport.ts
|
|
8
|
-
function unwrap(response) {
|
|
9
|
-
if (response.ok === false || response.data === void 0) {
|
|
10
|
-
throw new ApiError("INTERNAL_ERROR", response.error?.message ?? "The avatars service returned an unusable answer");
|
|
11
|
-
}
|
|
12
|
-
return response.data;
|
|
13
|
-
}
|
|
14
|
-
async function readAvatars(path, params) {
|
|
15
|
-
return unwrap(await apiGet(path, params));
|
|
16
|
-
}
|
|
17
|
-
async function writeAvatars(path, body, opts) {
|
|
18
|
-
return unwrap(await apiPost(path, body, opts));
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export {
|
|
22
|
-
readAvatars,
|
|
23
|
-
writeAvatars
|
|
24
|
-
};
|
|
25
|
-
//# sourceMappingURL=chunk-AWICKT2B.js.map
|
package/dist/chunk-AYC2WM4P.js
DELETED
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
prepareCanvas,
|
|
3
|
-
unsuppliedPlaceholderAssets
|
|
4
|
-
} from "./chunk-NFSV3CDO.js";
|
|
5
|
-
import {
|
|
6
|
-
isSourceStale
|
|
7
|
-
} from "./chunk-MBKCUSMR.js";
|
|
8
|
-
|
|
9
|
-
// src/commands/canvas/render-state.ts
|
|
10
|
-
import { mkdir, readdir, readFile, rm, writeFile } from "fs/promises";
|
|
11
|
-
import path from "path";
|
|
12
|
-
var RENDER_STATE_DIR = ".rendered";
|
|
13
|
-
function statePath(canvasRoot, slug) {
|
|
14
|
-
return path.join(canvasRoot, RENDER_STATE_DIR, `${slug}.json`);
|
|
15
|
-
}
|
|
16
|
-
async function readRenderState(canvasRoot, slug) {
|
|
17
|
-
try {
|
|
18
|
-
const parsed = JSON.parse(await readFile(statePath(canvasRoot, slug), "utf8"));
|
|
19
|
-
return parsed && typeof parsed === "object" ? parsed : {};
|
|
20
|
-
} catch {
|
|
21
|
-
return {};
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
async function latestVersion(canvasRoot, slug) {
|
|
25
|
-
return (await readRenderState(canvasRoot, slug)).rendered?.runId ?? null;
|
|
26
|
-
}
|
|
27
|
-
async function updateRenderState(canvasRoot, slug, patch) {
|
|
28
|
-
try {
|
|
29
|
-
const next = { ...await readRenderState(canvasRoot, slug), ...patch };
|
|
30
|
-
await mkdir(path.join(canvasRoot, RENDER_STATE_DIR), { recursive: true });
|
|
31
|
-
await writeFile(statePath(canvasRoot, slug), `${JSON.stringify(next, null, 2)}
|
|
32
|
-
`, "utf8");
|
|
33
|
-
} catch {
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
async function recordRenderAttempt(canvasRoot, slug, sourceSha) {
|
|
37
|
-
if (!sourceSha) return;
|
|
38
|
-
await updateRenderState(canvasRoot, slug, { attempted: { sourceSha, at: Date.now() } });
|
|
39
|
-
}
|
|
40
|
-
async function recordRendered(canvasRoot, slug, sourceSha, runId, drawn = {}) {
|
|
41
|
-
if (!sourceSha) return;
|
|
42
|
-
await updateRenderState(canvasRoot, slug, {
|
|
43
|
-
rendered: { sourceSha, runId, at: Date.now() },
|
|
44
|
-
...drawn.prompt !== void 0 ? { prompt: drawn.prompt } : {},
|
|
45
|
-
lastFix: drawn.lastFix,
|
|
46
|
-
picture: drawn.picture
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
async function recordReviewOutcome(canvasRoot, slug, outcome) {
|
|
50
|
-
await updateRenderState(canvasRoot, slug, outcome);
|
|
51
|
-
}
|
|
52
|
-
async function recordSnapshot(canvasRoot, slug, snapshot) {
|
|
53
|
-
await updateRenderState(canvasRoot, slug, { snapshot });
|
|
54
|
-
}
|
|
55
|
-
function isRenderStale(state, currentSourceSha) {
|
|
56
|
-
if (!state.rendered) return false;
|
|
57
|
-
if (!isSourceStale(currentSourceSha, state.rendered.sourceSha)) return false;
|
|
58
|
-
return state.attempted?.sourceSha !== currentSourceSha;
|
|
59
|
-
}
|
|
60
|
-
async function staleCreatives(workspaceRoot) {
|
|
61
|
-
const creativesDir = path.join(workspaceRoot, "src", "creatives");
|
|
62
|
-
const canvasRoot = path.join(workspaceRoot, "canvas");
|
|
63
|
-
let slugs;
|
|
64
|
-
try {
|
|
65
|
-
slugs = (await readdir(creativesDir, { withFileTypes: true })).filter((d) => d.isDirectory()).map((d) => d.name);
|
|
66
|
-
} catch {
|
|
67
|
-
return [];
|
|
68
|
-
}
|
|
69
|
-
const stale = [];
|
|
70
|
-
for (const slug of slugs.sort()) {
|
|
71
|
-
const state = await readRenderState(canvasRoot, slug);
|
|
72
|
-
if (!state.rendered) continue;
|
|
73
|
-
const canvasPath = path.join(creativesDir, slug, `${slug}.canvas.json`);
|
|
74
|
-
let prepared;
|
|
75
|
-
try {
|
|
76
|
-
prepared = await prepareCanvas(canvasPath, { write: false });
|
|
77
|
-
} catch {
|
|
78
|
-
continue;
|
|
79
|
-
}
|
|
80
|
-
if (unsuppliedPlaceholderAssets(prepared.fileGraph).length > 0) continue;
|
|
81
|
-
const current = prepared.sourceSha;
|
|
82
|
-
if (!current || !isRenderStale(state, current)) continue;
|
|
83
|
-
stale.push({
|
|
84
|
-
slug,
|
|
85
|
-
canvasPath: path.relative(workspaceRoot, canvasPath).split(path.sep).join("/"),
|
|
86
|
-
renderedRunId: state.rendered.runId,
|
|
87
|
-
sourceSha: current
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
return stale;
|
|
91
|
-
}
|
|
92
|
-
async function clearLegacyDirtyMarker(canvasRoot, slug) {
|
|
93
|
-
await rm(path.join(canvasRoot, ".dirty", `${slug}.json`), { force: true }).catch(() => void 0);
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
export {
|
|
97
|
-
readRenderState,
|
|
98
|
-
latestVersion,
|
|
99
|
-
recordRenderAttempt,
|
|
100
|
-
recordRendered,
|
|
101
|
-
recordReviewOutcome,
|
|
102
|
-
recordSnapshot,
|
|
103
|
-
staleCreatives,
|
|
104
|
-
clearLegacyDirtyMarker
|
|
105
|
-
};
|
|
106
|
-
//# sourceMappingURL=chunk-AYC2WM4P.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/canvas/render-state.ts"],"sourcesContent":["import { mkdir, readdir, readFile, rm, writeFile } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { isSourceStale } from \"@baker/api\";\nimport type { LastFix } from \"./static-edit.ts\";\nimport type { PictureRecord } from \"./static-fix.ts\";\nimport { unsuppliedPlaceholderAssets } from \"./placeholders.ts\";\nimport { type PreparedCanvas, prepareCanvas } from \"./prepare-canvas.ts\";\n\n/**\n * What this workspace last rendered, per creative: `canvas/.rendered/<slug>.json`.\n *\n * \"Edited since its last render\" is the source fingerprint (`computeSourceSha`) now,\n * compared with the fingerprint the last completed render recorded here. It replaces the\n * `canvas/.dirty` marker a PostToolUse hook used to drop, which only saw the Write and\n * Edit tools touching `*.canvas.json` / `prompt.json`: an edit to a scene file, a\n * composition, or anything made through the shell slipped past it, and the Stop hook and\n * the `validate-creative-renders` gate let a stale preview ship.\n *\n * Two facts are kept apart:\n * - `rendered`: the source a COMPLETED render drew, and its run id;\n * - `attempted`: the source the last `baker canvas run` started on, whatever came of it.\n * A render that fails on exactly this source is not asked for again until the source\n * moves, so a canvas that cannot render never loops the agent.\n *\n * Lives under the gitignored `canvas/` outputs root of the workspace the canvas belongs\n * to (never `--outputs-dir`), so the CLI and the scaffold hooks always agree on the path.\n * A fresh workspace has no record, and a creative with none is not stale: there is no\n * preview of it in this workspace to be out of date.\n */\nexport const RENDER_STATE_DIR = \".rendered\";\n\nexport type RenderState = {\n rendered?: { sourceSha: string; runId: string; at: number };\n attempted?: { sourceSha: string; at: number };\n /** The last portable run snapshot uploaded for this creative (see `run-snapshot.ts`). */\n snapshot?: { identity: string; url: string };\n /** A static ad's prompt.json as the completed render drew it: a later edit of only its words or colours renders as an edit of that version (`static-edit.ts`). */\n prompt?: unknown;\n /** The `--fix` (or edit) the completed render ran, and the blocking defects it left: the same fix is never run again. */\n lastFix?: LastFix;\n /** The blocking defects the review of the completed render named: what a fix of it is measured against. */\n blocking?: string[];\n /** How the completed render's picture came to be, where its canvas would not say (`static-fix.ts`). */\n picture?: PictureRecord;\n};\n\nfunction statePath(canvasRoot: string, slug: string): string {\n return path.join(canvasRoot, RENDER_STATE_DIR, `${slug}.json`);\n}\n\nexport async function readRenderState(canvasRoot: string, slug: string): Promise<RenderState> {\n try {\n const parsed = JSON.parse(await readFile(statePath(canvasRoot, slug), \"utf8\")) as RenderState;\n return parsed && typeof parsed === \"object\" ? parsed : {};\n } catch {\n return {};\n }\n}\n\n/** The version (run id) a creative shows in this workspace: its last completed render; null before one. */\nexport async function latestVersion(canvasRoot: string, slug: string): Promise<string | null> {\n return (await readRenderState(canvasRoot, slug)).rendered?.runId ?? null;\n}\n\n/** Merge `patch` into the record. Best-effort: freshness is advisory, a render never fails over it. */\nasync function updateRenderState(canvasRoot: string, slug: string, patch: Partial<RenderState>): Promise<void> {\n try {\n const next = { ...(await readRenderState(canvasRoot, slug)), ...patch };\n await mkdir(path.join(canvasRoot, RENDER_STATE_DIR), { recursive: true });\n await writeFile(statePath(canvasRoot, slug), `${JSON.stringify(next, null, 2)}\\n`, \"utf8\");\n } catch {\n // Ignore: at worst the Stop hook asks for one render too many or too few.\n }\n}\n\nexport async function recordRenderAttempt(canvasRoot: string, slug: string, sourceSha: string | undefined): Promise<void> {\n if (!sourceSha) return;\n await updateRenderState(canvasRoot, slug, { attempted: { sourceSha, at: Date.now() } });\n}\n\nexport async function recordRendered(\n canvasRoot: string,\n slug: string,\n sourceSha: string | undefined,\n runId: string,\n drawn: { prompt?: unknown; lastFix?: LastFix; picture?: PictureRecord } = {},\n): Promise<void> {\n if (!sourceSha) return;\n await updateRenderState(canvasRoot, slug, {\n rendered: { sourceSha, runId, at: Date.now() },\n ...(drawn.prompt !== undefined ? { prompt: drawn.prompt } : {}),\n lastFix: drawn.lastFix,\n picture: drawn.picture,\n });\n}\n\n/** What the review of a completed render found blocking, and the fix the render ran, if one. */\nexport async function recordReviewOutcome(\n canvasRoot: string,\n slug: string,\n outcome: { blocking: string[]; lastFix?: LastFix },\n): Promise<void> {\n await updateRenderState(canvasRoot, slug, outcome);\n}\n\nexport async function recordSnapshot(canvasRoot: string, slug: string, snapshot: RenderState[\"snapshot\"]): Promise<void> {\n await updateRenderState(canvasRoot, slug, { snapshot });\n}\n\n/**\n * Whether the preview in this workspace no longer shows the source: it was rendered, the\n * source has moved since (`isSourceStale`: a render fingerprinted by an older rule never\n * is), and no render of the source as it is now was attempted yet.\n */\nexport function isRenderStale(state: RenderState, currentSourceSha: string): boolean {\n if (!state.rendered) return false;\n if (!isSourceStale(currentSourceSha, state.rendered.sourceSha)) return false;\n return state.attempted?.sourceSha !== currentSourceSha;\n}\n\n/** `sourceSha` is the source as it stands now: what a render of it would record. */\nexport type StaleCreative = { slug: string; canvasPath: string; renderedRunId: string; sourceSha: string };\n\n/**\n * Every renderable creative in the workspace whose preview is stale. A canvas that still\n * has an unfilled `[TODO]` asset slot is skipped: the agent is mid-build, and a half-built\n * creative must never be pushed to render. The source is fingerprinted the way a render\n * and the dashboard sync fingerprint it (`prepareCanvas`, read-only), so the three never\n * disagree about what is stale. `canvasPath` is workspace-relative.\n */\nexport async function staleCreatives(workspaceRoot: string): Promise<StaleCreative[]> {\n const creativesDir = path.join(workspaceRoot, \"src\", \"creatives\");\n const canvasRoot = path.join(workspaceRoot, \"canvas\");\n let slugs: string[];\n try {\n slugs = (await readdir(creativesDir, { withFileTypes: true })).filter((d) => d.isDirectory()).map((d) => d.name);\n } catch {\n return [];\n }\n const stale: StaleCreative[] = [];\n for (const slug of slugs.sort()) {\n const state = await readRenderState(canvasRoot, slug);\n if (!state.rendered) continue;\n const canvasPath = path.join(creativesDir, slug, `${slug}.canvas.json`);\n let prepared: PreparedCanvas;\n try {\n prepared = await prepareCanvas(canvasPath, { write: false });\n } catch {\n continue; // Gone, renamed, or mid-edit invalid JSON: the next check reads it again.\n }\n if (unsuppliedPlaceholderAssets(prepared.fileGraph).length > 0) continue;\n const current = prepared.sourceSha;\n if (!current || !isRenderStale(state, current)) continue;\n stale.push({\n slug,\n canvasPath: path.relative(workspaceRoot, canvasPath).split(path.sep).join(\"/\"),\n renderedRunId: state.rendered.runId,\n sourceSha: current,\n });\n }\n return stale;\n}\n\n/**\n * Remove the `canvas/.dirty/<slug>.json` marker an older scaffold's PostToolUse hook wrote.\n * Nothing in a current scaffold reads it, but a client repo can run this CLI before its\n * scaffold sync lands, and there the old Stop hook and verify gate still read the marker:\n * clearing it on a render attempt, as the CLI always did, keeps that gate from blocking\n * forever. Delete once every client runs a scaffold without `nudge-canvas-rerender`.\n */\nexport async function clearLegacyDirtyMarker(canvasRoot: string, slug: string): Promise<void> {\n await rm(path.join(canvasRoot, \".dirty\", `${slug}.json`), { force: true }).catch(() => undefined);\n}\n"],"mappings":"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","names":[]}
|
package/dist/chunk-BDD2ILIT.js
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
ApiError,
|
|
3
|
-
apiGet
|
|
4
|
-
} from "./chunk-EPK2GYLV.js";
|
|
5
|
-
import {
|
|
6
|
-
compactImage,
|
|
7
|
-
compactVideo,
|
|
8
|
-
writeJson
|
|
9
|
-
} from "./chunk-O4AXPEOE.js";
|
|
10
|
-
|
|
11
|
-
// src/commands/mediaGroup.ts
|
|
12
|
-
async function runMediaGroupLookup(input) {
|
|
13
|
-
if (!input.id && !input.groupKey) {
|
|
14
|
-
writeJson({
|
|
15
|
-
ok: false,
|
|
16
|
-
error: { code: "VALIDATION_ERROR", message: `Pass ${input.idLabel} or --group-key` }
|
|
17
|
-
});
|
|
18
|
-
process.exit(1);
|
|
19
|
-
}
|
|
20
|
-
try {
|
|
21
|
-
const query = new URLSearchParams();
|
|
22
|
-
if (input.id) query.set("id", input.id);
|
|
23
|
-
if (input.groupKey) query.set("groupKey", input.groupKey);
|
|
24
|
-
const data = await apiGet(`${input.path}?${query.toString()}`);
|
|
25
|
-
const images = data.images.map((image) => compactImage(image));
|
|
26
|
-
const videos = (data.videos ?? []).map((video) => compactVideo(video));
|
|
27
|
-
const count = images.length + videos.length;
|
|
28
|
-
writeJson({
|
|
29
|
-
ok: true,
|
|
30
|
-
data: {
|
|
31
|
-
groupKey: data.groupKey,
|
|
32
|
-
groupKind: data.groupKind ?? null,
|
|
33
|
-
// The caption or page title the whole set shares — often the only
|
|
34
|
-
// place the campaign is named.
|
|
35
|
-
groupTitle: data.groupTitle ?? null,
|
|
36
|
-
groupUrl: data.groupUrl ?? null,
|
|
37
|
-
count,
|
|
38
|
-
images,
|
|
39
|
-
videos
|
|
40
|
-
},
|
|
41
|
-
hints: count > 1 ? ["These arrived together and are ordered. Read them in sequence before using any one of them alone."] : void 0
|
|
42
|
-
});
|
|
43
|
-
} catch (err) {
|
|
44
|
-
if (err instanceof ApiError) {
|
|
45
|
-
writeJson({ ok: false, error: { code: err.code, message: err.message } });
|
|
46
|
-
process.exit(1);
|
|
47
|
-
}
|
|
48
|
-
writeJson({ ok: false, error: { code: "INTERNAL_ERROR", message: "Unexpected error" } });
|
|
49
|
-
process.exit(1);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
export {
|
|
54
|
-
runMediaGroupLookup
|
|
55
|
-
};
|
|
56
|
-
//# sourceMappingURL=chunk-BDD2ILIT.js.map
|