@struktoai/mirage-node 0.0.3 → 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/cas.lua +15 -0
- package/dist/ceph-ALKLD3MO.js +11 -0
- package/dist/{chunk-QCZ2XUKH.js → chunk-2A4YGVBM.js} +16 -23
- 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-UT2OPSN4.js → chunk-3JZQ6VSZ.js} +5 -5
- 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-47AVIIOT.js → chunk-5H6KNEPP.js} +4 -5
- package/dist/{chunk-47AVIIOT.js.map → chunk-5H6KNEPP.js.map} +1 -1
- package/dist/{chunk-I5THIMPP.js → chunk-5K2MWDCE.js} +6 -7
- package/dist/{chunk-I5THIMPP.js.map → chunk-5K2MWDCE.js.map} +1 -1
- package/dist/{chunk-3WIO7NBR.js → chunk-6SVXWRKX.js} +4 -5
- package/dist/{chunk-3WIO7NBR.js.map → chunk-6SVXWRKX.js.map} +1 -1
- package/dist/{chunk-RQK5UPMP.js → chunk-6VOIUGAD.js} +25 -12
- package/dist/chunk-6VOIUGAD.js.map +1 -0
- package/dist/{chunk-NOHWIBRX.js → chunk-7JYHFXXC.js} +15 -20
- 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-SWCDFEUK.js → chunk-ADEXNSYU.js} +20 -22
- 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-RO5IQEDQ.js → chunk-ATLXMNKD.js} +8 -4
- package/dist/chunk-ATLXMNKD.js.map +1 -0
- package/dist/{chunk-MPCCRRE6.js → chunk-BYCUGFRF.js} +16 -16
- package/dist/chunk-BYCUGFRF.js.map +1 -0
- package/dist/{chunk-HJJMP6IX.js → chunk-BZTVYOES.js} +3 -3
- package/dist/{chunk-B2ZOKNN4.js → chunk-CRC4YWXB.js} +27 -9
- package/dist/chunk-CRC4YWXB.js.map +1 -0
- package/dist/chunk-CTGXJHO5.js +39 -0
- package/dist/chunk-CTGXJHO5.js.map +1 -0
- package/dist/{chunk-Q2IAILVC.js → chunk-DCDBIXVZ.js} +14 -5
- package/dist/chunk-DCDBIXVZ.js.map +1 -0
- package/dist/chunk-DDAFNROK.js +750 -0
- 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-QGRDPSAH.js → chunk-EBI4IHDC.js} +23 -12
- package/dist/chunk-EBI4IHDC.js.map +1 -0
- package/dist/{chunk-JAGJTM3Q.js → chunk-EIUTZ6N7.js} +19 -34
- package/dist/chunk-EIUTZ6N7.js.map +1 -0
- package/dist/{chunk-TA3WMOMU.js → chunk-EJZG5VUF.js} +38 -32
- package/dist/chunk-EJZG5VUF.js.map +1 -0
- package/dist/{chunk-X5HF2OFP.js → chunk-ENW5BVYN.js} +3 -3
- package/dist/{chunk-HGCRXJGP.js → chunk-ETIAW4YD.js} +3 -3
- package/dist/chunk-EUPXAYPB.js +20 -0
- package/dist/chunk-EUPXAYPB.js.map +1 -0
- package/dist/{chunk-YAHRT6MB.js → chunk-FA6YNU75.js} +4 -5
- package/dist/{chunk-YAHRT6MB.js.map → chunk-FA6YNU75.js.map} +1 -1
- package/dist/{chunk-TWGVQLG2.js → chunk-FFH6R5VQ.js} +7 -3
- package/dist/chunk-FFH6R5VQ.js.map +1 -0
- package/dist/{chunk-JCC4CU2I.js → chunk-GE6H2COM.js} +15 -23
- package/dist/chunk-GE6H2COM.js.map +1 -0
- package/dist/{chunk-DM4GSE26.js → chunk-GMMQ3ZK4.js} +3 -3
- package/dist/{chunk-ZEGAMJO2.js → chunk-GSGE3M5P.js} +15 -23
- package/dist/chunk-GSGE3M5P.js.map +1 -0
- package/dist/{chunk-GCFYZSVR.js → chunk-H64SB6VO.js} +32 -13
- package/dist/chunk-H64SB6VO.js.map +1 -0
- package/dist/{chunk-N5FSLVKO.js → chunk-HCRYAFBI.js} +3 -3
- package/dist/{chunk-IDYHQQOH.js → chunk-HOPUP6LA.js} +358 -471
- 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-FQ33BYFR.js → chunk-I7CPLZNW.js} +4 -5
- package/dist/{chunk-FQ33BYFR.js.map → chunk-I7CPLZNW.js.map} +1 -1
- package/dist/{chunk-VGLHY6BK.js → chunk-IFUCGI4I.js} +7 -3
- package/dist/chunk-IFUCGI4I.js.map +1 -0
- package/dist/{chunk-RNQN2FOU.js → chunk-IFYXSSKR.js} +24 -13
- 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-7CW3BMPH.js → chunk-JJERW2BI.js} +4 -5
- package/dist/{chunk-7CW3BMPH.js.map → chunk-JJERW2BI.js.map} +1 -1
- package/dist/{chunk-EM4J5EQS.js → chunk-JQR4HVUX.js} +13 -16
- package/dist/chunk-JQR4HVUX.js.map +1 -0
- package/dist/{chunk-VWKUT4CW.js → chunk-JXOMDLFS.js} +21 -26
- package/dist/chunk-JXOMDLFS.js.map +1 -0
- package/dist/chunk-KIX6N7NT.js +1001 -0
- package/dist/chunk-KIX6N7NT.js.map +1 -0
- package/dist/{chunk-OZAEWZZ3.js → chunk-L42UTDFK.js} +12 -3
- package/dist/chunk-L42UTDFK.js.map +1 -0
- 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-M2UF2JHJ.js +11 -0
- package/dist/chunk-M2UF2JHJ.js.map +1 -0
- package/dist/{chunk-UGK4TAVK.js → chunk-MONC734W.js} +7 -3
- package/dist/chunk-MONC734W.js.map +1 -0
- package/dist/{chunk-IK2L4EN3.js → chunk-N72RLCMU.js} +4 -5
- package/dist/{chunk-IK2L4EN3.js.map → chunk-N72RLCMU.js.map} +1 -1
- package/dist/{chunk-H3I2KZIY.js → chunk-ND4IWJ4V.js} +7 -3
- package/dist/chunk-ND4IWJ4V.js.map +1 -0
- package/dist/chunk-NZ3EKGW4.js +1312 -0
- package/dist/chunk-NZ3EKGW4.js.map +1 -0
- package/dist/{chunk-XGJ2QERC.js → chunk-OAE57MNL.js} +27 -11
- package/dist/chunk-OAE57MNL.js.map +1 -0
- package/dist/{chunk-EZQ5HBAC.js → chunk-OHKGIQB4.js} +12 -16
- package/dist/chunk-OHKGIQB4.js.map +1 -0
- 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-UINQOUZR.js → chunk-OXEQSPND.js} +3 -3
- package/dist/{chunk-A7IVFIOP.js → chunk-PKNE5J2B.js} +15 -23
- 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-EGB7V74Z.js → chunk-QAOVABCR.js} +7 -4
- package/dist/chunk-QAOVABCR.js.map +1 -0
- package/dist/{chunk-X3G37FXT.js → chunk-QQ7FP4GD.js} +4 -5
- package/dist/{chunk-X3G37FXT.js.map → chunk-QQ7FP4GD.js.map} +1 -1
- package/dist/{chunk-WAR4Q2NM.js → chunk-QYLVMC6B.js} +13 -15
- package/dist/chunk-QYLVMC6B.js.map +1 -0
- package/dist/{chunk-KPULTUOK.js → chunk-RX3XR65X.js} +4 -5
- package/dist/{chunk-KPULTUOK.js.map → chunk-RX3XR65X.js.map} +1 -1
- package/dist/chunk-RYQJJB4C.js +30 -0
- package/dist/chunk-RYQJJB4C.js.map +1 -0
- package/dist/{chunk-QQBJC2FQ.js → chunk-TUF7TCN7.js} +4 -5
- package/dist/{chunk-QQBJC2FQ.js.map → chunk-TUF7TCN7.js.map} +1 -1
- package/dist/{chunk-AUHSTJJ3.js → chunk-TUX36JY5.js} +4 -5
- package/dist/{chunk-AUHSTJJ3.js.map → chunk-TUX36JY5.js.map} +1 -1
- package/dist/chunk-TWRQCQWU.js +1153 -0
- 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-WG5YS6TC.js +872 -0
- package/dist/chunk-WG5YS6TC.js.map +1 -0
- package/dist/{chunk-ZGSER5TG.js → chunk-WMJJ4WGF.js} +4 -5
- package/dist/{chunk-ZGSER5TG.js.map → chunk-WMJJ4WGF.js.map} +1 -1
- package/dist/{chunk-LV2G7VHL.js → chunk-WY4FNH42.js} +21 -18
- package/dist/chunk-WY4FNH42.js.map +1 -0
- package/dist/{chunk-LAJJPLEV.js → chunk-XIG5BWWH.js} +25 -12
- 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-G2WCEUQL.js → chunk-XPRDXWK7.js} +21 -20
- 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-M5FVUIYP.js → chunk-YMBL3VJB.js} +21 -19
- package/dist/chunk-YMBL3VJB.js.map +1 -0
- package/dist/chunk-YUJBXFYK.js +1205 -0
- package/dist/chunk-YUJBXFYK.js.map +1 -0
- package/dist/{chunk-JALIYI6M.js → chunk-YZ4ZJNOL.js} +28 -11
- 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-GS5AUKUO.js → chunk-ZVSYUCYS.js} +11 -7
- package/dist/chunk-ZVSYUCYS.js.map +1 -0
- package/dist/{config-QAA646XB.js → config-2YBCHU2W.js} +2 -4
- package/dist/{config-IVY5EQQ2.js → config-3YRGRW72.js} +3 -4
- package/dist/config-4GSOMUMF.js +9 -0
- package/dist/config-5YBUWFUP.js +9 -0
- package/dist/{config-34LHOGLM.js → config-5ZRKJTKG.js} +3 -4
- package/dist/config-A25LTL5W.js +11 -0
- package/dist/config-CLU7JABG.js +9 -0
- package/dist/config-D2RF7L3N.js +9 -0
- package/dist/{config-LHFFXVYI.js → config-E55TKM6K.js} +2 -4
- package/dist/config-ELDOFRJW.js +9 -0
- package/dist/{config-GE4W4ZJC.js → config-FPC3RBFD.js} +2 -4
- package/dist/config-FPM3LAW7.js +9 -0
- package/dist/{config-HKRMKD76.js → config-G3F54CS4.js} +3 -4
- package/dist/config-G43HRUI3.js +9 -0
- package/dist/{config-WDAZFXYD.js → config-GG3WO5PB.js} +3 -4
- package/dist/config-JUYBWAZE.js +9 -0
- package/dist/{config-CVZ2AGCO.js → config-LJ5T6TVA.js} +2 -6
- package/dist/config-MDSAE4O3.js +11 -0
- package/dist/{config-EIHSP5DZ.js → config-NRIOKK5T.js} +2 -4
- package/dist/config-OYK2BSJK.js +9 -0
- package/dist/config-PB3KA2CE.js +9 -0
- package/dist/{config-ZFJYQZCH.js → config-QY4IL3PH.js} +3 -4
- package/dist/config-R4LAOEDS.js +9 -0
- package/dist/{config-QNMKWJ4M.js → config-RIAAD6RW.js} +3 -4
- package/dist/config-SYNEQAUB.js +9 -0
- package/dist/{config-Q45Y46YT.js → config-TJKGYA2B.js} +3 -4
- package/dist/{config-NV5WXP64.js → config-UU27ALAA.js} +2 -4
- package/dist/{config-3IVQJBNW.js → config-UURRGA7U.js} +2 -2
- package/dist/{config-VM526IKB.js → config-VPLHQXVE.js} +2 -4
- package/dist/config-WRACCRPN.js +9 -0
- package/dist/{config-GHRUKEQ6.js → config-WVHKXEVE.js} +3 -4
- package/dist/{config-EO23EY62.js → config-XU7R36IE.js} +3 -4
- package/dist/config-Y2KOUYSS.js +9 -0
- 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-YED2MF6H.js +8 -0
- 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 +1311 -569
- package/dist/index.js +3359 -964
- 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-LPS357NF.js +8 -0
- 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/ssh-UYPG42LM.js.map +1 -0
- package/dist/supabase-A3KUFMDC.js +10 -0
- package/dist/supabase-A3KUFMDC.js.map +1 -0
- package/dist/tencent-5464UQ2X.js +11 -0
- package/dist/tencent-5464UQ2X.js.map +1 -0
- package/dist/trello-O2KB3FUO.js +8 -0
- package/dist/trello-O2KB3FUO.js.map +1 -0
- package/dist/wasabi-2IKBIWNO.js +10 -0
- package/dist/wasabi-2IKBIWNO.js.map +1 -0
- package/package.json +17 -3
- package/dist/aliyun-JMJ3PFYY.js +0 -10
- package/dist/backblaze-TDFD23QO.js +0 -10
- package/dist/box-GQ2U2R6R.js +0 -8
- package/dist/ceph-S2VOYO6G.js +0 -10
- package/dist/chunk-2CC5VW7K.js +0 -52
- package/dist/chunk-2CC5VW7K.js.map +0 -1
- package/dist/chunk-A7IVFIOP.js.map +0 -1
- package/dist/chunk-B2ZOKNN4.js.map +0 -1
- package/dist/chunk-DNBAMB5J.js +0 -18
- package/dist/chunk-DNBAMB5J.js.map +0 -1
- package/dist/chunk-DP2PP5V2.js +0 -26
- package/dist/chunk-DP2PP5V2.js.map +0 -1
- package/dist/chunk-DYXEITK3.js +0 -52
- package/dist/chunk-DYXEITK3.js.map +0 -1
- package/dist/chunk-EGB7V74Z.js.map +0 -1
- package/dist/chunk-EM4J5EQS.js.map +0 -1
- package/dist/chunk-EZQ5HBAC.js.map +0 -1
- package/dist/chunk-G2WCEUQL.js.map +0 -1
- package/dist/chunk-GCFYZSVR.js.map +0 -1
- package/dist/chunk-GS5AUKUO.js.map +0 -1
- package/dist/chunk-H3BST2LI.js +0 -26
- package/dist/chunk-H3BST2LI.js.map +0 -1
- package/dist/chunk-H3I2KZIY.js.map +0 -1
- package/dist/chunk-IDYHQQOH.js.map +0 -1
- package/dist/chunk-JAGJTM3Q.js.map +0 -1
- package/dist/chunk-JALIYI6M.js.map +0 -1
- package/dist/chunk-JCC4CU2I.js.map +0 -1
- package/dist/chunk-JZT4QGIP.js +0 -24
- package/dist/chunk-JZT4QGIP.js.map +0 -1
- package/dist/chunk-LAJJPLEV.js.map +0 -1
- package/dist/chunk-LV2G7VHL.js.map +0 -1
- package/dist/chunk-LW25LMIH.js +0 -26
- package/dist/chunk-LW25LMIH.js.map +0 -1
- package/dist/chunk-M5FVUIYP.js.map +0 -1
- package/dist/chunk-MPCCRRE6.js.map +0 -1
- package/dist/chunk-NJMGCT63.js +0 -54
- package/dist/chunk-NJMGCT63.js.map +0 -1
- package/dist/chunk-NOHWIBRX.js.map +0 -1
- package/dist/chunk-OHROA3FQ.js +0 -54
- package/dist/chunk-OHROA3FQ.js.map +0 -1
- package/dist/chunk-OPYQ5KIO.js +0 -52
- package/dist/chunk-OPYQ5KIO.js.map +0 -1
- package/dist/chunk-OZAEWZZ3.js.map +0 -1
- package/dist/chunk-Q2IAILVC.js.map +0 -1
- package/dist/chunk-QCZ2XUKH.js.map +0 -1
- package/dist/chunk-QGRDPSAH.js.map +0 -1
- package/dist/chunk-RNQN2FOU.js.map +0 -1
- package/dist/chunk-RO5IQEDQ.js.map +0 -1
- package/dist/chunk-RQK5UPMP.js.map +0 -1
- package/dist/chunk-S5OVP467.js +0 -1795
- package/dist/chunk-S5OVP467.js.map +0 -1
- package/dist/chunk-SFUCUARB.js +0 -21
- package/dist/chunk-SFUCUARB.js.map +0 -1
- package/dist/chunk-SWCDFEUK.js.map +0 -1
- package/dist/chunk-TA3WMOMU.js.map +0 -1
- package/dist/chunk-TURD42QO.js +0 -1782
- package/dist/chunk-TURD42QO.js.map +0 -1
- package/dist/chunk-TWGVQLG2.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-VWKUT4CW.js.map +0 -1
- package/dist/chunk-W7FLHT65.js +0 -26
- package/dist/chunk-W7FLHT65.js.map +0 -1
- package/dist/chunk-WAR4Q2NM.js.map +0 -1
- package/dist/chunk-WHFUWWI6.js +0 -2097
- package/dist/chunk-WHFUWWI6.js.map +0 -1
- package/dist/chunk-XGJ2QERC.js.map +0 -1
- package/dist/chunk-XHCBHYN4.js +0 -54
- package/dist/chunk-XHCBHYN4.js.map +0 -1
- package/dist/chunk-XLQI4IT2.js +0 -54
- package/dist/chunk-XLQI4IT2.js.map +0 -1
- package/dist/chunk-XWVDS66D.js +0 -963
- package/dist/chunk-XWVDS66D.js.map +0 -1
- package/dist/chunk-YGZMVNN5.js +0 -54
- package/dist/chunk-YGZMVNN5.js.map +0 -1
- package/dist/chunk-YUK3X3B4.js +0 -27
- package/dist/chunk-YUK3X3B4.js.map +0 -1
- package/dist/chunk-ZEGAMJO2.js.map +0 -1
- package/dist/chunk-ZNWVJ6UW.js +0 -54
- 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-7XOUYSTY.js +0 -7
- package/dist/digitalocean-3CQ4CPPZ.js +0 -10
- package/dist/discord-BG7OSRJG.js +0 -8
- package/dist/disk-XVLBCVKE.js +0 -8
- package/dist/dropbox-74GYLV3R.js +0 -8
- package/dist/email-5IZ7OBQ4.js +0 -8
- package/dist/gcs-EMEYU2XT.js +0 -10
- package/dist/gdocs-R67TDPON.js +0 -8
- package/dist/gdrive-PRN2ALRK.js +0 -8
- package/dist/github-DV7E6OFV.js +0 -8
- package/dist/github_ci-Q554V5PA.js +0 -8
- package/dist/gmail-OLN2LT4O.js +0 -8
- package/dist/gsheets-H4RYMQJ5.js +0 -8
- package/dist/gslides-YLCHKJOM.js +0 -8
- package/dist/hf_buckets-DTKXKKFF.js +0 -10
- package/dist/hf_datasets-55C4APKR.js +0 -10
- package/dist/hf_models-RO5JR36V.js +0 -10
- package/dist/hf_spaces-ZVZ3EDRX.js +0 -10
- package/dist/langfuse-ACASJZ7O.js +0 -8
- package/dist/linear-IC37LZV7.js +0 -8
- package/dist/minio-HZ576XFQ.js +0 -10
- package/dist/mongodb-JVR62OIO.js +0 -7
- package/dist/notion-HKRPQMJS.js +0 -8
- package/dist/oci-ZLVECXTW.js +0 -10
- package/dist/postgres-P36Z2YN4.js +0 -7
- package/dist/qingstor-YLP6K3L4.js +0 -10
- package/dist/r2-RPK25ANI.js +0 -10
- package/dist/redis-V5ULXULL.js +0 -8
- package/dist/s3-4OIOCAAT.js +0 -8
- package/dist/scaleway-CCWCLUHB.js +0 -10
- package/dist/seaweedfs-QSWKF2FN.js +0 -10
- package/dist/slack-YPS7PII3.js +0 -8
- package/dist/ssh-YFP3SMTJ.js +0 -9
- package/dist/supabase-6CFTOKGZ.js +0 -10
- package/dist/tencent-IWZZOSQ4.js +0 -10
- package/dist/trello-XYKWZD6P.js +0 -8
- package/dist/wasabi-6Z4DC5S5.js +0 -10
- /package/dist/{aliyun-JMJ3PFYY.js.map → aliyun-S62BR3TB.js.map} +0 -0
- /package/dist/{backblaze-TDFD23QO.js.map → backblaze-4EKSW63F.js.map} +0 -0
- /package/dist/{box-GQ2U2R6R.js.map → box-ZPLZAGMK.js.map} +0 -0
- /package/dist/{ceph-S2VOYO6G.js.map → ceph-ALKLD3MO.js.map} +0 -0
- /package/dist/{chunk-HJJMP6IX.js.map → chunk-BZTVYOES.js.map} +0 -0
- /package/dist/{chunk-X5HF2OFP.js.map → chunk-ENW5BVYN.js.map} +0 -0
- /package/dist/{chunk-HGCRXJGP.js.map → chunk-ETIAW4YD.js.map} +0 -0
- /package/dist/{chunk-DM4GSE26.js.map → chunk-GMMQ3ZK4.js.map} +0 -0
- /package/dist/{chunk-N5FSLVKO.js.map → chunk-HCRYAFBI.js.map} +0 -0
- /package/dist/{chunk-UINQOUZR.js.map → chunk-OXEQSPND.js.map} +0 -0
- /package/dist/{config-34LHOGLM.js.map → config-2YBCHU2W.js.map} +0 -0
- /package/dist/{config-3BBWD5AB.js.map → config-3YRGRW72.js.map} +0 -0
- /package/dist/{config-3IVQJBNW.js.map → config-4GSOMUMF.js.map} +0 -0
- /package/dist/{config-4UDVSUQJ.js.map → config-5YBUWFUP.js.map} +0 -0
- /package/dist/{config-CMDBAPDH.js.map → config-5ZRKJTKG.js.map} +0 -0
- /package/dist/{config-CVZ2AGCO.js.map → config-A25LTL5W.js.map} +0 -0
- /package/dist/{config-D3RLSPNF.js.map → config-CLU7JABG.js.map} +0 -0
- /package/dist/{config-DG65OEG3.js.map → config-D2RF7L3N.js.map} +0 -0
- /package/dist/{config-EIHSP5DZ.js.map → config-E55TKM6K.js.map} +0 -0
- /package/dist/{config-EO23EY62.js.map → config-ELDOFRJW.js.map} +0 -0
- /package/dist/{config-GCQK6NJY.js.map → config-FPC3RBFD.js.map} +0 -0
- /package/dist/{config-GE4W4ZJC.js.map → config-FPM3LAW7.js.map} +0 -0
- /package/dist/{config-GHRUKEQ6.js.map → config-G3F54CS4.js.map} +0 -0
- /package/dist/{config-GVH27UPE.js.map → config-G43HRUI3.js.map} +0 -0
- /package/dist/{config-HKRMKD76.js.map → config-GG3WO5PB.js.map} +0 -0
- /package/dist/{config-HXVYIXP5.js.map → config-JUYBWAZE.js.map} +0 -0
- /package/dist/{config-IDZMEW73.js.map → config-LJ5T6TVA.js.map} +0 -0
- /package/dist/{config-IJJXGLBQ.js.map → config-MDSAE4O3.js.map} +0 -0
- /package/dist/{config-IVY5EQQ2.js.map → config-NRIOKK5T.js.map} +0 -0
- /package/dist/{config-KJOLGVB2.js.map → config-OYK2BSJK.js.map} +0 -0
- /package/dist/{config-KMVCVBYN.js.map → config-PB3KA2CE.js.map} +0 -0
- /package/dist/{config-KYTRXAB2.js.map → config-QY4IL3PH.js.map} +0 -0
- /package/dist/{config-LHFFXVYI.js.map → config-R4LAOEDS.js.map} +0 -0
- /package/dist/{config-NV5WXP64.js.map → config-RIAAD6RW.js.map} +0 -0
- /package/dist/{config-OT2TQQCN.js.map → config-SYNEQAUB.js.map} +0 -0
- /package/dist/{config-Q45Y46YT.js.map → config-TJKGYA2B.js.map} +0 -0
- /package/dist/{config-QAA646XB.js.map → config-UU27ALAA.js.map} +0 -0
- /package/dist/{config-QNMKWJ4M.js.map → config-UURRGA7U.js.map} +0 -0
- /package/dist/{config-QWCY3LBQ.js.map → config-VPLHQXVE.js.map} +0 -0
- /package/dist/{config-VM526IKB.js.map → config-WRACCRPN.js.map} +0 -0
- /package/dist/{config-WDAZFXYD.js.map → config-WVHKXEVE.js.map} +0 -0
- /package/dist/{config-ZFJYQZCH.js.map → config-XU7R36IE.js.map} +0 -0
- /package/dist/{config-ZV6G2ZEC.js.map → config-Y2KOUYSS.js.map} +0 -0
- /package/dist/{databricks_volume-7XOUYSTY.js.map → databricks_volume-CNCPTZHS.js.map} +0 -0
- /package/dist/{digitalocean-3CQ4CPPZ.js.map → digitalocean-DJZOUB6Q.js.map} +0 -0
- /package/dist/{discord-BG7OSRJG.js.map → discord-ETB2CADR.js.map} +0 -0
- /package/dist/{disk-XVLBCVKE.js.map → disk-WEHSTK3F.js.map} +0 -0
- /package/dist/{dropbox-74GYLV3R.js.map → dropbox-XN6PGLNE.js.map} +0 -0
- /package/dist/{email-5IZ7OBQ4.js.map → email-OV7XCP3T.js.map} +0 -0
- /package/dist/{gcs-EMEYU2XT.js.map → gcal-P56MRCGU.js.map} +0 -0
- /package/dist/{gdocs-R67TDPON.js.map → gcs-HFBIAE2C.js.map} +0 -0
- /package/dist/{gdrive-PRN2ALRK.js.map → gdocs-LQ3UXP3J.js.map} +0 -0
- /package/dist/{github-DV7E6OFV.js.map → gdrive-N6UBYLON.js.map} +0 -0
- /package/dist/{github_ci-Q554V5PA.js.map → github-BPZREGPI.js.map} +0 -0
- /package/dist/{gmail-OLN2LT4O.js.map → github_ci-7A4LUIZ7.js.map} +0 -0
- /package/dist/{gsheets-H4RYMQJ5.js.map → gmail-YED2MF6H.js.map} +0 -0
- /package/dist/{gslides-YLCHKJOM.js.map → gridfs-CPLQ4G62.js.map} +0 -0
- /package/dist/{hf_buckets-DTKXKKFF.js.map → gsheets-4BNIJPQ6.js.map} +0 -0
- /package/dist/{hf_datasets-55C4APKR.js.map → gslides-GDBYLO5A.js.map} +0 -0
- /package/dist/{hf_models-RO5JR36V.js.map → hf_buckets-FTJITQ3P.js.map} +0 -0
- /package/dist/{hf_spaces-ZVZ3EDRX.js.map → hf_datasets-6GXVKQD7.js.map} +0 -0
- /package/dist/{langfuse-ACASJZ7O.js.map → hf_models-PJPGZAC5.js.map} +0 -0
- /package/dist/{linear-IC37LZV7.js.map → hf_spaces-LFNFOLBF.js.map} +0 -0
- /package/dist/{minio-HZ576XFQ.js.map → jaeger-GCA6MJ6E.js.map} +0 -0
- /package/dist/{mongodb-JVR62OIO.js.map → lancedb-TJ5YSJY5.js.map} +0 -0
- /package/dist/{notion-HKRPQMJS.js.map → langfuse-RUMTUMXS.js.map} +0 -0
- /package/dist/{oci-ZLVECXTW.js.map → linear-BCE4KEAC.js.map} +0 -0
- /package/dist/{postgres-P36Z2YN4.js.map → minio-5SO6KBTK.js.map} +0 -0
- /package/dist/{qingstor-YLP6K3L4.js.map → mongodb-L5CMN2EE.js.map} +0 -0
- /package/dist/{r2-RPK25ANI.js.map → nextcloud-4O2LZVW2.js.map} +0 -0
- /package/dist/{redis-V5ULXULL.js.map → notion-RVKEAQ2M.js.map} +0 -0
- /package/dist/{s3-4OIOCAAT.js.map → oci-OQXOIC62.js.map} +0 -0
- /package/dist/{scaleway-CCWCLUHB.js.map → postgres-AV45GNRS.js.map} +0 -0
- /package/dist/{seaweedfs-QSWKF2FN.js.map → qingstor-W277YA4K.js.map} +0 -0
- /package/dist/{slack-YPS7PII3.js.map → r2-FUA4IORE.js.map} +0 -0
- /package/dist/{ssh-YFP3SMTJ.js.map → redis-LPS357NF.js.map} +0 -0
- /package/dist/{supabase-6CFTOKGZ.js.map → s3-FPNWWIVM.js.map} +0 -0
- /package/dist/{tencent-IWZZOSQ4.js.map → scaleway-BP3732U7.js.map} +0 -0
- /package/dist/{trello-XYKWZD6P.js.map → seaweedfs-MC6HIEP4.js.map} +0 -0
- /package/dist/{wasabi-6Z4DC5S5.js.map → slack-JFGW7VLN.js.map} +0 -0
package/dist/chunk-XWVDS66D.js
DELETED
|
@@ -1,963 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
SCOPE_ERROR
|
|
3
|
-
} from "./chunk-U6QSXTUS.js";
|
|
4
|
-
|
|
5
|
-
// src/resource/disk/disk.ts
|
|
6
|
-
import { mkdir as mkdir5, readdir as readdir4, readFile as readFile3, writeFile as writeFile3 } from "fs/promises";
|
|
7
|
-
import path8 from "path";
|
|
8
|
-
import {
|
|
9
|
-
BaseResource,
|
|
10
|
-
PathSpec as PathSpec2,
|
|
11
|
-
ResourceName as ResourceName21
|
|
12
|
-
} from "@struktoai/mirage-core";
|
|
13
|
-
|
|
14
|
-
// src/commands/builtin/disk/index.ts
|
|
15
|
-
import {
|
|
16
|
-
ResourceName as ResourceName5,
|
|
17
|
-
makeFiletypeCommands,
|
|
18
|
-
makeGenericCommands
|
|
19
|
-
} from "@struktoai/mirage-core";
|
|
20
|
-
|
|
21
|
-
// src/core/disk/read.ts
|
|
22
|
-
import { readFile } from "fs/promises";
|
|
23
|
-
import { enoent, record, ResourceName } from "@struktoai/mirage-core";
|
|
24
|
-
|
|
25
|
-
// src/core/disk/utils.ts
|
|
26
|
-
import path from "path";
|
|
27
|
-
import { lstripSlash } from "@struktoai/mirage-core";
|
|
28
|
-
import { norm, parent, gnuBasename } from "@struktoai/mirage-core";
|
|
29
|
-
function resolveSafe(root, virtual) {
|
|
30
|
-
const relative = lstripSlash(virtual);
|
|
31
|
-
const resolved = path.resolve(root, relative);
|
|
32
|
-
const rootResolved = path.resolve(root);
|
|
33
|
-
if (resolved !== rootResolved && !resolved.startsWith(rootResolved + path.sep)) {
|
|
34
|
-
throw new Error(`path escapes root: ${virtual}`);
|
|
35
|
-
}
|
|
36
|
-
return resolved;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
// src/core/disk/read.ts
|
|
40
|
-
async function read(accessor, path9) {
|
|
41
|
-
const start = performance.now();
|
|
42
|
-
const virtual = path9.stripPrefix;
|
|
43
|
-
const full = resolveSafe(accessor.root, virtual);
|
|
44
|
-
let data;
|
|
45
|
-
try {
|
|
46
|
-
data = await readFile(full);
|
|
47
|
-
} catch (err) {
|
|
48
|
-
if (err.code === "ENOENT") {
|
|
49
|
-
throw enoent(path9);
|
|
50
|
-
}
|
|
51
|
-
throw err;
|
|
52
|
-
}
|
|
53
|
-
record("read", virtual, ResourceName.DISK, data.byteLength, start);
|
|
54
|
-
return new Uint8Array(data.buffer, data.byteOffset, data.byteLength);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
// src/core/disk/stat.ts
|
|
58
|
-
import { stat as fsStat } from "fs/promises";
|
|
59
|
-
import path2 from "path";
|
|
60
|
-
import { enoent as enoent2, FileStat, FileType, guessType } from "@struktoai/mirage-core";
|
|
61
|
-
async function stat(accessor, p) {
|
|
62
|
-
const virtual = p.stripPrefix;
|
|
63
|
-
const full = resolveSafe(accessor.root, virtual);
|
|
64
|
-
let st;
|
|
65
|
-
try {
|
|
66
|
-
st = await fsStat(full);
|
|
67
|
-
} catch (err) {
|
|
68
|
-
if (err.code === "ENOENT") {
|
|
69
|
-
throw enoent2(p);
|
|
70
|
-
}
|
|
71
|
-
throw err;
|
|
72
|
-
}
|
|
73
|
-
const modified = st.mtime.toISOString();
|
|
74
|
-
const name = path2.basename(full);
|
|
75
|
-
if (st.isDirectory()) {
|
|
76
|
-
return new FileStat({
|
|
77
|
-
name,
|
|
78
|
-
size: null,
|
|
79
|
-
modified,
|
|
80
|
-
type: FileType.DIRECTORY
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
return new FileStat({
|
|
84
|
-
name,
|
|
85
|
-
size: st.size,
|
|
86
|
-
modified,
|
|
87
|
-
fingerprint: modified,
|
|
88
|
-
type: guessType(name)
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
// src/core/disk/copy.ts
|
|
93
|
-
import { copyFile, mkdir } from "fs/promises";
|
|
94
|
-
import path3 from "path";
|
|
95
|
-
import { enoent as enoent3, invalidateAfterWrite } from "@struktoai/mirage-core";
|
|
96
|
-
async function copy(accessor, src, dst) {
|
|
97
|
-
const s = resolveSafe(accessor.root, src.stripPrefix);
|
|
98
|
-
const d = resolveSafe(accessor.root, dst.stripPrefix);
|
|
99
|
-
await mkdir(path3.dirname(d), { recursive: true });
|
|
100
|
-
try {
|
|
101
|
-
await copyFile(s, d);
|
|
102
|
-
} catch (err) {
|
|
103
|
-
if (err.code === "ENOENT") {
|
|
104
|
-
throw enoent3(src);
|
|
105
|
-
}
|
|
106
|
-
throw err;
|
|
107
|
-
}
|
|
108
|
-
await invalidateAfterWrite(dst);
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
// src/core/disk/du.ts
|
|
112
|
-
import { readdir, stat as stat2 } from "fs/promises";
|
|
113
|
-
import path4 from "path";
|
|
114
|
-
async function walkSizes(full) {
|
|
115
|
-
let total = 0;
|
|
116
|
-
let st;
|
|
117
|
-
try {
|
|
118
|
-
st = await stat2(full);
|
|
119
|
-
} catch {
|
|
120
|
-
return 0;
|
|
121
|
-
}
|
|
122
|
-
if (st.isFile()) return st.size;
|
|
123
|
-
if (!st.isDirectory()) return 0;
|
|
124
|
-
const entries = await readdir(full, { withFileTypes: true });
|
|
125
|
-
for (const e of entries) {
|
|
126
|
-
const child = path4.join(full, e.name);
|
|
127
|
-
if (e.isDirectory()) total += await walkSizes(child);
|
|
128
|
-
else if (e.isFile()) {
|
|
129
|
-
try {
|
|
130
|
-
const cst = await stat2(child);
|
|
131
|
-
total += cst.size;
|
|
132
|
-
} catch {
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
return total;
|
|
137
|
-
}
|
|
138
|
-
async function walkAll(accessor, full, entries) {
|
|
139
|
-
let total = 0;
|
|
140
|
-
let st;
|
|
141
|
-
try {
|
|
142
|
-
st = await stat2(full);
|
|
143
|
-
} catch {
|
|
144
|
-
return 0;
|
|
145
|
-
}
|
|
146
|
-
if (st.isFile()) {
|
|
147
|
-
const rel = "/" + path4.relative(accessor.root, full).split(path4.sep).join("/");
|
|
148
|
-
entries.push([rel, st.size]);
|
|
149
|
-
return st.size;
|
|
150
|
-
}
|
|
151
|
-
if (!st.isDirectory()) return 0;
|
|
152
|
-
const children = await readdir(full, { withFileTypes: true });
|
|
153
|
-
for (const e of children) {
|
|
154
|
-
const child = path4.join(full, e.name);
|
|
155
|
-
if (e.isDirectory()) {
|
|
156
|
-
total += await walkAll(accessor, child, entries);
|
|
157
|
-
} else if (e.isFile()) {
|
|
158
|
-
try {
|
|
159
|
-
const cst = await stat2(child);
|
|
160
|
-
const rel = "/" + path4.relative(accessor.root, child).split(path4.sep).join("/");
|
|
161
|
-
entries.push([rel, cst.size]);
|
|
162
|
-
total += cst.size;
|
|
163
|
-
} catch {
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
return total;
|
|
168
|
-
}
|
|
169
|
-
async function du(accessor, p) {
|
|
170
|
-
const virtual = p.stripPrefix;
|
|
171
|
-
const full = resolveSafe(accessor.root, virtual);
|
|
172
|
-
return walkSizes(full);
|
|
173
|
-
}
|
|
174
|
-
async function duAll(accessor, p) {
|
|
175
|
-
const virtual = norm(p.stripPrefix);
|
|
176
|
-
const full = resolveSafe(accessor.root, virtual);
|
|
177
|
-
const entries = [];
|
|
178
|
-
const total = await walkAll(accessor, full, entries);
|
|
179
|
-
entries.sort((a, b) => a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0);
|
|
180
|
-
return [entries, total];
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
// src/core/disk/exists.ts
|
|
184
|
-
import { access } from "fs/promises";
|
|
185
|
-
async function exists(accessor, path9) {
|
|
186
|
-
const full = resolveSafe(accessor.root, path9.stripPrefix);
|
|
187
|
-
try {
|
|
188
|
-
await access(full);
|
|
189
|
-
return true;
|
|
190
|
-
} catch {
|
|
191
|
-
return false;
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
// src/core/disk/find.ts
|
|
196
|
-
import { readdir as readdir2, stat as stat3 } from "fs/promises";
|
|
197
|
-
import path5 from "path";
|
|
198
|
-
import {
|
|
199
|
-
buildTree,
|
|
200
|
-
emitStartPath,
|
|
201
|
-
keep,
|
|
202
|
-
startBasename
|
|
203
|
-
} from "@struktoai/mirage-core";
|
|
204
|
-
async function walk(ctx, full, current, depth) {
|
|
205
|
-
const opts = ctx.options;
|
|
206
|
-
if (opts.maxDepth !== null && opts.maxDepth !== void 0 && depth > opts.maxDepth) return;
|
|
207
|
-
let entries;
|
|
208
|
-
try {
|
|
209
|
-
entries = await readdir2(full, { withFileTypes: true });
|
|
210
|
-
} catch {
|
|
211
|
-
return;
|
|
212
|
-
}
|
|
213
|
-
for (const e of entries) {
|
|
214
|
-
const kind = e.isDirectory() ? "d" : "f";
|
|
215
|
-
const entryPath = current === "/" ? `/${e.name}` : `${current}/${e.name}`;
|
|
216
|
-
const entryName = e.name;
|
|
217
|
-
const entrySlashCount = (entryPath.match(/\//g) ?? []).length;
|
|
218
|
-
const entryDepth = entrySlashCount - ctx.baseDepth;
|
|
219
|
-
let accept = true;
|
|
220
|
-
if (opts.maxDepth !== null && opts.maxDepth !== void 0 && entryDepth > opts.maxDepth) {
|
|
221
|
-
accept = false;
|
|
222
|
-
}
|
|
223
|
-
let isEmpty = null;
|
|
224
|
-
if (accept && opts.empty === true) {
|
|
225
|
-
try {
|
|
226
|
-
isEmpty = kind === "f" ? (await stat3(path5.join(full, e.name))).size === 0 : (await readdir2(path5.join(full, e.name))).length === 0;
|
|
227
|
-
} catch {
|
|
228
|
-
isEmpty = null;
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
if (accept && !keep(
|
|
232
|
-
{ key: entryPath, name: entryName, kind, depth: entryDepth, isEmpty },
|
|
233
|
-
ctx.tree,
|
|
234
|
-
opts.minDepth
|
|
235
|
-
)) {
|
|
236
|
-
accept = false;
|
|
237
|
-
}
|
|
238
|
-
if (accept && kind === "f" && (opts.minSize !== null || opts.maxSize !== null || opts.mtimeMin !== null || opts.mtimeMax !== null)) {
|
|
239
|
-
try {
|
|
240
|
-
const st = await stat3(path5.join(full, e.name));
|
|
241
|
-
if (opts.minSize !== null && opts.minSize !== void 0 && st.size < opts.minSize)
|
|
242
|
-
accept = false;
|
|
243
|
-
if (opts.maxSize !== null && opts.maxSize !== void 0 && st.size > opts.maxSize)
|
|
244
|
-
accept = false;
|
|
245
|
-
if (accept && (opts.mtimeMin !== void 0 || opts.mtimeMax !== void 0)) {
|
|
246
|
-
const mtime = st.mtime.getTime() / 1e3;
|
|
247
|
-
if (opts.mtimeMin !== null && opts.mtimeMin !== void 0 && mtime < opts.mtimeMin)
|
|
248
|
-
accept = false;
|
|
249
|
-
if (opts.mtimeMax !== null && opts.mtimeMax !== void 0 && mtime > opts.mtimeMax)
|
|
250
|
-
accept = false;
|
|
251
|
-
}
|
|
252
|
-
} catch {
|
|
253
|
-
accept = false;
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
if (accept) ctx.results.push(entryPath);
|
|
257
|
-
if (kind === "d") {
|
|
258
|
-
await walk(ctx, path5.join(full, e.name), entryPath, depth + 1);
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
async function find(accessor, p, options = {}) {
|
|
263
|
-
const virtual = norm(p.stripPrefix);
|
|
264
|
-
const startName = startBasename(p.original);
|
|
265
|
-
const full = resolveSafe(accessor.root, virtual);
|
|
266
|
-
const baseDepth = virtual === "/" ? 0 : (virtual.match(/\//g) ?? []).length;
|
|
267
|
-
const results = [];
|
|
268
|
-
const tree = options.tree ?? buildTree({
|
|
269
|
-
name: options.name,
|
|
270
|
-
iname: options.iname,
|
|
271
|
-
pathPattern: options.pathPattern,
|
|
272
|
-
type: options.type,
|
|
273
|
-
nameExclude: options.nameExclude,
|
|
274
|
-
orNames: options.orNames,
|
|
275
|
-
empty: options.empty
|
|
276
|
-
});
|
|
277
|
-
if (options.maxDepth == null || options.maxDepth >= 0) {
|
|
278
|
-
let isDir = false;
|
|
279
|
-
try {
|
|
280
|
-
isDir = (await stat3(full)).isDirectory();
|
|
281
|
-
} catch {
|
|
282
|
-
isDir = false;
|
|
283
|
-
}
|
|
284
|
-
let rootEmpty = null;
|
|
285
|
-
if (isDir && options.empty === true) {
|
|
286
|
-
try {
|
|
287
|
-
rootEmpty = (await readdir2(full)).length === 0;
|
|
288
|
-
} catch {
|
|
289
|
-
rootEmpty = null;
|
|
290
|
-
}
|
|
291
|
-
}
|
|
292
|
-
emitStartPath(results, virtual, startName, {
|
|
293
|
-
kind: "d",
|
|
294
|
-
isEmpty: rootEmpty,
|
|
295
|
-
exists: isDir,
|
|
296
|
-
tree,
|
|
297
|
-
maxDepth: options.maxDepth,
|
|
298
|
-
minDepth: options.minDepth
|
|
299
|
-
});
|
|
300
|
-
}
|
|
301
|
-
await walk({ accessor, base: virtual, baseDepth, options, tree, results }, full, virtual, 0);
|
|
302
|
-
results.sort();
|
|
303
|
-
return results;
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
// src/core/disk/mkdir.ts
|
|
307
|
-
import { mkdir as fsMkdir } from "fs/promises";
|
|
308
|
-
import { invalidateAfterWrite as invalidateAfterWrite2 } from "@struktoai/mirage-core";
|
|
309
|
-
async function mkdir2(accessor, path9, parents = false) {
|
|
310
|
-
const full = resolveSafe(accessor.root, path9.stripPrefix);
|
|
311
|
-
if (parents) {
|
|
312
|
-
await fsMkdir(full, { recursive: true });
|
|
313
|
-
await invalidateAfterWrite2(path9);
|
|
314
|
-
return;
|
|
315
|
-
}
|
|
316
|
-
await invalidateAfterWrite2(path9);
|
|
317
|
-
try {
|
|
318
|
-
await fsMkdir(full);
|
|
319
|
-
} catch (err) {
|
|
320
|
-
const code = err.code;
|
|
321
|
-
if (code === "EEXIST") return;
|
|
322
|
-
if (code === "ENOENT") {
|
|
323
|
-
throw new Error(`parent directory does not exist: ${path9.stripPrefix}`);
|
|
324
|
-
}
|
|
325
|
-
throw err;
|
|
326
|
-
}
|
|
327
|
-
}
|
|
328
|
-
|
|
329
|
-
// src/core/disk/readdir.ts
|
|
330
|
-
import { readdir as fsReaddir } from "fs/promises";
|
|
331
|
-
import {
|
|
332
|
-
enotdir,
|
|
333
|
-
IndexEntry,
|
|
334
|
-
ResourceType
|
|
335
|
-
} from "@struktoai/mirage-core";
|
|
336
|
-
async function readdir3(accessor, path9, index) {
|
|
337
|
-
const virtual = path9.pattern !== null ? path9.directory : path9.stripPrefix;
|
|
338
|
-
const mountPrefix = path9.prefix;
|
|
339
|
-
const virtualKey = mountPrefix + virtual;
|
|
340
|
-
if (index !== void 0) {
|
|
341
|
-
const cached = await index.listDir(virtualKey);
|
|
342
|
-
if (cached.entries !== void 0 && cached.entries !== null) {
|
|
343
|
-
return cached.entries;
|
|
344
|
-
}
|
|
345
|
-
}
|
|
346
|
-
const full = resolveSafe(accessor.root, virtual);
|
|
347
|
-
let entries;
|
|
348
|
-
try {
|
|
349
|
-
entries = await fsReaddir(full);
|
|
350
|
-
} catch (err) {
|
|
351
|
-
const code = err.code;
|
|
352
|
-
if (code === "ENOTDIR") throw enotdir(path9);
|
|
353
|
-
if (code === "ENOENT") throw enotdir(path9);
|
|
354
|
-
throw err;
|
|
355
|
-
}
|
|
356
|
-
const base = norm(virtual);
|
|
357
|
-
const dirPrefix = base === "/" ? "/" : `${base}/`;
|
|
358
|
-
const sorted = [...entries].sort();
|
|
359
|
-
const virtualEntries = sorted.map((e) => `${mountPrefix}${dirPrefix}${e}`);
|
|
360
|
-
if (index !== void 0) {
|
|
361
|
-
const indexEntries = sorted.map((name) => [
|
|
362
|
-
name,
|
|
363
|
-
new IndexEntry({
|
|
364
|
-
id: `${dirPrefix}${name}`,
|
|
365
|
-
name,
|
|
366
|
-
resourceType: ResourceType.FILE
|
|
367
|
-
})
|
|
368
|
-
]);
|
|
369
|
-
await index.setDir(virtualKey, indexEntries);
|
|
370
|
-
}
|
|
371
|
-
return virtualEntries;
|
|
372
|
-
}
|
|
373
|
-
|
|
374
|
-
// src/core/disk/rename.ts
|
|
375
|
-
import { rename as fsRename } from "fs/promises";
|
|
376
|
-
import {
|
|
377
|
-
enoent as enoent4,
|
|
378
|
-
invalidateAfterUnlink,
|
|
379
|
-
invalidateAfterWrite as invalidateAfterWrite3
|
|
380
|
-
} from "@struktoai/mirage-core";
|
|
381
|
-
async function rename(accessor, src, dst) {
|
|
382
|
-
const s = resolveSafe(accessor.root, src.stripPrefix);
|
|
383
|
-
const d = resolveSafe(accessor.root, dst.stripPrefix);
|
|
384
|
-
try {
|
|
385
|
-
await fsRename(s, d);
|
|
386
|
-
} catch (err) {
|
|
387
|
-
if (err.code === "ENOENT") {
|
|
388
|
-
throw enoent4(src);
|
|
389
|
-
}
|
|
390
|
-
throw err;
|
|
391
|
-
}
|
|
392
|
-
await invalidateAfterUnlink(src);
|
|
393
|
-
await invalidateAfterWrite3(dst);
|
|
394
|
-
}
|
|
395
|
-
|
|
396
|
-
// src/core/disk/rm.ts
|
|
397
|
-
import { rm } from "fs/promises";
|
|
398
|
-
import { invalidateAfterUnlink as invalidateAfterUnlink2 } from "@struktoai/mirage-core";
|
|
399
|
-
async function rmR(accessor, path9) {
|
|
400
|
-
const full = resolveSafe(accessor.root, path9.stripPrefix);
|
|
401
|
-
await rm(full, { recursive: true, force: true });
|
|
402
|
-
await invalidateAfterUnlink2(path9);
|
|
403
|
-
}
|
|
404
|
-
|
|
405
|
-
// src/core/disk/rmdir.ts
|
|
406
|
-
import { rmdir as fsRmdir } from "fs/promises";
|
|
407
|
-
import { invalidateAfterUnlink as invalidateAfterUnlink3 } from "@struktoai/mirage-core";
|
|
408
|
-
async function rmdir(accessor, path9) {
|
|
409
|
-
const full = resolveSafe(accessor.root, path9.stripPrefix);
|
|
410
|
-
try {
|
|
411
|
-
await fsRmdir(full);
|
|
412
|
-
} catch (err) {
|
|
413
|
-
if (err.code === "ENOENT") return;
|
|
414
|
-
throw err;
|
|
415
|
-
}
|
|
416
|
-
await invalidateAfterUnlink3(path9);
|
|
417
|
-
}
|
|
418
|
-
|
|
419
|
-
// src/core/disk/stream.ts
|
|
420
|
-
import { createReadStream } from "fs";
|
|
421
|
-
import { enoent as enoent5, recordStream, ResourceName as ResourceName2 } from "@struktoai/mirage-core";
|
|
422
|
-
async function* stream(accessor, path9) {
|
|
423
|
-
const virtual = path9.stripPrefix;
|
|
424
|
-
const full = resolveSafe(accessor.root, virtual);
|
|
425
|
-
const rec = recordStream("read", virtual, ResourceName2.DISK);
|
|
426
|
-
const rs = createReadStream(full, { highWaterMark: 65536 });
|
|
427
|
-
try {
|
|
428
|
-
for await (const chunk of rs) {
|
|
429
|
-
const buf = chunk;
|
|
430
|
-
const u8 = new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
431
|
-
if (rec !== null) rec.bytes += u8.byteLength;
|
|
432
|
-
yield u8;
|
|
433
|
-
}
|
|
434
|
-
} catch (err) {
|
|
435
|
-
if (err.code === "ENOENT") {
|
|
436
|
-
throw enoent5(path9);
|
|
437
|
-
}
|
|
438
|
-
throw err;
|
|
439
|
-
}
|
|
440
|
-
}
|
|
441
|
-
|
|
442
|
-
// src/core/disk/unlink.ts
|
|
443
|
-
import { unlink as fsUnlink } from "fs/promises";
|
|
444
|
-
import { invalidateAfterUnlink as invalidateAfterUnlink4 } from "@struktoai/mirage-core";
|
|
445
|
-
async function unlink(accessor, path9) {
|
|
446
|
-
const full = resolveSafe(accessor.root, path9.stripPrefix);
|
|
447
|
-
try {
|
|
448
|
-
await fsUnlink(full);
|
|
449
|
-
} catch (err) {
|
|
450
|
-
if (err.code === "ENOENT") return;
|
|
451
|
-
throw err;
|
|
452
|
-
}
|
|
453
|
-
await invalidateAfterUnlink4(path9);
|
|
454
|
-
}
|
|
455
|
-
|
|
456
|
-
// src/core/disk/write.ts
|
|
457
|
-
import { mkdir as mkdir3, writeFile } from "fs/promises";
|
|
458
|
-
import path6 from "path";
|
|
459
|
-
import { ResourceName as ResourceName3, invalidateAfterWrite as invalidateAfterWrite4, record as record2 } from "@struktoai/mirage-core";
|
|
460
|
-
async function writeBytes(accessor, p, data) {
|
|
461
|
-
const start = performance.now();
|
|
462
|
-
const virtual = p.stripPrefix;
|
|
463
|
-
const full = resolveSafe(accessor.root, virtual);
|
|
464
|
-
await mkdir3(path6.dirname(full), { recursive: true });
|
|
465
|
-
await writeFile(full, data);
|
|
466
|
-
record2("write", virtual, ResourceName3.DISK, data.byteLength, start);
|
|
467
|
-
await invalidateAfterWrite4(p);
|
|
468
|
-
}
|
|
469
|
-
|
|
470
|
-
// src/commands/builtin/disk/ops.ts
|
|
471
|
-
var DISK_CMD_OPS = {
|
|
472
|
-
readdir: readdir3,
|
|
473
|
-
readBytes: read,
|
|
474
|
-
readStream: stream,
|
|
475
|
-
stat,
|
|
476
|
-
isMounted: (a) => a.root !== "",
|
|
477
|
-
local: true,
|
|
478
|
-
maxGlobMatches: SCOPE_ERROR,
|
|
479
|
-
write: writeBytes,
|
|
480
|
-
exists,
|
|
481
|
-
mkdir: mkdir2,
|
|
482
|
-
unlink,
|
|
483
|
-
rmdir,
|
|
484
|
-
rmR,
|
|
485
|
-
rename,
|
|
486
|
-
copy,
|
|
487
|
-
find,
|
|
488
|
-
duTotal: du,
|
|
489
|
-
duAll
|
|
490
|
-
};
|
|
491
|
-
|
|
492
|
-
// src/commands/builtin/disk/sed.ts
|
|
493
|
-
import { ResourceName as ResourceName4, makeSed } from "@struktoai/mirage-core";
|
|
494
|
-
var DISK_SED = makeSed({
|
|
495
|
-
resource: ResourceName4.DISK,
|
|
496
|
-
stream: (a, p) => stream(a, p),
|
|
497
|
-
write: (a, p, d) => writeBytes(a, p, d)
|
|
498
|
-
});
|
|
499
|
-
|
|
500
|
-
// src/commands/builtin/disk/index.ts
|
|
501
|
-
var DISK_COMMANDS = [
|
|
502
|
-
...makeFiletypeCommands({
|
|
503
|
-
resource: ResourceName5.DISK,
|
|
504
|
-
readBytes: read,
|
|
505
|
-
statEntry: stat
|
|
506
|
-
}),
|
|
507
|
-
...makeGenericCommands(ResourceName5.DISK, DISK_CMD_OPS),
|
|
508
|
-
...DISK_SED
|
|
509
|
-
];
|
|
510
|
-
|
|
511
|
-
// src/core/disk/append.ts
|
|
512
|
-
import { appendFile, mkdir as mkdir4 } from "fs/promises";
|
|
513
|
-
import path7 from "path";
|
|
514
|
-
import { ResourceName as ResourceName6, invalidateAfterWrite as invalidateAfterWrite5, record as record3 } from "@struktoai/mirage-core";
|
|
515
|
-
async function appendBytes(accessor, p, data) {
|
|
516
|
-
const start = performance.now();
|
|
517
|
-
const virtual = p.stripPrefix;
|
|
518
|
-
const full = resolveSafe(accessor.root, virtual);
|
|
519
|
-
await mkdir4(path7.dirname(full), { recursive: true });
|
|
520
|
-
await appendFile(full, data);
|
|
521
|
-
record3("append", virtual, ResourceName6.DISK, data.byteLength, start);
|
|
522
|
-
await invalidateAfterWrite5(p);
|
|
523
|
-
}
|
|
524
|
-
|
|
525
|
-
// src/core/disk/create.ts
|
|
526
|
-
function create(accessor, path9) {
|
|
527
|
-
return writeBytes(accessor, path9, new Uint8Array());
|
|
528
|
-
}
|
|
529
|
-
|
|
530
|
-
// src/core/disk/glob.ts
|
|
531
|
-
import { PathSpec } from "@struktoai/mirage-core";
|
|
532
|
-
import { fnmatch } from "@struktoai/mirage-core";
|
|
533
|
-
import { gnuBasename as gnuBasename2 } from "@struktoai/mirage-core";
|
|
534
|
-
async function resolveGlob(accessor, paths, index) {
|
|
535
|
-
const result = [];
|
|
536
|
-
for (const p of paths) {
|
|
537
|
-
if (p.resolved) {
|
|
538
|
-
result.push(p);
|
|
539
|
-
} else if (p.pattern !== null) {
|
|
540
|
-
const dirSpec = new PathSpec({
|
|
541
|
-
original: p.directory,
|
|
542
|
-
directory: p.directory,
|
|
543
|
-
resolved: true,
|
|
544
|
-
prefix: p.prefix
|
|
545
|
-
});
|
|
546
|
-
const entries = await readdir3(accessor, dirSpec, index);
|
|
547
|
-
const matched = [];
|
|
548
|
-
for (const e of entries) {
|
|
549
|
-
if (fnmatch(gnuBasename2(e), p.pattern)) {
|
|
550
|
-
matched.push(
|
|
551
|
-
new PathSpec({
|
|
552
|
-
original: e,
|
|
553
|
-
directory: p.directory,
|
|
554
|
-
resolved: true,
|
|
555
|
-
prefix: p.prefix
|
|
556
|
-
})
|
|
557
|
-
);
|
|
558
|
-
}
|
|
559
|
-
}
|
|
560
|
-
if (matched.length > SCOPE_ERROR) matched.length = SCOPE_ERROR;
|
|
561
|
-
result.push(...matched);
|
|
562
|
-
} else {
|
|
563
|
-
result.push(p);
|
|
564
|
-
}
|
|
565
|
-
}
|
|
566
|
-
return result;
|
|
567
|
-
}
|
|
568
|
-
|
|
569
|
-
// src/core/disk/truncate.ts
|
|
570
|
-
import { readFile as readFile2, writeFile as writeFile2 } from "fs/promises";
|
|
571
|
-
import { invalidateAfterWrite as invalidateAfterWrite6 } from "@struktoai/mirage-core";
|
|
572
|
-
async function truncate(accessor, path9, length) {
|
|
573
|
-
const full = resolveSafe(accessor.root, path9.stripPrefix);
|
|
574
|
-
let data;
|
|
575
|
-
try {
|
|
576
|
-
data = await readFile2(full);
|
|
577
|
-
} catch (err) {
|
|
578
|
-
if (err.code === "ENOENT") {
|
|
579
|
-
data = Buffer.alloc(0);
|
|
580
|
-
} else {
|
|
581
|
-
throw err;
|
|
582
|
-
}
|
|
583
|
-
}
|
|
584
|
-
const out = new Uint8Array(length);
|
|
585
|
-
out.set(data.subarray(0, Math.min(data.byteLength, length)));
|
|
586
|
-
await writeFile2(full, out);
|
|
587
|
-
await invalidateAfterWrite6(path9);
|
|
588
|
-
}
|
|
589
|
-
|
|
590
|
-
// src/accessor/disk.ts
|
|
591
|
-
import { Accessor } from "@struktoai/mirage-core";
|
|
592
|
-
var DiskAccessor = class extends Accessor {
|
|
593
|
-
root;
|
|
594
|
-
constructor(root) {
|
|
595
|
-
super();
|
|
596
|
-
this.root = root;
|
|
597
|
-
}
|
|
598
|
-
};
|
|
599
|
-
|
|
600
|
-
// src/ops/disk/append.ts
|
|
601
|
-
import { ResourceName as ResourceName7 } from "@struktoai/mirage-core";
|
|
602
|
-
var appendOp = {
|
|
603
|
-
name: "append",
|
|
604
|
-
resource: ResourceName7.DISK,
|
|
605
|
-
filetype: null,
|
|
606
|
-
write: true,
|
|
607
|
-
fn: (accessor, path9, args) => {
|
|
608
|
-
const data = args[0];
|
|
609
|
-
if (!(data instanceof Uint8Array)) {
|
|
610
|
-
throw new TypeError("append op requires a Uint8Array as the first arg");
|
|
611
|
-
}
|
|
612
|
-
return appendBytes(accessor, path9, data);
|
|
613
|
-
}
|
|
614
|
-
};
|
|
615
|
-
|
|
616
|
-
// src/ops/disk/create.ts
|
|
617
|
-
import { ResourceName as ResourceName8 } from "@struktoai/mirage-core";
|
|
618
|
-
var createOp = {
|
|
619
|
-
name: "create",
|
|
620
|
-
resource: ResourceName8.DISK,
|
|
621
|
-
filetype: null,
|
|
622
|
-
write: true,
|
|
623
|
-
fn: (accessor, path9) => {
|
|
624
|
-
return create(accessor, path9);
|
|
625
|
-
}
|
|
626
|
-
};
|
|
627
|
-
|
|
628
|
-
// src/ops/disk/mkdir.ts
|
|
629
|
-
import { ResourceName as ResourceName9 } from "@struktoai/mirage-core";
|
|
630
|
-
var mkdirOp = {
|
|
631
|
-
name: "mkdir",
|
|
632
|
-
resource: ResourceName9.DISK,
|
|
633
|
-
filetype: null,
|
|
634
|
-
write: true,
|
|
635
|
-
fn: (accessor, path9) => {
|
|
636
|
-
return mkdir2(accessor, path9, true);
|
|
637
|
-
}
|
|
638
|
-
};
|
|
639
|
-
|
|
640
|
-
// src/ops/disk/read.ts
|
|
641
|
-
import { ResourceName as ResourceName10 } from "@struktoai/mirage-core";
|
|
642
|
-
var readOp = {
|
|
643
|
-
name: "read",
|
|
644
|
-
resource: ResourceName10.DISK,
|
|
645
|
-
filetype: null,
|
|
646
|
-
write: false,
|
|
647
|
-
fn: (accessor, path9) => {
|
|
648
|
-
return read(accessor, path9);
|
|
649
|
-
}
|
|
650
|
-
};
|
|
651
|
-
|
|
652
|
-
// src/ops/disk/read_feather.ts
|
|
653
|
-
import { featherCat, ResourceName as ResourceName11 } from "@struktoai/mirage-core";
|
|
654
|
-
var readFeatherOp = {
|
|
655
|
-
name: "read",
|
|
656
|
-
resource: ResourceName11.DISK,
|
|
657
|
-
filetype: ".feather",
|
|
658
|
-
write: false,
|
|
659
|
-
fn: async (accessor, path9) => {
|
|
660
|
-
const raw = await read(accessor, path9);
|
|
661
|
-
return featherCat(raw);
|
|
662
|
-
}
|
|
663
|
-
};
|
|
664
|
-
|
|
665
|
-
// src/ops/disk/read_hdf5.ts
|
|
666
|
-
import { hdf5Cat, ResourceName as ResourceName12 } from "@struktoai/mirage-core";
|
|
667
|
-
var readHdf5Op = {
|
|
668
|
-
name: "read",
|
|
669
|
-
resource: ResourceName12.DISK,
|
|
670
|
-
filetype: ".hdf5",
|
|
671
|
-
write: false,
|
|
672
|
-
fn: async (accessor, path9) => {
|
|
673
|
-
const raw = await read(accessor, path9);
|
|
674
|
-
return hdf5Cat(raw);
|
|
675
|
-
}
|
|
676
|
-
};
|
|
677
|
-
|
|
678
|
-
// src/ops/disk/read_parquet.ts
|
|
679
|
-
import { parquetCat, ResourceName as ResourceName13 } from "@struktoai/mirage-core";
|
|
680
|
-
var readParquetOp = {
|
|
681
|
-
name: "read",
|
|
682
|
-
resource: ResourceName13.DISK,
|
|
683
|
-
filetype: ".parquet",
|
|
684
|
-
write: false,
|
|
685
|
-
fn: async (accessor, path9) => {
|
|
686
|
-
const raw = await read(accessor, path9);
|
|
687
|
-
return parquetCat(raw);
|
|
688
|
-
}
|
|
689
|
-
};
|
|
690
|
-
|
|
691
|
-
// src/ops/disk/readdir.ts
|
|
692
|
-
import { ResourceName as ResourceName14 } from "@struktoai/mirage-core";
|
|
693
|
-
var readdirOp = {
|
|
694
|
-
name: "readdir",
|
|
695
|
-
resource: ResourceName14.DISK,
|
|
696
|
-
filetype: null,
|
|
697
|
-
write: false,
|
|
698
|
-
fn: (accessor, path9) => {
|
|
699
|
-
return readdir3(accessor, path9);
|
|
700
|
-
}
|
|
701
|
-
};
|
|
702
|
-
|
|
703
|
-
// src/ops/disk/rename.ts
|
|
704
|
-
import { ResourceName as ResourceName15 } from "@struktoai/mirage-core";
|
|
705
|
-
var renameOp = {
|
|
706
|
-
name: "rename",
|
|
707
|
-
resource: ResourceName15.DISK,
|
|
708
|
-
filetype: null,
|
|
709
|
-
write: true,
|
|
710
|
-
fn: (accessor, path9, args) => {
|
|
711
|
-
const dst = args[0];
|
|
712
|
-
if (dst === void 0 || dst === null || typeof dst !== "object" || !("original" in dst)) {
|
|
713
|
-
throw new TypeError("rename op requires a PathSpec destination as the first arg");
|
|
714
|
-
}
|
|
715
|
-
return rename(accessor, path9, dst);
|
|
716
|
-
}
|
|
717
|
-
};
|
|
718
|
-
|
|
719
|
-
// src/ops/disk/rmdir.ts
|
|
720
|
-
import { ResourceName as ResourceName16 } from "@struktoai/mirage-core";
|
|
721
|
-
var rmdirOp = {
|
|
722
|
-
name: "rmdir",
|
|
723
|
-
resource: ResourceName16.DISK,
|
|
724
|
-
filetype: null,
|
|
725
|
-
write: true,
|
|
726
|
-
fn: (accessor, path9) => {
|
|
727
|
-
return rmdir(accessor, path9);
|
|
728
|
-
}
|
|
729
|
-
};
|
|
730
|
-
|
|
731
|
-
// src/ops/disk/stat.ts
|
|
732
|
-
import { ResourceName as ResourceName17 } from "@struktoai/mirage-core";
|
|
733
|
-
var statOp = {
|
|
734
|
-
name: "stat",
|
|
735
|
-
resource: ResourceName17.DISK,
|
|
736
|
-
filetype: null,
|
|
737
|
-
write: false,
|
|
738
|
-
fn: (accessor, path9) => {
|
|
739
|
-
return stat(accessor, path9);
|
|
740
|
-
}
|
|
741
|
-
};
|
|
742
|
-
|
|
743
|
-
// src/ops/disk/truncate.ts
|
|
744
|
-
import { ResourceName as ResourceName18 } from "@struktoai/mirage-core";
|
|
745
|
-
var truncateOp = {
|
|
746
|
-
name: "truncate",
|
|
747
|
-
resource: ResourceName18.DISK,
|
|
748
|
-
filetype: null,
|
|
749
|
-
write: true,
|
|
750
|
-
fn: (accessor, path9, args) => {
|
|
751
|
-
const length = args[0];
|
|
752
|
-
if (typeof length !== "number") {
|
|
753
|
-
throw new TypeError("truncate op requires a number length as the first arg");
|
|
754
|
-
}
|
|
755
|
-
return truncate(accessor, path9, length);
|
|
756
|
-
}
|
|
757
|
-
};
|
|
758
|
-
|
|
759
|
-
// src/ops/disk/unlink.ts
|
|
760
|
-
import { ResourceName as ResourceName19 } from "@struktoai/mirage-core";
|
|
761
|
-
var unlinkOp = {
|
|
762
|
-
name: "unlink",
|
|
763
|
-
resource: ResourceName19.DISK,
|
|
764
|
-
filetype: null,
|
|
765
|
-
write: true,
|
|
766
|
-
fn: (accessor, path9) => {
|
|
767
|
-
return unlink(accessor, path9);
|
|
768
|
-
}
|
|
769
|
-
};
|
|
770
|
-
|
|
771
|
-
// src/ops/disk/write.ts
|
|
772
|
-
import { extractWriteData } from "@struktoai/mirage-core";
|
|
773
|
-
import { ResourceName as ResourceName20 } from "@struktoai/mirage-core";
|
|
774
|
-
var writeOp = {
|
|
775
|
-
name: "write",
|
|
776
|
-
resource: ResourceName20.DISK,
|
|
777
|
-
filetype: null,
|
|
778
|
-
write: true,
|
|
779
|
-
fn: (accessor, path9, args) => {
|
|
780
|
-
const data = extractWriteData(args);
|
|
781
|
-
return writeBytes(accessor, path9, data);
|
|
782
|
-
}
|
|
783
|
-
};
|
|
784
|
-
|
|
785
|
-
// src/ops/disk/index.ts
|
|
786
|
-
var DISK_OPS = [
|
|
787
|
-
appendOp,
|
|
788
|
-
createOp,
|
|
789
|
-
mkdirOp,
|
|
790
|
-
readOp,
|
|
791
|
-
readFeatherOp,
|
|
792
|
-
readHdf5Op,
|
|
793
|
-
readParquetOp,
|
|
794
|
-
readdirOp,
|
|
795
|
-
renameOp,
|
|
796
|
-
rmdirOp,
|
|
797
|
-
statOp,
|
|
798
|
-
truncateOp,
|
|
799
|
-
unlinkOp,
|
|
800
|
-
writeOp
|
|
801
|
-
];
|
|
802
|
-
|
|
803
|
-
// src/resource/disk/prompt.ts
|
|
804
|
-
var DISK_PROMPT = `{prefix}
|
|
805
|
-
Local disk filesystem. Mirrors the configured root directory.
|
|
806
|
-
Standard commands: ls, cat, head, tail, grep, wc, find, tree, mkdir, touch, cp, mv, rm, tee.`;
|
|
807
|
-
|
|
808
|
-
// src/resource/disk/disk.ts
|
|
809
|
-
async function walkFiles(root, current, out) {
|
|
810
|
-
const entries = await readdir4(current, { withFileTypes: true });
|
|
811
|
-
for (const e of entries) {
|
|
812
|
-
const child = path8.join(current, e.name);
|
|
813
|
-
if (e.isDirectory()) {
|
|
814
|
-
await walkFiles(root, child, out);
|
|
815
|
-
} else if (e.isFile()) {
|
|
816
|
-
out.push(child);
|
|
817
|
-
}
|
|
818
|
-
}
|
|
819
|
-
}
|
|
820
|
-
var DiskResource = class extends BaseResource {
|
|
821
|
-
kind = ResourceName21.DISK;
|
|
822
|
-
cachesReads = false;
|
|
823
|
-
indexTtl = 60;
|
|
824
|
-
prompt = DISK_PROMPT;
|
|
825
|
-
root;
|
|
826
|
-
accessor;
|
|
827
|
-
opsMap = {
|
|
828
|
-
read_bytes: read,
|
|
829
|
-
write: writeBytes,
|
|
830
|
-
readdir: readdir3,
|
|
831
|
-
stat,
|
|
832
|
-
unlink,
|
|
833
|
-
rmdir,
|
|
834
|
-
copy,
|
|
835
|
-
rename,
|
|
836
|
-
mkdir: mkdir2,
|
|
837
|
-
read_stream: stream,
|
|
838
|
-
rm_recursive: rmR,
|
|
839
|
-
du_total: du,
|
|
840
|
-
du_all: duAll,
|
|
841
|
-
create,
|
|
842
|
-
truncate,
|
|
843
|
-
exists,
|
|
844
|
-
find_flat: find,
|
|
845
|
-
append: appendBytes
|
|
846
|
-
};
|
|
847
|
-
constructor(options) {
|
|
848
|
-
super();
|
|
849
|
-
this.root = path8.resolve(options.root);
|
|
850
|
-
this.accessor = new DiskAccessor(this.root);
|
|
851
|
-
}
|
|
852
|
-
async open() {
|
|
853
|
-
await mkdir5(this.root, { recursive: true });
|
|
854
|
-
}
|
|
855
|
-
close() {
|
|
856
|
-
return Promise.resolve();
|
|
857
|
-
}
|
|
858
|
-
ops() {
|
|
859
|
-
return DISK_OPS;
|
|
860
|
-
}
|
|
861
|
-
commands() {
|
|
862
|
-
return DISK_COMMANDS;
|
|
863
|
-
}
|
|
864
|
-
streamPath(p) {
|
|
865
|
-
return stream(this.accessor, p);
|
|
866
|
-
}
|
|
867
|
-
readFile(p) {
|
|
868
|
-
return read(this.accessor, p);
|
|
869
|
-
}
|
|
870
|
-
writeFile(p, data) {
|
|
871
|
-
return writeBytes(this.accessor, p, data);
|
|
872
|
-
}
|
|
873
|
-
appendFile(p, data) {
|
|
874
|
-
return appendBytes(this.accessor, p, data);
|
|
875
|
-
}
|
|
876
|
-
readdir(p) {
|
|
877
|
-
return readdir3(this.accessor, p, this.index);
|
|
878
|
-
}
|
|
879
|
-
stat(p) {
|
|
880
|
-
return stat(this.accessor, p);
|
|
881
|
-
}
|
|
882
|
-
exists(p) {
|
|
883
|
-
return exists(this.accessor, p);
|
|
884
|
-
}
|
|
885
|
-
mkdir(p, options) {
|
|
886
|
-
return mkdir2(this.accessor, p, options?.recursive === true);
|
|
887
|
-
}
|
|
888
|
-
rmdir(p) {
|
|
889
|
-
return rmdir(this.accessor, p);
|
|
890
|
-
}
|
|
891
|
-
unlink(p) {
|
|
892
|
-
return unlink(this.accessor, p);
|
|
893
|
-
}
|
|
894
|
-
rename(src, dst) {
|
|
895
|
-
return rename(this.accessor, src, dst);
|
|
896
|
-
}
|
|
897
|
-
truncate(p, length) {
|
|
898
|
-
return truncate(this.accessor, p, length);
|
|
899
|
-
}
|
|
900
|
-
copy(src, dst) {
|
|
901
|
-
return copy(this.accessor, src, dst);
|
|
902
|
-
}
|
|
903
|
-
rmR(p) {
|
|
904
|
-
return rmR(this.accessor, p);
|
|
905
|
-
}
|
|
906
|
-
du(p) {
|
|
907
|
-
return du(this.accessor, p);
|
|
908
|
-
}
|
|
909
|
-
find(p, options = {}) {
|
|
910
|
-
return find(this.accessor, p, options);
|
|
911
|
-
}
|
|
912
|
-
async fingerprint(p) {
|
|
913
|
-
try {
|
|
914
|
-
const remote = await stat(this.accessor, p);
|
|
915
|
-
return remote.modified ?? null;
|
|
916
|
-
} catch {
|
|
917
|
-
return null;
|
|
918
|
-
}
|
|
919
|
-
}
|
|
920
|
-
glob(paths, prefix = "") {
|
|
921
|
-
const effective = prefix ? paths.map(
|
|
922
|
-
(p) => p.prefix ? p : new PathSpec2({
|
|
923
|
-
original: p.original,
|
|
924
|
-
directory: p.directory,
|
|
925
|
-
...p.pattern !== null ? { pattern: p.pattern } : {},
|
|
926
|
-
resolved: p.resolved,
|
|
927
|
-
prefix
|
|
928
|
-
})
|
|
929
|
-
) : paths;
|
|
930
|
-
return resolveGlob(this.accessor, effective, this.index);
|
|
931
|
-
}
|
|
932
|
-
async getState() {
|
|
933
|
-
await mkdir5(this.root, { recursive: true });
|
|
934
|
-
const files = {};
|
|
935
|
-
const fileList = [];
|
|
936
|
-
await walkFiles(this.root, this.root, fileList);
|
|
937
|
-
for (const full of fileList) {
|
|
938
|
-
const rel = path8.relative(this.root, full).split(path8.sep).join("/");
|
|
939
|
-
const data = await readFile3(full);
|
|
940
|
-
files[rel] = new Uint8Array(data.buffer, data.byteOffset, data.byteLength);
|
|
941
|
-
}
|
|
942
|
-
return {
|
|
943
|
-
type: this.kind,
|
|
944
|
-
files
|
|
945
|
-
};
|
|
946
|
-
}
|
|
947
|
-
async loadState(state) {
|
|
948
|
-
await mkdir5(this.root, { recursive: true });
|
|
949
|
-
for (const [rel, data] of Object.entries(state.files)) {
|
|
950
|
-
const full = path8.join(this.root, rel);
|
|
951
|
-
await mkdir5(path8.dirname(full), { recursive: true });
|
|
952
|
-
await writeFile3(full, data);
|
|
953
|
-
}
|
|
954
|
-
}
|
|
955
|
-
};
|
|
956
|
-
|
|
957
|
-
export {
|
|
958
|
-
DISK_COMMANDS,
|
|
959
|
-
DISK_OPS,
|
|
960
|
-
DISK_PROMPT,
|
|
961
|
-
DiskResource
|
|
962
|
-
};
|
|
963
|
-
//# sourceMappingURL=chunk-XWVDS66D.js.map
|