@struktoai/mirage-node 0.0.3-alpha.0 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/aliyun-PGI57A43.js +10 -0
- package/dist/backblaze-TSPL6Y56.js +10 -0
- package/dist/box-7XTZYDSO.js +8 -0
- package/dist/cas.lua +15 -0
- package/dist/ceph-C265UI5T.js +10 -0
- package/dist/{chunk-IQVNVTOP.js → chunk-25W4XQJZ.js} +5 -5
- package/dist/{chunk-QGRDPSAH.js → chunk-2ERLWAGG.js} +4 -2
- package/dist/chunk-2ERLWAGG.js.map +1 -0
- package/dist/{chunk-NJMGCT63.js → chunk-2QNPKPZZ.js} +7 -2
- package/dist/chunk-2QNPKPZZ.js.map +1 -0
- package/dist/{chunk-ZNWVJ6UW.js → chunk-3ASOQTZB.js} +7 -2
- package/dist/chunk-3ASOQTZB.js.map +1 -0
- package/dist/{chunk-ERELJ7BS.js → chunk-3JZN3GYO.js} +14 -13
- package/dist/chunk-3JZN3GYO.js.map +1 -0
- package/dist/{chunk-DTAY7LPC.js → chunk-4GYB7DGC.js} +295 -706
- package/dist/chunk-4GYB7DGC.js.map +1 -0
- package/dist/{chunk-G5BZE7UA.js → chunk-4M73WHIE.js} +3 -3
- package/dist/{chunk-Q6CDMOM6.js → chunk-4X6CLF4F.js} +3 -3
- package/dist/{chunk-3IJSIVKT.js → chunk-5I7Q7RHW.js} +3 -3
- package/dist/{chunk-YPT4JBUY.js → chunk-5YRWF5RP.js} +18 -16
- package/dist/chunk-5YRWF5RP.js.map +1 -0
- package/dist/chunk-5ZHNPNDD.js +944 -0
- package/dist/chunk-5ZHNPNDD.js.map +1 -0
- package/dist/{chunk-VGLHY6BK.js → chunk-AULFV3KY.js} +1 -2
- package/dist/chunk-AULFV3KY.js.map +1 -0
- package/dist/{chunk-A4Z6DZ22.js → chunk-BWLUBJQG.js} +20 -16
- package/dist/chunk-BWLUBJQG.js.map +1 -0
- package/dist/{chunk-OYV2DN66.js → chunk-BWWU5T2D.js} +3 -3
- package/dist/chunk-C7TNKIK5.js +39 -0
- package/dist/chunk-C7TNKIK5.js.map +1 -0
- package/dist/{chunk-HEHERHQ5.js → chunk-CB76WPUS.js} +13 -14
- package/dist/chunk-CB76WPUS.js.map +1 -0
- package/dist/chunk-CGGO5NKD.js +1194 -0
- package/dist/chunk-CGGO5NKD.js.map +1 -0
- package/dist/{chunk-B2ZOKNN4.js → chunk-CQCTCW4S.js} +1 -2
- package/dist/chunk-CQCTCW4S.js.map +1 -0
- package/dist/{chunk-AJICZLHT.js → chunk-CXQGMFI7.js} +3 -3
- package/dist/{chunk-LW25LMIH.js → chunk-D3U7VQCG.js} +1 -2
- package/dist/{chunk-LW25LMIH.js.map → chunk-D3U7VQCG.js.map} +1 -1
- package/dist/{chunk-RQYEEA2O.js → chunk-DXU7NZPH.js} +3 -3
- package/dist/{chunk-XGJ2QERC.js → chunk-E3KXVEYI.js} +8 -4
- package/dist/chunk-E3KXVEYI.js.map +1 -0
- package/dist/{chunk-L6JPBJAS.js → chunk-EGZNOUMH.js} +3 -3
- package/dist/{chunk-DNBAMB5J.js → chunk-EVK6HH6Z.js} +1 -2
- package/dist/{chunk-DNBAMB5J.js.map → chunk-EVK6HH6Z.js.map} +1 -1
- package/dist/{chunk-BYTU2YC3.js → chunk-F5NWRF32.js} +3 -3
- package/dist/{chunk-RLGWMJD3.js → chunk-FRGTDZQT.js} +146 -11
- package/dist/chunk-FRGTDZQT.js.map +1 -0
- package/dist/{chunk-DYXEITK3.js → chunk-GF75O2EN.js} +4 -2
- package/dist/chunk-GF75O2EN.js.map +1 -0
- package/dist/{chunk-W7FLHT65.js → chunk-GTAS3QVC.js} +1 -2
- package/dist/{chunk-W7FLHT65.js.map → chunk-GTAS3QVC.js.map} +1 -1
- package/dist/{chunk-RQK5UPMP.js → chunk-H62XQZUM.js} +4 -3
- package/dist/chunk-H62XQZUM.js.map +1 -0
- package/dist/{chunk-UT2OPSN4.js → chunk-HCU3B6FW.js} +1 -2
- package/dist/chunk-HCU3B6FW.js.map +1 -0
- package/dist/chunk-HEDE2377.js +754 -0
- package/dist/chunk-HEDE2377.js.map +1 -0
- package/dist/{chunk-JZQHKDSY.js → chunk-HGIPWY5Y.js} +22 -11
- package/dist/chunk-HGIPWY5Y.js.map +1 -0
- package/dist/{chunk-Q2IAILVC.js → chunk-HSD24IP2.js} +8 -4
- package/dist/chunk-HSD24IP2.js.map +1 -0
- package/dist/{chunk-5YOCVEUB.js → chunk-HWQPEBID.js} +19 -15
- package/dist/chunk-HWQPEBID.js.map +1 -0
- package/dist/{chunk-SFUCUARB.js → chunk-IEHPTILN.js} +4 -4
- package/dist/chunk-IEHPTILN.js.map +1 -0
- package/dist/{chunk-C6NHEDHY.js → chunk-IEVLWEBO.js} +15 -14
- package/dist/chunk-IEVLWEBO.js.map +1 -0
- package/dist/{chunk-YUK3X3B4.js → chunk-IKJQOYI4.js} +1 -2
- package/dist/{chunk-YUK3X3B4.js.map → chunk-IKJQOYI4.js.map} +1 -1
- package/dist/{chunk-MHCMHKM6.js → chunk-IUXXZHY3.js} +17 -23
- package/dist/chunk-IUXXZHY3.js.map +1 -0
- package/dist/{chunk-ABTEGAFB.js → chunk-JBDFYIN2.js} +13 -14
- package/dist/chunk-JBDFYIN2.js.map +1 -0
- package/dist/{chunk-A7X4L4JM.js → chunk-JEBH5APX.js} +15 -15
- package/dist/chunk-JEBH5APX.js.map +1 -0
- package/dist/{chunk-H3BST2LI.js → chunk-JHI2PHHD.js} +1 -2
- package/dist/{chunk-H3BST2LI.js.map → chunk-JHI2PHHD.js.map} +1 -1
- package/dist/{chunk-EGB7V74Z.js → chunk-KAWDDS27.js} +1 -3
- package/dist/chunk-KAWDDS27.js.map +1 -0
- package/dist/{chunk-DP2PP5V2.js → chunk-KGC2OGXI.js} +5 -4
- package/dist/chunk-KGC2OGXI.js.map +1 -0
- package/dist/{chunk-FXFDBF3P.js → chunk-L4GMDSMB.js} +3 -3
- package/dist/{chunk-O7ODGJYL.js → chunk-L7FEZ7LU.js} +3 -3
- package/dist/{chunk-54NTYJEO.js → chunk-LPDLPRPS.js} +1 -3
- package/dist/{chunk-54NTYJEO.js.map → chunk-LPDLPRPS.js.map} +1 -1
- package/dist/{chunk-UGK4TAVK.js → chunk-LPLZLSMK.js} +1 -2
- package/dist/chunk-LPLZLSMK.js.map +1 -0
- package/dist/{chunk-5DLOHQJ2.js → chunk-M6E7VK4D.js} +14 -14
- package/dist/chunk-M6E7VK4D.js.map +1 -0
- package/dist/{chunk-2CC5VW7K.js → chunk-MIQ3ECZM.js} +4 -2
- package/dist/chunk-MIQ3ECZM.js.map +1 -0
- package/dist/chunk-MRXTUFBZ.js +30 -0
- package/dist/chunk-MRXTUFBZ.js.map +1 -0
- package/dist/{chunk-RO5IQEDQ.js → chunk-NJ42VNXG.js} +1 -2
- package/dist/chunk-NJ42VNXG.js.map +1 -0
- package/dist/{chunk-3T3RMDNX.js → chunk-NLXJMXVE.js} +3 -3
- package/dist/{chunk-E2ISWXLB.js → chunk-OQKNDS66.js} +1 -1
- package/dist/{chunk-E2ISWXLB.js.map → chunk-OQKNDS66.js.map} +1 -1
- package/dist/chunk-OSVZKYXS.js +946 -0
- package/dist/chunk-OSVZKYXS.js.map +1 -0
- package/dist/{chunk-LYDMMNL2.js → chunk-RHUEV4I7.js} +12 -13
- package/dist/chunk-RHUEV4I7.js.map +1 -0
- package/dist/{chunk-JALIYI6M.js → chunk-S4KVLPBR.js} +7 -2
- package/dist/chunk-S4KVLPBR.js.map +1 -0
- package/dist/{chunk-XRU5WXZX.js → chunk-SAOQW6ZJ.js} +15 -15
- package/dist/chunk-SAOQW6ZJ.js.map +1 -0
- package/dist/{chunk-CASCUFK2.js → chunk-SI4GMRXD.js} +14 -15
- package/dist/chunk-SI4GMRXD.js.map +1 -0
- package/dist/{chunk-HQ4KWN76.js → chunk-SYMNWNC3.js} +3 -3
- package/dist/{chunk-PJBQKMCD.js → chunk-TUNR4VUM.js} +3 -3
- package/dist/{chunk-XHCBHYN4.js → chunk-UAJYJP5C.js} +7 -2
- package/dist/chunk-UAJYJP5C.js.map +1 -0
- package/dist/{chunk-OPYQ5KIO.js → chunk-UYA3XL3J.js} +4 -2
- package/dist/chunk-UYA3XL3J.js.map +1 -0
- package/dist/{chunk-WL7HS7EM.js → chunk-V7JVMG63.js} +3 -3
- package/dist/{chunk-LAJJPLEV.js → chunk-VBYIDRNU.js} +7 -3
- package/dist/chunk-VBYIDRNU.js.map +1 -0
- package/dist/{chunk-NHS7WLEQ.js → chunk-VHED2STW.js} +11 -8
- package/dist/chunk-VHED2STW.js.map +1 -0
- package/dist/{chunk-JZT4QGIP.js → chunk-VIICUPWQ.js} +1 -2
- package/dist/{chunk-JZT4QGIP.js.map → chunk-VIICUPWQ.js.map} +1 -1
- package/dist/{chunk-TRTUHCS4.js → chunk-VLRSOWHP.js} +17 -15
- package/dist/chunk-VLRSOWHP.js.map +1 -0
- package/dist/chunk-W5ZLIQFR.js +764 -0
- package/dist/chunk-W5ZLIQFR.js.map +1 -0
- package/dist/{chunk-YGZMVNN5.js → chunk-WTSSEUOZ.js} +7 -2
- package/dist/chunk-WTSSEUOZ.js.map +1 -0
- package/dist/{chunk-OHROA3FQ.js → chunk-WWP2STF5.js} +7 -2
- package/dist/chunk-WWP2STF5.js.map +1 -0
- package/dist/{chunk-C6NHFMIP.js → chunk-XADEMW6B.js} +3 -3
- package/dist/{chunk-KTNDT45N.js → chunk-XEMLYWHK.js} +3 -3
- package/dist/{chunk-OZAEWZZ3.js → chunk-XFSEADPC.js} +6 -2
- package/dist/chunk-XFSEADPC.js.map +1 -0
- package/dist/{chunk-TWGVQLG2.js → chunk-XUUSWR4U.js} +1 -2
- package/dist/{chunk-TWGVQLG2.js.map → chunk-XUUSWR4U.js.map} +1 -1
- package/dist/{chunk-XLQI4IT2.js → chunk-YBVMZ7SR.js} +7 -2
- package/dist/chunk-YBVMZ7SR.js.map +1 -0
- package/dist/{chunk-E7RW3SBV.js → chunk-YRJICL2Q.js} +15 -15
- package/dist/chunk-YRJICL2Q.js.map +1 -0
- package/dist/{chunk-B6SXRCBO.js → chunk-ZM44MGC5.js} +3 -3
- package/dist/{chunk-YAVGCQUP.js → chunk-ZMREYTHA.js} +16 -15
- package/dist/chunk-ZMREYTHA.js.map +1 -0
- package/dist/{chunk-H3I2KZIY.js → chunk-ZPB3SLPK.js} +1 -2
- package/dist/{chunk-H3I2KZIY.js.map → chunk-ZPB3SLPK.js.map} +1 -1
- package/dist/chunk-ZPZQXHW2.js +1230 -0
- package/dist/chunk-ZPZQXHW2.js.map +1 -0
- package/dist/{config-34LHOGLM.js → config-2LASFFRD.js} +2 -4
- package/dist/config-3WDIJPTG.js +9 -0
- package/dist/config-4QV4QYI5.js +9 -0
- package/dist/{config-ZFJYQZCH.js → config-54USUVSE.js} +2 -4
- package/dist/config-5ZXN2T2H.js +9 -0
- package/dist/config-A2GQYJDB.js +9 -0
- package/dist/config-BBOLI7VE.js +9 -0
- package/dist/{config-VM526IKB.js → config-BIBFLUIR.js} +2 -4
- package/dist/{config-EO23EY62.js → config-CPYFOUQO.js} +2 -4
- package/dist/{config-3IVQJBNW.js → config-DWSJL3NH.js} +2 -4
- package/dist/config-E22XAGYN.js +9 -0
- package/dist/config-EHE52ZTK.js +9 -0
- package/dist/{config-GE4W4ZJC.js → config-EX3ZJTZI.js} +2 -4
- package/dist/{config-QNMKWJ4M.js → config-FRK7ZL37.js} +2 -4
- package/dist/{config-LHFFXVYI.js → config-HQXNFQZS.js} +2 -4
- package/dist/config-HTXOOAOD.js +9 -0
- package/dist/{config-HKRMKD76.js → config-IPNWAJHH.js} +2 -4
- package/dist/config-J2C53GOT.js +9 -0
- package/dist/config-K63RX6EU.js +9 -0
- package/dist/config-L7SBSH5L.js +9 -0
- package/dist/config-LEALEMKA.js +9 -0
- package/dist/{config-IVY5EQQ2.js → config-M3Z47VYU.js} +2 -4
- package/dist/{config-EIHSP5DZ.js → config-MZM3IPFM.js} +2 -4
- package/dist/{config-GHRUKEQ6.js → config-OJ2BPESH.js} +2 -4
- package/dist/{config-WDAZFXYD.js → config-QO2XUME4.js} +2 -4
- package/dist/config-QWQGOXQ5.js +9 -0
- package/dist/config-RI7IEZUF.js +9 -0
- package/dist/{config-CVZ2AGCO.js → config-SPW6NESU.js} +2 -6
- package/dist/{config-QAA646XB.js → config-T2IUIU5C.js} +2 -4
- package/dist/{config-NV5WXP64.js → config-UU27ALAA.js} +2 -4
- package/dist/config-VKKZGC7V.js +9 -0
- package/dist/config-W7EVPJNK.js +11 -0
- package/dist/config-WKQ3FGTZ.js +9 -0
- package/dist/config-WVILHDFV.js +11 -0
- package/dist/{config-Q45Y46YT.js → config-XU6D5C7E.js} +2 -4
- package/dist/databricks_volume-ETRDJVVQ.js +7 -0
- package/dist/digitalocean-QP72DR4J.js +10 -0
- package/dist/discord-BSN5RB3E.js +8 -0
- package/dist/disk-24NWTN2I.js +7 -0
- package/dist/dropbox-OSTZXSIE.js +8 -0
- package/dist/email-4ZFPSWIN.js +8 -0
- package/dist/gcs-PFWR6MIW.js +10 -0
- package/dist/gdocs-GPAZRQG5.js +8 -0
- package/dist/gdrive-XSX6A7B3.js +8 -0
- package/dist/github-EQ4NXUTA.js +8 -0
- package/dist/github_ci-QL5B2Q2N.js +8 -0
- package/dist/gmail-2TBT4CVH.js +8 -0
- package/dist/gridfs-KZRZ6SIB.js +9 -0
- package/dist/gsheets-N53WEXN2.js +8 -0
- package/dist/gslides-TATSARTH.js +8 -0
- package/dist/hf_buckets-BK7NGJWS.js +10 -0
- package/dist/hf_datasets-UQ5QGM4L.js +10 -0
- package/dist/hf_models-75LFCQCS.js +10 -0
- package/dist/hf_spaces-6T2KB3UC.js +10 -0
- package/dist/index.d.ts +599 -79
- package/dist/index.js +1515 -422
- package/dist/index.js.map +1 -1
- package/dist/langfuse-AMQCQWNE.js +8 -0
- package/dist/linear-V3TXO6CV.js +8 -0
- package/dist/minio-IZRZY4C5.js +10 -0
- package/dist/mongodb-VMKPQCPX.js +7 -0
- package/dist/nextcloud-5RHQCGDO.js +9 -0
- package/dist/notion-6PPNTQFM.js +8 -0
- package/dist/oci-CKYBSFZJ.js +10 -0
- package/dist/postgres-WIQBVL5M.js +7 -0
- package/dist/qingstor-AP4IIPLY.js +10 -0
- package/dist/r2-C4XGEWQY.js +10 -0
- package/dist/redis-6D55Q2WB.js +8 -0
- package/dist/s3-XQBI2CXN.js +8 -0
- package/dist/scaleway-SEZJVURB.js +10 -0
- package/dist/seaweedfs-3XYIAFU2.js +10 -0
- package/dist/slack-ZHXDJQY4.js +8 -0
- package/dist/ssh-X2MO7JOV.js +8 -0
- package/dist/supabase-BBM44UTM.js +10 -0
- package/dist/supabase-BBM44UTM.js.map +1 -0
- package/dist/tencent-X72USLJ7.js +10 -0
- package/dist/tencent-X72USLJ7.js.map +1 -0
- package/dist/trello-EER5NG7L.js +8 -0
- package/dist/trello-EER5NG7L.js.map +1 -0
- package/dist/wasabi-O4MVIUFG.js +10 -0
- package/dist/wasabi-O4MVIUFG.js.map +1 -0
- package/package.json +9 -5
- package/dist/aliyun-TMZRUYCG.js +0 -10
- package/dist/backblaze-OHW57DLK.js +0 -10
- package/dist/box-UXTCAFOZ.js +0 -8
- package/dist/ceph-TNN4I2FT.js +0 -10
- package/dist/chunk-2CC5VW7K.js.map +0 -1
- package/dist/chunk-5DLOHQJ2.js.map +0 -1
- package/dist/chunk-5HCVKTP3.js +0 -2086
- package/dist/chunk-5HCVKTP3.js.map +0 -1
- package/dist/chunk-5YOCVEUB.js.map +0 -1
- package/dist/chunk-A4Z6DZ22.js.map +0 -1
- package/dist/chunk-A7X4L4JM.js.map +0 -1
- package/dist/chunk-ABTEGAFB.js.map +0 -1
- package/dist/chunk-B2ZOKNN4.js.map +0 -1
- package/dist/chunk-C6NHEDHY.js.map +0 -1
- package/dist/chunk-CASCUFK2.js.map +0 -1
- package/dist/chunk-DP2PP5V2.js.map +0 -1
- package/dist/chunk-DTAY7LPC.js.map +0 -1
- package/dist/chunk-DYXEITK3.js.map +0 -1
- package/dist/chunk-E7RW3SBV.js.map +0 -1
- package/dist/chunk-EGB7V74Z.js.map +0 -1
- package/dist/chunk-ERELJ7BS.js.map +0 -1
- package/dist/chunk-HEHERHQ5.js.map +0 -1
- package/dist/chunk-JALIYI6M.js.map +0 -1
- package/dist/chunk-JZQHKDSY.js.map +0 -1
- package/dist/chunk-LAJJPLEV.js.map +0 -1
- package/dist/chunk-LYDMMNL2.js.map +0 -1
- package/dist/chunk-MHCMHKM6.js.map +0 -1
- package/dist/chunk-N72CAZEH.js +0 -1990
- package/dist/chunk-N72CAZEH.js.map +0 -1
- package/dist/chunk-NHS7WLEQ.js.map +0 -1
- package/dist/chunk-NJMGCT63.js.map +0 -1
- package/dist/chunk-OHROA3FQ.js.map +0 -1
- package/dist/chunk-OPYQ5KIO.js.map +0 -1
- package/dist/chunk-OZAEWZZ3.js.map +0 -1
- package/dist/chunk-PBBG7VFT.js +0 -1896
- package/dist/chunk-PBBG7VFT.js.map +0 -1
- package/dist/chunk-Q2IAILVC.js.map +0 -1
- package/dist/chunk-QGRDPSAH.js.map +0 -1
- package/dist/chunk-RLGWMJD3.js.map +0 -1
- package/dist/chunk-RO5IQEDQ.js.map +0 -1
- package/dist/chunk-RQK5UPMP.js.map +0 -1
- package/dist/chunk-SFUCUARB.js.map +0 -1
- package/dist/chunk-TRTUHCS4.js.map +0 -1
- package/dist/chunk-U6QSXTUS.js +0 -7
- package/dist/chunk-U6QSXTUS.js.map +0 -1
- package/dist/chunk-UGK4TAVK.js.map +0 -1
- package/dist/chunk-UT2OPSN4.js.map +0 -1
- package/dist/chunk-VGLHY6BK.js.map +0 -1
- package/dist/chunk-WSGEIVY3.js +0 -1766
- package/dist/chunk-WSGEIVY3.js.map +0 -1
- package/dist/chunk-XGJ2QERC.js.map +0 -1
- package/dist/chunk-XHCBHYN4.js.map +0 -1
- package/dist/chunk-XLQI4IT2.js.map +0 -1
- package/dist/chunk-XRU5WXZX.js.map +0 -1
- package/dist/chunk-YAVGCQUP.js.map +0 -1
- package/dist/chunk-YGZMVNN5.js.map +0 -1
- package/dist/chunk-YPT4JBUY.js.map +0 -1
- package/dist/chunk-ZNWVJ6UW.js.map +0 -1
- package/dist/config-3BBWD5AB.js +0 -11
- package/dist/config-4UDVSUQJ.js +0 -11
- package/dist/config-CMDBAPDH.js +0 -11
- package/dist/config-D3RLSPNF.js +0 -11
- package/dist/config-DG65OEG3.js +0 -11
- package/dist/config-GCQK6NJY.js +0 -11
- package/dist/config-GVH27UPE.js +0 -11
- package/dist/config-HXVYIXP5.js +0 -11
- package/dist/config-IDZMEW73.js +0 -11
- package/dist/config-IJJXGLBQ.js +0 -11
- package/dist/config-KJOLGVB2.js +0 -11
- package/dist/config-KMVCVBYN.js +0 -15
- package/dist/config-KYTRXAB2.js +0 -15
- package/dist/config-OT2TQQCN.js +0 -11
- package/dist/config-QWCY3LBQ.js +0 -11
- package/dist/config-ZV6G2ZEC.js +0 -11
- package/dist/databricks_volume-HNQ4DJVJ.js +0 -7
- package/dist/digitalocean-6SPR4S7V.js +0 -10
- package/dist/discord-SAV2RBJV.js +0 -8
- package/dist/disk-POACMF4G.js +0 -8
- package/dist/dropbox-CQ7MTYX2.js +0 -8
- package/dist/email-KBQ7CXS7.js +0 -8
- package/dist/gcs-SMIE4VMT.js +0 -10
- package/dist/gdocs-X5Y2SIQX.js +0 -8
- package/dist/gdrive-SIQPRIGI.js +0 -8
- package/dist/github-KBHWANKQ.js +0 -8
- package/dist/github_ci-HPITNK37.js +0 -8
- package/dist/gmail-DKHAGJNX.js +0 -8
- package/dist/gsheets-ZSUDIWGK.js +0 -8
- package/dist/gslides-GYXM7IMJ.js +0 -8
- package/dist/hf_buckets-RIOMV7WG.js +0 -10
- package/dist/hf_datasets-QF4BQ3OK.js +0 -10
- package/dist/hf_models-62GC2HPZ.js +0 -10
- package/dist/hf_spaces-NVSMUNRM.js +0 -10
- package/dist/langfuse-HUAYVPHF.js +0 -8
- package/dist/linear-2MM55KBC.js +0 -8
- package/dist/minio-L3XE6PQS.js +0 -10
- package/dist/mongodb-ZOX4FRHJ.js +0 -7
- package/dist/notion-UK4GTMT4.js +0 -8
- package/dist/oci-NURLWPL2.js +0 -10
- package/dist/postgres-JNFMPAO2.js +0 -7
- package/dist/qingstor-W55D5YFO.js +0 -10
- package/dist/r2-FSZK7IFI.js +0 -10
- package/dist/redis-S6GIPA4Z.js +0 -8
- package/dist/s3-GMPUJ65D.js +0 -8
- package/dist/scaleway-5VM55Y6D.js +0 -10
- package/dist/seaweedfs-J3EPUEPE.js +0 -10
- package/dist/slack-FVBXY7KD.js +0 -8
- package/dist/ssh-GCXETJ3Z.js +0 -9
- package/dist/supabase-HLWNHBBE.js +0 -10
- package/dist/tencent-YDO73XBD.js +0 -10
- package/dist/trello-CQ53BQUL.js +0 -8
- package/dist/wasabi-SOZKPMRQ.js +0 -10
- /package/dist/{aliyun-TMZRUYCG.js.map → aliyun-PGI57A43.js.map} +0 -0
- /package/dist/{backblaze-OHW57DLK.js.map → backblaze-TSPL6Y56.js.map} +0 -0
- /package/dist/{box-UXTCAFOZ.js.map → box-7XTZYDSO.js.map} +0 -0
- /package/dist/{ceph-TNN4I2FT.js.map → ceph-C265UI5T.js.map} +0 -0
- /package/dist/{chunk-IQVNVTOP.js.map → chunk-25W4XQJZ.js.map} +0 -0
- /package/dist/{chunk-G5BZE7UA.js.map → chunk-4M73WHIE.js.map} +0 -0
- /package/dist/{chunk-Q6CDMOM6.js.map → chunk-4X6CLF4F.js.map} +0 -0
- /package/dist/{chunk-3IJSIVKT.js.map → chunk-5I7Q7RHW.js.map} +0 -0
- /package/dist/{chunk-OYV2DN66.js.map → chunk-BWWU5T2D.js.map} +0 -0
- /package/dist/{chunk-AJICZLHT.js.map → chunk-CXQGMFI7.js.map} +0 -0
- /package/dist/{chunk-RQYEEA2O.js.map → chunk-DXU7NZPH.js.map} +0 -0
- /package/dist/{chunk-L6JPBJAS.js.map → chunk-EGZNOUMH.js.map} +0 -0
- /package/dist/{chunk-BYTU2YC3.js.map → chunk-F5NWRF32.js.map} +0 -0
- /package/dist/{chunk-FXFDBF3P.js.map → chunk-L4GMDSMB.js.map} +0 -0
- /package/dist/{chunk-O7ODGJYL.js.map → chunk-L7FEZ7LU.js.map} +0 -0
- /package/dist/{chunk-3T3RMDNX.js.map → chunk-NLXJMXVE.js.map} +0 -0
- /package/dist/{chunk-HQ4KWN76.js.map → chunk-SYMNWNC3.js.map} +0 -0
- /package/dist/{chunk-PJBQKMCD.js.map → chunk-TUNR4VUM.js.map} +0 -0
- /package/dist/{chunk-WL7HS7EM.js.map → chunk-V7JVMG63.js.map} +0 -0
- /package/dist/{chunk-C6NHFMIP.js.map → chunk-XADEMW6B.js.map} +0 -0
- /package/dist/{chunk-KTNDT45N.js.map → chunk-XEMLYWHK.js.map} +0 -0
- /package/dist/{chunk-B6SXRCBO.js.map → chunk-ZM44MGC5.js.map} +0 -0
- /package/dist/{config-34LHOGLM.js.map → config-2LASFFRD.js.map} +0 -0
- /package/dist/{config-3BBWD5AB.js.map → config-3WDIJPTG.js.map} +0 -0
- /package/dist/{config-3IVQJBNW.js.map → config-4QV4QYI5.js.map} +0 -0
- /package/dist/{config-4UDVSUQJ.js.map → config-54USUVSE.js.map} +0 -0
- /package/dist/{config-CMDBAPDH.js.map → config-5ZXN2T2H.js.map} +0 -0
- /package/dist/{config-CVZ2AGCO.js.map → config-A2GQYJDB.js.map} +0 -0
- /package/dist/{config-D3RLSPNF.js.map → config-BBOLI7VE.js.map} +0 -0
- /package/dist/{config-DG65OEG3.js.map → config-BIBFLUIR.js.map} +0 -0
- /package/dist/{config-EIHSP5DZ.js.map → config-CPYFOUQO.js.map} +0 -0
- /package/dist/{config-EO23EY62.js.map → config-DWSJL3NH.js.map} +0 -0
- /package/dist/{config-GCQK6NJY.js.map → config-E22XAGYN.js.map} +0 -0
- /package/dist/{config-GE4W4ZJC.js.map → config-EHE52ZTK.js.map} +0 -0
- /package/dist/{config-GHRUKEQ6.js.map → config-EX3ZJTZI.js.map} +0 -0
- /package/dist/{config-GVH27UPE.js.map → config-FRK7ZL37.js.map} +0 -0
- /package/dist/{config-HKRMKD76.js.map → config-HQXNFQZS.js.map} +0 -0
- /package/dist/{config-HXVYIXP5.js.map → config-HTXOOAOD.js.map} +0 -0
- /package/dist/{config-IDZMEW73.js.map → config-IPNWAJHH.js.map} +0 -0
- /package/dist/{config-IJJXGLBQ.js.map → config-J2C53GOT.js.map} +0 -0
- /package/dist/{config-IVY5EQQ2.js.map → config-K63RX6EU.js.map} +0 -0
- /package/dist/{config-KJOLGVB2.js.map → config-L7SBSH5L.js.map} +0 -0
- /package/dist/{config-KMVCVBYN.js.map → config-LEALEMKA.js.map} +0 -0
- /package/dist/{config-KYTRXAB2.js.map → config-M3Z47VYU.js.map} +0 -0
- /package/dist/{config-LHFFXVYI.js.map → config-MZM3IPFM.js.map} +0 -0
- /package/dist/{config-NV5WXP64.js.map → config-OJ2BPESH.js.map} +0 -0
- /package/dist/{config-OT2TQQCN.js.map → config-QO2XUME4.js.map} +0 -0
- /package/dist/{config-Q45Y46YT.js.map → config-QWQGOXQ5.js.map} +0 -0
- /package/dist/{config-QAA646XB.js.map → config-RI7IEZUF.js.map} +0 -0
- /package/dist/{config-QNMKWJ4M.js.map → config-SPW6NESU.js.map} +0 -0
- /package/dist/{config-QWCY3LBQ.js.map → config-T2IUIU5C.js.map} +0 -0
- /package/dist/{config-VM526IKB.js.map → config-UU27ALAA.js.map} +0 -0
- /package/dist/{config-WDAZFXYD.js.map → config-VKKZGC7V.js.map} +0 -0
- /package/dist/{config-ZFJYQZCH.js.map → config-W7EVPJNK.js.map} +0 -0
- /package/dist/{config-ZV6G2ZEC.js.map → config-WKQ3FGTZ.js.map} +0 -0
- /package/dist/{databricks_volume-HNQ4DJVJ.js.map → config-WVILHDFV.js.map} +0 -0
- /package/dist/{digitalocean-6SPR4S7V.js.map → config-XU6D5C7E.js.map} +0 -0
- /package/dist/{discord-SAV2RBJV.js.map → databricks_volume-ETRDJVVQ.js.map} +0 -0
- /package/dist/{disk-POACMF4G.js.map → digitalocean-QP72DR4J.js.map} +0 -0
- /package/dist/{dropbox-CQ7MTYX2.js.map → discord-BSN5RB3E.js.map} +0 -0
- /package/dist/{email-KBQ7CXS7.js.map → disk-24NWTN2I.js.map} +0 -0
- /package/dist/{gcs-SMIE4VMT.js.map → dropbox-OSTZXSIE.js.map} +0 -0
- /package/dist/{gdocs-X5Y2SIQX.js.map → email-4ZFPSWIN.js.map} +0 -0
- /package/dist/{gdrive-SIQPRIGI.js.map → gcs-PFWR6MIW.js.map} +0 -0
- /package/dist/{github-KBHWANKQ.js.map → gdocs-GPAZRQG5.js.map} +0 -0
- /package/dist/{github_ci-HPITNK37.js.map → gdrive-XSX6A7B3.js.map} +0 -0
- /package/dist/{gmail-DKHAGJNX.js.map → github-EQ4NXUTA.js.map} +0 -0
- /package/dist/{gsheets-ZSUDIWGK.js.map → github_ci-QL5B2Q2N.js.map} +0 -0
- /package/dist/{gslides-GYXM7IMJ.js.map → gmail-2TBT4CVH.js.map} +0 -0
- /package/dist/{hf_buckets-RIOMV7WG.js.map → gridfs-KZRZ6SIB.js.map} +0 -0
- /package/dist/{hf_datasets-QF4BQ3OK.js.map → gsheets-N53WEXN2.js.map} +0 -0
- /package/dist/{hf_models-62GC2HPZ.js.map → gslides-TATSARTH.js.map} +0 -0
- /package/dist/{hf_spaces-NVSMUNRM.js.map → hf_buckets-BK7NGJWS.js.map} +0 -0
- /package/dist/{langfuse-HUAYVPHF.js.map → hf_datasets-UQ5QGM4L.js.map} +0 -0
- /package/dist/{linear-2MM55KBC.js.map → hf_models-75LFCQCS.js.map} +0 -0
- /package/dist/{minio-L3XE6PQS.js.map → hf_spaces-6T2KB3UC.js.map} +0 -0
- /package/dist/{mongodb-ZOX4FRHJ.js.map → langfuse-AMQCQWNE.js.map} +0 -0
- /package/dist/{notion-UK4GTMT4.js.map → linear-V3TXO6CV.js.map} +0 -0
- /package/dist/{oci-NURLWPL2.js.map → minio-IZRZY4C5.js.map} +0 -0
- /package/dist/{postgres-JNFMPAO2.js.map → mongodb-VMKPQCPX.js.map} +0 -0
- /package/dist/{qingstor-W55D5YFO.js.map → nextcloud-5RHQCGDO.js.map} +0 -0
- /package/dist/{r2-FSZK7IFI.js.map → notion-6PPNTQFM.js.map} +0 -0
- /package/dist/{redis-S6GIPA4Z.js.map → oci-CKYBSFZJ.js.map} +0 -0
- /package/dist/{s3-GMPUJ65D.js.map → postgres-WIQBVL5M.js.map} +0 -0
- /package/dist/{scaleway-5VM55Y6D.js.map → qingstor-AP4IIPLY.js.map} +0 -0
- /package/dist/{seaweedfs-J3EPUEPE.js.map → r2-C4XGEWQY.js.map} +0 -0
- /package/dist/{slack-FVBXY7KD.js.map → redis-6D55Q2WB.js.map} +0 -0
- /package/dist/{ssh-GCXETJ3Z.js.map → s3-XQBI2CXN.js.map} +0 -0
- /package/dist/{supabase-HLWNHBBE.js.map → scaleway-SEZJVURB.js.map} +0 -0
- /package/dist/{tencent-YDO73XBD.js.map → seaweedfs-3XYIAFU2.js.map} +0 -0
- /package/dist/{trello-CQ53BQUL.js.map → slack-ZHXDJQY4.js.map} +0 -0
- /package/dist/{wasabi-SOZKPMRQ.js.map → ssh-X2MO7JOV.js.map} +0 -0
|
@@ -1,40 +1,44 @@
|
|
|
1
1
|
import {
|
|
2
2
|
redactConfig
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-HCU3B6FW.js";
|
|
4
4
|
|
|
5
5
|
// src/resource/s3/s3.ts
|
|
6
6
|
import {
|
|
7
7
|
BaseResource,
|
|
8
|
+
PathSpec,
|
|
9
|
+
ResourceName,
|
|
10
|
+
S3Accessor,
|
|
11
|
+
S3_COMMANDS,
|
|
12
|
+
S3_OPS,
|
|
13
|
+
S3_PROMPT,
|
|
8
14
|
copy as copyCore,
|
|
9
15
|
create as createCore,
|
|
10
16
|
du as duCore,
|
|
11
17
|
duAll as duAllCore,
|
|
12
18
|
exists as existsCore,
|
|
13
19
|
find as findCore,
|
|
20
|
+
makeResolveGlob,
|
|
14
21
|
mkdir as mkdirCore,
|
|
22
|
+
mountKey,
|
|
23
|
+
mountPrefixOf,
|
|
15
24
|
normalizeKeyPrefix,
|
|
16
|
-
PathSpec,
|
|
17
25
|
rangeRead as rangeReadCore,
|
|
18
|
-
S3_COMMANDS,
|
|
19
26
|
read as readCore,
|
|
20
27
|
readdir as readdirCore,
|
|
21
28
|
rename as renameCore,
|
|
22
|
-
|
|
23
|
-
resolveS3Glob as globCore,
|
|
29
|
+
S3_SCOPE_ERROR,
|
|
24
30
|
rmR as rmRCore,
|
|
25
31
|
rmdir as rmdirCore,
|
|
26
|
-
S3_OPS,
|
|
27
|
-
S3_PROMPT,
|
|
28
|
-
S3Accessor,
|
|
29
32
|
stat as statCore,
|
|
30
33
|
stream as streamCore,
|
|
31
34
|
truncate as truncateCore,
|
|
32
35
|
unlink as unlinkCore,
|
|
33
36
|
write as writeCore
|
|
34
37
|
} from "@struktoai/mirage-core";
|
|
38
|
+
var globCore = makeResolveGlob(readdirCore, S3_SCOPE_ERROR);
|
|
35
39
|
var S3Resource = class extends BaseResource {
|
|
36
40
|
kind = ResourceName.S3;
|
|
37
|
-
|
|
41
|
+
cachesReads = true;
|
|
38
42
|
supportsSnapshot = true;
|
|
39
43
|
indexTtl = 600;
|
|
40
44
|
prompt = S3_PROMPT;
|
|
@@ -147,26 +151,16 @@ var S3Resource = class extends BaseResource {
|
|
|
147
151
|
}
|
|
148
152
|
glob(paths, prefix = "") {
|
|
149
153
|
const effective = prefix ? paths.map(
|
|
150
|
-
(p) => p.
|
|
151
|
-
|
|
154
|
+
(p) => mountPrefixOf(p.virtual, p.resourcePath) ? p : new PathSpec({
|
|
155
|
+
virtual: p.virtual,
|
|
152
156
|
directory: p.directory,
|
|
153
157
|
...p.pattern !== null ? { pattern: p.pattern } : {},
|
|
154
158
|
resolved: p.resolved,
|
|
155
|
-
prefix
|
|
159
|
+
resourcePath: mountKey(p.virtual, prefix)
|
|
156
160
|
})
|
|
157
161
|
) : paths;
|
|
158
162
|
return globCore(this.accessor, effective, this.index);
|
|
159
163
|
}
|
|
160
|
-
async fingerprint(p) {
|
|
161
|
-
try {
|
|
162
|
-
const s = await statCore(this.accessor, p);
|
|
163
|
-
const etag = s.extra.etag;
|
|
164
|
-
return typeof etag === "string" && etag !== "" ? etag : null;
|
|
165
|
-
} catch (err) {
|
|
166
|
-
if (err?.code === "ENOENT") return null;
|
|
167
|
-
throw err;
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
164
|
getState() {
|
|
171
165
|
return Promise.resolve({
|
|
172
166
|
type: this.kind,
|
|
@@ -181,4 +175,4 @@ var S3Resource = class extends BaseResource {
|
|
|
181
175
|
export {
|
|
182
176
|
S3Resource
|
|
183
177
|
};
|
|
184
|
-
//# sourceMappingURL=chunk-
|
|
178
|
+
//# sourceMappingURL=chunk-IUXXZHY3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/resource/s3/s3.ts"],"sourcesContent":["// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n\nimport {\n BaseResource,\n PathSpec,\n ResourceName,\n S3Accessor,\n S3_COMMANDS,\n S3_OPS,\n S3_PROMPT,\n copy as copyCore,\n create as createCore,\n du as duCore,\n duAll as duAllCore,\n exists as existsCore,\n find as findCore,\n makeResolveGlob,\n mkdir as mkdirCore,\n mountKey,\n mountPrefixOf,\n normalizeKeyPrefix,\n rangeRead as rangeReadCore,\n read as readCore,\n readdir as readdirCore,\n rename as renameCore,\n S3_SCOPE_ERROR,\n rmR as rmRCore,\n rmdir as rmdirCore,\n stat as statCore,\n stream as streamCore,\n truncate as truncateCore,\n type FileStat,\n type FindOptions,\n type RegisteredCommand,\n type RegisteredOp,\n type Resource,\n unlink as unlinkCore,\n write as writeCore,\n} from '@struktoai/mirage-core'\nimport { redactConfig, type S3Config, type S3ConfigRedacted } from './config.ts'\n\nconst globCore = makeResolveGlob(readdirCore, S3_SCOPE_ERROR)\n\nexport interface S3ResourceState {\n type: string\n config: S3ConfigRedacted\n}\n\nexport class S3Resource extends BaseResource implements Resource {\n readonly kind: string = ResourceName.S3\n readonly cachesReads: boolean = true\n readonly supportsSnapshot: boolean = true\n override readonly indexTtl: number = 600\n readonly prompt: string = S3_PROMPT\n readonly config: S3Config\n readonly accessor: S3Accessor\n readonly opsMap: Record<string, unknown> = {\n read_bytes: readCore,\n write: writeCore,\n readdir: readdirCore,\n stat: statCore,\n unlink: unlinkCore,\n rmdir: rmdirCore,\n copy: copyCore,\n rename: renameCore,\n mkdir: mkdirCore,\n read_stream: streamCore,\n range_read: rangeReadCore,\n rm_recursive: rmRCore,\n du_total: duCore,\n du_all: duAllCore,\n create: createCore,\n truncate: truncateCore,\n exists: existsCore,\n find_flat: findCore,\n }\n\n constructor(config: S3Config) {\n super()\n const normalized = normalizeKeyPrefix(config.keyPrefix)\n const cfg: S3Config = { ...config }\n if (normalized !== undefined) {\n cfg.keyPrefix = normalized\n } else {\n delete cfg.keyPrefix\n }\n this.config = cfg\n this.accessor = new S3Accessor(this.config)\n }\n\n open(): Promise<void> {\n return Promise.resolve()\n }\n\n close(): Promise<void> {\n return Promise.resolve()\n }\n\n commands(): readonly RegisteredCommand[] {\n return S3_COMMANDS\n }\n\n ops(): readonly RegisteredOp[] {\n return S3_OPS\n }\n\n streamPath(p: PathSpec): AsyncIterable<Uint8Array> {\n return streamCore(this.accessor, p)\n }\n\n readFile(p: PathSpec): Promise<Uint8Array> {\n return readCore(this.accessor, p)\n }\n\n writeFile(p: PathSpec, data: Uint8Array): Promise<void> {\n return writeCore(this.accessor, p, data)\n }\n\n async appendFile(p: PathSpec, data: Uint8Array): Promise<void> {\n let existing: Uint8Array\n try {\n existing = await readCore(this.accessor, p)\n } catch (err) {\n if ((err as { code?: string } | null)?.code === 'ENOENT') {\n existing = new Uint8Array()\n } else {\n throw err\n }\n }\n const merged = new Uint8Array(existing.byteLength + data.byteLength)\n merged.set(existing, 0)\n merged.set(data, existing.byteLength)\n await writeCore(this.accessor, p, merged)\n }\n\n readdir(p: PathSpec): Promise<string[]> {\n return readdirCore(this.accessor, p, this.index)\n }\n\n stat(p: PathSpec): Promise<FileStat> {\n return statCore(this.accessor, p)\n }\n\n exists(p: PathSpec): Promise<boolean> {\n return existsCore(this.accessor, p)\n }\n\n mkdir(p: PathSpec): Promise<void> {\n return mkdirCore(this.accessor, p)\n }\n\n rmdir(p: PathSpec): Promise<void> {\n return rmdirCore(this.accessor, p)\n }\n\n unlink(p: PathSpec): Promise<void> {\n return unlinkCore(this.accessor, p)\n }\n\n rename(src: PathSpec, dst: PathSpec): Promise<void> {\n return renameCore(this.accessor, src, dst)\n }\n\n truncate(p: PathSpec, length: number): Promise<void> {\n return truncateCore(this.accessor, p, length)\n }\n\n copy(src: PathSpec, dst: PathSpec): Promise<void> {\n return copyCore(this.accessor, src, dst)\n }\n\n rmR(p: PathSpec): Promise<void> {\n return rmRCore(this.accessor, p)\n }\n\n du(p: PathSpec): Promise<number> {\n return duCore(this.accessor, p)\n }\n\n find(p: PathSpec, options: FindOptions = {}): Promise<string[]> {\n return findCore(this.accessor, p, options)\n }\n\n glob(paths: readonly PathSpec[], prefix = ''): Promise<PathSpec[]> {\n const effective = prefix\n ? paths.map((p) =>\n mountPrefixOf(p.virtual, p.resourcePath)\n ? p\n : new PathSpec({\n virtual: p.virtual,\n directory: p.directory,\n ...(p.pattern !== null ? { pattern: p.pattern } : {}),\n resolved: p.resolved,\n resourcePath: mountKey(p.virtual, prefix),\n }),\n )\n : paths\n return globCore(this.accessor, effective, this.index)\n }\n\n getState(): Promise<S3ResourceState> {\n return Promise.resolve({\n type: this.kind,\n config: redactConfig(this.config),\n })\n }\n\n loadState(_state: S3ResourceState): Promise<void> {\n return Promise.resolve()\n }\n}\n"],"mappings":";;;;;AAcA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,MAAM;AAAA,EACN,SAAS;AAAA,EACT,UAAU;AAAA,EACV,QAAQ;AAAA,EACR;AAAA,EACA,SAAS;AAAA,EACT;AAAA,EACA;AAAA,EACA;AAAA,EACA,aAAa;AAAA,EACb,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,UAAU;AAAA,EACV;AAAA,EACA,OAAO;AAAA,EACP,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,YAAY;AAAA,EAMZ,UAAU;AAAA,EACV,SAAS;AAAA,OACJ;AAGP,IAAM,WAAW,gBAAgB,aAAa,cAAc;AAOrD,IAAM,aAAN,cAAyB,aAAiC;AAAA,EACtD,OAAe,aAAa;AAAA,EAC5B,cAAuB;AAAA,EACvB,mBAA4B;AAAA,EACnB,WAAmB;AAAA,EAC5B,SAAiB;AAAA,EACjB;AAAA,EACA;AAAA,EACA,SAAkC;AAAA,IACzC,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,WAAW;AAAA,EACb;AAAA,EAEA,YAAY,QAAkB;AAC5B,UAAM;AACN,UAAM,aAAa,mBAAmB,OAAO,SAAS;AACtD,UAAM,MAAgB,EAAE,GAAG,OAAO;AAClC,QAAI,eAAe,QAAW;AAC5B,UAAI,YAAY;AAAA,IAClB,OAAO;AACL,aAAO,IAAI;AAAA,IACb;AACA,SAAK,SAAS;AACd,SAAK,WAAW,IAAI,WAAW,KAAK,MAAM;AAAA,EAC5C;AAAA,EAEA,OAAsB;AACpB,WAAO,QAAQ,QAAQ;AAAA,EACzB;AAAA,EAEA,QAAuB;AACrB,WAAO,QAAQ,QAAQ;AAAA,EACzB;AAAA,EAEA,WAAyC;AACvC,WAAO;AAAA,EACT;AAAA,EAEA,MAA+B;AAC7B,WAAO;AAAA,EACT;AAAA,EAEA,WAAW,GAAwC;AACjD,WAAO,WAAW,KAAK,UAAU,CAAC;AAAA,EACpC;AAAA,EAEA,SAAS,GAAkC;AACzC,WAAO,SAAS,KAAK,UAAU,CAAC;AAAA,EAClC;AAAA,EAEA,UAAU,GAAa,MAAiC;AACtD,WAAO,UAAU,KAAK,UAAU,GAAG,IAAI;AAAA,EACzC;AAAA,EAEA,MAAM,WAAW,GAAa,MAAiC;AAC7D,QAAI;AACJ,QAAI;AACF,iBAAW,MAAM,SAAS,KAAK,UAAU,CAAC;AAAA,IAC5C,SAAS,KAAK;AACZ,UAAK,KAAkC,SAAS,UAAU;AACxD,mBAAW,IAAI,WAAW;AAAA,MAC5B,OAAO;AACL,cAAM;AAAA,MACR;AAAA,IACF;AACA,UAAM,SAAS,IAAI,WAAW,SAAS,aAAa,KAAK,UAAU;AACnE,WAAO,IAAI,UAAU,CAAC;AACtB,WAAO,IAAI,MAAM,SAAS,UAAU;AACpC,UAAM,UAAU,KAAK,UAAU,GAAG,MAAM;AAAA,EAC1C;AAAA,EAEA,QAAQ,GAAgC;AACtC,WAAO,YAAY,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EACjD;AAAA,EAEA,KAAK,GAAgC;AACnC,WAAO,SAAS,KAAK,UAAU,CAAC;AAAA,EAClC;AAAA,EAEA,OAAO,GAA+B;AACpC,WAAO,WAAW,KAAK,UAAU,CAAC;AAAA,EACpC;AAAA,EAEA,MAAM,GAA4B;AAChC,WAAO,UAAU,KAAK,UAAU,CAAC;AAAA,EACnC;AAAA,EAEA,MAAM,GAA4B;AAChC,WAAO,UAAU,KAAK,UAAU,CAAC;AAAA,EACnC;AAAA,EAEA,OAAO,GAA4B;AACjC,WAAO,WAAW,KAAK,UAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,KAAe,KAA8B;AAClD,WAAO,WAAW,KAAK,UAAU,KAAK,GAAG;AAAA,EAC3C;AAAA,EAEA,SAAS,GAAa,QAA+B;AACnD,WAAO,aAAa,KAAK,UAAU,GAAG,MAAM;AAAA,EAC9C;AAAA,EAEA,KAAK,KAAe,KAA8B;AAChD,WAAO,SAAS,KAAK,UAAU,KAAK,GAAG;AAAA,EACzC;AAAA,EAEA,IAAI,GAA4B;AAC9B,WAAO,QAAQ,KAAK,UAAU,CAAC;AAAA,EACjC;AAAA,EAEA,GAAG,GAA8B;AAC/B,WAAO,OAAO,KAAK,UAAU,CAAC;AAAA,EAChC;AAAA,EAEA,KAAK,GAAa,UAAuB,CAAC,GAAsB;AAC9D,WAAO,SAAS,KAAK,UAAU,GAAG,OAAO;AAAA,EAC3C;AAAA,EAEA,KAAK,OAA4B,SAAS,IAAyB;AACjE,UAAM,YAAY,SACd,MAAM;AAAA,MAAI,CAAC,MACT,cAAc,EAAE,SAAS,EAAE,YAAY,IACnC,IACA,IAAI,SAAS;AAAA,QACX,SAAS,EAAE;AAAA,QACX,WAAW,EAAE;AAAA,QACb,GAAI,EAAE,YAAY,OAAO,EAAE,SAAS,EAAE,QAAQ,IAAI,CAAC;AAAA,QACnD,UAAU,EAAE;AAAA,QACZ,cAAc,SAAS,EAAE,SAAS,MAAM;AAAA,MAC1C,CAAC;AAAA,IACP,IACA;AACJ,WAAO,SAAS,KAAK,UAAU,WAAW,KAAK,KAAK;AAAA,EACtD;AAAA,EAEA,WAAqC;AACnC,WAAO,QAAQ,QAAQ;AAAA,MACrB,MAAM,KAAK;AAAA,MACX,QAAQ,aAAa,KAAK,MAAM;AAAA,IAClC,CAAC;AAAA,EACH;AAAA,EAEA,UAAU,QAAwC;AAChD,WAAO,QAAQ,QAAQ;AAAA,EACzB;AACF;","names":[]}
|
|
@@ -1,25 +1,28 @@
|
|
|
1
1
|
import {
|
|
2
2
|
redactGitHubCIConfig
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-ZPB3SLPK.js";
|
|
4
4
|
|
|
5
5
|
// src/resource/github_ci/github_ci.ts
|
|
6
6
|
import {
|
|
7
7
|
BaseResource,
|
|
8
8
|
GITHUB_CI_COMMANDS,
|
|
9
9
|
GITHUB_CI_PROMPT,
|
|
10
|
-
|
|
10
|
+
GITHUB_CI_OPS,
|
|
11
11
|
GitHubCIAccessor,
|
|
12
12
|
HttpCITransport,
|
|
13
13
|
PathSpec,
|
|
14
14
|
ResourceName,
|
|
15
15
|
githubCiRead,
|
|
16
16
|
githubCiReaddir,
|
|
17
|
-
|
|
18
|
-
githubCiStat
|
|
17
|
+
makeResolveGlob,
|
|
18
|
+
githubCiStat,
|
|
19
|
+
mountKey,
|
|
20
|
+
mountPrefixOf
|
|
19
21
|
} from "@struktoai/mirage-core";
|
|
22
|
+
var githubCiResolveGlob = makeResolveGlob(githubCiReaddir);
|
|
20
23
|
var GitHubCIResource = class extends BaseResource {
|
|
21
24
|
kind = ResourceName.GITHUB_CI;
|
|
22
|
-
|
|
25
|
+
cachesReads = true;
|
|
23
26
|
indexTtl = 86400;
|
|
24
27
|
prompt = GITHUB_CI_PROMPT;
|
|
25
28
|
config;
|
|
@@ -47,7 +50,7 @@ var GitHubCIResource = class extends BaseResource {
|
|
|
47
50
|
return GITHUB_CI_COMMANDS;
|
|
48
51
|
}
|
|
49
52
|
ops() {
|
|
50
|
-
return
|
|
53
|
+
return GITHUB_CI_OPS;
|
|
51
54
|
}
|
|
52
55
|
readFile(p) {
|
|
53
56
|
return githubCiRead(this.accessor, p, this.index);
|
|
@@ -58,18 +61,14 @@ var GitHubCIResource = class extends BaseResource {
|
|
|
58
61
|
stat(p) {
|
|
59
62
|
return githubCiStat(this.accessor, p, this.index);
|
|
60
63
|
}
|
|
61
|
-
async fingerprint(p) {
|
|
62
|
-
const lookup = await this.index.get(p.original);
|
|
63
|
-
return lookup.entry?.remoteTime ?? null;
|
|
64
|
-
}
|
|
65
64
|
glob(paths, prefix = "") {
|
|
66
65
|
const effective = prefix !== "" ? paths.map(
|
|
67
|
-
(p) => p.
|
|
68
|
-
|
|
66
|
+
(p) => mountPrefixOf(p.virtual, p.resourcePath) !== "" ? p : new PathSpec({
|
|
67
|
+
virtual: p.virtual,
|
|
69
68
|
directory: p.directory,
|
|
70
69
|
...p.pattern !== null ? { pattern: p.pattern } : {},
|
|
71
70
|
resolved: p.resolved,
|
|
72
|
-
prefix
|
|
71
|
+
resourcePath: mountKey(p.virtual, prefix)
|
|
73
72
|
})
|
|
74
73
|
) : paths;
|
|
75
74
|
return githubCiResolveGlob(this.accessor, effective, this.index);
|
|
@@ -88,4 +87,4 @@ var GitHubCIResource = class extends BaseResource {
|
|
|
88
87
|
export {
|
|
89
88
|
GitHubCIResource
|
|
90
89
|
};
|
|
91
|
-
//# sourceMappingURL=chunk-
|
|
90
|
+
//# sourceMappingURL=chunk-JBDFYIN2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/resource/github_ci/github_ci.ts"],"sourcesContent":["// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n\nimport {\n BaseResource,\n GITHUB_CI_COMMANDS,\n GITHUB_CI_PROMPT,\n GITHUB_CI_OPS,\n GitHubCIAccessor,\n HttpCITransport,\n PathSpec,\n ResourceName,\n githubCiRead,\n githubCiReaddir,\n makeResolveGlob,\n githubCiStat,\n mountKey,\n mountPrefixOf,\n type FileStat,\n type RegisteredCommand,\n type RegisteredOp,\n type Resource,\n} from '@struktoai/mirage-core'\nimport { redactGitHubCIConfig, type GitHubCIConfig, type GitHubCIConfigRedacted } from './config.ts'\n\nconst githubCiResolveGlob = makeResolveGlob(githubCiReaddir)\n\nexport interface GitHubCIResourceState {\n type: string\n config: GitHubCIConfigRedacted\n}\n\nexport class GitHubCIResource extends BaseResource implements Resource {\n readonly kind: string = ResourceName.GITHUB_CI\n readonly cachesReads: boolean = true\n override readonly indexTtl: number = 86_400\n readonly prompt: string = GITHUB_CI_PROMPT\n readonly config: GitHubCIConfig\n readonly accessor: GitHubCIAccessor\n\n constructor(config: GitHubCIConfig) {\n super()\n this.config = config\n const transportOpts: { token: string; baseUrl?: string } = { token: config.token }\n if (config.baseUrl !== undefined) transportOpts.baseUrl = config.baseUrl\n this.accessor = new GitHubCIAccessor({\n transport: new HttpCITransport(transportOpts),\n owner: config.owner,\n repo: config.repo,\n days: config.days ?? 30,\n maxRuns: config.maxRuns ?? 300,\n })\n }\n\n open(): Promise<void> {\n return Promise.resolve()\n }\n\n close(): Promise<void> {\n return Promise.resolve()\n }\n\n commands(): readonly RegisteredCommand[] {\n return GITHUB_CI_COMMANDS\n }\n\n ops(): readonly RegisteredOp[] {\n return GITHUB_CI_OPS\n }\n\n readFile(p: PathSpec): Promise<Uint8Array> {\n return githubCiRead(this.accessor, p, this.index)\n }\n\n readdir(p: PathSpec): Promise<string[]> {\n return githubCiReaddir(this.accessor, p, this.index)\n }\n\n stat(p: PathSpec): Promise<FileStat> {\n return githubCiStat(this.accessor, p, this.index)\n }\n\n glob(paths: readonly PathSpec[], prefix = ''): Promise<PathSpec[]> {\n const effective =\n prefix !== ''\n ? paths.map((p) =>\n mountPrefixOf(p.virtual, p.resourcePath) !== ''\n ? p\n : new PathSpec({\n virtual: p.virtual,\n directory: p.directory,\n ...(p.pattern !== null ? { pattern: p.pattern } : {}),\n resolved: p.resolved,\n resourcePath: mountKey(p.virtual, prefix),\n }),\n )\n : paths\n return githubCiResolveGlob(this.accessor, effective, this.index)\n }\n\n getState(): Promise<GitHubCIResourceState> {\n return Promise.resolve({\n type: this.kind,\n config: redactGitHubCIConfig(this.config),\n })\n }\n\n loadState(_state: GitHubCIResourceState): Promise<void> {\n return Promise.resolve()\n }\n}\n"],"mappings":";;;;;AAcA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAKK;AAGP,IAAM,sBAAsB,gBAAgB,eAAe;AAOpD,IAAM,mBAAN,cAA+B,aAAiC;AAAA,EAC5D,OAAe,aAAa;AAAA,EAC5B,cAAuB;AAAA,EACd,WAAmB;AAAA,EAC5B,SAAiB;AAAA,EACjB;AAAA,EACA;AAAA,EAET,YAAY,QAAwB;AAClC,UAAM;AACN,SAAK,SAAS;AACd,UAAM,gBAAqD,EAAE,OAAO,OAAO,MAAM;AACjF,QAAI,OAAO,YAAY,OAAW,eAAc,UAAU,OAAO;AACjE,SAAK,WAAW,IAAI,iBAAiB;AAAA,MACnC,WAAW,IAAI,gBAAgB,aAAa;AAAA,MAC5C,OAAO,OAAO;AAAA,MACd,MAAM,OAAO;AAAA,MACb,MAAM,OAAO,QAAQ;AAAA,MACrB,SAAS,OAAO,WAAW;AAAA,IAC7B,CAAC;AAAA,EACH;AAAA,EAEA,OAAsB;AACpB,WAAO,QAAQ,QAAQ;AAAA,EACzB;AAAA,EAEA,QAAuB;AACrB,WAAO,QAAQ,QAAQ;AAAA,EACzB;AAAA,EAEA,WAAyC;AACvC,WAAO;AAAA,EACT;AAAA,EAEA,MAA+B;AAC7B,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,GAAkC;AACzC,WAAO,aAAa,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EAClD;AAAA,EAEA,QAAQ,GAAgC;AACtC,WAAO,gBAAgB,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EACrD;AAAA,EAEA,KAAK,GAAgC;AACnC,WAAO,aAAa,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EAClD;AAAA,EAEA,KAAK,OAA4B,SAAS,IAAyB;AACjE,UAAM,YACJ,WAAW,KACP,MAAM;AAAA,MAAI,CAAC,MACT,cAAc,EAAE,SAAS,EAAE,YAAY,MAAM,KACzC,IACA,IAAI,SAAS;AAAA,QACX,SAAS,EAAE;AAAA,QACX,WAAW,EAAE;AAAA,QACb,GAAI,EAAE,YAAY,OAAO,EAAE,SAAS,EAAE,QAAQ,IAAI,CAAC;AAAA,QACnD,UAAU,EAAE;AAAA,QACZ,cAAc,SAAS,EAAE,SAAS,MAAM;AAAA,MAC1C,CAAC;AAAA,IACP,IACA;AACN,WAAO,oBAAoB,KAAK,UAAU,WAAW,KAAK,KAAK;AAAA,EACjE;AAAA,EAEA,WAA2C;AACzC,WAAO,QAAQ,QAAQ;AAAA,MACrB,MAAM,KAAK;AAAA,MACX,QAAQ,qBAAqB,KAAK,MAAM;AAAA,IAC1C,CAAC;AAAA,EACH;AAAA,EAEA,UAAU,QAA8C;AACtD,WAAO,QAAQ,QAAQ;AAAA,EACzB;AACF;","names":[]}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
redactGDocsConfig
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-JHI2PHHD.js";
|
|
4
4
|
|
|
5
5
|
// src/resource/gdocs/gdocs.ts
|
|
6
6
|
import {
|
|
7
7
|
BaseResource,
|
|
8
8
|
GDOCS_COMMANDS,
|
|
9
9
|
GDOCS_PROMPT,
|
|
10
|
-
|
|
10
|
+
GDOCS_OPS,
|
|
11
11
|
GDOCS_WRITE_PROMPT,
|
|
12
12
|
GDocsAccessor,
|
|
13
13
|
PathSpec,
|
|
@@ -15,12 +15,15 @@ import {
|
|
|
15
15
|
TokenManager,
|
|
16
16
|
gdocsRead,
|
|
17
17
|
gdocsReaddir,
|
|
18
|
-
|
|
19
|
-
gdocsStat
|
|
18
|
+
makeResolveGlob,
|
|
19
|
+
gdocsStat,
|
|
20
|
+
mountKey,
|
|
21
|
+
mountPrefixOf
|
|
20
22
|
} from "@struktoai/mirage-core";
|
|
23
|
+
var gdocsResolveGlob = makeResolveGlob(gdocsReaddir);
|
|
21
24
|
var GDocsResource = class extends BaseResource {
|
|
22
25
|
kind = ResourceName.GDOCS;
|
|
23
|
-
|
|
26
|
+
cachesReads = true;
|
|
24
27
|
indexTtl = 86400;
|
|
25
28
|
prompt = GDOCS_PROMPT;
|
|
26
29
|
writePrompt = GDOCS_WRITE_PROMPT;
|
|
@@ -32,7 +35,8 @@ var GDocsResource = class extends BaseResource {
|
|
|
32
35
|
const tm = new TokenManager({
|
|
33
36
|
clientId: config.clientId,
|
|
34
37
|
clientSecret: config.clientSecret,
|
|
35
|
-
refreshToken: config.refreshToken
|
|
38
|
+
refreshToken: config.refreshToken,
|
|
39
|
+
...config.refreshFn !== void 0 ? { refreshFn: config.refreshFn } : {}
|
|
36
40
|
});
|
|
37
41
|
this.accessor = new GDocsAccessor({ tokenManager: tm });
|
|
38
42
|
}
|
|
@@ -46,7 +50,7 @@ var GDocsResource = class extends BaseResource {
|
|
|
46
50
|
return GDOCS_COMMANDS;
|
|
47
51
|
}
|
|
48
52
|
ops() {
|
|
49
|
-
return
|
|
53
|
+
return GDOCS_OPS;
|
|
50
54
|
}
|
|
51
55
|
readFile(p) {
|
|
52
56
|
return gdocsRead(this.accessor, p, this.index);
|
|
@@ -57,18 +61,14 @@ var GDocsResource = class extends BaseResource {
|
|
|
57
61
|
stat(p) {
|
|
58
62
|
return gdocsStat(this.accessor, p, this.index);
|
|
59
63
|
}
|
|
60
|
-
async fingerprint(p) {
|
|
61
|
-
const lookup = await this.index.get(p.original);
|
|
62
|
-
return lookup.entry?.remoteTime ?? null;
|
|
63
|
-
}
|
|
64
64
|
glob(paths, prefix = "") {
|
|
65
65
|
const effective = prefix !== "" ? paths.map(
|
|
66
|
-
(p) => p.
|
|
67
|
-
|
|
66
|
+
(p) => mountPrefixOf(p.virtual, p.resourcePath) !== "" ? p : new PathSpec({
|
|
67
|
+
virtual: p.virtual,
|
|
68
68
|
directory: p.directory,
|
|
69
69
|
...p.pattern !== null ? { pattern: p.pattern } : {},
|
|
70
70
|
resolved: p.resolved,
|
|
71
|
-
prefix
|
|
71
|
+
resourcePath: mountKey(p.virtual, prefix)
|
|
72
72
|
})
|
|
73
73
|
) : paths;
|
|
74
74
|
return gdocsResolveGlob(this.accessor, effective, this.index);
|
|
@@ -87,4 +87,4 @@ var GDocsResource = class extends BaseResource {
|
|
|
87
87
|
export {
|
|
88
88
|
GDocsResource
|
|
89
89
|
};
|
|
90
|
-
//# sourceMappingURL=chunk-
|
|
90
|
+
//# sourceMappingURL=chunk-JEBH5APX.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/resource/gdocs/gdocs.ts"],"sourcesContent":["// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n\nimport {\n BaseResource,\n GDOCS_COMMANDS,\n GDOCS_PROMPT,\n GDOCS_OPS,\n GDOCS_WRITE_PROMPT,\n GDocsAccessor,\n PathSpec,\n ResourceName,\n TokenManager,\n gdocsRead,\n gdocsReaddir,\n makeResolveGlob,\n gdocsStat,\n mountKey,\n mountPrefixOf,\n type FileStat,\n type RegisteredCommand,\n type RegisteredOp,\n type Resource,\n} from '@struktoai/mirage-core'\nimport { redactGDocsConfig, type GDocsConfig, type GDocsConfigRedacted } from './config.ts'\n\nconst gdocsResolveGlob = makeResolveGlob(gdocsReaddir)\n\nexport interface GDocsResourceState {\n type: string\n config: GDocsConfigRedacted\n}\n\nexport class GDocsResource extends BaseResource implements Resource {\n readonly kind: string = ResourceName.GDOCS\n readonly cachesReads: boolean = true\n override readonly indexTtl: number = 86_400\n readonly prompt: string = GDOCS_PROMPT\n readonly writePrompt: string = GDOCS_WRITE_PROMPT\n readonly config: GDocsConfig\n readonly accessor: GDocsAccessor\n\n constructor(config: GDocsConfig) {\n super()\n this.config = config\n const tm = new TokenManager({\n clientId: config.clientId,\n clientSecret: config.clientSecret,\n refreshToken: config.refreshToken,\n ...(config.refreshFn !== undefined ? { refreshFn: config.refreshFn } : {}),\n })\n this.accessor = new GDocsAccessor({ tokenManager: tm })\n }\n\n open(): Promise<void> {\n return Promise.resolve()\n }\n\n close(): Promise<void> {\n return Promise.resolve()\n }\n\n commands(): readonly RegisteredCommand[] {\n return GDOCS_COMMANDS\n }\n\n ops(): readonly RegisteredOp[] {\n return GDOCS_OPS\n }\n\n readFile(p: PathSpec): Promise<Uint8Array> {\n return gdocsRead(this.accessor, p, this.index)\n }\n\n readdir(p: PathSpec): Promise<string[]> {\n return gdocsReaddir(this.accessor, p, this.index)\n }\n\n stat(p: PathSpec): Promise<FileStat> {\n return gdocsStat(this.accessor, p, this.index)\n }\n\n glob(paths: readonly PathSpec[], prefix = ''): Promise<PathSpec[]> {\n const effective =\n prefix !== ''\n ? paths.map((p) =>\n mountPrefixOf(p.virtual, p.resourcePath) !== ''\n ? p\n : new PathSpec({\n virtual: p.virtual,\n directory: p.directory,\n ...(p.pattern !== null ? { pattern: p.pattern } : {}),\n resolved: p.resolved,\n resourcePath: mountKey(p.virtual, prefix),\n }),\n )\n : paths\n return gdocsResolveGlob(this.accessor, effective, this.index)\n }\n\n getState(): Promise<GDocsResourceState> {\n return Promise.resolve({\n type: this.kind,\n config: redactGDocsConfig(this.config),\n })\n }\n\n loadState(_state: GDocsResourceState): Promise<void> {\n return Promise.resolve()\n }\n}\n"],"mappings":";;;;;AAcA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAKK;AAGP,IAAM,mBAAmB,gBAAgB,YAAY;AAO9C,IAAM,gBAAN,cAA4B,aAAiC;AAAA,EACzD,OAAe,aAAa;AAAA,EAC5B,cAAuB;AAAA,EACd,WAAmB;AAAA,EAC5B,SAAiB;AAAA,EACjB,cAAsB;AAAA,EACtB;AAAA,EACA;AAAA,EAET,YAAY,QAAqB;AAC/B,UAAM;AACN,SAAK,SAAS;AACd,UAAM,KAAK,IAAI,aAAa;AAAA,MAC1B,UAAU,OAAO;AAAA,MACjB,cAAc,OAAO;AAAA,MACrB,cAAc,OAAO;AAAA,MACrB,GAAI,OAAO,cAAc,SAAY,EAAE,WAAW,OAAO,UAAU,IAAI,CAAC;AAAA,IAC1E,CAAC;AACD,SAAK,WAAW,IAAI,cAAc,EAAE,cAAc,GAAG,CAAC;AAAA,EACxD;AAAA,EAEA,OAAsB;AACpB,WAAO,QAAQ,QAAQ;AAAA,EACzB;AAAA,EAEA,QAAuB;AACrB,WAAO,QAAQ,QAAQ;AAAA,EACzB;AAAA,EAEA,WAAyC;AACvC,WAAO;AAAA,EACT;AAAA,EAEA,MAA+B;AAC7B,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,GAAkC;AACzC,WAAO,UAAU,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EAC/C;AAAA,EAEA,QAAQ,GAAgC;AACtC,WAAO,aAAa,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EAClD;AAAA,EAEA,KAAK,GAAgC;AACnC,WAAO,UAAU,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EAC/C;AAAA,EAEA,KAAK,OAA4B,SAAS,IAAyB;AACjE,UAAM,YACJ,WAAW,KACP,MAAM;AAAA,MAAI,CAAC,MACT,cAAc,EAAE,SAAS,EAAE,YAAY,MAAM,KACzC,IACA,IAAI,SAAS;AAAA,QACX,SAAS,EAAE;AAAA,QACX,WAAW,EAAE;AAAA,QACb,GAAI,EAAE,YAAY,OAAO,EAAE,SAAS,EAAE,QAAQ,IAAI,CAAC;AAAA,QACnD,UAAU,EAAE;AAAA,QACZ,cAAc,SAAS,EAAE,SAAS,MAAM;AAAA,MAC1C,CAAC;AAAA,IACP,IACA;AACN,WAAO,iBAAiB,KAAK,UAAU,WAAW,KAAK,KAAK;AAAA,EAC9D;AAAA,EAEA,WAAwC;AACtC,WAAO,QAAQ,QAAQ;AAAA,MACrB,MAAM,KAAK;AAAA,MACX,QAAQ,kBAAkB,KAAK,MAAM;AAAA,IACvC,CAAC;AAAA,EACH;AAAA,EAEA,UAAU,QAA2C;AACnD,WAAO,QAAQ,QAAQ;AAAA,EACzB;AACF;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/resource/gdocs/config.ts"],"sourcesContent":["// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n\nimport { normalizeFields, redactConfigWithSchema, secretStr, z } from '@struktoai/mirage-core'\n\nexport interface GDocsConfig {\n clientId: string\n clientSecret: string\n refreshToken: string\n refreshFn?: (refreshToken: string) => Promise<{ accessToken: string; expiresIn: number }>\n}\n\nexport interface GDocsConfigRedacted {\n clientId: string\n clientSecret: '<REDACTED>'\n refreshToken: '<REDACTED>'\n}\n\
|
|
1
|
+
{"version":3,"sources":["../src/resource/gdocs/config.ts"],"sourcesContent":["// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n\nimport { normalizeFields, redactConfigWithSchema, secretStr, z } from '@struktoai/mirage-core'\n\nexport interface GDocsConfig {\n clientId: string\n clientSecret: string\n refreshToken: string\n refreshFn?: (refreshToken: string) => Promise<{ accessToken: string; expiresIn: number }>\n}\n\nexport interface GDocsConfigRedacted {\n clientId: string\n clientSecret: '<REDACTED>'\n refreshToken: '<REDACTED>'\n}\n\nconst GDocsConfigSchema = z.object({\n clientId: z.string(),\n clientSecret: secretStr(),\n refreshToken: secretStr(),\n})\n\nexport function redactGDocsConfig(config: GDocsConfig): GDocsConfigRedacted {\n return redactConfigWithSchema(GDocsConfigSchema, config) as unknown as GDocsConfigRedacted\n}\n\nexport function normalizeGDocsConfig(input: Record<string, unknown>): GDocsConfig {\n return normalizeFields(input, {\n rename: {\n client_id: 'clientId',\n client_secret: 'clientSecret',\n refresh_token: 'refreshToken',\n },\n }) as unknown as GDocsConfig\n}\n"],"mappings":";AAcA,SAAS,iBAAiB,wBAAwB,WAAW,SAAS;AAetE,IAAM,oBAAoB,EAAE,OAAO;AAAA,EACjC,UAAU,EAAE,OAAO;AAAA,EACnB,cAAc,UAAU;AAAA,EACxB,cAAc,UAAU;AAC1B,CAAC;AAEM,SAAS,kBAAkB,QAA0C;AAC1E,SAAO,uBAAuB,mBAAmB,MAAM;AACzD;AAEO,SAAS,qBAAqB,OAA6C;AAChF,SAAO,gBAAgB,OAAO;AAAA,IAC5B,QAAQ;AAAA,MACN,WAAW;AAAA,MACX,eAAe;AAAA,MACf,eAAe;AAAA,IACjB;AAAA,EACF,CAAC;AACH;","names":[]}
|
|
@@ -66,11 +66,9 @@ function normalizeHfRepoConfig(input) {
|
|
|
66
66
|
export {
|
|
67
67
|
HF_ENDPOINT,
|
|
68
68
|
assertHfRepoId,
|
|
69
|
-
HfBucketsConfigSchema,
|
|
70
69
|
redactHfBucketsConfig,
|
|
71
70
|
normalizeHfBucketsConfig,
|
|
72
|
-
HfRepoConfigSchema,
|
|
73
71
|
redactHfRepoConfig,
|
|
74
72
|
normalizeHfRepoConfig
|
|
75
73
|
};
|
|
76
|
-
//# sourceMappingURL=chunk-
|
|
74
|
+
//# sourceMappingURL=chunk-KAWDDS27.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/resource/hf_buckets/config.ts"],"sourcesContent":["// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n\nimport { normalizeFields, redactConfigWithSchema, secretStr, z } from '@struktoai/mirage-core'\n\nexport const HF_ENDPOINT = 'https://huggingface.co'\n\nexport function assertHfRepoId(value: string, field: string): string {\n const parts = value.split('/')\n if (parts.length !== 2 || parts[0] === '' || parts[1] === '') {\n throw new Error(`${field} must be in 'namespace/name' form; got ${JSON.stringify(value)}`)\n }\n return value\n}\n\nexport interface HfBucketsConfig {\n bucket: string\n token?: string\n endpoint?: string\n timeoutMs?: number\n keyPrefix?: string\n}\n\nexport interface HfBucketsConfigRedacted {\n bucket: string\n token?: string\n endpoint: string\n timeoutMs?: number\n keyPrefix?: string\n}\n\nconst HfBucketsConfigSchema = z.object({\n bucket: z.string(),\n token: secretStr().optional(),\n endpoint: z.string(),\n timeoutMs: z.number().optional(),\n keyPrefix: z.string().optional(),\n})\n\nexport function redactHfBucketsConfig(config: HfBucketsConfig): HfBucketsConfigRedacted {\n return redactConfigWithSchema(HfBucketsConfigSchema, {\n ...config,\n endpoint: config.endpoint ?? HF_ENDPOINT,\n }) as unknown as HfBucketsConfigRedacted\n}\n\nexport function normalizeHfBucketsConfig(input: Record<string, unknown>): HfBucketsConfig {\n const config = normalizeFields(input, {\n rename: {\n key_prefix: 'keyPrefix',\n timeout: 'timeoutMs',\n },\n transform: {\n timeout: (v: unknown) => (typeof v === 'number' ? v * 1000 : v),\n },\n }) as unknown as HfBucketsConfig\n assertHfRepoId(config.bucket, 'bucket')\n return config\n}\n\nexport interface HfRepoConfig {\n repoId: string\n token?: string\n endpoint?: string\n timeoutMs?: number\n keyPrefix?: string\n revision?: string\n}\n\nexport interface HfRepoConfigRedacted {\n repoId: string\n token?: string\n endpoint: string\n timeoutMs?: number\n keyPrefix?: string\n revision?: string\n}\n\nconst HfRepoConfigSchema = z.object({\n repoId: z.string(),\n token: secretStr().optional(),\n endpoint: z.string(),\n timeoutMs: z.number().optional(),\n keyPrefix: z.string().optional(),\n revision: z.string().optional(),\n})\n\nexport function redactHfRepoConfig(config: HfRepoConfig): HfRepoConfigRedacted {\n return redactConfigWithSchema(HfRepoConfigSchema, {\n ...config,\n endpoint: config.endpoint ?? HF_ENDPOINT,\n }) as unknown as HfRepoConfigRedacted\n}\n\nexport function normalizeHfRepoConfig(input: Record<string, unknown>): HfRepoConfig {\n const config = normalizeFields(input, {\n rename: {\n repo_id: 'repoId',\n key_prefix: 'keyPrefix',\n timeout: 'timeoutMs',\n },\n transform: {\n timeout: (v: unknown) => (typeof v === 'number' ? v * 1000 : v),\n },\n }) as unknown as HfRepoConfig\n assertHfRepoId(config.repoId, 'repo_id')\n return config\n}\n"],"mappings":";AAcA,SAAS,iBAAiB,wBAAwB,WAAW,SAAS;AAE/D,IAAM,cAAc;AAEpB,SAAS,eAAe,OAAe,OAAuB;AACnE,QAAM,QAAQ,MAAM,MAAM,GAAG;AAC7B,MAAI,MAAM,WAAW,KAAK,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,MAAM,IAAI;AAC5D,UAAM,IAAI,MAAM,GAAG,KAAK,0CAA0C,KAAK,UAAU,KAAK,CAAC,EAAE;AAAA,EAC3F;AACA,SAAO;AACT;AAkBA,IAAM,wBAAwB,EAAE,OAAO;AAAA,EACrC,QAAQ,EAAE,OAAO;AAAA,EACjB,OAAO,UAAU,EAAE,SAAS;AAAA,EAC5B,UAAU,EAAE,OAAO;AAAA,EACnB,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,EAC/B,WAAW,EAAE,OAAO,EAAE,SAAS;AACjC,CAAC;AAEM,SAAS,sBAAsB,QAAkD;AACtF,SAAO,uBAAuB,uBAAuB;AAAA,IACnD,GAAG;AAAA,IACH,UAAU,OAAO,YAAY;AAAA,EAC/B,CAAC;AACH;AAEO,SAAS,yBAAyB,OAAiD;AACxF,QAAM,SAAS,gBAAgB,OAAO;AAAA,IACpC,QAAQ;AAAA,MACN,YAAY;AAAA,MACZ,SAAS;AAAA,IACX;AAAA,IACA,WAAW;AAAA,MACT,SAAS,CAAC,MAAgB,OAAO,MAAM,WAAW,IAAI,MAAO;AAAA,IAC/D;AAAA,EACF,CAAC;AACD,iBAAe,OAAO,QAAQ,QAAQ;AACtC,SAAO;AACT;AAoBA,IAAM,qBAAqB,EAAE,OAAO;AAAA,EAClC,QAAQ,EAAE,OAAO;AAAA,EACjB,OAAO,UAAU,EAAE,SAAS;AAAA,EAC5B,UAAU,EAAE,OAAO;AAAA,EACnB,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,EAC/B,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,EAC/B,UAAU,EAAE,OAAO,EAAE,SAAS;AAChC,CAAC;AAEM,SAAS,mBAAmB,QAA4C;AAC7E,SAAO,uBAAuB,oBAAoB;AAAA,IAChD,GAAG;AAAA,IACH,UAAU,OAAO,YAAY;AAAA,EAC/B,CAAC;AACH;AAEO,SAAS,sBAAsB,OAA8C;AAClF,QAAM,SAAS,gBAAgB,OAAO;AAAA,IACpC,QAAQ;AAAA,MACN,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,SAAS;AAAA,IACX;AAAA,IACA,WAAW;AAAA,MACT,SAAS,CAAC,MAAgB,OAAO,MAAM,WAAW,IAAI,MAAO;AAAA,IAC/D;AAAA,EACF,CAAC;AACD,iBAAe,OAAO,QAAQ,SAAS;AACvC,SAAO;AACT;","names":[]}
|
|
@@ -3,7 +3,8 @@ import { normalizeFields, redactConfigWithSchema, secretStr, z } from "@struktoa
|
|
|
3
3
|
var GDriveConfigSchema = z.object({
|
|
4
4
|
clientId: z.string(),
|
|
5
5
|
clientSecret: secretStr(),
|
|
6
|
-
refreshToken: secretStr()
|
|
6
|
+
refreshToken: secretStr(),
|
|
7
|
+
folderId: z.string().optional()
|
|
7
8
|
});
|
|
8
9
|
function redactGDriveConfig(config) {
|
|
9
10
|
return redactConfigWithSchema(GDriveConfigSchema, config);
|
|
@@ -13,14 +14,14 @@ function normalizeGDriveConfig(input) {
|
|
|
13
14
|
rename: {
|
|
14
15
|
client_id: "clientId",
|
|
15
16
|
client_secret: "clientSecret",
|
|
16
|
-
refresh_token: "refreshToken"
|
|
17
|
+
refresh_token: "refreshToken",
|
|
18
|
+
folder_id: "folderId"
|
|
17
19
|
}
|
|
18
20
|
});
|
|
19
21
|
}
|
|
20
22
|
|
|
21
23
|
export {
|
|
22
|
-
GDriveConfigSchema,
|
|
23
24
|
redactGDriveConfig,
|
|
24
25
|
normalizeGDriveConfig
|
|
25
26
|
};
|
|
26
|
-
//# sourceMappingURL=chunk-
|
|
27
|
+
//# sourceMappingURL=chunk-KGC2OGXI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/resource/gdrive/config.ts"],"sourcesContent":["// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n\nimport { normalizeFields, redactConfigWithSchema, secretStr, z } from '@struktoai/mirage-core'\n\nexport interface GDriveConfig {\n clientId: string\n clientSecret: string\n refreshToken: string\n refreshFn?: (refreshToken: string) => Promise<{ accessToken: string; expiresIn: number }>\n folderId?: string\n}\n\nexport interface GDriveConfigRedacted {\n clientId: string\n clientSecret: '<REDACTED>'\n refreshToken: '<REDACTED>'\n}\n\nconst GDriveConfigSchema = z.object({\n clientId: z.string(),\n clientSecret: secretStr(),\n refreshToken: secretStr(),\n folderId: z.string().optional(),\n})\n\nexport function redactGDriveConfig(config: GDriveConfig): GDriveConfigRedacted {\n return redactConfigWithSchema(GDriveConfigSchema, config) as unknown as GDriveConfigRedacted\n}\n\nexport function normalizeGDriveConfig(input: Record<string, unknown>): GDriveConfig {\n return normalizeFields(input, {\n rename: {\n client_id: 'clientId',\n client_secret: 'clientSecret',\n refresh_token: 'refreshToken',\n folder_id: 'folderId',\n },\n }) as unknown as GDriveConfig\n}\n"],"mappings":";AAcA,SAAS,iBAAiB,wBAAwB,WAAW,SAAS;AAgBtE,IAAM,qBAAqB,EAAE,OAAO;AAAA,EAClC,UAAU,EAAE,OAAO;AAAA,EACnB,cAAc,UAAU;AAAA,EACxB,cAAc,UAAU;AAAA,EACxB,UAAU,EAAE,OAAO,EAAE,SAAS;AAChC,CAAC;AAEM,SAAS,mBAAmB,QAA4C;AAC7E,SAAO,uBAAuB,oBAAoB,MAAM;AAC1D;AAEO,SAAS,sBAAsB,OAA8C;AAClF,SAAO,gBAAgB,OAAO;AAAA,IAC5B,QAAQ;AAAA,MACN,WAAW;AAAA,MACX,eAAe;AAAA,MACf,eAAe;AAAA,MACf,WAAW;AAAA,IACb;AAAA,EACF,CAAC;AACH;","names":[]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
redactScalewayConfig,
|
|
3
3
|
scalewayToS3Config
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-YBVMZ7SR.js";
|
|
5
5
|
import {
|
|
6
6
|
S3Resource
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-IUXXZHY3.js";
|
|
8
8
|
|
|
9
9
|
// src/resource/scaleway/scaleway.ts
|
|
10
10
|
import {
|
|
@@ -54,4 +54,4 @@ export {
|
|
|
54
54
|
SCALEWAY_PROMPT,
|
|
55
55
|
ScalewayResource
|
|
56
56
|
};
|
|
57
|
-
//# sourceMappingURL=chunk-
|
|
57
|
+
//# sourceMappingURL=chunk-L4GMDSMB.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
redactWasabiConfig,
|
|
3
3
|
wasabiToS3Config
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-S4KVLPBR.js";
|
|
5
5
|
import {
|
|
6
6
|
S3Resource
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-IUXXZHY3.js";
|
|
8
8
|
|
|
9
9
|
// src/resource/wasabi/wasabi.ts
|
|
10
10
|
import {
|
|
@@ -54,4 +54,4 @@ export {
|
|
|
54
54
|
WASABI_PROMPT,
|
|
55
55
|
WasabiResource
|
|
56
56
|
};
|
|
57
|
-
//# sourceMappingURL=chunk-
|
|
57
|
+
//# sourceMappingURL=chunk-L7FEZ7LU.js.map
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
// src/resource/gmail/config.ts
|
|
2
2
|
import {
|
|
3
|
-
GoogleConfigSchema,
|
|
4
3
|
normalizeGoogleConfig,
|
|
5
4
|
redactGoogleConfig
|
|
6
5
|
} from "@struktoai/mirage-core";
|
|
7
6
|
|
|
8
7
|
export {
|
|
9
|
-
GoogleConfigSchema,
|
|
10
8
|
normalizeGoogleConfig,
|
|
11
9
|
redactGoogleConfig
|
|
12
10
|
};
|
|
13
|
-
//# sourceMappingURL=chunk-
|
|
11
|
+
//# sourceMappingURL=chunk-LPDLPRPS.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/resource/gmail/config.ts"],"sourcesContent":["// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n\nexport {\n
|
|
1
|
+
{"version":3,"sources":["../src/resource/gmail/config.ts"],"sourcesContent":["// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n\nexport {\n normalizeGoogleConfig as normalizeGmailConfig,\n redactGoogleConfig as redactGmailConfig,\n type GoogleConfig as GmailConfig,\n type GoogleConfigRedacted as GmailConfigRedacted,\n} from '@struktoai/mirage-core'\n"],"mappings":";AAcA;AAAA,EAC2B;AAAA,EACH;AAAA,OAGjB;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/resource/ssh/config.ts"],"sourcesContent":["// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n\nimport { normalizeFields, redactConfigWithSchema, secretStr, z } from '@struktoai/mirage-core'\n\nexport interface SSHConfig {\n host: string\n hostname?: string\n port?: number\n username?: string\n password?: string\n identityFile?: string\n passphrase?: string\n root?: string\n timeout?: number\n knownHosts?: string\n}\n\nexport interface SSHConfigRedacted {\n host: string\n hostname?: string\n port?: number\n username?: string\n password?: '<REDACTED>'\n identityFile?: string\n passphrase?: '<REDACTED>'\n root?: string\n timeout?: number\n knownHosts?: string\n}\n\nconst SSHConfigSchema = z.object({\n host: z.string(),\n hostname: z.string().optional(),\n port: z.number().optional(),\n username: z.string().optional(),\n password: secretStr().optional(),\n identityFile: z.string().optional(),\n passphrase: secretStr().optional(),\n root: z.string().optional(),\n timeout: z.number().optional(),\n knownHosts: z.string().optional(),\n})\n\nexport function redactSshConfig(config: SSHConfig): SSHConfigRedacted {\n return redactConfigWithSchema(SSHConfigSchema, config) as unknown as SSHConfigRedacted\n}\n\nexport function normalizeSshConfig(input: Record<string, unknown>): SSHConfig {\n return normalizeFields(input, {\n rename: {\n identity_file: 'identityFile',\n known_hosts: 'knownHosts',\n },\n }) as unknown as SSHConfig\n}\n"],"mappings":";AAcA,SAAS,iBAAiB,wBAAwB,WAAW,SAAS;AA4BtE,IAAM,kBAAkB,EAAE,OAAO;AAAA,EAC/B,MAAM,EAAE,OAAO;AAAA,EACf,UAAU,EAAE,OAAO,EAAE,SAAS;AAAA,EAC9B,MAAM,EAAE,OAAO,EAAE,SAAS;AAAA,EAC1B,UAAU,EAAE,OAAO,EAAE,SAAS;AAAA,EAC9B,UAAU,UAAU,EAAE,SAAS;AAAA,EAC/B,cAAc,EAAE,OAAO,EAAE,SAAS;AAAA,EAClC,YAAY,UAAU,EAAE,SAAS;AAAA,EACjC,MAAM,EAAE,OAAO,EAAE,SAAS;AAAA,EAC1B,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,YAAY,EAAE,OAAO,EAAE,SAAS;AAClC,CAAC;AAEM,SAAS,gBAAgB,QAAsC;AACpE,SAAO,uBAAuB,iBAAiB,MAAM;AACvD;AAEO,SAAS,mBAAmB,OAA2C;AAC5E,SAAO,gBAAgB,OAAO;AAAA,IAC5B,QAAQ;AAAA,MACN,eAAe;AAAA,MACf,aAAa;AAAA,IACf;AAAA,EACF,CAAC;AACH;","names":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
redactLangfuseConfig
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-AULFV3KY.js";
|
|
4
4
|
|
|
5
5
|
// src/resource/langfuse/langfuse.ts
|
|
6
6
|
import {
|
|
@@ -8,18 +8,21 @@ import {
|
|
|
8
8
|
HttpLangfuseTransport,
|
|
9
9
|
LANGFUSE_COMMANDS,
|
|
10
10
|
LANGFUSE_PROMPT,
|
|
11
|
-
|
|
11
|
+
LANGFUSE_OPS,
|
|
12
12
|
LangfuseAccessor,
|
|
13
|
+
PathSpec,
|
|
14
|
+
ResourceName,
|
|
13
15
|
langfuseRead,
|
|
14
16
|
langfuseReaddir,
|
|
15
17
|
langfuseStat,
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
mountKey,
|
|
19
|
+
mountPrefixOf,
|
|
20
|
+
makeResolveGlob
|
|
19
21
|
} from "@struktoai/mirage-core";
|
|
22
|
+
var resolveLangfuseGlob = makeResolveGlob(langfuseReaddir);
|
|
20
23
|
var LangfuseResource = class extends BaseResource {
|
|
21
24
|
kind = ResourceName.LANGFUSE;
|
|
22
|
-
|
|
25
|
+
cachesReads = true;
|
|
23
26
|
indexTtl = 600;
|
|
24
27
|
prompt = LANGFUSE_PROMPT;
|
|
25
28
|
config;
|
|
@@ -54,7 +57,7 @@ var LangfuseResource = class extends BaseResource {
|
|
|
54
57
|
return LANGFUSE_COMMANDS;
|
|
55
58
|
}
|
|
56
59
|
ops() {
|
|
57
|
-
return
|
|
60
|
+
return LANGFUSE_OPS;
|
|
58
61
|
}
|
|
59
62
|
readFile(p) {
|
|
60
63
|
return langfuseRead(this.accessor, p, this.index);
|
|
@@ -65,17 +68,14 @@ var LangfuseResource = class extends BaseResource {
|
|
|
65
68
|
stat(p) {
|
|
66
69
|
return langfuseStat(this.accessor, p, this.index);
|
|
67
70
|
}
|
|
68
|
-
fingerprint(_p) {
|
|
69
|
-
return Promise.resolve(null);
|
|
70
|
-
}
|
|
71
71
|
glob(paths, prefix = "") {
|
|
72
72
|
const effective = prefix !== "" ? paths.map(
|
|
73
|
-
(p) => p.
|
|
74
|
-
|
|
73
|
+
(p) => mountPrefixOf(p.virtual, p.resourcePath) !== "" ? p : new PathSpec({
|
|
74
|
+
virtual: p.virtual,
|
|
75
75
|
directory: p.directory,
|
|
76
76
|
...p.pattern !== null ? { pattern: p.pattern } : {},
|
|
77
77
|
resolved: p.resolved,
|
|
78
|
-
prefix
|
|
78
|
+
resourcePath: mountKey(p.virtual, prefix)
|
|
79
79
|
})
|
|
80
80
|
) : paths;
|
|
81
81
|
return resolveLangfuseGlob(this.accessor, effective, this.index);
|
|
@@ -94,4 +94,4 @@ var LangfuseResource = class extends BaseResource {
|
|
|
94
94
|
export {
|
|
95
95
|
LangfuseResource
|
|
96
96
|
};
|
|
97
|
-
//# sourceMappingURL=chunk-
|
|
97
|
+
//# sourceMappingURL=chunk-M6E7VK4D.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/resource/langfuse/langfuse.ts"],"sourcesContent":["// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n\nimport {\n BaseResource,\n HttpLangfuseTransport,\n LANGFUSE_COMMANDS,\n LANGFUSE_PROMPT,\n LANGFUSE_OPS,\n LangfuseAccessor,\n PathSpec,\n ResourceName,\n langfuseRead,\n langfuseReaddir,\n langfuseStat,\n mountKey,\n mountPrefixOf,\n makeResolveGlob,\n type FileStat,\n type RegisteredCommand,\n type RegisteredOp,\n type Resource,\n} from '@struktoai/mirage-core'\nimport { redactLangfuseConfig, type LangfuseConfig, type LangfuseConfigRedacted } from './config.ts'\n\nconst resolveLangfuseGlob = makeResolveGlob(langfuseReaddir)\n\nexport interface LangfuseResourceState {\n type: string\n config: LangfuseConfigRedacted\n}\n\nexport class LangfuseResource extends BaseResource implements Resource {\n readonly kind: string = ResourceName.LANGFUSE\n readonly cachesReads: boolean = true\n override readonly indexTtl: number = 600\n readonly prompt: string = LANGFUSE_PROMPT\n readonly config: LangfuseConfig\n readonly accessor: LangfuseAccessor\n\n constructor(config: LangfuseConfig) {\n super()\n this.config = config\n const transportOpts: { publicKey: string; secretKey: string; host?: string } = {\n publicKey: config.publicKey,\n secretKey: config.secretKey,\n }\n if (config.host !== undefined) transportOpts.host = config.host\n const accessorConfig: {\n defaultTraceLimit?: number\n defaultSearchLimit?: number\n defaultFromTimestamp?: string\n } = {}\n if (config.defaultTraceLimit !== undefined) {\n accessorConfig.defaultTraceLimit = config.defaultTraceLimit\n }\n if (config.defaultSearchLimit !== undefined) {\n accessorConfig.defaultSearchLimit = config.defaultSearchLimit\n }\n if (config.defaultFromTimestamp !== undefined) {\n accessorConfig.defaultFromTimestamp = config.defaultFromTimestamp\n }\n this.accessor = new LangfuseAccessor(new HttpLangfuseTransport(transportOpts), accessorConfig)\n }\n\n open(): Promise<void> {\n return Promise.resolve()\n }\n\n close(): Promise<void> {\n return Promise.resolve()\n }\n\n commands(): readonly RegisteredCommand[] {\n return LANGFUSE_COMMANDS\n }\n\n ops(): readonly RegisteredOp[] {\n return LANGFUSE_OPS\n }\n\n readFile(p: PathSpec): Promise<Uint8Array> {\n return langfuseRead(this.accessor, p, this.index)\n }\n\n readdir(p: PathSpec): Promise<string[]> {\n return langfuseReaddir(this.accessor, p, this.index)\n }\n\n stat(p: PathSpec): Promise<FileStat> {\n return langfuseStat(this.accessor, p, this.index)\n }\n\n glob(paths: readonly PathSpec[], prefix = ''): Promise<PathSpec[]> {\n const effective =\n prefix !== ''\n ? paths.map((p) =>\n mountPrefixOf(p.virtual, p.resourcePath) !== ''\n ? p\n : new PathSpec({\n virtual: p.virtual,\n directory: p.directory,\n ...(p.pattern !== null ? { pattern: p.pattern } : {}),\n resolved: p.resolved,\n resourcePath: mountKey(p.virtual, prefix),\n }),\n )\n : paths\n return resolveLangfuseGlob(this.accessor, effective, this.index)\n }\n\n getState(): Promise<LangfuseResourceState> {\n return Promise.resolve({\n type: this.kind,\n config: redactLangfuseConfig(this.config),\n })\n }\n\n loadState(_state: LangfuseResourceState): Promise<void> {\n return Promise.resolve()\n }\n}\n"],"mappings":";;;;;AAcA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAKK;AAGP,IAAM,sBAAsB,gBAAgB,eAAe;AAOpD,IAAM,mBAAN,cAA+B,aAAiC;AAAA,EAC5D,OAAe,aAAa;AAAA,EAC5B,cAAuB;AAAA,EACd,WAAmB;AAAA,EAC5B,SAAiB;AAAA,EACjB;AAAA,EACA;AAAA,EAET,YAAY,QAAwB;AAClC,UAAM;AACN,SAAK,SAAS;AACd,UAAM,gBAAyE;AAAA,MAC7E,WAAW,OAAO;AAAA,MAClB,WAAW,OAAO;AAAA,IACpB;AACA,QAAI,OAAO,SAAS,OAAW,eAAc,OAAO,OAAO;AAC3D,UAAM,iBAIF,CAAC;AACL,QAAI,OAAO,sBAAsB,QAAW;AAC1C,qBAAe,oBAAoB,OAAO;AAAA,IAC5C;AACA,QAAI,OAAO,uBAAuB,QAAW;AAC3C,qBAAe,qBAAqB,OAAO;AAAA,IAC7C;AACA,QAAI,OAAO,yBAAyB,QAAW;AAC7C,qBAAe,uBAAuB,OAAO;AAAA,IAC/C;AACA,SAAK,WAAW,IAAI,iBAAiB,IAAI,sBAAsB,aAAa,GAAG,cAAc;AAAA,EAC/F;AAAA,EAEA,OAAsB;AACpB,WAAO,QAAQ,QAAQ;AAAA,EACzB;AAAA,EAEA,QAAuB;AACrB,WAAO,QAAQ,QAAQ;AAAA,EACzB;AAAA,EAEA,WAAyC;AACvC,WAAO;AAAA,EACT;AAAA,EAEA,MAA+B;AAC7B,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,GAAkC;AACzC,WAAO,aAAa,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EAClD;AAAA,EAEA,QAAQ,GAAgC;AACtC,WAAO,gBAAgB,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EACrD;AAAA,EAEA,KAAK,GAAgC;AACnC,WAAO,aAAa,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EAClD;AAAA,EAEA,KAAK,OAA4B,SAAS,IAAyB;AACjE,UAAM,YACJ,WAAW,KACP,MAAM;AAAA,MAAI,CAAC,MACT,cAAc,EAAE,SAAS,EAAE,YAAY,MAAM,KACzC,IACA,IAAI,SAAS;AAAA,QACX,SAAS,EAAE;AAAA,QACX,WAAW,EAAE;AAAA,QACb,GAAI,EAAE,YAAY,OAAO,EAAE,SAAS,EAAE,QAAQ,IAAI,CAAC;AAAA,QACnD,UAAU,EAAE;AAAA,QACZ,cAAc,SAAS,EAAE,SAAS,MAAM;AAAA,MAC1C,CAAC;AAAA,IACP,IACA;AACN,WAAO,oBAAoB,KAAK,UAAU,WAAW,KAAK,KAAK;AAAA,EACjE;AAAA,EAEA,WAA2C;AACzC,WAAO,QAAQ,QAAQ;AAAA,MACrB,MAAM,KAAK;AAAA,MACX,QAAQ,qBAAqB,KAAK,MAAM;AAAA,IAC1C,CAAC;AAAA,EACH;AAAA,EAEA,UAAU,QAA8C;AACtD,WAAO,QAAQ,QAAQ;AAAA,EACzB;AACF;","names":[]}
|
|
@@ -7,6 +7,7 @@ var SeaweedFSConfigSchema = z.object({
|
|
|
7
7
|
secretAccessKey: secretStr(),
|
|
8
8
|
region: z.string(),
|
|
9
9
|
forcePathStyle: z.boolean(),
|
|
10
|
+
keyPrefix: z.string().optional(),
|
|
10
11
|
timeoutMs: z.number().optional()
|
|
11
12
|
});
|
|
12
13
|
function seaweedfsToS3Config(config) {
|
|
@@ -17,6 +18,7 @@ function seaweedfsToS3Config(config) {
|
|
|
17
18
|
accessKeyId: config.accessKeyId,
|
|
18
19
|
secretAccessKey: config.secretAccessKey,
|
|
19
20
|
forcePathStyle: config.forcePathStyle ?? true,
|
|
21
|
+
...config.keyPrefix !== void 0 ? { keyPrefix: config.keyPrefix } : {},
|
|
20
22
|
...config.timeoutMs !== void 0 ? { timeoutMs: config.timeoutMs } : {}
|
|
21
23
|
};
|
|
22
24
|
}
|
|
@@ -34,6 +36,7 @@ function normalizeSeaweedFSConfig(input) {
|
|
|
34
36
|
secret_access_key: "secretAccessKey",
|
|
35
37
|
endpoint_url: "endpoint",
|
|
36
38
|
path_style: "forcePathStyle",
|
|
39
|
+
key_prefix: "keyPrefix",
|
|
37
40
|
timeout: "timeoutMs"
|
|
38
41
|
},
|
|
39
42
|
transform: {
|
|
@@ -44,9 +47,8 @@ function normalizeSeaweedFSConfig(input) {
|
|
|
44
47
|
}
|
|
45
48
|
|
|
46
49
|
export {
|
|
47
|
-
SeaweedFSConfigSchema,
|
|
48
50
|
seaweedfsToS3Config,
|
|
49
51
|
redactSeaweedFSConfig,
|
|
50
52
|
normalizeSeaweedFSConfig
|
|
51
53
|
};
|
|
52
|
-
//# sourceMappingURL=chunk-
|
|
54
|
+
//# sourceMappingURL=chunk-MIQ3ECZM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/resource/seaweedfs/config.ts"],"sourcesContent":["// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n\nimport { normalizeFields, redactConfigWithSchema, secretStr, z } from '@struktoai/mirage-core'\nimport type { S3Config } from '../s3/config.ts'\n\nexport interface SeaweedFSConfig {\n bucket: string\n endpoint: string\n accessKeyId: string\n secretAccessKey: string\n region?: string\n forcePathStyle?: boolean\n keyPrefix?: string\n timeoutMs?: number\n}\n\nexport interface SeaweedFSConfigRedacted {\n bucket: string\n endpoint: string\n accessKeyId: string\n secretAccessKey: string\n region: string\n forcePathStyle: boolean\n keyPrefix?: string\n timeoutMs?: number\n}\n\nconst SeaweedFSConfigSchema = z.object({\n bucket: z.string(),\n endpoint: z.string(),\n accessKeyId: secretStr(),\n secretAccessKey: secretStr(),\n region: z.string(),\n forcePathStyle: z.boolean(),\n keyPrefix: z.string().optional(),\n timeoutMs: z.number().optional(),\n})\n\nexport function seaweedfsToS3Config(config: SeaweedFSConfig): S3Config {\n return {\n bucket: config.bucket,\n region: config.region ?? 'us-east-1',\n endpoint: config.endpoint,\n accessKeyId: config.accessKeyId,\n secretAccessKey: config.secretAccessKey,\n forcePathStyle: config.forcePathStyle ?? true,\n ...(config.keyPrefix !== undefined ? { keyPrefix: config.keyPrefix } : {}),\n ...(config.timeoutMs !== undefined ? { timeoutMs: config.timeoutMs } : {}),\n }\n}\n\nexport function redactSeaweedFSConfig(config: SeaweedFSConfig): SeaweedFSConfigRedacted {\n return redactConfigWithSchema(SeaweedFSConfigSchema, {\n ...config,\n region: config.region ?? 'us-east-1',\n forcePathStyle: config.forcePathStyle ?? true,\n }) as unknown as SeaweedFSConfigRedacted\n}\n\nexport function normalizeSeaweedFSConfig(input: Record<string, unknown>): SeaweedFSConfig {\n return normalizeFields(input, {\n rename: {\n access_key_id: 'accessKeyId',\n secret_access_key: 'secretAccessKey',\n endpoint_url: 'endpoint',\n path_style: 'forcePathStyle',\n key_prefix: 'keyPrefix',\n timeout: 'timeoutMs',\n },\n transform: {\n timeout: (v: unknown) => (typeof v === 'number' ? v * 1000 : v),\n },\n drop: ['proxy'],\n }) as unknown as SeaweedFSConfig\n}\n"],"mappings":";AAcA,SAAS,iBAAiB,wBAAwB,WAAW,SAAS;AAyBtE,IAAM,wBAAwB,EAAE,OAAO;AAAA,EACrC,QAAQ,EAAE,OAAO;AAAA,EACjB,UAAU,EAAE,OAAO;AAAA,EACnB,aAAa,UAAU;AAAA,EACvB,iBAAiB,UAAU;AAAA,EAC3B,QAAQ,EAAE,OAAO;AAAA,EACjB,gBAAgB,EAAE,QAAQ;AAAA,EAC1B,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,EAC/B,WAAW,EAAE,OAAO,EAAE,SAAS;AACjC,CAAC;AAEM,SAAS,oBAAoB,QAAmC;AACrE,SAAO;AAAA,IACL,QAAQ,OAAO;AAAA,IACf,QAAQ,OAAO,UAAU;AAAA,IACzB,UAAU,OAAO;AAAA,IACjB,aAAa,OAAO;AAAA,IACpB,iBAAiB,OAAO;AAAA,IACxB,gBAAgB,OAAO,kBAAkB;AAAA,IACzC,GAAI,OAAO,cAAc,SAAY,EAAE,WAAW,OAAO,UAAU,IAAI,CAAC;AAAA,IACxE,GAAI,OAAO,cAAc,SAAY,EAAE,WAAW,OAAO,UAAU,IAAI,CAAC;AAAA,EAC1E;AACF;AAEO,SAAS,sBAAsB,QAAkD;AACtF,SAAO,uBAAuB,uBAAuB;AAAA,IACnD,GAAG;AAAA,IACH,QAAQ,OAAO,UAAU;AAAA,IACzB,gBAAgB,OAAO,kBAAkB;AAAA,EAC3C,CAAC;AACH;AAEO,SAAS,yBAAyB,OAAiD;AACxF,SAAO,gBAAgB,OAAO;AAAA,IAC5B,QAAQ;AAAA,MACN,eAAe;AAAA,MACf,mBAAmB;AAAA,MACnB,cAAc;AAAA,MACd,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,SAAS;AAAA,IACX;AAAA,IACA,WAAW;AAAA,MACT,SAAS,CAAC,MAAgB,OAAO,MAAM,WAAW,IAAI,MAAO;AAAA,IAC/D;AAAA,IACA,MAAM,CAAC,OAAO;AAAA,EAChB,CAAC;AACH;","names":[]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// src/resource/nextcloud/config.ts
|
|
2
|
+
function normalizeNextcloudConfig(config) {
|
|
3
|
+
const url = config.url;
|
|
4
|
+
if (typeof url !== "string" || url === "") {
|
|
5
|
+
throw new TypeError("nextcloud config requires a non-empty url");
|
|
6
|
+
}
|
|
7
|
+
const normalized = { url };
|
|
8
|
+
const username = config.username;
|
|
9
|
+
const password = config.password;
|
|
10
|
+
const verifySsl = config.verifySsl ?? config.verify_ssl;
|
|
11
|
+
const timeout = config.timeout;
|
|
12
|
+
if (typeof username === "string" && username !== "") normalized.username = username;
|
|
13
|
+
if (typeof password === "string" && password !== "") normalized.password = password;
|
|
14
|
+
if (typeof verifySsl === "boolean") normalized.verifySsl = verifySsl;
|
|
15
|
+
if (typeof timeout === "number") normalized.timeout = timeout;
|
|
16
|
+
return normalized;
|
|
17
|
+
}
|
|
18
|
+
function redactNextcloudConfig(config) {
|
|
19
|
+
const { password, ...visible } = config;
|
|
20
|
+
return {
|
|
21
|
+
...visible,
|
|
22
|
+
...password !== void 0 ? { password: "<REDACTED>" } : {}
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export {
|
|
27
|
+
normalizeNextcloudConfig,
|
|
28
|
+
redactNextcloudConfig
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=chunk-MRXTUFBZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/resource/nextcloud/config.ts"],"sourcesContent":["export interface NextcloudConfig {\n url: string\n username?: string\n password?: string\n verifySsl?: boolean\n timeout?: number\n}\n\nexport interface NextcloudConfigRedacted extends Omit<NextcloudConfig, 'password'> {\n password?: '<REDACTED>'\n}\n\nexport function normalizeNextcloudConfig(config: Record<string, unknown>): NextcloudConfig {\n const url = config.url\n if (typeof url !== 'string' || url === '') {\n throw new TypeError('nextcloud config requires a non-empty url')\n }\n const normalized: NextcloudConfig = { url }\n const username = config.username\n const password = config.password\n const verifySsl = config.verifySsl ?? config.verify_ssl\n const timeout = config.timeout\n if (typeof username === 'string' && username !== '') normalized.username = username\n if (typeof password === 'string' && password !== '') normalized.password = password\n if (typeof verifySsl === 'boolean') normalized.verifySsl = verifySsl\n if (typeof timeout === 'number') normalized.timeout = timeout\n return normalized\n}\n\nexport function redactNextcloudConfig(config: NextcloudConfig): NextcloudConfigRedacted {\n const { password, ...visible } = config\n return {\n ...visible,\n ...(password !== undefined ? { password: '<REDACTED>' as const } : {}),\n }\n}\n"],"mappings":";AAYO,SAAS,yBAAyB,QAAkD;AACzF,QAAM,MAAM,OAAO;AACnB,MAAI,OAAO,QAAQ,YAAY,QAAQ,IAAI;AACzC,UAAM,IAAI,UAAU,2CAA2C;AAAA,EACjE;AACA,QAAM,aAA8B,EAAE,IAAI;AAC1C,QAAM,WAAW,OAAO;AACxB,QAAM,WAAW,OAAO;AACxB,QAAM,YAAY,OAAO,aAAa,OAAO;AAC7C,QAAM,UAAU,OAAO;AACvB,MAAI,OAAO,aAAa,YAAY,aAAa,GAAI,YAAW,WAAW;AAC3E,MAAI,OAAO,aAAa,YAAY,aAAa,GAAI,YAAW,WAAW;AAC3E,MAAI,OAAO,cAAc,UAAW,YAAW,YAAY;AAC3D,MAAI,OAAO,YAAY,SAAU,YAAW,UAAU;AACtD,SAAO;AACT;AAEO,SAAS,sBAAsB,QAAkD;AACtF,QAAM,EAAE,UAAU,GAAG,QAAQ,IAAI;AACjC,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAI,aAAa,SAAY,EAAE,UAAU,aAAsB,IAAI,CAAC;AAAA,EACtE;AACF;","names":[]}
|