@koda-sl/baker-cli 0.554.0 → 0.555.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -3
- package/dist/{account-XIC5TTV3.js → account-H5CL6KUY.js} +4 -4
- package/dist/{account-assets-V7KSSTVP.js → account-assets-QMKT5AT7.js} +6 -6
- package/dist/{account-level-2KLG6HTG.js → account-level-BELF6JHB.js} +8 -8
- package/dist/{account-reads-ZPZUCB3P.js → account-reads-T6GTSAXE.js} +7 -7
- package/dist/{account-users-XTUKRDWK.js → account-users-ZGJCVGX4.js} +9 -9
- package/dist/{accounts-25JL77F7.js → accounts-EXQNPSYH.js} +5 -5
- package/dist/{accounts-AF72N4NV.js → accounts-GNVLFZ3X.js} +3 -3
- package/dist/{actions-IJO4JW7J.js → actions-Q2BMP27K.js} +18 -18
- package/dist/{activecampaign-PBTUMTO5.js → activecampaign-SJO2YK6M.js} +3 -3
- package/dist/{add-YQPFRDVM.js → add-Q3FGYX5Q.js} +3 -3
- package/dist/{add-KHQXXHC5.js → add-YGQBSEVK.js} +2 -2
- package/dist/{ads-5YCCRXEU.js → ads-7QKQEHKT.js} +6 -6
- package/dist/{ads-EVQ37EV3.js → ads-H5AEYIY3.js} +10 -10
- package/dist/{adsets-4IW5TRAK.js → adsets-BUIT7HF2.js} +13 -13
- package/dist/{advertisers-JNOWSZZC.js → advertisers-ZAHXMIAT.js} +3 -3
- package/dist/{analytics-CZMCM7XC.js → analytics-B6ER4TQ7.js} +6 -6
- package/dist/{analytics-K5FCQLI5.js → analytics-QW5ZXDJR.js} +3 -3
- package/dist/{animate-C6BRMRRD.js → animate-Q43SOWB4.js} +4 -4
- package/dist/{asset-writes-RF6XTWLY.js → asset-writes-JVFE457M.js} +8 -8
- package/dist/{assign-WXZNXVJH.js → assign-HJ2NXW4W.js} +3 -3
- package/dist/{audience-size-ZCWH4CFC.js → audience-size-IM3N6W7C.js} +3 -3
- package/dist/{audience-writes-5KT6FHUY.js → audience-writes-DWSCHYQF.js} +7 -7
- package/dist/{audiences-ZDOK3OYC.js → audiences-PYBJU2GV.js} +6 -6
- package/dist/{audit-RBRXPPKK.js → audit-N3LAQMD4.js} +3 -3
- package/dist/{autocomplete-P5OU7QVL.js → autocomplete-FBTPT5MA.js} +3 -3
- package/dist/{avatars-UHBA2BQ3.js → avatars-Y3DALQIU.js} +4 -4
- package/dist/{bid-pricing-LHNYSDG4.js → bid-pricing-UUAC4GTQ.js} +4 -4
- package/dist/{brand-7WL3O74X.js → brand-IZYD5SBJ.js} +2 -2
- package/dist/{brief-HWZU75WP.js → brief-NA3E2W4P.js} +18 -18
- package/dist/{campaign-groups-BYS3GNEP.js → campaign-groups-3IUOLEK2.js} +9 -9
- package/dist/{campaign-writes-N6OHAK6V.js → campaign-writes-Y7QNFOE7.js} +3 -3
- package/dist/{campaigns-3U5IRXSV.js → campaigns-2Z6WXIVA.js} +9 -9
- package/dist/{campaigns-QLKGN4FB.js → campaigns-B2AUW4TV.js} +5 -5
- package/dist/{campaigns-2E4AQBFB.js → campaigns-IDEA3LOK.js} +12 -12
- package/dist/{canvas-GGHJ26ZM.js → canvas-WHFDCHUP.js} +14 -14
- package/dist/{capabilities-TKEEHR7K.js → capabilities-FVMMLKPY.js} +3 -3
- package/dist/{catalog-7KQN43HS.js → catalog-URTZYAPU.js} +6 -6
- package/dist/{catalogs-5CHPI4H6.js → catalogs-OEUNVE4N.js} +7 -7
- package/dist/{chats-PBXYH2LT.js → chats-EENMDXWZ.js} +3 -3
- package/dist/{check-SVYI72DF.js → check-7735BPTR.js} +10 -10
- package/dist/{chunk-5AOTCCTT.js → chunk-2QGGI7MF.js} +6 -6
- package/dist/{chunk-4XMPL3RU.js → chunk-3HKZU3Y5.js} +3 -3
- package/dist/{chunk-B5UVOCYA.js → chunk-3OMFSYQ3.js} +4 -4
- package/dist/chunk-4N3Y5QWW.js +29 -0
- package/dist/chunk-4N3Y5QWW.js.map +1 -0
- package/dist/{chunk-LMOZWB4G.js → chunk-65CQYRMK.js} +2 -2
- package/dist/{chunk-I4BQTVMY.js → chunk-6MZFOMLU.js} +3 -3
- package/dist/{chunk-IBBGABK2.js → chunk-6PT22YSR.js} +3 -3
- package/dist/{chunk-QFVZIQRQ.js → chunk-6WVYBY2G.js} +11 -11
- package/dist/{chunk-VX6GTRT3.js → chunk-757ZFIL4.js} +2 -2
- package/dist/{chunk-IJ6NQKAT.js → chunk-75HAGIH6.js} +2 -2
- package/dist/{chunk-XSBX3LJP.js → chunk-7BVRFQN4.js} +2 -2
- package/dist/{chunk-7OVPQX4X.js → chunk-7TDJCDKT.js} +3 -3
- package/dist/{chunk-ZMTWQDFC.js → chunk-AL4MRNYI.js} +2 -2
- package/dist/{chunk-NO52OH3Y.js → chunk-BMNOMOWP.js} +3 -3
- package/dist/{chunk-4AEAL63J.js → chunk-BS2MC62Y.js} +2 -2
- package/dist/{chunk-DWSSQBLO.js → chunk-C6PWVZQE.js} +2 -2
- package/dist/{chunk-P4MXGSSJ.js → chunk-CDTAKCJR.js} +3 -3
- package/dist/{chunk-2RL2T5JO.js → chunk-CH44XVPE.js} +4 -4
- package/dist/{chunk-RHNNFCRY.js → chunk-CJWLDKFO.js} +2 -2
- package/dist/{chunk-YCAJCVW4.js → chunk-DAMC4FKK.js} +7 -7
- package/dist/{chunk-D6VQPBVM.js → chunk-DWPOAU4Z.js} +5 -5
- package/dist/{chunk-6MXM6DA6.js → chunk-EENYLJUN.js} +2 -2
- package/dist/{chunk-IZROFBH7.js → chunk-EJBLF2LI.js} +3 -3
- package/dist/{chunk-DNH2ZPZP.js → chunk-EJMPKO6V.js} +2 -2
- package/dist/{chunk-RMZLB4AH.js → chunk-EKXLJRO3.js} +2 -2
- package/dist/{chunk-ZANXEMON.js → chunk-EL3TDR5S.js} +2 -2
- package/dist/{chunk-LFELUKCA.js → chunk-GRDZWZKQ.js} +3 -3
- package/dist/{chunk-S4NMWYHW.js → chunk-GVUBRSD3.js} +3 -3
- package/dist/{chunk-LVLTWPRR.js → chunk-GYREQDTJ.js} +2 -2
- package/dist/{chunk-J5UTL4HE.js → chunk-HBRXFQQV.js} +3 -3
- package/dist/{chunk-NE3OMP7R.js → chunk-HLHR3EK2.js} +2 -2
- package/dist/{chunk-RJQT7QXX.js → chunk-IMFIRELA.js} +5 -5
- package/dist/{chunk-SP3MHBME.js → chunk-IOKD77L2.js} +2 -2
- package/dist/{chunk-TGT4XHLX.js → chunk-KDAINT54.js} +2 -2
- package/dist/{chunk-QI5UKQX3.js → chunk-KKKZRQFY.js} +3 -3
- package/dist/{chunk-N5AIO23H.js → chunk-KOEXPN3G.js} +15 -15
- package/dist/{chunk-JBMZVC5D.js → chunk-KT5JVIPZ.js} +2 -2
- package/dist/{chunk-NZYWKZ3Q.js → chunk-LC6PVPJX.js} +2 -2
- package/dist/{chunk-DK66PUXL.js → chunk-LETR3RQE.js} +2 -2
- package/dist/{chunk-RCNAKWK7.js → chunk-MKLAZD23.js} +7 -2
- package/dist/{chunk-RCNAKWK7.js.map → chunk-MKLAZD23.js.map} +1 -1
- package/dist/{chunk-XB4NKZAQ.js → chunk-N3PASNUA.js} +2 -2
- package/dist/{chunk-SFQFUQDW.js → chunk-NL77JRKE.js} +4 -4
- package/dist/{chunk-OIORUNKH.js → chunk-OBQ5YUOZ.js} +10 -10
- package/dist/{chunk-42JTSTQ3.js → chunk-OTFHIGEO.js} +2 -2
- package/dist/{chunk-ESXUIV6V.js → chunk-PCUWBZM3.js} +2 -2
- package/dist/{chunk-OKXLOLEV.js → chunk-PNWXTOQ4.js} +2 -2
- package/dist/{chunk-PYAR343F.js → chunk-PQFTKHDA.js} +2 -2
- package/dist/{chunk-XXBP73RV.js → chunk-Q5DFEVLE.js} +2 -2
- package/dist/{chunk-NRIKX35V.js → chunk-QXCGWAC6.js} +4 -4
- package/dist/{chunk-CJFCQMUY.js → chunk-RKDMYL4A.js} +2 -2
- package/dist/{chunk-S6XZIBWV.js → chunk-SCBSAIVV.js} +2 -2
- package/dist/{chunk-3HLQZTQ3.js → chunk-SPBUE7R4.js} +4 -4
- package/dist/{chunk-IC4MREQH.js → chunk-TWFZIHKK.js} +2 -2
- package/dist/{chunk-73MLPGI2.js → chunk-U6G6ALXP.js} +4 -4
- package/dist/{chunk-WGJ2QEW4.js → chunk-UCJAPB5Y.js} +2 -2
- package/dist/{chunk-4PM32OS3.js → chunk-VFDWUIGR.js} +2 -2
- package/dist/{chunk-BRNZMKO4.js → chunk-WC3YSN7L.js} +5 -5
- package/dist/{chunk-FSEFZZ2T.js → chunk-WIOPEK7K.js} +8 -8
- package/dist/{chunk-5NLUTJCQ.js → chunk-X3GWGFZP.js} +2 -2
- package/dist/{chunk-4ULGRGBG.js → chunk-X6U3B6YK.js} +19 -9
- package/dist/{chunk-4ULGRGBG.js.map → chunk-X6U3B6YK.js.map} +1 -1
- package/dist/{chunk-Y4ZBNZBU.js → chunk-XYKODRQR.js} +5 -5
- package/dist/{chunk-6FWVRXDW.js → chunk-XZAVBONI.js} +2 -2
- package/dist/{chunk-Y3SK6EMU.js → chunk-Y5PNLB24.js} +2 -2
- package/dist/{claim-Q76T3MYA.js → claim-PGDIRXIC.js} +3 -3
- package/dist/cli.js +32 -32
- package/dist/{companies-MLWRWQ73.js → companies-WTPKGEB3.js} +3 -3
- package/dist/{company-X5Z67PMK.js → company-6H2H73YP.js} +3 -3
- package/dist/{complete-3CFP6XVY.js → complete-2QBC3POO.js} +3 -3
- package/dist/{connect-QXFAB4RJ.js → connect-35YPFAUL.js} +6 -6
- package/dist/{conversation-C6K6IZTH.js → conversation-YZFNEWDV.js} +3 -3
- package/dist/{conversion-upload-command-D7S5HF22.js → conversion-upload-command-J2FIO74Y.js} +7 -7
- package/dist/{conversions-4ILDIG3K.js → conversions-ZFDBD3OU.js} +8 -8
- package/dist/{copy-writes-FYXKHJDB.js → copy-writes-2B36QJUY.js} +8 -8
- package/dist/{create-LDQ3YHET.js → create-3H67EUTO.js} +3 -3
- package/dist/{create-WQNT345R.js → create-ALTOBDP4.js} +7 -7
- package/dist/{create-TKOG7DNJ.js → create-C3MWUYX2.js} +2 -2
- package/dist/{create-WFMJOZLO.js → create-WHTT6IXY.js} +3 -3
- package/dist/{creatives-45SJAD3G.js → creatives-22BYP5VN.js} +4 -4
- package/dist/{creatives-Q4OXNCTT.js → creatives-LTIV3XPT.js} +12 -12
- package/dist/{creatives-E4CTMZJJ.js → creatives-Y2WLGDJW.js} +9 -9
- package/dist/{credentials-E2AIMWKX.js → credentials-J5DMQJWN.js} +3 -3
- package/dist/{critique-JVT6X2T3.js → critique-RFTS2I46.js} +15 -15
- package/dist/{critique-EWV3O3TD.js → critique-X6XVPIUG.js} +8 -8
- package/dist/{crm-NQH5FTK6.js → crm-LWRGJYHW.js} +4 -4
- package/dist/{crm-YGQKK76D.js → crm-RUNEJY2R.js} +8 -8
- package/dist/{crop-KV24WHOR.js → crop-4V4P3SKI.js} +3 -3
- package/dist/{custom-conversions-EJNX4MCK.js → custom-conversions-V7QPZIB4.js} +4 -4
- package/dist/{customers-YFEPJF4G.js → customers-IDB6NLQ6.js} +9 -9
- package/dist/{delete-2UJVTHRE.js → delete-2QKVUKKB.js} +3 -3
- package/dist/{delete-O4RO2HMR.js → delete-B7BKF24X.js} +3 -3
- package/dist/{delete-7QAJSOCO.js → delete-HBRYUWAA.js} +2 -2
- package/dist/{demographics-YWBHAMZ5.js → demographics-JHB3NFLU.js} +3 -3
- package/dist/{dimensions-YXOXHOXW.js → dimensions-KI3OENZD.js} +3 -3
- package/dist/{discard-YX4XUXG3.js → discard-FEJ6YL22.js} +3 -3
- package/dist/{domain-5R6CYVFY.js → domain-JYWNXBKS.js} +3 -3
- package/dist/{download-SYWQXF57.js → download-H3ZDQTFG.js} +50 -12
- package/dist/download-H3ZDQTFG.js.map +1 -0
- package/dist/{download-D2O4RYJ3.js → download-LOBPOIU5.js} +2 -2
- package/dist/{draft-SGNQOUYH.js → draft-EB5ZFDVN.js} +7 -7
- package/dist/{draft-3MPADYS4.js → draft-I2FLECEX.js} +3 -3
- package/dist/{draft-L56EMJQT.js → draft-N56HPS36.js} +3 -3
- package/dist/{draft-NLSQDRVQ.js → draft-ZLZRTPY6.js} +9 -9
- package/dist/engine/index.js +5 -5
- package/dist/{experiments-DYNNWQRB.js → experiments-WVTBHD6G.js} +9 -9
- package/dist/{extract-DWDZI35Y.js → extract-UELZV3NI.js} +31 -10
- package/dist/extract-UELZV3NI.js.map +1 -0
- package/dist/{facets-Y2IEM37E.js → facets-V2ITIUKD.js} +3 -3
- package/dist/{feedback-IVSLM5PN.js → feedback-PXWPR3NZ.js} +3 -3
- package/dist/{feedback-HJRVTU6C.js → feedback-QSIPSNAL.js} +21 -21
- package/dist/{feedback-record-P7CO3IGE.js → feedback-record-DJHJWJAF.js} +22 -22
- package/dist/{fetch-V2U5VUQZ.js → fetch-QVOOC3FA.js} +3 -3
- package/dist/{fit-JDG6E46O.js → fit-REGMM46H.js} +10 -10
- package/dist/{flows-DP574PEX.js → flows-EZV3KCV6.js} +10 -10
- package/dist/{fonts-RMROS3LX.js → fonts-NUX66HEI.js} +10 -10
- package/dist/{forecast-BRXNGMGD.js → forecast-W6HKYVX5.js} +4 -4
- package/dist/{forecast-AAHHVTBK.js → forecast-XDRKCR65.js} +7 -7
- package/dist/{funnel-FQX3DOE7.js → funnel-3YABA3G2.js} +4 -4
- package/dist/{generate-SYOQE3F7.js → generate-22HT24SA.js} +4 -4
- package/dist/{get-HMTI2IR6.js → get-GQQLBE5C.js} +3 -3
- package/dist/{get-VFDNTZ54.js → get-NL3YZFUJ.js} +3 -3
- package/dist/{google-HWEDJ4YS.js → google-BPB5JLJG.js} +20 -2
- package/dist/google-BPB5JLJG.js.map +1 -0
- package/dist/{google-4FP6AHBL.js → google-UJ4YJGTJ.js} +15 -15
- package/dist/{google-ads-4DLYASRC.js → google-ads-RRKKSKDD.js} +3 -3
- package/dist/{history-6B6RXNV3.js → history-2UANIBRN.js} +3 -3
- package/dist/{history-NLZSX4BK.js → history-YZ727ZRG.js} +3 -3
- package/dist/{hubspot-LABBRJ44.js → hubspot-KWLXJ6QD.js} +7 -7
- package/dist/{ideas-A4ELJN23.js → ideas-ZO533P5Y.js} +10 -10
- package/dist/{images-JVNT7KYM.js → images-VUWUKGD6.js} +11 -11
- package/dist/{ingest-GQWR3RHR.js → ingest-C2HJ5LUY.js} +3 -3
- package/dist/{ingest-JYN2IDKV.js → ingest-H53JR4GK.js} +2 -2
- package/dist/{inspect-72DY33YD.js → inspect-BM6GJHQV.js} +6 -6
- package/dist/{instant-experiences-6NTBX4SL.js → instant-experiences-U6U3FYIH.js} +7 -7
- package/dist/{keyword-metrics-GP7L2MQE.js → keyword-metrics-R2QCEDYW.js} +3 -3
- package/dist/{keywords-for-site-6YWAUOKJ.js → keywords-for-site-NBV72C3W.js} +3 -3
- package/dist/{landing-EKHAZS5P.js → landing-L3WDTW4D.js} +2 -2
- package/dist/{leads-UCXIIA5K.js → leads-6PF7ZWCH.js} +3 -3
- package/dist/{leads-RN6RYOMU.js → leads-IG3IIHXG.js} +7 -7
- package/dist/{learn-EJEFERQZ.js → learn-V2LIBEEY.js} +9 -9
- package/dist/{line-item-writes-IMCE2FDW.js → line-item-writes-GMNWL4DI.js} +3 -3
- package/dist/{line-items-ISUC3WDO.js → line-items-KPIKXLG4.js} +5 -5
- package/dist/{link-6QL4ZVSU.js → link-X7IYKR5V.js} +3 -3
- package/dist/{linkedin-OFL77SUR.js → linkedin-RONIUYLJ.js} +34 -34
- package/dist/{linkedin-person-C24CBKCH.js → linkedin-person-47XFTBIN.js} +3 -3
- package/dist/{list-2VNI3U7I.js → list-PHNA7QIF.js} +2 -2
- package/dist/{list-SUXUMXPJ.js → list-QF3BANBM.js} +3 -3
- package/dist/{list-PZD2QOZL.js → list-SB3SUTH6.js} +3 -3
- package/dist/{log-VLI7KQF2.js → log-JFLSSUJ6.js} +3 -3
- package/dist/{make-365ZJ25L.js → make-ZIJQZD5K.js} +24 -24
- package/dist/{map-OEFL45WA.js → map-NYJT2MGI.js} +4 -4
- package/dist/{mcp-NCZYQXQL.js → mcp-ABQEICYR.js} +2 -2
- package/dist/{media-WASM45QW.js → media-AT3VV3PU.js} +3 -3
- package/dist/{media-sources-CZDK4W5Q.js → media-sources-L4BI7HFL.js} +2 -2
- package/dist/{members-N3PQSVQC.js → members-BX37KHKO.js} +3 -3
- package/dist/{meta-QFLNABF5.js → meta-2GJZPVKM.js} +29 -29
- package/dist/{normalize-4OKUF5BJ.js → normalize-M3VMWF4W.js} +3 -3
- package/dist/{normalize-6DEJPTBF.js → normalize-MA2FBBIV.js} +3 -3
- package/dist/{options-OJX77MYT.js → options-NMWWF2HN.js} +6 -6
- package/dist/{organization-URQGKFEC.js → organization-GRAA6ZXU.js} +3 -3
- package/dist/{page-photos-N4S7U7FR.js → page-photos-ABK4CJME.js} +7 -7
- package/dist/{performance-SIWBDORI.js → performance-MQLRSH44.js} +3 -3
- package/dist/{performance-P5T4LJRG.js → performance-RUBIGEAQ.js} +4 -4
- package/dist/{promoted-tweet-writes-S2HP5DEI.js → promoted-tweet-writes-3P6QFGLN.js} +3 -3
- package/dist/{promoted-tweets-WZT4N5IR.js → promoted-tweets-TGFPH7UI.js} +3 -3
- package/dist/{publish-EDYBQHGJ.js → publish-OUVO65Z5.js} +6 -6
- package/dist/{reddit-DEGGHR4M.js → reddit-HWQCUSEM.js} +4 -4
- package/dist/{refresh-HPNJGI2U.js → refresh-ENQDQGTK.js} +2 -2
- package/dist/{release-H7M37CEO.js → release-ZTVXLUQS.js} +3 -3
- package/dist/{remove-MV4YS72N.js → remove-XAFRT7O7.js} +2 -2
- package/dist/{reopen-EFW2SKOY.js → reopen-SWSZHXJZ.js} +3 -3
- package/dist/{rerun-OM4N74YK.js → rerun-MA2GB6WL.js} +25 -25
- package/dist/{research-7YDQOKA6.js → research-TDH4OBX6.js} +2 -2
- package/dist/{research-MHXKAQW4.js → research-WWJUNYSJ.js} +13 -13
- package/dist/{reset-HT4AGJPR.js → reset-34HTKUBQ.js} +2 -2
- package/dist/{reset-XPZQ5F4D.js → reset-KMMGLM7W.js} +2 -2
- package/dist/{resolve-RTTXEN2B.js → resolve-2CIIKADD.js} +3 -3
- package/dist/{retry-DVLVWHEK.js → retry-V7KZIZKR.js} +2 -2
- package/dist/{retry-SBGWOUQO.js → retry-YXM23NSB.js} +2 -2
- package/dist/{revenue-KJLJ53XY.js → revenue-D4L6U2CW.js} +9 -9
- package/dist/{rule-writes-DNXELESR.js → rule-writes-HUBHHYEO.js} +7 -7
- package/dist/{rules-KCSET46P.js → rules-47LFGCPW.js} +7 -7
- package/dist/{rules-NVKU732Z.js → rules-F6RNUOXP.js} +10 -10
- package/dist/{rules-add-KY42EHJE.js → rules-add-SAQRESVK.js} +10 -10
- package/dist/{run-2LQ7XJEO.js → run-FRPO2WNQ.js} +3 -3
- package/dist/{run-M7YU6KCV.js → run-HENSSAQW.js} +25 -25
- package/dist/{scaffold-ad-6YPZ75YJ.js → scaffold-ad-QQBCUYUO.js} +22 -22
- package/dist/{scaffold-static-ad-UJEWTDU5.js → scaffold-static-ad-WUOAQEXS.js} +30 -30
- package/dist/{scaffold-video-M4VWSVJ6.js → scaffold-video-KFQAKQUO.js} +20 -20
- package/dist/{schedule-J7HZQ2EL.js → schedule-S4XAVVEI.js} +2 -2
- package/dist/{scheduled-agents-IVUQUKF4.js → scheduled-agents-ZWAP6QLC.js} +11 -11
- package/dist/{schema-LHBKBUV7.js → schema-EJ2XPUN6.js} +4 -4
- package/dist/{search-3AW52FO6.js → search-2BAY3KKX.js} +2 -2
- package/dist/{select-STIWQ36I.js → select-K2SXPDDJ.js} +20 -20
- package/dist/{set-prompt-TODWV2F4.js → set-prompt-BZFOV3EB.js} +17 -17
- package/dist/{setup-links-MNBD3UMH.js → setup-links-QT63UZBR.js} +3 -3
- package/dist/{shopify-RJWLTNPQ.js → shopify-Q7TQIQ6N.js} +3 -3
- package/dist/{site-ZZUKS6MQ.js → site-S6QVMP7W.js} +4 -4
- package/dist/{sources-36MJ6T4V.js → sources-DTQ4NQAM.js} +6 -6
- package/dist/{sources-GNLQHTSJ.js → sources-ORG5KQSW.js} +6 -6
- package/dist/{stale-GJN7UO3D.js → stale-5O7BQVTN.js} +19 -19
- package/dist/{status-6EGB6ORB.js → status-4G2YUCZR.js} +3 -3
- package/dist/{stock-DJ6I3CTO.js → stock-5SQ2PGEC.js} +26 -2
- package/dist/stock-5SQ2PGEC.js.map +1 -0
- package/dist/{studies-4XXCEAHH.js → studies-QLSKON6M.js} +5 -5
- package/dist/{studio-OARORMDJ.js → studio-IDXFTGHP.js} +3 -3
- package/dist/{study-writes-J56UIIE3.js → study-writes-GBUUKX4O.js} +7 -7
- package/dist/{sync-QHM3LMAX.js → sync-7LJZPHM3.js} +2 -2
- package/dist/{sync-definition-YXGN6PIQ.js → sync-definition-Q3XUSEZJ.js} +20 -20
- package/dist/{tags-MQYF2JHQ.js → tags-2ARVNEYS.js} +3 -3
- package/dist/{tags-ZGXJHATH.js → tags-F4IT7RQR.js} +3 -3
- package/dist/{tags-MBBRBZJH.js → tags-F7ZO52EM.js} +3 -3
- package/dist/{tags-IDWUV2FY.js → tags-NBGGBHXR.js} +2 -2
- package/dist/{tags-GHV5R7NI.js → tags-TCSGQYDR.js} +4 -4
- package/dist/{targeting-KJ4DI56R.js → targeting-DAUTJDUB.js} +7 -7
- package/dist/{targeting-criteria-GDCXOAUD.js → targeting-criteria-H42LRULY.js} +3 -3
- package/dist/{targets-MYHOPAYY.js → targets-WB4E5XL2.js} +3 -3
- package/dist/{testimonials-R6RFGAKP.js → testimonials-KLF3Y4QO.js} +6 -6
- package/dist/{themes-LHVXXVTX.js → themes-BGBDYQQK.js} +7 -7
- package/dist/{top-companies-POTV3Y2A.js → top-companies-C2W5TJ7G.js} +3 -3
- package/dist/{transcript-4RVYKDVZ.js → transcript-S7VR2GJE.js} +3 -3
- package/dist/{translate-UCASCVMN.js → translate-CBITGC7C.js} +22 -22
- package/dist/{triggers-XHMMOZJK.js → triggers-EOKMR74O.js} +3 -3
- package/dist/{unlink-3IW3EORE.js → unlink-PC3TMWUT.js} +3 -3
- package/dist/{unstage-APVF6KHB.js → unstage-SU2ATDSZ.js} +3 -3
- package/dist/{update-V7SRDGHN.js → update-DKX3EEES.js} +3 -3
- package/dist/{update-2VSJH4LQ.js → update-JYZ45YJG.js} +3 -3
- package/dist/{update-ESK6PSME.js → update-TAZSUOAS.js} +2 -2
- package/dist/{update-42QYBUE3.js → update-WRJUH2NM.js} +3 -3
- package/dist/{upload-42IR5RIL.js → upload-BLXTMK5Q.js} +3 -3
- package/dist/{url-params-GEESXN57.js → url-params-YVOFU6MK.js} +3 -3
- package/dist/{validate-Z5SSEUES.js → validate-SAQEORZY.js} +21 -21
- package/dist/{videos-PJAPZPOT.js → videos-GOIDZVVD.js} +6 -6
- package/dist/{viewer-check-6M34VY7K.js → viewer-check-KTRRUVZN.js} +11 -11
- package/dist/{web-PUVVFMV3.js → web-6KUM7Q7S.js} +3 -3
- package/dist/{winning-ads-ZCP4MIEQ.js → winning-ads-LOMI72Q2.js} +3 -3
- package/dist/{write-commands-ZS4O4DSV.js → write-commands-3U5ZMIHH.js} +9 -9
- package/dist/{write-commands-5LEEPKA7.js → write-commands-F5XPPLOO.js} +9 -9
- package/dist/{x-ZKCLP23S.js → x-APVY4YHX.js} +6 -6
- package/package.json +1 -1
- package/dist/download-SYWQXF57.js.map +0 -1
- package/dist/extract-DWDZI35Y.js.map +0 -1
- package/dist/google-HWEDJ4YS.js.map +0 -1
- package/dist/stock-DJ6I3CTO.js.map +0 -1
- /package/dist/{account-XIC5TTV3.js.map → account-H5CL6KUY.js.map} +0 -0
- /package/dist/{account-assets-V7KSSTVP.js.map → account-assets-QMKT5AT7.js.map} +0 -0
- /package/dist/{account-level-2KLG6HTG.js.map → account-level-BELF6JHB.js.map} +0 -0
- /package/dist/{account-reads-ZPZUCB3P.js.map → account-reads-T6GTSAXE.js.map} +0 -0
- /package/dist/{account-users-XTUKRDWK.js.map → account-users-ZGJCVGX4.js.map} +0 -0
- /package/dist/{accounts-25JL77F7.js.map → accounts-EXQNPSYH.js.map} +0 -0
- /package/dist/{accounts-AF72N4NV.js.map → accounts-GNVLFZ3X.js.map} +0 -0
- /package/dist/{actions-IJO4JW7J.js.map → actions-Q2BMP27K.js.map} +0 -0
- /package/dist/{activecampaign-PBTUMTO5.js.map → activecampaign-SJO2YK6M.js.map} +0 -0
- /package/dist/{add-YQPFRDVM.js.map → add-Q3FGYX5Q.js.map} +0 -0
- /package/dist/{add-KHQXXHC5.js.map → add-YGQBSEVK.js.map} +0 -0
- /package/dist/{ads-5YCCRXEU.js.map → ads-7QKQEHKT.js.map} +0 -0
- /package/dist/{ads-EVQ37EV3.js.map → ads-H5AEYIY3.js.map} +0 -0
- /package/dist/{adsets-4IW5TRAK.js.map → adsets-BUIT7HF2.js.map} +0 -0
- /package/dist/{advertisers-JNOWSZZC.js.map → advertisers-ZAHXMIAT.js.map} +0 -0
- /package/dist/{analytics-CZMCM7XC.js.map → analytics-B6ER4TQ7.js.map} +0 -0
- /package/dist/{analytics-K5FCQLI5.js.map → analytics-QW5ZXDJR.js.map} +0 -0
- /package/dist/{animate-C6BRMRRD.js.map → animate-Q43SOWB4.js.map} +0 -0
- /package/dist/{asset-writes-RF6XTWLY.js.map → asset-writes-JVFE457M.js.map} +0 -0
- /package/dist/{assign-WXZNXVJH.js.map → assign-HJ2NXW4W.js.map} +0 -0
- /package/dist/{audience-size-ZCWH4CFC.js.map → audience-size-IM3N6W7C.js.map} +0 -0
- /package/dist/{audience-writes-5KT6FHUY.js.map → audience-writes-DWSCHYQF.js.map} +0 -0
- /package/dist/{audiences-ZDOK3OYC.js.map → audiences-PYBJU2GV.js.map} +0 -0
- /package/dist/{audit-RBRXPPKK.js.map → audit-N3LAQMD4.js.map} +0 -0
- /package/dist/{autocomplete-P5OU7QVL.js.map → autocomplete-FBTPT5MA.js.map} +0 -0
- /package/dist/{avatars-UHBA2BQ3.js.map → avatars-Y3DALQIU.js.map} +0 -0
- /package/dist/{bid-pricing-LHNYSDG4.js.map → bid-pricing-UUAC4GTQ.js.map} +0 -0
- /package/dist/{brand-7WL3O74X.js.map → brand-IZYD5SBJ.js.map} +0 -0
- /package/dist/{brief-HWZU75WP.js.map → brief-NA3E2W4P.js.map} +0 -0
- /package/dist/{campaign-groups-BYS3GNEP.js.map → campaign-groups-3IUOLEK2.js.map} +0 -0
- /package/dist/{campaign-writes-N6OHAK6V.js.map → campaign-writes-Y7QNFOE7.js.map} +0 -0
- /package/dist/{campaigns-3U5IRXSV.js.map → campaigns-2Z6WXIVA.js.map} +0 -0
- /package/dist/{campaigns-QLKGN4FB.js.map → campaigns-B2AUW4TV.js.map} +0 -0
- /package/dist/{campaigns-2E4AQBFB.js.map → campaigns-IDEA3LOK.js.map} +0 -0
- /package/dist/{canvas-GGHJ26ZM.js.map → canvas-WHFDCHUP.js.map} +0 -0
- /package/dist/{capabilities-TKEEHR7K.js.map → capabilities-FVMMLKPY.js.map} +0 -0
- /package/dist/{catalog-7KQN43HS.js.map → catalog-URTZYAPU.js.map} +0 -0
- /package/dist/{catalogs-5CHPI4H6.js.map → catalogs-OEUNVE4N.js.map} +0 -0
- /package/dist/{chats-PBXYH2LT.js.map → chats-EENMDXWZ.js.map} +0 -0
- /package/dist/{check-SVYI72DF.js.map → check-7735BPTR.js.map} +0 -0
- /package/dist/{chunk-5AOTCCTT.js.map → chunk-2QGGI7MF.js.map} +0 -0
- /package/dist/{chunk-4XMPL3RU.js.map → chunk-3HKZU3Y5.js.map} +0 -0
- /package/dist/{chunk-B5UVOCYA.js.map → chunk-3OMFSYQ3.js.map} +0 -0
- /package/dist/{chunk-LMOZWB4G.js.map → chunk-65CQYRMK.js.map} +0 -0
- /package/dist/{chunk-I4BQTVMY.js.map → chunk-6MZFOMLU.js.map} +0 -0
- /package/dist/{chunk-IBBGABK2.js.map → chunk-6PT22YSR.js.map} +0 -0
- /package/dist/{chunk-QFVZIQRQ.js.map → chunk-6WVYBY2G.js.map} +0 -0
- /package/dist/{chunk-VX6GTRT3.js.map → chunk-757ZFIL4.js.map} +0 -0
- /package/dist/{chunk-IJ6NQKAT.js.map → chunk-75HAGIH6.js.map} +0 -0
- /package/dist/{chunk-XSBX3LJP.js.map → chunk-7BVRFQN4.js.map} +0 -0
- /package/dist/{chunk-7OVPQX4X.js.map → chunk-7TDJCDKT.js.map} +0 -0
- /package/dist/{chunk-ZMTWQDFC.js.map → chunk-AL4MRNYI.js.map} +0 -0
- /package/dist/{chunk-NO52OH3Y.js.map → chunk-BMNOMOWP.js.map} +0 -0
- /package/dist/{chunk-4AEAL63J.js.map → chunk-BS2MC62Y.js.map} +0 -0
- /package/dist/{chunk-DWSSQBLO.js.map → chunk-C6PWVZQE.js.map} +0 -0
- /package/dist/{chunk-P4MXGSSJ.js.map → chunk-CDTAKCJR.js.map} +0 -0
- /package/dist/{chunk-2RL2T5JO.js.map → chunk-CH44XVPE.js.map} +0 -0
- /package/dist/{chunk-RHNNFCRY.js.map → chunk-CJWLDKFO.js.map} +0 -0
- /package/dist/{chunk-YCAJCVW4.js.map → chunk-DAMC4FKK.js.map} +0 -0
- /package/dist/{chunk-D6VQPBVM.js.map → chunk-DWPOAU4Z.js.map} +0 -0
- /package/dist/{chunk-6MXM6DA6.js.map → chunk-EENYLJUN.js.map} +0 -0
- /package/dist/{chunk-IZROFBH7.js.map → chunk-EJBLF2LI.js.map} +0 -0
- /package/dist/{chunk-DNH2ZPZP.js.map → chunk-EJMPKO6V.js.map} +0 -0
- /package/dist/{chunk-RMZLB4AH.js.map → chunk-EKXLJRO3.js.map} +0 -0
- /package/dist/{chunk-ZANXEMON.js.map → chunk-EL3TDR5S.js.map} +0 -0
- /package/dist/{chunk-LFELUKCA.js.map → chunk-GRDZWZKQ.js.map} +0 -0
- /package/dist/{chunk-S4NMWYHW.js.map → chunk-GVUBRSD3.js.map} +0 -0
- /package/dist/{chunk-LVLTWPRR.js.map → chunk-GYREQDTJ.js.map} +0 -0
- /package/dist/{chunk-J5UTL4HE.js.map → chunk-HBRXFQQV.js.map} +0 -0
- /package/dist/{chunk-NE3OMP7R.js.map → chunk-HLHR3EK2.js.map} +0 -0
- /package/dist/{chunk-RJQT7QXX.js.map → chunk-IMFIRELA.js.map} +0 -0
- /package/dist/{chunk-SP3MHBME.js.map → chunk-IOKD77L2.js.map} +0 -0
- /package/dist/{chunk-TGT4XHLX.js.map → chunk-KDAINT54.js.map} +0 -0
- /package/dist/{chunk-QI5UKQX3.js.map → chunk-KKKZRQFY.js.map} +0 -0
- /package/dist/{chunk-N5AIO23H.js.map → chunk-KOEXPN3G.js.map} +0 -0
- /package/dist/{chunk-JBMZVC5D.js.map → chunk-KT5JVIPZ.js.map} +0 -0
- /package/dist/{chunk-NZYWKZ3Q.js.map → chunk-LC6PVPJX.js.map} +0 -0
- /package/dist/{chunk-DK66PUXL.js.map → chunk-LETR3RQE.js.map} +0 -0
- /package/dist/{chunk-XB4NKZAQ.js.map → chunk-N3PASNUA.js.map} +0 -0
- /package/dist/{chunk-SFQFUQDW.js.map → chunk-NL77JRKE.js.map} +0 -0
- /package/dist/{chunk-OIORUNKH.js.map → chunk-OBQ5YUOZ.js.map} +0 -0
- /package/dist/{chunk-42JTSTQ3.js.map → chunk-OTFHIGEO.js.map} +0 -0
- /package/dist/{chunk-ESXUIV6V.js.map → chunk-PCUWBZM3.js.map} +0 -0
- /package/dist/{chunk-OKXLOLEV.js.map → chunk-PNWXTOQ4.js.map} +0 -0
- /package/dist/{chunk-PYAR343F.js.map → chunk-PQFTKHDA.js.map} +0 -0
- /package/dist/{chunk-XXBP73RV.js.map → chunk-Q5DFEVLE.js.map} +0 -0
- /package/dist/{chunk-NRIKX35V.js.map → chunk-QXCGWAC6.js.map} +0 -0
- /package/dist/{chunk-CJFCQMUY.js.map → chunk-RKDMYL4A.js.map} +0 -0
- /package/dist/{chunk-S6XZIBWV.js.map → chunk-SCBSAIVV.js.map} +0 -0
- /package/dist/{chunk-3HLQZTQ3.js.map → chunk-SPBUE7R4.js.map} +0 -0
- /package/dist/{chunk-IC4MREQH.js.map → chunk-TWFZIHKK.js.map} +0 -0
- /package/dist/{chunk-73MLPGI2.js.map → chunk-U6G6ALXP.js.map} +0 -0
- /package/dist/{chunk-WGJ2QEW4.js.map → chunk-UCJAPB5Y.js.map} +0 -0
- /package/dist/{chunk-4PM32OS3.js.map → chunk-VFDWUIGR.js.map} +0 -0
- /package/dist/{chunk-BRNZMKO4.js.map → chunk-WC3YSN7L.js.map} +0 -0
- /package/dist/{chunk-FSEFZZ2T.js.map → chunk-WIOPEK7K.js.map} +0 -0
- /package/dist/{chunk-5NLUTJCQ.js.map → chunk-X3GWGFZP.js.map} +0 -0
- /package/dist/{chunk-Y4ZBNZBU.js.map → chunk-XYKODRQR.js.map} +0 -0
- /package/dist/{chunk-6FWVRXDW.js.map → chunk-XZAVBONI.js.map} +0 -0
- /package/dist/{chunk-Y3SK6EMU.js.map → chunk-Y5PNLB24.js.map} +0 -0
- /package/dist/{claim-Q76T3MYA.js.map → claim-PGDIRXIC.js.map} +0 -0
- /package/dist/{companies-MLWRWQ73.js.map → companies-WTPKGEB3.js.map} +0 -0
- /package/dist/{company-X5Z67PMK.js.map → company-6H2H73YP.js.map} +0 -0
- /package/dist/{complete-3CFP6XVY.js.map → complete-2QBC3POO.js.map} +0 -0
- /package/dist/{connect-QXFAB4RJ.js.map → connect-35YPFAUL.js.map} +0 -0
- /package/dist/{conversation-C6K6IZTH.js.map → conversation-YZFNEWDV.js.map} +0 -0
- /package/dist/{conversion-upload-command-D7S5HF22.js.map → conversion-upload-command-J2FIO74Y.js.map} +0 -0
- /package/dist/{conversions-4ILDIG3K.js.map → conversions-ZFDBD3OU.js.map} +0 -0
- /package/dist/{copy-writes-FYXKHJDB.js.map → copy-writes-2B36QJUY.js.map} +0 -0
- /package/dist/{create-LDQ3YHET.js.map → create-3H67EUTO.js.map} +0 -0
- /package/dist/{create-WQNT345R.js.map → create-ALTOBDP4.js.map} +0 -0
- /package/dist/{create-TKOG7DNJ.js.map → create-C3MWUYX2.js.map} +0 -0
- /package/dist/{create-WFMJOZLO.js.map → create-WHTT6IXY.js.map} +0 -0
- /package/dist/{creatives-45SJAD3G.js.map → creatives-22BYP5VN.js.map} +0 -0
- /package/dist/{creatives-Q4OXNCTT.js.map → creatives-LTIV3XPT.js.map} +0 -0
- /package/dist/{creatives-E4CTMZJJ.js.map → creatives-Y2WLGDJW.js.map} +0 -0
- /package/dist/{credentials-E2AIMWKX.js.map → credentials-J5DMQJWN.js.map} +0 -0
- /package/dist/{critique-JVT6X2T3.js.map → critique-RFTS2I46.js.map} +0 -0
- /package/dist/{critique-EWV3O3TD.js.map → critique-X6XVPIUG.js.map} +0 -0
- /package/dist/{crm-NQH5FTK6.js.map → crm-LWRGJYHW.js.map} +0 -0
- /package/dist/{crm-YGQKK76D.js.map → crm-RUNEJY2R.js.map} +0 -0
- /package/dist/{crop-KV24WHOR.js.map → crop-4V4P3SKI.js.map} +0 -0
- /package/dist/{custom-conversions-EJNX4MCK.js.map → custom-conversions-V7QPZIB4.js.map} +0 -0
- /package/dist/{customers-YFEPJF4G.js.map → customers-IDB6NLQ6.js.map} +0 -0
- /package/dist/{delete-2UJVTHRE.js.map → delete-2QKVUKKB.js.map} +0 -0
- /package/dist/{delete-O4RO2HMR.js.map → delete-B7BKF24X.js.map} +0 -0
- /package/dist/{delete-7QAJSOCO.js.map → delete-HBRYUWAA.js.map} +0 -0
- /package/dist/{demographics-YWBHAMZ5.js.map → demographics-JHB3NFLU.js.map} +0 -0
- /package/dist/{dimensions-YXOXHOXW.js.map → dimensions-KI3OENZD.js.map} +0 -0
- /package/dist/{discard-YX4XUXG3.js.map → discard-FEJ6YL22.js.map} +0 -0
- /package/dist/{domain-5R6CYVFY.js.map → domain-JYWNXBKS.js.map} +0 -0
- /package/dist/{download-D2O4RYJ3.js.map → download-LOBPOIU5.js.map} +0 -0
- /package/dist/{draft-SGNQOUYH.js.map → draft-EB5ZFDVN.js.map} +0 -0
- /package/dist/{draft-3MPADYS4.js.map → draft-I2FLECEX.js.map} +0 -0
- /package/dist/{draft-L56EMJQT.js.map → draft-N56HPS36.js.map} +0 -0
- /package/dist/{draft-NLSQDRVQ.js.map → draft-ZLZRTPY6.js.map} +0 -0
- /package/dist/{experiments-DYNNWQRB.js.map → experiments-WVTBHD6G.js.map} +0 -0
- /package/dist/{facets-Y2IEM37E.js.map → facets-V2ITIUKD.js.map} +0 -0
- /package/dist/{feedback-IVSLM5PN.js.map → feedback-PXWPR3NZ.js.map} +0 -0
- /package/dist/{feedback-HJRVTU6C.js.map → feedback-QSIPSNAL.js.map} +0 -0
- /package/dist/{feedback-record-P7CO3IGE.js.map → feedback-record-DJHJWJAF.js.map} +0 -0
- /package/dist/{fetch-V2U5VUQZ.js.map → fetch-QVOOC3FA.js.map} +0 -0
- /package/dist/{fit-JDG6E46O.js.map → fit-REGMM46H.js.map} +0 -0
- /package/dist/{flows-DP574PEX.js.map → flows-EZV3KCV6.js.map} +0 -0
- /package/dist/{fonts-RMROS3LX.js.map → fonts-NUX66HEI.js.map} +0 -0
- /package/dist/{forecast-BRXNGMGD.js.map → forecast-W6HKYVX5.js.map} +0 -0
- /package/dist/{forecast-AAHHVTBK.js.map → forecast-XDRKCR65.js.map} +0 -0
- /package/dist/{funnel-FQX3DOE7.js.map → funnel-3YABA3G2.js.map} +0 -0
- /package/dist/{generate-SYOQE3F7.js.map → generate-22HT24SA.js.map} +0 -0
- /package/dist/{get-HMTI2IR6.js.map → get-GQQLBE5C.js.map} +0 -0
- /package/dist/{get-VFDNTZ54.js.map → get-NL3YZFUJ.js.map} +0 -0
- /package/dist/{google-4FP6AHBL.js.map → google-UJ4YJGTJ.js.map} +0 -0
- /package/dist/{google-ads-4DLYASRC.js.map → google-ads-RRKKSKDD.js.map} +0 -0
- /package/dist/{history-6B6RXNV3.js.map → history-2UANIBRN.js.map} +0 -0
- /package/dist/{history-NLZSX4BK.js.map → history-YZ727ZRG.js.map} +0 -0
- /package/dist/{hubspot-LABBRJ44.js.map → hubspot-KWLXJ6QD.js.map} +0 -0
- /package/dist/{ideas-A4ELJN23.js.map → ideas-ZO533P5Y.js.map} +0 -0
- /package/dist/{images-JVNT7KYM.js.map → images-VUWUKGD6.js.map} +0 -0
- /package/dist/{ingest-GQWR3RHR.js.map → ingest-C2HJ5LUY.js.map} +0 -0
- /package/dist/{ingest-JYN2IDKV.js.map → ingest-H53JR4GK.js.map} +0 -0
- /package/dist/{inspect-72DY33YD.js.map → inspect-BM6GJHQV.js.map} +0 -0
- /package/dist/{instant-experiences-6NTBX4SL.js.map → instant-experiences-U6U3FYIH.js.map} +0 -0
- /package/dist/{keyword-metrics-GP7L2MQE.js.map → keyword-metrics-R2QCEDYW.js.map} +0 -0
- /package/dist/{keywords-for-site-6YWAUOKJ.js.map → keywords-for-site-NBV72C3W.js.map} +0 -0
- /package/dist/{landing-EKHAZS5P.js.map → landing-L3WDTW4D.js.map} +0 -0
- /package/dist/{leads-UCXIIA5K.js.map → leads-6PF7ZWCH.js.map} +0 -0
- /package/dist/{leads-RN6RYOMU.js.map → leads-IG3IIHXG.js.map} +0 -0
- /package/dist/{learn-EJEFERQZ.js.map → learn-V2LIBEEY.js.map} +0 -0
- /package/dist/{line-item-writes-IMCE2FDW.js.map → line-item-writes-GMNWL4DI.js.map} +0 -0
- /package/dist/{line-items-ISUC3WDO.js.map → line-items-KPIKXLG4.js.map} +0 -0
- /package/dist/{link-6QL4ZVSU.js.map → link-X7IYKR5V.js.map} +0 -0
- /package/dist/{linkedin-OFL77SUR.js.map → linkedin-RONIUYLJ.js.map} +0 -0
- /package/dist/{linkedin-person-C24CBKCH.js.map → linkedin-person-47XFTBIN.js.map} +0 -0
- /package/dist/{list-2VNI3U7I.js.map → list-PHNA7QIF.js.map} +0 -0
- /package/dist/{list-SUXUMXPJ.js.map → list-QF3BANBM.js.map} +0 -0
- /package/dist/{list-PZD2QOZL.js.map → list-SB3SUTH6.js.map} +0 -0
- /package/dist/{log-VLI7KQF2.js.map → log-JFLSSUJ6.js.map} +0 -0
- /package/dist/{make-365ZJ25L.js.map → make-ZIJQZD5K.js.map} +0 -0
- /package/dist/{map-OEFL45WA.js.map → map-NYJT2MGI.js.map} +0 -0
- /package/dist/{mcp-NCZYQXQL.js.map → mcp-ABQEICYR.js.map} +0 -0
- /package/dist/{media-WASM45QW.js.map → media-AT3VV3PU.js.map} +0 -0
- /package/dist/{media-sources-CZDK4W5Q.js.map → media-sources-L4BI7HFL.js.map} +0 -0
- /package/dist/{members-N3PQSVQC.js.map → members-BX37KHKO.js.map} +0 -0
- /package/dist/{meta-QFLNABF5.js.map → meta-2GJZPVKM.js.map} +0 -0
- /package/dist/{normalize-4OKUF5BJ.js.map → normalize-M3VMWF4W.js.map} +0 -0
- /package/dist/{normalize-6DEJPTBF.js.map → normalize-MA2FBBIV.js.map} +0 -0
- /package/dist/{options-OJX77MYT.js.map → options-NMWWF2HN.js.map} +0 -0
- /package/dist/{organization-URQGKFEC.js.map → organization-GRAA6ZXU.js.map} +0 -0
- /package/dist/{page-photos-N4S7U7FR.js.map → page-photos-ABK4CJME.js.map} +0 -0
- /package/dist/{performance-SIWBDORI.js.map → performance-MQLRSH44.js.map} +0 -0
- /package/dist/{performance-P5T4LJRG.js.map → performance-RUBIGEAQ.js.map} +0 -0
- /package/dist/{promoted-tweet-writes-S2HP5DEI.js.map → promoted-tweet-writes-3P6QFGLN.js.map} +0 -0
- /package/dist/{promoted-tweets-WZT4N5IR.js.map → promoted-tweets-TGFPH7UI.js.map} +0 -0
- /package/dist/{publish-EDYBQHGJ.js.map → publish-OUVO65Z5.js.map} +0 -0
- /package/dist/{reddit-DEGGHR4M.js.map → reddit-HWQCUSEM.js.map} +0 -0
- /package/dist/{refresh-HPNJGI2U.js.map → refresh-ENQDQGTK.js.map} +0 -0
- /package/dist/{release-H7M37CEO.js.map → release-ZTVXLUQS.js.map} +0 -0
- /package/dist/{remove-MV4YS72N.js.map → remove-XAFRT7O7.js.map} +0 -0
- /package/dist/{reopen-EFW2SKOY.js.map → reopen-SWSZHXJZ.js.map} +0 -0
- /package/dist/{rerun-OM4N74YK.js.map → rerun-MA2GB6WL.js.map} +0 -0
- /package/dist/{research-7YDQOKA6.js.map → research-TDH4OBX6.js.map} +0 -0
- /package/dist/{research-MHXKAQW4.js.map → research-WWJUNYSJ.js.map} +0 -0
- /package/dist/{reset-HT4AGJPR.js.map → reset-34HTKUBQ.js.map} +0 -0
- /package/dist/{reset-XPZQ5F4D.js.map → reset-KMMGLM7W.js.map} +0 -0
- /package/dist/{resolve-RTTXEN2B.js.map → resolve-2CIIKADD.js.map} +0 -0
- /package/dist/{retry-DVLVWHEK.js.map → retry-V7KZIZKR.js.map} +0 -0
- /package/dist/{retry-SBGWOUQO.js.map → retry-YXM23NSB.js.map} +0 -0
- /package/dist/{revenue-KJLJ53XY.js.map → revenue-D4L6U2CW.js.map} +0 -0
- /package/dist/{rule-writes-DNXELESR.js.map → rule-writes-HUBHHYEO.js.map} +0 -0
- /package/dist/{rules-KCSET46P.js.map → rules-47LFGCPW.js.map} +0 -0
- /package/dist/{rules-NVKU732Z.js.map → rules-F6RNUOXP.js.map} +0 -0
- /package/dist/{rules-add-KY42EHJE.js.map → rules-add-SAQRESVK.js.map} +0 -0
- /package/dist/{run-2LQ7XJEO.js.map → run-FRPO2WNQ.js.map} +0 -0
- /package/dist/{run-M7YU6KCV.js.map → run-HENSSAQW.js.map} +0 -0
- /package/dist/{scaffold-ad-6YPZ75YJ.js.map → scaffold-ad-QQBCUYUO.js.map} +0 -0
- /package/dist/{scaffold-static-ad-UJEWTDU5.js.map → scaffold-static-ad-WUOAQEXS.js.map} +0 -0
- /package/dist/{scaffold-video-M4VWSVJ6.js.map → scaffold-video-KFQAKQUO.js.map} +0 -0
- /package/dist/{schedule-J7HZQ2EL.js.map → schedule-S4XAVVEI.js.map} +0 -0
- /package/dist/{scheduled-agents-IVUQUKF4.js.map → scheduled-agents-ZWAP6QLC.js.map} +0 -0
- /package/dist/{schema-LHBKBUV7.js.map → schema-EJ2XPUN6.js.map} +0 -0
- /package/dist/{search-3AW52FO6.js.map → search-2BAY3KKX.js.map} +0 -0
- /package/dist/{select-STIWQ36I.js.map → select-K2SXPDDJ.js.map} +0 -0
- /package/dist/{set-prompt-TODWV2F4.js.map → set-prompt-BZFOV3EB.js.map} +0 -0
- /package/dist/{setup-links-MNBD3UMH.js.map → setup-links-QT63UZBR.js.map} +0 -0
- /package/dist/{shopify-RJWLTNPQ.js.map → shopify-Q7TQIQ6N.js.map} +0 -0
- /package/dist/{site-ZZUKS6MQ.js.map → site-S6QVMP7W.js.map} +0 -0
- /package/dist/{sources-36MJ6T4V.js.map → sources-DTQ4NQAM.js.map} +0 -0
- /package/dist/{sources-GNLQHTSJ.js.map → sources-ORG5KQSW.js.map} +0 -0
- /package/dist/{stale-GJN7UO3D.js.map → stale-5O7BQVTN.js.map} +0 -0
- /package/dist/{status-6EGB6ORB.js.map → status-4G2YUCZR.js.map} +0 -0
- /package/dist/{studies-4XXCEAHH.js.map → studies-QLSKON6M.js.map} +0 -0
- /package/dist/{studio-OARORMDJ.js.map → studio-IDXFTGHP.js.map} +0 -0
- /package/dist/{study-writes-J56UIIE3.js.map → study-writes-GBUUKX4O.js.map} +0 -0
- /package/dist/{sync-QHM3LMAX.js.map → sync-7LJZPHM3.js.map} +0 -0
- /package/dist/{sync-definition-YXGN6PIQ.js.map → sync-definition-Q3XUSEZJ.js.map} +0 -0
- /package/dist/{tags-MQYF2JHQ.js.map → tags-2ARVNEYS.js.map} +0 -0
- /package/dist/{tags-ZGXJHATH.js.map → tags-F4IT7RQR.js.map} +0 -0
- /package/dist/{tags-MBBRBZJH.js.map → tags-F7ZO52EM.js.map} +0 -0
- /package/dist/{tags-IDWUV2FY.js.map → tags-NBGGBHXR.js.map} +0 -0
- /package/dist/{tags-GHV5R7NI.js.map → tags-TCSGQYDR.js.map} +0 -0
- /package/dist/{targeting-KJ4DI56R.js.map → targeting-DAUTJDUB.js.map} +0 -0
- /package/dist/{targeting-criteria-GDCXOAUD.js.map → targeting-criteria-H42LRULY.js.map} +0 -0
- /package/dist/{targets-MYHOPAYY.js.map → targets-WB4E5XL2.js.map} +0 -0
- /package/dist/{testimonials-R6RFGAKP.js.map → testimonials-KLF3Y4QO.js.map} +0 -0
- /package/dist/{themes-LHVXXVTX.js.map → themes-BGBDYQQK.js.map} +0 -0
- /package/dist/{top-companies-POTV3Y2A.js.map → top-companies-C2W5TJ7G.js.map} +0 -0
- /package/dist/{transcript-4RVYKDVZ.js.map → transcript-S7VR2GJE.js.map} +0 -0
- /package/dist/{translate-UCASCVMN.js.map → translate-CBITGC7C.js.map} +0 -0
- /package/dist/{triggers-XHMMOZJK.js.map → triggers-EOKMR74O.js.map} +0 -0
- /package/dist/{unlink-3IW3EORE.js.map → unlink-PC3TMWUT.js.map} +0 -0
- /package/dist/{unstage-APVF6KHB.js.map → unstage-SU2ATDSZ.js.map} +0 -0
- /package/dist/{update-V7SRDGHN.js.map → update-DKX3EEES.js.map} +0 -0
- /package/dist/{update-2VSJH4LQ.js.map → update-JYZ45YJG.js.map} +0 -0
- /package/dist/{update-ESK6PSME.js.map → update-TAZSUOAS.js.map} +0 -0
- /package/dist/{update-42QYBUE3.js.map → update-WRJUH2NM.js.map} +0 -0
- /package/dist/{upload-42IR5RIL.js.map → upload-BLXTMK5Q.js.map} +0 -0
- /package/dist/{url-params-GEESXN57.js.map → url-params-YVOFU6MK.js.map} +0 -0
- /package/dist/{validate-Z5SSEUES.js.map → validate-SAQEORZY.js.map} +0 -0
- /package/dist/{videos-PJAPZPOT.js.map → videos-GOIDZVVD.js.map} +0 -0
- /package/dist/{viewer-check-6M34VY7K.js.map → viewer-check-KTRRUVZN.js.map} +0 -0
- /package/dist/{web-PUVVFMV3.js.map → web-6KUM7Q7S.js.map} +0 -0
- /package/dist/{winning-ads-ZCP4MIEQ.js.map → winning-ads-LOMI72Q2.js.map} +0 -0
- /package/dist/{write-commands-ZS4O4DSV.js.map → write-commands-3U5ZMIHH.js.map} +0 -0
- /package/dist/{write-commands-5LEEPKA7.js.map → write-commands-F5XPPLOO.js.map} +0 -0
- /package/dist/{x-ZKCLP23S.js.map → x-APVY4YHX.js.map} +0 -0
|
@@ -2,9 +2,9 @@ import {
|
|
|
2
2
|
failApi,
|
|
3
3
|
failValidation,
|
|
4
4
|
validateScheduledAgentRef
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-7BVRFQN4.js";
|
|
6
6
|
import "./chunk-WR5Y64OE.js";
|
|
7
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-MKLAZD23.js";
|
|
8
8
|
import "./chunk-QV6AST5T.js";
|
|
9
9
|
import "./chunk-WCU362Z6.js";
|
|
10
10
|
import "./chunk-GIWHHCD6.js";
|
|
@@ -85,4 +85,4 @@ export {
|
|
|
85
85
|
unstageBody,
|
|
86
86
|
unstageCommand
|
|
87
87
|
};
|
|
88
|
-
//# sourceMappingURL=unstage-
|
|
88
|
+
//# sourceMappingURL=unstage-SU2ATDSZ.js.map
|
|
@@ -16,9 +16,9 @@ import {
|
|
|
16
16
|
slackBody,
|
|
17
17
|
validateScheduledAgentRef,
|
|
18
18
|
writeOk
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-7BVRFQN4.js";
|
|
20
20
|
import "./chunk-WR5Y64OE.js";
|
|
21
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-MKLAZD23.js";
|
|
22
22
|
import "./chunk-QV6AST5T.js";
|
|
23
23
|
import "./chunk-WCU362Z6.js";
|
|
24
24
|
import "./chunk-GIWHHCD6.js";
|
|
@@ -152,4 +152,4 @@ var updateCommand = defineCommand({
|
|
|
152
152
|
export {
|
|
153
153
|
updateCommand
|
|
154
154
|
};
|
|
155
|
-
//# sourceMappingURL=update-
|
|
155
|
+
//# sourceMappingURL=update-DKX3EEES.js.map
|
|
@@ -2,8 +2,8 @@ import {
|
|
|
2
2
|
failApi,
|
|
3
3
|
failValidation,
|
|
4
4
|
writeOk
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-BS2MC62Y.js";
|
|
6
|
+
import "./chunk-MKLAZD23.js";
|
|
7
7
|
import "./chunk-QV6AST5T.js";
|
|
8
8
|
import "./chunk-WCU362Z6.js";
|
|
9
9
|
import "./chunk-GIWHHCD6.js";
|
|
@@ -63,4 +63,4 @@ var tagsUpdateCommand = defineCommand({
|
|
|
63
63
|
export {
|
|
64
64
|
tagsUpdateCommand
|
|
65
65
|
};
|
|
66
|
-
//# sourceMappingURL=update-
|
|
66
|
+
//# sourceMappingURL=update-JYZ45YJG.js.map
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
import {
|
|
16
16
|
AVATAR_HANDLE_PATTERN,
|
|
17
17
|
AVATAR_RELATIONS
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-MKLAZD23.js";
|
|
19
19
|
import "./chunk-QV6AST5T.js";
|
|
20
20
|
import "./chunk-WCU362Z6.js";
|
|
21
21
|
import "./chunk-GIWHHCD6.js";
|
|
@@ -189,4 +189,4 @@ var updateCommand = defineCommand({
|
|
|
189
189
|
export {
|
|
190
190
|
updateCommand
|
|
191
191
|
};
|
|
192
|
-
//# sourceMappingURL=update-
|
|
192
|
+
//# sourceMappingURL=update-TAZSUOAS.js.map
|
|
@@ -6,8 +6,8 @@ import {
|
|
|
6
6
|
parsePriority,
|
|
7
7
|
parseTagList,
|
|
8
8
|
writeOk
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-BS2MC62Y.js";
|
|
10
|
+
import "./chunk-MKLAZD23.js";
|
|
11
11
|
import "./chunk-QV6AST5T.js";
|
|
12
12
|
import "./chunk-WCU362Z6.js";
|
|
13
13
|
import "./chunk-GIWHHCD6.js";
|
|
@@ -98,4 +98,4 @@ var updateCommand = defineCommand({
|
|
|
98
98
|
export {
|
|
99
99
|
updateCommand
|
|
100
100
|
};
|
|
101
|
-
//# sourceMappingURL=update-
|
|
101
|
+
//# sourceMappingURL=update-WRJUH2NM.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
runVideoIngest
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-RKDMYL4A.js";
|
|
4
4
|
import "./chunk-FKOECEVC.js";
|
|
5
5
|
import "./chunk-UGRL642V.js";
|
|
6
6
|
import {
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
uploadLocalVideo
|
|
9
9
|
} from "./chunk-IIK4WNWV.js";
|
|
10
10
|
import "./chunk-G6U45QD3.js";
|
|
11
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-MKLAZD23.js";
|
|
12
12
|
import "./chunk-QV6AST5T.js";
|
|
13
13
|
import "./chunk-WCU362Z6.js";
|
|
14
14
|
import "./chunk-GIWHHCD6.js";
|
|
@@ -127,4 +127,4 @@ var uploadCommand = defineCommand({
|
|
|
127
127
|
export {
|
|
128
128
|
uploadCommand
|
|
129
129
|
};
|
|
130
|
-
//# sourceMappingURL=upload-
|
|
130
|
+
//# sourceMappingURL=upload-BLXTMK5Q.js.map
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
handleLinkedinError,
|
|
3
3
|
resolveAccountIdArg
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-OTFHIGEO.js";
|
|
5
5
|
import {
|
|
6
6
|
writeAdsJson
|
|
7
7
|
} from "./chunk-QYH2UZAK.js";
|
|
8
8
|
import {
|
|
9
9
|
LINKEDIN_TRACKING_PARAMS_AD_SET_MAX
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-MKLAZD23.js";
|
|
11
11
|
import "./chunk-QV6AST5T.js";
|
|
12
12
|
import "./chunk-WCU362Z6.js";
|
|
13
13
|
import "./chunk-GIWHHCD6.js";
|
|
@@ -98,4 +98,4 @@ export {
|
|
|
98
98
|
hints,
|
|
99
99
|
urlParamsCommand
|
|
100
100
|
};
|
|
101
|
-
//# sourceMappingURL=url-params-
|
|
101
|
+
//# sourceMappingURL=url-params-YVOFU6MK.js.map
|
|
@@ -1,39 +1,39 @@
|
|
|
1
1
|
import {
|
|
2
2
|
outputRatioWarningsFor,
|
|
3
3
|
shownBaseline
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-XYKODRQR.js";
|
|
5
|
+
import "./chunk-OBQ5YUOZ.js";
|
|
6
6
|
import {
|
|
7
7
|
creativeSlugFromCanvasPath
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-EJBLF2LI.js";
|
|
9
9
|
import {
|
|
10
10
|
exitOnPrepareError,
|
|
11
11
|
prepareCanvas
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-6WVYBY2G.js";
|
|
13
13
|
import "./chunk-QFODAMYR.js";
|
|
14
14
|
import "./chunk-EKX37C3T.js";
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-Q5DFEVLE.js";
|
|
16
|
+
import "./chunk-2QGGI7MF.js";
|
|
17
|
+
import "./chunk-CH44XVPE.js";
|
|
18
|
+
import "./chunk-IOKD77L2.js";
|
|
19
19
|
import "./chunk-PGAYESXE.js";
|
|
20
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-3OMFSYQ3.js";
|
|
21
21
|
import "./chunk-UKZKLXTE.js";
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-PNWXTOQ4.js";
|
|
23
|
+
import "./chunk-GRDZWZKQ.js";
|
|
24
|
+
import "./chunk-KDAINT54.js";
|
|
25
25
|
import "./chunk-G6XKD7QE.js";
|
|
26
26
|
import "./chunk-4H6XLX7E.js";
|
|
27
|
-
import "./chunk-
|
|
27
|
+
import "./chunk-Y5PNLB24.js";
|
|
28
28
|
import {
|
|
29
29
|
canvasOutputsRoot
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-N3PASNUA.js";
|
|
31
31
|
import {
|
|
32
32
|
defaultRegistry,
|
|
33
33
|
validateCanvasDeep
|
|
34
|
-
} from "./chunk-
|
|
35
|
-
import "./chunk-
|
|
36
|
-
import "./chunk-
|
|
34
|
+
} from "./chunk-DWPOAU4Z.js";
|
|
35
|
+
import "./chunk-HBRXFQQV.js";
|
|
36
|
+
import "./chunk-X3GWGFZP.js";
|
|
37
37
|
import "./chunk-GWLP45WQ.js";
|
|
38
38
|
import "./chunk-DGCUPJZD.js";
|
|
39
39
|
import "./chunk-6QINKM6T.js";
|
|
@@ -43,10 +43,10 @@ import "./chunk-MCJ5I5LR.js";
|
|
|
43
43
|
import "./chunk-2WZI36D3.js";
|
|
44
44
|
import "./chunk-65Y3RCWP.js";
|
|
45
45
|
import "./chunk-E56V3RFO.js";
|
|
46
|
-
import "./chunk-
|
|
46
|
+
import "./chunk-EL3TDR5S.js";
|
|
47
47
|
import "./chunk-G6U45QD3.js";
|
|
48
|
-
import "./chunk-
|
|
49
|
-
import "./chunk-
|
|
48
|
+
import "./chunk-X6U3B6YK.js";
|
|
49
|
+
import "./chunk-MKLAZD23.js";
|
|
50
50
|
import "./chunk-QV6AST5T.js";
|
|
51
51
|
import "./chunk-WCU362Z6.js";
|
|
52
52
|
import "./chunk-GIWHHCD6.js";
|
|
@@ -122,4 +122,4 @@ var validateCommand = defineCommand({
|
|
|
122
122
|
export {
|
|
123
123
|
validateCommand
|
|
124
124
|
};
|
|
125
|
-
//# sourceMappingURL=validate-
|
|
125
|
+
//# sourceMappingURL=validate-SAQEORZY.js.map
|
|
@@ -25,17 +25,17 @@ Full guide: __tooling__/docs/tools/baker/videos.md`
|
|
|
25
25
|
get: () => import("./get-KNP2EQRI.js").then((m) => m.getCommand),
|
|
26
26
|
group: () => import("./group-45M7V46T.js").then((m) => m.groupCommand),
|
|
27
27
|
search: () => import("./search-OW3E2Z7Z.js").then((m) => m.searchCommand),
|
|
28
|
-
upload: () => import("./upload-
|
|
29
|
-
ingest: () => import("./ingest-
|
|
28
|
+
upload: () => import("./upload-BLXTMK5Q.js").then((m) => m.uploadCommand),
|
|
29
|
+
ingest: () => import("./ingest-C2HJ5LUY.js").then((m) => m.ingestCommand),
|
|
30
30
|
fetch: () => import("./fetch-KB64NPDF.js").then((m) => m.fetchCommand),
|
|
31
|
-
download: () => import("./download-
|
|
31
|
+
download: () => import("./download-LOBPOIU5.js").then((m) => m.downloadCommand),
|
|
32
32
|
describe: () => import("./describe-MA54W67X.js").then((m) => m.describeCommand),
|
|
33
33
|
delete: () => import("./delete-Q7J734W2.js").then((m) => m.deleteCommand),
|
|
34
|
-
retry: () => import("./retry-
|
|
35
|
-
tags: () => import("./tags-
|
|
34
|
+
retry: () => import("./retry-YXM23NSB.js").then((m) => m.retryCommand),
|
|
35
|
+
tags: () => import("./tags-2ARVNEYS.js").then((m) => m.tagsCommand)
|
|
36
36
|
}
|
|
37
37
|
});
|
|
38
38
|
export {
|
|
39
39
|
videosCommand
|
|
40
40
|
};
|
|
41
|
-
//# sourceMappingURL=videos-
|
|
41
|
+
//# sourceMappingURL=videos-GOIDZVVD.js.map
|
|
@@ -22,27 +22,27 @@ import {
|
|
|
22
22
|
viewerCheckCommand,
|
|
23
23
|
viewerCheckFailure,
|
|
24
24
|
viewerCheckSkip
|
|
25
|
-
} from "./chunk-
|
|
26
|
-
import "./chunk-
|
|
27
|
-
import "./chunk-
|
|
25
|
+
} from "./chunk-2QGGI7MF.js";
|
|
26
|
+
import "./chunk-CH44XVPE.js";
|
|
27
|
+
import "./chunk-IOKD77L2.js";
|
|
28
28
|
import "./chunk-PGAYESXE.js";
|
|
29
|
-
import "./chunk-
|
|
29
|
+
import "./chunk-3OMFSYQ3.js";
|
|
30
30
|
import "./chunk-UKZKLXTE.js";
|
|
31
|
-
import "./chunk-
|
|
31
|
+
import "./chunk-KDAINT54.js";
|
|
32
32
|
import "./chunk-G6XKD7QE.js";
|
|
33
33
|
import "./chunk-4H6XLX7E.js";
|
|
34
|
-
import "./chunk-
|
|
35
|
-
import "./chunk-
|
|
34
|
+
import "./chunk-Y5PNLB24.js";
|
|
35
|
+
import "./chunk-N3PASNUA.js";
|
|
36
36
|
import "./chunk-H3HA22Z3.js";
|
|
37
37
|
import "./chunk-DLM5OSHM.js";
|
|
38
38
|
import "./chunk-MCJ5I5LR.js";
|
|
39
39
|
import "./chunk-2WZI36D3.js";
|
|
40
40
|
import "./chunk-65Y3RCWP.js";
|
|
41
41
|
import "./chunk-E56V3RFO.js";
|
|
42
|
-
import "./chunk-
|
|
42
|
+
import "./chunk-EL3TDR5S.js";
|
|
43
43
|
import "./chunk-G6U45QD3.js";
|
|
44
|
-
import "./chunk-
|
|
45
|
-
import "./chunk-
|
|
44
|
+
import "./chunk-X6U3B6YK.js";
|
|
45
|
+
import "./chunk-MKLAZD23.js";
|
|
46
46
|
import "./chunk-QV6AST5T.js";
|
|
47
47
|
import "./chunk-WCU362Z6.js";
|
|
48
48
|
import "./chunk-GIWHHCD6.js";
|
|
@@ -80,4 +80,4 @@ export {
|
|
|
80
80
|
viewerCheckFailure,
|
|
81
81
|
viewerCheckSkip
|
|
82
82
|
};
|
|
83
|
-
//# sourceMappingURL=viewer-check-
|
|
83
|
+
//# sourceMappingURL=viewer-check-KTRRUVZN.js.map
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
webDepthHints,
|
|
3
3
|
webSourceHints
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-UCJAPB5Y.js";
|
|
5
5
|
import {
|
|
6
6
|
handleResearchError,
|
|
7
7
|
writeResearchHints,
|
|
8
8
|
writeResearchJson
|
|
9
9
|
} from "./chunk-CXYX6G3I.js";
|
|
10
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-MKLAZD23.js";
|
|
11
11
|
import "./chunk-QV6AST5T.js";
|
|
12
12
|
import "./chunk-WCU362Z6.js";
|
|
13
13
|
import "./chunk-GIWHHCD6.js";
|
|
@@ -170,4 +170,4 @@ export {
|
|
|
170
170
|
webCommand,
|
|
171
171
|
webMarkdown
|
|
172
172
|
};
|
|
173
|
-
//# sourceMappingURL=web-
|
|
173
|
+
//# sourceMappingURL=web-6KUM7Q7S.js.map
|
|
@@ -72,9 +72,9 @@ Full guide: __tooling__/docs/tools/baker/winning-ads.md`
|
|
|
72
72
|
landings: () => import("./landings-FBRB3FF5.js").then((m) => m.landingsCommand),
|
|
73
73
|
"search-copy": () => import("./search-copy-2KO3VR6R.js").then((m) => m.searchCopyCommand),
|
|
74
74
|
content: () => import("./content-MKJP7T7L.js").then((m) => m.contentCommand),
|
|
75
|
-
fit: () => import("./fit-
|
|
75
|
+
fit: () => import("./fit-REGMM46H.js").then((m) => m.fitCommand),
|
|
76
76
|
unfollow: () => import("./unfollow-G26NHR5X.js").then((m) => m.unfollowCommand),
|
|
77
|
-
refresh: () => import("./refresh-
|
|
77
|
+
refresh: () => import("./refresh-ENQDQGTK.js").then((m) => m.refreshCommand),
|
|
78
78
|
hooks: () => import("./seeds-E64JKXWS.js").then((m) => m.hooksCommand),
|
|
79
79
|
mechanisms: () => import("./seeds-E64JKXWS.js").then((m) => m.mechanismsCommand),
|
|
80
80
|
formats: () => import("./seeds-E64JKXWS.js").then((m) => m.formatsCommand)
|
|
@@ -83,4 +83,4 @@ Full guide: __tooling__/docs/tools/baker/winning-ads.md`
|
|
|
83
83
|
export {
|
|
84
84
|
winningAdsCommand
|
|
85
85
|
};
|
|
86
|
-
//# sourceMappingURL=winning-ads-
|
|
86
|
+
//# sourceMappingURL=winning-ads-LOMI72Q2.js.map
|
|
@@ -16,26 +16,26 @@ import {
|
|
|
16
16
|
stageLinkedinOps,
|
|
17
17
|
stageOp,
|
|
18
18
|
stageStatusChange
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-QXCGWAC6.js";
|
|
20
20
|
import {
|
|
21
21
|
handleLinkedinError
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-OTFHIGEO.js";
|
|
23
23
|
import {
|
|
24
24
|
repeatedValues
|
|
25
25
|
} from "./chunk-ERSX3MKH.js";
|
|
26
|
-
import "./chunk-
|
|
26
|
+
import "./chunk-CDTAKCJR.js";
|
|
27
27
|
import "./chunk-4NZ47VXO.js";
|
|
28
28
|
import "./chunk-D5FY4FAK.js";
|
|
29
29
|
import "./chunk-4H6XLX7E.js";
|
|
30
30
|
import {
|
|
31
31
|
writeJsonEnvelope
|
|
32
32
|
} from "./chunk-QYH2UZAK.js";
|
|
33
|
-
import "./chunk-
|
|
34
|
-
import "./chunk-
|
|
33
|
+
import "./chunk-Y5PNLB24.js";
|
|
34
|
+
import "./chunk-N3PASNUA.js";
|
|
35
35
|
import "./chunk-E56V3RFO.js";
|
|
36
|
-
import "./chunk-
|
|
36
|
+
import "./chunk-EL3TDR5S.js";
|
|
37
37
|
import "./chunk-G6U45QD3.js";
|
|
38
|
-
import "./chunk-
|
|
38
|
+
import "./chunk-X6U3B6YK.js";
|
|
39
39
|
import {
|
|
40
40
|
CONVERSION_UPLOAD_MAX_EVENTS,
|
|
41
41
|
LEADGEN_CTA_LABELS,
|
|
@@ -43,7 +43,7 @@ import {
|
|
|
43
43
|
TRACKING_PARAM_DYNAMIC_VALUES,
|
|
44
44
|
campaignExcludeCompaniesSchema,
|
|
45
45
|
sponsoredPostUrn
|
|
46
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-MKLAZD23.js";
|
|
47
47
|
import "./chunk-QV6AST5T.js";
|
|
48
48
|
import "./chunk-WCU362Z6.js";
|
|
49
49
|
import "./chunk-GIWHHCD6.js";
|
|
@@ -1521,4 +1521,4 @@ export {
|
|
|
1521
1521
|
sponsoredPostArgs,
|
|
1522
1522
|
trackingParamsPayload
|
|
1523
1523
|
};
|
|
1524
|
-
//# sourceMappingURL=write-commands-
|
|
1524
|
+
//# sourceMappingURL=write-commands-3U5ZMIHH.js.map
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
budgetBoostsFromFlags,
|
|
8
8
|
clearArg,
|
|
9
9
|
clearFromFlags
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-EJMPKO6V.js";
|
|
11
11
|
import {
|
|
12
12
|
bareAccountId,
|
|
13
13
|
failWriteValidation,
|
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
stageOp,
|
|
25
25
|
stageStatusChange,
|
|
26
26
|
upper
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-EENYLJUN.js";
|
|
28
28
|
import {
|
|
29
29
|
buildCustomConversionRule
|
|
30
30
|
} from "./chunk-GC5P4KWY.js";
|
|
@@ -35,18 +35,18 @@ import "./chunk-QY7EK6Q4.js";
|
|
|
35
35
|
import {
|
|
36
36
|
repeatedValues
|
|
37
37
|
} from "./chunk-ERSX3MKH.js";
|
|
38
|
-
import "./chunk-
|
|
38
|
+
import "./chunk-CDTAKCJR.js";
|
|
39
39
|
import "./chunk-4NZ47VXO.js";
|
|
40
40
|
import "./chunk-D5FY4FAK.js";
|
|
41
41
|
import "./chunk-4H6XLX7E.js";
|
|
42
42
|
import "./chunk-QALAJNBG.js";
|
|
43
43
|
import "./chunk-QYH2UZAK.js";
|
|
44
|
-
import "./chunk-
|
|
45
|
-
import "./chunk-
|
|
44
|
+
import "./chunk-Y5PNLB24.js";
|
|
45
|
+
import "./chunk-N3PASNUA.js";
|
|
46
46
|
import "./chunk-E56V3RFO.js";
|
|
47
|
-
import "./chunk-
|
|
47
|
+
import "./chunk-EL3TDR5S.js";
|
|
48
48
|
import "./chunk-G6U45QD3.js";
|
|
49
|
-
import "./chunk-
|
|
49
|
+
import "./chunk-X6U3B6YK.js";
|
|
50
50
|
import "./chunk-SOPVIIUW.js";
|
|
51
51
|
import "./chunk-G4FG5EQO.js";
|
|
52
52
|
import "./chunk-R7XDGNZD.js";
|
|
@@ -463,7 +463,7 @@ Example: baker ads meta adsets create --campaign 6123 --name "Reach ES" --optimi
|
|
|
463
463
|
const file = loadJsonFileArg(args.file);
|
|
464
464
|
const payload = mergePayload(file, adSetPayloadFromFlags(args, rawArgs, file));
|
|
465
465
|
if (args["saved-audience"]) {
|
|
466
|
-
const { savedAudienceTargeting, targetingFromSavedAudience } = await import("./audience-writes-
|
|
466
|
+
const { savedAudienceTargeting, targetingFromSavedAudience } = await import("./audience-writes-DWSCHYQF.js");
|
|
467
467
|
const saved = await savedAudienceTargeting(accountId, String(args["saved-audience"]));
|
|
468
468
|
const merged = targetingFromSavedAudience(saved, payload.targeting);
|
|
469
469
|
if ("refusal" in merged) failWriteValidation(merged.refusal);
|
|
@@ -1166,4 +1166,4 @@ export {
|
|
|
1166
1166
|
retagSetPairs,
|
|
1167
1167
|
targetingFromFlags
|
|
1168
1168
|
};
|
|
1169
|
-
//# sourceMappingURL=write-commands-
|
|
1169
|
+
//# sourceMappingURL=write-commands-F5XPPLOO.js.map
|
|
@@ -27,15 +27,15 @@ Full guide: __tooling__/docs/tools/baker/ads-x.md`
|
|
|
27
27
|
subCommands: {
|
|
28
28
|
accounts: () => import("./accounts-KQ7NCM4L.js").then((m) => m.accountsCommand),
|
|
29
29
|
funding: () => import("./funding-7M4TJ3MW.js").then((m) => m.fundingCommand),
|
|
30
|
-
campaigns: () => import("./campaigns-
|
|
31
|
-
"line-items": () => import("./line-items-
|
|
32
|
-
"promoted-tweets": () => import("./promoted-tweets-
|
|
30
|
+
campaigns: () => import("./campaigns-B2AUW4TV.js").then((m) => m.campaignsCommand),
|
|
31
|
+
"line-items": () => import("./line-items-KPIKXLG4.js").then((m) => m.lineItemsCommand),
|
|
32
|
+
"promoted-tweets": () => import("./promoted-tweets-TGFPH7UI.js").then((m) => m.promotedTweetsCommand),
|
|
33
33
|
tweets: () => import("./tweets-33OCH74J.js").then((m) => m.tweetsCommand),
|
|
34
34
|
cards: () => import("./cards-HUXBNMEM.js").then((m) => m.cardsCommand),
|
|
35
|
-
draft: () => import("./draft-
|
|
35
|
+
draft: () => import("./draft-N56HPS36.js").then((m) => m.draftCommand),
|
|
36
36
|
media: () => import("./media-422INJCD.js").then((m) => m.mediaCommand),
|
|
37
37
|
audiences: () => import("./audiences-5TOTVZMK.js").then((m) => m.audiencesCommand),
|
|
38
|
-
"targeting-criteria": () => import("./targeting-criteria-
|
|
38
|
+
"targeting-criteria": () => import("./targeting-criteria-H42LRULY.js").then((m) => m.targetingCriteriaCommand),
|
|
39
39
|
"targeting-constants": () => import("./targeting-constants-ZS422W5A.js").then((m) => m.targetingConstantsCommand),
|
|
40
40
|
"active-entities": () => import("./active-entities-3266UJYN.js").then((m) => m.activeEntitiesCommand),
|
|
41
41
|
stats: () => import("./stats-FSAXWTSE.js").then((m) => m.statsCommand)
|
|
@@ -44,4 +44,4 @@ Full guide: __tooling__/docs/tools/baker/ads-x.md`
|
|
|
44
44
|
export {
|
|
45
45
|
xCommand
|
|
46
46
|
};
|
|
47
|
-
//# sourceMappingURL=x-
|
|
47
|
+
//# sourceMappingURL=x-APVY4YHX.js.map
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/images/download.ts","../src/commands/images/downloadPaths.ts"],"sourcesContent":["import type { ImagesGetResponse } from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { ApiError, apiGet, validateConvexId } from \"../../client.ts\";\nimport { fetchExternalBytes, MAX_REMOTE_IMAGE_BYTES } from \"../../lib/externalFetch.ts\";\nimport { atomicWrite, isDirectory, isRemoteUrl } from \"../../lib/image/io.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport {\n baseNameFromUrl,\n deriveExtension,\n disambiguate,\n resolveDownloadPath,\n sanitizeBaseName,\n} from \"./downloadPaths.ts\";\n\n/**\n * Remote asset → local file.\n *\n * The docs have always described the pipeline as `source → download → normalize\n * → place` and told the agent \"local files only — download remote assets\n * first\", while no download command existed: `normalize` refuses URLs and takes\n * no library ids, and the only URL→disk writer was `crop`, which demands\n * rectangle coordinates. Agents filled the hole with `curl`, hand-assembling\n * media URLs out of JSON responses.\n *\n * Local-only by design, like `normalize` / `crop` / `dimensions` — the bytes go\n * to the sandbox, not through the backend. Library ids resolve through the\n * existing `GET /api/images/get` route, so no new backend surface is needed.\n */\n\nregisterSchema({\n command: \"images.download\",\n description:\n \"Download remote images or library images to local files, so the local transforms (normalize, crop, dimensions) can read them.\",\n args: {\n targets: {\n type: \"string\",\n description:\n \"One or more image URLs and/or library image ids, space- or comma-separated (e.g. 'https://…/logo.webp j57abc123').\",\n required: true,\n },\n out: {\n type: \"string\",\n description:\n \"Output directory (must exist) or, with a single target, an exact file path. Default: the working directory.\",\n required: false,\n },\n },\n});\n\ninterface Target {\n raw: string;\n kind: \"url\" | \"imageId\";\n}\n\ninterface Downloaded {\n input: string;\n output: string;\n bytes: number;\n contentType: string | null;\n}\n\ninterface FailedDownload {\n input: string;\n error: string;\n}\n\nclass ValidationError extends Error {}\n\n/** A target that is neither a URL nor a library id — usually a local path,\n * which needs no download at all. */\nclass UnusableTargetError extends Error {\n constructor(readonly target: string) {\n super(`\"${target}\" is neither an image URL nor a library image id.`);\n }\n}\n\n/** Every positional, each of which may itself be a comma-separated list. */\nfunction readTargets(args: Record<string, unknown>): string[] {\n const positionals = Array.isArray(args._) ? args._ : [];\n const named = typeof args.targets === \"string\" ? [args.targets] : [];\n const all = positionals.length > 0 ? positionals : named;\n const seen = new Set<string>();\n const out: string[] = [];\n for (const value of all) {\n if (typeof value !== \"string\") continue;\n for (const part of value.split(\",\").map((p) => p.trim())) {\n if (part.length > 0 && !seen.has(part)) {\n seen.add(part);\n out.push(part);\n }\n }\n }\n return out;\n}\n\n/** A target is a URL or a library id — nothing else resolves to bytes. */\nfunction classify(raw: string): Target {\n if (isRemoteUrl(raw)) {\n return { raw, kind: \"url\" };\n }\n try {\n validateConvexId(raw);\n } catch {\n throw new UnusableTargetError(raw);\n }\n return { raw, kind: \"imageId\" };\n}\n\ninterface Resolved {\n input: string;\n url: string;\n baseName: string;\n}\n\n/** Turn a target into a fetchable URL plus the stem to name its file after. */\nasync function resolveTarget(target: Target): Promise<Resolved> {\n if (target.kind === \"url\") {\n return { input: target.raw, url: target.raw, baseName: baseNameFromUrl(target.raw) };\n }\n const doc = await apiGet<ImagesGetResponse>(\"/api/images/get\", { id: target.raw });\n // The library row's own name is what the agent searched for; fall back to the\n // id so a nameless row still writes a file it can find again.\n const stem = sanitizeBaseName(doc.name.length > 0 ? doc.name : target.raw);\n return { input: target.raw, url: doc.imageUrl, baseName: stem };\n}\n\nasync function fetchBytes(url: string): Promise<{ buffer: Buffer; contentType: string | null }> {\n // These URLs come straight from agent argv, so the ceiling is not a formality:\n // nothing upstream has looked at where they point or how big they are.\n return await fetchExternalBytes(url, { maxBytes: MAX_REMOTE_IMAGE_BYTES });\n}\n\nconst NEXT_STEP_HINT =\n \"Downloaded files are local paths — the local transforms take them directly: `baker images normalize <file> --color '#FFFFFF' --height 40`, `baker images crop <file> --x … --y … --width … --height …`, `baker images dimensions <file>`. For a landing, page-scoped images belong in `src/pages/{landing}/_images/`.\";\n\n// These two used to explain a 403 as \"the host refuses datacenter IPs, so\n// re-source it\". That was an accurate diagnosis and is now a stale instruction:\n// a refusal is retried from a different exit before this command ever reports\n// one, so a 403 that survives to here has already been answered from more than\n// one address and will not yield to another attempt. The advice is unchanged —\n// move on — but the reason is now \"this host will not serve us\", not \"try\n// somewhere our address is welcome\". Neither string may mention how that was\n// established; the agent has no proxy to reason about and no decision to make\n// about one.\nconst PARTIAL_FAILURE_HINT =\n \"Some targets did not download. Carry on with the ones that did — a missing asset never blocks the rest of the job. Retry a failed URL only if it was a transient 5xx; a 403 means the host will not serve these bytes to anyone but a browser, so re-source it (`baker images extract <page>`) instead.\";\n\nconst ALL_FAILED_FIX = {\n action: \"use_different_resource\",\n explanation:\n \"None of the targets could be downloaded. A 403/404 means the host will not serve these bytes — re-source the asset (`baker images extract <page-url>`, `baker images stock <query>`) or, for a library image, check the row is `ready` with `baker images get <id>`. Do not retry the same URLs in a loop, and do not fall back to `curl` — continue the job with a placeholder if nothing can be fetched.\",\n};\n\n/** Resolve `--out` once: an existing directory, or a trailing slash meaning one. */\nasync function outIsDirectory(out: string | undefined): Promise<boolean> {\n if (!out) return false;\n return out.endsWith(\"/\") || (await isDirectory(out));\n}\n\ninterface DownloadPlan {\n targets: Target[];\n out: string | undefined;\n outIsDir: boolean;\n}\n\nasync function buildPlan(args: Record<string, unknown>): Promise<DownloadPlan> {\n const raw = readTargets(args);\n if (raw.length === 0) {\n throw new ValidationError(\"At least one image URL or library image id is required.\");\n }\n const targets = raw.map(classify);\n const out = typeof args.out === \"string\" && args.out.length > 0 ? args.out : undefined;\n const outIsDir = await outIsDirectory(out);\n if (out && !outIsDir && targets.length > 1) {\n throw new ValidationError(\n `--out must be an existing directory when downloading more than one image (got \"${out}\").`,\n );\n }\n return { targets, out, outIsDir };\n}\n\ninterface FetchedTarget {\n input: string;\n buffer: Buffer;\n contentType: string | null;\n path: string;\n}\n\nfunction failureMessage(err: unknown, fallback: string): string {\n return err instanceof Error ? err.message : fallback;\n}\n\n/**\n * Fetch every target, keeping going past a failure: one unreachable host must\n * not cost the agent the other five assets. Paths are resolved for the whole\n * batch before any write, so collisions can be renamed rather than overwritten.\n */\nasync function runDownloads(plan: DownloadPlan): Promise<{ downloaded: Downloaded[]; failed: FailedDownload[] }> {\n const failed: FailedDownload[] = [];\n const fetched: FetchedTarget[] = [];\n\n for (const target of plan.targets) {\n try {\n const resolved = await resolveTarget(target);\n const { buffer, contentType } = await fetchBytes(resolved.url);\n fetched.push({\n input: resolved.input,\n buffer,\n contentType,\n path: resolveDownloadPath({\n baseName: resolved.baseName,\n extension: deriveExtension(contentType, resolved.url),\n out: plan.out,\n outIsDirectory: plan.outIsDir,\n }),\n });\n } catch (err) {\n failed.push({ input: target.raw, error: failureMessage(err, \"Download failed\") });\n }\n }\n\n const paths = disambiguate(fetched.map((item) => item.path));\n const downloaded: Downloaded[] = [];\n for (const [index, item] of fetched.entries()) {\n const path = paths[index] ?? item.path;\n try {\n await atomicWrite(path, item.buffer);\n downloaded.push({ input: item.input, output: path, bytes: item.buffer.length, contentType: item.contentType });\n } catch (err) {\n failed.push({ input: item.input, error: failureMessage(err, \"Write failed\") });\n }\n }\n return { downloaded, failed };\n}\n\nfunction emitError(err: unknown): never {\n if (err instanceof UnusableTargetError) {\n writeJson({\n ok: false,\n error: {\n code: \"VALIDATION_ERROR\",\n message: err.message,\n fix: {\n action: \"retry_with_changes\",\n explanation:\n \"`download` takes remote image URLs (https://…) and library image ids. A path that is already on disk needs no download — pass it straight to `baker images normalize` / `crop` / `dimensions`. To get a library id, run `baker images library <query>` and read `_id`.\",\n },\n },\n });\n process.exit(1);\n }\n if (err instanceof ValidationError) {\n writeJson({ ok: false, error: { code: \"VALIDATION_ERROR\", message: err.message } });\n process.exit(1);\n }\n if (err instanceof ApiError) {\n writeJson({ ok: false, error: { code: err.code, message: err.message } });\n process.exit(1);\n }\n writeJson({ ok: false, error: { code: \"INTERNAL_ERROR\", message: \"Unexpected error\" } });\n process.exit(1);\n}\n\nexport const downloadCommand = defineCommand({\n meta: {\n name: \"download\",\n description:\n \"Download image URLs and/or library images to local files — the missing first half of `source → download → normalize → place`. Never use `curl` for this.\\n\\nExamples:\\n baker images download https://media.withbaker.com/…/logo.webp\\n baker images download j57abc123 j57def456 --out src/pages/pricing/_images/\\n baker images download https://…/hero.png --out ./hero.png\",\n },\n args: {\n targets: { type: \"positional\", description: \"Image URLs and/or library image ids\", required: false },\n out: { type: \"string\", description: \"Output directory (must exist), or exact file path for a single target\" },\n },\n run: async ({ args }) => {\n try {\n const plan = await buildPlan(args as Record<string, unknown>);\n const { downloaded, failed } = await runDownloads(plan);\n\n if (downloaded.length === 0) {\n writeJson({\n ok: false,\n error: {\n code: \"DOWNLOAD_FAILED\",\n message: `None of the ${plan.targets.length} target(s) could be downloaded: ${failed\n .map((f) => `${f.input} (${f.error})`)\n .join(\"; \")}`,\n fix: ALL_FAILED_FIX,\n },\n });\n process.exit(1);\n }\n\n const hints = [NEXT_STEP_HINT, ...(failed.length > 0 ? [PARTIAL_FAILURE_HINT] : [])];\n writeJson({ ok: true, data: { downloaded, failed }, hints });\n } catch (err) {\n emitError(err);\n }\n },\n});\n","/**\n * Where a downloaded asset lands, and what it is called.\n *\n * Split out from the command so the naming rules are testable without a\n * network or a filesystem — the part that decides whether `normalize` can read\n * the file back is the extension, and deriving it from the URL alone is how\n * a `.png` URL serving webp bytes ends up misnamed.\n */\n\nimport { basename, extname, join } from \"node:path\";\n\nconst CONTENT_TYPE_EXTENSIONS: Record<string, string> = {\n \"image/webp\": \".webp\",\n \"image/png\": \".png\",\n \"image/jpeg\": \".jpg\",\n \"image/jpg\": \".jpg\",\n \"image/gif\": \".gif\",\n \"image/svg+xml\": \".svg\",\n \"image/avif\": \".avif\",\n \"image/bmp\": \".bmp\",\n \"image/tiff\": \".tiff\",\n \"image/x-icon\": \".ico\",\n \"image/vnd.microsoft.icon\": \".ico\",\n};\n\nconst KNOWN_EXTENSIONS = new Set([\".webp\", \".png\", \".jpg\", \".jpeg\", \".gif\", \".svg\", \".avif\", \".bmp\", \".tiff\", \".ico\"]);\n\n/** The path portion of a URL, with the host and query removed. A bare host must\n * not leak into a filename — `https://media.withbaker.com/` names no file. */\nfunction urlPath(sourceUrl: string): string {\n try {\n return new URL(sourceUrl).pathname;\n } catch {\n return sourceUrl.split(/[?#]/)[0] ?? \"\";\n }\n}\n\n/** The URL's own path extension, when it names an image format we recognise. */\nfunction extensionFromUrl(sourceUrl: string): string | null {\n const ext = extname(urlPath(sourceUrl)).toLowerCase();\n return KNOWN_EXTENSIONS.has(ext) ? ext : null;\n}\n\n/**\n * The extension to write under. The served `Content-Type` wins: Baker's media\n * host routinely serves webp from a `.png` URL, and a file named for the URL\n * would then lie to every local tool that reads it back.\n */\nexport function deriveExtension(contentType: string | null | undefined, sourceUrl: string): string {\n const normalized = (contentType ?? \"\").split(\";\")[0]?.trim().toLowerCase() ?? \"\";\n const fromType = CONTENT_TYPE_EXTENSIONS[normalized];\n if (fromType) {\n return fromType;\n }\n return extensionFromUrl(sourceUrl) ?? \".bin\";\n}\n\n/**\n * A stem long enough and featureless enough to be a CDN hash rather than a name.\n *\n * Pixabay serves every file under one — an 80-character token with no word\n * breaks — so a downloaded illustration landed in a client's `_images/` as\n * `g030ff139944c078854d52b34eb635c9f5...png`, and that name then goes in the\n * page's `src` and into their repo. Pexels' `pexels-photo-11982694` has word\n * breaks and is left alone.\n */\nfunction looksLikeCdnHash(stem: string): boolean {\n return stem.length >= 32 && !/[-_.]/.test(stem);\n}\n\n/** The site a URL belongs to, as a short word usable in a filename. */\nfunction hostLabel(sourceUrl: string): string | null {\n try {\n const host = new URL(sourceUrl).hostname.replace(/^www\\./, \"\");\n const label = host.split(\".\").filter((part) => part !== \"cdn\" && part !== \"images\")[0];\n return label && /^[a-z0-9-]+$/.test(label) ? label : null;\n } catch {\n return null;\n }\n}\n\n/** A filesystem-safe stem, with no extension. */\nexport function sanitizeBaseName(raw: string): string {\n const stem = raw\n .trim()\n .toLowerCase()\n .replace(/\\.[a-z0-9]{1,5}$/i, \"\")\n .replace(/[^a-z0-9._-]+/g, \"-\")\n .replace(/^[-.]+|[-.]+$/g, \"\")\n .slice(0, 80);\n return stem.length > 0 ? stem : \"image\";\n}\n\n/**\n * The stem for a remote URL: its last path segment, or `image`. A segment that\n * is only a CDN hash is replaced by the site it came from plus a short prefix of\n * the hash, which stays unique between two files from the same site while being\n * readable in a page's markup.\n */\nexport function baseNameFromUrl(sourceUrl: string): string {\n const stem = sanitizeBaseName(basename(urlPath(sourceUrl)));\n if (looksLikeCdnHash(stem)) {\n const label = hostLabel(sourceUrl);\n if (label) return `${label}-${stem.slice(0, 8)}`;\n }\n return stem;\n}\n\ninterface DownloadPathInput {\n baseName: string;\n extension: string;\n /** `--out`, as given. */\n out?: string;\n /** Whether `--out` resolved to an existing directory (or is written as one). */\n outIsDirectory: boolean;\n}\n\n/**\n * `--out` naming a directory keeps the derived filename; `--out` naming a file\n * is taken literally, extension included — the caller asked for that path.\n */\nexport function resolveDownloadPath({ baseName, extension, out, outIsDirectory }: DownloadPathInput): string {\n const filename = `${baseName}${extension}`;\n if (!out) {\n return filename;\n }\n if (outIsDirectory) {\n return join(out, filename);\n }\n return out;\n}\n\n/**\n * Make a batch of resolved paths collision-free.\n *\n * Two hits from different hosts routinely end in the same segment (`/a/logo.png`\n * and `/b/logo.png`), and writing both would leave one file where the agent\n * asked for two — silently, since each write succeeds.\n *\n * The names this mints are claimed too, which is the whole difference between\n * this and a per-name counter. `[\"logo.png\", \"logo.png\", \"logo-2.png\"]` used to\n * produce `logo-2.png` twice: the third entry was its own first sighting, so it\n * passed through untouched and collided with the name invented for the second.\n * That reproduced the exact failure the function exists to prevent, one step\n * further along.\n */\nexport function disambiguate(paths: string[]): string[] {\n const taken = new Set<string>();\n return paths.map((path) => {\n if (!taken.has(path)) {\n taken.add(path);\n return path;\n }\n const ext = extname(path);\n const stem = path.slice(0, path.length - ext.length);\n // Step until free rather than trusting a count: the candidate can collide\n // with a name that arrived on its own, not only with an earlier duplicate.\n let n = 2;\n while (taken.has(`${stem}-${n}${ext}`)) n += 1;\n const unique = `${stem}-${n}${ext}`;\n taken.add(unique);\n return unique;\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA,SAAS,qBAAqB;;;ACQ9B,SAAS,UAAU,SAAS,YAAY;AAExC,IAAM,0BAAkD;AAAA,EACtD,cAAc;AAAA,EACd,aAAa;AAAA,EACb,cAAc;AAAA,EACd,aAAa;AAAA,EACb,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,cAAc;AAAA,EACd,aAAa;AAAA,EACb,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,4BAA4B;AAC9B;AAEA,IAAM,mBAAmB,oBAAI,IAAI,CAAC,SAAS,QAAQ,QAAQ,SAAS,QAAQ,QAAQ,SAAS,QAAQ,SAAS,MAAM,CAAC;AAIrH,SAAS,QAAQ,WAA2B;AAC1C,MAAI;AACF,WAAO,IAAI,IAAI,SAAS,EAAE;AAAA,EAC5B,QAAQ;AACN,WAAO,UAAU,MAAM,MAAM,EAAE,CAAC,KAAK;AAAA,EACvC;AACF;AAGA,SAAS,iBAAiB,WAAkC;AAC1D,QAAM,MAAM,QAAQ,QAAQ,SAAS,CAAC,EAAE,YAAY;AACpD,SAAO,iBAAiB,IAAI,GAAG,IAAI,MAAM;AAC3C;AAOO,SAAS,gBAAgB,aAAwC,WAA2B;AACjG,QAAM,cAAc,eAAe,IAAI,MAAM,GAAG,EAAE,CAAC,GAAG,KAAK,EAAE,YAAY,KAAK;AAC9E,QAAM,WAAW,wBAAwB,UAAU;AACnD,MAAI,UAAU;AACZ,WAAO;AAAA,EACT;AACA,SAAO,iBAAiB,SAAS,KAAK;AACxC;AAWA,SAAS,iBAAiB,MAAuB;AAC/C,SAAO,KAAK,UAAU,MAAM,CAAC,QAAQ,KAAK,IAAI;AAChD;AAGA,SAAS,UAAU,WAAkC;AACnD,MAAI;AACF,UAAM,OAAO,IAAI,IAAI,SAAS,EAAE,SAAS,QAAQ,UAAU,EAAE;AAC7D,UAAM,QAAQ,KAAK,MAAM,GAAG,EAAE,OAAO,CAAC,SAAS,SAAS,SAAS,SAAS,QAAQ,EAAE,CAAC;AACrF,WAAO,SAAS,eAAe,KAAK,KAAK,IAAI,QAAQ;AAAA,EACvD,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAGO,SAAS,iBAAiB,KAAqB;AACpD,QAAM,OAAO,IACV,KAAK,EACL,YAAY,EACZ,QAAQ,qBAAqB,EAAE,EAC/B,QAAQ,kBAAkB,GAAG,EAC7B,QAAQ,kBAAkB,EAAE,EAC5B,MAAM,GAAG,EAAE;AACd,SAAO,KAAK,SAAS,IAAI,OAAO;AAClC;AAQO,SAAS,gBAAgB,WAA2B;AACzD,QAAM,OAAO,iBAAiB,SAAS,QAAQ,SAAS,CAAC,CAAC;AAC1D,MAAI,iBAAiB,IAAI,GAAG;AAC1B,UAAM,QAAQ,UAAU,SAAS;AACjC,QAAI,MAAO,QAAO,GAAG,KAAK,IAAI,KAAK,MAAM,GAAG,CAAC,CAAC;AAAA,EAChD;AACA,SAAO;AACT;AAeO,SAAS,oBAAoB,EAAE,UAAU,WAAW,KAAK,gBAAAA,gBAAe,GAA8B;AAC3G,QAAM,WAAW,GAAG,QAAQ,GAAG,SAAS;AACxC,MAAI,CAAC,KAAK;AACR,WAAO;AAAA,EACT;AACA,MAAIA,iBAAgB;AAClB,WAAO,KAAK,KAAK,QAAQ;AAAA,EAC3B;AACA,SAAO;AACT;AAgBO,SAAS,aAAa,OAA2B;AACtD,QAAM,QAAQ,oBAAI,IAAY;AAC9B,SAAO,MAAM,IAAI,CAAC,SAAS;AACzB,QAAI,CAAC,MAAM,IAAI,IAAI,GAAG;AACpB,YAAM,IAAI,IAAI;AACd,aAAO;AAAA,IACT;AACA,UAAM,MAAM,QAAQ,IAAI;AACxB,UAAM,OAAO,KAAK,MAAM,GAAG,KAAK,SAAS,IAAI,MAAM;AAGnD,QAAI,IAAI;AACR,WAAO,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,EAAE,EAAG,MAAK;AAC7C,UAAM,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG;AACjC,UAAM,IAAI,MAAM;AAChB,WAAO;AAAA,EACT,CAAC;AACH;;;ADrIA,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM;AAAA,IACJ,SAAS;AAAA,MACP,MAAM;AAAA,MACN,aACE;AAAA,MACF,UAAU;AAAA,IACZ;AAAA,IACA,KAAK;AAAA,MACH,MAAM;AAAA,MACN,aACE;AAAA,MACF,UAAU;AAAA,IACZ;AAAA,EACF;AACF,CAAC;AAmBD,IAAM,kBAAN,cAA8B,MAAM;AAAC;AAIrC,IAAM,sBAAN,cAAkC,MAAM;AAAA,EACtC,YAAqB,QAAgB;AACnC,UAAM,IAAI,MAAM,mDAAmD;AADhD;AAAA,EAErB;AACF;AAGA,SAAS,YAAY,MAAyC;AAC5D,QAAM,cAAc,MAAM,QAAQ,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;AACtD,QAAM,QAAQ,OAAO,KAAK,YAAY,WAAW,CAAC,KAAK,OAAO,IAAI,CAAC;AACnE,QAAM,MAAM,YAAY,SAAS,IAAI,cAAc;AACnD,QAAM,OAAO,oBAAI,IAAY;AAC7B,QAAM,MAAgB,CAAC;AACvB,aAAW,SAAS,KAAK;AACvB,QAAI,OAAO,UAAU,SAAU;AAC/B,eAAW,QAAQ,MAAM,MAAM,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG;AACxD,UAAI,KAAK,SAAS,KAAK,CAAC,KAAK,IAAI,IAAI,GAAG;AACtC,aAAK,IAAI,IAAI;AACb,YAAI,KAAK,IAAI;AAAA,MACf;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;AAGA,SAAS,SAAS,KAAqB;AACrC,MAAI,YAAY,GAAG,GAAG;AACpB,WAAO,EAAE,KAAK,MAAM,MAAM;AAAA,EAC5B;AACA,MAAI;AACF,qBAAiB,GAAG;AAAA,EACtB,QAAQ;AACN,UAAM,IAAI,oBAAoB,GAAG;AAAA,EACnC;AACA,SAAO,EAAE,KAAK,MAAM,UAAU;AAChC;AASA,eAAe,cAAc,QAAmC;AAC9D,MAAI,OAAO,SAAS,OAAO;AACzB,WAAO,EAAE,OAAO,OAAO,KAAK,KAAK,OAAO,KAAK,UAAU,gBAAgB,OAAO,GAAG,EAAE;AAAA,EACrF;AACA,QAAM,MAAM,MAAM,OAA0B,mBAAmB,EAAE,IAAI,OAAO,IAAI,CAAC;AAGjF,QAAM,OAAO,iBAAiB,IAAI,KAAK,SAAS,IAAI,IAAI,OAAO,OAAO,GAAG;AACzE,SAAO,EAAE,OAAO,OAAO,KAAK,KAAK,IAAI,UAAU,UAAU,KAAK;AAChE;AAEA,eAAe,WAAW,KAAsE;AAG9F,SAAO,MAAM,mBAAmB,KAAK,EAAE,UAAU,uBAAuB,CAAC;AAC3E;AAEA,IAAM,iBACJ;AAWF,IAAM,uBACJ;AAEF,IAAM,iBAAiB;AAAA,EACrB,QAAQ;AAAA,EACR,aACE;AACJ;AAGA,eAAe,eAAe,KAA2C;AACvE,MAAI,CAAC,IAAK,QAAO;AACjB,SAAO,IAAI,SAAS,GAAG,KAAM,MAAM,YAAY,GAAG;AACpD;AAQA,eAAe,UAAU,MAAsD;AAC7E,QAAM,MAAM,YAAY,IAAI;AAC5B,MAAI,IAAI,WAAW,GAAG;AACpB,UAAM,IAAI,gBAAgB,yDAAyD;AAAA,EACrF;AACA,QAAM,UAAU,IAAI,IAAI,QAAQ;AAChC,QAAM,MAAM,OAAO,KAAK,QAAQ,YAAY,KAAK,IAAI,SAAS,IAAI,KAAK,MAAM;AAC7E,QAAM,WAAW,MAAM,eAAe,GAAG;AACzC,MAAI,OAAO,CAAC,YAAY,QAAQ,SAAS,GAAG;AAC1C,UAAM,IAAI;AAAA,MACR,kFAAkF,GAAG;AAAA,IACvF;AAAA,EACF;AACA,SAAO,EAAE,SAAS,KAAK,SAAS;AAClC;AASA,SAAS,eAAe,KAAc,UAA0B;AAC9D,SAAO,eAAe,QAAQ,IAAI,UAAU;AAC9C;AAOA,eAAe,aAAa,MAAqF;AAC/G,QAAM,SAA2B,CAAC;AAClC,QAAM,UAA2B,CAAC;AAElC,aAAW,UAAU,KAAK,SAAS;AACjC,QAAI;AACF,YAAM,WAAW,MAAM,cAAc,MAAM;AAC3C,YAAM,EAAE,QAAQ,YAAY,IAAI,MAAM,WAAW,SAAS,GAAG;AAC7D,cAAQ,KAAK;AAAA,QACX,OAAO,SAAS;AAAA,QAChB;AAAA,QACA;AAAA,QACA,MAAM,oBAAoB;AAAA,UACxB,UAAU,SAAS;AAAA,UACnB,WAAW,gBAAgB,aAAa,SAAS,GAAG;AAAA,UACpD,KAAK,KAAK;AAAA,UACV,gBAAgB,KAAK;AAAA,QACvB,CAAC;AAAA,MACH,CAAC;AAAA,IACH,SAAS,KAAK;AACZ,aAAO,KAAK,EAAE,OAAO,OAAO,KAAK,OAAO,eAAe,KAAK,iBAAiB,EAAE,CAAC;AAAA,IAClF;AAAA,EACF;AAEA,QAAM,QAAQ,aAAa,QAAQ,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC;AAC3D,QAAM,aAA2B,CAAC;AAClC,aAAW,CAAC,OAAO,IAAI,KAAK,QAAQ,QAAQ,GAAG;AAC7C,UAAM,OAAO,MAAM,KAAK,KAAK,KAAK;AAClC,QAAI;AACF,YAAM,YAAY,MAAM,KAAK,MAAM;AACnC,iBAAW,KAAK,EAAE,OAAO,KAAK,OAAO,QAAQ,MAAM,OAAO,KAAK,OAAO,QAAQ,aAAa,KAAK,YAAY,CAAC;AAAA,IAC/G,SAAS,KAAK;AACZ,aAAO,KAAK,EAAE,OAAO,KAAK,OAAO,OAAO,eAAe,KAAK,cAAc,EAAE,CAAC;AAAA,IAC/E;AAAA,EACF;AACA,SAAO,EAAE,YAAY,OAAO;AAC9B;AAEA,SAAS,UAAU,KAAqB;AACtC,MAAI,eAAe,qBAAqB;AACtC,cAAU;AAAA,MACR,IAAI;AAAA,MACJ,OAAO;AAAA,QACL,MAAM;AAAA,QACN,SAAS,IAAI;AAAA,QACb,KAAK;AAAA,UACH,QAAQ;AAAA,UACR,aACE;AAAA,QACJ;AAAA,MACF;AAAA,IACF,CAAC;AACD,YAAQ,KAAK,CAAC;AAAA,EAChB;AACA,MAAI,eAAe,iBAAiB;AAClC,cAAU,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,oBAAoB,SAAS,IAAI,QAAQ,EAAE,CAAC;AAClF,YAAQ,KAAK,CAAC;AAAA,EAChB;AACA,MAAI,eAAe,UAAU;AAC3B,cAAU,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,IAAI,MAAM,SAAS,IAAI,QAAQ,EAAE,CAAC;AACxE,YAAQ,KAAK,CAAC;AAAA,EAChB;AACA,YAAU,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,kBAAkB,SAAS,mBAAmB,EAAE,CAAC;AACvF,UAAQ,KAAK,CAAC;AAChB;AAEO,IAAM,kBAAkB,cAAc;AAAA,EAC3C,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AAAA,EACA,MAAM;AAAA,IACJ,SAAS,EAAE,MAAM,cAAc,aAAa,uCAAuC,UAAU,MAAM;AAAA,IACnG,KAAK,EAAE,MAAM,UAAU,aAAa,wEAAwE;AAAA,EAC9G;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,QAAI;AACF,YAAM,OAAO,MAAM,UAAU,IAA+B;AAC5D,YAAM,EAAE,YAAY,OAAO,IAAI,MAAM,aAAa,IAAI;AAEtD,UAAI,WAAW,WAAW,GAAG;AAC3B,kBAAU;AAAA,UACR,IAAI;AAAA,UACJ,OAAO;AAAA,YACL,MAAM;AAAA,YACN,SAAS,eAAe,KAAK,QAAQ,MAAM,mCAAmC,OAC3E,IAAI,CAAC,MAAM,GAAG,EAAE,KAAK,KAAK,EAAE,KAAK,GAAG,EACpC,KAAK,IAAI,CAAC;AAAA,YACb,KAAK;AAAA,UACP;AAAA,QACF,CAAC;AACD,gBAAQ,KAAK,CAAC;AAAA,MAChB;AAEA,YAAM,QAAQ,CAAC,gBAAgB,GAAI,OAAO,SAAS,IAAI,CAAC,oBAAoB,IAAI,CAAC,CAAE;AACnF,gBAAU,EAAE,IAAI,MAAM,MAAM,EAAE,YAAY,OAAO,GAAG,MAAM,CAAC;AAAA,IAC7D,SAAS,KAAK;AACZ,gBAAU,GAAG;AAAA,IACf;AAAA,EACF;AACF,CAAC;","names":["outIsDirectory"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/images/extract.ts","../src/commands/images/extractErrors.ts"],"sourcesContent":["import type { ImagesExtractRequest, ImagesExtractResponse } from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { ApiError, apiPost } from \"../../client.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { AUTO_INGEST_MAX, parseAutoIngest } from \"./autoIngest.ts\";\nimport { extractErrorEnvelope } from \"./extractErrors.ts\";\nimport { OUTPUT_ARGS, writeProviderHits } from \"./providerHits.ts\";\n\nregisterSchema({\n command: \"images.extract\",\n description: \"Extract images from a URL via Firecrawl (formats: images).\",\n args: {\n url: { type: \"string\", description: \"URL to scrape\", required: true },\n \"wait-for\": { type: \"number\", description: \"JS render wait ms\", required: false },\n limit: { type: \"number\", description: \"Limit returned images\", required: false, default: 50 },\n \"auto-ingest\": {\n type: \"number\",\n description: `Auto-ingest top N (0-${AUTO_INGEST_MAX.extract}, default 0)`,\n required: false,\n default: 0,\n },\n context: {\n type: \"string\",\n description: \"Free-text hint applied to every auto-ingested hit (overrides provider-derived context)\",\n required: false,\n },\n output: { type: \"string\", description: \"Output format: json|files|md\", required: false, default: \"json\" },\n fields: { type: \"string\", description: \"Comma-separated field names to include\", required: false },\n full: { type: \"boolean\", description: \"Include full metadata\", required: false, default: false },\n },\n});\n\nexport const extractCommand = defineCommand({\n meta: {\n name: \"extract\",\n description:\n \"Pull every image from a single URL via Firecrawl. ~$0.001/scrape. Cap auto-ingest at 20.\\n\\nExample: baker images extract https://stripe.com --auto-ingest 5\",\n },\n args: {\n url: { type: \"positional\", description: \"URL to scrape\", required: false },\n \"wait-for\": { type: \"string\", description: \"JS render wait ms\", required: false },\n limit: { type: \"string\", description: \"Max returned images\", required: false },\n \"auto-ingest\": { type: \"string\", description: `Auto-ingest top N (0-${AUTO_INGEST_MAX.extract})`, required: false },\n context: { type: \"string\", description: \"Description context hint applied to auto-ingested hits\", required: false },\n ...OUTPUT_ARGS,\n },\n run: async ({ args }) => {\n try {\n const url = args.url as string | undefined;\n if (!url) {\n writeJson({ ok: false, error: { code: \"VALIDATION_ERROR\", message: \"URL is required\" } });\n process.exit(1);\n }\n const body: ImagesExtractRequest = { url };\n if (args[\"wait-for\"]) body.waitFor = Number(args[\"wait-for\"]);\n if (args.limit) body.limit = Number(args.limit);\n if (args[\"auto-ingest\"] !== undefined) {\n const parsed = parseAutoIngest(args[\"auto-ingest\"], AUTO_INGEST_MAX.extract);\n if (!parsed.ok) {\n writeJson({\n ok: false,\n error: {\n code: \"VALIDATION_ERROR\",\n message: parsed.message,\n fix: {\n action: \"retry_with_changes\",\n explanation: `Re-run with --auto-ingest in 0-${AUTO_INGEST_MAX.extract}.`,\n },\n },\n });\n process.exit(1);\n }\n body.autoIngest = parsed.value;\n }\n if (args.context) body.descriptionContext = args.context as string;\n\n const data = await apiPost<ImagesExtractResponse>(\"/api/images/extract\", body);\n writeProviderHits(data, data.hits, args as Record<string, unknown>, []);\n } catch (err) {\n if (err instanceof ApiError) {\n writeJson(extractErrorEnvelope(err, String(args.url)));\n process.exit(1);\n }\n writeJson({ ok: false, error: { code: \"INTERNAL_ERROR\", message: \"Unexpected error\" } });\n process.exit(1);\n }\n },\n});\n","import type { ApiError } from \"../../client.ts\";\n\n/** Failures a second attempt can change: the reader or the connection had a bad moment. */\nconst RETRYABLE = new Set([\"UNAVAILABLE\", \"RATE_LIMITED\", \"TIMEOUT\", \"NETWORK_ERROR\"]);\n\ninterface ExtractErrorEnvelope {\n ok: false;\n error: {\n code: string;\n message: string;\n retryable: boolean;\n fix?: { action: string; explanation: string };\n };\n}\n\n/**\n * The envelope for a failed `baker images extract`. Without `retryable` an\n * agent cannot tell a reader that hiccupped from a page nobody can read, and it\n * abandons the page for an image search. Either way the job carries on: the\n * page can still be captured whole, and the brand's mark fetched on its own.\n */\nexport function extractErrorEnvelope(err: ApiError, url: string): ExtractErrorEnvelope {\n const retryable = RETRYABLE.has(err.code);\n const fallback = `use \\`baker images screenshot ${url}\\` to capture the page as one image, or \\`baker images logo <domain>\\` for the brand's mark, and carry on with the rest of the job.`;\n return {\n ok: false,\n error: {\n code: err.code,\n message: err.message,\n retryable,\n fix: retryable\n ? { action: \"retry_once\", explanation: `Run the same command once more. If it fails again, ${fallback}` }\n : { action: \"use_fallback\", explanation: `Retrying the same address will fail the same way — ${fallback}` },\n },\n };\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/images/google.ts"],"sourcesContent":["import type { ImagesGoogleRequest, ImagesGoogleResponse } from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { ApiError, apiPost } from \"../../client.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { AUTO_INGEST_MAX, parseAutoIngest } from \"./autoIngest.ts\";\nimport { OUTPUT_ARGS, writeProviderHits } from \"./providerHits.ts\";\nimport { activeFilterFlags, emptyResultHints } from \"./searchHints.ts\";\n\nconst GOOGLE_ERROR_FIX = {\n action: \"use_different_resource\",\n explanation:\n \"Generate the asset instead of retrying Google. Google is the last-resort image provider. Run `baker studio generate` to make the asset. Never sleep-and-retry this command — the CLI already backs off on rate limits. If no image can be sourced, continue the rest of the task with a placeholder rather than aborting it.\",\n};\n\nregisterSchema({\n command: \"images.google\",\n description:\n \"Google Images search via the official Custom Search JSON API. Unverified source — inspect before placing.\",\n args: {\n query: { type: \"string\", description: \"Search query\", required: true },\n type: {\n type: \"string\",\n description: \"imgType: photo | clipart | lineart | stock | animated | face | news\",\n required: false,\n },\n size: {\n type: \"string\",\n description: \"imgSize: icon | small | medium | large | xlarge | xxlarge | huge\",\n required: false,\n },\n color: {\n type: \"string\",\n description: \"imgColorType: color | gray | mono | trans\",\n required: false,\n },\n safe: { type: \"string\", description: \"safe: off | active\", required: false },\n limit: { type: \"number\", description: \"Max results (1-50, paginated 10 per call)\", required: false, default: 10 },\n \"auto-ingest\": {\n type: \"number\",\n description: `Auto-ingest top N (0-${AUTO_INGEST_MAX.google}, default 0) and return Baker-owned URLs on ingested hits`,\n required: false,\n default: 0,\n },\n context: {\n type: \"string\",\n description: \"Free-text hint applied to every auto-ingested hit (overrides Google title)\",\n required: false,\n },\n output: { type: \"string\", description: \"Output format: json|files|md\", required: false, default: \"json\" },\n fields: { type: \"string\", description: \"Comma-separated field names to include\", required: false },\n full: { type: \"boolean\", description: \"Include full metadata\", required: false, default: false },\n },\n});\n\nexport const googleCommand = defineCommand({\n meta: {\n name: \"google\",\n description:\n \"Google Images via the official Custom Search JSON API ($0.005/query, free 100/day). ⚠ Source unverified — watermarks, low-res, mislabeled results are common. Use as last resort. With --auto-ingest, ingested hits return Baker-owned URLs.\\n\\nExample: baker images google 'industrial workshop' --type photo --size large --limit 20\",\n },\n args: {\n query: { type: \"positional\", description: \"Search query\", required: false },\n type: { type: \"string\", description: \"imgType filter\", required: false },\n size: { type: \"string\", description: \"imgSize filter\", required: false },\n color: { type: \"string\", description: \"imgColorType filter\", required: false },\n safe: { type: \"string\", description: \"safe (off|active)\", required: false },\n limit: { type: \"string\", description: \"Max results (1-50)\", required: false },\n \"auto-ingest\": {\n type: \"string\",\n description: `Auto-ingest top N (0-${AUTO_INGEST_MAX.google}) and return Baker-owned URLs on ingested hits`,\n required: false,\n },\n context: { type: \"string\", description: \"Description context hint applied to auto-ingested hits\", required: false },\n ...OUTPUT_ARGS,\n },\n run: async ({ args }) => {\n try {\n const query = args.query as string | undefined;\n if (!query) {\n writeJson({ ok: false, error: { code: \"VALIDATION_ERROR\", message: \"Query is required\" } });\n process.exit(1);\n }\n const body: ImagesGoogleRequest = { query };\n if (args.type) body.type = args.type as string;\n if (args.size) body.size = args.size as string;\n if (args.color) body.color = args.color as string;\n if (args.safe) body.safe = args.safe as ImagesGoogleRequest[\"safe\"];\n if (args.limit) body.limit = Number(args.limit);\n if (args[\"auto-ingest\"] !== undefined) {\n const parsed = parseAutoIngest(args[\"auto-ingest\"], AUTO_INGEST_MAX.google);\n if (!parsed.ok) {\n writeJson({\n ok: false,\n error: {\n code: \"VALIDATION_ERROR\",\n message: parsed.message,\n fix: {\n action: \"retry_with_changes\",\n explanation: `Re-run with --auto-ingest in 0-${AUTO_INGEST_MAX.google}.`,\n },\n },\n });\n process.exit(1);\n }\n body.autoIngest = parsed.value;\n }\n if (args.context) body.descriptionContext = args.context as string;\n\n const data = await apiPost<ImagesGoogleResponse>(\"/api/images/google\", body);\n const hints = emptyResultHints({\n provider: \"google\",\n hitCount: data.hits.length,\n activeFilters: activeFilterFlags(args, [\"type\", \"size\", \"color\", \"safe\"]),\n });\n writeProviderHits(data, data.hits, args as Record<string, unknown>, hints);\n } catch (err) {\n if (err instanceof ApiError) {\n writeJson({\n ok: false,\n error: { code: err.code, message: err.message, fix: GOOGLE_ERROR_FIX },\n });\n process.exit(1);\n }\n writeJson({ ok: false, error: { code: \"INTERNAL_ERROR\", message: \"Unexpected error\" } });\n process.exit(1);\n }\n },\n});\n"],"mappings":"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","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/images/stock.ts"],"sourcesContent":["import type { ImagesStockRequest, ImagesStockResponse } from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { ApiError, apiPost } from \"../../client.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { AUTO_INGEST_MAX, parseAutoIngest } from \"./autoIngest.ts\";\nimport { OUTPUT_ARGS, writeProviderHits } from \"./providerHits.ts\";\nimport { activeFilterFlags, emptyResultHints } from \"./searchHints.ts\";\n\nconst STOCK_ERROR_FIX = {\n action: \"use_different_resource\",\n explanation:\n \"Switch provider instead of retrying stock search. Stock search is one of several image sources. Run `baker images find <query> --sources library,pinterest,google` (`--sources` is required — `find` alone searches the library only) or `baker studio generate` to make the asset. Never sleep-and-retry this command — the CLI already backs off on rate limits. If no image can be sourced, continue the rest of the task with a placeholder rather than aborting it.\",\n};\n\nregisterSchema({\n command: \"images.stock\",\n description:\n \"Stock search across the free libraries — Pexels photos plus Pixabay photos, illustrations and vectors. \" +\n \"The previous provider's --license, --ai, --people and --order do not exist here: everything both libraries hold is free \" +\n \"for commercial use with no attribution, neither indexes AI-generated content separately, neither has a people filter \" +\n \"(name the person in the query instead), and both sort by relevance only.\",\n args: {\n query: { type: \"string\", description: \"Search query\", required: true },\n type: {\n type: \"string\",\n description: \"Content type: photo (default, both libraries) | illustration | vector (Pixabay only)\",\n required: false,\n enum: [\"photo\", \"illustration\", \"vector\"],\n },\n orientation: {\n type: \"string\",\n description: \"landscape | portrait | square (square searches Pexels only — Pixabay has no square)\",\n required: false,\n enum: [\"landscape\", \"portrait\", \"square\"],\n },\n size: {\n type: \"string\",\n description: \"Minimum resolution: large (24MP) | medium (12MP) | small (4MP)\",\n required: false,\n enum: [\"large\", \"medium\", \"small\"],\n },\n color: {\n type: \"string\",\n description:\n \"Colour filter — a name (red, turquoise, black, …) searches both libraries; a hex code such as '#0a0a0a' searches Pexels only\",\n required: false,\n },\n locale: {\n type: \"string\",\n description: \"Locale of the search terms, e.g. 'es-ES' or 'de-DE' — Pexels matches translated tags\",\n required: false,\n },\n limit: { type: \"number\", description: \"Max results (1-80, default 10)\", required: false, default: 10 },\n page: { type: \"number\", description: \"Page number for pagination\", required: false },\n \"auto-ingest\": {\n type: \"number\",\n description: `Auto-ingest top N hits (0-${AUTO_INGEST_MAX.stock}, default 0) and return Baker-owned URLs on ingested hits`,\n required: false,\n default: 0,\n },\n context: {\n type: \"string\",\n description: \"Free-text hint applied to every auto-ingested hit (overrides the library's own alt text or tags)\",\n required: false,\n },\n output: { type: \"string\", description: \"Output format: json|files|md\", required: false, default: \"json\" },\n fields: { type: \"string\", description: \"Comma-separated field names to include\", required: false },\n full: { type: \"boolean\", description: \"Include full metadata\", required: false, default: false },\n },\n});\n\n/** Assemble the search request body from CLI args, applying only the flags that were provided. */\nfunction buildStockRequest(query: string, args: Record<string, unknown>): ImagesStockRequest {\n const body: ImagesStockRequest = { query };\n if (args.type) body.contentType = args.type as ImagesStockRequest[\"contentType\"];\n if (args.orientation) body.orientation = args.orientation as ImagesStockRequest[\"orientation\"];\n if (args.size) body.size = args.size as ImagesStockRequest[\"size\"];\n if (args.color) body.color = args.color as string;\n if (args.locale) body.locale = args.locale as string;\n if (args.limit) body.limit = Number(args.limit);\n if (args.page) body.page = Number(args.page);\n if (args[\"auto-ingest\"]) body.autoIngest = Number(args[\"auto-ingest\"]);\n if (args.context) body.descriptionContext = args.context as string;\n return body;\n}\n\n/**\n * A stock search spans two libraries and returns what it got.\n *\n * The two failures read differently and steer differently. If one library fails\n * the other still answers, so a thin result looks like a complete one and has to\n * be marked unproven. If *both* fail nothing was searched at all — and the\n * earlier version of this said the hits \"come from the other library alone\",\n * which named a library that had also failed and told the agent to trust a list\n * that was empty for a reason it never learned.\n */\nexport function partialLibraryHints(errors: ImagesStockResponse[\"errors\"], hitCount: number): string[] {\n if (!errors || errors.length === 0) return [];\n const sources = errors.map((e) => e.source);\n const names = sources.join(\", \");\n if (hitCount === 0) {\n const failed = sources.length === 1 ? `${sources[0]} did not answer` : `none of ${names} answered`;\n return [\n `Stock search did not run — ${failed}. This is an outage, not an empty result: do not re-run it with a different query or flags, and report that stock search is unavailable. Source the asset another way (\\`baker images find <query> --sources library,pinterest,google\\`) or \\`baker studio generate\\`.`,\n ];\n }\n return [\n `These results are partial: ${names} did not answer, so they come from the remaining library alone. Treat a thin result as unproven rather than as \"stock does not have this\", and report the outage rather than re-running the search.`,\n ];\n}\n\nexport const stockCommand = defineCommand({\n meta: {\n name: \"stock\",\n description:\n \"Stock search across the free libraries — Pexels photographs plus Pixabay photographs, illustrations and vectors. No per-request cost. With --auto-ingest, ingested hits return Baker-owned URLs.\\n\\nExamples:\\n baker images stock 'minimalist office'\\n baker images stock 'hero photo of a kitchen' --orientation landscape --size large\\n baker images stock 'flat office workers' --type illustration\\n baker images stock 'leaf outline mark' --type vector\\n baker images stock 'smiling carpenter portrait' --orientation portrait\",\n },\n args: {\n query: { type: \"positional\", description: \"Search query\", required: false },\n type: { type: \"string\", description: \"photo|illustration|vector\", required: false },\n orientation: { type: \"string\", description: \"landscape|portrait|square\", required: false },\n size: { type: \"string\", description: \"Minimum resolution: large|medium|small\", required: false },\n color: { type: \"string\", description: \"Colour name or hex code\", required: false },\n locale: { type: \"string\", description: \"Locale of the search terms, e.g. es-ES\", required: false },\n limit: { type: \"string\", description: \"Max results (1-80)\", required: false },\n page: { type: \"string\", description: \"Page number\", required: false },\n \"auto-ingest\": {\n type: \"string\",\n description: `Auto-ingest top N (0-${AUTO_INGEST_MAX.stock}) and return Baker-owned URLs on ingested hits`,\n required: false,\n },\n context: { type: \"string\", description: \"Description context hint applied to auto-ingested hits\", required: false },\n ...OUTPUT_ARGS,\n },\n run: async ({ args }) => {\n try {\n const query = args.query as string | undefined;\n if (!query) {\n writeJson({ ok: false, error: { code: \"VALIDATION_ERROR\", message: \"Query is required\" } });\n process.exit(1);\n }\n if (args[\"auto-ingest\"] !== undefined) {\n const parsed = parseAutoIngest(args[\"auto-ingest\"], AUTO_INGEST_MAX.stock);\n if (!parsed.ok) {\n writeJson({\n ok: false,\n error: {\n code: \"VALIDATION_ERROR\",\n message: parsed.message,\n fix: {\n action: \"retry_with_changes\",\n explanation: `Re-run with --auto-ingest in 0-${AUTO_INGEST_MAX.stock}.`,\n },\n },\n });\n process.exit(1);\n }\n }\n const data = await apiPost<ImagesStockResponse>(\"/api/images/stock\", buildStockRequest(query, args));\n // When no library answered, the search never ran. The zero-hit steering\n // below diagnoses an empty result — it would blame the filters for an\n // outage and tell the agent to drop them and retry, which is the exact\n // opposite of what the outage hint just told it to do.\n const outage = (data.errors?.length ?? 0) > 0 && data.hits.length === 0;\n const hints = [\n ...partialLibraryHints(data.errors, data.hits.length),\n ...(outage\n ? []\n : emptyResultHints({\n provider: \"stock\",\n hitCount: data.hits.length,\n activeFilters: activeFilterFlags(args, [\"type\", \"orientation\", \"size\", \"color\", \"locale\"]),\n })),\n ];\n writeProviderHits(data, data.hits, args as Record<string, unknown>, hints);\n } catch (err) {\n if (err instanceof ApiError) {\n writeJson({\n ok: false,\n error: {\n code: err.code,\n message: err.message,\n fix: STOCK_ERROR_FIX,\n },\n });\n process.exit(1);\n }\n writeJson({ ok: false, error: { code: \"INTERNAL_ERROR\", message: \"Unexpected error\" } });\n process.exit(1);\n }\n },\n});\n"],"mappings":"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","names":[]}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|