@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/images/normalize.ts","../src/lib/image/color-changer.ts","../src/lib/image/image-processor.ts"],"sourcesContent":["import { defineCommand } from \"citty\";\nimport { type Color, parseHex } from \"../../lib/image/color-changer.ts\";\nimport { type ProcessingOptions, processImage, type ResizeOptions } from \"../../lib/image/image-processor.ts\";\nimport {\n atomicWrite,\n expandInputs,\n isDirectory,\n isRemoteUrl,\n readImageBuffer,\n resolveOutputPath,\n} from \"../../lib/image/io.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\n\nregisterSchema({\n command: \"images.normalize\",\n description:\n \"Normalize one or more local images: recolor, two-pass background removal, trim, and resize. Multi-fill SVG recolor preserves relative contrast. Declarative — describe the desired final state via flags; the pipeline runs the needed stages in order. Writes in-place by default. For upscaling, use 'baker images upscale <imageId>' after uploading.\",\n args: {\n files: {\n type: \"string\",\n description:\n \"Single path, glob (quote it), or comma-separated list. Commas are treated as separators — paths containing commas are not supported. Use 'logos/*.png', 'a.png,b.png', or 'logo.png'.\",\n required: true,\n },\n color: {\n type: \"string\",\n description: \"Recolor target as hex (e.g. '#FFFFFF', '#fff'). Omit to keep original colors.\",\n required: false,\n },\n \"remove-bg\": {\n type: \"boolean\",\n description:\n \"Two-pass background removal. Default true when --color is set, false otherwise. Idempotent on already-transparent input.\",\n required: false,\n },\n \"shrink-to-content\": {\n type: \"boolean\",\n description: \"Trim transparent borders after bg removal. Default true when --remove-bg is on.\",\n required: false,\n },\n height: {\n type: \"number\",\n description: \"Resize to N pixels tall, width auto (preserves aspect). Mutex with --size.\",\n required: false,\n },\n width: {\n type: \"number\",\n description: \"Resize to N pixels wide, height auto (preserves aspect). Mutex with --size.\",\n required: false,\n },\n size: {\n type: \"string\",\n description: \"Fit into a W×H box. Format 'WxH' (e.g. '200x200'). Mutex with --height/--width.\",\n required: false,\n },\n fit: {\n type: \"string\",\n description: \"Used with --size: 'contain' (default, letterbox transparent) or 'cover' (crop to fill).\",\n required: false,\n enum: [\"contain\", \"cover\"],\n },\n output: {\n type: \"string\",\n description: \"Output path. Default: in-place. With multiple inputs, must be a directory.\",\n required: false,\n },\n \"dry-run\": {\n type: \"boolean\",\n description: \"Resolve inputs + pipeline without writing any files.\",\n required: false,\n default: false,\n },\n },\n});\n\nclass ValidationError extends Error {\n constructor(message: string) {\n super(message);\n this.name = \"ValidationError\";\n }\n}\n\ninterface NormalizedArgs {\n options: ProcessingOptions;\n outputArg: string | undefined;\n dryRun: boolean;\n}\n\ninterface RawArgs {\n files?: string;\n color?: string;\n \"remove-bg\"?: boolean;\n \"shrink-to-content\"?: boolean;\n height?: number;\n width?: number;\n size?: string;\n fit?: string;\n output?: string;\n \"dry-run\"?: boolean;\n}\n\nfunction parseSize(raw: string): { width: number; height: number } {\n const match = /^(\\d+)x(\\d+)$/i.exec(raw.trim());\n if (!match || match.length < 3) {\n throw new ValidationError(`Invalid --size value \"${raw}\". Expected WxH (e.g. 200x200).`);\n }\n const [, w, h] = match;\n return { width: Number.parseInt(w ?? \"\", 10), height: Number.parseInt(h ?? \"\", 10) };\n}\n\nfunction parseResize(args: RawArgs): ResizeOptions | undefined {\n const hasSize = typeof args.size === \"string\" && args.size.length > 0;\n const hasHeight = typeof args.height === \"number\";\n const hasWidth = typeof args.width === \"number\";\n\n if (hasSize && (hasHeight || hasWidth)) {\n throw new ValidationError(\"--height/--width and --size are mutually exclusive\");\n }\n if (args.fit !== undefined && !hasSize) {\n throw new ValidationError(\"--fit requires --size\");\n }\n\n if (hasSize && typeof args.size === \"string\") {\n return {\n size: parseSize(args.size),\n fit: (args.fit ?? \"contain\") as \"contain\" | \"cover\",\n };\n }\n if (hasHeight || hasWidth) {\n return { width: args.width, height: args.height };\n }\n return undefined;\n}\n\nfunction parseColor(raw: string | undefined): Color | undefined {\n if (typeof raw !== \"string\" || raw.length === 0) return undefined;\n try {\n return parseHex(raw);\n } catch (err) {\n throw new ValidationError(err instanceof Error ? err.message : \"Invalid --color\");\n }\n}\n\nfunction buildOptions(args: RawArgs): NormalizedArgs {\n const resize = parseResize(args);\n const color = parseColor(args.color);\n\n const removeBackground = typeof args[\"remove-bg\"] === \"boolean\" ? args[\"remove-bg\"] : color !== undefined;\n const shrinkToContent = typeof args[\"shrink-to-content\"] === \"boolean\" ? args[\"shrink-to-content\"] : removeBackground;\n\n return {\n options: { color, removeBackground, shrinkToContent, resize },\n outputArg: typeof args.output === \"string\" && args.output.length > 0 ? args.output : undefined,\n dryRun: args[\"dry-run\"] === true,\n };\n}\n\nfunction colorToHex(color: Color | undefined): string | null {\n if (!color) return null;\n return `#${[color.r, color.g, color.b].map((n) => n.toString(16).padStart(2, \"0\")).join(\"\")}`;\n}\n\ninterface ProcessedFile {\n input: string;\n output: string;\n format: string;\n width: number;\n height: number;\n sizeBytes: number;\n stages: string[];\n}\n\nasync function processFile(\n inputPath: string,\n options: ProcessingOptions,\n outputArg: string | undefined,\n multipleInputs: boolean,\n): Promise<ProcessedFile> {\n const inputBuffer = await readImageBuffer(inputPath);\n const result = await processImage(inputBuffer, options);\n const newExt = result.format === \"png\" ? \".png\" : \".svg\";\n const outputPath = await resolveOutputPath(inputPath, outputArg, { multipleInputs, newExtension: newExt });\n await atomicWrite(outputPath, result.buffer);\n return {\n input: inputPath,\n output: outputPath,\n format: result.format,\n width: result.width,\n height: result.height,\n sizeBytes: result.buffer.length,\n stages: result.stages,\n };\n}\n\nasync function resolveInputs(spec: string): Promise<string[]> {\n const all = await expandInputs(spec);\n if (all.length === 0) {\n throw new ValidationError(`No files matched \"${spec}\"`);\n }\n const remote = all.filter(isRemoteUrl);\n if (remote.length > 0) {\n throw new ValidationError(\n \"Remote URLs are not supported by 'normalize'. Download the file first or use a local path.\",\n );\n }\n return all;\n}\n\nfunction emitDryRun(inputs: string[], normalized: NormalizedArgs): void {\n writeJson({\n ok: true,\n dryRun: true,\n operation: \"images.normalize\",\n params: {\n inputs,\n options: {\n color: colorToHex(normalized.options.color),\n removeBackground: normalized.options.removeBackground ?? false,\n shrinkToContent: normalized.options.shrinkToContent ?? false,\n resize: normalized.options.resize ?? null,\n },\n outputArg: normalized.outputArg ?? null,\n },\n });\n}\n\nfunction emitError(err: unknown): never {\n if (err instanceof ValidationError) {\n writeJson({ ok: false, error: { code: \"VALIDATION_ERROR\", message: err.message } });\n } else {\n const message = err instanceof Error ? err.message : \"Unexpected error\";\n writeJson({ ok: false, error: { code: \"IMAGE_PROCESSING_ERROR\", message } });\n }\n process.exit(1);\n}\n\nfunction coerceRawArgs(args: Record<string, unknown>): RawArgs {\n const num = (v: unknown): number | undefined => {\n if (typeof v === \"number\") return v;\n if (typeof v === \"string\" && v.length > 0) {\n const n = Number(v);\n return Number.isFinite(n) ? n : undefined;\n }\n return undefined;\n };\n const str = (v: unknown): string | undefined => (typeof v === \"string\" ? v : undefined);\n const bool = (v: unknown): boolean | undefined => (typeof v === \"boolean\" ? v : undefined);\n return {\n files: str(args.files),\n color: str(args.color),\n \"remove-bg\": bool(args[\"remove-bg\"]),\n \"shrink-to-content\": bool(args[\"shrink-to-content\"]),\n height: num(args.height),\n width: num(args.width),\n size: str(args.size),\n fit: str(args.fit),\n output: str(args.output),\n \"dry-run\": bool(args[\"dry-run\"]),\n };\n}\n\nexport const normalizeCommand = defineCommand({\n meta: {\n name: \"normalize\",\n description:\n 'Normalize logos / images: declarative recolor + bg removal + trim + resize. Operates on local files; writes in-place by default.\\n\\nExamples:\\n baker images normalize \"logos/*.png\" --color \\'#FFFFFF\\' --height 200\\n baker images normalize logo.png --remove-bg --shrink-to-content\\n baker images normalize \"a.png,b.png\" --size 200x200 --fit cover --output ./out',\n },\n args: {\n files: {\n type: \"positional\",\n description: \"Single path, glob (quote it), or comma-separated list\",\n required: false,\n },\n color: { type: \"string\", description: \"Recolor target as hex\", required: false },\n \"remove-bg\": { type: \"boolean\", description: \"Two-pass background removal\", required: false },\n \"shrink-to-content\": { type: \"boolean\", description: \"Trim transparent borders\", required: false },\n height: { type: \"string\", description: \"Resize to N px tall, width auto\", required: false },\n width: { type: \"string\", description: \"Resize to N px wide, height auto\", required: false },\n size: { type: \"string\", description: \"Fit into a WxH box (e.g. 200x200)\", required: false },\n fit: { type: \"string\", description: \"contain (default) or cover (with --size)\", required: false },\n output: { type: \"string\", description: \"Output path or directory\", required: false },\n \"dry-run\": { type: \"boolean\", description: \"Preview without writing\", required: false, default: false },\n },\n run: async ({ args }) => {\n try {\n const raw = coerceRawArgs(args);\n if (!raw.files) {\n throw new ValidationError(\"files argument is required\");\n }\n const inputs = await resolveInputs(raw.files);\n const normalized = buildOptions(raw);\n\n if (inputs.length > 1 && normalized.outputArg && !(await isDirectory(normalized.outputArg))) {\n throw new ValidationError(\n `--output must be an existing directory when processing multiple files (got \"${normalized.outputArg}\")`,\n );\n }\n\n if (normalized.dryRun) {\n emitDryRun(inputs, normalized);\n return;\n }\n\n const processed: ProcessedFile[] = [];\n for (const inputPath of inputs) {\n processed.push(await processFile(inputPath, normalized.options, normalized.outputArg, inputs.length > 1));\n }\n writeJson({ ok: true, data: { processed } });\n } catch (err) {\n emitError(err);\n }\n },\n});\n","import quantize from \"quantize\";\n\nexport interface Color {\n r: number;\n g: number;\n b: number;\n}\n\nexport const COLOR_RANGE_THRESHOLD = 15;\n\nconst HEX_RE = /^#?([0-9a-f]{3}|[0-9a-f]{6})$/i;\n\nexport function parseHex(hex: string): Color {\n const match = HEX_RE.exec(hex.trim());\n if (!match) {\n throw new Error(`Invalid hex color: \"${hex}\". Expected #RGB or #RRGGBB.`);\n }\n let body = match[1]!;\n if (body.length === 3) {\n body = body\n .split(\"\")\n .map((c) => c + c)\n .join(\"\");\n }\n return {\n r: Number.parseInt(body.slice(0, 2), 16),\n g: Number.parseInt(body.slice(2, 4), 16),\n b: Number.parseInt(body.slice(4, 6), 16),\n };\n}\n\nexport function colorDistance(color1: Color, color2: Color): number {\n const rDiff = color1.r - color2.r;\n const gDiff = color1.g - color2.g;\n const bDiff = color1.b - color2.b;\n return Math.sqrt(rDiff * rDiff + gDiff * gDiff + bDiff * bDiff);\n}\n\nexport function getDominantEdgeColor(data: Buffer, width: number, height: number): Color {\n const colorCount: Record<string, number> = {};\n\n function accumulateColor(i: number, j: number) {\n const idx = (i * width + j) * 4;\n const colorKey = `${data[idx]},${data[idx + 1]},${data[idx + 2]}`;\n colorCount[colorKey] = (colorCount[colorKey] ?? 0) + 1;\n }\n\n for (let j = 0; j < width; j++) {\n accumulateColor(0, j);\n accumulateColor(height - 1, j);\n }\n for (let i = 1; i < height - 1; i++) {\n accumulateColor(i, 0);\n accumulateColor(i, width - 1);\n }\n\n let maxCount = 0;\n let dominantColor: Color = { r: 0, g: 0, b: 0 };\n for (const key in colorCount) {\n const count = colorCount[key]!;\n if (count > maxCount) {\n maxCount = count;\n const parts = key.split(\",\").map(Number) as [number, number, number];\n dominantColor = { r: parts[0], g: parts[1], b: parts[2] };\n }\n }\n return dominantColor;\n}\n\nexport function hasTransparency(data: Buffer, threshold = 0.02): boolean {\n let transparentPixels = 0;\n let totalPixels = 0;\n for (let i = 3; i < data.length; i += 4) {\n totalPixels++;\n if (data[i]! < 255) {\n transparentPixels++;\n }\n }\n if (totalPixels === 0) return false;\n return transparentPixels / totalPixels > threshold;\n}\n\nfunction hasGradientColors(data: Buffer): boolean {\n const uniqueColors = new Set<string>();\n for (let i = 0; i < data.length; i += 4) {\n if (data[i + 3]! < 10) continue;\n uniqueColors.add(`${data[i]},${data[i + 1]},${data[i + 2]}`);\n }\n return uniqueColors.size > 50;\n}\n\nfunction removeIsolatedPixels(data: Buffer, width: number, height: number): Buffer {\n const result = Buffer.from(data);\n const offsets: [number, number][] = [\n [-1, -1],\n [0, -1],\n [1, -1],\n [-1, 0],\n [1, 0],\n [-1, 1],\n [0, 1],\n [1, 1],\n ];\n\n for (let y = 1; y < height - 1; y++) {\n for (let x = 1; x < width - 1; x++) {\n const idx = (y * width + x) * 4;\n if (result[idx + 3]! < 10) continue;\n\n let transparentNeighbors = 0;\n for (const [dx, dy] of offsets) {\n const neighborIdx = ((y + dy) * width + (x + dx)) * 4;\n if (result[neighborIdx + 3]! < 10) transparentNeighbors++;\n }\n if (transparentNeighbors >= 6) {\n result[idx + 3] = 0;\n }\n }\n }\n return result;\n}\n\nfunction removeInteriorBackground(data: Buffer, dominantEdgeColor: Color, threshold: number): Buffer {\n const result = Buffer.from(data);\n for (let i = 0; i < result.length; i += 4) {\n if (result[i + 3]! < 10) continue;\n const pixelColor: Color = { r: result[i]!, g: result[i + 1]!, b: result[i + 2]! };\n if (colorDistance(dominantEdgeColor, pixelColor) < threshold) {\n result[i + 3] = 0;\n }\n }\n return result;\n}\n\nexport function removeBackground(\n data: Buffer,\n width: number,\n height: number,\n colorRangeThreshold = COLOR_RANGE_THRESHOLD,\n): Buffer {\n if (hasTransparency(data)) {\n return data;\n }\n const dominantEdgeColor = getDominantEdgeColor(data, width, height);\n const isGradient = hasGradientColors(data);\n const result = Buffer.from(data);\n\n if (isGradient) {\n for (let i = 0; i < result.length; i += 4) {\n let alpha = result[i + 3]!;\n if (alpha < 25.5) {\n result[i + 3] = 0;\n continue;\n }\n const pixelColor: Color = { r: result[i]!, g: result[i + 1]!, b: result[i + 2]! };\n if (colorDistance(dominantEdgeColor, pixelColor) < 40) {\n alpha = 0;\n }\n result[i + 3] = alpha;\n }\n const cleaned = removeInteriorBackground(result, dominantEdgeColor, 40);\n return removeIsolatedPixels(cleaned, width, height);\n }\n\n const colorRange = findColorRange(data, dominantEdgeColor);\n\n for (let i = 0; i < result.length; i += 4) {\n let alpha = result[i + 3]!;\n if (alpha < 25.5) {\n result[i + 3] = 0;\n continue;\n }\n const pixelColor: Color = { r: result[i]!, g: result[i + 1]!, b: result[i + 2]! };\n\n if (colorDistance(dominantEdgeColor, pixelColor) < 50) {\n alpha = 0;\n } else {\n const colorRangeIndex = colorRange.findIndex((c) => colorDistance(c, pixelColor) < colorRangeThreshold);\n if (colorRangeIndex === -1) {\n alpha = 0;\n } else {\n alpha = Math.max(255 - 255 * colorRangeIndex * 0.35, 50);\n }\n }\n result[i + 3] = alpha;\n }\n\n const cleaned = removeInteriorBackground(result, dominantEdgeColor, 50);\n return removeIsolatedPixels(cleaned, width, height);\n}\n\nfunction findClosestColor(color: Color, palette: number[][]): number[] {\n let minDist = Number.POSITIVE_INFINITY;\n let closestColor = palette[0]!;\n for (const palColor of palette) {\n const dist = colorDistance(color, { r: palColor[0]!, g: palColor[1]!, b: palColor[2]! });\n if (dist < minDist) {\n minDist = dist;\n closestColor = palColor;\n }\n }\n return closestColor;\n}\n\nexport function applyQuantization(data: Buffer, numColors: number): Buffer {\n const pixels: quantize.RgbPixel[] = [];\n let hasWhitePixels = false;\n\n for (let i = 0; i < data.length; i += 4) {\n const r = data[i]!;\n const g = data[i + 1]!;\n const b = data[i + 2]!;\n pixels.push([r, g, b]);\n if (r > 240 && g > 240 && b > 240) hasWhitePixels = true;\n }\n\n const quantizer = quantize(pixels, numColors);\n if (!quantizer) {\n throw new Error(\"Failed to quantize image\");\n }\n const palette = quantizer.palette();\n\n if (hasWhitePixels) {\n const hasWhiteInPalette = palette.some((c) => c[0]! > 240 && c[1]! > 240 && c[2]! > 240);\n if (!hasWhiteInPalette) {\n let darkestIndex = 0;\n let darkestLuminance = Number.POSITIVE_INFINITY;\n palette.forEach((color, i) => {\n const luminance = (0.299 * color[0]! + 0.587 * color[1]! + 0.114 * color[2]!) / 255;\n if (luminance < darkestLuminance) {\n darkestLuminance = luminance;\n darkestIndex = i;\n }\n });\n palette[darkestIndex] = [255, 255, 255];\n }\n }\n\n const quantizedData = Buffer.from(data);\n for (let i = 0; i < data.length; i += 4) {\n const originalColor: Color = { r: data[i]!, g: data[i + 1]!, b: data[i + 2]! };\n const closest = findClosestColor(originalColor, palette);\n quantizedData[i] = closest[0]!;\n quantizedData[i + 1] = closest[1]!;\n quantizedData[i + 2] = closest[2]!;\n }\n return quantizedData;\n}\n\nfunction getLuminance(color: Color): number {\n const r = color.r / 255;\n const g = color.g / 255;\n const b = color.b / 255;\n return 0.299 * r + 0.587 * g + 0.114 * b;\n}\n\nfunction getContrastRatio(color1: Color, color2: Color): number {\n const lum1 = getLuminance(color1);\n const lum2 = getLuminance(color2);\n const brightest = Math.max(lum1, lum2);\n const darkest = Math.min(lum1, lum2);\n return (brightest + 0.05) / (darkest + 0.05);\n}\n\nfunction getHueDistance(color1: Color, color2: Color): number {\n const [h1] = rgbToHsl(color1.r, color1.g, color1.b);\n const [h2] = rgbToHsl(color2.r, color2.g, color2.b);\n const hue1 = h1 * 360;\n const hue2 = h2 * 360;\n const diff = Math.abs(hue1 - hue2);\n return Math.min(diff, 360 - diff);\n}\n\nfunction isHighlySaturated(color: Color): boolean {\n const [, s] = rgbToHsl(color.r, color.g, color.b);\n return s > 0.6;\n}\n\nfunction findColorRangeInternal(data: Buffer, ignoredColor: Color | null = null, customThreshold?: number): Color[] {\n const groups: { color: Color; count: number }[] = [];\n const threshold = customThreshold ?? COLOR_RANGE_THRESHOLD;\n\n for (let i = 0; i < data.length; i += 4) {\n if (data[i + 3]! < 10) continue;\n const color: Color = { r: data[i]!, g: data[i + 1]!, b: data[i + 2]! };\n if (ignoredColor && colorDistance(color, ignoredColor) < threshold) continue;\n\n let found = false;\n for (const group of groups) {\n const distance = colorDistance(group.color, color);\n const contrastRatio = getContrastRatio(group.color, color);\n\n let groupingThreshold = threshold;\n if (contrastRatio > 3) groupingThreshold = Math.min(groupingThreshold, 8);\n const hueDistance = getHueDistance(group.color, color);\n if (hueDistance > 20) groupingThreshold = Math.min(groupingThreshold, 5);\n if (isHighlySaturated(color) && isHighlySaturated(group.color)) {\n groupingThreshold = Math.min(groupingThreshold, 10);\n }\n\n if (distance < groupingThreshold) {\n group.count++;\n found = true;\n break;\n }\n }\n\n if (!found) groups.push({ color, count: 1 });\n }\n\n const sorted = groups.sort((a, b) => b.count - a.count);\n\n let filtered = sorted.filter((g) => g.count > sorted[0]!.count * 0.03).map((g) => g.color);\n\n if (filtered.length < 2 && sorted.length >= 2) {\n filtered = sorted.slice(0, 2).map((g) => g.color);\n }\n return filtered.slice(0, 6);\n}\n\nexport function findColorRange(data: Buffer, ignoredColor: Color | null = null): Color[] {\n return findColorRangeInternal(data, ignoredColor);\n}\n\nexport function findColorRangeWithThreshold(\n data: Buffer,\n threshold: number,\n ignoredColor: Color | null = null,\n): Color[] {\n return findColorRangeInternal(data, ignoredColor, threshold);\n}\n\nexport function rgbToHsl(r: number, g: number, b: number): [number, number, number] {\n const rNorm = r / 255;\n const gNorm = g / 255;\n const bNorm = b / 255;\n const max = Math.max(rNorm, gNorm, bNorm);\n const min = Math.min(rNorm, gNorm, bNorm);\n let h = 0;\n let s = 0;\n const l = (max + min) / 2;\n if (max !== min) {\n const d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case rNorm:\n h = (gNorm - bNorm) / d + (gNorm < bNorm ? 6 : 0);\n break;\n case gNorm:\n h = (bNorm - rNorm) / d + 2;\n break;\n case bNorm:\n h = (rNorm - gNorm) / d + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n return [h, s, l];\n}\n\nexport function hslToRgb(h: number, s: number, l: number): [number, number, number] {\n let r: number;\n let g: number;\n let b: number;\n if (s === 0) {\n r = g = b = l;\n } else {\n const hue2rgb = (p: number, q: number, t: number) => {\n let tMod = t;\n if (tMod < 0) tMod += 1;\n if (tMod > 1) tMod -= 1;\n if (tMod < 1 / 6) return p + (q - p) * 6 * tMod;\n if (tMod < 1 / 2) return q;\n if (tMod < 2 / 3) return p + (q - p) * (2 / 3 - tMod) * 6;\n return p;\n };\n const q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n const p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n return [Math.round(r * 255), Math.round(g * 255), Math.round(b * 255)];\n}\n\nexport function solidifyEdges(data: Buffer, saturationBoost = 0.25): Buffer {\n const result = Buffer.from(data);\n for (let i = 0; i < result.length; i += 4) {\n const alpha = result[i + 3]!;\n if (alpha > 0 && alpha < 255) {\n const r = result[i]!;\n const g = result[i + 1]!;\n const b = result[i + 2]!;\n const hsl = rgbToHsl(r, g, b);\n const rgb = hslToRgb(hsl[0], Math.min(1, hsl[1] + saturationBoost), hsl[2]);\n result[i] = rgb[0];\n result[i + 1] = rgb[1];\n result[i + 2] = rgb[2];\n result[i + 3] = 255;\n }\n }\n return result;\n}\n","import sharp from \"sharp\";\nimport {\n applyQuantization,\n COLOR_RANGE_THRESHOLD,\n type Color,\n colorDistance,\n findColorRange,\n findColorRangeWithThreshold,\n getDominantEdgeColor,\n hasTransparency,\n hslToRgb,\n removeBackground,\n rgbToHsl,\n solidifyEdges,\n} from \"./color-changer.ts\";\n\nexport interface ResizeOptions {\n width?: number;\n height?: number;\n size?: { width: number; height: number };\n fit?: \"contain\" | \"cover\";\n}\n\nexport interface ProcessingOptions {\n color?: Color;\n removeBackground?: boolean;\n shrinkToContent?: boolean;\n resize?: ResizeOptions;\n}\n\ninterface ProcessedImage {\n buffer: Buffer;\n format: \"png\" | \"svg\";\n width: number;\n height: number;\n stages: string[];\n}\n\nfunction hasGradient(data: Buffer): boolean {\n const uniqueColors = new Set<string>();\n for (let i = 0; i < data.length; i += 4) {\n if (data[i + 3]! < 10) continue;\n uniqueColors.add(`${data[i]},${data[i + 1]},${data[i + 2]}`);\n }\n return uniqueColors.size > 50;\n}\n\nfunction perceivedLuminance(color: Color): number {\n return (0.299 * color.r + 0.587 * color.g + 0.114 * color.b) / 255;\n}\n\nfunction createSvgRecolorer(target: Color, palette: Color[]): (source: Color) => Color {\n if (palette.length < 2) return () => target;\n\n const luminances = palette.map(perceivedLuminance);\n const min = Math.min(...luminances);\n const max = Math.max(...luminances);\n if (max - min < 0.05) return () => target;\n\n const [h, s, targetLightness] = rgbToHsl(target.r, target.g, target.b);\n const lightnessRange = 0.75;\n const minLightness = targetLightness >= 0.5 ? Math.max(0, targetLightness - lightnessRange) : targetLightness;\n const maxLightness = targetLightness >= 0.5 ? targetLightness : Math.min(1, targetLightness + lightnessRange);\n\n return (source) => {\n const sourcePosition = (perceivedLuminance(source) - min) / (max - min);\n const nextLightness = minLightness + sourcePosition * (maxLightness - minLightness);\n const [r, g, b] = hslToRgb(h, s, Math.max(0, Math.min(1, nextLightness)));\n return { r, g, b };\n };\n}\n\nasync function processGradient(data: Buffer, info: sharp.OutputInfo) {\n if (!hasGradient(data)) return { data, info };\n const solidified = solidifyEdges(data, 0.1);\n const blurred = await sharp(solidified, {\n raw: { channels: 4, width: info.width, height: info.height },\n })\n .png()\n .blur(0.3)\n .toBuffer();\n const result = await sharp(blurred).ensureAlpha().raw().toBuffer({ resolveWithObject: true });\n return { data: result.data, info: result.info };\n}\n\nfunction isSvgBuffer(buffer: Buffer): boolean {\n const head = buffer.subarray(0, Math.min(buffer.length, 512)).toString(\"utf8\").trimStart();\n return head.startsWith(\"<?xml\") ? head.includes(\"<svg\") : head.startsWith(\"<svg\");\n}\n\nasync function processInternal(\n inputBuffer: Buffer,\n isSVG: boolean,\n options: ProcessingOptions,\n): Promise<{ buffer: Buffer; stages: string[] }> {\n const stages: string[] = [];\n\n const metadata = await sharp(inputBuffer).metadata();\n let alreadyTransparent = false;\n if (metadata.hasAlpha) {\n const { data: alphaData } = await sharp(inputBuffer).raw().toBuffer({ resolveWithObject: true });\n alreadyTransparent = hasTransparency(alphaData, 0.05);\n }\n\n let { data: processedData, info } = await sharp(inputBuffer)\n .ensureAlpha()\n .raw()\n .toBuffer({ resolveWithObject: true });\n\n if (options.color) {\n stages.push(\"recolor\");\n processedData = applyQuantization(processedData, 8);\n\n let dominantEdgeColor: Color | null = null;\n let colorRange: Color[] = [];\n if (isSVG) {\n dominantEdgeColor = getDominantEdgeColor(processedData, info.width, info.height);\n colorRange = findColorRangeWithThreshold(processedData, 5, null);\n } else {\n dominantEdgeColor = alreadyTransparent ? null : getDominantEdgeColor(processedData, info.width, info.height);\n colorRange = findColorRange(processedData, dominantEdgeColor);\n }\n const isMultiFillSvg = isSVG && colorRange.length >= 2;\n const recolorSvgFill = isMultiFillSvg ? createSvgRecolorer(options.color, colorRange) : null;\n\n let didRemoveBackground = false;\n\n for (let i = 0; i < processedData.length; i += 4) {\n let alpha = processedData[i + 3]!;\n if (alpha < 25.5) {\n processedData[i + 3] = 0;\n continue;\n }\n const pixelColor: Color = { r: processedData[i]!, g: processedData[i + 1]!, b: processedData[i + 2]! };\n\n if (isSVG) {\n const isLight = pixelColor.r > 240 && pixelColor.g > 240 && pixelColor.b > 240;\n const isEdgeBackground = dominantEdgeColor ? colorDistance(dominantEdgeColor, pixelColor) < 5 : false;\n if (isLight && (!isMultiFillSvg || isEdgeBackground)) {\n alpha = 0;\n didRemoveBackground = true;\n } else {\n const idx = colorRange.findIndex((c) => colorDistance(c, pixelColor) < 5);\n if (idx === -1) {\n alpha = 0;\n didRemoveBackground = true;\n } else if (!isMultiFillSvg) {\n const levels = [255, 200, 150, 100, 80];\n alpha = levels[idx] ?? 60;\n }\n }\n } else if (!alreadyTransparent && dominantEdgeColor && colorDistance(dominantEdgeColor, pixelColor) < 25) {\n alpha = 0;\n didRemoveBackground = true;\n } else {\n const idx = colorRange.findIndex((c) => colorDistance(c, pixelColor) < COLOR_RANGE_THRESHOLD);\n if (idx === -1) {\n alpha = 0;\n didRemoveBackground = true;\n } else {\n alpha = Math.max(255 - 255 * idx * 0.35, 50);\n }\n }\n\n const recolored = recolorSvgFill ? recolorSvgFill(pixelColor) : options.color;\n processedData[i] = recolored.r;\n processedData[i + 1] = recolored.g;\n processedData[i + 2] = recolored.b;\n processedData[i + 3] = alpha;\n }\n\n if (didRemoveBackground && !alreadyTransparent) {\n stages.push(\"solidify-edges\");\n const result = await processGradient(processedData, info);\n processedData = result.data;\n info = result.info;\n }\n } else if (options.removeBackground && !alreadyTransparent) {\n stages.push(\"remove-bg\");\n processedData = removeBackground(processedData, info.width, info.height);\n stages.push(\"solidify-edges\");\n const result = await processGradient(processedData, info);\n processedData = result.data;\n info = result.info;\n }\n\n let pipeline = sharp(processedData, {\n raw: { channels: 4, width: info.width, height: info.height },\n }).png();\n\n if (options.shrinkToContent) {\n stages.push(\"trim\");\n pipeline = pipeline.trim();\n }\n\n const outputBuffer = await pipeline.toBuffer();\n return { buffer: outputBuffer, stages };\n}\n\nfunction applyResize(buffer: Buffer, resize: ResizeOptions): Promise<Buffer> {\n const transparent = { r: 0, g: 0, b: 0, alpha: 0 };\n if (resize.size) {\n return sharp(buffer)\n .resize(resize.size.width, resize.size.height, {\n fit: resize.fit ?? \"contain\",\n background: transparent,\n })\n .toBuffer();\n }\n return sharp(buffer)\n .resize(resize.width ?? null, resize.height ?? null, { fit: \"inside\", withoutEnlargement: false })\n .toBuffer();\n}\n\nexport async function processImage(inputBuffer: Buffer, options: ProcessingOptions = {}): Promise<ProcessedImage> {\n const stages: string[] = [];\n const isSVG = isSvgBuffer(inputBuffer);\n\n if (isSVG && !options.color && !options.removeBackground && !options.shrinkToContent) {\n if (options.resize) {\n stages.push(\"resize\");\n const resized = await applyResize(inputBuffer, options.resize);\n const meta = await sharp(resized).metadata();\n return {\n buffer: resized,\n format: \"png\",\n width: meta.width ?? 0,\n height: meta.height ?? 0,\n stages,\n };\n }\n const meta = await sharp(inputBuffer).metadata();\n return {\n buffer: inputBuffer,\n format: \"svg\",\n width: meta.width ?? 0,\n height: meta.height ?? 0,\n stages,\n };\n }\n\n let workingBuffer = inputBuffer;\n if (isSVG) {\n stages.push(\"rasterize-svg\");\n workingBuffer = await sharp(inputBuffer)\n .png({ compressionLevel: 0, force: true, palette: false, quality: 100 })\n .toBuffer();\n }\n\n const pass = await processInternal(workingBuffer, isSVG, options);\n stages.push(...pass.stages);\n let processed = pass.buffer;\n\n if (options.resize) {\n stages.push(\"resize\");\n processed = await applyResize(processed, options.resize);\n }\n\n const meta = await sharp(processed).metadata();\n return {\n buffer: processed,\n format: \"png\",\n width: meta.width ?? 0,\n height: meta.height ?? 0,\n stages,\n };\n}\n"],"mappings":"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","names":["cleaned","p","q","meta","removeBackground"]}
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
flowDataPath,
|
|
3
|
-
listFlowSlugs,
|
|
4
|
-
readFlowTree,
|
|
5
|
-
walkNodes,
|
|
6
|
-
writeFlowTree
|
|
7
|
-
} from "./chunk-HWWPDUZM.js";
|
|
8
|
-
import {
|
|
9
|
-
looksLikeUnresolvedVariable,
|
|
10
|
-
parseEmailRecipients
|
|
11
|
-
} from "./chunk-MBKCUSMR.js";
|
|
12
|
-
import "./chunk-GXDLWBOY.js";
|
|
13
|
-
import "./chunk-WYCVJIHD.js";
|
|
14
|
-
import "./chunk-ZJWUBJYQ.js";
|
|
15
|
-
import "./chunk-XML7AJM3.js";
|
|
16
|
-
import {
|
|
17
|
-
writeJson
|
|
18
|
-
} from "./chunk-O4AXPEOE.js";
|
|
19
|
-
import {
|
|
20
|
-
registerSchema
|
|
21
|
-
} from "./chunk-JIHG6K7N.js";
|
|
22
|
-
import "./chunk-YQSBHWOI.js";
|
|
23
|
-
|
|
24
|
-
// src/commands/flows/normalize.ts
|
|
25
|
-
import { defineCommand } from "citty";
|
|
26
|
-
var OPTIONAL_STRINGS = ["oauthProviderId"];
|
|
27
|
-
var ARRAY_FIELDS = [
|
|
28
|
-
"fieldMapping",
|
|
29
|
-
"columnMapping",
|
|
30
|
-
"payloadKeys",
|
|
31
|
-
"eventParams",
|
|
32
|
-
"eventProperties",
|
|
33
|
-
"dataLayerParams",
|
|
34
|
-
"goalParams",
|
|
35
|
-
"fields",
|
|
36
|
-
"tagIds"
|
|
37
|
-
];
|
|
38
|
-
var ARRAY_OWNERS = ["", "body"];
|
|
39
|
-
function dropUnsetOptionals(sideEffect, path) {
|
|
40
|
-
return OPTIONAL_STRINGS.flatMap((key) => {
|
|
41
|
-
if (!(key in sideEffect) || sideEffect[key] !== null && sideEffect[key] !== "") return [];
|
|
42
|
-
delete sideEffect[key];
|
|
43
|
-
return [{ path, change: `dropped \`${key}\` (an optional string is absent, never null)` }];
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
function fillNulledArrays(target, prefix, path) {
|
|
47
|
-
return ARRAY_FIELDS.flatMap((key) => {
|
|
48
|
-
if (!(key in target) || target[key] !== null) return [];
|
|
49
|
-
target[key] = [];
|
|
50
|
-
return [{ path, change: `\`${prefix}${key}: null\` \u2192 \`[]\`` }];
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
function tidyEmailRecipients(sideEffect, path) {
|
|
54
|
-
if (sideEffect.type !== "email") return [];
|
|
55
|
-
const config = sideEffect.encryptedConfig;
|
|
56
|
-
if (!config || typeof config !== "object" || Array.isArray(config)) return [];
|
|
57
|
-
const raw = config.email;
|
|
58
|
-
if (typeof raw !== "string" || looksLikeUnresolvedVariable(raw)) return [];
|
|
59
|
-
const { to, invalid } = parseEmailRecipients(raw);
|
|
60
|
-
if (invalid.length > 0 || to.length === 0) return [];
|
|
61
|
-
const tidied = to.join(", ");
|
|
62
|
-
if (tidied === raw) return [];
|
|
63
|
-
config.email = tidied;
|
|
64
|
-
return [{ path, change: "tidied the recipient list's spacing and separators" }];
|
|
65
|
-
}
|
|
66
|
-
function sideEffectsOf(node) {
|
|
67
|
-
if (!Array.isArray(node.sideEffects)) return [];
|
|
68
|
-
return node.sideEffects.filter(
|
|
69
|
-
(sideEffect) => Boolean(sideEffect) && typeof sideEffect === "object"
|
|
70
|
-
);
|
|
71
|
-
}
|
|
72
|
-
function normalizeSideEffect(sideEffect, where) {
|
|
73
|
-
const path = `${where} \u2192 ${String(sideEffect.id ?? "side effect")}`;
|
|
74
|
-
const arrays = ARRAY_OWNERS.flatMap((owner) => {
|
|
75
|
-
const target = owner ? sideEffect[owner] : sideEffect;
|
|
76
|
-
if (!target || typeof target !== "object") return [];
|
|
77
|
-
return fillNulledArrays(target, owner ? `${owner}.` : "", path);
|
|
78
|
-
});
|
|
79
|
-
return [...dropUnsetOptionals(sideEffect, path), ...arrays, ...tidyEmailRecipients(sideEffect, path)];
|
|
80
|
-
}
|
|
81
|
-
function normalizeFlowTree(tree) {
|
|
82
|
-
const changes = [];
|
|
83
|
-
for (const node of walkNodes(tree)) {
|
|
84
|
-
const where = typeof node.name === "string" && node.name ? String(node.name) : String(node.id ?? "node");
|
|
85
|
-
if (!("condition" in node)) {
|
|
86
|
-
node.condition = null;
|
|
87
|
-
changes.push({ path: where, change: "added the missing `condition: null`" });
|
|
88
|
-
}
|
|
89
|
-
for (const sideEffect of sideEffectsOf(node)) {
|
|
90
|
-
changes.push(...normalizeSideEffect(sideEffect, where));
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
return changes;
|
|
94
|
-
}
|
|
95
|
-
registerSchema({
|
|
96
|
-
command: "flows.normalize",
|
|
97
|
-
description: "Fix the shapes a form file is allowed to get slightly wrong: a nulled optional string, a nulled array, a missing condition. Runs automatically before a commit; you rarely need to call it.",
|
|
98
|
-
args: {
|
|
99
|
-
slug: { type: "positional", description: "Form slug. Omit to check every form.", required: false },
|
|
100
|
-
write: {
|
|
101
|
-
type: "boolean",
|
|
102
|
-
description: "Apply the fixes. Without it, reports and changes nothing",
|
|
103
|
-
required: false
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
});
|
|
107
|
-
var normalizeCommand = defineCommand({
|
|
108
|
-
meta: {
|
|
109
|
-
name: "normalize",
|
|
110
|
-
description: "Repair the shapes a form file is allowed to get slightly wrong. Example: baker flows normalize contact --write"
|
|
111
|
-
},
|
|
112
|
-
args: {
|
|
113
|
-
// `required: false` matters: citty makes a positional required by default,
|
|
114
|
-
// so without it the documented bare `baker flows normalize` printed a wall
|
|
115
|
-
// of usage text and exited 1 instead of checking every form.
|
|
116
|
-
slug: { type: "positional", description: "Form slug (omit for every form)", required: false },
|
|
117
|
-
write: { type: "boolean", description: "Apply the fixes" }
|
|
118
|
-
},
|
|
119
|
-
run: ({ args }) => {
|
|
120
|
-
const slugs = args.slug ? [String(args.slug)] : listFlowSlugs();
|
|
121
|
-
const forms = slugs.flatMap((slug) => {
|
|
122
|
-
const tree = readFlowTree(slug);
|
|
123
|
-
const changes = normalizeFlowTree(tree);
|
|
124
|
-
if (changes.length === 0) return [];
|
|
125
|
-
if (args.write === true) writeFlowTree(slug, tree);
|
|
126
|
-
return [{ slug, path: flowDataPath(slug), changes }];
|
|
127
|
-
});
|
|
128
|
-
const total = forms.reduce((sum, form) => sum + form.changes.length, 0);
|
|
129
|
-
writeJson({
|
|
130
|
-
ok: true,
|
|
131
|
-
data: { forms, changed: total, written: args.write === true },
|
|
132
|
-
hints: total === 0 ? ["Nothing to fix."] : args.write === true ? [`Fixed ${total} field(s).`] : [`${total} field(s) can be fixed. Re-run with --write.`]
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
});
|
|
136
|
-
export {
|
|
137
|
-
normalizeCommand,
|
|
138
|
-
normalizeFlowTree
|
|
139
|
-
};
|
|
140
|
-
//# sourceMappingURL=normalize-NDR7YEQE.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/flows/normalize.ts"],"sourcesContent":["/**\n * Make a form file valid without making the agent memorise a rule.\n *\n * `oauthProviderId` is typed `oauthProviderId?: string`. Writing `null` there is\n * the natural thing to do — every sibling confidential field is authored as\n * `null` — and it is a type error at the next build. Three separate passages in\n * the flow-builder skill existed only to teach that one exception, and the agent\n * paid for them on every turn that touched a form.\n *\n * So the system absorbs it instead: an unset optional is dropped, a nulled array\n * becomes an empty one, a missing `condition` becomes the explicit `null` the\n * schema wants. This runs as a pre-commit fixer, so writing `null` is simply not\n * a mistake any more, and the prose that taught the rule is gone.\n *\n * Pure — `normalizeFlowTree` mutates a decoded tree and reports what it changed,\n * so the command and the tests share one implementation.\n */\n\nimport { looksLikeUnresolvedVariable, parseEmailRecipients } from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { flowDataPath, listFlowSlugs, readFlowTree, walkNodes, writeFlowTree } from \"./shared.ts\";\n\ntype AnyRecord = Record<string, unknown>;\n\n/** Optional string fields where \"unset\" must be an absent key, never `null` or `\"\"`. */\nconst OPTIONAL_STRINGS = [\"oauthProviderId\"] as const;\n/**\n * Fields typed as arrays, where `null` means \"none yet\".\n *\n * Every `PayloadKey[]` slot the engine defines is here, not just the common\n * ones: this list is what makes \"a nulled array is not a mistake\" true, so a\n * slot missing from it is a rule the agent is told it no longer has to\n * remember, and then fails a build for forgetting. `flows-normalize-coverage`\n * in `normalize.test.ts` pins it against `MAPPING_SLOTS`.\n */\nconst ARRAY_FIELDS = [\n \"fieldMapping\",\n \"columnMapping\",\n \"payloadKeys\",\n \"eventParams\",\n \"eventProperties\",\n \"dataLayerParams\",\n \"goalParams\",\n \"fields\",\n \"tagIds\",\n] as const;\n\nexport type Normalization = { path: string; change: string };\n\n/**\n * Objects that can carry a mappable array, relative to the side effect.\n *\n * An email's keys live at `body.fields`, one level down, and `null` there is the\n * same type error as `payloadKeys: null` is at the top. Repairing only the top\n * level would leave the one nested slot as a rule the agent still has to know.\n */\nconst ARRAY_OWNERS = [\"\", \"body\"] as const;\n\n/** Drop an optional string that was authored as `null` or `\"\"`. */\nfunction dropUnsetOptionals(sideEffect: AnyRecord, path: string): Normalization[] {\n return OPTIONAL_STRINGS.flatMap((key) => {\n if (!(key in sideEffect) || (sideEffect[key] !== null && sideEffect[key] !== \"\")) return [];\n delete sideEffect[key];\n return [{ path, change: `dropped \\`${key}\\` (an optional string is absent, never null)` }];\n });\n}\n\n/** Turn every nulled array on one object into an empty one. */\nfunction fillNulledArrays(target: AnyRecord, prefix: string, path: string): Normalization[] {\n return ARRAY_FIELDS.flatMap((key) => {\n if (!(key in target) || target[key] !== null) return [];\n target[key] = [];\n return [{ path, change: `\\`${prefix}${key}: null\\` → \\`[]\\`` }];\n });\n}\n\n/**\n * Tidy an email destination's recipient list, or null when there is nothing to\n * tidy — and, just as importantly, when tidying would hide something.\n *\n * The field is one string holding a list, so it collects the marks of having\n * been typed: a leading space, a trailing comma, a semicolon where a comma was\n * meant, the same address twice. None changes who receives the mail —\n * `parseEmailRecipients` reads all of them the same way at send time — so this\n * is a shape repair rather than a judgement call, which is what keeps it here.\n *\n * It refuses where a rewrite would be one. A `{{…}}` that was never substituted\n * and a fragment that is not an address both belong to\n * `validate-flow-email-recipients`, which quotes them back verbatim; a tidied\n * copy would put words in the author's mouth on the screen where they are\n * trying to recognise their own mistake.\n */\nfunction tidyEmailRecipients(sideEffect: AnyRecord, path: string): Normalization[] {\n if (sideEffect.type !== \"email\") return [];\n const config = sideEffect.encryptedConfig;\n // A string is the dashboard-configured half, encrypted; an object is the\n // agent-authored half, which is the only one anybody can read.\n if (!config || typeof config !== \"object\" || Array.isArray(config)) return [];\n const raw = (config as AnyRecord).email;\n if (typeof raw !== \"string\" || looksLikeUnresolvedVariable(raw)) return [];\n const { to, invalid } = parseEmailRecipients(raw);\n if (invalid.length > 0 || to.length === 0) return [];\n const tidied = to.join(\", \");\n if (tidied === raw) return [];\n (config as AnyRecord).email = tidied;\n return [{ path, change: \"tidied the recipient list's spacing and separators\" }];\n}\n\n/** Side effects of one node, skipping anything that is not an object to patch. */\nfunction sideEffectsOf(node: AnyRecord): AnyRecord[] {\n if (!Array.isArray(node.sideEffects)) return [];\n return (node.sideEffects as unknown[]).filter(\n (sideEffect): sideEffect is AnyRecord => Boolean(sideEffect) && typeof sideEffect === \"object\",\n );\n}\n\n/** Repairs to one side effect, reported against the step that owns it. */\nfunction normalizeSideEffect(sideEffect: AnyRecord, where: string): Normalization[] {\n const path = `${where} → ${String(sideEffect.id ?? \"side effect\")}`;\n const arrays = ARRAY_OWNERS.flatMap((owner) => {\n const target = owner ? (sideEffect[owner] as AnyRecord | undefined) : sideEffect;\n if (!target || typeof target !== \"object\") return [];\n return fillNulledArrays(target, owner ? `${owner}.` : \"\", path);\n });\n return [...dropUnsetOptionals(sideEffect, path), ...arrays, ...tidyEmailRecipients(sideEffect, path)];\n}\n\n/** Fix a decoded tree in place. Returns one line per change, empty when already clean. */\nexport function normalizeFlowTree(tree: AnyRecord): Normalization[] {\n const changes: Normalization[] = [];\n\n for (const node of walkNodes(tree)) {\n const where = typeof node.name === \"string\" && node.name ? String(node.name) : String(node.id ?? \"node\");\n\n // The root node has no condition by definition; every other node needs the\n // key present so a reader can tell \"always runs\" from \"nobody set this\".\n if (!(\"condition\" in node)) {\n node.condition = null;\n changes.push({ path: where, change: \"added the missing `condition: null`\" });\n }\n\n // Filtered, not `?? []`: a hand-authored `sideEffects` can hold a null or a\n // string, and reading `.id` off one throws inside the command that exists to\n // repair a form file that is already slightly wrong.\n for (const sideEffect of sideEffectsOf(node)) {\n changes.push(...normalizeSideEffect(sideEffect, where));\n }\n }\n\n return changes;\n}\n\nregisterSchema({\n command: \"flows.normalize\",\n description:\n \"Fix the shapes a form file is allowed to get slightly wrong: a nulled optional string, a nulled array, a missing condition. Runs automatically before a commit; you rarely need to call it.\",\n args: {\n slug: { type: \"positional\", description: \"Form slug. Omit to check every form.\", required: false },\n write: {\n type: \"boolean\",\n description: \"Apply the fixes. Without it, reports and changes nothing\",\n required: false,\n },\n },\n});\n\nexport const normalizeCommand = defineCommand({\n meta: {\n name: \"normalize\",\n description:\n \"Repair the shapes a form file is allowed to get slightly wrong. Example: baker flows normalize contact --write\",\n },\n args: {\n // `required: false` matters: citty makes a positional required by default,\n // so without it the documented bare `baker flows normalize` printed a wall\n // of usage text and exited 1 instead of checking every form.\n slug: { type: \"positional\", description: \"Form slug (omit for every form)\", required: false },\n write: { type: \"boolean\", description: \"Apply the fixes\" },\n },\n run: ({ args }) => {\n const slugs = args.slug ? [String(args.slug)] : listFlowSlugs();\n const forms = slugs.flatMap((slug) => {\n const tree = readFlowTree(slug);\n const changes = normalizeFlowTree(tree);\n if (changes.length === 0) return [];\n if (args.write === true) writeFlowTree(slug, tree);\n return [{ slug, path: flowDataPath(slug), changes }];\n });\n\n const total = forms.reduce((sum, form) => sum + form.changes.length, 0);\n writeJson({\n ok: true,\n data: { forms, changed: total, written: args.write === true },\n hints:\n total === 0\n ? [\"Nothing to fix.\"]\n : args.write === true\n ? [`Fixed ${total} field(s).`]\n : [`${total} field(s) can be fixed. Re-run with --write.`],\n });\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAmBA,SAAS,qBAAqB;AAQ9B,IAAM,mBAAmB,CAAC,iBAAiB;AAU3C,IAAM,eAAe;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAWA,IAAM,eAAe,CAAC,IAAI,MAAM;AAGhC,SAAS,mBAAmB,YAAuB,MAA+B;AAChF,SAAO,iBAAiB,QAAQ,CAAC,QAAQ;AACvC,QAAI,EAAE,OAAO,eAAgB,WAAW,GAAG,MAAM,QAAQ,WAAW,GAAG,MAAM,GAAK,QAAO,CAAC;AAC1F,WAAO,WAAW,GAAG;AACrB,WAAO,CAAC,EAAE,MAAM,QAAQ,aAAa,GAAG,gDAAgD,CAAC;AAAA,EAC3F,CAAC;AACH;AAGA,SAAS,iBAAiB,QAAmB,QAAgB,MAA+B;AAC1F,SAAO,aAAa,QAAQ,CAAC,QAAQ;AACnC,QAAI,EAAE,OAAO,WAAW,OAAO,GAAG,MAAM,KAAM,QAAO,CAAC;AACtD,WAAO,GAAG,IAAI,CAAC;AACf,WAAO,CAAC,EAAE,MAAM,QAAQ,KAAK,MAAM,GAAG,GAAG,yBAAoB,CAAC;AAAA,EAChE,CAAC;AACH;AAkBA,SAAS,oBAAoB,YAAuB,MAA+B;AACjF,MAAI,WAAW,SAAS,QAAS,QAAO,CAAC;AACzC,QAAM,SAAS,WAAW;AAG1B,MAAI,CAAC,UAAU,OAAO,WAAW,YAAY,MAAM,QAAQ,MAAM,EAAG,QAAO,CAAC;AAC5E,QAAM,MAAO,OAAqB;AAClC,MAAI,OAAO,QAAQ,YAAY,4BAA4B,GAAG,EAAG,QAAO,CAAC;AACzE,QAAM,EAAE,IAAI,QAAQ,IAAI,qBAAqB,GAAG;AAChD,MAAI,QAAQ,SAAS,KAAK,GAAG,WAAW,EAAG,QAAO,CAAC;AACnD,QAAM,SAAS,GAAG,KAAK,IAAI;AAC3B,MAAI,WAAW,IAAK,QAAO,CAAC;AAC5B,EAAC,OAAqB,QAAQ;AAC9B,SAAO,CAAC,EAAE,MAAM,QAAQ,qDAAqD,CAAC;AAChF;AAGA,SAAS,cAAc,MAA8B;AACnD,MAAI,CAAC,MAAM,QAAQ,KAAK,WAAW,EAAG,QAAO,CAAC;AAC9C,SAAQ,KAAK,YAA0B;AAAA,IACrC,CAAC,eAAwC,QAAQ,UAAU,KAAK,OAAO,eAAe;AAAA,EACxF;AACF;AAGA,SAAS,oBAAoB,YAAuB,OAAgC;AAClF,QAAM,OAAO,GAAG,KAAK,WAAM,OAAO,WAAW,MAAM,aAAa,CAAC;AACjE,QAAM,SAAS,aAAa,QAAQ,CAAC,UAAU;AAC7C,UAAM,SAAS,QAAS,WAAW,KAAK,IAA8B;AACtE,QAAI,CAAC,UAAU,OAAO,WAAW,SAAU,QAAO,CAAC;AACnD,WAAO,iBAAiB,QAAQ,QAAQ,GAAG,KAAK,MAAM,IAAI,IAAI;AAAA,EAChE,CAAC;AACD,SAAO,CAAC,GAAG,mBAAmB,YAAY,IAAI,GAAG,GAAG,QAAQ,GAAG,oBAAoB,YAAY,IAAI,CAAC;AACtG;AAGO,SAAS,kBAAkB,MAAkC;AAClE,QAAM,UAA2B,CAAC;AAElC,aAAW,QAAQ,UAAU,IAAI,GAAG;AAClC,UAAM,QAAQ,OAAO,KAAK,SAAS,YAAY,KAAK,OAAO,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,MAAM,MAAM;AAIvG,QAAI,EAAE,eAAe,OAAO;AAC1B,WAAK,YAAY;AACjB,cAAQ,KAAK,EAAE,MAAM,OAAO,QAAQ,sCAAsC,CAAC;AAAA,IAC7E;AAKA,eAAW,cAAc,cAAc,IAAI,GAAG;AAC5C,cAAQ,KAAK,GAAG,oBAAoB,YAAY,KAAK,CAAC;AAAA,IACxD;AAAA,EACF;AAEA,SAAO;AACT;AAEA,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM;AAAA,IACJ,MAAM,EAAE,MAAM,cAAc,aAAa,wCAAwC,UAAU,MAAM;AAAA,IACjG,OAAO;AAAA,MACL,MAAM;AAAA,MACN,aAAa;AAAA,MACb,UAAU;AAAA,IACZ;AAAA,EACF;AACF,CAAC;AAEM,IAAM,mBAAmB,cAAc;AAAA,EAC5C,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AAAA,EACA,MAAM;AAAA;AAAA;AAAA;AAAA,IAIJ,MAAM,EAAE,MAAM,cAAc,aAAa,mCAAmC,UAAU,MAAM;AAAA,IAC5F,OAAO,EAAE,MAAM,WAAW,aAAa,kBAAkB;AAAA,EAC3D;AAAA,EACA,KAAK,CAAC,EAAE,KAAK,MAAM;AACjB,UAAM,QAAQ,KAAK,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,cAAc;AAC9D,UAAM,QAAQ,MAAM,QAAQ,CAAC,SAAS;AACpC,YAAM,OAAO,aAAa,IAAI;AAC9B,YAAM,UAAU,kBAAkB,IAAI;AACtC,UAAI,QAAQ,WAAW,EAAG,QAAO,CAAC;AAClC,UAAI,KAAK,UAAU,KAAM,eAAc,MAAM,IAAI;AACjD,aAAO,CAAC,EAAE,MAAM,MAAM,aAAa,IAAI,GAAG,QAAQ,CAAC;AAAA,IACrD,CAAC;AAED,UAAM,QAAQ,MAAM,OAAO,CAAC,KAAK,SAAS,MAAM,KAAK,QAAQ,QAAQ,CAAC;AACtE,cAAU;AAAA,MACR,IAAI;AAAA,MACJ,MAAM,EAAE,OAAO,SAAS,OAAO,SAAS,KAAK,UAAU,KAAK;AAAA,MAC5D,OACE,UAAU,IACN,CAAC,iBAAiB,IAClB,KAAK,UAAU,OACb,CAAC,SAAS,KAAK,YAAY,IAC3B,CAAC,GAAG,KAAK,8CAA8C;AAAA,IACjE,CAAC;AAAA,EACH;AACF,CAAC;","names":[]}
|
package/dist/options-G5VGH22X.js
DELETED
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
destinationRefusal
|
|
3
|
-
} from "./chunk-IPF4P6ZQ.js";
|
|
4
|
-
import "./chunk-UA5EUJXV.js";
|
|
5
|
-
import "./chunk-HWWPDUZM.js";
|
|
6
|
-
import {
|
|
7
|
-
failApi
|
|
8
|
-
} from "./chunk-TQAXOBKJ.js";
|
|
9
|
-
import {
|
|
10
|
-
FLOW_AGENT_DESTINATION_KINDS
|
|
11
|
-
} from "./chunk-MBKCUSMR.js";
|
|
12
|
-
import "./chunk-GXDLWBOY.js";
|
|
13
|
-
import "./chunk-WYCVJIHD.js";
|
|
14
|
-
import "./chunk-ZJWUBJYQ.js";
|
|
15
|
-
import "./chunk-XML7AJM3.js";
|
|
16
|
-
import {
|
|
17
|
-
ApiError,
|
|
18
|
-
apiPost
|
|
19
|
-
} from "./chunk-EPK2GYLV.js";
|
|
20
|
-
import "./chunk-BSUN6JMU.js";
|
|
21
|
-
import "./chunk-SXRSLUW7.js";
|
|
22
|
-
import {
|
|
23
|
-
writeJson
|
|
24
|
-
} from "./chunk-O4AXPEOE.js";
|
|
25
|
-
import {
|
|
26
|
-
registerSchema
|
|
27
|
-
} from "./chunk-JIHG6K7N.js";
|
|
28
|
-
import "./chunk-YQSBHWOI.js";
|
|
29
|
-
|
|
30
|
-
// src/commands/flows/options.ts
|
|
31
|
-
import { defineCommand } from "citty";
|
|
32
|
-
var HUBSPOT_KINDS = {
|
|
33
|
-
hubspot: "baker hubspot forms list",
|
|
34
|
-
hubspotForm: "baker hubspot forms list",
|
|
35
|
-
hubspotMeeting: "baker hubspot meetings list"
|
|
36
|
-
};
|
|
37
|
-
function optionsHints(data) {
|
|
38
|
-
const { kind, options } = data;
|
|
39
|
-
if (kind === "pipedrive" || kind === "goHighlevelContact") {
|
|
40
|
-
return [
|
|
41
|
-
`Nothing to choose: the connected account is the destination. Wire it: baker flows connect <slug> --side-effect <id> (or --all --type ${kind}).`
|
|
42
|
-
];
|
|
43
|
-
}
|
|
44
|
-
if (kind === "googleSpreadsheet") {
|
|
45
|
-
return [
|
|
46
|
-
"These are the only spreadsheets Baker can reach: ones someone chose for a Form before, and ones Baker created. Pick one: baker flows connect <slug> --side-effect <id> --resource <id> [--tab <name>].",
|
|
47
|
-
'None fits? Create one yourself: baker flows connect <slug> --side-effect <id> --new-sheet "<Form name> leads" --columns "Name,Email,\u2026". Only when the user wants their own existing sheet: request_flow_input.'
|
|
48
|
-
];
|
|
49
|
-
}
|
|
50
|
-
const empty = options.length === 0 ? ["The account has none. Tell the user what to create there, or skip this step \u2014 do not invent one."] : [];
|
|
51
|
-
return [
|
|
52
|
-
...empty,
|
|
53
|
-
`Fill the step: baker flows connect <slug> --node <stepId> --resource <id> (or --all --type ${kind}). One clear match \u2192 use it; several plausible \u2192 ask the user which.`
|
|
54
|
-
];
|
|
55
|
-
}
|
|
56
|
-
registerSchema({
|
|
57
|
-
command: "flows.options",
|
|
58
|
-
description: "What a Form step or destination can be filled with, read from the connected account: Calendly events, SavvyCal links, GoHighLevel calendars and forms, the Google spreadsheets Baker can reach. Pipedrive and GoHighLevel contact have nothing to choose \u2014 the account is the destination. Next: `baker flows connect <slug> --node|--side-effect <id> --resource <id>`. HubSpot has its own: `baker hubspot forms list` / `meetings list`.",
|
|
59
|
-
args: {
|
|
60
|
-
kind: {
|
|
61
|
-
type: "positional",
|
|
62
|
-
description: `One of: ${FLOW_AGENT_DESTINATION_KINDS.join(", ")}`,
|
|
63
|
-
required: true
|
|
64
|
-
},
|
|
65
|
-
account: {
|
|
66
|
-
type: "string",
|
|
67
|
-
description: "Connection id, when more than one account of the platform is connected",
|
|
68
|
-
required: false
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
var optionsCommand = defineCommand({
|
|
73
|
-
meta: {
|
|
74
|
-
name: "options",
|
|
75
|
-
description: "What a step or destination can be filled with, from the connected account. Start here: baker flows options calendly"
|
|
76
|
-
},
|
|
77
|
-
args: {
|
|
78
|
-
kind: { type: "positional", description: FLOW_AGENT_DESTINATION_KINDS.join(" | "), required: true },
|
|
79
|
-
account: { type: "string", description: "Connection id when several are connected" }
|
|
80
|
-
},
|
|
81
|
-
run: async ({ args }) => {
|
|
82
|
-
const kind = String(args.kind);
|
|
83
|
-
const hubspot = HUBSPOT_KINDS[kind];
|
|
84
|
-
if (hubspot) {
|
|
85
|
-
writeJson({ ok: false, error: { code: "VALIDATION_ERROR", message: `HubSpot has its own list: ${hubspot}.` } });
|
|
86
|
-
process.exit(1);
|
|
87
|
-
}
|
|
88
|
-
if (!FLOW_AGENT_DESTINATION_KINDS.includes(kind)) {
|
|
89
|
-
writeJson({
|
|
90
|
-
ok: false,
|
|
91
|
-
error: {
|
|
92
|
-
code: "VALIDATION_ERROR",
|
|
93
|
-
message: `"${kind}" is not filled from a platform account.`,
|
|
94
|
-
fix: `Kinds: ${FLOW_AGENT_DESTINATION_KINDS.join(", ")}. Typed credentials (webhooks, Zapier, Crmble) go through request_flow_input.`
|
|
95
|
-
}
|
|
96
|
-
});
|
|
97
|
-
process.exit(1);
|
|
98
|
-
}
|
|
99
|
-
try {
|
|
100
|
-
const { data } = await apiPost("/api/flows/destinations/options", {
|
|
101
|
-
kind,
|
|
102
|
-
...args.account ? { account: String(args.account) } : {}
|
|
103
|
-
});
|
|
104
|
-
writeJson({
|
|
105
|
-
ok: true,
|
|
106
|
-
data: { ...data, accounts: data.accounts.length > 1 ? data.accounts : void 0 },
|
|
107
|
-
hints: optionsHints(data)
|
|
108
|
-
});
|
|
109
|
-
} catch (err) {
|
|
110
|
-
const refusal = err instanceof ApiError ? destinationRefusal(kind, err) : null;
|
|
111
|
-
if (err instanceof ApiError && refusal !== null) {
|
|
112
|
-
writeJson({ ok: false, error: { code: refusal.code, message: err.message, fix: refusal.fix } });
|
|
113
|
-
process.exit(1);
|
|
114
|
-
}
|
|
115
|
-
failApi(err);
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
});
|
|
119
|
-
export {
|
|
120
|
-
optionsCommand,
|
|
121
|
-
optionsHints
|
|
122
|
-
};
|
|
123
|
-
//# sourceMappingURL=options-G5VGH22X.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/flows/options.ts"],"sourcesContent":["/**\n * `options`: what a Form's step or destination could be filled with, read\n * through the company's connected account — the same list the card shows the\n * user, so the agent can choose instead of asking.\n */\n\nimport { FLOW_AGENT_DESTINATION_KINDS, type FlowAgentDestinationKind, type FlowsOptionsResponse } from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { ApiError, apiPost } from \"../../client.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { failApi } from \"../actions/shared.ts\";\nimport { destinationRefusal } from \"./connect.ts\";\n\nconst HUBSPOT_KINDS: Record<string, string> = {\n hubspot: \"baker hubspot forms list\",\n hubspotForm: \"baker hubspot forms list\",\n hubspotMeeting: \"baker hubspot meetings list\",\n};\n\n/** The next call for each kind, spelled out — the target flag differs between a step and a destination. */\nexport function optionsHints(data: FlowsOptionsResponse[\"data\"]): string[] {\n const { kind, options } = data;\n if (kind === \"pipedrive\" || kind === \"goHighlevelContact\") {\n return [\n `Nothing to choose: the connected account is the destination. Wire it: baker flows connect <slug> --side-effect <id> (or --all --type ${kind}).`,\n ];\n }\n if (kind === \"googleSpreadsheet\") {\n return [\n \"These are the only spreadsheets Baker can reach: ones someone chose for a Form before, and ones Baker created. Pick one: baker flows connect <slug> --side-effect <id> --resource <id> [--tab <name>].\",\n 'None fits? Create one yourself: baker flows connect <slug> --side-effect <id> --new-sheet \"<Form name> leads\" --columns \"Name,Email,…\". Only when the user wants their own existing sheet: request_flow_input.',\n ];\n }\n const empty =\n options.length === 0\n ? [\"The account has none. Tell the user what to create there, or skip this step — do not invent one.\"]\n : [];\n return [\n ...empty,\n `Fill the step: baker flows connect <slug> --node <stepId> --resource <id> (or --all --type ${kind}). One clear match → use it; several plausible → ask the user which.`,\n ];\n}\n\nregisterSchema({\n command: \"flows.options\",\n description:\n \"What a Form step or destination can be filled with, read from the connected account: Calendly events, SavvyCal links, GoHighLevel calendars and forms, the Google spreadsheets Baker can reach. Pipedrive and GoHighLevel contact have nothing to choose — the account is the destination. Next: `baker flows connect <slug> --node|--side-effect <id> --resource <id>`. HubSpot has its own: `baker hubspot forms list` / `meetings list`.\",\n args: {\n kind: {\n type: \"positional\",\n description: `One of: ${FLOW_AGENT_DESTINATION_KINDS.join(\", \")}`,\n required: true,\n },\n account: {\n type: \"string\",\n description: \"Connection id, when more than one account of the platform is connected\",\n required: false,\n },\n },\n});\n\nexport const optionsCommand = defineCommand({\n meta: {\n name: \"options\",\n description:\n \"What a step or destination can be filled with, from the connected account. Start here: baker flows options calendly\",\n },\n args: {\n kind: { type: \"positional\", description: FLOW_AGENT_DESTINATION_KINDS.join(\" | \"), required: true },\n account: { type: \"string\", description: \"Connection id when several are connected\" },\n },\n run: async ({ args }) => {\n const kind = String(args.kind);\n const hubspot = HUBSPOT_KINDS[kind];\n if (hubspot) {\n writeJson({ ok: false, error: { code: \"VALIDATION_ERROR\", message: `HubSpot has its own list: ${hubspot}.` } });\n process.exit(1);\n }\n if (!(FLOW_AGENT_DESTINATION_KINDS as readonly string[]).includes(kind)) {\n writeJson({\n ok: false,\n error: {\n code: \"VALIDATION_ERROR\",\n message: `\"${kind}\" is not filled from a platform account.`,\n fix: `Kinds: ${FLOW_AGENT_DESTINATION_KINDS.join(\", \")}. Typed credentials (webhooks, Zapier, Crmble) go through request_flow_input.`,\n },\n });\n process.exit(1);\n }\n try {\n const { data } = await apiPost<FlowsOptionsResponse>(\"/api/flows/destinations/options\", {\n kind,\n ...(args.account ? { account: String(args.account) } : {}),\n });\n writeJson({\n ok: true,\n data: { ...data, accounts: data.accounts.length > 1 ? data.accounts : undefined },\n hints: optionsHints(data),\n });\n } catch (err) {\n const refusal = err instanceof ApiError ? destinationRefusal(kind as FlowAgentDestinationKind, err) : null;\n if (err instanceof ApiError && refusal !== null) {\n writeJson({ ok: false, error: { code: refusal.code, message: err.message, fix: refusal.fix } });\n process.exit(1);\n }\n failApi(err);\n }\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,SAAS,qBAAqB;AAO9B,IAAM,gBAAwC;AAAA,EAC5C,SAAS;AAAA,EACT,aAAa;AAAA,EACb,gBAAgB;AAClB;AAGO,SAAS,aAAa,MAA8C;AACzE,QAAM,EAAE,MAAM,QAAQ,IAAI;AAC1B,MAAI,SAAS,eAAe,SAAS,sBAAsB;AACzD,WAAO;AAAA,MACL,wIAAwI,IAAI;AAAA,IAC9I;AAAA,EACF;AACA,MAAI,SAAS,qBAAqB;AAChC,WAAO;AAAA,MACL;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACA,QAAM,QACJ,QAAQ,WAAW,IACf,CAAC,uGAAkG,IACnG,CAAC;AACP,SAAO;AAAA,IACL,GAAG;AAAA,IACH,8FAA8F,IAAI;AAAA,EACpG;AACF;AAEA,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM;AAAA,IACJ,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,aAAa,WAAW,6BAA6B,KAAK,IAAI,CAAC;AAAA,MAC/D,UAAU;AAAA,IACZ;AAAA,IACA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,aAAa;AAAA,MACb,UAAU;AAAA,IACZ;AAAA,EACF;AACF,CAAC;AAEM,IAAM,iBAAiB,cAAc;AAAA,EAC1C,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AAAA,EACA,MAAM;AAAA,IACJ,MAAM,EAAE,MAAM,cAAc,aAAa,6BAA6B,KAAK,KAAK,GAAG,UAAU,KAAK;AAAA,IAClG,SAAS,EAAE,MAAM,UAAU,aAAa,2CAA2C;AAAA,EACrF;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,UAAM,OAAO,OAAO,KAAK,IAAI;AAC7B,UAAM,UAAU,cAAc,IAAI;AAClC,QAAI,SAAS;AACX,gBAAU,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,oBAAoB,SAAS,6BAA6B,OAAO,IAAI,EAAE,CAAC;AAC9G,cAAQ,KAAK,CAAC;AAAA,IAChB;AACA,QAAI,CAAE,6BAAmD,SAAS,IAAI,GAAG;AACvE,gBAAU;AAAA,QACR,IAAI;AAAA,QACJ,OAAO;AAAA,UACL,MAAM;AAAA,UACN,SAAS,IAAI,IAAI;AAAA,UACjB,KAAK,UAAU,6BAA6B,KAAK,IAAI,CAAC;AAAA,QACxD;AAAA,MACF,CAAC;AACD,cAAQ,KAAK,CAAC;AAAA,IAChB;AACA,QAAI;AACF,YAAM,EAAE,KAAK,IAAI,MAAM,QAA8B,mCAAmC;AAAA,QACtF;AAAA,QACA,GAAI,KAAK,UAAU,EAAE,SAAS,OAAO,KAAK,OAAO,EAAE,IAAI,CAAC;AAAA,MAC1D,CAAC;AACD,gBAAU;AAAA,QACR,IAAI;AAAA,QACJ,MAAM,EAAE,GAAG,MAAM,UAAU,KAAK,SAAS,SAAS,IAAI,KAAK,WAAW,OAAU;AAAA,QAChF,OAAO,aAAa,IAAI;AAAA,MAC1B,CAAC;AAAA,IACH,SAAS,KAAK;AACZ,YAAM,UAAU,eAAe,WAAW,mBAAmB,MAAkC,GAAG,IAAI;AACtG,UAAI,eAAe,YAAY,YAAY,MAAM;AAC/C,kBAAU,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,QAAQ,MAAM,SAAS,IAAI,SAAS,KAAK,QAAQ,IAAI,EAAE,CAAC;AAC9F,gBAAQ,KAAK,CAAC;AAAA,MAChB;AACA,cAAQ,GAAG;AAAA,IACb;AAAA,EACF;AACF,CAAC;","names":[]}
|
package/dist/output-ZLXBAA4O.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
TABLE_OUTPUT_FORMATS,
|
|
3
|
-
outputFormatRefusal,
|
|
4
|
-
resolveCustomerId,
|
|
5
|
-
toCsvRow,
|
|
6
|
-
writeAdsJson,
|
|
7
|
-
writeAdsOutput,
|
|
8
|
-
writeJsonEnvelope
|
|
9
|
-
} from "./chunk-6YWRJMGR.js";
|
|
10
|
-
import "./chunk-EPK2GYLV.js";
|
|
11
|
-
import "./chunk-BSUN6JMU.js";
|
|
12
|
-
import "./chunk-SXRSLUW7.js";
|
|
13
|
-
import "./chunk-O4AXPEOE.js";
|
|
14
|
-
import "./chunk-JIHG6K7N.js";
|
|
15
|
-
import "./chunk-YQSBHWOI.js";
|
|
16
|
-
export {
|
|
17
|
-
TABLE_OUTPUT_FORMATS,
|
|
18
|
-
outputFormatRefusal,
|
|
19
|
-
resolveCustomerId,
|
|
20
|
-
toCsvRow,
|
|
21
|
-
writeAdsJson,
|
|
22
|
-
writeAdsOutput,
|
|
23
|
-
writeJsonEnvelope
|
|
24
|
-
};
|
|
25
|
-
//# sourceMappingURL=output-ZLXBAA4O.js.map
|
package/dist/page-L7BBMINT.js
DELETED
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
INSPIRATION_HINTS,
|
|
3
|
-
reportError,
|
|
4
|
-
staleCopyHint
|
|
5
|
-
} from "./chunk-F3WFP75M.js";
|
|
6
|
-
import {
|
|
7
|
-
apiGet
|
|
8
|
-
} from "./chunk-EPK2GYLV.js";
|
|
9
|
-
import "./chunk-BSUN6JMU.js";
|
|
10
|
-
import "./chunk-SXRSLUW7.js";
|
|
11
|
-
import {
|
|
12
|
-
writeJson
|
|
13
|
-
} from "./chunk-O4AXPEOE.js";
|
|
14
|
-
import {
|
|
15
|
-
registerSchema
|
|
16
|
-
} from "./chunk-JIHG6K7N.js";
|
|
17
|
-
import "./chunk-YQSBHWOI.js";
|
|
18
|
-
|
|
19
|
-
// src/commands/landing/inspiration/page.ts
|
|
20
|
-
import { defineCommand } from "citty";
|
|
21
|
-
registerSchema({
|
|
22
|
-
command: "landing.inspiration.page",
|
|
23
|
-
description: "Show a whole reference page as a sequence: every section top to bottom with its type and the idea behind it. This is the view to use when the question is how a good page is ORDERED rather than what one section looks like.",
|
|
24
|
-
args: {
|
|
25
|
-
id: {
|
|
26
|
-
type: "string",
|
|
27
|
-
description: "Page id \u2014 the `page_id` on any search result or favorites row",
|
|
28
|
-
required: true
|
|
29
|
-
},
|
|
30
|
-
full: {
|
|
31
|
-
type: "boolean",
|
|
32
|
-
description: "Add the transferable idea behind every section. A long page roughly triples the response",
|
|
33
|
-
required: false
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
var pageCommand = defineCommand({
|
|
38
|
-
meta: {
|
|
39
|
-
name: "page",
|
|
40
|
-
description: "Show how a reference page sequences its sections. Example: baker landing inspiration page j91xyz\u2026 \u2014 the blueprint, not the pixels."
|
|
41
|
-
},
|
|
42
|
-
args: {
|
|
43
|
-
id: { type: "positional", description: "Page id (the `page_id` on a search result)", required: true },
|
|
44
|
-
full: { type: "boolean", description: "Include why_it_works per section", required: false, default: false }
|
|
45
|
-
},
|
|
46
|
-
run: async ({ args }) => {
|
|
47
|
-
try {
|
|
48
|
-
const data = await apiGet("/api/landing-inspiration/page", { id: args.id });
|
|
49
|
-
if (data.status !== "indexed") {
|
|
50
|
-
writeJson({
|
|
51
|
-
ok: true,
|
|
52
|
-
data: { id: data.id, url: data.url, status: data.status, sections: [] },
|
|
53
|
-
hints: [
|
|
54
|
-
data.status === "error" ? "We couldn't read this page. Try a different address, or a different page on the same site." : "Still being studied \u2014 check back later in the turn or in a later one."
|
|
55
|
-
]
|
|
56
|
-
});
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
const full = args.full;
|
|
60
|
-
writeJson({
|
|
61
|
-
ok: true,
|
|
62
|
-
data: {
|
|
63
|
-
id: data.id,
|
|
64
|
-
url: data.url,
|
|
65
|
-
domain: data.domain,
|
|
66
|
-
title: data.title,
|
|
67
|
-
archetype: data.archetype,
|
|
68
|
-
stack: data.detectedStack,
|
|
69
|
-
page_fidelity: data.pageFidelity,
|
|
70
|
-
read_at: data.studiedAt ? new Date(data.studiedAt).toISOString().slice(0, 10) : null,
|
|
71
|
-
...data.refreshFailedAt ? { refresh_failed_at: new Date(data.refreshFailedAt).toISOString().slice(0, 10) } : {},
|
|
72
|
-
blueprint: data.sectionOrder,
|
|
73
|
-
sections: data.sections.map((section) => ({
|
|
74
|
-
id: section.id,
|
|
75
|
-
position: section.index,
|
|
76
|
-
section: section.sectionType,
|
|
77
|
-
composition: section.composition,
|
|
78
|
-
look: section.visualRegister,
|
|
79
|
-
motion: section.motionSummary,
|
|
80
|
-
craft: section.craftScore,
|
|
81
|
-
// Behind --full. This command exists to answer an ordering
|
|
82
|
-
// question, and `blueprint` answers it in a line; a 600-character
|
|
83
|
-
// paragraph per section turned a 40-section page into ~5,900 tokens
|
|
84
|
-
// of material about individual sections nobody had chosen yet.
|
|
85
|
-
...full ? { why_it_works: section.whyItWorks } : {}
|
|
86
|
-
}))
|
|
87
|
-
},
|
|
88
|
-
hints: [
|
|
89
|
-
"The blueprint is the section order top to bottom \u2014 the answer to 'how do good pages in this category sequence themselves'.",
|
|
90
|
-
"Use `baker landing inspiration view <section id>` for any section worth a closer look.",
|
|
91
|
-
...full ? [] : ["Add --full for the idea behind every section, once you know which page you care about."],
|
|
92
|
-
INSPIRATION_HINTS.adapt,
|
|
93
|
-
...[staleCopyHint(data.studiedAt, data.filedUrl)].filter((hint) => hint !== null),
|
|
94
|
-
...data.refreshFailedAt ? [
|
|
95
|
-
"The last attempt to read this page again failed, so this is the earlier copy. Tell the user if the live page may differ."
|
|
96
|
-
] : []
|
|
97
|
-
]
|
|
98
|
-
});
|
|
99
|
-
} catch (error) {
|
|
100
|
-
reportError(error);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
});
|
|
104
|
-
export {
|
|
105
|
-
pageCommand
|
|
106
|
-
};
|
|
107
|
-
//# sourceMappingURL=page-L7BBMINT.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/landing/inspiration/page.ts"],"sourcesContent":["import type { InspirationPageResponse } from \"@baker/api/landing-library\";\nimport { defineCommand } from \"citty\";\nimport { apiGet } from \"../../../client.ts\";\nimport { writeJson } from \"../../../output.ts\";\nimport { registerSchema } from \"../../../schemas.ts\";\nimport { INSPIRATION_HINTS, reportError, staleCopyHint } from \"./shared.ts\";\n\nregisterSchema({\n command: \"landing.inspiration.page\",\n description:\n \"Show a whole reference page as a sequence: every section top to bottom with its type and the idea behind it. This is the view to use when the question is how a good page is ORDERED rather than what one section looks like.\",\n args: {\n id: {\n type: \"string\",\n description: \"Page id — the `page_id` on any search result or favorites row\",\n required: true,\n },\n full: {\n type: \"boolean\",\n description: \"Add the transferable idea behind every section. A long page roughly triples the response\",\n required: false,\n },\n },\n});\n\nexport const pageCommand = defineCommand({\n meta: {\n name: \"page\",\n description:\n \"Show how a reference page sequences its sections. Example: baker landing inspiration page j91xyz… — the blueprint, not the pixels.\",\n },\n args: {\n id: { type: \"positional\", description: \"Page id (the `page_id` on a search result)\", required: true },\n full: { type: \"boolean\", description: \"Include why_it_works per section\", required: false, default: false },\n },\n run: async ({ args }) => {\n try {\n const data = await apiGet<InspirationPageResponse>(\"/api/landing-inspiration/page\", { id: args.id as string });\n\n if (data.status !== \"indexed\") {\n writeJson({\n ok: true,\n data: { id: data.id, url: data.url, status: data.status, sections: [] },\n hints: [\n data.status === \"error\"\n ? \"We couldn't read this page. Try a different address, or a different page on the same site.\"\n : \"Still being studied — check back later in the turn or in a later one.\",\n ],\n });\n return;\n }\n\n const full = args.full as boolean;\n writeJson({\n ok: true,\n data: {\n id: data.id,\n url: data.url,\n domain: data.domain,\n title: data.title,\n archetype: data.archetype,\n stack: data.detectedStack,\n page_fidelity: data.pageFidelity,\n read_at: data.studiedAt ? new Date(data.studiedAt).toISOString().slice(0, 10) : null,\n ...(data.refreshFailedAt\n ? { refresh_failed_at: new Date(data.refreshFailedAt).toISOString().slice(0, 10) }\n : {}),\n blueprint: data.sectionOrder,\n sections: data.sections.map((section) => ({\n id: section.id,\n position: section.index,\n section: section.sectionType,\n composition: section.composition,\n look: section.visualRegister,\n motion: section.motionSummary,\n craft: section.craftScore,\n // Behind --full. This command exists to answer an ordering\n // question, and `blueprint` answers it in a line; a 600-character\n // paragraph per section turned a 40-section page into ~5,900 tokens\n // of material about individual sections nobody had chosen yet.\n ...(full ? { why_it_works: section.whyItWorks } : {}),\n })),\n },\n hints: [\n \"The blueprint is the section order top to bottom — the answer to 'how do good pages in this category sequence themselves'.\",\n \"Use `baker landing inspiration view <section id>` for any section worth a closer look.\",\n ...(full ? [] : [\"Add --full for the idea behind every section, once you know which page you care about.\"]),\n INSPIRATION_HINTS.adapt,\n ...[staleCopyHint(data.studiedAt, data.filedUrl)].filter((hint): hint is string => hint !== null),\n ...(data.refreshFailedAt\n ? [\n \"The last attempt to read this page again failed, so this is the earlier copy. Tell the user if the live page may differ.\",\n ]\n : []),\n ],\n });\n } catch (error) {\n reportError(error);\n }\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;AACA,SAAS,qBAAqB;AAM9B,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM;AAAA,IACJ,IAAI;AAAA,MACF,MAAM;AAAA,MACN,aAAa;AAAA,MACb,UAAU;AAAA,IACZ;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,aAAa;AAAA,MACb,UAAU;AAAA,IACZ;AAAA,EACF;AACF,CAAC;AAEM,IAAM,cAAc,cAAc;AAAA,EACvC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AAAA,EACA,MAAM;AAAA,IACJ,IAAI,EAAE,MAAM,cAAc,aAAa,8CAA8C,UAAU,KAAK;AAAA,IACpG,MAAM,EAAE,MAAM,WAAW,aAAa,oCAAoC,UAAU,OAAO,SAAS,MAAM;AAAA,EAC5G;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,QAAI;AACF,YAAM,OAAO,MAAM,OAAgC,iCAAiC,EAAE,IAAI,KAAK,GAAa,CAAC;AAE7G,UAAI,KAAK,WAAW,WAAW;AAC7B,kBAAU;AAAA,UACR,IAAI;AAAA,UACJ,MAAM,EAAE,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,QAAQ,KAAK,QAAQ,UAAU,CAAC,EAAE;AAAA,UACtE,OAAO;AAAA,YACL,KAAK,WAAW,UACZ,+FACA;AAAA,UACN;AAAA,QACF,CAAC;AACD;AAAA,MACF;AAEA,YAAM,OAAO,KAAK;AAClB,gBAAU;AAAA,QACR,IAAI;AAAA,QACJ,MAAM;AAAA,UACJ,IAAI,KAAK;AAAA,UACT,KAAK,KAAK;AAAA,UACV,QAAQ,KAAK;AAAA,UACb,OAAO,KAAK;AAAA,UACZ,WAAW,KAAK;AAAA,UAChB,OAAO,KAAK;AAAA,UACZ,eAAe,KAAK;AAAA,UACpB,SAAS,KAAK,YAAY,IAAI,KAAK,KAAK,SAAS,EAAE,YAAY,EAAE,MAAM,GAAG,EAAE,IAAI;AAAA,UAChF,GAAI,KAAK,kBACL,EAAE,mBAAmB,IAAI,KAAK,KAAK,eAAe,EAAE,YAAY,EAAE,MAAM,GAAG,EAAE,EAAE,IAC/E,CAAC;AAAA,UACL,WAAW,KAAK;AAAA,UAChB,UAAU,KAAK,SAAS,IAAI,CAAC,aAAa;AAAA,YACxC,IAAI,QAAQ;AAAA,YACZ,UAAU,QAAQ;AAAA,YAClB,SAAS,QAAQ;AAAA,YACjB,aAAa,QAAQ;AAAA,YACrB,MAAM,QAAQ;AAAA,YACd,QAAQ,QAAQ;AAAA,YAChB,OAAO,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,YAKf,GAAI,OAAO,EAAE,cAAc,QAAQ,WAAW,IAAI,CAAC;AAAA,UACrD,EAAE;AAAA,QACJ;AAAA,QACA,OAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,GAAI,OAAO,CAAC,IAAI,CAAC,wFAAwF;AAAA,UACzG,kBAAkB;AAAA,UAClB,GAAG,CAAC,cAAc,KAAK,WAAW,KAAK,QAAQ,CAAC,EAAE,OAAO,CAAC,SAAyB,SAAS,IAAI;AAAA,UAChG,GAAI,KAAK,kBACL;AAAA,YACE;AAAA,UACF,IACA,CAAC;AAAA,QACP;AAAA,MACF,CAAC;AAAA,IACH,SAAS,OAAO;AACd,kBAAY,KAAK;AAAA,IACnB;AAAA,EACF;AACF,CAAC;","names":[]}
|