@struktoai/mirage-node 0.0.4 → 0.0.5-alpha.1
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 +2 -1
- package/dist/aliyun-S62BR3TB.js +11 -0
- package/dist/append.lua +17 -0
- package/dist/backblaze-4EKSW63F.js +11 -0
- package/dist/box-ZPLZAGMK.js +8 -0
- package/dist/ceph-ALKLD3MO.js +11 -0
- package/dist/{chunk-VLRSOWHP.js → chunk-2A4YGVBM.js} +5 -14
- package/dist/chunk-2A4YGVBM.js.map +1 -0
- package/dist/chunk-2HCYLVGY.js +28 -0
- package/dist/chunk-2HCYLVGY.js.map +1 -0
- package/dist/chunk-2VPZAH5Q.js +20 -0
- package/dist/chunk-2VPZAH5Q.js.map +1 -0
- package/dist/{chunk-HCU3B6FW.js → chunk-3JZQ6VSZ.js} +5 -4
- package/dist/chunk-3JZQ6VSZ.js.map +1 -0
- package/dist/chunk-4IF4TGAI.js +11 -0
- package/dist/chunk-4IF4TGAI.js.map +1 -0
- package/dist/{chunk-L7FEZ7LU.js → chunk-5H6KNEPP.js} +4 -5
- package/dist/{chunk-L7FEZ7LU.js.map → chunk-5H6KNEPP.js.map} +1 -1
- package/dist/{chunk-25W4XQJZ.js → chunk-5K2MWDCE.js} +4 -5
- package/dist/{chunk-25W4XQJZ.js.map → chunk-5K2MWDCE.js.map} +1 -1
- package/dist/{chunk-L4GMDSMB.js → chunk-6SVXWRKX.js} +4 -5
- package/dist/{chunk-L4GMDSMB.js.map → chunk-6SVXWRKX.js.map} +1 -1
- package/dist/{chunk-H62XQZUM.js → chunk-6VOIUGAD.js} +22 -10
- package/dist/chunk-6VOIUGAD.js.map +1 -0
- package/dist/{chunk-SI4GMRXD.js → chunk-7JYHFXXC.js} +4 -8
- package/dist/chunk-7JYHFXXC.js.map +1 -0
- package/dist/chunk-7VQQFWV6.js +20 -0
- package/dist/chunk-7VQQFWV6.js.map +1 -0
- package/dist/chunk-7ZP6TPHX.js +87 -0
- package/dist/chunk-7ZP6TPHX.js.map +1 -0
- package/dist/{chunk-HWQPEBID.js → chunk-ADEXNSYU.js} +6 -12
- package/dist/chunk-ADEXNSYU.js.map +1 -0
- package/dist/chunk-AQSYAXL4.js +16 -0
- package/dist/chunk-AQSYAXL4.js.map +1 -0
- package/dist/{chunk-NJ42VNXG.js → chunk-ATLXMNKD.js} +8 -3
- package/dist/chunk-ATLXMNKD.js.map +1 -0
- package/dist/{chunk-CB76WPUS.js → chunk-BYCUGFRF.js} +5 -4
- package/dist/chunk-BYCUGFRF.js.map +1 -0
- package/dist/{chunk-4M73WHIE.js → chunk-BZTVYOES.js} +3 -3
- package/dist/{chunk-CQCTCW4S.js → chunk-CRC4YWXB.js} +28 -9
- package/dist/chunk-CRC4YWXB.js.map +1 -0
- package/dist/{chunk-C7TNKIK5.js → chunk-CTGXJHO5.js} +1 -1
- package/dist/chunk-CTGXJHO5.js.map +1 -0
- package/dist/{chunk-HSD24IP2.js → chunk-DCDBIXVZ.js} +7 -2
- package/dist/chunk-DCDBIXVZ.js.map +1 -0
- package/dist/{chunk-HEDE2377.js → chunk-DDAFNROK.js} +318 -322
- package/dist/chunk-DDAFNROK.js.map +1 -0
- package/dist/chunk-DQIEWEAW.js +85 -0
- package/dist/chunk-DQIEWEAW.js.map +1 -0
- package/dist/{chunk-2ERLWAGG.js → chunk-EBI4IHDC.js} +20 -11
- package/dist/chunk-EBI4IHDC.js.map +1 -0
- package/dist/{chunk-RHUEV4I7.js → chunk-EIUTZ6N7.js} +10 -24
- package/dist/chunk-EIUTZ6N7.js.map +1 -0
- package/dist/{chunk-IUXXZHY3.js → chunk-EJZG5VUF.js} +24 -12
- package/dist/chunk-EJZG5VUF.js.map +1 -0
- package/dist/{chunk-BWWU5T2D.js → chunk-ENW5BVYN.js} +3 -3
- package/dist/{chunk-F5NWRF32.js → chunk-ETIAW4YD.js} +3 -3
- package/dist/chunk-EUPXAYPB.js +20 -0
- package/dist/chunk-EUPXAYPB.js.map +1 -0
- package/dist/{chunk-EGZNOUMH.js → chunk-FA6YNU75.js} +4 -5
- package/dist/{chunk-EGZNOUMH.js.map → chunk-FA6YNU75.js.map} +1 -1
- package/dist/{chunk-XUUSWR4U.js → chunk-FFH6R5VQ.js} +7 -2
- package/dist/{chunk-XUUSWR4U.js.map → chunk-FFH6R5VQ.js.map} +1 -1
- package/dist/{chunk-JEBH5APX.js → chunk-GE6H2COM.js} +5 -13
- package/dist/chunk-GE6H2COM.js.map +1 -0
- package/dist/{chunk-TUNR4VUM.js → chunk-GMMQ3ZK4.js} +3 -3
- package/dist/{chunk-SAOQW6ZJ.js → chunk-GSGE3M5P.js} +5 -13
- package/dist/chunk-GSGE3M5P.js.map +1 -0
- package/dist/{chunk-FRGTDZQT.js → chunk-H64SB6VO.js} +19 -5
- package/dist/chunk-H64SB6VO.js.map +1 -0
- package/dist/{chunk-DXU7NZPH.js → chunk-HCRYAFBI.js} +3 -3
- package/dist/{chunk-OSVZKYXS.js → chunk-HOPUP6LA.js} +192 -156
- package/dist/chunk-HOPUP6LA.js.map +1 -0
- package/dist/chunk-HS24BL6W.js +160 -0
- package/dist/chunk-HS24BL6W.js.map +1 -0
- package/dist/chunk-HVYVG5KQ.js +16 -0
- package/dist/chunk-HVYVG5KQ.js.map +1 -0
- package/dist/{chunk-XEMLYWHK.js → chunk-I7CPLZNW.js} +4 -5
- package/dist/{chunk-XEMLYWHK.js.map → chunk-I7CPLZNW.js.map} +1 -1
- package/dist/{chunk-AULFV3KY.js → chunk-IFUCGI4I.js} +7 -2
- package/dist/chunk-IFUCGI4I.js.map +1 -0
- package/dist/{chunk-HGIPWY5Y.js → chunk-IFYXSSKR.js} +6 -6
- package/dist/chunk-IFYXSSKR.js.map +1 -0
- package/dist/chunk-IXA4DQE4.js +20 -0
- package/dist/chunk-IXA4DQE4.js.map +1 -0
- package/dist/chunk-IZMKMD3O.js +11 -0
- package/dist/chunk-IZMKMD3O.js.map +1 -0
- package/dist/{chunk-4X6CLF4F.js → chunk-JJERW2BI.js} +4 -5
- package/dist/{chunk-4X6CLF4F.js.map → chunk-JJERW2BI.js.map} +1 -1
- package/dist/{chunk-M6E7VK4D.js → chunk-JQR4HVUX.js} +2 -5
- package/dist/chunk-JQR4HVUX.js.map +1 -0
- package/dist/{chunk-BWLUBJQG.js → chunk-JXOMDLFS.js} +6 -15
- package/dist/chunk-JXOMDLFS.js.map +1 -0
- package/dist/{chunk-5ZHNPNDD.js → chunk-KIX6N7NT.js} +198 -141
- package/dist/chunk-KIX6N7NT.js.map +1 -0
- package/dist/{chunk-XFSEADPC.js → chunk-L42UTDFK.js} +7 -2
- package/dist/chunk-L42UTDFK.js.map +1 -0
- package/dist/chunk-M2UF2JHJ.js +11 -0
- package/dist/chunk-M2UF2JHJ.js.map +1 -0
- package/dist/{chunk-LPLZLSMK.js → chunk-MONC734W.js} +7 -2
- package/dist/chunk-MONC734W.js.map +1 -0
- package/dist/{chunk-XADEMW6B.js → chunk-N72RLCMU.js} +4 -5
- package/dist/{chunk-XADEMW6B.js.map → chunk-N72RLCMU.js.map} +1 -1
- package/dist/{chunk-ZPB3SLPK.js → chunk-ND4IWJ4V.js} +7 -2
- package/dist/chunk-ND4IWJ4V.js.map +1 -0
- package/dist/{chunk-ZPZQXHW2.js → chunk-NZ3EKGW4.js} +260 -178
- package/dist/chunk-NZ3EKGW4.js.map +1 -0
- package/dist/{chunk-E3KXVEYI.js → chunk-OAE57MNL.js} +22 -10
- package/dist/chunk-OAE57MNL.js.map +1 -0
- package/dist/{chunk-JBDFYIN2.js → chunk-OHKGIQB4.js} +2 -5
- package/dist/chunk-OHKGIQB4.js.map +1 -0
- package/dist/{chunk-V7JVMG63.js → chunk-OXEQSPND.js} +3 -3
- package/dist/{chunk-YRJICL2Q.js → chunk-PKNE5J2B.js} +5 -13
- package/dist/chunk-PKNE5J2B.js.map +1 -0
- package/dist/chunk-PSXXEGYQ.js +16 -0
- package/dist/chunk-PSXXEGYQ.js.map +1 -0
- package/dist/{chunk-KAWDDS27.js → chunk-QAOVABCR.js} +7 -2
- package/dist/chunk-QAOVABCR.js.map +1 -0
- package/dist/{chunk-SYMNWNC3.js → chunk-QQ7FP4GD.js} +4 -5
- package/dist/{chunk-SYMNWNC3.js.map → chunk-QQ7FP4GD.js.map} +1 -1
- package/dist/{chunk-3JZN3GYO.js → chunk-QYLVMC6B.js} +2 -5
- package/dist/chunk-QYLVMC6B.js.map +1 -0
- package/dist/{chunk-CXQGMFI7.js → chunk-RX3XR65X.js} +4 -5
- package/dist/{chunk-CXQGMFI7.js.map → chunk-RX3XR65X.js.map} +1 -1
- package/dist/{chunk-MRXTUFBZ.js → chunk-RYQJJB4C.js} +1 -1
- package/dist/chunk-RYQJJB4C.js.map +1 -0
- package/dist/{chunk-5I7Q7RHW.js → chunk-TUF7TCN7.js} +4 -5
- package/dist/{chunk-5I7Q7RHW.js.map → chunk-TUF7TCN7.js.map} +1 -1
- package/dist/{chunk-NLXJMXVE.js → chunk-TUX36JY5.js} +4 -5
- package/dist/{chunk-NLXJMXVE.js.map → chunk-TUX36JY5.js.map} +1 -1
- package/dist/{chunk-4GYB7DGC.js → chunk-TWRQCQWU.js} +327 -558
- package/dist/chunk-TWRQCQWU.js.map +1 -0
- package/dist/chunk-U6DFQRG3.js +20 -0
- package/dist/chunk-U6DFQRG3.js.map +1 -0
- package/dist/chunk-VI5YTKNY.js +20 -0
- package/dist/chunk-VI5YTKNY.js.map +1 -0
- package/dist/{chunk-W5ZLIQFR.js → chunk-WG5YS6TC.js} +308 -200
- package/dist/chunk-WG5YS6TC.js.map +1 -0
- package/dist/{chunk-ZM44MGC5.js → chunk-WMJJ4WGF.js} +4 -5
- package/dist/{chunk-ZM44MGC5.js.map → chunk-WMJJ4WGF.js.map} +1 -1
- package/dist/{chunk-5YRWF5RP.js → chunk-WY4FNH42.js} +6 -5
- package/dist/chunk-WY4FNH42.js.map +1 -0
- package/dist/{chunk-VBYIDRNU.js → chunk-XIG5BWWH.js} +19 -10
- package/dist/chunk-XIG5BWWH.js.map +1 -0
- package/dist/chunk-XJBC3OYX.js +11 -0
- package/dist/chunk-XJBC3OYX.js.map +1 -0
- package/dist/{chunk-ZMREYTHA.js → chunk-XPRDXWK7.js} +8 -8
- package/dist/chunk-XPRDXWK7.js.map +1 -0
- package/dist/chunk-YKRQSZS7.js +96 -0
- package/dist/chunk-YKRQSZS7.js.map +1 -0
- package/dist/{chunk-IEVLWEBO.js → chunk-YMBL3VJB.js} +9 -8
- package/dist/chunk-YMBL3VJB.js.map +1 -0
- package/dist/{chunk-CGGO5NKD.js → chunk-YUJBXFYK.js} +357 -346
- package/dist/chunk-YUJBXFYK.js.map +1 -0
- package/dist/{chunk-S4KVLPBR.js → chunk-YZ4ZJNOL.js} +22 -10
- package/dist/chunk-YZ4ZJNOL.js.map +1 -0
- package/dist/chunk-ZTHVEXIV.js +11 -0
- package/dist/chunk-ZTHVEXIV.js.map +1 -0
- package/dist/{chunk-VHED2STW.js → chunk-ZVSYUCYS.js} +2 -1
- package/dist/chunk-ZVSYUCYS.js.map +1 -0
- package/dist/{config-T2IUIU5C.js → config-2YBCHU2W.js} +2 -2
- package/dist/{config-M3Z47VYU.js → config-3YRGRW72.js} +3 -2
- package/dist/config-4GSOMUMF.js +9 -0
- package/dist/config-5YBUWFUP.js +9 -0
- package/dist/{config-2LASFFRD.js → config-5ZRKJTKG.js} +3 -2
- package/dist/{config-W7EVPJNK.js → config-A25LTL5W.js} +2 -2
- package/dist/{config-WKQ3FGTZ.js → config-CLU7JABG.js} +2 -2
- package/dist/{config-E22XAGYN.js → config-D2RF7L3N.js} +2 -2
- package/dist/{config-HQXNFQZS.js → config-E55TKM6K.js} +2 -2
- package/dist/config-ELDOFRJW.js +9 -0
- package/dist/{config-EX3ZJTZI.js → config-FPC3RBFD.js} +2 -2
- package/dist/config-FPM3LAW7.js +9 -0
- package/dist/{config-IPNWAJHH.js → config-G3F54CS4.js} +3 -2
- package/dist/{config-BBOLI7VE.js → config-G43HRUI3.js} +2 -2
- package/dist/{config-QO2XUME4.js → config-GG3WO5PB.js} +3 -2
- package/dist/{config-QWQGOXQ5.js → config-JUYBWAZE.js} +2 -2
- package/dist/{config-SPW6NESU.js → config-LJ5T6TVA.js} +2 -2
- package/dist/{config-WVILHDFV.js → config-MDSAE4O3.js} +2 -2
- package/dist/{config-MZM3IPFM.js → config-NRIOKK5T.js} +2 -2
- package/dist/{config-L7SBSH5L.js → config-OYK2BSJK.js} +2 -2
- package/dist/config-PB3KA2CE.js +9 -0
- package/dist/{config-54USUVSE.js → config-QY4IL3PH.js} +3 -2
- package/dist/{config-VKKZGC7V.js → config-R4LAOEDS.js} +2 -2
- package/dist/{config-FRK7ZL37.js → config-RIAAD6RW.js} +3 -2
- package/dist/{config-J2C53GOT.js → config-SYNEQAUB.js} +2 -2
- package/dist/{config-XU6D5C7E.js → config-TJKGYA2B.js} +3 -2
- package/dist/{config-DWSJL3NH.js → config-UURRGA7U.js} +4 -2
- package/dist/{config-BIBFLUIR.js → config-VPLHQXVE.js} +2 -2
- package/dist/config-WRACCRPN.js +9 -0
- package/dist/{config-OJ2BPESH.js → config-WVHKXEVE.js} +3 -2
- package/dist/{config-CPYFOUQO.js → config-XU7R36IE.js} +3 -2
- package/dist/{config-A2GQYJDB.js → config-Y2KOUYSS.js} +2 -2
- package/dist/databricks_volume-CNCPTZHS.js +7 -0
- package/dist/digitalocean-DJZOUB6Q.js +11 -0
- package/dist/discord-ETB2CADR.js +7 -0
- package/dist/disk-WEHSTK3F.js +7 -0
- package/dist/dropbox-XN6PGLNE.js +8 -0
- package/dist/email-OV7XCP3T.js +8 -0
- package/dist/gcal-P56MRCGU.js +8 -0
- package/dist/gcs-HFBIAE2C.js +10 -0
- package/dist/gdocs-LQ3UXP3J.js +8 -0
- package/dist/gdrive-N6UBYLON.js +8 -0
- package/dist/github-BPZREGPI.js +8 -0
- package/dist/github_ci-7A4LUIZ7.js +8 -0
- package/dist/{gmail-2TBT4CVH.js → gmail-YED2MF6H.js} +2 -2
- package/dist/gridfs-CPLQ4G62.js +9 -0
- package/dist/gsheets-4BNIJPQ6.js +8 -0
- package/dist/gslides-GDBYLO5A.js +8 -0
- package/dist/hf_buckets-FTJITQ3P.js +10 -0
- package/dist/hf_datasets-6GXVKQD7.js +10 -0
- package/dist/hf_models-PJPGZAC5.js +10 -0
- package/dist/hf_spaces-LFNFOLBF.js +10 -0
- package/dist/index.d.ts +897 -609
- package/dist/index.js +2371 -781
- package/dist/index.js.map +1 -1
- package/dist/jaeger-GCA6MJ6E.js +8 -0
- package/dist/lancedb-TJ5YSJY5.js +7 -0
- package/dist/langfuse-RUMTUMXS.js +8 -0
- package/dist/linear-BCE4KEAC.js +7 -0
- package/dist/minio-5SO6KBTK.js +11 -0
- package/dist/mongodb-L5CMN2EE.js +7 -0
- package/dist/nextcloud-4O2LZVW2.js +9 -0
- package/dist/notion-RVKEAQ2M.js +7 -0
- package/dist/oci-OQXOIC62.js +10 -0
- package/dist/postgres-AV45GNRS.js +7 -0
- package/dist/qingstor-W277YA4K.js +11 -0
- package/dist/r2-FUA4IORE.js +10 -0
- package/dist/{redis-6D55Q2WB.js → redis-LPS357NF.js} +2 -2
- package/dist/s3-FPNWWIVM.js +8 -0
- package/dist/scaleway-BP3732U7.js +11 -0
- package/dist/seaweedfs-MC6HIEP4.js +11 -0
- package/dist/slack-JFGW7VLN.js +7 -0
- package/dist/ssh-UYPG42LM.js +8 -0
- package/dist/supabase-A3KUFMDC.js +10 -0
- package/dist/tencent-5464UQ2X.js +11 -0
- package/dist/trello-O2KB3FUO.js +8 -0
- package/dist/wasabi-2IKBIWNO.js +10 -0
- package/dist/wasabi-2IKBIWNO.js.map +1 -0
- package/package.json +15 -3
- package/dist/aliyun-PGI57A43.js +0 -10
- package/dist/backblaze-TSPL6Y56.js +0 -10
- package/dist/box-7XTZYDSO.js +0 -8
- package/dist/ceph-C265UI5T.js +0 -10
- package/dist/chunk-2ERLWAGG.js.map +0 -1
- package/dist/chunk-2QNPKPZZ.js +0 -59
- package/dist/chunk-2QNPKPZZ.js.map +0 -1
- package/dist/chunk-3ASOQTZB.js +0 -59
- package/dist/chunk-3ASOQTZB.js.map +0 -1
- package/dist/chunk-3JZN3GYO.js.map +0 -1
- package/dist/chunk-4GYB7DGC.js.map +0 -1
- package/dist/chunk-5YRWF5RP.js.map +0 -1
- package/dist/chunk-5ZHNPNDD.js.map +0 -1
- package/dist/chunk-AULFV3KY.js.map +0 -1
- package/dist/chunk-BWLUBJQG.js.map +0 -1
- package/dist/chunk-C7TNKIK5.js.map +0 -1
- package/dist/chunk-CB76WPUS.js.map +0 -1
- package/dist/chunk-CGGO5NKD.js.map +0 -1
- package/dist/chunk-CQCTCW4S.js.map +0 -1
- package/dist/chunk-D3U7VQCG.js +0 -25
- package/dist/chunk-D3U7VQCG.js.map +0 -1
- package/dist/chunk-E3KXVEYI.js.map +0 -1
- package/dist/chunk-EVK6HH6Z.js +0 -17
- package/dist/chunk-EVK6HH6Z.js.map +0 -1
- package/dist/chunk-FRGTDZQT.js.map +0 -1
- package/dist/chunk-GF75O2EN.js +0 -54
- package/dist/chunk-GF75O2EN.js.map +0 -1
- package/dist/chunk-GTAS3QVC.js +0 -25
- package/dist/chunk-GTAS3QVC.js.map +0 -1
- package/dist/chunk-H62XQZUM.js.map +0 -1
- package/dist/chunk-HCU3B6FW.js.map +0 -1
- package/dist/chunk-HEDE2377.js.map +0 -1
- package/dist/chunk-HGIPWY5Y.js.map +0 -1
- package/dist/chunk-HSD24IP2.js.map +0 -1
- package/dist/chunk-HWQPEBID.js.map +0 -1
- package/dist/chunk-IEHPTILN.js +0 -21
- package/dist/chunk-IEHPTILN.js.map +0 -1
- package/dist/chunk-IEVLWEBO.js.map +0 -1
- package/dist/chunk-IKJQOYI4.js +0 -26
- package/dist/chunk-IKJQOYI4.js.map +0 -1
- package/dist/chunk-IUXXZHY3.js.map +0 -1
- package/dist/chunk-JBDFYIN2.js.map +0 -1
- package/dist/chunk-JEBH5APX.js.map +0 -1
- package/dist/chunk-JHI2PHHD.js +0 -25
- package/dist/chunk-JHI2PHHD.js.map +0 -1
- package/dist/chunk-KAWDDS27.js.map +0 -1
- package/dist/chunk-KGC2OGXI.js +0 -27
- package/dist/chunk-KGC2OGXI.js.map +0 -1
- package/dist/chunk-LPLZLSMK.js.map +0 -1
- package/dist/chunk-M6E7VK4D.js.map +0 -1
- package/dist/chunk-MIQ3ECZM.js +0 -54
- package/dist/chunk-MIQ3ECZM.js.map +0 -1
- package/dist/chunk-MRXTUFBZ.js.map +0 -1
- package/dist/chunk-NJ42VNXG.js.map +0 -1
- package/dist/chunk-OSVZKYXS.js.map +0 -1
- package/dist/chunk-RHUEV4I7.js.map +0 -1
- package/dist/chunk-S4KVLPBR.js.map +0 -1
- package/dist/chunk-SAOQW6ZJ.js.map +0 -1
- package/dist/chunk-SI4GMRXD.js.map +0 -1
- package/dist/chunk-UAJYJP5C.js +0 -59
- package/dist/chunk-UAJYJP5C.js.map +0 -1
- package/dist/chunk-UYA3XL3J.js +0 -54
- package/dist/chunk-UYA3XL3J.js.map +0 -1
- package/dist/chunk-VBYIDRNU.js.map +0 -1
- package/dist/chunk-VHED2STW.js.map +0 -1
- package/dist/chunk-VIICUPWQ.js +0 -23
- package/dist/chunk-VIICUPWQ.js.map +0 -1
- package/dist/chunk-VLRSOWHP.js.map +0 -1
- package/dist/chunk-W5ZLIQFR.js.map +0 -1
- package/dist/chunk-WTSSEUOZ.js +0 -59
- package/dist/chunk-WTSSEUOZ.js.map +0 -1
- package/dist/chunk-WWP2STF5.js +0 -59
- package/dist/chunk-WWP2STF5.js.map +0 -1
- package/dist/chunk-XFSEADPC.js.map +0 -1
- package/dist/chunk-YBVMZ7SR.js +0 -59
- package/dist/chunk-YBVMZ7SR.js.map +0 -1
- package/dist/chunk-YRJICL2Q.js.map +0 -1
- package/dist/chunk-ZMREYTHA.js.map +0 -1
- package/dist/chunk-ZPB3SLPK.js.map +0 -1
- package/dist/chunk-ZPZQXHW2.js.map +0 -1
- package/dist/config-3WDIJPTG.js +0 -9
- package/dist/config-4QV4QYI5.js +0 -9
- package/dist/config-5ZXN2T2H.js +0 -9
- package/dist/config-EHE52ZTK.js +0 -9
- package/dist/config-HTXOOAOD.js +0 -9
- package/dist/config-K63RX6EU.js +0 -9
- package/dist/config-LEALEMKA.js +0 -9
- package/dist/config-RI7IEZUF.js +0 -9
- package/dist/databricks_volume-ETRDJVVQ.js +0 -7
- package/dist/digitalocean-QP72DR4J.js +0 -10
- package/dist/discord-BSN5RB3E.js +0 -8
- package/dist/disk-24NWTN2I.js +0 -7
- package/dist/dropbox-OSTZXSIE.js +0 -8
- package/dist/email-4ZFPSWIN.js +0 -8
- package/dist/gcs-PFWR6MIW.js +0 -10
- package/dist/gdocs-GPAZRQG5.js +0 -8
- package/dist/gdrive-XSX6A7B3.js +0 -8
- package/dist/github-EQ4NXUTA.js +0 -8
- package/dist/github_ci-QL5B2Q2N.js +0 -8
- package/dist/gridfs-KZRZ6SIB.js +0 -9
- package/dist/gsheets-N53WEXN2.js +0 -8
- package/dist/gslides-TATSARTH.js +0 -8
- package/dist/hf_buckets-BK7NGJWS.js +0 -10
- package/dist/hf_datasets-UQ5QGM4L.js +0 -10
- package/dist/hf_models-75LFCQCS.js +0 -10
- package/dist/hf_spaces-6T2KB3UC.js +0 -10
- package/dist/langfuse-AMQCQWNE.js +0 -8
- package/dist/linear-V3TXO6CV.js +0 -8
- package/dist/minio-IZRZY4C5.js +0 -10
- package/dist/mongodb-VMKPQCPX.js +0 -7
- package/dist/nextcloud-5RHQCGDO.js +0 -9
- package/dist/notion-6PPNTQFM.js +0 -8
- package/dist/oci-CKYBSFZJ.js +0 -10
- package/dist/postgres-WIQBVL5M.js +0 -7
- package/dist/qingstor-AP4IIPLY.js +0 -10
- package/dist/r2-C4XGEWQY.js +0 -10
- package/dist/s3-XQBI2CXN.js +0 -8
- package/dist/scaleway-SEZJVURB.js +0 -10
- package/dist/seaweedfs-3XYIAFU2.js +0 -10
- package/dist/slack-ZHXDJQY4.js +0 -8
- package/dist/ssh-X2MO7JOV.js +0 -8
- package/dist/supabase-BBM44UTM.js +0 -10
- package/dist/tencent-X72USLJ7.js +0 -10
- package/dist/trello-EER5NG7L.js +0 -8
- package/dist/wasabi-O4MVIUFG.js +0 -10
- /package/dist/{aliyun-PGI57A43.js.map → aliyun-S62BR3TB.js.map} +0 -0
- /package/dist/{backblaze-TSPL6Y56.js.map → backblaze-4EKSW63F.js.map} +0 -0
- /package/dist/{box-7XTZYDSO.js.map → box-ZPLZAGMK.js.map} +0 -0
- /package/dist/{ceph-C265UI5T.js.map → ceph-ALKLD3MO.js.map} +0 -0
- /package/dist/{chunk-4M73WHIE.js.map → chunk-BZTVYOES.js.map} +0 -0
- /package/dist/{chunk-BWWU5T2D.js.map → chunk-ENW5BVYN.js.map} +0 -0
- /package/dist/{chunk-F5NWRF32.js.map → chunk-ETIAW4YD.js.map} +0 -0
- /package/dist/{chunk-TUNR4VUM.js.map → chunk-GMMQ3ZK4.js.map} +0 -0
- /package/dist/{chunk-DXU7NZPH.js.map → chunk-HCRYAFBI.js.map} +0 -0
- /package/dist/{chunk-V7JVMG63.js.map → chunk-OXEQSPND.js.map} +0 -0
- /package/dist/{config-2LASFFRD.js.map → config-2YBCHU2W.js.map} +0 -0
- /package/dist/{config-3WDIJPTG.js.map → config-3YRGRW72.js.map} +0 -0
- /package/dist/{config-4QV4QYI5.js.map → config-4GSOMUMF.js.map} +0 -0
- /package/dist/{config-54USUVSE.js.map → config-5YBUWFUP.js.map} +0 -0
- /package/dist/{config-5ZXN2T2H.js.map → config-5ZRKJTKG.js.map} +0 -0
- /package/dist/{config-A2GQYJDB.js.map → config-A25LTL5W.js.map} +0 -0
- /package/dist/{config-BBOLI7VE.js.map → config-CLU7JABG.js.map} +0 -0
- /package/dist/{config-BIBFLUIR.js.map → config-D2RF7L3N.js.map} +0 -0
- /package/dist/{config-CPYFOUQO.js.map → config-E55TKM6K.js.map} +0 -0
- /package/dist/{config-DWSJL3NH.js.map → config-ELDOFRJW.js.map} +0 -0
- /package/dist/{config-E22XAGYN.js.map → config-FPC3RBFD.js.map} +0 -0
- /package/dist/{config-EHE52ZTK.js.map → config-FPM3LAW7.js.map} +0 -0
- /package/dist/{config-EX3ZJTZI.js.map → config-G3F54CS4.js.map} +0 -0
- /package/dist/{config-FRK7ZL37.js.map → config-G43HRUI3.js.map} +0 -0
- /package/dist/{config-HQXNFQZS.js.map → config-GG3WO5PB.js.map} +0 -0
- /package/dist/{config-HTXOOAOD.js.map → config-JUYBWAZE.js.map} +0 -0
- /package/dist/{config-IPNWAJHH.js.map → config-LJ5T6TVA.js.map} +0 -0
- /package/dist/{config-J2C53GOT.js.map → config-MDSAE4O3.js.map} +0 -0
- /package/dist/{config-K63RX6EU.js.map → config-NRIOKK5T.js.map} +0 -0
- /package/dist/{config-L7SBSH5L.js.map → config-OYK2BSJK.js.map} +0 -0
- /package/dist/{config-LEALEMKA.js.map → config-PB3KA2CE.js.map} +0 -0
- /package/dist/{config-M3Z47VYU.js.map → config-QY4IL3PH.js.map} +0 -0
- /package/dist/{config-MZM3IPFM.js.map → config-R4LAOEDS.js.map} +0 -0
- /package/dist/{config-OJ2BPESH.js.map → config-RIAAD6RW.js.map} +0 -0
- /package/dist/{config-QO2XUME4.js.map → config-SYNEQAUB.js.map} +0 -0
- /package/dist/{config-QWQGOXQ5.js.map → config-TJKGYA2B.js.map} +0 -0
- /package/dist/{config-RI7IEZUF.js.map → config-UURRGA7U.js.map} +0 -0
- /package/dist/{config-SPW6NESU.js.map → config-VPLHQXVE.js.map} +0 -0
- /package/dist/{config-T2IUIU5C.js.map → config-WRACCRPN.js.map} +0 -0
- /package/dist/{config-VKKZGC7V.js.map → config-WVHKXEVE.js.map} +0 -0
- /package/dist/{config-W7EVPJNK.js.map → config-XU7R36IE.js.map} +0 -0
- /package/dist/{config-WKQ3FGTZ.js.map → config-Y2KOUYSS.js.map} +0 -0
- /package/dist/{config-WVILHDFV.js.map → databricks_volume-CNCPTZHS.js.map} +0 -0
- /package/dist/{config-XU6D5C7E.js.map → digitalocean-DJZOUB6Q.js.map} +0 -0
- /package/dist/{databricks_volume-ETRDJVVQ.js.map → discord-ETB2CADR.js.map} +0 -0
- /package/dist/{digitalocean-QP72DR4J.js.map → disk-WEHSTK3F.js.map} +0 -0
- /package/dist/{discord-BSN5RB3E.js.map → dropbox-XN6PGLNE.js.map} +0 -0
- /package/dist/{disk-24NWTN2I.js.map → email-OV7XCP3T.js.map} +0 -0
- /package/dist/{dropbox-OSTZXSIE.js.map → gcal-P56MRCGU.js.map} +0 -0
- /package/dist/{email-4ZFPSWIN.js.map → gcs-HFBIAE2C.js.map} +0 -0
- /package/dist/{gcs-PFWR6MIW.js.map → gdocs-LQ3UXP3J.js.map} +0 -0
- /package/dist/{gdocs-GPAZRQG5.js.map → gdrive-N6UBYLON.js.map} +0 -0
- /package/dist/{gdrive-XSX6A7B3.js.map → github-BPZREGPI.js.map} +0 -0
- /package/dist/{github-EQ4NXUTA.js.map → github_ci-7A4LUIZ7.js.map} +0 -0
- /package/dist/{github_ci-QL5B2Q2N.js.map → gmail-YED2MF6H.js.map} +0 -0
- /package/dist/{gmail-2TBT4CVH.js.map → gridfs-CPLQ4G62.js.map} +0 -0
- /package/dist/{gridfs-KZRZ6SIB.js.map → gsheets-4BNIJPQ6.js.map} +0 -0
- /package/dist/{gsheets-N53WEXN2.js.map → gslides-GDBYLO5A.js.map} +0 -0
- /package/dist/{gslides-TATSARTH.js.map → hf_buckets-FTJITQ3P.js.map} +0 -0
- /package/dist/{hf_buckets-BK7NGJWS.js.map → hf_datasets-6GXVKQD7.js.map} +0 -0
- /package/dist/{hf_datasets-UQ5QGM4L.js.map → hf_models-PJPGZAC5.js.map} +0 -0
- /package/dist/{hf_models-75LFCQCS.js.map → hf_spaces-LFNFOLBF.js.map} +0 -0
- /package/dist/{hf_spaces-6T2KB3UC.js.map → jaeger-GCA6MJ6E.js.map} +0 -0
- /package/dist/{langfuse-AMQCQWNE.js.map → lancedb-TJ5YSJY5.js.map} +0 -0
- /package/dist/{linear-V3TXO6CV.js.map → langfuse-RUMTUMXS.js.map} +0 -0
- /package/dist/{minio-IZRZY4C5.js.map → linear-BCE4KEAC.js.map} +0 -0
- /package/dist/{mongodb-VMKPQCPX.js.map → minio-5SO6KBTK.js.map} +0 -0
- /package/dist/{nextcloud-5RHQCGDO.js.map → mongodb-L5CMN2EE.js.map} +0 -0
- /package/dist/{notion-6PPNTQFM.js.map → nextcloud-4O2LZVW2.js.map} +0 -0
- /package/dist/{oci-CKYBSFZJ.js.map → notion-RVKEAQ2M.js.map} +0 -0
- /package/dist/{postgres-WIQBVL5M.js.map → oci-OQXOIC62.js.map} +0 -0
- /package/dist/{qingstor-AP4IIPLY.js.map → postgres-AV45GNRS.js.map} +0 -0
- /package/dist/{r2-C4XGEWQY.js.map → qingstor-W277YA4K.js.map} +0 -0
- /package/dist/{redis-6D55Q2WB.js.map → r2-FUA4IORE.js.map} +0 -0
- /package/dist/{s3-XQBI2CXN.js.map → redis-LPS357NF.js.map} +0 -0
- /package/dist/{scaleway-SEZJVURB.js.map → s3-FPNWWIVM.js.map} +0 -0
- /package/dist/{seaweedfs-3XYIAFU2.js.map → scaleway-BP3732U7.js.map} +0 -0
- /package/dist/{slack-ZHXDJQY4.js.map → seaweedfs-MC6HIEP4.js.map} +0 -0
- /package/dist/{ssh-X2MO7JOV.js.map → slack-JFGW7VLN.js.map} +0 -0
- /package/dist/{supabase-BBM44UTM.js.map → ssh-UYPG42LM.js.map} +0 -0
- /package/dist/{tencent-X72USLJ7.js.map → supabase-A3KUFMDC.js.map} +0 -0
- /package/dist/{trello-EER5NG7L.js.map → tencent-5464UQ2X.js.map} +0 -0
- /package/dist/{wasabi-O4MVIUFG.js.map → trello-O2KB3FUO.js.map} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
redactSshConfig
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-MONC734W.js";
|
|
4
4
|
|
|
5
5
|
// src/resource/ssh/ssh.ts
|
|
6
6
|
import {
|
|
@@ -89,18 +89,10 @@ var SSHAccessor = class extends Accessor {
|
|
|
89
89
|
};
|
|
90
90
|
|
|
91
91
|
// src/commands/builtin/ssh/index.ts
|
|
92
|
-
import {
|
|
93
|
-
ResourceName as ResourceName2,
|
|
94
|
-
makeFiletypeCommands,
|
|
95
|
-
makeGenericCommands
|
|
96
|
-
} from "@struktoai/mirage-core";
|
|
97
|
-
|
|
98
|
-
// src/core/ssh/read.ts
|
|
99
|
-
import { enoent as enoent2 } from "@struktoai/mirage-core";
|
|
92
|
+
import { ResourceName as ResourceName2, makeGenericCommands } from "@struktoai/mirage-core";
|
|
100
93
|
|
|
101
|
-
// src/core/ssh/
|
|
102
|
-
import {
|
|
103
|
-
import { enoent } from "@struktoai/mirage-core";
|
|
94
|
+
// src/core/ssh/append.ts
|
|
95
|
+
import { invalidateAfterWrite } from "@struktoai/mirage-core";
|
|
104
96
|
|
|
105
97
|
// src/core/ssh/utils.ts
|
|
106
98
|
import { lstripSlash, mountPrefixOf, rstripSlash } from "@struktoai/mirage-core";
|
|
@@ -135,7 +127,29 @@ function isFileAttrs(attrs) {
|
|
|
135
127
|
return (attrs.mode & S_IFMT) === S_IFREG;
|
|
136
128
|
}
|
|
137
129
|
|
|
130
|
+
// src/core/ssh/append.ts
|
|
131
|
+
async function appendBytes(accessor, p, data) {
|
|
132
|
+
const sftp = await accessor.sftp();
|
|
133
|
+
const virtual = stripPrefix(p);
|
|
134
|
+
const remote = joinRoot(accessor.config.root ?? "/", virtual);
|
|
135
|
+
await new Promise((resolveFn, rejectFn) => {
|
|
136
|
+
sftp.appendFile(remote, Buffer.from(data), (err) => {
|
|
137
|
+
if (err) rejectFn(err);
|
|
138
|
+
else resolveFn();
|
|
139
|
+
});
|
|
140
|
+
});
|
|
141
|
+
await invalidateAfterWrite(p);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
// src/core/ssh/constants.ts
|
|
145
|
+
var SCOPE_ERROR = 5e3;
|
|
146
|
+
|
|
147
|
+
// src/core/ssh/read.ts
|
|
148
|
+
import { enoent as enoent2 } from "@struktoai/mirage-core";
|
|
149
|
+
|
|
138
150
|
// src/core/ssh/stream.ts
|
|
151
|
+
import { once } from "events";
|
|
152
|
+
import { enoent } from "@struktoai/mirage-core";
|
|
139
153
|
async function waitForClose(rs) {
|
|
140
154
|
try {
|
|
141
155
|
await once(rs, "close");
|
|
@@ -221,72 +235,6 @@ async function read(accessor, p) {
|
|
|
221
235
|
return out;
|
|
222
236
|
}
|
|
223
237
|
|
|
224
|
-
// src/core/ssh/entry.ts
|
|
225
|
-
import { FileStat, FileType, guessType } from "@struktoai/mirage-core";
|
|
226
|
-
function attrsToFileStat(name, attrs) {
|
|
227
|
-
const modified = attrs.mtime !== void 0 ? new Date(attrs.mtime * 1e3).toISOString() : null;
|
|
228
|
-
const extra = {};
|
|
229
|
-
if (attrs.mode !== void 0) extra.mode = attrs.mode;
|
|
230
|
-
if (attrs.uid !== void 0) extra.uid = attrs.uid;
|
|
231
|
-
if (attrs.gid !== void 0) extra.gid = attrs.gid;
|
|
232
|
-
if (isDirectoryAttrs(attrs)) {
|
|
233
|
-
return new FileStat({
|
|
234
|
-
name,
|
|
235
|
-
size: null,
|
|
236
|
-
modified,
|
|
237
|
-
type: FileType.DIRECTORY,
|
|
238
|
-
extra
|
|
239
|
-
});
|
|
240
|
-
}
|
|
241
|
-
return new FileStat({
|
|
242
|
-
name,
|
|
243
|
-
size: attrs.size ?? null,
|
|
244
|
-
modified,
|
|
245
|
-
fingerprint: null,
|
|
246
|
-
type: guessType(name),
|
|
247
|
-
extra
|
|
248
|
-
});
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
// src/core/ssh/stat.ts
|
|
252
|
-
import { enoent as enoent3, rstripSlash as rstripSlash2 } from "@struktoai/mirage-core";
|
|
253
|
-
async function stat(accessor, p) {
|
|
254
|
-
const sftp = await accessor.sftp();
|
|
255
|
-
const virtual = stripPrefix(p);
|
|
256
|
-
const remote = joinRoot(accessor.config.root ?? "/", virtual);
|
|
257
|
-
const attrs = await new Promise((resolveFn, rejectFn) => {
|
|
258
|
-
sftp.lstat(remote, (err, stats) => {
|
|
259
|
-
if (err !== void 0) {
|
|
260
|
-
if (isNoSuchFile(err)) rejectFn(enoent3(p));
|
|
261
|
-
else rejectFn(err);
|
|
262
|
-
return;
|
|
263
|
-
}
|
|
264
|
-
resolveFn(stats);
|
|
265
|
-
});
|
|
266
|
-
});
|
|
267
|
-
const cleaned = rstripSlash2(virtual);
|
|
268
|
-
const name = cleaned.length === 0 ? "/" : cleaned.split("/").pop() ?? "/";
|
|
269
|
-
return attrsToFileStat(name, attrs);
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
// src/core/ssh/append.ts
|
|
273
|
-
import { invalidateAfterWrite } from "@struktoai/mirage-core";
|
|
274
|
-
async function appendBytes(accessor, p, data) {
|
|
275
|
-
const sftp = await accessor.sftp();
|
|
276
|
-
const virtual = stripPrefix(p);
|
|
277
|
-
const remote = joinRoot(accessor.config.root ?? "/", virtual);
|
|
278
|
-
await new Promise((resolveFn, rejectFn) => {
|
|
279
|
-
sftp.appendFile(remote, Buffer.from(data), (err) => {
|
|
280
|
-
if (err) rejectFn(err);
|
|
281
|
-
else resolveFn();
|
|
282
|
-
});
|
|
283
|
-
});
|
|
284
|
-
await invalidateAfterWrite(p);
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
// src/core/ssh/constants.ts
|
|
288
|
-
var SCOPE_ERROR = 5e3;
|
|
289
|
-
|
|
290
238
|
// src/core/ssh/write.ts
|
|
291
239
|
import { ResourceName, invalidateAfterWrite as invalidateAfterWrite2, record } from "@struktoai/mirage-core";
|
|
292
240
|
async function writeBytes(accessor, p, data) {
|
|
@@ -315,12 +263,14 @@ function create(accessor, path) {
|
|
|
315
263
|
return writeBytes(accessor, path, new Uint8Array());
|
|
316
264
|
}
|
|
317
265
|
|
|
318
|
-
// src/core/ssh/du.ts
|
|
319
|
-
import { norm } from "@struktoai/mirage-core";
|
|
266
|
+
// src/core/ssh/du/entries.ts
|
|
267
|
+
import { compareCodePoints, norm } from "@struktoai/mirage-core";
|
|
268
|
+
|
|
269
|
+
// src/core/ssh/du/walk.ts
|
|
320
270
|
async function readRemoteDir(accessor, remote) {
|
|
321
271
|
const sftp = await accessor.sftp();
|
|
322
272
|
return new Promise((resolveFn, rejectFn) => {
|
|
323
|
-
sftp.readdir(remote, (err,
|
|
273
|
+
sftp.readdir(remote, (err, entries2) => {
|
|
324
274
|
if (err !== void 0) {
|
|
325
275
|
const code = err.code;
|
|
326
276
|
if (code === 2) {
|
|
@@ -330,7 +280,7 @@ async function readRemoteDir(accessor, remote) {
|
|
|
330
280
|
rejectFn(err);
|
|
331
281
|
return;
|
|
332
282
|
}
|
|
333
|
-
resolveFn(
|
|
283
|
+
resolveFn(entries2);
|
|
334
284
|
});
|
|
335
285
|
});
|
|
336
286
|
}
|
|
@@ -357,10 +307,10 @@ async function walkSizes(accessor, virtual) {
|
|
|
357
307
|
if (st === null) return 0;
|
|
358
308
|
if (isFileAttrs(st)) return st.size;
|
|
359
309
|
if (!isDirectoryAttrs(st)) return 0;
|
|
360
|
-
const
|
|
361
|
-
if (
|
|
310
|
+
const entries2 = await readRemoteDir(accessor, remote);
|
|
311
|
+
if (entries2 === null) return 0;
|
|
362
312
|
let total = 0;
|
|
363
|
-
for (const entry of
|
|
313
|
+
for (const entry of entries2) {
|
|
364
314
|
if (entry.filename === "." || entry.filename === "..") continue;
|
|
365
315
|
const child = virtual === "/" ? `/${entry.filename}` : `${virtual}/${entry.filename}`;
|
|
366
316
|
if (isDirectoryAttrs(entry.attrs)) {
|
|
@@ -371,12 +321,12 @@ async function walkSizes(accessor, virtual) {
|
|
|
371
321
|
}
|
|
372
322
|
return total;
|
|
373
323
|
}
|
|
374
|
-
async function walkAll(accessor, virtual,
|
|
324
|
+
async function walkAll(accessor, virtual, entries2) {
|
|
375
325
|
const remote = joinRoot(accessor.config.root ?? "/", virtual);
|
|
376
326
|
const st = await statRemote(accessor, remote);
|
|
377
327
|
if (st === null) return 0;
|
|
378
328
|
if (isFileAttrs(st)) {
|
|
379
|
-
|
|
329
|
+
entries2.push([virtual, st.size]);
|
|
380
330
|
return st.size;
|
|
381
331
|
}
|
|
382
332
|
if (!isDirectoryAttrs(st)) return 0;
|
|
@@ -387,26 +337,30 @@ async function walkAll(accessor, virtual, entries) {
|
|
|
387
337
|
if (entry.filename === "." || entry.filename === "..") continue;
|
|
388
338
|
const child = virtual === "/" ? `/${entry.filename}` : `${virtual}/${entry.filename}`;
|
|
389
339
|
if (isDirectoryAttrs(entry.attrs)) {
|
|
390
|
-
total += await walkAll(accessor, child,
|
|
340
|
+
total += await walkAll(accessor, child, entries2);
|
|
391
341
|
} else {
|
|
392
|
-
const
|
|
393
|
-
|
|
394
|
-
total +=
|
|
342
|
+
const size2 = entry.attrs.size;
|
|
343
|
+
entries2.push([child, size2]);
|
|
344
|
+
total += size2;
|
|
395
345
|
}
|
|
396
346
|
}
|
|
397
347
|
return total;
|
|
398
348
|
}
|
|
399
|
-
|
|
349
|
+
|
|
350
|
+
// src/core/ssh/du/entries.ts
|
|
351
|
+
async function entries(accessor, p) {
|
|
352
|
+
const virtual = norm(stripPrefix(p));
|
|
353
|
+
const entries2 = [];
|
|
354
|
+
const total = await walkAll(accessor, virtual, entries2);
|
|
355
|
+
entries2.sort((a, b) => compareCodePoints(a[0], b[0]));
|
|
356
|
+
return [entries2, total];
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
// src/core/ssh/du/size.ts
|
|
360
|
+
async function size(accessor, p) {
|
|
400
361
|
const virtual = stripPrefix(p);
|
|
401
362
|
return walkSizes(accessor, virtual);
|
|
402
363
|
}
|
|
403
|
-
async function duAll(accessor, p) {
|
|
404
|
-
const virtual = norm(stripPrefix(p));
|
|
405
|
-
const entries = [];
|
|
406
|
-
const total = await walkAll(accessor, virtual, entries);
|
|
407
|
-
entries.sort((a, b) => a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0);
|
|
408
|
-
return [entries, total];
|
|
409
|
-
}
|
|
410
364
|
|
|
411
365
|
// src/core/ssh/exists.ts
|
|
412
366
|
async function exists(accessor, p) {
|
|
@@ -420,7 +374,7 @@ async function exists(accessor, p) {
|
|
|
420
374
|
}
|
|
421
375
|
|
|
422
376
|
// src/core/ssh/find.ts
|
|
423
|
-
import { norm as norm2 } from "@struktoai/mirage-core";
|
|
377
|
+
import { compareCodePoints as compareCodePoints2, norm as norm2 } from "@struktoai/mirage-core";
|
|
424
378
|
import {
|
|
425
379
|
buildTree,
|
|
426
380
|
emitStartPath,
|
|
@@ -445,9 +399,9 @@ function matches(entry, entryPath, isDir, depth, opts, tree) {
|
|
|
445
399
|
return false;
|
|
446
400
|
}
|
|
447
401
|
if (opts.minSize != null || opts.maxSize != null) {
|
|
448
|
-
const
|
|
449
|
-
if (opts.minSize != null &&
|
|
450
|
-
if (opts.maxSize != null &&
|
|
402
|
+
const size2 = isDir ? 0 : entry.attrs.size;
|
|
403
|
+
if (opts.minSize != null && size2 < opts.minSize) return false;
|
|
404
|
+
if (opts.maxSize != null && size2 > opts.maxSize) return false;
|
|
451
405
|
}
|
|
452
406
|
if (opts.mtimeMin !== null && opts.mtimeMin !== void 0 || opts.mtimeMax !== null && opts.mtimeMax !== void 0) {
|
|
453
407
|
const mtime = entry.attrs.mtime;
|
|
@@ -459,7 +413,7 @@ function matches(entry, entryPath, isDir, depth, opts, tree) {
|
|
|
459
413
|
async function readRemoteDir2(accessor, remote) {
|
|
460
414
|
const sftp = await accessor.sftp();
|
|
461
415
|
return new Promise((resolveFn, rejectFn) => {
|
|
462
|
-
sftp.readdir(remote, (err,
|
|
416
|
+
sftp.readdir(remote, (err, entries2) => {
|
|
463
417
|
if (err !== void 0) {
|
|
464
418
|
const code = err.code;
|
|
465
419
|
if (code === 2) {
|
|
@@ -469,7 +423,7 @@ async function readRemoteDir2(accessor, remote) {
|
|
|
469
423
|
rejectFn(err);
|
|
470
424
|
return;
|
|
471
425
|
}
|
|
472
|
-
resolveFn(
|
|
426
|
+
resolveFn(entries2);
|
|
473
427
|
});
|
|
474
428
|
});
|
|
475
429
|
}
|
|
@@ -494,9 +448,9 @@ async function walk(ctx, virtual, depth) {
|
|
|
494
448
|
const opts = ctx.options;
|
|
495
449
|
if (opts.maxDepth !== null && opts.maxDepth !== void 0 && depth > opts.maxDepth) return;
|
|
496
450
|
const remote = joinRoot(ctx.accessor.config.root ?? "/", virtual);
|
|
497
|
-
const
|
|
498
|
-
if (
|
|
499
|
-
for (const entry of
|
|
451
|
+
const entries2 = await readRemoteDir2(ctx.accessor, remote);
|
|
452
|
+
if (entries2 === null) return;
|
|
453
|
+
for (const entry of entries2) {
|
|
500
454
|
if (entry.filename === "." || entry.filename === "..") continue;
|
|
501
455
|
const childPath = virtual === "/" ? `/${entry.filename}` : `${virtual}/${entry.filename}`;
|
|
502
456
|
const isDir = isDirectoryAttrs(entry.attrs);
|
|
@@ -537,13 +491,13 @@ async function find(accessor, p, options = {}) {
|
|
|
537
491
|
});
|
|
538
492
|
}
|
|
539
493
|
await walk({ accessor, options, results, baseDepth, tree }, virtual, 0);
|
|
540
|
-
results.sort();
|
|
494
|
+
results.sort(compareCodePoints2);
|
|
541
495
|
return results;
|
|
542
496
|
}
|
|
543
497
|
|
|
544
498
|
// src/core/ssh/mkdir.ts
|
|
545
499
|
import { invalidateAfterWrite as invalidateAfterWrite3, invalidateAncestors } from "@struktoai/mirage-core";
|
|
546
|
-
import { enoent as
|
|
500
|
+
import { enoent as enoent3, stripSlash } from "@struktoai/mirage-core";
|
|
547
501
|
async function statRemote3(sftp, remote) {
|
|
548
502
|
return new Promise((resolveFn) => {
|
|
549
503
|
sftp.lstat(remote, (err, stats) => {
|
|
@@ -576,7 +530,7 @@ async function mkdir(accessor, p, recursive) {
|
|
|
576
530
|
try {
|
|
577
531
|
await mkdirOne(sftp, remote, false);
|
|
578
532
|
} catch (err) {
|
|
579
|
-
if (isNoSuchFile(err)) throw
|
|
533
|
+
if (isNoSuchFile(err)) throw enoent3(p);
|
|
580
534
|
throw err;
|
|
581
535
|
}
|
|
582
536
|
return;
|
|
@@ -597,19 +551,19 @@ async function mkdir(accessor, p, recursive) {
|
|
|
597
551
|
}
|
|
598
552
|
|
|
599
553
|
// src/core/ssh/readdir.ts
|
|
600
|
-
import { enoent as
|
|
554
|
+
import { compareCodePoints as compareCodePoints3, enoent as enoent4, mountPrefixOf as mountPrefixOf2, stripSlash as stripSlash2 } from "@struktoai/mirage-core";
|
|
601
555
|
async function readdir(accessor, p) {
|
|
602
556
|
const sftp = await accessor.sftp();
|
|
603
557
|
const virtual = p.pattern !== null ? p.directory.slice(mountPrefixOf2(p.virtual, p.resourcePath).length) || "/" : stripPrefix(p);
|
|
604
558
|
const remote = joinRoot(accessor.config.root ?? "/", virtual);
|
|
605
559
|
const list = await new Promise((resolveFn, rejectFn) => {
|
|
606
|
-
sftp.readdir(remote, (err,
|
|
560
|
+
sftp.readdir(remote, (err, entries2) => {
|
|
607
561
|
if (err !== void 0) {
|
|
608
|
-
if (isNoSuchFile(err)) rejectFn(
|
|
562
|
+
if (isNoSuchFile(err)) rejectFn(enoent4(p));
|
|
609
563
|
else rejectFn(err);
|
|
610
564
|
return;
|
|
611
565
|
}
|
|
612
|
-
resolveFn(
|
|
566
|
+
resolveFn(entries2);
|
|
613
567
|
});
|
|
614
568
|
});
|
|
615
569
|
const base = `/${stripSlash2(virtual)}`;
|
|
@@ -620,13 +574,13 @@ async function readdir(accessor, p) {
|
|
|
620
574
|
if (entry.filename === "." || entry.filename === "..") continue;
|
|
621
575
|
names.push(`${mountPrefix}${dirPrefix}${entry.filename}`);
|
|
622
576
|
}
|
|
623
|
-
names.sort();
|
|
577
|
+
names.sort(compareCodePoints3);
|
|
624
578
|
return names;
|
|
625
579
|
}
|
|
626
580
|
|
|
627
581
|
// src/core/ssh/rename.ts
|
|
628
582
|
import { invalidateAfterUnlink, invalidateAfterWrite as invalidateAfterWrite4 } from "@struktoai/mirage-core";
|
|
629
|
-
import { enoent as
|
|
583
|
+
import { enoent as enoent5 } from "@struktoai/mirage-core";
|
|
630
584
|
async function rename(accessor, src, dst) {
|
|
631
585
|
const sftp = await accessor.sftp();
|
|
632
586
|
const root = accessor.config.root ?? "/";
|
|
@@ -637,7 +591,7 @@ async function rename(accessor, src, dst) {
|
|
|
637
591
|
await new Promise((resolveFn, rejectFn) => {
|
|
638
592
|
const done = (err) => {
|
|
639
593
|
if (!err) resolveFn();
|
|
640
|
-
else if (isNoSuchFile(err)) rejectFn(
|
|
594
|
+
else if (isNoSuchFile(err)) rejectFn(enoent5(src));
|
|
641
595
|
else rejectFn(err);
|
|
642
596
|
};
|
|
643
597
|
try {
|
|
@@ -651,7 +605,7 @@ async function rename(accessor, src, dst) {
|
|
|
651
605
|
}
|
|
652
606
|
|
|
653
607
|
// src/core/ssh/rm.ts
|
|
654
|
-
import { enoent as
|
|
608
|
+
import { enoent as enoent6, invalidateAfterUnlink as invalidateAfterUnlink2 } from "@struktoai/mirage-core";
|
|
655
609
|
async function statRemote4(sftp, remote) {
|
|
656
610
|
return new Promise((resolveFn, rejectFn) => {
|
|
657
611
|
sftp.lstat(remote, (err, stats) => {
|
|
@@ -687,8 +641,8 @@ async function rmdirRemote(sftp, remote) {
|
|
|
687
641
|
async function rmRecurse(sftp, remote) {
|
|
688
642
|
const stats = await statRemote4(sftp, remote);
|
|
689
643
|
if (isDirectoryAttrs(stats)) {
|
|
690
|
-
const
|
|
691
|
-
for (const entry of
|
|
644
|
+
const entries2 = await readdirRemote(sftp, remote);
|
|
645
|
+
for (const entry of entries2) {
|
|
692
646
|
if (entry.filename === "." || entry.filename === "..") continue;
|
|
693
647
|
const child = remote === "/" ? `/${entry.filename}` : `${remote}/${entry.filename}`;
|
|
694
648
|
await rmRecurse(sftp, child);
|
|
@@ -705,14 +659,14 @@ async function rmR(accessor, p) {
|
|
|
705
659
|
try {
|
|
706
660
|
await rmRecurse(sftp, remote);
|
|
707
661
|
} catch (err) {
|
|
708
|
-
if (isNoSuchFile(err)) throw
|
|
662
|
+
if (isNoSuchFile(err)) throw enoent6(p);
|
|
709
663
|
throw err;
|
|
710
664
|
}
|
|
711
665
|
await invalidateAfterUnlink2(p);
|
|
712
666
|
}
|
|
713
667
|
|
|
714
668
|
// src/core/ssh/rmdir.ts
|
|
715
|
-
import { enoent as
|
|
669
|
+
import { enoent as enoent7, invalidateAfterUnlink as invalidateAfterUnlink3 } from "@struktoai/mirage-core";
|
|
716
670
|
async function rmdir(accessor, p) {
|
|
717
671
|
const sftp = await accessor.sftp();
|
|
718
672
|
const virtual = stripPrefix(p);
|
|
@@ -723,13 +677,118 @@ async function rmdir(accessor, p) {
|
|
|
723
677
|
resolveFn();
|
|
724
678
|
return;
|
|
725
679
|
}
|
|
726
|
-
if (isNoSuchFile(err)) rejectFn(
|
|
680
|
+
if (isNoSuchFile(err)) rejectFn(enoent7(p));
|
|
727
681
|
else rejectFn(err);
|
|
728
682
|
});
|
|
729
683
|
});
|
|
730
684
|
await invalidateAfterUnlink3(p);
|
|
731
685
|
}
|
|
732
686
|
|
|
687
|
+
// src/core/ssh/set_attrs.ts
|
|
688
|
+
import { enoent as enoent8 } from "@struktoai/mirage-core";
|
|
689
|
+
function sftpStat(sftp, remote, p) {
|
|
690
|
+
return new Promise((resolveFn, rejectFn) => {
|
|
691
|
+
sftp.stat(remote, (err, stats) => {
|
|
692
|
+
if (err !== void 0) {
|
|
693
|
+
if (isNoSuchFile(err)) rejectFn(enoent8(p));
|
|
694
|
+
else rejectFn(err);
|
|
695
|
+
return;
|
|
696
|
+
}
|
|
697
|
+
resolveFn(stats);
|
|
698
|
+
});
|
|
699
|
+
});
|
|
700
|
+
}
|
|
701
|
+
function sftpChmod(sftp, remote, mode) {
|
|
702
|
+
return new Promise((resolveFn, rejectFn) => {
|
|
703
|
+
sftp.chmod(remote, mode, (err) => {
|
|
704
|
+
if (err !== void 0 && err !== null) rejectFn(err);
|
|
705
|
+
else resolveFn();
|
|
706
|
+
});
|
|
707
|
+
});
|
|
708
|
+
}
|
|
709
|
+
function sftpUtimes(sftp, remote, atime, mtime) {
|
|
710
|
+
return new Promise((resolveFn, rejectFn) => {
|
|
711
|
+
sftp.utimes(remote, atime, mtime, (err) => {
|
|
712
|
+
if (err !== void 0 && err !== null) rejectFn(err);
|
|
713
|
+
else resolveFn();
|
|
714
|
+
});
|
|
715
|
+
});
|
|
716
|
+
}
|
|
717
|
+
async function setAttrs(accessor, path, fields) {
|
|
718
|
+
const sftp = await accessor.sftp();
|
|
719
|
+
const remote = joinRoot(accessor.config.root ?? "/", stripPrefix(path));
|
|
720
|
+
const st = await sftpStat(sftp, remote, path);
|
|
721
|
+
const residual = {};
|
|
722
|
+
if (fields.mode !== void 0) {
|
|
723
|
+
const keep2 = st.isDirectory() ? 448 : 384;
|
|
724
|
+
await sftpChmod(sftp, remote, fields.mode | keep2);
|
|
725
|
+
if ((fields.mode | keep2) !== fields.mode) residual.mode = fields.mode;
|
|
726
|
+
}
|
|
727
|
+
if (fields.uid !== void 0) residual.uid = fields.uid;
|
|
728
|
+
if (fields.gid !== void 0) residual.gid = fields.gid;
|
|
729
|
+
if (fields.atime !== void 0 || fields.mtime !== void 0) {
|
|
730
|
+
const newAtime = fields.atime !== void 0 ? Math.floor(Date.parse(fields.atime) / 1e3) : st.atime;
|
|
731
|
+
const newMtime = fields.mtime !== void 0 ? Math.floor(Date.parse(fields.mtime) / 1e3) : st.mtime;
|
|
732
|
+
await sftpUtimes(sftp, remote, newAtime, newMtime);
|
|
733
|
+
}
|
|
734
|
+
return residual;
|
|
735
|
+
}
|
|
736
|
+
|
|
737
|
+
// src/core/ssh/entry.ts
|
|
738
|
+
import { FileStat, FileType, guessType } from "@struktoai/mirage-core";
|
|
739
|
+
function attrsToFileStat(name, attrs) {
|
|
740
|
+
const modified = attrs.mtime !== void 0 ? new Date(attrs.mtime * 1e3).toISOString() : null;
|
|
741
|
+
const extra = {};
|
|
742
|
+
if (attrs.mode !== void 0) extra.mode = attrs.mode;
|
|
743
|
+
if (attrs.uid !== void 0) extra.uid = attrs.uid;
|
|
744
|
+
if (attrs.gid !== void 0) extra.gid = attrs.gid;
|
|
745
|
+
const mode = attrs.mode !== void 0 ? attrs.mode & 4095 : null;
|
|
746
|
+
const atime = attrs.atime !== void 0 ? new Date(attrs.atime * 1e3).toISOString() : null;
|
|
747
|
+
if (isDirectoryAttrs(attrs)) {
|
|
748
|
+
return new FileStat({
|
|
749
|
+
name,
|
|
750
|
+
size: null,
|
|
751
|
+
modified,
|
|
752
|
+
fingerprint: modified,
|
|
753
|
+
type: FileType.DIRECTORY,
|
|
754
|
+
mode,
|
|
755
|
+
atime,
|
|
756
|
+
extra
|
|
757
|
+
});
|
|
758
|
+
}
|
|
759
|
+
return new FileStat({
|
|
760
|
+
name,
|
|
761
|
+
size: attrs.size ?? null,
|
|
762
|
+
modified,
|
|
763
|
+
fingerprint: modified,
|
|
764
|
+
type: guessType(name),
|
|
765
|
+
mode,
|
|
766
|
+
atime,
|
|
767
|
+
extra
|
|
768
|
+
});
|
|
769
|
+
}
|
|
770
|
+
|
|
771
|
+
// src/core/ssh/stat.ts
|
|
772
|
+
import { enoent as enoent9, rstripSlash as rstripSlash2 } from "@struktoai/mirage-core";
|
|
773
|
+
async function stat(accessor, p) {
|
|
774
|
+
const sftp = await accessor.sftp();
|
|
775
|
+
const virtual = stripPrefix(p);
|
|
776
|
+
const remote = joinRoot(accessor.config.root ?? "/", virtual);
|
|
777
|
+
const attrs = await new Promise((resolveFn, rejectFn) => {
|
|
778
|
+
sftp.stat(remote, (err, stats) => {
|
|
779
|
+
if (err !== void 0) {
|
|
780
|
+
if (isNoSuchFile(err)) rejectFn(enoent9(p));
|
|
781
|
+
else rejectFn(err);
|
|
782
|
+
return;
|
|
783
|
+
}
|
|
784
|
+
resolveFn(stats);
|
|
785
|
+
});
|
|
786
|
+
});
|
|
787
|
+
const cleaned = rstripSlash2(virtual);
|
|
788
|
+
const name = cleaned.length === 0 ? "/" : cleaned.split("/").pop() ?? "/";
|
|
789
|
+
return attrsToFileStat(name, attrs);
|
|
790
|
+
}
|
|
791
|
+
|
|
733
792
|
// src/core/ssh/truncate.ts
|
|
734
793
|
async function truncate(accessor, p, length) {
|
|
735
794
|
let data;
|
|
@@ -749,7 +808,7 @@ async function truncate(accessor, p, length) {
|
|
|
749
808
|
|
|
750
809
|
// src/core/ssh/unlink.ts
|
|
751
810
|
import { invalidateAfterUnlink as invalidateAfterUnlink4 } from "@struktoai/mirage-core";
|
|
752
|
-
import { enoent as
|
|
811
|
+
import { enoent as enoent10 } from "@struktoai/mirage-core";
|
|
753
812
|
async function unlink(accessor, p) {
|
|
754
813
|
const sftp = await accessor.sftp();
|
|
755
814
|
const virtual = stripPrefix(p);
|
|
@@ -760,7 +819,7 @@ async function unlink(accessor, p) {
|
|
|
760
819
|
resolveFn();
|
|
761
820
|
return;
|
|
762
821
|
}
|
|
763
|
-
if (isNoSuchFile(err)) rejectFn(
|
|
822
|
+
if (isNoSuchFile(err)) rejectFn(enoent10(p));
|
|
764
823
|
else rejectFn(err);
|
|
765
824
|
});
|
|
766
825
|
});
|
|
@@ -788,25 +847,19 @@ var SSH_IO = {
|
|
|
788
847
|
truncate,
|
|
789
848
|
append: appendBytes,
|
|
790
849
|
find,
|
|
791
|
-
|
|
792
|
-
|
|
850
|
+
du: { size, entries },
|
|
851
|
+
setAttrs
|
|
793
852
|
};
|
|
794
853
|
|
|
795
854
|
// src/commands/builtin/ssh/index.ts
|
|
796
855
|
var SSH_COMMANDS = [
|
|
797
|
-
...makeFiletypeCommands({
|
|
798
|
-
resource: ResourceName2.SSH,
|
|
799
|
-
readBytes: read,
|
|
800
|
-
statEntry: stat
|
|
801
|
-
}),
|
|
802
856
|
...makeGenericCommands(ResourceName2.SSH, SSH_IO)
|
|
803
857
|
];
|
|
804
858
|
|
|
805
859
|
// src/ops/ssh/index.ts
|
|
806
860
|
import { ResourceName as ResourceName3, makeGenericOps } from "@struktoai/mirage-core";
|
|
807
861
|
var SSH_OPS = makeGenericOps(ResourceName3.SSH, SSH_IO, {
|
|
808
|
-
mkdirParents: true
|
|
809
|
-
forwardIndex: false
|
|
862
|
+
mkdirParents: true
|
|
810
863
|
});
|
|
811
864
|
|
|
812
865
|
// src/resource/ssh/prompt.ts
|
|
@@ -820,6 +873,9 @@ var globCore = makeResolveGlob(readdir, SCOPE_ERROR);
|
|
|
820
873
|
var SSHResource = class extends BaseResource {
|
|
821
874
|
kind = ResourceName4.SSH;
|
|
822
875
|
cachesReads = true;
|
|
876
|
+
// SFTP stat/readdir report the remote inode's exact byte size for every
|
|
877
|
+
// file; reads are the same raw bytes.
|
|
878
|
+
sizesAlwaysKnown = true;
|
|
823
879
|
indexTtl = 60;
|
|
824
880
|
prompt = SSH_PROMPT;
|
|
825
881
|
config;
|
|
@@ -837,8 +893,8 @@ var SSHResource = class extends BaseResource {
|
|
|
837
893
|
read_stream: stream,
|
|
838
894
|
range_read: rangeRead,
|
|
839
895
|
rm_recursive: rmR,
|
|
840
|
-
|
|
841
|
-
|
|
896
|
+
du_size: size,
|
|
897
|
+
du_entries: entries,
|
|
842
898
|
create,
|
|
843
899
|
truncate,
|
|
844
900
|
exists,
|
|
@@ -853,8 +909,9 @@ var SSHResource = class extends BaseResource {
|
|
|
853
909
|
open() {
|
|
854
910
|
return Promise.resolve();
|
|
855
911
|
}
|
|
856
|
-
close() {
|
|
857
|
-
|
|
912
|
+
async close() {
|
|
913
|
+
await this.accessor.close();
|
|
914
|
+
await super.close();
|
|
858
915
|
}
|
|
859
916
|
ops() {
|
|
860
917
|
return SSH_OPS;
|
|
@@ -905,7 +962,7 @@ var SSHResource = class extends BaseResource {
|
|
|
905
962
|
return rmR(this.accessor, p);
|
|
906
963
|
}
|
|
907
964
|
du(p) {
|
|
908
|
-
return
|
|
965
|
+
return size(this.accessor, p);
|
|
909
966
|
}
|
|
910
967
|
find(p, options = {}) {
|
|
911
968
|
return find(this.accessor, p, options);
|
|
@@ -941,4 +998,4 @@ export {
|
|
|
941
998
|
SSH_PROMPT,
|
|
942
999
|
SSHResource
|
|
943
1000
|
};
|
|
944
|
-
//# sourceMappingURL=chunk-
|
|
1001
|
+
//# sourceMappingURL=chunk-KIX6N7NT.js.map
|