@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/index.d.ts
CHANGED
|
@@ -1,17 +1,30 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as _struktoai_mirage_core from '@struktoai/mirage-core';
|
|
2
|
+
import { Resource, MountMode, MountBackend, Limit, SandboxConfig, RemoteSandbox, RuntimeOptions, RunResult, WorkspaceOptions, Workspace as Workspace$1, MountSpec, ExecuteOptions, ExecuteResult, ProvisionResult, Accessor, BaseResource, CapacityResult, RegisteredOp, RegisteredCommand, PathSpec, FileStat, FindOptions, ObserverStoreBase, ConsoleStore, Channel, ConsoleChunk, ReadResult, NamespaceStore, NodeFields, SessionStore, SessionFields, WorkspaceStateStore, WorkspaceStateStoreOverrides, ObserverStore, WorkspaceFields, REDACTED_SECRET, CommandOpts, FileCache, Session, Ops, FileTable, OpRecord, S3Config as S3Config$1, RedactedConfig, ConfigOf, z, S3Accessor, DatabricksVolumeConfig, DatabricksVolumeAccessor, DatabricksVolumeConfigRedacted, ResourceName, PgDriver, PostgresConfigResolved, PgQueryResult, PostgresAccessor, PostgresConfig, MongoDriver, EntityKind, MongoCollectionSpec, MongoFindOptions, MongoIterOptions, MongoIndexAccess, MongoDBConfigResolved, MongoDBAccessor, MongoDBConfig, LanceDriver, LanceDBConfigResolved, LanceRow, LanceDBAccessor, LanceDBConfig, SlackConfig, SlackAccessor, SlackConfigRedacted, DeltaHook, WalkEntry, DiscordConfig, DiscordAccessor, DiscordConfigRedacted, TrelloAccessor, LinearConfig, LinearAccessor, LinearConfigRedacted, NotionConfig, NotionAccessor, NotionConfigRedacted, LangfuseAccessor, JaegerAccessor, GitHubAccessor, GitHubCIAccessor, GoogleConfig, GDocsAccessor, GoogleConfigRedacted, GSheetsAccessor, GSlidesAccessor, GDriveAccessor, DropboxAccessor, BoxAccessor, GmailAccessor, GCalAccessor, CLISpec, PythonRuntime, RunArgs } from '@struktoai/mirage-core';
|
|
2
3
|
export * from '@struktoai/mirage-core';
|
|
3
|
-
export { GoogleConfig as GmailConfig, GoogleConfigRedacted as GmailConfigRedacted, normalizeGoogleConfig as normalizeGmailConfig, redactGoogleConfig as redactGmailConfig } from '@struktoai/mirage-core';
|
|
4
|
+
export { DiscordConfig, DiscordConfigRedacted, GoogleConfig as GCalConfig, GoogleConfigRedacted as GCalConfigRedacted, GoogleConfig as GDocsConfig, GoogleConfigRedacted as GDocsConfigRedacted, GoogleConfig as GDriveConfig, GoogleConfigRedacted as GDriveConfigRedacted, GoogleConfig as GSheetsConfig, GoogleConfigRedacted as GSheetsConfigRedacted, GoogleConfig as GSlidesConfig, GoogleConfigRedacted as GSlidesConfigRedacted, GoogleConfig as GmailConfig, GoogleConfigRedacted as GmailConfigRedacted, LinearConfig, LinearConfigRedacted, Mem0Config, Mem0Resource, NotionConfig, NotionConfigRedacted, OneDriveConfig, OneDriveResource, SharePointConfig, SharePointResource, SlackConfig, SlackConfigRedacted, normalizeDiscordConfig, normalizeGoogleConfig as normalizeGCalConfig, normalizeGoogleConfig as normalizeGDocsConfig, normalizeGoogleConfig as normalizeGDriveConfig, normalizeGoogleConfig as normalizeGSheetsConfig, normalizeGoogleConfig as normalizeGSlidesConfig, normalizeGoogleConfig as normalizeGmailConfig, normalizeLinearConfig, normalizeNotionConfig, normalizeSlackConfig, redactDiscordConfig, redactGoogleConfig as redactGCalConfig, redactGoogleConfig as redactGDocsConfig, redactGoogleConfig as redactGDriveConfig, redactGoogleConfig as redactGSheetsConfig, redactGoogleConfig as redactGSlidesConfig, redactGoogleConfig as redactGmailConfig, redactLinearConfig, redactNotionConfig, redactSlackConfig } from '@struktoai/mirage-core';
|
|
5
|
+
import { FileHandle } from 'node:fs/promises';
|
|
4
6
|
import { RedisClientType } from 'redis';
|
|
7
|
+
import { MongoClient, Db } from 'mongodb';
|
|
5
8
|
import { Operator } from 'opendal';
|
|
6
9
|
import { SFTPWrapper } from 'ssh2';
|
|
7
10
|
import { ImapFlow } from 'imapflow';
|
|
11
|
+
import * as daytonaSdk from '@daytonaio/sdk';
|
|
12
|
+
import * as e2bSdk from 'e2b';
|
|
8
13
|
|
|
9
14
|
interface MountSpecOptions {
|
|
10
15
|
/** Per-mount mode override; falls back to the workspace default when unset. */
|
|
11
16
|
mode?: MountMode;
|
|
12
|
-
/**
|
|
13
|
-
|
|
14
|
-
|
|
17
|
+
/**
|
|
18
|
+
* How the mount is exposed. `vfs` (the default) keeps it inside mirage's
|
|
19
|
+
* own filesystem; `fuse` and `fskit` also register a real mountpoint.
|
|
20
|
+
*/
|
|
21
|
+
backend?: MountBackend;
|
|
22
|
+
/**
|
|
23
|
+
* Where to mount, for the kernel backends. Omitted picks a temporary
|
|
24
|
+
* directory appropriate for the backend. Ignored when backend is `vfs`.
|
|
25
|
+
*/
|
|
26
|
+
mountpoint?: string;
|
|
27
|
+
commandLimits?: Record<string, Limit>;
|
|
15
28
|
}
|
|
16
29
|
declare class Mount {
|
|
17
30
|
readonly resource: Resource;
|
|
@@ -19,21 +32,63 @@ declare class Mount {
|
|
|
19
32
|
constructor(resource: Resource, options?: MountSpecOptions);
|
|
20
33
|
}
|
|
21
34
|
|
|
35
|
+
/** How to reach the user's live Daytona sandbox. */
|
|
36
|
+
interface DaytonaConfig extends SandboxConfig {
|
|
37
|
+
/**
|
|
38
|
+
* Id of a sandbox you created (dashboard, `daytona sandbox create`,
|
|
39
|
+
* or the SDK). Boot it from an image or snapshot with fuse3 and
|
|
40
|
+
* mirage installed.
|
|
41
|
+
*/
|
|
42
|
+
sandboxId: string;
|
|
43
|
+
/** Daytona credential; absent reads DAYTONA_API_KEY. */
|
|
44
|
+
apiKey?: string;
|
|
45
|
+
}
|
|
46
|
+
declare const DAYTONA_CONFIG_KEYS: readonly string[];
|
|
47
|
+
|
|
48
|
+
type DaytonaSdk = typeof daytonaSdk;
|
|
49
|
+
/**
|
|
50
|
+
* A Daytona sandbox the user runs as a whole-line runtime.
|
|
51
|
+
*
|
|
52
|
+
* You create the sandbox yourself (dashboard, `daytona sandbox
|
|
53
|
+
* create`, or the SDK); mirage only connects by `sandboxId` and execs
|
|
54
|
+
* lines. `apiKey` falls back to DAYTONA_API_KEY. Daytona's exec has
|
|
55
|
+
* no stdin and reports combined output, so piped bytes are uploaded
|
|
56
|
+
* and redirected in, and stderr comes back null. close() releases the
|
|
57
|
+
* SDK client and never touches the sandbox.
|
|
58
|
+
*/
|
|
59
|
+
declare class DaytonaRuntime extends RemoteSandbox<DaytonaConfig> {
|
|
60
|
+
readonly name = "daytona";
|
|
61
|
+
private client;
|
|
62
|
+
private sandbox;
|
|
63
|
+
constructor(options?: RuntimeOptions<DaytonaConfig> | Record<string, unknown>);
|
|
64
|
+
protected loadSdk(): Promise<DaytonaSdk>;
|
|
65
|
+
connect(): Promise<void>;
|
|
66
|
+
execLine(line: string, stdin: Uint8Array | null, env: Record<string, string>, cwd: string): Promise<RunResult>;
|
|
67
|
+
private upload;
|
|
68
|
+
/** Release the SDK client; the sandbox itself is the user's. */
|
|
69
|
+
close(): Promise<void>;
|
|
70
|
+
}
|
|
71
|
+
|
|
22
72
|
type NodeWorkspaceOptions = WorkspaceOptions;
|
|
23
73
|
declare class Workspace extends Workspace$1 {
|
|
24
74
|
private fuseSetupPromise;
|
|
25
75
|
private readonly fuseMountpointsMap;
|
|
26
76
|
private readonly fuseManagers;
|
|
27
|
-
constructor(resources: Record<string,
|
|
77
|
+
constructor(resources: Record<string, MountSpec | Mount>, options?: NodeWorkspaceOptions);
|
|
28
78
|
private registerFuseMount;
|
|
29
79
|
/**
|
|
30
80
|
* Mount a workspace subtree under FUSE and own its lifecycle. Each mount gets
|
|
31
81
|
* its own {@link FuseManager}, so a workspace can expose any number of FUSE
|
|
32
82
|
* subtrees at once. A pinned mountpoint is collision-checked BEFORE mounting,
|
|
33
83
|
* so a clash never leaves a partial kernel mount.
|
|
84
|
+
*
|
|
85
|
+
* A session-bound mount (`sessionId` given) runs every op under that
|
|
86
|
+
* session's mount grants (the kernel-tier primitive: bind-mount the tree
|
|
87
|
+
* into a container and the narrowing travels with it); it is keyed
|
|
88
|
+
* separately so the same prefix can also be exposed unbound.
|
|
34
89
|
*/
|
|
35
|
-
addFuseMount(prefix: string, mountpoint?: string): Promise<string>;
|
|
36
|
-
removeFuseMount(prefix: string): Promise<void>;
|
|
90
|
+
addFuseMount(prefix: string, mountpoint?: string, sessionId?: string, backend?: MountBackend): Promise<string>;
|
|
91
|
+
removeFuseMount(prefix: string, sessionId?: string): Promise<void>;
|
|
37
92
|
get fuseMountpoints(): Record<string, string>;
|
|
38
93
|
get fuseMountpoint(): string | null;
|
|
39
94
|
/** Await the eager per-mount fuse mounts started in the constructor. */
|
|
@@ -59,18 +114,21 @@ interface DiskResourceOptions {
|
|
|
59
114
|
interface DiskResourceState {
|
|
60
115
|
type: string;
|
|
61
116
|
files: Record<string, Uint8Array>;
|
|
117
|
+
modes?: Record<string, number>;
|
|
62
118
|
}
|
|
63
119
|
declare class DiskResource extends BaseResource implements Resource {
|
|
64
120
|
readonly kind: "disk";
|
|
65
121
|
readonly cachesReads: boolean;
|
|
122
|
+
readonly sizesAlwaysKnown: boolean;
|
|
66
123
|
readonly indexTtl: number;
|
|
67
124
|
readonly prompt = "{prefix}\n Local disk filesystem. Mirrors the configured root directory.\n Standard commands: ls, cat, head, tail, grep, wc, find, tree, mkdir, touch, cp, mv, rm, tee.";
|
|
68
125
|
readonly root: string;
|
|
69
126
|
readonly accessor: DiskAccessor;
|
|
70
127
|
readonly opsMap: Record<string, unknown>;
|
|
71
128
|
constructor(options: DiskResourceOptions);
|
|
129
|
+
storageId(): string;
|
|
72
130
|
open(): Promise<void>;
|
|
73
|
-
|
|
131
|
+
statfs(): Promise<CapacityResult>;
|
|
74
132
|
ops(): readonly RegisteredOp[];
|
|
75
133
|
commands(): readonly RegisteredCommand[];
|
|
76
134
|
streamPath(p: PathSpec): AsyncIterable<Uint8Array>;
|
|
@@ -91,7 +149,6 @@ declare class DiskResource extends BaseResource implements Resource {
|
|
|
91
149
|
rmR(p: PathSpec): Promise<void>;
|
|
92
150
|
du(p: PathSpec): Promise<number>;
|
|
93
151
|
find(p: PathSpec, options?: FindOptions): Promise<string[]>;
|
|
94
|
-
fingerprint(p: PathSpec): Promise<string | null>;
|
|
95
152
|
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
96
153
|
getState(): Promise<DiskResourceState>;
|
|
97
154
|
loadState(state: DiskResourceState): Promise<void>;
|
|
@@ -105,16 +162,15 @@ declare const DISK_OPS: readonly RegisteredOp[];
|
|
|
105
162
|
* ObserverStore backed by a directory of JSONL files. Created lazily on
|
|
106
163
|
* first append. Mirrors the Python DiskObserverStore.
|
|
107
164
|
*/
|
|
108
|
-
declare class DiskObserverStore
|
|
165
|
+
declare class DiskObserverStore extends ObserverStoreBase {
|
|
109
166
|
private readonly root;
|
|
110
167
|
constructor(root: string);
|
|
111
168
|
private abs;
|
|
112
169
|
append(key: string, data: Uint8Array): Promise<void>;
|
|
113
170
|
write(key: string, data: Uint8Array): Promise<void>;
|
|
114
|
-
readAll(): Promise<Map<string, Uint8Array>>;
|
|
115
171
|
readMatching(suffix: string): Promise<Map<string, Uint8Array>>;
|
|
116
172
|
clear(): Promise<void>;
|
|
117
|
-
|
|
173
|
+
private rootIsDir;
|
|
118
174
|
private walk;
|
|
119
175
|
}
|
|
120
176
|
|
|
@@ -129,7 +185,7 @@ interface RedisObserverStoreOptions {
|
|
|
129
185
|
* file keys exist so readAll needs no SCAN. Mirrors the Python
|
|
130
186
|
* RedisObserverStore.
|
|
131
187
|
*/
|
|
132
|
-
declare class RedisObserverStore
|
|
188
|
+
declare class RedisObserverStore extends ObserverStoreBase {
|
|
133
189
|
readonly url: string;
|
|
134
190
|
private readonly prefix;
|
|
135
191
|
private readonly indexKey;
|
|
@@ -138,7 +194,6 @@ declare class RedisObserverStore implements ObserverStore {
|
|
|
138
194
|
private client;
|
|
139
195
|
append(key: string, data: Uint8Array): Promise<void>;
|
|
140
196
|
write(key: string, data: Uint8Array): Promise<void>;
|
|
141
|
-
readAll(): Promise<Map<string, Uint8Array>>;
|
|
142
197
|
readMatching(suffix: string): Promise<Map<string, Uint8Array>>;
|
|
143
198
|
private indexedPaths;
|
|
144
199
|
private readPaths;
|
|
@@ -146,6 +201,300 @@ declare class RedisObserverStore implements ObserverStore {
|
|
|
146
201
|
close(): Promise<void>;
|
|
147
202
|
}
|
|
148
203
|
|
|
204
|
+
interface RedisConsoleStoreOptions {
|
|
205
|
+
url?: string;
|
|
206
|
+
keyPrefix?: string;
|
|
207
|
+
/** Expire the keys this long after the last append; absent keeps them. */
|
|
208
|
+
ttlSeconds?: number;
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Console storage on a Redis stream, for readers in other processes.
|
|
212
|
+
*
|
|
213
|
+
* One stream per job: chunk seq maps to stream id `(seq+1)-0`, with the
|
|
214
|
+
* channel, payload and timestamp as entry fields (`c`/`d`/`t`). The
|
|
215
|
+
* job's process appends through its store instance; a reader anywhere
|
|
216
|
+
* else attaches its own instance on the same keyPrefix and follows
|
|
217
|
+
* live, which is what RAM cannot offer. The schema matches the Python
|
|
218
|
+
* RedisConsoleStore byte for byte, so the reader does not have to be
|
|
219
|
+
* the writer's language.
|
|
220
|
+
*
|
|
221
|
+
* The job owns its keys: a factory must hand every job a prefix nothing
|
|
222
|
+
* else has written, because a reused stream replays the previous job's
|
|
223
|
+
* chunks, ending chunk included. `keyPrefix` stays public because it is
|
|
224
|
+
* the console's address: an embedder reads it off a job's store and
|
|
225
|
+
* hands it to the process that should attach.
|
|
226
|
+
*
|
|
227
|
+
* The ending chunk is terminal in the store itself, not only in this
|
|
228
|
+
* process: the append script refuses any append once a CONTROL chunk
|
|
229
|
+
* landed, so an emit that raced a kill past `JobConsole`'s local guard
|
|
230
|
+
* is dropped server-side instead of landing after the ending.
|
|
231
|
+
*
|
|
232
|
+
* `wait` polls the seq counter rather than blocking server-side the way
|
|
233
|
+
* Python's XREAD BLOCK does: node-redis serializes commands on one
|
|
234
|
+
* connection, so a blocking read would wedge the job's own appends
|
|
235
|
+
* behind it, and a second connection costs more than a short poll.
|
|
236
|
+
* There is no retention trim, so readFrom never reports a truncated
|
|
237
|
+
* cursor; retention is bounded by `ttlSeconds` instead, refreshed on
|
|
238
|
+
* every append, so a console expires that long after its job's last
|
|
239
|
+
* write.
|
|
240
|
+
*/
|
|
241
|
+
declare class RedisConsoleStore implements ConsoleStore {
|
|
242
|
+
readonly url: string;
|
|
243
|
+
readonly keyPrefix: string;
|
|
244
|
+
private readonly streamKey;
|
|
245
|
+
private readonly counterKey;
|
|
246
|
+
private readonly endedKey;
|
|
247
|
+
private readonly ttlSeconds;
|
|
248
|
+
private clientPromise;
|
|
249
|
+
private isClosed;
|
|
250
|
+
constructor(options?: RedisConsoleStoreOptions);
|
|
251
|
+
get closed(): boolean;
|
|
252
|
+
private client;
|
|
253
|
+
/**
|
|
254
|
+
* Append one chunk, atomically against the console's ending.
|
|
255
|
+
*
|
|
256
|
+
* A dropped append (the console already ended) reports the last real
|
|
257
|
+
* chunk's seq; `JobConsole.emit` ignores the return and the drop is
|
|
258
|
+
* exactly its documented after-the-ending semantics.
|
|
259
|
+
*/
|
|
260
|
+
append(channel: Channel, data: Uint8Array): Promise<ConsoleChunk>;
|
|
261
|
+
readFrom(seq: number, limit?: number): Promise<ReadResult>;
|
|
262
|
+
wait(seq: number): Promise<void>;
|
|
263
|
+
close(): Promise<void>;
|
|
264
|
+
/** Delete the console's keys (test and integ teardown only). */
|
|
265
|
+
clear(): Promise<void>;
|
|
266
|
+
private chunk;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
/**
|
|
270
|
+
* NamespaceStore backed by one `namespace.json` per workspace.
|
|
271
|
+
*
|
|
272
|
+
* The whole plane is one human-readable record
|
|
273
|
+
* `{"nodes": {path: fields}, "user": ...}`: the namespace is bound to
|
|
274
|
+
* the workspace, so it serializes as one JSON file, not per-node
|
|
275
|
+
* files. Read-modify-writes take the record's lockfile so concurrent
|
|
276
|
+
* local processes never lose a node upsert; the write itself stays
|
|
277
|
+
* tmp-then-rename atomic, so readers never see a torn file. Mirrors
|
|
278
|
+
* the Python DiskNamespaceStore byte-for-byte on disk.
|
|
279
|
+
*/
|
|
280
|
+
declare class DiskNamespaceStore extends NamespaceStore {
|
|
281
|
+
private readonly records;
|
|
282
|
+
constructor(root: string);
|
|
283
|
+
private state;
|
|
284
|
+
private write;
|
|
285
|
+
load(): Promise<Map<string, NodeFields>>;
|
|
286
|
+
set(path: string, fields: NodeFields): Promise<void>;
|
|
287
|
+
delete(paths: readonly string[]): Promise<void>;
|
|
288
|
+
replaceAll(entries: Map<string, NodeFields>): Promise<void>;
|
|
289
|
+
loadUser(): Promise<string | null>;
|
|
290
|
+
setUser(user: string): Promise<void>;
|
|
291
|
+
clear(): Promise<void>;
|
|
292
|
+
close(): Promise<void>;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
interface RedisNamespaceStoreOptions {
|
|
296
|
+
url?: string;
|
|
297
|
+
keyPrefix?: string;
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* NamespaceStore backed by one Redis hash (path -> JSON fields).
|
|
301
|
+
*
|
|
302
|
+
* Symlinks and attribute overlays survive process restarts and are visible
|
|
303
|
+
* to any workspace pointed at the same key prefix. Writes are
|
|
304
|
+
* single-command (HSET/HDEL) so mutations stay one round trip. Mirrors the
|
|
305
|
+
* Python RedisNamespaceStore.
|
|
306
|
+
*/
|
|
307
|
+
declare class RedisNamespaceStore extends NamespaceStore {
|
|
308
|
+
readonly url: string;
|
|
309
|
+
private readonly key;
|
|
310
|
+
private readonly userKey;
|
|
311
|
+
private clientPromise;
|
|
312
|
+
constructor(options?: RedisNamespaceStoreOptions);
|
|
313
|
+
private client;
|
|
314
|
+
load(): Promise<Map<string, NodeFields>>;
|
|
315
|
+
set(path: string, fields: NodeFields): Promise<void>;
|
|
316
|
+
delete(paths: readonly string[]): Promise<void>;
|
|
317
|
+
replaceAll(entries: Map<string, NodeFields>): Promise<void>;
|
|
318
|
+
loadUser(): Promise<string | null>;
|
|
319
|
+
setUser(user: string): Promise<void>;
|
|
320
|
+
clear(): Promise<void>;
|
|
321
|
+
close(): Promise<void>;
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
/**
|
|
325
|
+
* One JSON-record-per-file client with lockfile CAS.
|
|
326
|
+
*
|
|
327
|
+
* The disk twin of `S3RecordClient`: a record is one file at
|
|
328
|
+
* `{root}/{prefix}{name}.json`, written atomically (tmp then rename(2))
|
|
329
|
+
* so readers never see a torn record. The conditional write serializes
|
|
330
|
+
* on a `{record}.lock` created with O_CREAT|O_EXCL, so compare and
|
|
331
|
+
* write hit the same stored version. Record names are percent-encoded
|
|
332
|
+
* into filenames, so any id is safe. Mirrors the Python
|
|
333
|
+
* DiskRecordClient byte-for-byte on disk.
|
|
334
|
+
*/
|
|
335
|
+
declare class DiskRecordClient {
|
|
336
|
+
private readonly dir;
|
|
337
|
+
constructor(root: string, prefix: string);
|
|
338
|
+
recordPath(name: string): string;
|
|
339
|
+
get(name: string): Promise<[Record<string, unknown> | null, string]>;
|
|
340
|
+
put(name: string, fields: Record<string, unknown>): Promise<void>;
|
|
341
|
+
/**
|
|
342
|
+
* Write one record iff its stored generation matches.
|
|
343
|
+
*
|
|
344
|
+
* Take the record's lockfile, re-read under the lock, check the
|
|
345
|
+
* generation, then tmp-write + rename. Losing the lock race or the
|
|
346
|
+
* generation check resolves false; the caller adopts and retries.
|
|
347
|
+
*/
|
|
348
|
+
casPut(name: string, fields: Record<string, unknown>, expectedGeneration: number): Promise<boolean>;
|
|
349
|
+
listNames(): Promise<string[]>;
|
|
350
|
+
loadAll(): Promise<Map<string, Record<string, unknown>>>;
|
|
351
|
+
delete(names: Iterable<string>): Promise<void>;
|
|
352
|
+
clear(): Promise<void>;
|
|
353
|
+
close(): Promise<void>;
|
|
354
|
+
/**
|
|
355
|
+
* Block until this record's lockfile is held; handle to release.
|
|
356
|
+
*
|
|
357
|
+
* For callers doing a read-modify-write that is not generation-CAS
|
|
358
|
+
* (e.g. the single-file namespace plane); spins past contention and
|
|
359
|
+
* reclaims stale locks, throwing only if a live writer holds the
|
|
360
|
+
* lock for the whole retry budget (~10s).
|
|
361
|
+
*/
|
|
362
|
+
lock(name: string): Promise<FileHandle>;
|
|
363
|
+
unlock(name: string, fh: FileHandle): Promise<void>;
|
|
364
|
+
private acquireLock;
|
|
365
|
+
private reclaimStaleLock;
|
|
366
|
+
private releaseLock;
|
|
367
|
+
private writeRecord;
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
/**
|
|
371
|
+
* SessionStore backed by per-session files under one directory.
|
|
372
|
+
*
|
|
373
|
+
* One file per session at `{root}/sessions/{session_id}.json`, lockfile
|
|
374
|
+
* CAS per record, so multiple local processes share one session table
|
|
375
|
+
* with the same generation contract as the Redis Lua script, with zero
|
|
376
|
+
* infrastructure. Mirrors the Python DiskSessionStore.
|
|
377
|
+
*/
|
|
378
|
+
declare class DiskSessionStore extends SessionStore {
|
|
379
|
+
private readonly records;
|
|
380
|
+
constructor(root: string);
|
|
381
|
+
load(): Promise<Map<string, SessionFields>>;
|
|
382
|
+
set(sessionId: string, fields: SessionFields): Promise<void>;
|
|
383
|
+
casSet(sessionId: string, fields: SessionFields, expectedGeneration: number): Promise<boolean>;
|
|
384
|
+
delete(sessionIds: readonly string[]): Promise<void>;
|
|
385
|
+
replaceAll(entries: Map<string, SessionFields>): Promise<void>;
|
|
386
|
+
clear(): Promise<void>;
|
|
387
|
+
close(): Promise<void>;
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
interface RedisSessionStoreOptions {
|
|
391
|
+
url?: string;
|
|
392
|
+
keyPrefix?: string;
|
|
393
|
+
}
|
|
394
|
+
/**
|
|
395
|
+
* SessionStore backed by one Redis hash (session id -> JSON fields).
|
|
396
|
+
*
|
|
397
|
+
* Sessions and the mount grants they carry survive restarts and are
|
|
398
|
+
* visible to every workspace pointed at the same key prefix — the seam
|
|
399
|
+
* that lets one process create a session and another (a kernel tier, a
|
|
400
|
+
* sibling daemon) bind a mountpoint to it. Writes are single-command
|
|
401
|
+
* (HSET/HDEL) so mutations stay one round trip. Mirrors the Python
|
|
402
|
+
* RedisSessionStore.
|
|
403
|
+
*/
|
|
404
|
+
declare class RedisSessionStore extends SessionStore {
|
|
405
|
+
readonly url: string;
|
|
406
|
+
private readonly key;
|
|
407
|
+
private clientPromise;
|
|
408
|
+
constructor(options?: RedisSessionStoreOptions);
|
|
409
|
+
private client;
|
|
410
|
+
casSet(sessionId: string, fields: SessionFields, expectedGeneration: number): Promise<boolean>;
|
|
411
|
+
load(): Promise<Map<string, SessionFields>>;
|
|
412
|
+
set(sessionId: string, fields: SessionFields): Promise<void>;
|
|
413
|
+
delete(sessionIds: readonly string[]): Promise<void>;
|
|
414
|
+
replaceAll(entries: Map<string, SessionFields>): Promise<void>;
|
|
415
|
+
clear(): Promise<void>;
|
|
416
|
+
close(): Promise<void>;
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
declare const DEFAULT_STATE_ROOT = "~/.mirage/state";
|
|
420
|
+
interface DiskWorkspaceStateStoreOptions extends WorkspaceStateStoreOverrides {
|
|
421
|
+
root?: string;
|
|
422
|
+
}
|
|
423
|
+
/**
|
|
424
|
+
* WorkspaceStateStore backed by a directory tree.
|
|
425
|
+
*
|
|
426
|
+
* Each workspace is one self-contained directory (delete a workspace
|
|
427
|
+
* by removing its folder):
|
|
428
|
+
*
|
|
429
|
+
* - `{root}/workspaces/{ws}/workspace.json` — metadata record
|
|
430
|
+
* - `{root}/workspaces/{ws}/sessions/{sid}.json` — session table
|
|
431
|
+
* - `{root}/workspaces/{ws}/namespace.json` — nodes + user, one JSON
|
|
432
|
+
* - `{root}/workspaces/{ws}/history/<day>/<sid>.jsonl` — history
|
|
433
|
+
*
|
|
434
|
+
* The layout mirrors the S3 store file-for-object; mutable records get
|
|
435
|
+
* the same generation-CAS contract via the lockfile protocol
|
|
436
|
+
* (O_CREAT|O_EXCL mutex, tmp write, rename(2)), so multiple local
|
|
437
|
+
* processes share one workspace with zero infrastructure: a CLI-created
|
|
438
|
+
* workspace survives restart like `git init`. Local filesystems only;
|
|
439
|
+
* anything cross-machine belongs on redis or s3. Mirrors the Python
|
|
440
|
+
* DiskWorkspaceStateStore byte-for-byte on disk.
|
|
441
|
+
*/
|
|
442
|
+
declare class DiskWorkspaceStateStore extends WorkspaceStateStore {
|
|
443
|
+
private readonly root;
|
|
444
|
+
private readonly meta;
|
|
445
|
+
private readonly namespaces;
|
|
446
|
+
private readonly observers;
|
|
447
|
+
private readonly sessionTables;
|
|
448
|
+
constructor(options?: DiskWorkspaceStateStoreOptions);
|
|
449
|
+
private wsRoot;
|
|
450
|
+
private metaClient;
|
|
451
|
+
protected makeNamespace(workspaceId: string): NamespaceStore;
|
|
452
|
+
protected makeObserver(workspaceId: string): ObserverStore;
|
|
453
|
+
protected makeSessions(workspaceId: string): SessionStore;
|
|
454
|
+
protected readMeta(workspaceId: string): Promise<WorkspaceFields | null>;
|
|
455
|
+
protected writeMeta(workspaceId: string, fields: WorkspaceFields): Promise<void>;
|
|
456
|
+
protected casWriteMeta(workspaceId: string, fields: WorkspaceFields, expectedGeneration: number): Promise<boolean>;
|
|
457
|
+
protected closeSelf(): Promise<void>;
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
interface RedisWorkspaceStateStoreOptions extends WorkspaceStateStoreOverrides {
|
|
461
|
+
url?: string;
|
|
462
|
+
keyPrefix?: string;
|
|
463
|
+
}
|
|
464
|
+
/**
|
|
465
|
+
* WorkspaceStateStore backed by one Redis server.
|
|
466
|
+
*
|
|
467
|
+
* Key layout under one prefix, everything scoped by workspace id:
|
|
468
|
+
*
|
|
469
|
+
* - `{prefix}workspaces` — hash, workspace id -> metadata JSON
|
|
470
|
+
* - `{prefix}{ws}:namespace:nodes` (+ `:user`) — namespace plane
|
|
471
|
+
* - `{prefix}{ws}:observer:*` — observer plane
|
|
472
|
+
* - `{prefix}{ws}:sessions` — session table
|
|
473
|
+
*
|
|
474
|
+
* All plane state survives restarts and is visible to every process
|
|
475
|
+
* pointed at the same url and prefix, so a workspace rebuilt from its
|
|
476
|
+
* config alone gets identical overlays, history, sessions, and grants.
|
|
477
|
+
* Mirrors the Python RedisWorkspaceStateStore.
|
|
478
|
+
*/
|
|
479
|
+
declare class RedisWorkspaceStateStore extends WorkspaceStateStore {
|
|
480
|
+
readonly url: string;
|
|
481
|
+
private readonly prefix;
|
|
482
|
+
private readonly metaKey;
|
|
483
|
+
private clientPromise;
|
|
484
|
+
private readonly namespaces;
|
|
485
|
+
private readonly observers;
|
|
486
|
+
private readonly sessionTables;
|
|
487
|
+
constructor(options?: RedisWorkspaceStateStoreOptions);
|
|
488
|
+
private client;
|
|
489
|
+
protected makeNamespace(workspaceId: string): NamespaceStore;
|
|
490
|
+
protected makeObserver(workspaceId: string): ObserverStore;
|
|
491
|
+
protected makeSessions(workspaceId: string): SessionStore;
|
|
492
|
+
protected readMeta(workspaceId: string): Promise<WorkspaceFields | null>;
|
|
493
|
+
protected writeMeta(workspaceId: string, fields: WorkspaceFields): Promise<void>;
|
|
494
|
+
protected casWriteMeta(workspaceId: string, fields: WorkspaceFields, expectedGeneration: number): Promise<boolean>;
|
|
495
|
+
protected closeSelf(): Promise<void>;
|
|
496
|
+
}
|
|
497
|
+
|
|
149
498
|
/**
|
|
150
499
|
* Monkey-patch Node's `fs` module so that paths under any mirage mount
|
|
151
500
|
* route through the workspace. Paths NOT under a mount fall through to
|
|
@@ -170,6 +519,7 @@ declare class RedisStore {
|
|
|
170
519
|
fk(path: string): string;
|
|
171
520
|
dk(): string;
|
|
172
521
|
mk(path: string): string;
|
|
522
|
+
ak(path: string): string;
|
|
173
523
|
client(): Promise<RedisClientType>;
|
|
174
524
|
getFile(path: string): Promise<Uint8Array | null>;
|
|
175
525
|
setFile(path: string, data: Uint8Array): Promise<void>;
|
|
@@ -177,7 +527,6 @@ declare class RedisStore {
|
|
|
177
527
|
hasFile(path: string): Promise<boolean>;
|
|
178
528
|
listFiles(prefix?: string): Promise<string[]>;
|
|
179
529
|
fileLen(path: string): Promise<number>;
|
|
180
|
-
getRange(path: string, start: number, end: number): Promise<Uint8Array>;
|
|
181
530
|
hasDir(path: string): Promise<boolean>;
|
|
182
531
|
addDir(path: string): Promise<void>;
|
|
183
532
|
removeDir(path: string): Promise<void>;
|
|
@@ -185,6 +534,9 @@ declare class RedisStore {
|
|
|
185
534
|
getModified(path: string): Promise<string | null>;
|
|
186
535
|
setModified(path: string, ts: string): Promise<void>;
|
|
187
536
|
delModified(path: string): Promise<void>;
|
|
537
|
+
getAttrs(path: string): Promise<Record<string, string>>;
|
|
538
|
+
setAttrs(path: string, fields: Record<string, string>): Promise<void>;
|
|
539
|
+
delAttrs(path: string): Promise<void>;
|
|
188
540
|
clear(): Promise<void>;
|
|
189
541
|
close(): Promise<void>;
|
|
190
542
|
}
|
|
@@ -215,10 +567,13 @@ interface RedisResourceState {
|
|
|
215
567
|
keyPrefix: string;
|
|
216
568
|
files: Record<string, Uint8Array>;
|
|
217
569
|
dirs: string[];
|
|
570
|
+
attrs?: Record<string, Record<string, string>>;
|
|
571
|
+
modified?: Record<string, string>;
|
|
218
572
|
}
|
|
219
573
|
declare class RedisResource extends BaseResource implements Resource {
|
|
220
574
|
readonly kind: string;
|
|
221
575
|
readonly cachesReads: boolean;
|
|
576
|
+
readonly sizesAlwaysKnown: boolean;
|
|
222
577
|
readonly indexTtl: number;
|
|
223
578
|
readonly prompt: string;
|
|
224
579
|
readonly url: string;
|
|
@@ -227,6 +582,7 @@ declare class RedisResource extends BaseResource implements Resource {
|
|
|
227
582
|
readonly accessor: RedisAccessor;
|
|
228
583
|
readonly opsMap: Record<string, unknown>;
|
|
229
584
|
constructor(options?: RedisResourceOptions);
|
|
585
|
+
storageId(): string;
|
|
230
586
|
open(): Promise<void>;
|
|
231
587
|
close(): Promise<void>;
|
|
232
588
|
client(): Promise<RedisClientType>;
|
|
@@ -275,9 +631,13 @@ declare class RedisFileCacheStore extends RedisResource implements FileCache {
|
|
|
275
631
|
private readonly limit;
|
|
276
632
|
private readonly dataPrefix;
|
|
277
633
|
private readonly metaPrefix;
|
|
278
|
-
|
|
634
|
+
private maxDrainBytesValue;
|
|
635
|
+
readonly drainTasks: Map<string, Promise<void>>;
|
|
279
636
|
constructor(options?: RedisFileCacheOptions);
|
|
280
|
-
|
|
637
|
+
get maxDrainBytes(): number | null;
|
|
638
|
+
set maxDrainBytes(value: number | null);
|
|
639
|
+
readonly cacheSize: number | null;
|
|
640
|
+
readonly cacheEntries: number | null;
|
|
281
641
|
get cacheLimit(): number;
|
|
282
642
|
cacheClient(): Promise<RedisClientType>;
|
|
283
643
|
get(key: string): Promise<Uint8Array | null>;
|
|
@@ -292,6 +652,8 @@ declare class RedisFileCacheStore extends RedisResource implements FileCache {
|
|
|
292
652
|
remove(key: string): Promise<void>;
|
|
293
653
|
exists(key: string | PathSpec): Promise<boolean>;
|
|
294
654
|
isFresh(key: string, remoteFingerprint: string): Promise<boolean>;
|
|
655
|
+
evictPrefix(prefix: string): Promise<void>;
|
|
656
|
+
evictPaths(_paths: Iterable<string>): void;
|
|
295
657
|
clear(): Promise<void>;
|
|
296
658
|
allCached(keys: readonly string[]): Promise<boolean>;
|
|
297
659
|
multiGet(keys: readonly string[]): Promise<(Uint8Array | null)[]>;
|
|
@@ -306,9 +668,10 @@ interface FuseHandle {
|
|
|
306
668
|
interface MountOptions {
|
|
307
669
|
/** Caller/deployment-owned mountpoint. Mirage mounts here but does not delete it. */
|
|
308
670
|
mountpoint?: string;
|
|
309
|
-
agentId?: string;
|
|
310
671
|
/** Scope the mount to a single workspace mount prefix (subtree exposure). */
|
|
311
672
|
rootPrefix?: string;
|
|
673
|
+
/** Run every op under this session's mount grants (session-bound mountpoint). */
|
|
674
|
+
session?: Session;
|
|
312
675
|
/**
|
|
313
676
|
* When true, `@zkochan/fuse-native`'s `autoUnmount` flag is set so the
|
|
314
677
|
* kernel releases the mount if the process exits abnormally. Defaults to
|
|
@@ -317,8 +680,19 @@ interface MountOptions {
|
|
|
317
680
|
* FuseManager runs `diskutil unmount force` instead.
|
|
318
681
|
*/
|
|
319
682
|
autoUnmount?: boolean;
|
|
320
|
-
/**
|
|
683
|
+
/**
|
|
684
|
+
* Extra options forwarded verbatim to `@zkochan/fuse-native`.
|
|
685
|
+
* `directIO: false` additionally skips the `direct_io` mount option that
|
|
686
|
+
* Mirage appends by default (see appendDirectIO).
|
|
687
|
+
*/
|
|
321
688
|
fuseOptions?: Record<string, unknown>;
|
|
689
|
+
/**
|
|
690
|
+
* Which kernel interface serves the mount: 'fuse' (default) or 'fskit'.
|
|
691
|
+
* 'fskit' routes through macFUSE 5.x's FSKit backend (no kernel
|
|
692
|
+
* extension); macOS-only, mounts under /Volumes, and every mounted
|
|
693
|
+
* resource must report exact sizes. See backend.ts for the guards.
|
|
694
|
+
*/
|
|
695
|
+
backend?: MountBackend;
|
|
322
696
|
}
|
|
323
697
|
declare function mount(ws: Workspace$1, options?: MountOptions): Promise<FuseHandle>;
|
|
324
698
|
declare function mountBackground(ws: Workspace$1, options?: MountOptions): Promise<FuseHandle>;
|
|
@@ -342,43 +716,149 @@ interface FuseAttr {
|
|
|
342
716
|
uid: number;
|
|
343
717
|
gid: number;
|
|
344
718
|
}
|
|
345
|
-
interface
|
|
346
|
-
|
|
719
|
+
interface Handle {
|
|
720
|
+
path: string;
|
|
721
|
+
data?: Uint8Array;
|
|
722
|
+
writeBuf?: [number, Uint8Array][];
|
|
723
|
+
}
|
|
724
|
+
interface PrefetchEntry {
|
|
725
|
+
data: Uint8Array;
|
|
726
|
+
expires: number;
|
|
727
|
+
}
|
|
728
|
+
interface MountCoreOptions {
|
|
347
729
|
rootPrefix?: string;
|
|
730
|
+
/**
|
|
731
|
+
* Bind every op to this session's mount grants. The kernel-tier
|
|
732
|
+
* primitive: bind-mount the tree into a container and the narrowing
|
|
733
|
+
* travels with it. Enforcement happens inside dispatch/Ops via the
|
|
734
|
+
* session context, so binding at the op entry point is sufficient.
|
|
735
|
+
*/
|
|
736
|
+
session?: Session;
|
|
348
737
|
}
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
738
|
+
/**
|
|
739
|
+
* Protocol-neutral mount logic shared by every kernel adapter.
|
|
740
|
+
*
|
|
741
|
+
* Everything here is expressed in POSIX terms (attribute records, ordinary
|
|
742
|
+
* thrown errors) and imports nothing from `@zkochan/fuse-native`, so it is
|
|
743
|
+
* reusable by a non-FUSE adapter and unit-testable without a kernel.
|
|
744
|
+
*
|
|
745
|
+
* The division of labour: this class decides *what* the filesystem
|
|
746
|
+
* contains, an adapter decides *how* to say it to a particular kernel
|
|
747
|
+
* interface. Adapters translate the errors thrown here into their own
|
|
748
|
+
* error codes with `classifyErrno`. Mirrors Python's `MountCore`.
|
|
749
|
+
*
|
|
750
|
+
* Every op goes through `ws.fs`, which delegates to the dispatcher, so
|
|
751
|
+
* a mount walks the same door as a shell line (mount modes, policies,
|
|
752
|
+
* cache, invalidation) and every op it runs lands in `ws.records` for
|
|
753
|
+
* `drainOps`. Reaching `ws.dispatch` from here instead would skip the
|
|
754
|
+
* record; reaching a backend directly would skip the door.
|
|
755
|
+
*/
|
|
756
|
+
declare class MountCore {
|
|
757
|
+
readonly ops: Ops;
|
|
758
|
+
readonly session: Session | null;
|
|
352
759
|
private readonly now;
|
|
353
760
|
private readonly root;
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
private readonly prefetchCache;
|
|
761
|
+
readonly handles: FileTable<Handle>;
|
|
762
|
+
readonly xattrs: Map<string, Map<string, Buffer<ArrayBufferLike>>>;
|
|
763
|
+
readonly prefetchCache: Map<string, PrefetchEntry>;
|
|
358
764
|
private readonly prefetchInflight;
|
|
359
|
-
private nextFh;
|
|
360
765
|
private readonly uid;
|
|
361
766
|
private readonly gid;
|
|
362
|
-
constructor(
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
767
|
+
constructor(ops: Ops, options?: MountCoreOptions);
|
|
768
|
+
resolve(path: string): string;
|
|
769
|
+
dirStat(): FuseAttr;
|
|
770
|
+
fileStat(size: number): FuseAttr;
|
|
771
|
+
/**
|
|
772
|
+
* Fold merged stat attributes into an attr record. The workspace stat
|
|
773
|
+
* already carries the namespace overlay (chmod bits, chown ids, touched
|
|
774
|
+
* mtime), so honoring these fields here is what makes metadata ops
|
|
775
|
+
* visible through a mount. String uid/gid (names) are skipped: the kernel
|
|
776
|
+
* wants numeric ids and there is no user db to map against.
|
|
777
|
+
*/
|
|
778
|
+
applyStatAttrs(entry: FuseAttr, s: FileStat): FuseAttr;
|
|
779
|
+
/**
|
|
780
|
+
* The target to present for a namespace link at a mount path, or null
|
|
781
|
+
* when not a link. Relative targets are stored verbatim and returned
|
|
782
|
+
* as-is. Absolute targets name virtual paths, so they are rewritten
|
|
783
|
+
* relative to the link's directory: returned raw, the kernel would
|
|
784
|
+
* resolve them against the host root and escape the mountpoint.
|
|
785
|
+
*/
|
|
786
|
+
linkTarget(path: string): string | null;
|
|
787
|
+
linkStat(target: string): FuseAttr;
|
|
788
|
+
cachedSize(path: string): number | null;
|
|
789
|
+
cachedData(path: string): Uint8Array | null;
|
|
371
790
|
/**
|
|
372
|
-
* Fetch bytes for a size-unknown file and cache them so the
|
|
373
|
-
*
|
|
374
|
-
*
|
|
375
|
-
*
|
|
376
|
-
*
|
|
791
|
+
* Fetch bytes for a size-unknown file and cache them so the open → read →
|
|
792
|
+
* fstat burst (and subsequent stats within the TTL) reuse the same fetch.
|
|
793
|
+
* With getattr reporting 0 pre-open, this hydration is what lets fgetattr
|
|
794
|
+
* answer with the real byte length after open (mirrors Python's
|
|
795
|
+
* `prefetch_read`).
|
|
377
796
|
*/
|
|
378
|
-
|
|
379
|
-
/** Drain and return accumulated op records (mirrors Python's
|
|
797
|
+
prefetch(path: string): Promise<Uint8Array | null>;
|
|
798
|
+
/** Drain and return accumulated op records (mirrors Python's drainOps). */
|
|
380
799
|
drainOps(): OpRecord[];
|
|
381
800
|
private writeFile;
|
|
801
|
+
/**
|
|
802
|
+
* Merge buffered writes over the raw base and persist the result.
|
|
803
|
+
* The base is read raw so a flush never stores a rendered view back
|
|
804
|
+
* into the mount.
|
|
805
|
+
*/
|
|
806
|
+
private applyWrites;
|
|
807
|
+
getattr(path: string): Promise<FuseAttr>;
|
|
808
|
+
/** Attributes through an open handle, or path-based when not hydrated. */
|
|
809
|
+
fgetattr(path: string, fd: number): Promise<FuseAttr>;
|
|
810
|
+
readdir(path: string): Promise<string[]>;
|
|
811
|
+
read(path: string, fd: number, pos: number, len: number): Promise<Uint8Array>;
|
|
812
|
+
/** Buffer a write on its handle, or apply it directly when there is none. */
|
|
813
|
+
write(path: string, fd: number, data: Uint8Array, pos: number): Promise<void>;
|
|
814
|
+
create(path: string): Promise<number>;
|
|
815
|
+
mkdir(path: string): Promise<void>;
|
|
816
|
+
readlink(path: string): string;
|
|
817
|
+
/**
|
|
818
|
+
* Create namespace link `dest -> src` (ln -s src dest; libfuse passes
|
|
819
|
+
* the pointee first). Relative sources are stored verbatim (resolved
|
|
820
|
+
* at follow time, exactly like the shell `ln -s`); absolute sources
|
|
821
|
+
* are mapped into virtual space so a scoped mount stores the path it
|
|
822
|
+
* will later follow.
|
|
823
|
+
*/
|
|
824
|
+
symlink(src: string, dest: string): Promise<void>;
|
|
825
|
+
unlink(path: string): Promise<void>;
|
|
826
|
+
rename(src: string, dst: string): Promise<void>;
|
|
827
|
+
rmdir(path: string): Promise<void>;
|
|
828
|
+
truncate(path: string, size: number): Promise<void>;
|
|
829
|
+
statfs(): Record<string, number>;
|
|
830
|
+
setxattr(path: string, name: string, value: Buffer): void;
|
|
831
|
+
getxattr(path: string, name: string): Buffer | undefined;
|
|
832
|
+
listxattr(path: string): string[];
|
|
833
|
+
removexattr(path: string, name: string): void;
|
|
834
|
+
open(path: string): Promise<number>;
|
|
835
|
+
release(fd: number): Promise<void>;
|
|
836
|
+
flush(path: string, fd: number): Promise<void>;
|
|
837
|
+
}
|
|
838
|
+
|
|
839
|
+
interface MirageFSOptions {
|
|
840
|
+
rootPrefix?: string;
|
|
841
|
+
/**
|
|
842
|
+
* Bind every FUSE op to this session's mount grants. The kernel-tier
|
|
843
|
+
* primitive: bind-mount the tree into a container and the narrowing
|
|
844
|
+
* travels with it. Enforcement happens inside dispatch/Ops via the
|
|
845
|
+
* session context, so binding at the op entry point is sufficient.
|
|
846
|
+
*/
|
|
847
|
+
session?: Session;
|
|
848
|
+
}
|
|
849
|
+
/**
|
|
850
|
+
* libfuse adapter over MountCore.
|
|
851
|
+
*
|
|
852
|
+
* Owns exactly the FUSE-specific concerns: the `@zkochan/fuse-native`
|
|
853
|
+
* callback signatures and the translation of mirage-native errors into
|
|
854
|
+
* negative errno codes. All filesystem semantics live in MountCore, so a
|
|
855
|
+
* non-FUSE adapter can reuse them unchanged. Mirrors Python's `MirageFS`.
|
|
856
|
+
*/
|
|
857
|
+
declare class MirageFS {
|
|
858
|
+
readonly core: MountCore;
|
|
859
|
+
constructor(ops: Ops, options?: MirageFSOptions);
|
|
860
|
+
/** Drain and return accumulated op records (mirrors Python's drainOps). */
|
|
861
|
+
drainOps(): OpRecord[];
|
|
382
862
|
ops(): Record<string, unknown>;
|
|
383
863
|
private getattr;
|
|
384
864
|
private fgetattr;
|
|
@@ -387,6 +867,8 @@ declare class MirageFS {
|
|
|
387
867
|
private write;
|
|
388
868
|
private create;
|
|
389
869
|
private mkdir;
|
|
870
|
+
private readlink;
|
|
871
|
+
private symlink;
|
|
390
872
|
private unlink;
|
|
391
873
|
private rename;
|
|
392
874
|
private rmdir;
|
|
@@ -400,22 +882,123 @@ declare class MirageFS {
|
|
|
400
882
|
private getxattr;
|
|
401
883
|
private listxattr;
|
|
402
884
|
private removexattr;
|
|
403
|
-
private
|
|
885
|
+
private validate;
|
|
404
886
|
private open;
|
|
405
887
|
private release;
|
|
406
888
|
private flush;
|
|
407
889
|
private fsync;
|
|
408
890
|
}
|
|
409
891
|
|
|
892
|
+
/**
|
|
893
|
+
* Map a mirage-native error onto a positive POSIX errno.
|
|
894
|
+
*
|
|
895
|
+
* Mirrors Python's `mirage.fuse.errors.classify_error` so both languages
|
|
896
|
+
* report the same errno for the same backend failure. The naming lives in
|
|
897
|
+
* core's `classify` (shared with the wasi shim and the monty encoders);
|
|
898
|
+
* this adapter only renders the condition in host numbers. A stamped code
|
|
899
|
+
* outside the vocabulary is passed through in the host's own numbering
|
|
900
|
+
* (Python's raw OSError.errno passthrough), and the message needles are a
|
|
901
|
+
* last resort for unstamped errors, not a classification channel.
|
|
902
|
+
*/
|
|
903
|
+
declare function classifyErrno(err: unknown): number;
|
|
904
|
+
/** Same classification, negated for `@zkochan/fuse-native` callbacks. */
|
|
905
|
+
declare function classifyError(err: unknown): number;
|
|
906
|
+
|
|
907
|
+
/**
|
|
908
|
+
* FSKit mounts only under /Volumes. Anywhere else the mount fails with an
|
|
909
|
+
* opaque driver error, so the rule is enforced up front rather than
|
|
910
|
+
* discovered at run time (github.com/strukto-ai/mirage#82).
|
|
911
|
+
*/
|
|
912
|
+
declare const FSKIT_MOUNT_ROOT = "/Volumes";
|
|
913
|
+
/**
|
|
914
|
+
* Coerce a user-supplied backend name into a MountBackend.
|
|
915
|
+
*
|
|
916
|
+
* Missing means vfs, everywhere: an absent `backend` in YAML, `undefined`
|
|
917
|
+
* here, and the `MountSpecOptions` default all resolve to the same thing.
|
|
918
|
+
* Callers that need a kernel mount say so explicitly rather than relying on
|
|
919
|
+
* this function to reinterpret an absent value.
|
|
920
|
+
*/
|
|
921
|
+
declare function resolveBackend(value?: string | null): MountBackend;
|
|
922
|
+
/** Reject a backend that registers nothing with the kernel. */
|
|
923
|
+
declare function requireKernelBackend(backend: MountBackend): void;
|
|
924
|
+
/**
|
|
925
|
+
* Reject a backend the current platform cannot serve.
|
|
926
|
+
*
|
|
927
|
+
* FSKit works from TypeScript: `fuse.node` links `/usr/local/lib/
|
|
928
|
+
* libfuse.2.dylib` by absolute path (the `libosxfuse.2.dylib` it ships is a
|
|
929
|
+
* stub with that install name), so on a machine with macFUSE 5.x the
|
|
930
|
+
* `backend=fskit` option reaches the same libfuse Python uses. Verified
|
|
931
|
+
* with a live mount; see examples/typescript/fuse/fskit.ts.
|
|
932
|
+
*/
|
|
933
|
+
declare function checkPlatform(backend: MountBackend): void;
|
|
934
|
+
/** Reject a mountpoint the backend cannot mount on. */
|
|
935
|
+
declare function checkMountpoint(backend: MountBackend, mountpoint: string): void;
|
|
936
|
+
/**
|
|
937
|
+
* Mounts under `rootPrefix` whose files cannot be sized without reading
|
|
938
|
+
* them. Mirrors Python's `Ops.unsized_mounts`.
|
|
939
|
+
*/
|
|
940
|
+
declare function unsizedMounts(ws: Workspace$1, rootPrefix?: string): [string, string][];
|
|
941
|
+
/**
|
|
942
|
+
* Warn when an fskit mount will serve size-unknown files as empty.
|
|
943
|
+
*
|
|
944
|
+
* FSKit drives reads from the size the filesystem reports and has no
|
|
945
|
+
* `direct_io` escape hatch, so a resource that cannot size a file without
|
|
946
|
+
* fetching it reports 0, the kernel issues no reads, and every such file
|
|
947
|
+
* comes back empty with exit code 0 (verified on a live fskit mount: the
|
|
948
|
+
* read clamp is pinned at lookup-time size and never refreshed). The mount
|
|
949
|
+
* proceeds anyway: per-backend size push-down is closing this gap, so the
|
|
950
|
+
* degraded mounts are named loudly here rather than refused.
|
|
951
|
+
*/
|
|
952
|
+
declare function checkSizes(backend: MountBackend, ws: Workspace$1, rootPrefix?: string): void;
|
|
953
|
+
/**
|
|
954
|
+
* Resolve a backend for a kernel mount and run every guard it implies.
|
|
955
|
+
*
|
|
956
|
+
* One entry point, so a new mount path cannot pick up fskit support while
|
|
957
|
+
* silently skipping the macOS, /Volumes, or size checks.
|
|
958
|
+
*/
|
|
959
|
+
declare function prepareBackend(value: string | undefined, ws?: Workspace$1, mountpoint?: string, rootPrefix?: string): MountBackend;
|
|
960
|
+
|
|
410
961
|
declare function isMacosMetadata(name: string): boolean;
|
|
411
962
|
|
|
412
963
|
interface S3Config extends S3Config$1 {
|
|
413
964
|
profile?: string;
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
965
|
+
proxy?: string;
|
|
966
|
+
}
|
|
967
|
+
declare const S3ConfigSchema: z.ZodObject<{
|
|
968
|
+
bucket: z.ZodString;
|
|
969
|
+
region: z.ZodOptional<z.ZodString>;
|
|
970
|
+
endpoint: z.ZodOptional<z.ZodString>;
|
|
971
|
+
accessKeyId: z.ZodOptional<z.ZodString>;
|
|
972
|
+
secretAccessKey: z.ZodOptional<z.ZodString>;
|
|
973
|
+
sessionToken: z.ZodOptional<z.ZodString>;
|
|
974
|
+
forcePathStyle: z.ZodOptional<z.ZodBoolean>;
|
|
975
|
+
timeoutMs: z.ZodOptional<z.ZodNumber>;
|
|
976
|
+
presignedUrlProvider: z.ZodOptional<z.ZodCustom<_struktoai_mirage_core.S3BrowserPresignedUrlProvider, _struktoai_mirage_core.S3BrowserPresignedUrlProvider>>;
|
|
977
|
+
httpAgentProvider: z.ZodOptional<z.ZodCustom<_struktoai_mirage_core.S3HttpAgentProvider, _struktoai_mirage_core.S3HttpAgentProvider>>;
|
|
978
|
+
defaultContentType: z.ZodOptional<z.ZodString>;
|
|
979
|
+
keyPrefix: z.ZodOptional<z.ZodString>;
|
|
980
|
+
profile: z.ZodOptional<z.ZodString>;
|
|
981
|
+
proxy: z.ZodOptional<z.ZodString>;
|
|
982
|
+
}, z.core.$strip>;
|
|
983
|
+
type S3ConfigRedacted = RedactedConfig<ConfigOf<typeof S3ConfigSchema>, 'accessKeyId' | 'secretAccessKey' | 'sessionToken' | 'presignedUrlProvider' | 'httpAgentProvider' | 'proxy'>;
|
|
418
984
|
declare function redactConfig(config: S3Config): S3ConfigRedacted;
|
|
985
|
+
/**
|
|
986
|
+
* Translate Python-style snake_case keys (as used in YAML configs and the
|
|
987
|
+
* Python `S3Config`) to the TS-idiomatic camelCase fields. Already-camelCase
|
|
988
|
+
* keys pass through unchanged so user code that constructs `S3Config`
|
|
989
|
+
* directly keeps working.
|
|
990
|
+
*
|
|
991
|
+
* Python ↔ TS mapping:
|
|
992
|
+
* aws_access_key_id ↔ accessKeyId
|
|
993
|
+
* aws_secret_access_key ↔ secretAccessKey
|
|
994
|
+
* aws_session_token ↔ sessionToken
|
|
995
|
+
* aws_profile ↔ profile
|
|
996
|
+
* endpoint_url ↔ endpoint
|
|
997
|
+
* path_style ↔ forcePathStyle
|
|
998
|
+
* timeout (sec, int) ↔ timeoutMs (ms, number — converted ×1000)
|
|
999
|
+
* proxy ↔ proxy
|
|
1000
|
+
*/
|
|
1001
|
+
declare function normalizeS3Config(input: Record<string, unknown>): S3Config;
|
|
419
1002
|
|
|
420
1003
|
interface S3ResourceState {
|
|
421
1004
|
type: string;
|
|
@@ -425,14 +1008,15 @@ declare class S3Resource extends BaseResource implements Resource {
|
|
|
425
1008
|
readonly kind: string;
|
|
426
1009
|
readonly cachesReads: boolean;
|
|
427
1010
|
readonly supportsSnapshot: boolean;
|
|
1011
|
+
readonly sizesAlwaysKnown: boolean;
|
|
428
1012
|
readonly indexTtl: number;
|
|
429
1013
|
readonly prompt: string;
|
|
430
1014
|
readonly config: S3Config;
|
|
431
1015
|
readonly accessor: S3Accessor;
|
|
432
1016
|
readonly opsMap: Record<string, unknown>;
|
|
433
1017
|
constructor(config: S3Config);
|
|
1018
|
+
storageId(): string;
|
|
434
1019
|
open(): Promise<void>;
|
|
435
|
-
close(): Promise<void>;
|
|
436
1020
|
commands(): readonly RegisteredCommand[];
|
|
437
1021
|
ops(): readonly RegisteredOp[];
|
|
438
1022
|
streamPath(p: PathSpec): AsyncIterable<Uint8Array>;
|
|
@@ -452,11 +1036,76 @@ declare class S3Resource extends BaseResource implements Resource {
|
|
|
452
1036
|
du(p: PathSpec): Promise<number>;
|
|
453
1037
|
find(p: PathSpec, options?: FindOptions): Promise<string[]>;
|
|
454
1038
|
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
455
|
-
fingerprint(p: PathSpec): Promise<string | null>;
|
|
456
1039
|
getState(): Promise<S3ResourceState>;
|
|
457
1040
|
loadState(_state: S3ResourceState): Promise<void>;
|
|
458
1041
|
}
|
|
459
1042
|
|
|
1043
|
+
declare const GridFSConfigSchema: z.ZodObject<{
|
|
1044
|
+
uri: z.ZodString;
|
|
1045
|
+
database: z.ZodString;
|
|
1046
|
+
bucket: z.ZodOptional<z.ZodString>;
|
|
1047
|
+
keyPrefix: z.ZodOptional<z.ZodString>;
|
|
1048
|
+
chunkSizeBytes: z.ZodOptional<z.ZodNumber>;
|
|
1049
|
+
}, z.core.$strip>;
|
|
1050
|
+
type GridFSConfig = ConfigOf<typeof GridFSConfigSchema>;
|
|
1051
|
+
type GridFSConfigRedacted = RedactedConfig<GridFSConfig, 'uri'>;
|
|
1052
|
+
/**
|
|
1053
|
+
* Translate Python-style snake_case keys (as used in YAML configs and the
|
|
1054
|
+
* Python `GridFSConfig`) to the TS-idiomatic camelCase fields, and
|
|
1055
|
+
* normalize the key prefix the way the accessor expects.
|
|
1056
|
+
*/
|
|
1057
|
+
declare function normalizeGridFSConfig(input: Record<string, unknown>): GridFSConfig;
|
|
1058
|
+
|
|
1059
|
+
declare class GridFSAccessor extends Accessor {
|
|
1060
|
+
readonly config: GridFSConfig;
|
|
1061
|
+
private clientPromise;
|
|
1062
|
+
constructor(config: GridFSConfig);
|
|
1063
|
+
client(): Promise<MongoClient>;
|
|
1064
|
+
db(): Promise<Db>;
|
|
1065
|
+
private _connect;
|
|
1066
|
+
close(): Promise<void>;
|
|
1067
|
+
}
|
|
1068
|
+
|
|
1069
|
+
interface GridFSResourceState {
|
|
1070
|
+
type: string;
|
|
1071
|
+
config: GridFSConfigRedacted;
|
|
1072
|
+
}
|
|
1073
|
+
declare class GridFSResource extends BaseResource implements Resource {
|
|
1074
|
+
readonly kind: string;
|
|
1075
|
+
readonly cachesReads: boolean;
|
|
1076
|
+
readonly supportsSnapshot: boolean;
|
|
1077
|
+
readonly sizesAlwaysKnown: boolean;
|
|
1078
|
+
readonly indexTtl: number;
|
|
1079
|
+
readonly prompt: string;
|
|
1080
|
+
readonly config: GridFSConfig;
|
|
1081
|
+
readonly accessor: GridFSAccessor;
|
|
1082
|
+
readonly opsMap: Record<string, unknown>;
|
|
1083
|
+
constructor(config: GridFSConfig);
|
|
1084
|
+
open(): Promise<void>;
|
|
1085
|
+
close(): Promise<void>;
|
|
1086
|
+
commands(): readonly RegisteredCommand[];
|
|
1087
|
+
ops(): readonly RegisteredOp[];
|
|
1088
|
+
streamPath(p: PathSpec): AsyncIterable<Uint8Array>;
|
|
1089
|
+
readFile(p: PathSpec): Promise<Uint8Array>;
|
|
1090
|
+
writeFile(p: PathSpec, data: Uint8Array): Promise<void>;
|
|
1091
|
+
appendFile(p: PathSpec, data: Uint8Array): Promise<void>;
|
|
1092
|
+
readdir(p: PathSpec): Promise<string[]>;
|
|
1093
|
+
stat(p: PathSpec): Promise<FileStat>;
|
|
1094
|
+
exists(p: PathSpec): Promise<boolean>;
|
|
1095
|
+
mkdir(p: PathSpec): Promise<void>;
|
|
1096
|
+
rmdir(p: PathSpec): Promise<void>;
|
|
1097
|
+
unlink(p: PathSpec): Promise<void>;
|
|
1098
|
+
rename(src: PathSpec, dst: PathSpec): Promise<void>;
|
|
1099
|
+
truncate(p: PathSpec, length: number): Promise<void>;
|
|
1100
|
+
copy(src: PathSpec, dst: PathSpec): Promise<void>;
|
|
1101
|
+
rmR(p: PathSpec): Promise<void>;
|
|
1102
|
+
du(p: PathSpec): Promise<number>;
|
|
1103
|
+
find(p: PathSpec, options?: FindOptions): Promise<string[]>;
|
|
1104
|
+
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
1105
|
+
getState(): Promise<GridFSResourceState>;
|
|
1106
|
+
loadState(_state: GridFSResourceState): Promise<void>;
|
|
1107
|
+
}
|
|
1108
|
+
|
|
460
1109
|
interface DatabricksVolumeResourceState {
|
|
461
1110
|
type: string;
|
|
462
1111
|
config: DatabricksVolumeConfigRedacted;
|
|
@@ -464,6 +1113,7 @@ interface DatabricksVolumeResourceState {
|
|
|
464
1113
|
declare class DatabricksVolumeResource extends BaseResource implements Resource {
|
|
465
1114
|
readonly kind: string;
|
|
466
1115
|
readonly cachesReads: boolean;
|
|
1116
|
+
readonly sizesAlwaysKnown: boolean;
|
|
467
1117
|
readonly indexTtl: number;
|
|
468
1118
|
readonly prompt: string;
|
|
469
1119
|
readonly config: DatabricksVolumeConfig;
|
|
@@ -472,7 +1122,6 @@ declare class DatabricksVolumeResource extends BaseResource implements Resource
|
|
|
472
1122
|
private constructor();
|
|
473
1123
|
static create(config: DatabricksVolumeConfig): Promise<DatabricksVolumeResource>;
|
|
474
1124
|
open(): Promise<void>;
|
|
475
|
-
close(): Promise<void>;
|
|
476
1125
|
commands(): readonly RegisteredCommand[];
|
|
477
1126
|
ops(): readonly RegisteredOp[];
|
|
478
1127
|
streamPath(p: PathSpec): AsyncIterable<Uint8Array>;
|
|
@@ -504,21 +1153,31 @@ declare function loadDatabricksProfile(profile: string): Promise<DatabricksProfi
|
|
|
504
1153
|
declare const GCS_ENDPOINT = "https://storage.googleapis.com";
|
|
505
1154
|
interface GCSConfig {
|
|
506
1155
|
bucket: string;
|
|
507
|
-
accessKeyId
|
|
508
|
-
secretAccessKey
|
|
1156
|
+
accessKeyId?: string;
|
|
1157
|
+
secretAccessKey?: string;
|
|
1158
|
+
sessionToken?: string;
|
|
1159
|
+
profile?: string;
|
|
509
1160
|
endpoint?: string;
|
|
510
1161
|
region?: string;
|
|
511
1162
|
timeoutMs?: number;
|
|
512
1163
|
forcePathStyle?: boolean;
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
1164
|
+
keyPrefix?: string;
|
|
1165
|
+
proxy?: string;
|
|
1166
|
+
}
|
|
1167
|
+
declare const GCSConfigSchema: z.ZodObject<{
|
|
1168
|
+
bucket: z.ZodString;
|
|
1169
|
+
accessKeyId: z.ZodOptional<z.ZodString>;
|
|
1170
|
+
secretAccessKey: z.ZodOptional<z.ZodString>;
|
|
1171
|
+
sessionToken: z.ZodOptional<z.ZodString>;
|
|
1172
|
+
profile: z.ZodOptional<z.ZodString>;
|
|
1173
|
+
endpoint: z.ZodString;
|
|
1174
|
+
region: z.ZodString;
|
|
1175
|
+
timeoutMs: z.ZodOptional<z.ZodNumber>;
|
|
1176
|
+
forcePathStyle: z.ZodOptional<z.ZodBoolean>;
|
|
1177
|
+
keyPrefix: z.ZodOptional<z.ZodString>;
|
|
1178
|
+
proxy: z.ZodOptional<z.ZodString>;
|
|
1179
|
+
}, z.core.$strip>;
|
|
1180
|
+
type GCSConfigRedacted = RedactedConfig<ConfigOf<typeof GCSConfigSchema>, 'accessKeyId' | 'secretAccessKey' | 'sessionToken' | 'proxy'>;
|
|
522
1181
|
declare function redactGcsConfig(config: GCSConfig): GCSConfigRedacted;
|
|
523
1182
|
|
|
524
1183
|
interface GCSResourceState {
|
|
@@ -538,26 +1197,35 @@ declare class GCSResource extends S3Resource {
|
|
|
538
1197
|
loadState(_state: GCSResourceState): Promise<void>;
|
|
539
1198
|
}
|
|
540
1199
|
|
|
541
|
-
declare const GCS_PROMPT = "{prefix}\n Remote Google Cloud Storage bucket.\n IMPORTANT: This is a remote mount. Prefer targeted reads over full scans.\n Supports: ls, cat, head, tail, grep, rg, wc, find, tree, jq, stat
|
|
1200
|
+
declare const GCS_PROMPT = "{prefix}\n Remote Google Cloud Storage bucket.\n IMPORTANT: This is a remote mount. Prefer targeted reads over full scans.\n Supports: ls, cat, head, tail, grep, rg, wc, find, tree, jq, stat.";
|
|
542
1201
|
|
|
543
1202
|
interface OCIConfig {
|
|
544
1203
|
bucket: string;
|
|
545
1204
|
namespace: string;
|
|
546
1205
|
region: string;
|
|
547
|
-
accessKeyId
|
|
548
|
-
secretAccessKey
|
|
1206
|
+
accessKeyId?: string;
|
|
1207
|
+
secretAccessKey?: string;
|
|
1208
|
+
sessionToken?: string;
|
|
1209
|
+
profile?: string;
|
|
549
1210
|
endpoint?: string;
|
|
1211
|
+
keyPrefix?: string;
|
|
550
1212
|
timeoutMs?: number;
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
1213
|
+
proxy?: string;
|
|
1214
|
+
}
|
|
1215
|
+
declare const OCIConfigSchema: z.ZodObject<{
|
|
1216
|
+
bucket: z.ZodString;
|
|
1217
|
+
namespace: z.ZodString;
|
|
1218
|
+
region: z.ZodString;
|
|
1219
|
+
accessKeyId: z.ZodOptional<z.ZodString>;
|
|
1220
|
+
secretAccessKey: z.ZodOptional<z.ZodString>;
|
|
1221
|
+
sessionToken: z.ZodOptional<z.ZodString>;
|
|
1222
|
+
profile: z.ZodOptional<z.ZodString>;
|
|
1223
|
+
endpoint: z.ZodString;
|
|
1224
|
+
keyPrefix: z.ZodOptional<z.ZodString>;
|
|
1225
|
+
timeoutMs: z.ZodOptional<z.ZodNumber>;
|
|
1226
|
+
proxy: z.ZodOptional<z.ZodString>;
|
|
1227
|
+
}, z.core.$strip>;
|
|
1228
|
+
type OCIConfigRedacted = RedactedConfig<ConfigOf<typeof OCIConfigSchema>, 'accessKeyId' | 'secretAccessKey' | 'sessionToken' | 'proxy'>;
|
|
561
1229
|
declare function redactOciConfig(config: OCIConfig): OCIConfigRedacted;
|
|
562
1230
|
|
|
563
1231
|
interface OCIResourceState {
|
|
@@ -581,24 +1249,33 @@ declare const OCI_PROMPT = "{prefix}\n Remote Oracle Cloud Object Storage.\n I
|
|
|
581
1249
|
|
|
582
1250
|
interface R2Config {
|
|
583
1251
|
bucket: string;
|
|
584
|
-
accessKeyId
|
|
585
|
-
secretAccessKey
|
|
1252
|
+
accessKeyId?: string;
|
|
1253
|
+
secretAccessKey?: string;
|
|
1254
|
+
sessionToken?: string;
|
|
586
1255
|
accountId?: string;
|
|
587
1256
|
endpoint?: string;
|
|
588
1257
|
region?: string;
|
|
589
1258
|
profile?: string;
|
|
1259
|
+
forcePathStyle?: boolean;
|
|
1260
|
+
keyPrefix?: string;
|
|
590
1261
|
timeoutMs?: number;
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
1262
|
+
proxy?: string;
|
|
1263
|
+
}
|
|
1264
|
+
declare const R2ConfigSchema: z.ZodObject<{
|
|
1265
|
+
bucket: z.ZodString;
|
|
1266
|
+
accessKeyId: z.ZodOptional<z.ZodString>;
|
|
1267
|
+
secretAccessKey: z.ZodOptional<z.ZodString>;
|
|
1268
|
+
sessionToken: z.ZodOptional<z.ZodString>;
|
|
1269
|
+
accountId: z.ZodOptional<z.ZodString>;
|
|
1270
|
+
endpoint: z.ZodString;
|
|
1271
|
+
region: z.ZodString;
|
|
1272
|
+
profile: z.ZodOptional<z.ZodString>;
|
|
1273
|
+
forcePathStyle: z.ZodOptional<z.ZodBoolean>;
|
|
1274
|
+
keyPrefix: z.ZodOptional<z.ZodString>;
|
|
1275
|
+
timeoutMs: z.ZodOptional<z.ZodNumber>;
|
|
1276
|
+
proxy: z.ZodOptional<z.ZodString>;
|
|
1277
|
+
}, z.core.$strip>;
|
|
1278
|
+
type R2ConfigRedacted = RedactedConfig<ConfigOf<typeof R2ConfigSchema>, 'accessKeyId' | 'secretAccessKey' | 'sessionToken' | 'proxy'>;
|
|
602
1279
|
declare function redactR2Config(config: R2Config): R2ConfigRedacted;
|
|
603
1280
|
|
|
604
1281
|
interface R2ResourceState {
|
|
@@ -618,28 +1295,35 @@ declare class R2Resource extends S3Resource {
|
|
|
618
1295
|
loadState(_state: R2ResourceState): Promise<void>;
|
|
619
1296
|
}
|
|
620
1297
|
|
|
621
|
-
declare const R2_PROMPT = "{prefix}\n Remote Cloudflare R2 bucket.\n IMPORTANT: This is a remote mount. Prefer targeted reads over full scans.\n Supports: ls, cat, head, tail, grep, rg, wc, find, tree, jq, stat
|
|
1298
|
+
declare const R2_PROMPT = "{prefix}\n Remote Cloudflare R2 bucket.\n IMPORTANT: This is a remote mount. Prefer targeted reads over full scans.\n Supports: ls, cat, head, tail, grep, rg, wc, find, tree, jq, stat.";
|
|
622
1299
|
|
|
623
1300
|
interface SupabaseConfig {
|
|
624
1301
|
bucket: string;
|
|
625
1302
|
region: string;
|
|
626
|
-
accessKeyId
|
|
627
|
-
secretAccessKey
|
|
1303
|
+
accessKeyId?: string;
|
|
1304
|
+
secretAccessKey?: string;
|
|
628
1305
|
projectRef?: string;
|
|
629
1306
|
endpoint?: string;
|
|
630
1307
|
sessionToken?: string;
|
|
1308
|
+
profile?: string;
|
|
1309
|
+
keyPrefix?: string;
|
|
631
1310
|
timeoutMs?: number;
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
1311
|
+
proxy?: string;
|
|
1312
|
+
}
|
|
1313
|
+
declare const SupabaseConfigSchema: z.ZodObject<{
|
|
1314
|
+
bucket: z.ZodString;
|
|
1315
|
+
region: z.ZodString;
|
|
1316
|
+
projectRef: z.ZodOptional<z.ZodString>;
|
|
1317
|
+
endpoint: z.ZodString;
|
|
1318
|
+
accessKeyId: z.ZodOptional<z.ZodString>;
|
|
1319
|
+
secretAccessKey: z.ZodOptional<z.ZodString>;
|
|
1320
|
+
sessionToken: z.ZodOptional<z.ZodString>;
|
|
1321
|
+
profile: z.ZodOptional<z.ZodString>;
|
|
1322
|
+
keyPrefix: z.ZodOptional<z.ZodString>;
|
|
1323
|
+
timeoutMs: z.ZodOptional<z.ZodNumber>;
|
|
1324
|
+
proxy: z.ZodOptional<z.ZodString>;
|
|
1325
|
+
}, z.core.$strip>;
|
|
1326
|
+
type SupabaseConfigRedacted = RedactedConfig<ConfigOf<typeof SupabaseConfigSchema>, 'accessKeyId' | 'secretAccessKey' | 'sessionToken' | 'proxy'>;
|
|
643
1327
|
declare function resolvedSupabaseEndpoint(config: SupabaseConfig): string;
|
|
644
1328
|
declare function redactSupabaseConfig(config: SupabaseConfig): SupabaseConfigRedacted;
|
|
645
1329
|
|
|
@@ -671,13 +1355,14 @@ interface HfBucketsConfig {
|
|
|
671
1355
|
timeoutMs?: number;
|
|
672
1356
|
keyPrefix?: string;
|
|
673
1357
|
}
|
|
674
|
-
|
|
675
|
-
bucket:
|
|
676
|
-
token
|
|
677
|
-
endpoint:
|
|
678
|
-
timeoutMs
|
|
679
|
-
keyPrefix
|
|
680
|
-
}
|
|
1358
|
+
declare const HfBucketsConfigSchema: z.ZodObject<{
|
|
1359
|
+
bucket: z.ZodString;
|
|
1360
|
+
token: z.ZodOptional<z.ZodString>;
|
|
1361
|
+
endpoint: z.ZodString;
|
|
1362
|
+
timeoutMs: z.ZodOptional<z.ZodNumber>;
|
|
1363
|
+
keyPrefix: z.ZodOptional<z.ZodString>;
|
|
1364
|
+
}, z.core.$strip>;
|
|
1365
|
+
type HfBucketsConfigRedacted = RedactedConfig<ConfigOf<typeof HfBucketsConfigSchema>, 'token'>;
|
|
681
1366
|
declare function redactHfBucketsConfig(config: HfBucketsConfig): HfBucketsConfigRedacted;
|
|
682
1367
|
declare function normalizeHfBucketsConfig(input: Record<string, unknown>): HfBucketsConfig;
|
|
683
1368
|
interface HfRepoConfig {
|
|
@@ -688,14 +1373,15 @@ interface HfRepoConfig {
|
|
|
688
1373
|
keyPrefix?: string;
|
|
689
1374
|
revision?: string;
|
|
690
1375
|
}
|
|
691
|
-
|
|
692
|
-
repoId:
|
|
693
|
-
token
|
|
694
|
-
endpoint:
|
|
695
|
-
timeoutMs
|
|
696
|
-
keyPrefix
|
|
697
|
-
revision
|
|
698
|
-
}
|
|
1376
|
+
declare const HfRepoConfigSchema: z.ZodObject<{
|
|
1377
|
+
repoId: z.ZodString;
|
|
1378
|
+
token: z.ZodOptional<z.ZodString>;
|
|
1379
|
+
endpoint: z.ZodString;
|
|
1380
|
+
timeoutMs: z.ZodOptional<z.ZodNumber>;
|
|
1381
|
+
keyPrefix: z.ZodOptional<z.ZodString>;
|
|
1382
|
+
revision: z.ZodOptional<z.ZodString>;
|
|
1383
|
+
}, z.core.$strip>;
|
|
1384
|
+
type HfRepoConfigRedacted = RedactedConfig<ConfigOf<typeof HfRepoConfigSchema>, 'token'>;
|
|
699
1385
|
declare function redactHfRepoConfig(config: HfRepoConfig): HfRepoConfigRedacted;
|
|
700
1386
|
declare function normalizeHfRepoConfig(input: Record<string, unknown>): HfRepoConfig;
|
|
701
1387
|
|
|
@@ -738,10 +1424,10 @@ declare abstract class HfResource extends BaseResource implements Resource {
|
|
|
738
1424
|
abstract readonly prompt: string;
|
|
739
1425
|
abstract readonly accessor: HfAccessor;
|
|
740
1426
|
readonly cachesReads: boolean;
|
|
1427
|
+
readonly sizesAlwaysKnown: boolean;
|
|
741
1428
|
readonly supportsSnapshot: boolean;
|
|
742
1429
|
readonly opsMap: Record<string, unknown>;
|
|
743
1430
|
open(): Promise<void>;
|
|
744
|
-
close(): Promise<void>;
|
|
745
1431
|
commands(): readonly RegisteredCommand[];
|
|
746
1432
|
ops(): readonly RegisteredOp[];
|
|
747
1433
|
streamPath(p: PathSpec): AsyncIterable<Uint8Array>;
|
|
@@ -755,7 +1441,6 @@ declare abstract class HfResource extends BaseResource implements Resource {
|
|
|
755
1441
|
du(p: PathSpec): Promise<number>;
|
|
756
1442
|
find(p: PathSpec, options?: FindOptions): Promise<string[]>;
|
|
757
1443
|
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
758
|
-
fingerprint(p: PathSpec): Promise<string | null>;
|
|
759
1444
|
loadState(_state: unknown): Promise<void>;
|
|
760
1445
|
}
|
|
761
1446
|
|
|
@@ -828,25 +1513,56 @@ declare const HF_COMMANDS: readonly RegisteredCommand[];
|
|
|
828
1513
|
|
|
829
1514
|
declare const HF_OPS: readonly RegisteredOp[];
|
|
830
1515
|
|
|
831
|
-
|
|
1516
|
+
/**
|
|
1517
|
+
* Shared shape for the S3-compatible providers.
|
|
1518
|
+
*
|
|
1519
|
+
* Every alias is the same credentials plus one endpoint rule, so the
|
|
1520
|
+
* fields, the zod schema that drives redaction, the snake_case mapping and
|
|
1521
|
+
* the conversion to S3Config live here once. A provider declares only its
|
|
1522
|
+
* endpoint rule and whatever it genuinely adds. Mirrors Python's
|
|
1523
|
+
* `mirage/resource/s3_alias.py`.
|
|
1524
|
+
*
|
|
1525
|
+
* Only `bucket` and whatever the endpoint genuinely needs are required.
|
|
1526
|
+
* Credentials are optional because `S3Config` leaves them optional too, so
|
|
1527
|
+
* omitting them falls through to the usual AWS resolution order: `profile`,
|
|
1528
|
+
* then the `AWS_ACCESS_KEY_ID` / `AWS_SECRET_ACCESS_KEY` environment
|
|
1529
|
+
* variables, then the shared credentials file, then an instance role.
|
|
1530
|
+
* `sessionToken` and `profile` live here rather than on the one provider
|
|
1531
|
+
* that first needed them, so every alias accepts them.
|
|
1532
|
+
*/
|
|
1533
|
+
interface S3AliasConfig {
|
|
832
1534
|
bucket: string;
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
1535
|
+
accessKeyId?: string;
|
|
1536
|
+
secretAccessKey?: string;
|
|
1537
|
+
sessionToken?: string;
|
|
1538
|
+
profile?: string;
|
|
836
1539
|
region?: string;
|
|
1540
|
+
endpoint?: string;
|
|
837
1541
|
forcePathStyle?: boolean;
|
|
1542
|
+
keyPrefix?: string;
|
|
838
1543
|
timeoutMs?: number;
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
1544
|
+
proxy?: string;
|
|
1545
|
+
}
|
|
1546
|
+
declare const ALIAS_SCHEMA: z.ZodObject<{
|
|
1547
|
+
bucket: z.ZodString;
|
|
1548
|
+
accessKeyId: z.ZodOptional<z.ZodString>;
|
|
1549
|
+
secretAccessKey: z.ZodOptional<z.ZodString>;
|
|
1550
|
+
sessionToken: z.ZodOptional<z.ZodString>;
|
|
1551
|
+
profile: z.ZodOptional<z.ZodString>;
|
|
1552
|
+
region: z.ZodString;
|
|
1553
|
+
endpoint: z.ZodString;
|
|
1554
|
+
forcePathStyle: z.ZodOptional<z.ZodBoolean>;
|
|
1555
|
+
keyPrefix: z.ZodOptional<z.ZodString>;
|
|
1556
|
+
timeoutMs: z.ZodOptional<z.ZodNumber>;
|
|
1557
|
+
proxy: z.ZodOptional<z.ZodString>;
|
|
1558
|
+
}, z.core.$strip>;
|
|
1559
|
+
type S3AliasConfigRedacted = RedactedConfig<ConfigOf<typeof ALIAS_SCHEMA>, 'accessKeyId' | 'secretAccessKey' | 'sessionToken' | 'proxy'>;
|
|
1560
|
+
|
|
1561
|
+
interface MinIOConfig extends S3AliasConfig {
|
|
842
1562
|
endpoint: string;
|
|
843
|
-
accessKeyId: string;
|
|
844
|
-
secretAccessKey: string;
|
|
845
|
-
region: string;
|
|
846
|
-
forcePathStyle: boolean;
|
|
847
|
-
timeoutMs?: number;
|
|
848
1563
|
}
|
|
849
|
-
|
|
1564
|
+
type MinIOConfigRedacted = S3AliasConfigRedacted;
|
|
1565
|
+
declare const redactMinIOConfig: (config: MinIOConfig) => S3AliasConfigRedacted;
|
|
850
1566
|
|
|
851
1567
|
interface MinIOResourceState {
|
|
852
1568
|
type: string;
|
|
@@ -865,27 +1581,13 @@ declare class MinIOResource extends S3Resource {
|
|
|
865
1581
|
loadState(_state: MinIOResourceState): Promise<void>;
|
|
866
1582
|
}
|
|
867
1583
|
|
|
868
|
-
declare const MINIO_PROMPT = "{prefix}\n Remote MinIO bucket (S3-compatible).\n IMPORTANT: This is a remote mount. Prefer targeted reads over full scans.\n Supports: ls, cat, head, tail, grep, rg, wc, find, tree, jq, stat
|
|
1584
|
+
declare const MINIO_PROMPT = "{prefix}\n Remote MinIO bucket (S3-compatible).\n IMPORTANT: This is a remote mount. Prefer targeted reads over full scans.\n Supports: ls, cat, head, tail, grep, rg, wc, find, tree, jq, stat.";
|
|
869
1585
|
|
|
870
|
-
interface SeaweedFSConfig {
|
|
871
|
-
bucket: string;
|
|
1586
|
+
interface SeaweedFSConfig extends S3AliasConfig {
|
|
872
1587
|
endpoint: string;
|
|
873
|
-
accessKeyId: string;
|
|
874
|
-
secretAccessKey: string;
|
|
875
|
-
region?: string;
|
|
876
|
-
forcePathStyle?: boolean;
|
|
877
|
-
timeoutMs?: number;
|
|
878
|
-
}
|
|
879
|
-
interface SeaweedFSConfigRedacted {
|
|
880
|
-
bucket: string;
|
|
881
|
-
endpoint: string;
|
|
882
|
-
accessKeyId: string;
|
|
883
|
-
secretAccessKey: string;
|
|
884
|
-
region: string;
|
|
885
|
-
forcePathStyle: boolean;
|
|
886
|
-
timeoutMs?: number;
|
|
887
1588
|
}
|
|
888
|
-
|
|
1589
|
+
type SeaweedFSConfigRedacted = S3AliasConfigRedacted;
|
|
1590
|
+
declare const redactSeaweedFSConfig: (config: SeaweedFSConfig) => S3AliasConfigRedacted;
|
|
889
1591
|
|
|
890
1592
|
interface SeaweedFSResourceState {
|
|
891
1593
|
type: string;
|
|
@@ -903,28 +1605,14 @@ declare class SeaweedFSResource extends S3Resource {
|
|
|
903
1605
|
getState(): Promise<SeaweedFSResourceState>;
|
|
904
1606
|
loadState(_state: SeaweedFSResourceState): Promise<void>;
|
|
905
1607
|
}
|
|
906
|
-
|
|
907
|
-
declare const SEAWEEDFS_PROMPT = "{prefix}\n Remote SeaweedFS bucket (S3-compatible gateway).\n IMPORTANT: This is a remote mount. Prefer targeted reads over full scans.\n Supports: ls, cat, head, tail, grep, rg, wc, find, tree, jq, stat
|
|
908
|
-
|
|
909
|
-
interface CephConfig {
|
|
910
|
-
bucket: string;
|
|
911
|
-
endpoint: string;
|
|
912
|
-
accessKeyId: string;
|
|
913
|
-
secretAccessKey: string;
|
|
914
|
-
region?: string;
|
|
915
|
-
forcePathStyle?: boolean;
|
|
916
|
-
timeoutMs?: number;
|
|
917
|
-
}
|
|
918
|
-
interface CephConfigRedacted {
|
|
919
|
-
bucket: string;
|
|
1608
|
+
|
|
1609
|
+
declare const SEAWEEDFS_PROMPT = "{prefix}\n Remote SeaweedFS bucket (S3-compatible gateway).\n IMPORTANT: This is a remote mount. Prefer targeted reads over full scans.\n Supports: ls, cat, head, tail, grep, rg, wc, find, tree, jq, stat.";
|
|
1610
|
+
|
|
1611
|
+
interface CephConfig extends S3AliasConfig {
|
|
920
1612
|
endpoint: string;
|
|
921
|
-
accessKeyId: string;
|
|
922
|
-
secretAccessKey: string;
|
|
923
|
-
region: string;
|
|
924
|
-
forcePathStyle: boolean;
|
|
925
|
-
timeoutMs?: number;
|
|
926
1613
|
}
|
|
927
|
-
|
|
1614
|
+
type CephConfigRedacted = S3AliasConfigRedacted;
|
|
1615
|
+
declare const redactCephConfig: (config: CephConfig) => S3AliasConfigRedacted;
|
|
928
1616
|
|
|
929
1617
|
interface CephResourceState {
|
|
930
1618
|
type: string;
|
|
@@ -943,24 +1631,35 @@ declare class CephResource extends S3Resource {
|
|
|
943
1631
|
loadState(_state: CephResourceState): Promise<void>;
|
|
944
1632
|
}
|
|
945
1633
|
|
|
946
|
-
declare const CEPH_PROMPT = "{prefix}\n Remote Ceph Rados Gateway bucket (S3-compatible).\n IMPORTANT: This is a remote mount. Prefer targeted reads over full scans.\n Supports: ls, cat, head, tail, grep, rg, wc, find, tree, jq, stat
|
|
1634
|
+
declare const CEPH_PROMPT = "{prefix}\n Remote Ceph Rados Gateway bucket (S3-compatible).\n IMPORTANT: This is a remote mount. Prefer targeted reads over full scans.\n Supports: ls, cat, head, tail, grep, rg, wc, find, tree, jq, stat.";
|
|
947
1635
|
|
|
948
1636
|
interface WasabiConfig {
|
|
949
1637
|
bucket: string;
|
|
950
|
-
accessKeyId
|
|
951
|
-
secretAccessKey
|
|
1638
|
+
accessKeyId?: string;
|
|
1639
|
+
secretAccessKey?: string;
|
|
1640
|
+
sessionToken?: string;
|
|
1641
|
+
profile?: string;
|
|
952
1642
|
region?: string;
|
|
953
1643
|
endpoint?: string;
|
|
1644
|
+
forcePathStyle?: boolean;
|
|
1645
|
+
keyPrefix?: string;
|
|
954
1646
|
timeoutMs?: number;
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
1647
|
+
proxy?: string;
|
|
1648
|
+
}
|
|
1649
|
+
declare const WasabiConfigSchema: z.ZodObject<{
|
|
1650
|
+
bucket: z.ZodString;
|
|
1651
|
+
accessKeyId: z.ZodOptional<z.ZodString>;
|
|
1652
|
+
secretAccessKey: z.ZodOptional<z.ZodString>;
|
|
1653
|
+
sessionToken: z.ZodOptional<z.ZodString>;
|
|
1654
|
+
profile: z.ZodOptional<z.ZodString>;
|
|
1655
|
+
region: z.ZodString;
|
|
1656
|
+
endpoint: z.ZodString;
|
|
1657
|
+
forcePathStyle: z.ZodOptional<z.ZodBoolean>;
|
|
1658
|
+
keyPrefix: z.ZodOptional<z.ZodString>;
|
|
1659
|
+
timeoutMs: z.ZodOptional<z.ZodNumber>;
|
|
1660
|
+
proxy: z.ZodOptional<z.ZodString>;
|
|
1661
|
+
}, z.core.$strip>;
|
|
1662
|
+
type WasabiConfigRedacted = RedactedConfig<ConfigOf<typeof WasabiConfigSchema>, 'accessKeyId' | 'secretAccessKey' | 'sessionToken' | 'proxy'>;
|
|
964
1663
|
declare function resolvedWasabiEndpoint(config: WasabiConfig): string;
|
|
965
1664
|
declare function redactWasabiConfig(config: WasabiConfig): WasabiConfigRedacted;
|
|
966
1665
|
|
|
@@ -981,26 +1680,14 @@ declare class WasabiResource extends S3Resource {
|
|
|
981
1680
|
loadState(_state: WasabiResourceState): Promise<void>;
|
|
982
1681
|
}
|
|
983
1682
|
|
|
984
|
-
declare const WASABI_PROMPT = "{prefix}\n Remote Wasabi bucket (S3-compatible).\n IMPORTANT: This is a remote mount. Prefer targeted reads over full scans.\n Supports: ls, cat, head, tail, grep, rg, wc, find, tree, jq, stat
|
|
1683
|
+
declare const WASABI_PROMPT = "{prefix}\n Remote Wasabi bucket (S3-compatible).\n IMPORTANT: This is a remote mount. Prefer targeted reads over full scans.\n Supports: ls, cat, head, tail, grep, rg, wc, find, tree, jq, stat.";
|
|
985
1684
|
|
|
986
|
-
interface BackblazeConfig {
|
|
987
|
-
bucket: string;
|
|
988
|
-
accessKeyId: string;
|
|
989
|
-
secretAccessKey: string;
|
|
990
|
-
region: string;
|
|
991
|
-
endpoint?: string;
|
|
992
|
-
timeoutMs?: number;
|
|
993
|
-
}
|
|
994
|
-
interface BackblazeConfigRedacted {
|
|
995
|
-
bucket: string;
|
|
996
|
-
accessKeyId: string;
|
|
997
|
-
secretAccessKey: string;
|
|
1685
|
+
interface BackblazeConfig extends S3AliasConfig {
|
|
998
1686
|
region: string;
|
|
999
|
-
endpoint: string;
|
|
1000
|
-
timeoutMs?: number;
|
|
1001
1687
|
}
|
|
1002
|
-
|
|
1003
|
-
declare
|
|
1688
|
+
type BackblazeConfigRedacted = S3AliasConfigRedacted;
|
|
1689
|
+
declare const resolvedBackblazeEndpoint: (config: BackblazeConfig) => string;
|
|
1690
|
+
declare const redactBackblazeConfig: (config: BackblazeConfig) => S3AliasConfigRedacted;
|
|
1004
1691
|
|
|
1005
1692
|
interface BackblazeResourceState {
|
|
1006
1693
|
type: string;
|
|
@@ -1019,26 +1706,14 @@ declare class BackblazeResource extends S3Resource {
|
|
|
1019
1706
|
loadState(_state: BackblazeResourceState): Promise<void>;
|
|
1020
1707
|
}
|
|
1021
1708
|
|
|
1022
|
-
declare const BACKBLAZE_PROMPT = "{prefix}\n Remote Backblaze B2 bucket (S3-compatible).\n IMPORTANT: This is a remote mount. Prefer targeted reads over full scans.\n Supports: ls, cat, head, tail, grep, rg, wc, find, tree, jq, stat
|
|
1709
|
+
declare const BACKBLAZE_PROMPT = "{prefix}\n Remote Backblaze B2 bucket (S3-compatible).\n IMPORTANT: This is a remote mount. Prefer targeted reads over full scans.\n Supports: ls, cat, head, tail, grep, rg, wc, find, tree, jq, stat.";
|
|
1023
1710
|
|
|
1024
|
-
interface DigitalOceanConfig {
|
|
1025
|
-
bucket: string;
|
|
1026
|
-
accessKeyId: string;
|
|
1027
|
-
secretAccessKey: string;
|
|
1028
|
-
region: string;
|
|
1029
|
-
endpoint?: string;
|
|
1030
|
-
timeoutMs?: number;
|
|
1031
|
-
}
|
|
1032
|
-
interface DigitalOceanConfigRedacted {
|
|
1033
|
-
bucket: string;
|
|
1034
|
-
accessKeyId: string;
|
|
1035
|
-
secretAccessKey: string;
|
|
1711
|
+
interface DigitalOceanConfig extends S3AliasConfig {
|
|
1036
1712
|
region: string;
|
|
1037
|
-
endpoint: string;
|
|
1038
|
-
timeoutMs?: number;
|
|
1039
1713
|
}
|
|
1040
|
-
|
|
1041
|
-
declare
|
|
1714
|
+
type DigitalOceanConfigRedacted = S3AliasConfigRedacted;
|
|
1715
|
+
declare const resolvedDigitalOceanEndpoint: (config: DigitalOceanConfig) => string;
|
|
1716
|
+
declare const redactDigitalOceanConfig: (config: DigitalOceanConfig) => S3AliasConfigRedacted;
|
|
1042
1717
|
|
|
1043
1718
|
interface DigitalOceanResourceState {
|
|
1044
1719
|
type: string;
|
|
@@ -1057,26 +1732,14 @@ declare class DigitalOceanResource extends S3Resource {
|
|
|
1057
1732
|
loadState(_state: DigitalOceanResourceState): Promise<void>;
|
|
1058
1733
|
}
|
|
1059
1734
|
|
|
1060
|
-
declare const DIGITALOCEAN_PROMPT = "{prefix}\n Remote DigitalOcean Spaces bucket (S3-compatible).\n IMPORTANT: This is a remote mount. Prefer targeted reads over full scans.\n Supports: ls, cat, head, tail, grep, rg, wc, find, tree, jq, stat
|
|
1735
|
+
declare const DIGITALOCEAN_PROMPT = "{prefix}\n Remote DigitalOcean Spaces bucket (S3-compatible).\n IMPORTANT: This is a remote mount. Prefer targeted reads over full scans.\n Supports: ls, cat, head, tail, grep, rg, wc, find, tree, jq, stat.";
|
|
1061
1736
|
|
|
1062
|
-
interface TencentConfig {
|
|
1063
|
-
bucket: string;
|
|
1064
|
-
accessKeyId: string;
|
|
1065
|
-
secretAccessKey: string;
|
|
1066
|
-
region: string;
|
|
1067
|
-
endpoint?: string;
|
|
1068
|
-
timeoutMs?: number;
|
|
1069
|
-
}
|
|
1070
|
-
interface TencentConfigRedacted {
|
|
1071
|
-
bucket: string;
|
|
1072
|
-
accessKeyId: string;
|
|
1073
|
-
secretAccessKey: string;
|
|
1737
|
+
interface TencentConfig extends S3AliasConfig {
|
|
1074
1738
|
region: string;
|
|
1075
|
-
endpoint: string;
|
|
1076
|
-
timeoutMs?: number;
|
|
1077
1739
|
}
|
|
1078
|
-
|
|
1079
|
-
declare
|
|
1740
|
+
type TencentConfigRedacted = S3AliasConfigRedacted;
|
|
1741
|
+
declare const resolvedTencentEndpoint: (config: TencentConfig) => string;
|
|
1742
|
+
declare const redactTencentConfig: (config: TencentConfig) => S3AliasConfigRedacted;
|
|
1080
1743
|
|
|
1081
1744
|
interface TencentResourceState {
|
|
1082
1745
|
type: string;
|
|
@@ -1095,26 +1758,14 @@ declare class TencentResource extends S3Resource {
|
|
|
1095
1758
|
loadState(_state: TencentResourceState): Promise<void>;
|
|
1096
1759
|
}
|
|
1097
1760
|
|
|
1098
|
-
declare const TENCENT_PROMPT = "{prefix}\n Remote Tencent Cloud COS bucket (S3-compatible).\n IMPORTANT: This is a remote mount. Prefer targeted reads over full scans.\n Supports: ls, cat, head, tail, grep, rg, wc, find, tree, jq, stat
|
|
1761
|
+
declare const TENCENT_PROMPT = "{prefix}\n Remote Tencent Cloud COS bucket (S3-compatible).\n IMPORTANT: This is a remote mount. Prefer targeted reads over full scans.\n Supports: ls, cat, head, tail, grep, rg, wc, find, tree, jq, stat.";
|
|
1099
1762
|
|
|
1100
|
-
interface AliyunConfig {
|
|
1101
|
-
bucket: string;
|
|
1102
|
-
accessKeyId: string;
|
|
1103
|
-
secretAccessKey: string;
|
|
1104
|
-
region: string;
|
|
1105
|
-
endpoint?: string;
|
|
1106
|
-
timeoutMs?: number;
|
|
1107
|
-
}
|
|
1108
|
-
interface AliyunConfigRedacted {
|
|
1109
|
-
bucket: string;
|
|
1110
|
-
accessKeyId: string;
|
|
1111
|
-
secretAccessKey: string;
|
|
1763
|
+
interface AliyunConfig extends S3AliasConfig {
|
|
1112
1764
|
region: string;
|
|
1113
|
-
endpoint: string;
|
|
1114
|
-
timeoutMs?: number;
|
|
1115
1765
|
}
|
|
1116
|
-
|
|
1117
|
-
declare
|
|
1766
|
+
type AliyunConfigRedacted = S3AliasConfigRedacted;
|
|
1767
|
+
declare const resolvedAliyunEndpoint: (config: AliyunConfig) => string;
|
|
1768
|
+
declare const redactAliyunConfig: (config: AliyunConfig) => S3AliasConfigRedacted;
|
|
1118
1769
|
|
|
1119
1770
|
interface AliyunResourceState {
|
|
1120
1771
|
type: string;
|
|
@@ -1133,26 +1784,14 @@ declare class AliyunResource extends S3Resource {
|
|
|
1133
1784
|
loadState(_state: AliyunResourceState): Promise<void>;
|
|
1134
1785
|
}
|
|
1135
1786
|
|
|
1136
|
-
declare const ALIYUN_PROMPT = "{prefix}\n Remote Alibaba Cloud OSS bucket (S3-compatible).\n IMPORTANT: This is a remote mount. Prefer targeted reads over full scans.\n Supports: ls, cat, head, tail, grep, rg, wc, find, tree, jq, stat
|
|
1787
|
+
declare const ALIYUN_PROMPT = "{prefix}\n Remote Alibaba Cloud OSS bucket (S3-compatible).\n IMPORTANT: This is a remote mount. Prefer targeted reads over full scans.\n Supports: ls, cat, head, tail, grep, rg, wc, find, tree, jq, stat.";
|
|
1137
1788
|
|
|
1138
|
-
interface ScalewayConfig {
|
|
1139
|
-
bucket: string;
|
|
1140
|
-
accessKeyId: string;
|
|
1141
|
-
secretAccessKey: string;
|
|
1142
|
-
region: string;
|
|
1143
|
-
endpoint?: string;
|
|
1144
|
-
timeoutMs?: number;
|
|
1145
|
-
}
|
|
1146
|
-
interface ScalewayConfigRedacted {
|
|
1147
|
-
bucket: string;
|
|
1148
|
-
accessKeyId: string;
|
|
1149
|
-
secretAccessKey: string;
|
|
1789
|
+
interface ScalewayConfig extends S3AliasConfig {
|
|
1150
1790
|
region: string;
|
|
1151
|
-
endpoint: string;
|
|
1152
|
-
timeoutMs?: number;
|
|
1153
1791
|
}
|
|
1154
|
-
|
|
1155
|
-
declare
|
|
1792
|
+
type ScalewayConfigRedacted = S3AliasConfigRedacted;
|
|
1793
|
+
declare const resolvedScalewayEndpoint: (config: ScalewayConfig) => string;
|
|
1794
|
+
declare const redactScalewayConfig: (config: ScalewayConfig) => S3AliasConfigRedacted;
|
|
1156
1795
|
|
|
1157
1796
|
interface ScalewayResourceState {
|
|
1158
1797
|
type: string;
|
|
@@ -1171,26 +1810,14 @@ declare class ScalewayResource extends S3Resource {
|
|
|
1171
1810
|
loadState(_state: ScalewayResourceState): Promise<void>;
|
|
1172
1811
|
}
|
|
1173
1812
|
|
|
1174
|
-
declare const SCALEWAY_PROMPT = "{prefix}\n Remote Scaleway Object Storage bucket (S3-compatible).\n IMPORTANT: This is a remote mount. Prefer targeted reads over full scans.\n Supports: ls, cat, head, tail, grep, rg, wc, find, tree, jq, stat
|
|
1813
|
+
declare const SCALEWAY_PROMPT = "{prefix}\n Remote Scaleway Object Storage bucket (S3-compatible).\n IMPORTANT: This is a remote mount. Prefer targeted reads over full scans.\n Supports: ls, cat, head, tail, grep, rg, wc, find, tree, jq, stat.";
|
|
1175
1814
|
|
|
1176
|
-
interface QingStorConfig {
|
|
1177
|
-
bucket: string;
|
|
1178
|
-
accessKeyId: string;
|
|
1179
|
-
secretAccessKey: string;
|
|
1180
|
-
region: string;
|
|
1181
|
-
endpoint?: string;
|
|
1182
|
-
timeoutMs?: number;
|
|
1183
|
-
}
|
|
1184
|
-
interface QingStorConfigRedacted {
|
|
1185
|
-
bucket: string;
|
|
1186
|
-
accessKeyId: string;
|
|
1187
|
-
secretAccessKey: string;
|
|
1815
|
+
interface QingStorConfig extends S3AliasConfig {
|
|
1188
1816
|
region: string;
|
|
1189
|
-
endpoint: string;
|
|
1190
|
-
timeoutMs?: number;
|
|
1191
1817
|
}
|
|
1192
|
-
|
|
1193
|
-
declare
|
|
1818
|
+
type QingStorConfigRedacted = S3AliasConfigRedacted;
|
|
1819
|
+
declare const resolvedQingStorEndpoint: (config: QingStorConfig) => string;
|
|
1820
|
+
declare const redactQingStorConfig: (config: QingStorConfig) => S3AliasConfigRedacted;
|
|
1194
1821
|
|
|
1195
1822
|
interface QingStorResourceState {
|
|
1196
1823
|
type: string;
|
|
@@ -1209,7 +1836,7 @@ declare class QingStorResource extends S3Resource {
|
|
|
1209
1836
|
loadState(_state: QingStorResourceState): Promise<void>;
|
|
1210
1837
|
}
|
|
1211
1838
|
|
|
1212
|
-
declare const QINGSTOR_PROMPT = "{prefix}\n Remote QingStor bucket (S3-compatible).\n IMPORTANT: This is a remote mount. Prefer targeted reads over full scans.\n Supports: ls, cat, head, tail, grep, rg, wc, find, tree, jq, stat
|
|
1839
|
+
declare const QINGSTOR_PROMPT = "{prefix}\n Remote QingStor bucket (S3-compatible).\n IMPORTANT: This is a remote mount. Prefer targeted reads over full scans.\n Supports: ls, cat, head, tail, grep, rg, wc, find, tree, jq, stat.";
|
|
1213
1840
|
|
|
1214
1841
|
interface PgPoolLike {
|
|
1215
1842
|
query: (sql: string, params?: readonly unknown[]) => Promise<{
|
|
@@ -1352,6 +1979,7 @@ declare class LanceDBStore implements LanceDriver {
|
|
|
1352
1979
|
private table;
|
|
1353
1980
|
listTables(): Promise<string[]>;
|
|
1354
1981
|
distinct(table: string, column: string, filters: Record<string, string>, limit: number): Promise<string[]>;
|
|
1982
|
+
tableColumns(table: string): Promise<string[]>;
|
|
1355
1983
|
rowsMatching(table: string, filters: Record<string, string>, columns: string[], limit: number): Promise<LanceRow[]>;
|
|
1356
1984
|
rowRecord(table: string, idColumn: string, rowId: string): Promise<LanceRow | null>;
|
|
1357
1985
|
search(table: string, query: string, limit: number): Promise<LanceRow[]>;
|
|
@@ -1364,6 +1992,7 @@ interface LanceDBResourceOptions {
|
|
|
1364
1992
|
declare class LanceDBResource extends BaseResource implements Resource {
|
|
1365
1993
|
readonly kind: string;
|
|
1366
1994
|
readonly cachesReads: boolean;
|
|
1995
|
+
readonly sizesAlwaysKnown: boolean;
|
|
1367
1996
|
readonly indexTtl: number;
|
|
1368
1997
|
readonly prompt: string;
|
|
1369
1998
|
readonly config: LanceDBConfigResolved;
|
|
@@ -1379,17 +2008,6 @@ declare class LanceDBResource extends BaseResource implements Resource {
|
|
|
1379
2008
|
stat(p: PathSpec): Promise<FileStat>;
|
|
1380
2009
|
}
|
|
1381
2010
|
|
|
1382
|
-
interface SlackConfig {
|
|
1383
|
-
token: string;
|
|
1384
|
-
searchToken?: string;
|
|
1385
|
-
}
|
|
1386
|
-
interface SlackConfigRedacted {
|
|
1387
|
-
token: '<REDACTED>';
|
|
1388
|
-
searchToken?: '<REDACTED>';
|
|
1389
|
-
}
|
|
1390
|
-
declare function redactSlackConfig(config: SlackConfig): SlackConfigRedacted;
|
|
1391
|
-
declare function normalizeSlackConfig(input: Record<string, unknown>): SlackConfig;
|
|
1392
|
-
|
|
1393
2011
|
interface SlackResourceState {
|
|
1394
2012
|
type: string;
|
|
1395
2013
|
config: SlackConfigRedacted;
|
|
@@ -1397,6 +2015,7 @@ interface SlackResourceState {
|
|
|
1397
2015
|
declare class SlackResource extends BaseResource implements Resource {
|
|
1398
2016
|
readonly kind: string;
|
|
1399
2017
|
readonly cachesReads: boolean;
|
|
2018
|
+
readonly sizesAlwaysKnown: boolean;
|
|
1400
2019
|
readonly indexTtl: number;
|
|
1401
2020
|
readonly prompt: string;
|
|
1402
2021
|
readonly writePrompt: string;
|
|
@@ -1404,42 +2023,30 @@ declare class SlackResource extends BaseResource implements Resource {
|
|
|
1404
2023
|
readonly accessor: SlackAccessor;
|
|
1405
2024
|
constructor(config: SlackConfig);
|
|
1406
2025
|
open(): Promise<void>;
|
|
1407
|
-
close(): Promise<void>;
|
|
1408
2026
|
commands(): readonly RegisteredCommand[];
|
|
1409
2027
|
ops(): readonly RegisteredOp[];
|
|
1410
2028
|
readFile(p: PathSpec): Promise<Uint8Array>;
|
|
1411
2029
|
readdir(p: PathSpec): Promise<string[]>;
|
|
1412
2030
|
stat(p: PathSpec): Promise<FileStat>;
|
|
1413
|
-
fingerprint(p: PathSpec): Promise<string | null>;
|
|
1414
2031
|
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
1415
2032
|
getState(): Promise<SlackResourceState>;
|
|
1416
2033
|
loadState(_state: SlackResourceState): Promise<void>;
|
|
1417
2034
|
}
|
|
1418
2035
|
|
|
1419
|
-
|
|
1420
|
-
host:
|
|
1421
|
-
hostname
|
|
1422
|
-
port
|
|
1423
|
-
username
|
|
1424
|
-
password
|
|
1425
|
-
identityFile
|
|
1426
|
-
passphrase
|
|
1427
|
-
root
|
|
1428
|
-
timeout
|
|
1429
|
-
knownHosts
|
|
1430
|
-
}
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
hostname?: string;
|
|
1434
|
-
port?: number;
|
|
1435
|
-
username?: string;
|
|
1436
|
-
password?: '<REDACTED>';
|
|
1437
|
-
identityFile?: string;
|
|
1438
|
-
passphrase?: '<REDACTED>';
|
|
1439
|
-
root?: string;
|
|
1440
|
-
timeout?: number;
|
|
1441
|
-
knownHosts?: string;
|
|
1442
|
-
}
|
|
2036
|
+
declare const SSHConfigSchema: z.ZodObject<{
|
|
2037
|
+
host: z.ZodString;
|
|
2038
|
+
hostname: z.ZodOptional<z.ZodString>;
|
|
2039
|
+
port: z.ZodOptional<z.ZodNumber>;
|
|
2040
|
+
username: z.ZodOptional<z.ZodString>;
|
|
2041
|
+
password: z.ZodOptional<z.ZodString>;
|
|
2042
|
+
identityFile: z.ZodOptional<z.ZodString>;
|
|
2043
|
+
passphrase: z.ZodOptional<z.ZodString>;
|
|
2044
|
+
root: z.ZodOptional<z.ZodString>;
|
|
2045
|
+
timeout: z.ZodOptional<z.ZodNumber>;
|
|
2046
|
+
knownHosts: z.ZodOptional<z.ZodString>;
|
|
2047
|
+
}, z.core.$strip>;
|
|
2048
|
+
type SSHConfig = ConfigOf<typeof SSHConfigSchema>;
|
|
2049
|
+
type SSHConfigRedacted = RedactedConfig<SSHConfig, 'password' | 'passphrase'>;
|
|
1443
2050
|
declare function redactSshConfig(config: SSHConfig): SSHConfigRedacted;
|
|
1444
2051
|
declare function normalizeSshConfig(input: Record<string, unknown>): SSHConfig;
|
|
1445
2052
|
|
|
@@ -1461,6 +2068,7 @@ interface SSHResourceState {
|
|
|
1461
2068
|
declare class SSHResource extends BaseResource implements Resource {
|
|
1462
2069
|
readonly kind: "ssh";
|
|
1463
2070
|
readonly cachesReads: boolean;
|
|
2071
|
+
readonly sizesAlwaysKnown: boolean;
|
|
1464
2072
|
readonly indexTtl: number;
|
|
1465
2073
|
readonly prompt = "{prefix}\n Remote filesystem via SSH/SFTP.\n IMPORTANT: This is a remote mount. Prefer targeted reads over full scans.\n Supports: ls, cat, head, tail, grep, rg, wc, find, tree, stat, mkdir, touch, cp, mv, rm, tee.";
|
|
1466
2074
|
readonly config: SSHConfig;
|
|
@@ -1489,7 +2097,6 @@ declare class SSHResource extends BaseResource implements Resource {
|
|
|
1489
2097
|
rmR(p: PathSpec): Promise<void>;
|
|
1490
2098
|
du(p: PathSpec): Promise<number>;
|
|
1491
2099
|
find(p: PathSpec, options?: FindOptions): Promise<string[]>;
|
|
1492
|
-
fingerprint(p: PathSpec): Promise<string | null>;
|
|
1493
2100
|
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
1494
2101
|
getState(): Promise<SSHResourceState>;
|
|
1495
2102
|
loadState(_state: SSHResourceState): Promise<void>;
|
|
@@ -1501,14 +2108,77 @@ declare const SSH_COMMANDS: readonly RegisteredCommand[];
|
|
|
1501
2108
|
|
|
1502
2109
|
declare const SSH_OPS: readonly RegisteredOp[];
|
|
1503
2110
|
|
|
1504
|
-
interface
|
|
1505
|
-
|
|
2111
|
+
interface NextcloudConfig {
|
|
2112
|
+
url: string;
|
|
2113
|
+
username?: string;
|
|
2114
|
+
password?: string;
|
|
2115
|
+
verifySsl?: boolean;
|
|
2116
|
+
timeout?: number;
|
|
2117
|
+
}
|
|
2118
|
+
type NextcloudConfigRedacted = RedactedConfig<NextcloudConfig, 'password'>;
|
|
2119
|
+
declare function normalizeNextcloudConfig(config: Record<string, unknown>): NextcloudConfig;
|
|
2120
|
+
declare function redactNextcloudConfig(config: NextcloudConfig): NextcloudConfigRedacted;
|
|
2121
|
+
|
|
2122
|
+
declare class NextcloudAccessor extends Accessor {
|
|
2123
|
+
readonly config: NextcloudConfig;
|
|
2124
|
+
readonly resourceName: "nextcloud";
|
|
2125
|
+
private operatorPromise;
|
|
2126
|
+
constructor(config: NextcloudConfig);
|
|
2127
|
+
operator(): Promise<Operator>;
|
|
2128
|
+
private createOperator;
|
|
2129
|
+
}
|
|
2130
|
+
|
|
2131
|
+
interface NextcloudResourceState {
|
|
2132
|
+
type: string;
|
|
2133
|
+
config: NextcloudConfigRedacted;
|
|
2134
|
+
}
|
|
2135
|
+
declare class NextcloudResource extends BaseResource implements Resource {
|
|
2136
|
+
readonly config: NextcloudConfig;
|
|
2137
|
+
readonly kind: "nextcloud";
|
|
2138
|
+
readonly cachesReads = true;
|
|
2139
|
+
readonly sizesAlwaysKnown: boolean;
|
|
2140
|
+
readonly supportsSnapshot = true;
|
|
2141
|
+
readonly prompt = "You have access to files stored in Nextcloud.";
|
|
2142
|
+
readonly accessor: NextcloudAccessor;
|
|
2143
|
+
readonly opsMap: Record<string, unknown>;
|
|
2144
|
+
constructor(config: NextcloudConfig);
|
|
2145
|
+
open(): Promise<void>;
|
|
2146
|
+
commands(): readonly RegisteredCommand[];
|
|
2147
|
+
ops(): readonly RegisteredOp[];
|
|
2148
|
+
streamPath(path: PathSpec): AsyncIterable<Uint8Array>;
|
|
2149
|
+
readFile(path: PathSpec): Promise<Uint8Array>;
|
|
2150
|
+
writeFile(path: PathSpec, data: Uint8Array): Promise<void>;
|
|
2151
|
+
appendFile(path: PathSpec, data: Uint8Array): Promise<void>;
|
|
2152
|
+
readdir(path: PathSpec): Promise<string[]>;
|
|
2153
|
+
stat(path: PathSpec): Promise<FileStat>;
|
|
2154
|
+
exists(path: PathSpec): Promise<boolean>;
|
|
2155
|
+
mkdir(path: PathSpec): Promise<void>;
|
|
2156
|
+
rmdir(path: PathSpec): Promise<void>;
|
|
2157
|
+
unlink(path: PathSpec): Promise<void>;
|
|
2158
|
+
rename(source: PathSpec, destination: PathSpec): Promise<void>;
|
|
2159
|
+
truncate(path: PathSpec, length: number): Promise<void>;
|
|
2160
|
+
copy(source: PathSpec, destination: PathSpec): Promise<void>;
|
|
2161
|
+
rmR(path: PathSpec): Promise<void>;
|
|
2162
|
+
du(path: PathSpec): Promise<number>;
|
|
2163
|
+
find(path: PathSpec, options?: FindOptions): Promise<string[]>;
|
|
2164
|
+
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
2165
|
+
deltaHook(): DeltaHook;
|
|
2166
|
+
getState(): Promise<NextcloudResourceState>;
|
|
2167
|
+
loadState(_state: NextcloudResourceState): Promise<void>;
|
|
1506
2168
|
}
|
|
1507
|
-
|
|
1508
|
-
|
|
2169
|
+
|
|
2170
|
+
declare const NEXTCLOUD_PROMPT = "You have access to files stored in Nextcloud.";
|
|
2171
|
+
|
|
2172
|
+
declare const NEXTCLOUD_COMMANDS: readonly RegisteredCommand[];
|
|
2173
|
+
|
|
2174
|
+
declare const NEXTCLOUD_OPS: readonly RegisteredOp[];
|
|
2175
|
+
|
|
2176
|
+
declare class NextcloudWalk {
|
|
2177
|
+
private readonly accessor;
|
|
2178
|
+
constructor(accessor: NextcloudAccessor);
|
|
2179
|
+
walk(root: PathSpec): AsyncGenerator<WalkEntry>;
|
|
1509
2180
|
}
|
|
1510
|
-
declare function
|
|
1511
|
-
declare function normalizeDiscordConfig(input: Record<string, unknown>): DiscordConfig;
|
|
2181
|
+
declare function buildDeltaHook(accessor: NextcloudAccessor): DeltaHook;
|
|
1512
2182
|
|
|
1513
2183
|
interface DiscordResourceState {
|
|
1514
2184
|
type: string;
|
|
@@ -1517,6 +2187,7 @@ interface DiscordResourceState {
|
|
|
1517
2187
|
declare class DiscordResource extends BaseResource implements Resource {
|
|
1518
2188
|
readonly kind: string;
|
|
1519
2189
|
readonly cachesReads: boolean;
|
|
2190
|
+
readonly sizesAlwaysKnown: boolean;
|
|
1520
2191
|
readonly indexTtl: number;
|
|
1521
2192
|
readonly prompt: string;
|
|
1522
2193
|
readonly writePrompt: string;
|
|
@@ -1524,32 +2195,25 @@ declare class DiscordResource extends BaseResource implements Resource {
|
|
|
1524
2195
|
readonly accessor: DiscordAccessor;
|
|
1525
2196
|
constructor(config: DiscordConfig);
|
|
1526
2197
|
open(): Promise<void>;
|
|
1527
|
-
close(): Promise<void>;
|
|
1528
2198
|
commands(): readonly RegisteredCommand[];
|
|
1529
2199
|
ops(): readonly RegisteredOp[];
|
|
1530
2200
|
readFile(p: PathSpec): Promise<Uint8Array>;
|
|
1531
2201
|
readdir(p: PathSpec): Promise<string[]>;
|
|
1532
2202
|
stat(p: PathSpec): Promise<FileStat>;
|
|
1533
|
-
fingerprint(p: PathSpec): Promise<string | null>;
|
|
1534
2203
|
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
1535
2204
|
getState(): Promise<DiscordResourceState>;
|
|
1536
2205
|
loadState(_state: DiscordResourceState): Promise<void>;
|
|
1537
2206
|
}
|
|
1538
2207
|
|
|
1539
|
-
|
|
1540
|
-
apiKey:
|
|
1541
|
-
apiToken:
|
|
1542
|
-
workspaceId
|
|
1543
|
-
boardIds
|
|
1544
|
-
baseUrl
|
|
1545
|
-
}
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
apiToken: '<REDACTED>';
|
|
1549
|
-
workspaceId?: string;
|
|
1550
|
-
boardIds?: readonly string[];
|
|
1551
|
-
baseUrl?: string;
|
|
1552
|
-
}
|
|
2208
|
+
declare const TrelloConfigSchema: z.ZodObject<{
|
|
2209
|
+
apiKey: z.ZodString;
|
|
2210
|
+
apiToken: z.ZodString;
|
|
2211
|
+
workspaceId: z.ZodOptional<z.ZodString>;
|
|
2212
|
+
boardIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
2213
|
+
baseUrl: z.ZodOptional<z.ZodString>;
|
|
2214
|
+
}, z.core.$strip>;
|
|
2215
|
+
type TrelloConfig = ConfigOf<typeof TrelloConfigSchema>;
|
|
2216
|
+
type TrelloConfigRedacted = RedactedConfig<TrelloConfig, 'apiKey' | 'apiToken'>;
|
|
1553
2217
|
declare function redactTrelloConfig(config: TrelloConfig): TrelloConfigRedacted;
|
|
1554
2218
|
declare function normalizeTrelloConfig(input: Record<string, unknown>): TrelloConfig;
|
|
1555
2219
|
|
|
@@ -1567,34 +2231,17 @@ declare class TrelloResource extends BaseResource implements Resource {
|
|
|
1567
2231
|
readonly accessor: TrelloAccessor;
|
|
1568
2232
|
constructor(config: TrelloConfig);
|
|
1569
2233
|
open(): Promise<void>;
|
|
1570
|
-
close(): Promise<void>;
|
|
1571
2234
|
commands(): readonly RegisteredCommand[];
|
|
1572
2235
|
ops(): readonly RegisteredOp[];
|
|
1573
2236
|
private filter;
|
|
1574
2237
|
readFile(p: PathSpec): Promise<Uint8Array>;
|
|
1575
2238
|
readdir(p: PathSpec): Promise<string[]>;
|
|
1576
2239
|
stat(p: PathSpec): Promise<FileStat>;
|
|
1577
|
-
fingerprint(p: PathSpec): Promise<string | null>;
|
|
1578
2240
|
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
1579
2241
|
getState(): Promise<TrelloResourceState>;
|
|
1580
2242
|
loadState(_state: TrelloResourceState): Promise<void>;
|
|
1581
2243
|
}
|
|
1582
2244
|
|
|
1583
|
-
interface LinearConfig {
|
|
1584
|
-
apiKey: string;
|
|
1585
|
-
workspace?: string;
|
|
1586
|
-
teamIds?: readonly string[];
|
|
1587
|
-
baseUrl?: string;
|
|
1588
|
-
}
|
|
1589
|
-
interface LinearConfigRedacted {
|
|
1590
|
-
apiKey: '<REDACTED>';
|
|
1591
|
-
workspace?: string;
|
|
1592
|
-
teamIds?: readonly string[];
|
|
1593
|
-
baseUrl?: string;
|
|
1594
|
-
}
|
|
1595
|
-
declare function redactLinearConfig(config: LinearConfig): LinearConfigRedacted;
|
|
1596
|
-
declare function normalizeLinearConfig(input: Record<string, unknown>): LinearConfig;
|
|
1597
|
-
|
|
1598
2245
|
interface LinearResourceState {
|
|
1599
2246
|
type: string;
|
|
1600
2247
|
config: LinearConfigRedacted;
|
|
@@ -1602,6 +2249,7 @@ interface LinearResourceState {
|
|
|
1602
2249
|
declare class LinearResource extends BaseResource implements Resource {
|
|
1603
2250
|
readonly kind: string;
|
|
1604
2251
|
readonly cachesReads: boolean;
|
|
2252
|
+
readonly sizesAlwaysKnown: boolean;
|
|
1605
2253
|
readonly indexTtl: number;
|
|
1606
2254
|
readonly prompt: string;
|
|
1607
2255
|
readonly writePrompt: string;
|
|
@@ -1609,30 +2257,17 @@ declare class LinearResource extends BaseResource implements Resource {
|
|
|
1609
2257
|
readonly accessor: LinearAccessor;
|
|
1610
2258
|
constructor(config: LinearConfig);
|
|
1611
2259
|
open(): Promise<void>;
|
|
1612
|
-
close(): Promise<void>;
|
|
1613
2260
|
commands(): readonly RegisteredCommand[];
|
|
1614
2261
|
ops(): readonly RegisteredOp[];
|
|
1615
2262
|
private filter;
|
|
1616
2263
|
readFile(p: PathSpec): Promise<Uint8Array>;
|
|
1617
2264
|
readdir(p: PathSpec): Promise<string[]>;
|
|
1618
2265
|
stat(p: PathSpec): Promise<FileStat>;
|
|
1619
|
-
fingerprint(p: PathSpec): Promise<string | null>;
|
|
1620
2266
|
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
1621
2267
|
getState(): Promise<LinearResourceState>;
|
|
1622
2268
|
loadState(_state: LinearResourceState): Promise<void>;
|
|
1623
2269
|
}
|
|
1624
2270
|
|
|
1625
|
-
interface NotionConfig {
|
|
1626
|
-
apiKey: string;
|
|
1627
|
-
baseUrl?: string;
|
|
1628
|
-
}
|
|
1629
|
-
interface NotionConfigRedacted {
|
|
1630
|
-
apiKey: '<REDACTED>';
|
|
1631
|
-
baseUrl?: string;
|
|
1632
|
-
}
|
|
1633
|
-
declare function redactNotionConfig(config: NotionConfig): NotionConfigRedacted;
|
|
1634
|
-
declare function normalizeNotionConfig(input: Record<string, unknown>): NotionConfig;
|
|
1635
|
-
|
|
1636
2271
|
interface NotionResourceState {
|
|
1637
2272
|
type: string;
|
|
1638
2273
|
config: NotionConfigRedacted;
|
|
@@ -1647,34 +2282,26 @@ declare class NotionResource extends BaseResource implements Resource {
|
|
|
1647
2282
|
readonly accessor: NotionAccessor;
|
|
1648
2283
|
constructor(config: NotionConfig);
|
|
1649
2284
|
open(): Promise<void>;
|
|
1650
|
-
close(): Promise<void>;
|
|
1651
2285
|
commands(): readonly RegisteredCommand[];
|
|
1652
2286
|
ops(): readonly RegisteredOp[];
|
|
1653
2287
|
readFile(p: PathSpec): Promise<Uint8Array>;
|
|
1654
2288
|
readdir(p: PathSpec): Promise<string[]>;
|
|
1655
2289
|
stat(p: PathSpec): Promise<FileStat>;
|
|
1656
|
-
fingerprint(p: PathSpec): Promise<string | null>;
|
|
1657
2290
|
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
1658
2291
|
getState(): Promise<NotionResourceState>;
|
|
1659
2292
|
loadState(_state: NotionResourceState): Promise<void>;
|
|
1660
2293
|
}
|
|
1661
2294
|
|
|
1662
|
-
|
|
1663
|
-
publicKey:
|
|
1664
|
-
secretKey:
|
|
1665
|
-
host
|
|
1666
|
-
defaultTraceLimit
|
|
1667
|
-
defaultSearchLimit
|
|
1668
|
-
defaultFromTimestamp
|
|
1669
|
-
}
|
|
1670
|
-
|
|
1671
|
-
|
|
1672
|
-
secretKey: '<REDACTED>';
|
|
1673
|
-
host?: string;
|
|
1674
|
-
defaultTraceLimit?: number;
|
|
1675
|
-
defaultSearchLimit?: number;
|
|
1676
|
-
defaultFromTimestamp?: string;
|
|
1677
|
-
}
|
|
2295
|
+
declare const LangfuseConfigSchema: z.ZodObject<{
|
|
2296
|
+
publicKey: z.ZodString;
|
|
2297
|
+
secretKey: z.ZodString;
|
|
2298
|
+
host: z.ZodOptional<z.ZodString>;
|
|
2299
|
+
defaultTraceLimit: z.ZodOptional<z.ZodNumber>;
|
|
2300
|
+
defaultSearchLimit: z.ZodOptional<z.ZodNumber>;
|
|
2301
|
+
defaultFromTimestamp: z.ZodOptional<z.ZodString>;
|
|
2302
|
+
}, z.core.$strip>;
|
|
2303
|
+
type LangfuseConfig = ConfigOf<typeof LangfuseConfigSchema>;
|
|
2304
|
+
type LangfuseConfigRedacted = RedactedConfig<LangfuseConfig, 'secretKey'>;
|
|
1678
2305
|
declare function redactLangfuseConfig(config: LangfuseConfig): LangfuseConfigRedacted;
|
|
1679
2306
|
declare function normalizeLangfuseConfig(input: Record<string, unknown>): LangfuseConfig;
|
|
1680
2307
|
|
|
@@ -1691,32 +2318,59 @@ declare class LangfuseResource extends BaseResource implements Resource {
|
|
|
1691
2318
|
readonly accessor: LangfuseAccessor;
|
|
1692
2319
|
constructor(config: LangfuseConfig);
|
|
1693
2320
|
open(): Promise<void>;
|
|
1694
|
-
close(): Promise<void>;
|
|
1695
2321
|
commands(): readonly RegisteredCommand[];
|
|
1696
2322
|
ops(): readonly RegisteredOp[];
|
|
1697
2323
|
readFile(p: PathSpec): Promise<Uint8Array>;
|
|
1698
2324
|
readdir(p: PathSpec): Promise<string[]>;
|
|
1699
2325
|
stat(p: PathSpec): Promise<FileStat>;
|
|
1700
|
-
fingerprint(_p: PathSpec): Promise<string | null>;
|
|
1701
2326
|
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
1702
2327
|
getState(): Promise<LangfuseResourceState>;
|
|
1703
2328
|
loadState(_state: LangfuseResourceState): Promise<void>;
|
|
1704
2329
|
}
|
|
1705
2330
|
|
|
1706
|
-
|
|
1707
|
-
|
|
1708
|
-
|
|
1709
|
-
|
|
1710
|
-
|
|
1711
|
-
|
|
1712
|
-
}
|
|
1713
|
-
|
|
1714
|
-
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
|
|
1718
|
-
|
|
2331
|
+
declare const JaegerConfigSchema: z.ZodObject<{
|
|
2332
|
+
host: z.ZodOptional<z.ZodString>;
|
|
2333
|
+
defaultTraceLimit: z.ZodOptional<z.ZodNumber>;
|
|
2334
|
+
defaultFromTimestamp: z.ZodOptional<z.ZodString>;
|
|
2335
|
+
defaultToTimestamp: z.ZodOptional<z.ZodString>;
|
|
2336
|
+
requestTimeout: z.ZodOptional<z.ZodNumber>;
|
|
2337
|
+
}, z.core.$strip>;
|
|
2338
|
+
type JaegerConfig = ConfigOf<typeof JaegerConfigSchema>;
|
|
2339
|
+
type JaegerConfigRedacted = JaegerConfig;
|
|
2340
|
+
|
|
2341
|
+
interface JaegerResourceState {
|
|
2342
|
+
type: string;
|
|
2343
|
+
config: JaegerConfigRedacted;
|
|
1719
2344
|
}
|
|
2345
|
+
declare class JaegerResource extends BaseResource implements Resource {
|
|
2346
|
+
readonly kind: string;
|
|
2347
|
+
readonly cachesReads: boolean;
|
|
2348
|
+
readonly sizesAlwaysKnown: boolean;
|
|
2349
|
+
readonly indexTtl: number;
|
|
2350
|
+
readonly prompt: string;
|
|
2351
|
+
readonly config: JaegerConfig;
|
|
2352
|
+
readonly accessor: JaegerAccessor;
|
|
2353
|
+
constructor(config: JaegerConfig);
|
|
2354
|
+
open(): Promise<void>;
|
|
2355
|
+
commands(): readonly RegisteredCommand[];
|
|
2356
|
+
ops(): readonly RegisteredOp[];
|
|
2357
|
+
readFile(p: PathSpec): Promise<Uint8Array>;
|
|
2358
|
+
readdir(p: PathSpec): Promise<string[]>;
|
|
2359
|
+
stat(p: PathSpec): Promise<FileStat>;
|
|
2360
|
+
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
2361
|
+
getState(): Promise<JaegerResourceState>;
|
|
2362
|
+
loadState(_state: JaegerResourceState): Promise<void>;
|
|
2363
|
+
}
|
|
2364
|
+
|
|
2365
|
+
declare const GitHubConfigSchema: z.ZodObject<{
|
|
2366
|
+
token: z.ZodString;
|
|
2367
|
+
owner: z.ZodString;
|
|
2368
|
+
repo: z.ZodString;
|
|
2369
|
+
ref: z.ZodOptional<z.ZodString>;
|
|
2370
|
+
baseUrl: z.ZodOptional<z.ZodString>;
|
|
2371
|
+
}, z.core.$strip>;
|
|
2372
|
+
type GitHubConfig = ConfigOf<typeof GitHubConfigSchema>;
|
|
2373
|
+
type GitHubConfigRedacted = RedactedConfig<GitHubConfig, 'token'>;
|
|
1720
2374
|
declare function redactGitHubConfig(config: GitHubConfig): GitHubConfigRedacted;
|
|
1721
2375
|
declare function normalizeGitHubConfig(input: Record<string, unknown>): GitHubConfig;
|
|
1722
2376
|
|
|
@@ -1729,40 +2383,34 @@ interface GitHubResourceState {
|
|
|
1729
2383
|
declare class GitHubResource extends BaseResource implements Resource {
|
|
1730
2384
|
readonly kind: string;
|
|
1731
2385
|
readonly cachesReads: boolean;
|
|
2386
|
+
readonly sizesAlwaysKnown: boolean;
|
|
2387
|
+
readonly supportsSnapshot: boolean;
|
|
1732
2388
|
readonly indexTtl: number;
|
|
1733
2389
|
readonly config: GitHubConfig;
|
|
1734
2390
|
readonly accessor: GitHubAccessor;
|
|
1735
2391
|
private constructor();
|
|
1736
2392
|
static create(config: GitHubConfig): Promise<GitHubResource>;
|
|
1737
2393
|
open(): Promise<void>;
|
|
1738
|
-
close(): Promise<void>;
|
|
1739
2394
|
commands(): readonly RegisteredCommand[];
|
|
1740
2395
|
ops(): readonly RegisteredOp[];
|
|
1741
2396
|
readFile(p: PathSpec): Promise<Uint8Array>;
|
|
1742
2397
|
readdir(p: PathSpec): Promise<string[]>;
|
|
1743
2398
|
stat(p: PathSpec): Promise<FileStat>;
|
|
1744
|
-
fingerprint(p: PathSpec): Promise<string | null>;
|
|
1745
2399
|
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
1746
2400
|
getState(): Promise<GitHubResourceState>;
|
|
1747
2401
|
loadState(_state: GitHubResourceState): Promise<void>;
|
|
1748
2402
|
}
|
|
1749
2403
|
|
|
1750
|
-
|
|
1751
|
-
token:
|
|
1752
|
-
owner:
|
|
1753
|
-
repo:
|
|
1754
|
-
days
|
|
1755
|
-
maxRuns
|
|
1756
|
-
baseUrl
|
|
1757
|
-
}
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
owner: string;
|
|
1761
|
-
repo: string;
|
|
1762
|
-
days?: number;
|
|
1763
|
-
maxRuns?: number;
|
|
1764
|
-
baseUrl?: string;
|
|
1765
|
-
}
|
|
2404
|
+
declare const GitHubCIConfigSchema: z.ZodObject<{
|
|
2405
|
+
token: z.ZodString;
|
|
2406
|
+
owner: z.ZodString;
|
|
2407
|
+
repo: z.ZodString;
|
|
2408
|
+
days: z.ZodOptional<z.ZodNumber>;
|
|
2409
|
+
maxRuns: z.ZodOptional<z.ZodNumber>;
|
|
2410
|
+
baseUrl: z.ZodOptional<z.ZodString>;
|
|
2411
|
+
}, z.core.$strip>;
|
|
2412
|
+
type GitHubCIConfig = ConfigOf<typeof GitHubCIConfigSchema>;
|
|
2413
|
+
type GitHubCIConfigRedacted = RedactedConfig<GitHubCIConfig, 'token'>;
|
|
1766
2414
|
declare function redactGitHubCIConfig(config: GitHubCIConfig): GitHubCIConfigRedacted;
|
|
1767
2415
|
declare function normalizeGitHubCIConfig(input: Record<string, unknown>): GitHubCIConfig;
|
|
1768
2416
|
|
|
@@ -1779,38 +2427,19 @@ declare class GitHubCIResource extends BaseResource implements Resource {
|
|
|
1779
2427
|
readonly accessor: GitHubCIAccessor;
|
|
1780
2428
|
constructor(config: GitHubCIConfig);
|
|
1781
2429
|
open(): Promise<void>;
|
|
1782
|
-
close(): Promise<void>;
|
|
1783
2430
|
commands(): readonly RegisteredCommand[];
|
|
1784
2431
|
ops(): readonly RegisteredOp[];
|
|
1785
2432
|
readFile(p: PathSpec): Promise<Uint8Array>;
|
|
1786
2433
|
readdir(p: PathSpec): Promise<string[]>;
|
|
1787
2434
|
stat(p: PathSpec): Promise<FileStat>;
|
|
1788
|
-
fingerprint(p: PathSpec): Promise<string | null>;
|
|
1789
2435
|
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
1790
2436
|
getState(): Promise<GitHubCIResourceState>;
|
|
1791
2437
|
loadState(_state: GitHubCIResourceState): Promise<void>;
|
|
1792
2438
|
}
|
|
1793
2439
|
|
|
1794
|
-
interface GDocsConfig {
|
|
1795
|
-
clientId: string;
|
|
1796
|
-
clientSecret: string;
|
|
1797
|
-
refreshToken: string;
|
|
1798
|
-
refreshFn?: (refreshToken: string) => Promise<{
|
|
1799
|
-
accessToken: string;
|
|
1800
|
-
expiresIn: number;
|
|
1801
|
-
}>;
|
|
1802
|
-
}
|
|
1803
|
-
interface GDocsConfigRedacted {
|
|
1804
|
-
clientId: string;
|
|
1805
|
-
clientSecret: '<REDACTED>';
|
|
1806
|
-
refreshToken: '<REDACTED>';
|
|
1807
|
-
}
|
|
1808
|
-
declare function redactGDocsConfig(config: GDocsConfig): GDocsConfigRedacted;
|
|
1809
|
-
declare function normalizeGDocsConfig(input: Record<string, unknown>): GDocsConfig;
|
|
1810
|
-
|
|
1811
2440
|
interface GDocsResourceState {
|
|
1812
2441
|
type: string;
|
|
1813
|
-
config:
|
|
2442
|
+
config: GoogleConfigRedacted;
|
|
1814
2443
|
}
|
|
1815
2444
|
declare class GDocsResource extends BaseResource implements Resource {
|
|
1816
2445
|
readonly kind: string;
|
|
@@ -1818,42 +2447,23 @@ declare class GDocsResource extends BaseResource implements Resource {
|
|
|
1818
2447
|
readonly indexTtl: number;
|
|
1819
2448
|
readonly prompt: string;
|
|
1820
2449
|
readonly writePrompt: string;
|
|
1821
|
-
readonly config:
|
|
2450
|
+
readonly config: GoogleConfig;
|
|
1822
2451
|
readonly accessor: GDocsAccessor;
|
|
1823
|
-
constructor(config:
|
|
2452
|
+
constructor(config: GoogleConfig);
|
|
1824
2453
|
open(): Promise<void>;
|
|
1825
|
-
close(): Promise<void>;
|
|
1826
2454
|
commands(): readonly RegisteredCommand[];
|
|
1827
2455
|
ops(): readonly RegisteredOp[];
|
|
1828
2456
|
readFile(p: PathSpec): Promise<Uint8Array>;
|
|
1829
2457
|
readdir(p: PathSpec): Promise<string[]>;
|
|
1830
2458
|
stat(p: PathSpec): Promise<FileStat>;
|
|
1831
|
-
fingerprint(p: PathSpec): Promise<string | null>;
|
|
1832
2459
|
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
1833
2460
|
getState(): Promise<GDocsResourceState>;
|
|
1834
2461
|
loadState(_state: GDocsResourceState): Promise<void>;
|
|
1835
2462
|
}
|
|
1836
2463
|
|
|
1837
|
-
interface GSheetsConfig {
|
|
1838
|
-
clientId: string;
|
|
1839
|
-
clientSecret: string;
|
|
1840
|
-
refreshToken: string;
|
|
1841
|
-
refreshFn?: (refreshToken: string) => Promise<{
|
|
1842
|
-
accessToken: string;
|
|
1843
|
-
expiresIn: number;
|
|
1844
|
-
}>;
|
|
1845
|
-
}
|
|
1846
|
-
interface GSheetsConfigRedacted {
|
|
1847
|
-
clientId: string;
|
|
1848
|
-
clientSecret: '<REDACTED>';
|
|
1849
|
-
refreshToken: '<REDACTED>';
|
|
1850
|
-
}
|
|
1851
|
-
declare function redactGSheetsConfig(config: GSheetsConfig): GSheetsConfigRedacted;
|
|
1852
|
-
declare function normalizeGSheetsConfig(input: Record<string, unknown>): GSheetsConfig;
|
|
1853
|
-
|
|
1854
2464
|
interface GSheetsResourceState {
|
|
1855
2465
|
type: string;
|
|
1856
|
-
config:
|
|
2466
|
+
config: GoogleConfigRedacted;
|
|
1857
2467
|
}
|
|
1858
2468
|
declare class GSheetsResource extends BaseResource implements Resource {
|
|
1859
2469
|
readonly kind: string;
|
|
@@ -1861,42 +2471,23 @@ declare class GSheetsResource extends BaseResource implements Resource {
|
|
|
1861
2471
|
readonly indexTtl: number;
|
|
1862
2472
|
readonly prompt: string;
|
|
1863
2473
|
readonly writePrompt: string;
|
|
1864
|
-
readonly config:
|
|
2474
|
+
readonly config: GoogleConfig;
|
|
1865
2475
|
readonly accessor: GSheetsAccessor;
|
|
1866
|
-
constructor(config:
|
|
2476
|
+
constructor(config: GoogleConfig);
|
|
1867
2477
|
open(): Promise<void>;
|
|
1868
|
-
close(): Promise<void>;
|
|
1869
2478
|
commands(): readonly RegisteredCommand[];
|
|
1870
2479
|
ops(): readonly RegisteredOp[];
|
|
1871
2480
|
readFile(p: PathSpec): Promise<Uint8Array>;
|
|
1872
2481
|
readdir(p: PathSpec): Promise<string[]>;
|
|
1873
2482
|
stat(p: PathSpec): Promise<FileStat>;
|
|
1874
|
-
fingerprint(p: PathSpec): Promise<string | null>;
|
|
1875
2483
|
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
1876
2484
|
getState(): Promise<GSheetsResourceState>;
|
|
1877
2485
|
loadState(_state: GSheetsResourceState): Promise<void>;
|
|
1878
2486
|
}
|
|
1879
2487
|
|
|
1880
|
-
interface GSlidesConfig {
|
|
1881
|
-
clientId: string;
|
|
1882
|
-
clientSecret: string;
|
|
1883
|
-
refreshToken: string;
|
|
1884
|
-
refreshFn?: (refreshToken: string) => Promise<{
|
|
1885
|
-
accessToken: string;
|
|
1886
|
-
expiresIn: number;
|
|
1887
|
-
}>;
|
|
1888
|
-
}
|
|
1889
|
-
interface GSlidesConfigRedacted {
|
|
1890
|
-
clientId: string;
|
|
1891
|
-
clientSecret: '<REDACTED>';
|
|
1892
|
-
refreshToken: '<REDACTED>';
|
|
1893
|
-
}
|
|
1894
|
-
declare function redactGSlidesConfig(config: GSlidesConfig): GSlidesConfigRedacted;
|
|
1895
|
-
declare function normalizeGSlidesConfig(input: Record<string, unknown>): GSlidesConfig;
|
|
1896
|
-
|
|
1897
2488
|
interface GSlidesResourceState {
|
|
1898
2489
|
type: string;
|
|
1899
|
-
config:
|
|
2490
|
+
config: GoogleConfigRedacted;
|
|
1900
2491
|
}
|
|
1901
2492
|
declare class GSlidesResource extends BaseResource implements Resource {
|
|
1902
2493
|
readonly kind: string;
|
|
@@ -1904,59 +2495,39 @@ declare class GSlidesResource extends BaseResource implements Resource {
|
|
|
1904
2495
|
readonly indexTtl: number;
|
|
1905
2496
|
readonly prompt: string;
|
|
1906
2497
|
readonly writePrompt: string;
|
|
1907
|
-
readonly config:
|
|
2498
|
+
readonly config: GoogleConfig;
|
|
1908
2499
|
readonly accessor: GSlidesAccessor;
|
|
1909
|
-
constructor(config:
|
|
2500
|
+
constructor(config: GoogleConfig);
|
|
1910
2501
|
open(): Promise<void>;
|
|
1911
|
-
close(): Promise<void>;
|
|
1912
2502
|
commands(): readonly RegisteredCommand[];
|
|
1913
2503
|
ops(): readonly RegisteredOp[];
|
|
1914
2504
|
readFile(p: PathSpec): Promise<Uint8Array>;
|
|
1915
2505
|
readdir(p: PathSpec): Promise<string[]>;
|
|
1916
2506
|
stat(p: PathSpec): Promise<FileStat>;
|
|
1917
|
-
fingerprint(p: PathSpec): Promise<string | null>;
|
|
1918
2507
|
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
1919
2508
|
getState(): Promise<GSlidesResourceState>;
|
|
1920
2509
|
loadState(_state: GSlidesResourceState): Promise<void>;
|
|
1921
2510
|
}
|
|
1922
2511
|
|
|
1923
|
-
interface GDriveConfig {
|
|
1924
|
-
clientId: string;
|
|
1925
|
-
clientSecret: string;
|
|
1926
|
-
refreshToken: string;
|
|
1927
|
-
refreshFn?: (refreshToken: string) => Promise<{
|
|
1928
|
-
accessToken: string;
|
|
1929
|
-
expiresIn: number;
|
|
1930
|
-
}>;
|
|
1931
|
-
}
|
|
1932
|
-
interface GDriveConfigRedacted {
|
|
1933
|
-
clientId: string;
|
|
1934
|
-
clientSecret: '<REDACTED>';
|
|
1935
|
-
refreshToken: '<REDACTED>';
|
|
1936
|
-
}
|
|
1937
|
-
declare function redactGDriveConfig(config: GDriveConfig): GDriveConfigRedacted;
|
|
1938
|
-
declare function normalizeGDriveConfig(input: Record<string, unknown>): GDriveConfig;
|
|
1939
|
-
|
|
1940
2512
|
interface GDriveResourceState {
|
|
1941
2513
|
type: string;
|
|
1942
|
-
config:
|
|
2514
|
+
config: GoogleConfigRedacted;
|
|
1943
2515
|
}
|
|
1944
2516
|
declare class GDriveResource extends BaseResource implements Resource {
|
|
1945
2517
|
readonly kind: string;
|
|
1946
2518
|
readonly cachesReads: boolean;
|
|
2519
|
+
readonly supportsSnapshot: boolean;
|
|
1947
2520
|
readonly indexTtl: number;
|
|
1948
2521
|
readonly prompt: string;
|
|
1949
|
-
readonly config:
|
|
2522
|
+
readonly config: GoogleConfig;
|
|
1950
2523
|
readonly accessor: GDriveAccessor;
|
|
1951
|
-
constructor(config:
|
|
2524
|
+
constructor(config: GoogleConfig);
|
|
1952
2525
|
open(): Promise<void>;
|
|
1953
|
-
close(): Promise<void>;
|
|
1954
2526
|
commands(): readonly RegisteredCommand[];
|
|
1955
2527
|
ops(): readonly RegisteredOp[];
|
|
1956
2528
|
readFile(p: PathSpec): Promise<Uint8Array>;
|
|
1957
2529
|
readdir(p: PathSpec): Promise<string[]>;
|
|
1958
2530
|
stat(p: PathSpec): Promise<FileStat>;
|
|
1959
|
-
fingerprint(p: PathSpec): Promise<string | null>;
|
|
1960
2531
|
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
1961
2532
|
getState(): Promise<GDriveResourceState>;
|
|
1962
2533
|
loadState(_state: GDriveResourceState): Promise<void>;
|
|
@@ -1966,16 +2537,23 @@ interface DropboxConfig {
|
|
|
1966
2537
|
clientId: string;
|
|
1967
2538
|
clientSecret: string;
|
|
1968
2539
|
refreshToken: string;
|
|
2540
|
+
rootPath?: string;
|
|
2541
|
+
contentSearch?: boolean;
|
|
2542
|
+
endpoint?: string;
|
|
1969
2543
|
refreshFn?: (refreshToken: string) => Promise<{
|
|
1970
2544
|
accessToken: string;
|
|
1971
2545
|
expiresIn: number;
|
|
1972
2546
|
}>;
|
|
1973
2547
|
}
|
|
1974
|
-
|
|
1975
|
-
clientId:
|
|
1976
|
-
clientSecret:
|
|
1977
|
-
refreshToken:
|
|
1978
|
-
|
|
2548
|
+
declare const DropboxConfigSchema: z.ZodObject<{
|
|
2549
|
+
clientId: z.ZodString;
|
|
2550
|
+
clientSecret: z.ZodString;
|
|
2551
|
+
refreshToken: z.ZodString;
|
|
2552
|
+
rootPath: z.ZodOptional<z.ZodString>;
|
|
2553
|
+
contentSearch: z.ZodOptional<z.ZodBoolean>;
|
|
2554
|
+
endpoint: z.ZodOptional<z.ZodString>;
|
|
2555
|
+
}, z.core.$strip>;
|
|
2556
|
+
type DropboxConfigRedacted = RedactedConfig<ConfigOf<typeof DropboxConfigSchema>, 'clientSecret' | 'refreshToken'>;
|
|
1979
2557
|
declare function redactDropboxConfig(config: DropboxConfig): DropboxConfigRedacted;
|
|
1980
2558
|
declare function normalizeDropboxConfig(input: Record<string, unknown>): DropboxConfig;
|
|
1981
2559
|
|
|
@@ -1986,25 +2564,27 @@ interface DropboxResourceState {
|
|
|
1986
2564
|
declare class DropboxResource extends BaseResource implements Resource {
|
|
1987
2565
|
readonly kind: string;
|
|
1988
2566
|
readonly cachesReads: boolean;
|
|
2567
|
+
readonly sizesAlwaysKnown: boolean;
|
|
1989
2568
|
readonly indexTtl: number;
|
|
1990
2569
|
readonly prompt: string;
|
|
1991
2570
|
readonly config: DropboxConfig;
|
|
1992
2571
|
readonly accessor: DropboxAccessor;
|
|
1993
2572
|
constructor(config: DropboxConfig);
|
|
1994
2573
|
open(): Promise<void>;
|
|
1995
|
-
close(): Promise<void>;
|
|
1996
2574
|
commands(): readonly RegisteredCommand[];
|
|
1997
2575
|
ops(): readonly RegisteredOp[];
|
|
1998
2576
|
readFile(p: PathSpec): Promise<Uint8Array>;
|
|
1999
2577
|
readdir(p: PathSpec): Promise<string[]>;
|
|
2000
2578
|
stat(p: PathSpec): Promise<FileStat>;
|
|
2001
|
-
fingerprint(p: PathSpec): Promise<string | null>;
|
|
2002
2579
|
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
2003
2580
|
getState(): Promise<DropboxResourceState>;
|
|
2004
2581
|
loadState(_state: DropboxResourceState): Promise<void>;
|
|
2005
2582
|
}
|
|
2006
2583
|
|
|
2007
2584
|
interface BoxConfig {
|
|
2585
|
+
endpoint?: string;
|
|
2586
|
+
rootFolderId?: string;
|
|
2587
|
+
contentSearch?: boolean;
|
|
2008
2588
|
clientId?: string;
|
|
2009
2589
|
clientSecret?: string;
|
|
2010
2590
|
refreshToken?: string;
|
|
@@ -2017,13 +2597,17 @@ interface BoxConfig {
|
|
|
2017
2597
|
}>;
|
|
2018
2598
|
onRefreshTokenRotated?: (newRefreshToken: string) => void | Promise<void>;
|
|
2019
2599
|
}
|
|
2020
|
-
|
|
2021
|
-
|
|
2022
|
-
|
|
2023
|
-
|
|
2024
|
-
|
|
2025
|
-
|
|
2026
|
-
|
|
2600
|
+
declare const BoxConfigSchema: z.ZodObject<{
|
|
2601
|
+
endpoint: z.ZodOptional<z.ZodString>;
|
|
2602
|
+
rootFolderId: z.ZodOptional<z.ZodString>;
|
|
2603
|
+
contentSearch: z.ZodOptional<z.ZodBoolean>;
|
|
2604
|
+
clientId: z.ZodOptional<z.ZodString>;
|
|
2605
|
+
clientSecret: z.ZodOptional<z.ZodString>;
|
|
2606
|
+
refreshToken: z.ZodOptional<z.ZodString>;
|
|
2607
|
+
enterpriseId: z.ZodOptional<z.ZodString>;
|
|
2608
|
+
accessToken: z.ZodOptional<z.ZodString>;
|
|
2609
|
+
}, z.core.$strip>;
|
|
2610
|
+
type BoxConfigRedacted = RedactedConfig<ConfigOf<typeof BoxConfigSchema>, 'clientSecret' | 'refreshToken' | 'accessToken'>;
|
|
2027
2611
|
declare function redactBoxConfig(config: BoxConfig): BoxConfigRedacted;
|
|
2028
2612
|
declare function normalizeBoxConfig(input: Record<string, unknown>): BoxConfig;
|
|
2029
2613
|
|
|
@@ -2034,19 +2618,18 @@ interface BoxResourceState {
|
|
|
2034
2618
|
declare class BoxResource extends BaseResource implements Resource {
|
|
2035
2619
|
readonly kind: string;
|
|
2036
2620
|
readonly cachesReads: boolean;
|
|
2621
|
+
readonly sizesAlwaysKnown: boolean;
|
|
2037
2622
|
readonly indexTtl: number;
|
|
2038
2623
|
readonly prompt: string;
|
|
2039
2624
|
readonly config: BoxConfig;
|
|
2040
2625
|
readonly accessor: BoxAccessor;
|
|
2041
2626
|
constructor(config: BoxConfig);
|
|
2042
2627
|
open(): Promise<void>;
|
|
2043
|
-
close(): Promise<void>;
|
|
2044
2628
|
commands(): readonly RegisteredCommand[];
|
|
2045
2629
|
ops(): readonly RegisteredOp[];
|
|
2046
2630
|
readFile(p: PathSpec): Promise<Uint8Array>;
|
|
2047
2631
|
readdir(p: PathSpec): Promise<string[]>;
|
|
2048
2632
|
stat(p: PathSpec): Promise<FileStat>;
|
|
2049
|
-
fingerprint(p: PathSpec): Promise<string | null>;
|
|
2050
2633
|
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
2051
2634
|
getState(): Promise<BoxResourceState>;
|
|
2052
2635
|
loadState(_state: BoxResourceState): Promise<void>;
|
|
@@ -2059,6 +2642,7 @@ interface GmailResourceState {
|
|
|
2059
2642
|
declare class GmailResource extends BaseResource implements Resource {
|
|
2060
2643
|
readonly kind: string;
|
|
2061
2644
|
readonly cachesReads: boolean;
|
|
2645
|
+
readonly sizesAlwaysKnown: boolean;
|
|
2062
2646
|
readonly indexTtl: number;
|
|
2063
2647
|
readonly prompt: string;
|
|
2064
2648
|
readonly writePrompt: string;
|
|
@@ -2066,42 +2650,56 @@ declare class GmailResource extends BaseResource implements Resource {
|
|
|
2066
2650
|
readonly accessor: GmailAccessor;
|
|
2067
2651
|
constructor(config: GoogleConfig);
|
|
2068
2652
|
open(): Promise<void>;
|
|
2069
|
-
close(): Promise<void>;
|
|
2070
2653
|
commands(): readonly RegisteredCommand[];
|
|
2071
2654
|
ops(): readonly RegisteredOp[];
|
|
2072
2655
|
readFile(p: PathSpec): Promise<Uint8Array>;
|
|
2073
2656
|
readdir(p: PathSpec): Promise<string[]>;
|
|
2074
2657
|
stat(p: PathSpec): Promise<FileStat>;
|
|
2075
|
-
fingerprint(p: PathSpec): Promise<string | null>;
|
|
2076
2658
|
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
2077
2659
|
getState(): Promise<GmailResourceState>;
|
|
2078
2660
|
loadState(_state: GmailResourceState): Promise<void>;
|
|
2079
2661
|
}
|
|
2080
2662
|
|
|
2081
|
-
interface
|
|
2082
|
-
|
|
2083
|
-
|
|
2084
|
-
smtpHost: string;
|
|
2085
|
-
smtpPort: number;
|
|
2086
|
-
username: string;
|
|
2087
|
-
password: string;
|
|
2088
|
-
useSsl: boolean;
|
|
2089
|
-
maxMessages: number;
|
|
2090
|
-
}
|
|
2091
|
-
interface EmailConfigRedacted extends Omit<EmailConfig, 'password'> {
|
|
2092
|
-
password: '<REDACTED>';
|
|
2663
|
+
interface GCalResourceState {
|
|
2664
|
+
type: string;
|
|
2665
|
+
config: GoogleConfigRedacted;
|
|
2093
2666
|
}
|
|
2667
|
+
declare class GCalResource extends BaseResource implements Resource {
|
|
2668
|
+
readonly kind: string;
|
|
2669
|
+
readonly cachesReads: boolean;
|
|
2670
|
+
readonly indexTtl: number;
|
|
2671
|
+
readonly prompt: string;
|
|
2672
|
+
readonly writePrompt: string;
|
|
2673
|
+
readonly config: GoogleConfig;
|
|
2674
|
+
readonly accessor: GCalAccessor;
|
|
2675
|
+
constructor(config: GoogleConfig);
|
|
2676
|
+
open(): Promise<void>;
|
|
2677
|
+
commands(): readonly RegisteredCommand[];
|
|
2678
|
+
ops(): readonly RegisteredOp[];
|
|
2679
|
+
readFile(p: PathSpec): Promise<Uint8Array>;
|
|
2680
|
+
readdir(p: PathSpec): Promise<string[]>;
|
|
2681
|
+
stat(p: PathSpec): Promise<FileStat>;
|
|
2682
|
+
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
2683
|
+
getState(): Promise<GCalResourceState>;
|
|
2684
|
+
loadState(_state: GCalResourceState): Promise<void>;
|
|
2685
|
+
}
|
|
2686
|
+
|
|
2687
|
+
declare const EmailConfigSchema: z.ZodObject<{
|
|
2688
|
+
imapHost: z.ZodString;
|
|
2689
|
+
imapPort: z.ZodDefault<z.ZodNumber>;
|
|
2690
|
+
smtpHost: z.ZodString;
|
|
2691
|
+
smtpPort: z.ZodDefault<z.ZodNumber>;
|
|
2692
|
+
username: z.ZodString;
|
|
2693
|
+
password: z.ZodString;
|
|
2694
|
+
useSsl: z.ZodDefault<z.ZodBoolean>;
|
|
2695
|
+
maxMessages: z.ZodDefault<z.ZodNumber>;
|
|
2696
|
+
saveCopy: z.ZodDefault<z.ZodBoolean>;
|
|
2697
|
+
sentFolder: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
2698
|
+
}, z.core.$strip>;
|
|
2699
|
+
type EmailConfig = ConfigOf<typeof EmailConfigSchema>;
|
|
2700
|
+
type EmailConfigRedacted = RedactedConfig<EmailConfig, 'password'>;
|
|
2094
2701
|
declare function redactEmailConfig(config: EmailConfig): EmailConfigRedacted;
|
|
2095
|
-
|
|
2096
|
-
imapHost: string;
|
|
2097
|
-
imapPort?: number;
|
|
2098
|
-
smtpHost: string;
|
|
2099
|
-
smtpPort?: number;
|
|
2100
|
-
username: string;
|
|
2101
|
-
password: string;
|
|
2102
|
-
useSsl?: boolean;
|
|
2103
|
-
maxMessages?: number;
|
|
2104
|
-
}
|
|
2702
|
+
type EmailConfigInput = z.input<typeof EmailConfigSchema>;
|
|
2105
2703
|
declare function buildEmailConfig(input: EmailConfigInput): EmailConfig;
|
|
2106
2704
|
declare function normalizeEmailConfig(input: Record<string, unknown>): EmailConfig;
|
|
2107
2705
|
|
|
@@ -2120,6 +2718,7 @@ interface EmailResourceState {
|
|
|
2120
2718
|
declare class EmailResource extends BaseResource implements Resource {
|
|
2121
2719
|
readonly kind: string;
|
|
2122
2720
|
readonly cachesReads: boolean;
|
|
2721
|
+
readonly sizesAlwaysKnown: boolean;
|
|
2123
2722
|
readonly indexTtl: number;
|
|
2124
2723
|
readonly prompt: string;
|
|
2125
2724
|
readonly config: EmailConfig;
|
|
@@ -2132,19 +2731,111 @@ declare class EmailResource extends BaseResource implements Resource {
|
|
|
2132
2731
|
readFile(p: PathSpec): Promise<Uint8Array>;
|
|
2133
2732
|
readdir(p: PathSpec): Promise<string[]>;
|
|
2134
2733
|
stat(p: PathSpec): Promise<FileStat>;
|
|
2135
|
-
fingerprint(p: PathSpec): Promise<string | null>;
|
|
2136
2734
|
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
2137
2735
|
getState(): Promise<EmailResourceState>;
|
|
2138
2736
|
loadState(_state: EmailResourceState): Promise<void>;
|
|
2139
2737
|
}
|
|
2140
2738
|
|
|
2141
|
-
declare const EMAIL_PROMPT = "{prefix}\n <folder>/\n <yyyy-mm-dd>/\n <subject>__<uid>.email.json\n <subject>__<uid>/ # if attachments exist\n <attachment-filename>\n Folders include: INBOX, Sent, Drafts, etc. cat shows email as JSON
|
|
2142
|
-
declare const EMAIL_WRITE_PROMPT = "
|
|
2739
|
+
declare const EMAIL_PROMPT = "{prefix}\n <folder>/\n <yyyy-mm-dd>/\n <subject>__<uid>.email.json\n <subject>__<uid>/ # if attachments exist\n <attachment-filename>\n Folders include: INBOX, Sent, Drafts, etc. cat shows email as JSON.\n\n To act on mail (list/read/send/reply/forward), use the himalaya CLI\n if installed: himalaya --help";
|
|
2740
|
+
declare const EMAIL_WRITE_PROMPT = " Sending mail goes through the himalaya CLI if installed:\n himalaya message send --to \"to@email.com\" --subject \"Hi\" --body \"...\"";
|
|
2143
2741
|
|
|
2144
2742
|
declare const EMAIL_COMMANDS: readonly RegisteredCommand[];
|
|
2145
2743
|
|
|
2744
|
+
declare const HIMALAYA: CLISpec;
|
|
2745
|
+
|
|
2146
2746
|
declare const EMAIL_OPS: readonly RegisteredOp[];
|
|
2147
2747
|
|
|
2748
|
+
/**
|
|
2749
|
+
* Run Python code on a host interpreter as a subprocess.
|
|
2750
|
+
*
|
|
2751
|
+
* Each run spawns `<interpreter> -c <code>`; the code sees the host
|
|
2752
|
+
* filesystem and environment, not the workspace mounts. Mirrors the
|
|
2753
|
+
* python LocalRuntime: the interpreter defaults to `python3` on PATH
|
|
2754
|
+
* (node has no embedded python, unlike the python package which
|
|
2755
|
+
* defaults to its own interpreter); point the config `home` or the
|
|
2756
|
+
* MIRAGE_LOCAL_HOME environment variable at another binary, e.g. a
|
|
2757
|
+
* project venv whose packages the code needs.
|
|
2758
|
+
*/
|
|
2759
|
+
declare class LocalRuntime extends PythonRuntime {
|
|
2760
|
+
readonly name = "local";
|
|
2761
|
+
readonly reach = "process";
|
|
2762
|
+
private readonly python;
|
|
2763
|
+
private readonly children;
|
|
2764
|
+
constructor(options?: RuntimeOptions);
|
|
2765
|
+
run(args: RunArgs): Promise<RunResult>;
|
|
2766
|
+
close(): Promise<void>;
|
|
2767
|
+
}
|
|
2768
|
+
|
|
2769
|
+
/** How to reach the user's live E2B sandbox. */
|
|
2770
|
+
interface E2BConfig extends SandboxConfig {
|
|
2771
|
+
/**
|
|
2772
|
+
* Id of a sandbox you created (`e2b sandbox spawn` or the SDK),
|
|
2773
|
+
* booted from a template with fuse3 and mirage installed.
|
|
2774
|
+
*/
|
|
2775
|
+
sandboxId: string;
|
|
2776
|
+
/** E2B credential; absent reads E2B_API_KEY. */
|
|
2777
|
+
apiKey?: string;
|
|
2778
|
+
}
|
|
2779
|
+
declare const E2B_CONFIG_KEYS: readonly string[];
|
|
2780
|
+
|
|
2781
|
+
type E2bSdk = typeof e2bSdk;
|
|
2782
|
+
/**
|
|
2783
|
+
* An E2B sandbox the user runs as a whole-line runtime.
|
|
2784
|
+
*
|
|
2785
|
+
* You create the sandbox yourself (`e2b sandbox spawn` or the SDK);
|
|
2786
|
+
* mirage only connects by `sandboxId` and execs lines. `apiKey` falls
|
|
2787
|
+
* back to E2B_API_KEY. E2B's exec reports stdout and stderr
|
|
2788
|
+
* separately, so both stream back real; it takes no stdin, so piped
|
|
2789
|
+
* bytes are uploaded and redirected in.
|
|
2790
|
+
*/
|
|
2791
|
+
declare class E2BRuntime extends RemoteSandbox<E2BConfig> {
|
|
2792
|
+
readonly name = "e2b";
|
|
2793
|
+
private sdk;
|
|
2794
|
+
private sandbox;
|
|
2795
|
+
constructor(options?: RuntimeOptions<E2BConfig> | Record<string, unknown>);
|
|
2796
|
+
protected loadSdk(): Promise<E2bSdk>;
|
|
2797
|
+
private ensureSdk;
|
|
2798
|
+
private apiParams;
|
|
2799
|
+
connect(): Promise<void>;
|
|
2800
|
+
execLine(line: string, stdin: Uint8Array | null, env: Record<string, string>, cwd: string): Promise<RunResult>;
|
|
2801
|
+
private upload;
|
|
2802
|
+
}
|
|
2803
|
+
|
|
2804
|
+
/** How to reach the user's running container. */
|
|
2805
|
+
interface DockerConfig extends SandboxConfig {
|
|
2806
|
+
/**
|
|
2807
|
+
* Id or name of a running container. You start it yourself
|
|
2808
|
+
* (`docker run -d ... sleep infinity`); live FUSE mounts need
|
|
2809
|
+
* `--cap-add SYS_ADMIN --device /dev/fuse` and an image with mirage
|
|
2810
|
+
* installed.
|
|
2811
|
+
*/
|
|
2812
|
+
container: string;
|
|
2813
|
+
}
|
|
2814
|
+
declare const DOCKER_CONFIG_KEYS: readonly string[];
|
|
2815
|
+
|
|
2816
|
+
interface DockerResult {
|
|
2817
|
+
stdout: Uint8Array;
|
|
2818
|
+
stderr: Uint8Array;
|
|
2819
|
+
code: number;
|
|
2820
|
+
}
|
|
2821
|
+
/**
|
|
2822
|
+
* A container the user runs as a whole-line runtime.
|
|
2823
|
+
*
|
|
2824
|
+
* You start the container yourself; mirage only connects to it and
|
|
2825
|
+
* execs lines. The docker CLI is the transport (Docker Desktop,
|
|
2826
|
+
* colima, or a podman alias all work), so there is no SDK dependency
|
|
2827
|
+
* and no daemon socket wiring; each line is one `docker exec -i` with
|
|
2828
|
+
* the merged environment, the rebased cwd, real stdin, and separated
|
|
2829
|
+
* stderr.
|
|
2830
|
+
*/
|
|
2831
|
+
declare class DockerRuntime extends RemoteSandbox<DockerConfig> {
|
|
2832
|
+
readonly name = "docker";
|
|
2833
|
+
constructor(options?: RuntimeOptions<DockerConfig> | Record<string, unknown>);
|
|
2834
|
+
protected docker(args: string[], stdin?: Uint8Array | null): Promise<DockerResult>;
|
|
2835
|
+
connect(): Promise<void>;
|
|
2836
|
+
execLine(line: string, stdin: Uint8Array | null, env: Record<string, string>, cwd: string): Promise<RunResult>;
|
|
2837
|
+
}
|
|
2838
|
+
|
|
2148
2839
|
/**
|
|
2149
2840
|
* Construct a resource by registry name. Mirrors Python's
|
|
2150
2841
|
* `mirage.resource.registry.build_resource`.
|
|
@@ -2160,23 +2851,74 @@ declare const EMAIL_OPS: readonly RegisteredOp[];
|
|
|
2160
2851
|
*/
|
|
2161
2852
|
type ResourceFactory = (config: Record<string, unknown>) => Promise<Resource>;
|
|
2162
2853
|
/**
|
|
2163
|
-
* Look up
|
|
2164
|
-
*
|
|
2854
|
+
* Look up every constructible name: builtins plus whatever `register()`
|
|
2855
|
+
* has added.
|
|
2165
2856
|
*/
|
|
2166
2857
|
declare function knownResources(): string[];
|
|
2167
2858
|
/**
|
|
2168
|
-
* Register a custom resource factory under `name`.
|
|
2169
|
-
*
|
|
2859
|
+
* Register a custom resource factory under `name`. Builtin names cannot
|
|
2860
|
+
* be shadowed; re-registering a custom name replaces it. Mirrors
|
|
2861
|
+
* Python's `mirage.resource.registry.register_resource`, which keeps
|
|
2862
|
+
* builtins in REGISTRY and custom entries in a separate _CUSTOM dict so
|
|
2863
|
+
* a plugin cannot replace the builtin `s3` factory.
|
|
2170
2864
|
*/
|
|
2171
2865
|
declare function register(name: string, factory: ResourceFactory): void;
|
|
2172
2866
|
/**
|
|
2173
|
-
* Build a resource instance by registry name.
|
|
2174
|
-
* unknown.
|
|
2867
|
+
* Build a resource instance by registry name. Builtins win over custom
|
|
2868
|
+
* registrations. Throws if the name is unknown.
|
|
2175
2869
|
*/
|
|
2176
2870
|
declare function buildResource(name: string, config?: Record<string, unknown>): Promise<Resource>;
|
|
2177
2871
|
|
|
2872
|
+
/**
|
|
2873
|
+
* Extensions Node will import from disk. Python's twin tests for a
|
|
2874
|
+
* single one (`.py`) because it has one module language; here `.ts` and
|
|
2875
|
+
* `.mts` ride on Node's own type stripping, which is strip-only: a file
|
|
2876
|
+
* using `enum`, a parameter property, a runtime `namespace` or a legacy
|
|
2877
|
+
* decorator is refused at load with ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX.
|
|
2878
|
+
* `.mjs` is the spelling with no caveats.
|
|
2879
|
+
*/
|
|
2880
|
+
declare const MODULE_SUFFIXES: string[];
|
|
2881
|
+
/**
|
|
2882
|
+
* True when a ref's source is a file on disk rather than a package
|
|
2883
|
+
* specifier Node resolves for itself.
|
|
2884
|
+
*
|
|
2885
|
+
* This is Node's own rule, deliberately NOT Python's. Python's twin asks
|
|
2886
|
+
* `"/" in source`, which is sound there because a module dotpath is
|
|
2887
|
+
* dotted, so a slash can only mean a path. In Node a bare specifier
|
|
2888
|
+
* carries slashes all the time (`@scope/pkg`, `pkg/subpath`), so the
|
|
2889
|
+
* same test would rebase an installed package under the config
|
|
2890
|
+
* directory and then report it as a missing file. A path is what Node
|
|
2891
|
+
* calls a path: relative (`./`, `../`) or absolute. The one addition is
|
|
2892
|
+
* a bare filename carrying a module suffix (`tool.mjs`), which mirrors
|
|
2893
|
+
* the convenience Python allows for `tool.py`; it is restricted to
|
|
2894
|
+
* sources with no slash so that `pkg/dist/index.js` stays a subpath
|
|
2895
|
+
* export, and `./dist/index.js` says path by saying so.
|
|
2896
|
+
*
|
|
2897
|
+
* The config loader's `absolutizeCliRef` calls this same function, so
|
|
2898
|
+
* the two cannot disagree about what a path is.
|
|
2899
|
+
*/
|
|
2900
|
+
declare function isModulePath(source: string): boolean;
|
|
2901
|
+
/** Split a `source:exportName` ref on its last colon. */
|
|
2902
|
+
declare function splitRef(spec: string): [string, string];
|
|
2903
|
+
/**
|
|
2904
|
+
* Load a module export from a `source:exportName` reference.
|
|
2905
|
+
*
|
|
2906
|
+
* Two forms, auto-detected the way Python's `load_attr` detects them:
|
|
2907
|
+
* a file (`"./my_cli.mjs:TALLY"`) or a package specifier
|
|
2908
|
+
* (`"my-package/clis:JIRA"`). Only a missing file is reworded; every
|
|
2909
|
+
* other load failure propagates with Node's own diagnostic, because a
|
|
2910
|
+
* syntax error in the user's file is the message they need to read.
|
|
2911
|
+
*
|
|
2912
|
+
* A CommonJS file resolves through `default` as well as through named
|
|
2913
|
+
* exports, since cjs-module-lexer only detects some assignment shapes
|
|
2914
|
+
* and `module.exports = { TALLY }` is one it can miss.
|
|
2915
|
+
*/
|
|
2916
|
+
declare function loadAttr(spec: string): Promise<unknown>;
|
|
2917
|
+
|
|
2178
2918
|
declare const DISK_COMMANDS: readonly RegisteredCommand[];
|
|
2179
2919
|
|
|
2180
2920
|
declare const REDIS_COMMANDS: readonly RegisteredCommand[];
|
|
2181
2921
|
|
|
2182
|
-
|
|
2922
|
+
declare const GRIDFS_COMMANDS: readonly RegisteredCommand[];
|
|
2923
|
+
|
|
2924
|
+
export { ALIYUN_PROMPT, type AliyunConfig, type AliyunConfigRedacted, AliyunResource, type AliyunResourceState, BACKBLAZE_PROMPT, type BackblazeConfig, type BackblazeConfigRedacted, BackblazeResource, type BackblazeResourceState, type BoxConfig, type BoxConfigRedacted, BoxResource, type BoxResourceState, CEPH_PROMPT, type CephConfig, type CephConfigRedacted, CephResource, type CephResourceState, DAYTONA_CONFIG_KEYS, DEFAULT_STATE_ROOT, DIGITALOCEAN_PROMPT, DISK_COMMANDS, DISK_OPS, DISK_PROMPT, DOCKER_CONFIG_KEYS, type DatabricksProfile, DatabricksVolumeResource, type DatabricksVolumeResourceState, type DaytonaConfig, DaytonaRuntime, type DigitalOceanConfig, type DigitalOceanConfigRedacted, DigitalOceanResource, type DigitalOceanResourceState, DiscordResource, type DiscordResourceState, DiskNamespaceStore, DiskObserverStore, DiskRecordClient, DiskResource, type DiskResourceOptions, type DiskResourceState, DiskSessionStore, DiskWorkspaceStateStore, type DiskWorkspaceStateStoreOptions, type DockerConfig, DockerRuntime, type DropboxConfig, type DropboxConfigRedacted, DropboxResource, type DropboxResourceState, type E2BConfig, E2BRuntime, E2B_CONFIG_KEYS, EMAIL_COMMANDS, EMAIL_OPS, EMAIL_PROMPT, EMAIL_WRITE_PROMPT, EmailAccessor, type EmailConfig, type EmailConfigInput, type EmailConfigRedacted, EmailResource, type EmailResourceState, FSKIT_MOUNT_ROOT, type FuseAttr, type FuseHandle, FuseManager, type MountOptions as FuseMountOptions, type GCSConfig, type GCSConfigRedacted, GCSResource, type GCSResourceState, GCS_ENDPOINT, GCS_PROMPT, GCalResource, type GCalResourceState, GDocsResource, type GDocsResourceState, GDriveResource, type GDriveResourceState, GRIDFS_COMMANDS, GSheetsResource, type GSheetsResourceState, GSlidesResource, type GSlidesResourceState, type GitHubCIConfig, type GitHubCIConfigRedacted, GitHubCIResource, type GitHubCIResourceState, type GitHubConfig, type GitHubConfigRedacted, GitHubResource, type GitHubResourceState, GmailResource, type GmailResourceState, GridFSAccessor, type GridFSConfig, type GridFSConfigRedacted, GridFSResource, type GridFSResourceState, HF_BUCKETS_PROMPT, HF_COMMANDS, HF_DATASETS_PROMPT, HF_ENDPOINT, HF_MODELS_PROMPT, HF_OPS, HF_RESOURCES, HF_SPACES_PROMPT, HIMALAYA, HfAccessor, HfBucketsAccessor, type HfBucketsConfig, type HfBucketsConfigRedacted, HfBucketsResource, type HfBucketsResourceState, HfDatasetsAccessor, HfDatasetsResource, type HfDatasetsResourceState, HfModelsAccessor, type HfModelsConfig, type HfModelsConfigRedacted, HfModelsResource, type HfModelsResourceState, type HfRepoConfig, type HfRepoConfigRedacted, HfSpacesAccessor, HfSpacesResource, type HfSpacesResourceState, JaegerResource, type JaegerResourceState, LanceDBResource, type LanceDBResourceOptions, LanceDBStore, type LangfuseConfig, type LangfuseConfigRedacted, LangfuseResource, type LangfuseResourceState, LinearResource, type LinearResourceState, LocalRuntime, MINIO_PROMPT, MODULE_SUFFIXES, type MinIOConfig, type MinIOConfigRedacted, MinIOResource, type MinIOResourceState, MirageFS, type MirageFSOptions, MongoDBResource, type MongoDBResourceOptions, MongoDBStore, Mount, MountCore, type MountCoreOptions, type MountSpecOptions, NEXTCLOUD_COMMANDS, NEXTCLOUD_OPS, NEXTCLOUD_PROMPT, NextcloudAccessor, type NextcloudConfig, type NextcloudConfigRedacted, NextcloudResource, type NextcloudResourceState, NextcloudWalk, type NodeWorkspaceOptions, NotionResource, type NotionResourceState, type OCIConfig, type OCIConfigRedacted, OCIResource, type OCIResourceState, OCI_PROMPT, PostgresResource, type PostgresResourceOptions, PostgresStore, QINGSTOR_PROMPT, type QingStorConfig, type QingStorConfigRedacted, QingStorResource, type QingStorResourceState, type R2Config, type R2ConfigRedacted, R2Resource, type R2ResourceState, R2_PROMPT, REDIS_COMMANDS, REDIS_OPS, REDIS_PROMPT, RedisAccessor, RedisConsoleStore, type RedisConsoleStoreOptions, type RedisFileCacheOptions, RedisFileCacheStore, RedisNamespaceStore, type RedisNamespaceStoreOptions, RedisObserverStore, type RedisObserverStoreOptions, RedisResource, type RedisResourceLike, type RedisResourceOptions, type RedisResourceState, RedisSessionStore, type RedisSessionStoreOptions, RedisStore, type RedisStoreOptions, RedisWorkspaceStateStore, type RedisWorkspaceStateStoreOptions, type ResourceFactory, type S3Config, type S3ConfigRedacted, S3Resource, type S3ResourceState, SCALEWAY_PROMPT, SEAWEEDFS_PROMPT, SSHAccessor, type SSHConfig, type SSHConfigRedacted, SSHResource, type SSHResourceState, SSH_COMMANDS, SSH_OPS, SSH_PROMPT, SUPABASE_PROMPT, type ScalewayConfig, type ScalewayConfigRedacted, ScalewayResource, type ScalewayResourceState, type SeaweedFSConfig, type SeaweedFSConfigRedacted, SeaweedFSResource, type SeaweedFSResourceState, SlackResource, type SlackResourceState, type SupabaseConfig, type SupabaseConfigRedacted, SupabaseResource, type SupabaseResourceState, TENCENT_PROMPT, type TencentConfig, type TencentConfigRedacted, TencentResource, type TencentResourceState, type TrelloConfig, type TrelloConfigRedacted, TrelloResource, type TrelloResourceState, WASABI_PROMPT, type WasabiConfig, type WasabiConfigRedacted, WasabiResource, type WasabiResourceState, Workspace, assertHfRepoId, buildEmailConfig, buildDeltaHook as buildNextcloudDeltaHook, buildResource, checkMountpoint, checkPlatform, checkSizes, classifyErrno, classifyError, fileReadProvision, mount as fuseMount, mountBackground as fuseMountBackground, headTailProvision, isMacosMetadata, isModulePath, knownResources, loadAttr, loadDatabricksProfile, metadataProvision, normalizeBoxConfig, normalizeDropboxConfig, normalizeEmailConfig, normalizeGitHubCIConfig, normalizeGitHubConfig, normalizeGridFSConfig, normalizeHfBucketsConfig, normalizeHfModelsConfig, normalizeHfRepoConfig, normalizeLangfuseConfig, normalizeNextcloudConfig, normalizeS3Config, normalizeSshConfig, normalizeTrelloConfig, parseDatabricksCfg, patchNodeFs, prepareBackend, redactAliyunConfig, redactBackblazeConfig, redactBoxConfig, redactCephConfig, redactDigitalOceanConfig, redactDropboxConfig, redactEmailConfig, redactGcsConfig, redactGitHubCIConfig, redactGitHubConfig, redactHfBucketsConfig, redactHfModelsConfig, redactHfRepoConfig, redactLangfuseConfig, redactMinIOConfig, redactNextcloudConfig, redactOciConfig, redactQingStorConfig, redactR2Config, redactConfig as redactS3Config, redactScalewayConfig, redactSeaweedFSConfig, redactSshConfig, redactSupabaseConfig, redactTencentConfig, redactTrelloConfig, redactWasabiConfig, register as registerResourceFactory, requireKernelBackend, resolveBackend, resolvedAliyunEndpoint, resolvedBackblazeEndpoint, resolvedDigitalOceanEndpoint, resolvedQingStorEndpoint, resolvedScalewayEndpoint, resolvedSupabaseEndpoint, resolvedTencentEndpoint, resolvedWasabiEndpoint, splitRef, unsizedMounts };
|