@struktoai/mirage-node 0.0.3-alpha.0 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/aliyun-PGI57A43.js +10 -0
- package/dist/backblaze-TSPL6Y56.js +10 -0
- package/dist/box-7XTZYDSO.js +8 -0
- package/dist/cas.lua +15 -0
- package/dist/ceph-C265UI5T.js +10 -0
- package/dist/{chunk-IQVNVTOP.js → chunk-25W4XQJZ.js} +5 -5
- package/dist/{chunk-QGRDPSAH.js → chunk-2ERLWAGG.js} +4 -2
- package/dist/chunk-2ERLWAGG.js.map +1 -0
- package/dist/{chunk-NJMGCT63.js → chunk-2QNPKPZZ.js} +7 -2
- package/dist/chunk-2QNPKPZZ.js.map +1 -0
- package/dist/{chunk-ZNWVJ6UW.js → chunk-3ASOQTZB.js} +7 -2
- package/dist/chunk-3ASOQTZB.js.map +1 -0
- package/dist/{chunk-ERELJ7BS.js → chunk-3JZN3GYO.js} +14 -13
- package/dist/chunk-3JZN3GYO.js.map +1 -0
- package/dist/{chunk-DTAY7LPC.js → chunk-4GYB7DGC.js} +295 -706
- package/dist/chunk-4GYB7DGC.js.map +1 -0
- package/dist/{chunk-G5BZE7UA.js → chunk-4M73WHIE.js} +3 -3
- package/dist/{chunk-Q6CDMOM6.js → chunk-4X6CLF4F.js} +3 -3
- package/dist/{chunk-3IJSIVKT.js → chunk-5I7Q7RHW.js} +3 -3
- package/dist/{chunk-YPT4JBUY.js → chunk-5YRWF5RP.js} +18 -16
- package/dist/chunk-5YRWF5RP.js.map +1 -0
- package/dist/chunk-5ZHNPNDD.js +944 -0
- package/dist/chunk-5ZHNPNDD.js.map +1 -0
- package/dist/{chunk-VGLHY6BK.js → chunk-AULFV3KY.js} +1 -2
- package/dist/chunk-AULFV3KY.js.map +1 -0
- package/dist/{chunk-A4Z6DZ22.js → chunk-BWLUBJQG.js} +20 -16
- package/dist/chunk-BWLUBJQG.js.map +1 -0
- package/dist/{chunk-OYV2DN66.js → chunk-BWWU5T2D.js} +3 -3
- package/dist/chunk-C7TNKIK5.js +39 -0
- package/dist/chunk-C7TNKIK5.js.map +1 -0
- package/dist/{chunk-HEHERHQ5.js → chunk-CB76WPUS.js} +13 -14
- package/dist/chunk-CB76WPUS.js.map +1 -0
- package/dist/chunk-CGGO5NKD.js +1194 -0
- package/dist/chunk-CGGO5NKD.js.map +1 -0
- package/dist/{chunk-B2ZOKNN4.js → chunk-CQCTCW4S.js} +1 -2
- package/dist/chunk-CQCTCW4S.js.map +1 -0
- package/dist/{chunk-AJICZLHT.js → chunk-CXQGMFI7.js} +3 -3
- package/dist/{chunk-LW25LMIH.js → chunk-D3U7VQCG.js} +1 -2
- package/dist/{chunk-LW25LMIH.js.map → chunk-D3U7VQCG.js.map} +1 -1
- package/dist/{chunk-RQYEEA2O.js → chunk-DXU7NZPH.js} +3 -3
- package/dist/{chunk-XGJ2QERC.js → chunk-E3KXVEYI.js} +8 -4
- package/dist/chunk-E3KXVEYI.js.map +1 -0
- package/dist/{chunk-L6JPBJAS.js → chunk-EGZNOUMH.js} +3 -3
- package/dist/{chunk-DNBAMB5J.js → chunk-EVK6HH6Z.js} +1 -2
- package/dist/{chunk-DNBAMB5J.js.map → chunk-EVK6HH6Z.js.map} +1 -1
- package/dist/{chunk-BYTU2YC3.js → chunk-F5NWRF32.js} +3 -3
- package/dist/{chunk-RLGWMJD3.js → chunk-FRGTDZQT.js} +146 -11
- package/dist/chunk-FRGTDZQT.js.map +1 -0
- package/dist/{chunk-DYXEITK3.js → chunk-GF75O2EN.js} +4 -2
- package/dist/chunk-GF75O2EN.js.map +1 -0
- package/dist/{chunk-W7FLHT65.js → chunk-GTAS3QVC.js} +1 -2
- package/dist/{chunk-W7FLHT65.js.map → chunk-GTAS3QVC.js.map} +1 -1
- package/dist/{chunk-RQK5UPMP.js → chunk-H62XQZUM.js} +4 -3
- package/dist/chunk-H62XQZUM.js.map +1 -0
- package/dist/{chunk-UT2OPSN4.js → chunk-HCU3B6FW.js} +1 -2
- package/dist/chunk-HCU3B6FW.js.map +1 -0
- package/dist/chunk-HEDE2377.js +754 -0
- package/dist/chunk-HEDE2377.js.map +1 -0
- package/dist/{chunk-JZQHKDSY.js → chunk-HGIPWY5Y.js} +22 -11
- package/dist/chunk-HGIPWY5Y.js.map +1 -0
- package/dist/{chunk-Q2IAILVC.js → chunk-HSD24IP2.js} +8 -4
- package/dist/chunk-HSD24IP2.js.map +1 -0
- package/dist/{chunk-5YOCVEUB.js → chunk-HWQPEBID.js} +19 -15
- package/dist/chunk-HWQPEBID.js.map +1 -0
- package/dist/{chunk-SFUCUARB.js → chunk-IEHPTILN.js} +4 -4
- package/dist/chunk-IEHPTILN.js.map +1 -0
- package/dist/{chunk-C6NHEDHY.js → chunk-IEVLWEBO.js} +15 -14
- package/dist/chunk-IEVLWEBO.js.map +1 -0
- package/dist/{chunk-YUK3X3B4.js → chunk-IKJQOYI4.js} +1 -2
- package/dist/{chunk-YUK3X3B4.js.map → chunk-IKJQOYI4.js.map} +1 -1
- package/dist/{chunk-MHCMHKM6.js → chunk-IUXXZHY3.js} +17 -23
- package/dist/chunk-IUXXZHY3.js.map +1 -0
- package/dist/{chunk-ABTEGAFB.js → chunk-JBDFYIN2.js} +13 -14
- package/dist/chunk-JBDFYIN2.js.map +1 -0
- package/dist/{chunk-A7X4L4JM.js → chunk-JEBH5APX.js} +15 -15
- package/dist/chunk-JEBH5APX.js.map +1 -0
- package/dist/{chunk-H3BST2LI.js → chunk-JHI2PHHD.js} +1 -2
- package/dist/{chunk-H3BST2LI.js.map → chunk-JHI2PHHD.js.map} +1 -1
- package/dist/{chunk-EGB7V74Z.js → chunk-KAWDDS27.js} +1 -3
- package/dist/chunk-KAWDDS27.js.map +1 -0
- package/dist/{chunk-DP2PP5V2.js → chunk-KGC2OGXI.js} +5 -4
- package/dist/chunk-KGC2OGXI.js.map +1 -0
- package/dist/{chunk-FXFDBF3P.js → chunk-L4GMDSMB.js} +3 -3
- package/dist/{chunk-O7ODGJYL.js → chunk-L7FEZ7LU.js} +3 -3
- package/dist/{chunk-54NTYJEO.js → chunk-LPDLPRPS.js} +1 -3
- package/dist/{chunk-54NTYJEO.js.map → chunk-LPDLPRPS.js.map} +1 -1
- package/dist/{chunk-UGK4TAVK.js → chunk-LPLZLSMK.js} +1 -2
- package/dist/chunk-LPLZLSMK.js.map +1 -0
- package/dist/{chunk-5DLOHQJ2.js → chunk-M6E7VK4D.js} +14 -14
- package/dist/chunk-M6E7VK4D.js.map +1 -0
- package/dist/{chunk-2CC5VW7K.js → chunk-MIQ3ECZM.js} +4 -2
- package/dist/chunk-MIQ3ECZM.js.map +1 -0
- package/dist/chunk-MRXTUFBZ.js +30 -0
- package/dist/chunk-MRXTUFBZ.js.map +1 -0
- package/dist/{chunk-RO5IQEDQ.js → chunk-NJ42VNXG.js} +1 -2
- package/dist/chunk-NJ42VNXG.js.map +1 -0
- package/dist/{chunk-3T3RMDNX.js → chunk-NLXJMXVE.js} +3 -3
- package/dist/{chunk-E2ISWXLB.js → chunk-OQKNDS66.js} +1 -1
- package/dist/{chunk-E2ISWXLB.js.map → chunk-OQKNDS66.js.map} +1 -1
- package/dist/chunk-OSVZKYXS.js +946 -0
- package/dist/chunk-OSVZKYXS.js.map +1 -0
- package/dist/{chunk-LYDMMNL2.js → chunk-RHUEV4I7.js} +12 -13
- package/dist/chunk-RHUEV4I7.js.map +1 -0
- package/dist/{chunk-JALIYI6M.js → chunk-S4KVLPBR.js} +7 -2
- package/dist/chunk-S4KVLPBR.js.map +1 -0
- package/dist/{chunk-XRU5WXZX.js → chunk-SAOQW6ZJ.js} +15 -15
- package/dist/chunk-SAOQW6ZJ.js.map +1 -0
- package/dist/{chunk-CASCUFK2.js → chunk-SI4GMRXD.js} +14 -15
- package/dist/chunk-SI4GMRXD.js.map +1 -0
- package/dist/{chunk-HQ4KWN76.js → chunk-SYMNWNC3.js} +3 -3
- package/dist/{chunk-PJBQKMCD.js → chunk-TUNR4VUM.js} +3 -3
- package/dist/{chunk-XHCBHYN4.js → chunk-UAJYJP5C.js} +7 -2
- package/dist/chunk-UAJYJP5C.js.map +1 -0
- package/dist/{chunk-OPYQ5KIO.js → chunk-UYA3XL3J.js} +4 -2
- package/dist/chunk-UYA3XL3J.js.map +1 -0
- package/dist/{chunk-WL7HS7EM.js → chunk-V7JVMG63.js} +3 -3
- package/dist/{chunk-LAJJPLEV.js → chunk-VBYIDRNU.js} +7 -3
- package/dist/chunk-VBYIDRNU.js.map +1 -0
- package/dist/{chunk-NHS7WLEQ.js → chunk-VHED2STW.js} +11 -8
- package/dist/chunk-VHED2STW.js.map +1 -0
- package/dist/{chunk-JZT4QGIP.js → chunk-VIICUPWQ.js} +1 -2
- package/dist/{chunk-JZT4QGIP.js.map → chunk-VIICUPWQ.js.map} +1 -1
- package/dist/{chunk-TRTUHCS4.js → chunk-VLRSOWHP.js} +17 -15
- package/dist/chunk-VLRSOWHP.js.map +1 -0
- package/dist/chunk-W5ZLIQFR.js +764 -0
- package/dist/chunk-W5ZLIQFR.js.map +1 -0
- package/dist/{chunk-YGZMVNN5.js → chunk-WTSSEUOZ.js} +7 -2
- package/dist/chunk-WTSSEUOZ.js.map +1 -0
- package/dist/{chunk-OHROA3FQ.js → chunk-WWP2STF5.js} +7 -2
- package/dist/chunk-WWP2STF5.js.map +1 -0
- package/dist/{chunk-C6NHFMIP.js → chunk-XADEMW6B.js} +3 -3
- package/dist/{chunk-KTNDT45N.js → chunk-XEMLYWHK.js} +3 -3
- package/dist/{chunk-OZAEWZZ3.js → chunk-XFSEADPC.js} +6 -2
- package/dist/chunk-XFSEADPC.js.map +1 -0
- package/dist/{chunk-TWGVQLG2.js → chunk-XUUSWR4U.js} +1 -2
- package/dist/{chunk-TWGVQLG2.js.map → chunk-XUUSWR4U.js.map} +1 -1
- package/dist/{chunk-XLQI4IT2.js → chunk-YBVMZ7SR.js} +7 -2
- package/dist/chunk-YBVMZ7SR.js.map +1 -0
- package/dist/{chunk-E7RW3SBV.js → chunk-YRJICL2Q.js} +15 -15
- package/dist/chunk-YRJICL2Q.js.map +1 -0
- package/dist/{chunk-B6SXRCBO.js → chunk-ZM44MGC5.js} +3 -3
- package/dist/{chunk-YAVGCQUP.js → chunk-ZMREYTHA.js} +16 -15
- package/dist/chunk-ZMREYTHA.js.map +1 -0
- package/dist/{chunk-H3I2KZIY.js → chunk-ZPB3SLPK.js} +1 -2
- package/dist/{chunk-H3I2KZIY.js.map → chunk-ZPB3SLPK.js.map} +1 -1
- package/dist/chunk-ZPZQXHW2.js +1230 -0
- package/dist/chunk-ZPZQXHW2.js.map +1 -0
- package/dist/{config-34LHOGLM.js → config-2LASFFRD.js} +2 -4
- package/dist/config-3WDIJPTG.js +9 -0
- package/dist/config-4QV4QYI5.js +9 -0
- package/dist/{config-ZFJYQZCH.js → config-54USUVSE.js} +2 -4
- package/dist/config-5ZXN2T2H.js +9 -0
- package/dist/config-A2GQYJDB.js +9 -0
- package/dist/config-BBOLI7VE.js +9 -0
- package/dist/{config-VM526IKB.js → config-BIBFLUIR.js} +2 -4
- package/dist/{config-EO23EY62.js → config-CPYFOUQO.js} +2 -4
- package/dist/{config-3IVQJBNW.js → config-DWSJL3NH.js} +2 -4
- package/dist/config-E22XAGYN.js +9 -0
- package/dist/config-EHE52ZTK.js +9 -0
- package/dist/{config-GE4W4ZJC.js → config-EX3ZJTZI.js} +2 -4
- package/dist/{config-QNMKWJ4M.js → config-FRK7ZL37.js} +2 -4
- package/dist/{config-LHFFXVYI.js → config-HQXNFQZS.js} +2 -4
- package/dist/config-HTXOOAOD.js +9 -0
- package/dist/{config-HKRMKD76.js → config-IPNWAJHH.js} +2 -4
- package/dist/config-J2C53GOT.js +9 -0
- package/dist/config-K63RX6EU.js +9 -0
- package/dist/config-L7SBSH5L.js +9 -0
- package/dist/config-LEALEMKA.js +9 -0
- package/dist/{config-IVY5EQQ2.js → config-M3Z47VYU.js} +2 -4
- package/dist/{config-EIHSP5DZ.js → config-MZM3IPFM.js} +2 -4
- package/dist/{config-GHRUKEQ6.js → config-OJ2BPESH.js} +2 -4
- package/dist/{config-WDAZFXYD.js → config-QO2XUME4.js} +2 -4
- package/dist/config-QWQGOXQ5.js +9 -0
- package/dist/config-RI7IEZUF.js +9 -0
- package/dist/{config-CVZ2AGCO.js → config-SPW6NESU.js} +2 -6
- package/dist/{config-QAA646XB.js → config-T2IUIU5C.js} +2 -4
- package/dist/{config-NV5WXP64.js → config-UU27ALAA.js} +2 -4
- package/dist/config-VKKZGC7V.js +9 -0
- package/dist/config-W7EVPJNK.js +11 -0
- package/dist/config-WKQ3FGTZ.js +9 -0
- package/dist/config-WVILHDFV.js +11 -0
- package/dist/{config-Q45Y46YT.js → config-XU6D5C7E.js} +2 -4
- package/dist/databricks_volume-ETRDJVVQ.js +7 -0
- package/dist/digitalocean-QP72DR4J.js +10 -0
- package/dist/discord-BSN5RB3E.js +8 -0
- package/dist/disk-24NWTN2I.js +7 -0
- package/dist/dropbox-OSTZXSIE.js +8 -0
- package/dist/email-4ZFPSWIN.js +8 -0
- package/dist/gcs-PFWR6MIW.js +10 -0
- package/dist/gdocs-GPAZRQG5.js +8 -0
- package/dist/gdrive-XSX6A7B3.js +8 -0
- package/dist/github-EQ4NXUTA.js +8 -0
- package/dist/github_ci-QL5B2Q2N.js +8 -0
- package/dist/gmail-2TBT4CVH.js +8 -0
- package/dist/gridfs-KZRZ6SIB.js +9 -0
- package/dist/gsheets-N53WEXN2.js +8 -0
- package/dist/gslides-TATSARTH.js +8 -0
- package/dist/hf_buckets-BK7NGJWS.js +10 -0
- package/dist/hf_datasets-UQ5QGM4L.js +10 -0
- package/dist/hf_models-75LFCQCS.js +10 -0
- package/dist/hf_spaces-6T2KB3UC.js +10 -0
- package/dist/index.d.ts +599 -79
- package/dist/index.js +1515 -422
- package/dist/index.js.map +1 -1
- package/dist/langfuse-AMQCQWNE.js +8 -0
- package/dist/linear-V3TXO6CV.js +8 -0
- package/dist/minio-IZRZY4C5.js +10 -0
- package/dist/mongodb-VMKPQCPX.js +7 -0
- package/dist/nextcloud-5RHQCGDO.js +9 -0
- package/dist/notion-6PPNTQFM.js +8 -0
- package/dist/oci-CKYBSFZJ.js +10 -0
- package/dist/postgres-WIQBVL5M.js +7 -0
- package/dist/qingstor-AP4IIPLY.js +10 -0
- package/dist/r2-C4XGEWQY.js +10 -0
- package/dist/redis-6D55Q2WB.js +8 -0
- package/dist/s3-XQBI2CXN.js +8 -0
- package/dist/scaleway-SEZJVURB.js +10 -0
- package/dist/seaweedfs-3XYIAFU2.js +10 -0
- package/dist/slack-ZHXDJQY4.js +8 -0
- package/dist/ssh-X2MO7JOV.js +8 -0
- package/dist/supabase-BBM44UTM.js +10 -0
- package/dist/supabase-BBM44UTM.js.map +1 -0
- package/dist/tencent-X72USLJ7.js +10 -0
- package/dist/tencent-X72USLJ7.js.map +1 -0
- package/dist/trello-EER5NG7L.js +8 -0
- package/dist/trello-EER5NG7L.js.map +1 -0
- package/dist/wasabi-O4MVIUFG.js +10 -0
- package/dist/wasabi-O4MVIUFG.js.map +1 -0
- package/package.json +9 -5
- package/dist/aliyun-TMZRUYCG.js +0 -10
- package/dist/backblaze-OHW57DLK.js +0 -10
- package/dist/box-UXTCAFOZ.js +0 -8
- package/dist/ceph-TNN4I2FT.js +0 -10
- package/dist/chunk-2CC5VW7K.js.map +0 -1
- package/dist/chunk-5DLOHQJ2.js.map +0 -1
- package/dist/chunk-5HCVKTP3.js +0 -2086
- package/dist/chunk-5HCVKTP3.js.map +0 -1
- package/dist/chunk-5YOCVEUB.js.map +0 -1
- package/dist/chunk-A4Z6DZ22.js.map +0 -1
- package/dist/chunk-A7X4L4JM.js.map +0 -1
- package/dist/chunk-ABTEGAFB.js.map +0 -1
- package/dist/chunk-B2ZOKNN4.js.map +0 -1
- package/dist/chunk-C6NHEDHY.js.map +0 -1
- package/dist/chunk-CASCUFK2.js.map +0 -1
- package/dist/chunk-DP2PP5V2.js.map +0 -1
- package/dist/chunk-DTAY7LPC.js.map +0 -1
- package/dist/chunk-DYXEITK3.js.map +0 -1
- package/dist/chunk-E7RW3SBV.js.map +0 -1
- package/dist/chunk-EGB7V74Z.js.map +0 -1
- package/dist/chunk-ERELJ7BS.js.map +0 -1
- package/dist/chunk-HEHERHQ5.js.map +0 -1
- package/dist/chunk-JALIYI6M.js.map +0 -1
- package/dist/chunk-JZQHKDSY.js.map +0 -1
- package/dist/chunk-LAJJPLEV.js.map +0 -1
- package/dist/chunk-LYDMMNL2.js.map +0 -1
- package/dist/chunk-MHCMHKM6.js.map +0 -1
- package/dist/chunk-N72CAZEH.js +0 -1990
- package/dist/chunk-N72CAZEH.js.map +0 -1
- package/dist/chunk-NHS7WLEQ.js.map +0 -1
- package/dist/chunk-NJMGCT63.js.map +0 -1
- package/dist/chunk-OHROA3FQ.js.map +0 -1
- package/dist/chunk-OPYQ5KIO.js.map +0 -1
- package/dist/chunk-OZAEWZZ3.js.map +0 -1
- package/dist/chunk-PBBG7VFT.js +0 -1896
- package/dist/chunk-PBBG7VFT.js.map +0 -1
- package/dist/chunk-Q2IAILVC.js.map +0 -1
- package/dist/chunk-QGRDPSAH.js.map +0 -1
- package/dist/chunk-RLGWMJD3.js.map +0 -1
- package/dist/chunk-RO5IQEDQ.js.map +0 -1
- package/dist/chunk-RQK5UPMP.js.map +0 -1
- package/dist/chunk-SFUCUARB.js.map +0 -1
- package/dist/chunk-TRTUHCS4.js.map +0 -1
- package/dist/chunk-U6QSXTUS.js +0 -7
- package/dist/chunk-U6QSXTUS.js.map +0 -1
- package/dist/chunk-UGK4TAVK.js.map +0 -1
- package/dist/chunk-UT2OPSN4.js.map +0 -1
- package/dist/chunk-VGLHY6BK.js.map +0 -1
- package/dist/chunk-WSGEIVY3.js +0 -1766
- package/dist/chunk-WSGEIVY3.js.map +0 -1
- package/dist/chunk-XGJ2QERC.js.map +0 -1
- package/dist/chunk-XHCBHYN4.js.map +0 -1
- package/dist/chunk-XLQI4IT2.js.map +0 -1
- package/dist/chunk-XRU5WXZX.js.map +0 -1
- package/dist/chunk-YAVGCQUP.js.map +0 -1
- package/dist/chunk-YGZMVNN5.js.map +0 -1
- package/dist/chunk-YPT4JBUY.js.map +0 -1
- package/dist/chunk-ZNWVJ6UW.js.map +0 -1
- package/dist/config-3BBWD5AB.js +0 -11
- package/dist/config-4UDVSUQJ.js +0 -11
- package/dist/config-CMDBAPDH.js +0 -11
- package/dist/config-D3RLSPNF.js +0 -11
- package/dist/config-DG65OEG3.js +0 -11
- package/dist/config-GCQK6NJY.js +0 -11
- package/dist/config-GVH27UPE.js +0 -11
- package/dist/config-HXVYIXP5.js +0 -11
- package/dist/config-IDZMEW73.js +0 -11
- package/dist/config-IJJXGLBQ.js +0 -11
- package/dist/config-KJOLGVB2.js +0 -11
- package/dist/config-KMVCVBYN.js +0 -15
- package/dist/config-KYTRXAB2.js +0 -15
- package/dist/config-OT2TQQCN.js +0 -11
- package/dist/config-QWCY3LBQ.js +0 -11
- package/dist/config-ZV6G2ZEC.js +0 -11
- package/dist/databricks_volume-HNQ4DJVJ.js +0 -7
- package/dist/digitalocean-6SPR4S7V.js +0 -10
- package/dist/discord-SAV2RBJV.js +0 -8
- package/dist/disk-POACMF4G.js +0 -8
- package/dist/dropbox-CQ7MTYX2.js +0 -8
- package/dist/email-KBQ7CXS7.js +0 -8
- package/dist/gcs-SMIE4VMT.js +0 -10
- package/dist/gdocs-X5Y2SIQX.js +0 -8
- package/dist/gdrive-SIQPRIGI.js +0 -8
- package/dist/github-KBHWANKQ.js +0 -8
- package/dist/github_ci-HPITNK37.js +0 -8
- package/dist/gmail-DKHAGJNX.js +0 -8
- package/dist/gsheets-ZSUDIWGK.js +0 -8
- package/dist/gslides-GYXM7IMJ.js +0 -8
- package/dist/hf_buckets-RIOMV7WG.js +0 -10
- package/dist/hf_datasets-QF4BQ3OK.js +0 -10
- package/dist/hf_models-62GC2HPZ.js +0 -10
- package/dist/hf_spaces-NVSMUNRM.js +0 -10
- package/dist/langfuse-HUAYVPHF.js +0 -8
- package/dist/linear-2MM55KBC.js +0 -8
- package/dist/minio-L3XE6PQS.js +0 -10
- package/dist/mongodb-ZOX4FRHJ.js +0 -7
- package/dist/notion-UK4GTMT4.js +0 -8
- package/dist/oci-NURLWPL2.js +0 -10
- package/dist/postgres-JNFMPAO2.js +0 -7
- package/dist/qingstor-W55D5YFO.js +0 -10
- package/dist/r2-FSZK7IFI.js +0 -10
- package/dist/redis-S6GIPA4Z.js +0 -8
- package/dist/s3-GMPUJ65D.js +0 -8
- package/dist/scaleway-5VM55Y6D.js +0 -10
- package/dist/seaweedfs-J3EPUEPE.js +0 -10
- package/dist/slack-FVBXY7KD.js +0 -8
- package/dist/ssh-GCXETJ3Z.js +0 -9
- package/dist/supabase-HLWNHBBE.js +0 -10
- package/dist/tencent-YDO73XBD.js +0 -10
- package/dist/trello-CQ53BQUL.js +0 -8
- package/dist/wasabi-SOZKPMRQ.js +0 -10
- /package/dist/{aliyun-TMZRUYCG.js.map → aliyun-PGI57A43.js.map} +0 -0
- /package/dist/{backblaze-OHW57DLK.js.map → backblaze-TSPL6Y56.js.map} +0 -0
- /package/dist/{box-UXTCAFOZ.js.map → box-7XTZYDSO.js.map} +0 -0
- /package/dist/{ceph-TNN4I2FT.js.map → ceph-C265UI5T.js.map} +0 -0
- /package/dist/{chunk-IQVNVTOP.js.map → chunk-25W4XQJZ.js.map} +0 -0
- /package/dist/{chunk-G5BZE7UA.js.map → chunk-4M73WHIE.js.map} +0 -0
- /package/dist/{chunk-Q6CDMOM6.js.map → chunk-4X6CLF4F.js.map} +0 -0
- /package/dist/{chunk-3IJSIVKT.js.map → chunk-5I7Q7RHW.js.map} +0 -0
- /package/dist/{chunk-OYV2DN66.js.map → chunk-BWWU5T2D.js.map} +0 -0
- /package/dist/{chunk-AJICZLHT.js.map → chunk-CXQGMFI7.js.map} +0 -0
- /package/dist/{chunk-RQYEEA2O.js.map → chunk-DXU7NZPH.js.map} +0 -0
- /package/dist/{chunk-L6JPBJAS.js.map → chunk-EGZNOUMH.js.map} +0 -0
- /package/dist/{chunk-BYTU2YC3.js.map → chunk-F5NWRF32.js.map} +0 -0
- /package/dist/{chunk-FXFDBF3P.js.map → chunk-L4GMDSMB.js.map} +0 -0
- /package/dist/{chunk-O7ODGJYL.js.map → chunk-L7FEZ7LU.js.map} +0 -0
- /package/dist/{chunk-3T3RMDNX.js.map → chunk-NLXJMXVE.js.map} +0 -0
- /package/dist/{chunk-HQ4KWN76.js.map → chunk-SYMNWNC3.js.map} +0 -0
- /package/dist/{chunk-PJBQKMCD.js.map → chunk-TUNR4VUM.js.map} +0 -0
- /package/dist/{chunk-WL7HS7EM.js.map → chunk-V7JVMG63.js.map} +0 -0
- /package/dist/{chunk-C6NHFMIP.js.map → chunk-XADEMW6B.js.map} +0 -0
- /package/dist/{chunk-KTNDT45N.js.map → chunk-XEMLYWHK.js.map} +0 -0
- /package/dist/{chunk-B6SXRCBO.js.map → chunk-ZM44MGC5.js.map} +0 -0
- /package/dist/{config-34LHOGLM.js.map → config-2LASFFRD.js.map} +0 -0
- /package/dist/{config-3BBWD5AB.js.map → config-3WDIJPTG.js.map} +0 -0
- /package/dist/{config-3IVQJBNW.js.map → config-4QV4QYI5.js.map} +0 -0
- /package/dist/{config-4UDVSUQJ.js.map → config-54USUVSE.js.map} +0 -0
- /package/dist/{config-CMDBAPDH.js.map → config-5ZXN2T2H.js.map} +0 -0
- /package/dist/{config-CVZ2AGCO.js.map → config-A2GQYJDB.js.map} +0 -0
- /package/dist/{config-D3RLSPNF.js.map → config-BBOLI7VE.js.map} +0 -0
- /package/dist/{config-DG65OEG3.js.map → config-BIBFLUIR.js.map} +0 -0
- /package/dist/{config-EIHSP5DZ.js.map → config-CPYFOUQO.js.map} +0 -0
- /package/dist/{config-EO23EY62.js.map → config-DWSJL3NH.js.map} +0 -0
- /package/dist/{config-GCQK6NJY.js.map → config-E22XAGYN.js.map} +0 -0
- /package/dist/{config-GE4W4ZJC.js.map → config-EHE52ZTK.js.map} +0 -0
- /package/dist/{config-GHRUKEQ6.js.map → config-EX3ZJTZI.js.map} +0 -0
- /package/dist/{config-GVH27UPE.js.map → config-FRK7ZL37.js.map} +0 -0
- /package/dist/{config-HKRMKD76.js.map → config-HQXNFQZS.js.map} +0 -0
- /package/dist/{config-HXVYIXP5.js.map → config-HTXOOAOD.js.map} +0 -0
- /package/dist/{config-IDZMEW73.js.map → config-IPNWAJHH.js.map} +0 -0
- /package/dist/{config-IJJXGLBQ.js.map → config-J2C53GOT.js.map} +0 -0
- /package/dist/{config-IVY5EQQ2.js.map → config-K63RX6EU.js.map} +0 -0
- /package/dist/{config-KJOLGVB2.js.map → config-L7SBSH5L.js.map} +0 -0
- /package/dist/{config-KMVCVBYN.js.map → config-LEALEMKA.js.map} +0 -0
- /package/dist/{config-KYTRXAB2.js.map → config-M3Z47VYU.js.map} +0 -0
- /package/dist/{config-LHFFXVYI.js.map → config-MZM3IPFM.js.map} +0 -0
- /package/dist/{config-NV5WXP64.js.map → config-OJ2BPESH.js.map} +0 -0
- /package/dist/{config-OT2TQQCN.js.map → config-QO2XUME4.js.map} +0 -0
- /package/dist/{config-Q45Y46YT.js.map → config-QWQGOXQ5.js.map} +0 -0
- /package/dist/{config-QAA646XB.js.map → config-RI7IEZUF.js.map} +0 -0
- /package/dist/{config-QNMKWJ4M.js.map → config-SPW6NESU.js.map} +0 -0
- /package/dist/{config-QWCY3LBQ.js.map → config-T2IUIU5C.js.map} +0 -0
- /package/dist/{config-VM526IKB.js.map → config-UU27ALAA.js.map} +0 -0
- /package/dist/{config-WDAZFXYD.js.map → config-VKKZGC7V.js.map} +0 -0
- /package/dist/{config-ZFJYQZCH.js.map → config-W7EVPJNK.js.map} +0 -0
- /package/dist/{config-ZV6G2ZEC.js.map → config-WKQ3FGTZ.js.map} +0 -0
- /package/dist/{databricks_volume-HNQ4DJVJ.js.map → config-WVILHDFV.js.map} +0 -0
- /package/dist/{digitalocean-6SPR4S7V.js.map → config-XU6D5C7E.js.map} +0 -0
- /package/dist/{discord-SAV2RBJV.js.map → databricks_volume-ETRDJVVQ.js.map} +0 -0
- /package/dist/{disk-POACMF4G.js.map → digitalocean-QP72DR4J.js.map} +0 -0
- /package/dist/{dropbox-CQ7MTYX2.js.map → discord-BSN5RB3E.js.map} +0 -0
- /package/dist/{email-KBQ7CXS7.js.map → disk-24NWTN2I.js.map} +0 -0
- /package/dist/{gcs-SMIE4VMT.js.map → dropbox-OSTZXSIE.js.map} +0 -0
- /package/dist/{gdocs-X5Y2SIQX.js.map → email-4ZFPSWIN.js.map} +0 -0
- /package/dist/{gdrive-SIQPRIGI.js.map → gcs-PFWR6MIW.js.map} +0 -0
- /package/dist/{github-KBHWANKQ.js.map → gdocs-GPAZRQG5.js.map} +0 -0
- /package/dist/{github_ci-HPITNK37.js.map → gdrive-XSX6A7B3.js.map} +0 -0
- /package/dist/{gmail-DKHAGJNX.js.map → github-EQ4NXUTA.js.map} +0 -0
- /package/dist/{gsheets-ZSUDIWGK.js.map → github_ci-QL5B2Q2N.js.map} +0 -0
- /package/dist/{gslides-GYXM7IMJ.js.map → gmail-2TBT4CVH.js.map} +0 -0
- /package/dist/{hf_buckets-RIOMV7WG.js.map → gridfs-KZRZ6SIB.js.map} +0 -0
- /package/dist/{hf_datasets-QF4BQ3OK.js.map → gsheets-N53WEXN2.js.map} +0 -0
- /package/dist/{hf_models-62GC2HPZ.js.map → gslides-TATSARTH.js.map} +0 -0
- /package/dist/{hf_spaces-NVSMUNRM.js.map → hf_buckets-BK7NGJWS.js.map} +0 -0
- /package/dist/{langfuse-HUAYVPHF.js.map → hf_datasets-UQ5QGM4L.js.map} +0 -0
- /package/dist/{linear-2MM55KBC.js.map → hf_models-75LFCQCS.js.map} +0 -0
- /package/dist/{minio-L3XE6PQS.js.map → hf_spaces-6T2KB3UC.js.map} +0 -0
- /package/dist/{mongodb-ZOX4FRHJ.js.map → langfuse-AMQCQWNE.js.map} +0 -0
- /package/dist/{notion-UK4GTMT4.js.map → linear-V3TXO6CV.js.map} +0 -0
- /package/dist/{oci-NURLWPL2.js.map → minio-IZRZY4C5.js.map} +0 -0
- /package/dist/{postgres-JNFMPAO2.js.map → mongodb-VMKPQCPX.js.map} +0 -0
- /package/dist/{qingstor-W55D5YFO.js.map → nextcloud-5RHQCGDO.js.map} +0 -0
- /package/dist/{r2-FSZK7IFI.js.map → notion-6PPNTQFM.js.map} +0 -0
- /package/dist/{redis-S6GIPA4Z.js.map → oci-CKYBSFZJ.js.map} +0 -0
- /package/dist/{s3-GMPUJ65D.js.map → postgres-WIQBVL5M.js.map} +0 -0
- /package/dist/{scaleway-5VM55Y6D.js.map → qingstor-AP4IIPLY.js.map} +0 -0
- /package/dist/{seaweedfs-J3EPUEPE.js.map → r2-C4XGEWQY.js.map} +0 -0
- /package/dist/{slack-FVBXY7KD.js.map → redis-6D55Q2WB.js.map} +0 -0
- /package/dist/{ssh-GCXETJ3Z.js.map → s3-XQBI2CXN.js.map} +0 -0
- /package/dist/{supabase-HLWNHBBE.js.map → scaleway-SEZJVURB.js.map} +0 -0
- /package/dist/{tencent-YDO73XBD.js.map → seaweedfs-3XYIAFU2.js.map} +0 -0
- /package/dist/{trello-CQ53BQUL.js.map → slack-ZHXDJQY4.js.map} +0 -0
- /package/dist/{wasabi-SOZKPMRQ.js.map → ssh-X2MO7JOV.js.map} +0 -0
package/dist/index.d.ts
CHANGED
|
@@ -1,27 +1,50 @@
|
|
|
1
|
-
import { Workspace as Workspace$1,
|
|
1
|
+
import { Resource, MountMode, CommandSafeguard, WorkspaceOptions, Workspace as Workspace$1, MountSpec, ExecuteOptions, ExecuteResult, ProvisionResult, Accessor, BaseResource, RegisteredOp, RegisteredCommand, PathSpec, FileStat, FindOptions, ObserverStore, NamespaceStore, NodeFields, SessionStore, SessionFields, WorkspaceStateStore, WorkspaceStateStoreOverrides, WorkspaceFields, REDACTED_SECRET, CommandOpts, FileCache, Session, OpRecord, S3Config as S3Config$1, S3ConfigRedacted as S3ConfigRedacted$1, S3Accessor, DatabricksVolumeConfig, DatabricksVolumeAccessor, DatabricksVolumeConfigRedacted, ResourceName, PgDriver, PostgresConfigResolved, PgQueryResult, PostgresAccessor, PostgresConfig, MongoDriver, EntityKind, MongoCollectionSpec, MongoFindOptions, MongoIterOptions, MongoIndexAccess, MongoDBConfigResolved, MongoDBAccessor, MongoDBConfig, LanceDriver, LanceDBConfigResolved, LanceRow, LanceDBAccessor, LanceDBConfig, SlackAccessor, DiscordAccessor, TrelloAccessor, LinearAccessor, NotionAccessor, LangfuseAccessor, GitHubAccessor, GitHubCIAccessor, GDocsAccessor, GSheetsAccessor, GSlidesAccessor, GDriveAccessor, DropboxAccessor, BoxAccessor, GoogleConfig, GmailAccessor, GoogleConfigRedacted } from '@struktoai/mirage-core';
|
|
2
2
|
export * from '@struktoai/mirage-core';
|
|
3
3
|
export { GoogleConfig as GmailConfig, GoogleConfigRedacted as GmailConfigRedacted, normalizeGoogleConfig as normalizeGmailConfig, redactGoogleConfig as redactGmailConfig } from '@struktoai/mirage-core';
|
|
4
|
+
import { FileHandle } from 'node:fs/promises';
|
|
4
5
|
import { RedisClientType } from 'redis';
|
|
6
|
+
import { MongoClient, Db } from 'mongodb';
|
|
5
7
|
import { Operator } from 'opendal';
|
|
6
8
|
import { SFTPWrapper } from 'ssh2';
|
|
7
9
|
import { ImapFlow } from 'imapflow';
|
|
8
10
|
|
|
9
|
-
interface
|
|
10
|
-
/**
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
fuseMounts?: Record<string, boolean | string>;
|
|
11
|
+
interface MountSpecOptions {
|
|
12
|
+
/** Per-mount mode override; falls back to the workspace default when unset. */
|
|
13
|
+
mode?: MountMode;
|
|
14
|
+
/** `true` mounts at a temp dir; a string pins the mountpoint to that path. */
|
|
15
|
+
fuse?: boolean | string;
|
|
16
|
+
commandSafeguards?: Record<string, CommandSafeguard>;
|
|
16
17
|
}
|
|
18
|
+
declare class Mount {
|
|
19
|
+
readonly resource: Resource;
|
|
20
|
+
readonly options: MountSpecOptions;
|
|
21
|
+
constructor(resource: Resource, options?: MountSpecOptions);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
type NodeWorkspaceOptions = WorkspaceOptions;
|
|
17
25
|
declare class Workspace extends Workspace$1 {
|
|
18
|
-
private readonly autoFuseManagers;
|
|
19
|
-
private readonly fuseMountpointsMap;
|
|
20
26
|
private fuseSetupPromise;
|
|
21
|
-
|
|
22
|
-
|
|
27
|
+
private readonly fuseMountpointsMap;
|
|
28
|
+
private readonly fuseManagers;
|
|
29
|
+
constructor(resources: Record<string, MountSpec | Mount>, options?: NodeWorkspaceOptions);
|
|
30
|
+
private registerFuseMount;
|
|
31
|
+
/**
|
|
32
|
+
* Mount a workspace subtree under FUSE and own its lifecycle. Each mount gets
|
|
33
|
+
* its own {@link FuseManager}, so a workspace can expose any number of FUSE
|
|
34
|
+
* subtrees at once. A pinned mountpoint is collision-checked BEFORE mounting,
|
|
35
|
+
* so a clash never leaves a partial kernel mount.
|
|
36
|
+
*
|
|
37
|
+
* A session-bound mount (`sessionId` given) runs every op under that
|
|
38
|
+
* session's mount grants (the kernel-tier primitive: bind-mount the tree
|
|
39
|
+
* into a container and the narrowing travels with it); it is keyed
|
|
40
|
+
* separately so the same prefix can also be exposed unbound.
|
|
41
|
+
*/
|
|
42
|
+
addFuseMount(prefix: string, mountpoint?: string, sessionId?: string): Promise<string>;
|
|
43
|
+
removeFuseMount(prefix: string, sessionId?: string): Promise<void>;
|
|
23
44
|
get fuseMountpoints(): Record<string, string>;
|
|
24
|
-
|
|
45
|
+
get fuseMountpoint(): string | null;
|
|
46
|
+
/** Await the eager per-mount fuse mounts started in the constructor. */
|
|
47
|
+
fuseReady(): Promise<void>;
|
|
25
48
|
execute(command: string, options?: ExecuteOptions & {
|
|
26
49
|
provision?: false | undefined;
|
|
27
50
|
}): Promise<ExecuteResult>;
|
|
@@ -43,10 +66,11 @@ interface DiskResourceOptions {
|
|
|
43
66
|
interface DiskResourceState {
|
|
44
67
|
type: string;
|
|
45
68
|
files: Record<string, Uint8Array>;
|
|
69
|
+
modes?: Record<string, number>;
|
|
46
70
|
}
|
|
47
71
|
declare class DiskResource extends BaseResource implements Resource {
|
|
48
72
|
readonly kind: "disk";
|
|
49
|
-
readonly
|
|
73
|
+
readonly cachesReads: boolean;
|
|
50
74
|
readonly indexTtl: number;
|
|
51
75
|
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.";
|
|
52
76
|
readonly root: string;
|
|
@@ -75,7 +99,6 @@ declare class DiskResource extends BaseResource implements Resource {
|
|
|
75
99
|
rmR(p: PathSpec): Promise<void>;
|
|
76
100
|
du(p: PathSpec): Promise<number>;
|
|
77
101
|
find(p: PathSpec, options?: FindOptions): Promise<string[]>;
|
|
78
|
-
fingerprint(p: PathSpec): Promise<string | null>;
|
|
79
102
|
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
80
103
|
getState(): Promise<DiskResourceState>;
|
|
81
104
|
loadState(state: DiskResourceState): Promise<void>;
|
|
@@ -85,6 +108,279 @@ declare const DISK_PROMPT = "{prefix}\n Local disk filesystem. Mirrors the conf
|
|
|
85
108
|
|
|
86
109
|
declare const DISK_OPS: readonly RegisteredOp[];
|
|
87
110
|
|
|
111
|
+
/**
|
|
112
|
+
* ObserverStore backed by a directory of JSONL files. Created lazily on
|
|
113
|
+
* first append. Mirrors the Python DiskObserverStore.
|
|
114
|
+
*/
|
|
115
|
+
declare class DiskObserverStore implements ObserverStore {
|
|
116
|
+
private readonly root;
|
|
117
|
+
constructor(root: string);
|
|
118
|
+
private abs;
|
|
119
|
+
append(key: string, data: Uint8Array): Promise<void>;
|
|
120
|
+
write(key: string, data: Uint8Array): Promise<void>;
|
|
121
|
+
readAll(): Promise<Map<string, Uint8Array>>;
|
|
122
|
+
readMatching(suffix: string): Promise<Map<string, Uint8Array>>;
|
|
123
|
+
clear(): Promise<void>;
|
|
124
|
+
close(): Promise<void>;
|
|
125
|
+
private walk;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
interface RedisObserverStoreOptions {
|
|
129
|
+
url?: string;
|
|
130
|
+
keyPrefix?: string;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* ObserverStore backed by Redis strings (one key per JSONL file).
|
|
134
|
+
*
|
|
135
|
+
* Appends use the atomic Redis APPEND command; an index set tracks which
|
|
136
|
+
* file keys exist so readAll needs no SCAN. Mirrors the Python
|
|
137
|
+
* RedisObserverStore.
|
|
138
|
+
*/
|
|
139
|
+
declare class RedisObserverStore implements ObserverStore {
|
|
140
|
+
readonly url: string;
|
|
141
|
+
private readonly prefix;
|
|
142
|
+
private readonly indexKey;
|
|
143
|
+
private clientPromise;
|
|
144
|
+
constructor(options?: RedisObserverStoreOptions);
|
|
145
|
+
private client;
|
|
146
|
+
append(key: string, data: Uint8Array): Promise<void>;
|
|
147
|
+
write(key: string, data: Uint8Array): Promise<void>;
|
|
148
|
+
readAll(): Promise<Map<string, Uint8Array>>;
|
|
149
|
+
readMatching(suffix: string): Promise<Map<string, Uint8Array>>;
|
|
150
|
+
private indexedPaths;
|
|
151
|
+
private readPaths;
|
|
152
|
+
clear(): Promise<void>;
|
|
153
|
+
close(): Promise<void>;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* NamespaceStore backed by one `namespace.json` per workspace.
|
|
158
|
+
*
|
|
159
|
+
* The whole plane is one human-readable record
|
|
160
|
+
* `{"nodes": {path: fields}, "user": ...}`: the namespace is bound to
|
|
161
|
+
* the workspace, so it serializes as one JSON file, not per-node
|
|
162
|
+
* files. Read-modify-writes take the record's lockfile so concurrent
|
|
163
|
+
* local processes never lose a node upsert; the write itself stays
|
|
164
|
+
* tmp-then-rename atomic, so readers never see a torn file. Mirrors
|
|
165
|
+
* the Python DiskNamespaceStore byte-for-byte on disk.
|
|
166
|
+
*/
|
|
167
|
+
declare class DiskNamespaceStore extends NamespaceStore {
|
|
168
|
+
private readonly records;
|
|
169
|
+
constructor(root: string);
|
|
170
|
+
private state;
|
|
171
|
+
private write;
|
|
172
|
+
load(): Promise<Map<string, NodeFields>>;
|
|
173
|
+
set(path: string, fields: NodeFields): Promise<void>;
|
|
174
|
+
delete(paths: readonly string[]): Promise<void>;
|
|
175
|
+
replaceAll(entries: Map<string, NodeFields>): Promise<void>;
|
|
176
|
+
loadUser(): Promise<string | null>;
|
|
177
|
+
setUser(user: string): Promise<void>;
|
|
178
|
+
clear(): Promise<void>;
|
|
179
|
+
close(): Promise<void>;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
interface RedisNamespaceStoreOptions {
|
|
183
|
+
url?: string;
|
|
184
|
+
keyPrefix?: string;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* NamespaceStore backed by one Redis hash (path -> JSON fields).
|
|
188
|
+
*
|
|
189
|
+
* Symlinks and attribute overlays survive process restarts and are visible
|
|
190
|
+
* to any workspace pointed at the same key prefix. Writes are
|
|
191
|
+
* single-command (HSET/HDEL) so mutations stay one round trip. Mirrors the
|
|
192
|
+
* Python RedisNamespaceStore.
|
|
193
|
+
*/
|
|
194
|
+
declare class RedisNamespaceStore extends NamespaceStore {
|
|
195
|
+
readonly url: string;
|
|
196
|
+
private readonly key;
|
|
197
|
+
private readonly userKey;
|
|
198
|
+
private clientPromise;
|
|
199
|
+
constructor(options?: RedisNamespaceStoreOptions);
|
|
200
|
+
private client;
|
|
201
|
+
load(): Promise<Map<string, NodeFields>>;
|
|
202
|
+
set(path: string, fields: NodeFields): Promise<void>;
|
|
203
|
+
delete(paths: readonly string[]): Promise<void>;
|
|
204
|
+
replaceAll(entries: Map<string, NodeFields>): Promise<void>;
|
|
205
|
+
loadUser(): Promise<string | null>;
|
|
206
|
+
setUser(user: string): Promise<void>;
|
|
207
|
+
clear(): Promise<void>;
|
|
208
|
+
close(): Promise<void>;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* One JSON-record-per-file client with lockfile CAS.
|
|
213
|
+
*
|
|
214
|
+
* The disk twin of `S3RecordClient`: a record is one file at
|
|
215
|
+
* `{root}/{prefix}{name}.json`, written atomically (tmp then rename(2))
|
|
216
|
+
* so readers never see a torn record. The conditional write serializes
|
|
217
|
+
* on a `{record}.lock` created with O_CREAT|O_EXCL, so compare and
|
|
218
|
+
* write hit the same stored version. Record names are percent-encoded
|
|
219
|
+
* into filenames, so any id is safe. Mirrors the Python
|
|
220
|
+
* DiskRecordClient byte-for-byte on disk.
|
|
221
|
+
*/
|
|
222
|
+
declare class DiskRecordClient {
|
|
223
|
+
private readonly dir;
|
|
224
|
+
constructor(root: string, prefix: string);
|
|
225
|
+
recordPath(name: string): string;
|
|
226
|
+
get(name: string): Promise<[Record<string, unknown> | null, string]>;
|
|
227
|
+
put(name: string, fields: Record<string, unknown>): Promise<void>;
|
|
228
|
+
/**
|
|
229
|
+
* Write one record iff its stored generation matches.
|
|
230
|
+
*
|
|
231
|
+
* Take the record's lockfile, re-read under the lock, check the
|
|
232
|
+
* generation, then tmp-write + rename. Losing the lock race or the
|
|
233
|
+
* generation check resolves false; the caller adopts and retries.
|
|
234
|
+
*/
|
|
235
|
+
casPut(name: string, fields: Record<string, unknown>, expectedGeneration: number): Promise<boolean>;
|
|
236
|
+
listNames(): Promise<string[]>;
|
|
237
|
+
loadAll(): Promise<Map<string, Record<string, unknown>>>;
|
|
238
|
+
delete(names: Iterable<string>): Promise<void>;
|
|
239
|
+
clear(): Promise<void>;
|
|
240
|
+
close(): Promise<void>;
|
|
241
|
+
/**
|
|
242
|
+
* Block until this record's lockfile is held; handle to release.
|
|
243
|
+
*
|
|
244
|
+
* For callers doing a read-modify-write that is not generation-CAS
|
|
245
|
+
* (e.g. the single-file namespace plane); spins past contention and
|
|
246
|
+
* reclaims stale locks, throwing only if a live writer holds the
|
|
247
|
+
* lock for the whole retry budget (~10s).
|
|
248
|
+
*/
|
|
249
|
+
lock(name: string): Promise<FileHandle>;
|
|
250
|
+
unlock(name: string, fh: FileHandle): Promise<void>;
|
|
251
|
+
private acquireLock;
|
|
252
|
+
private reclaimStaleLock;
|
|
253
|
+
private releaseLock;
|
|
254
|
+
private writeRecord;
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* SessionStore backed by per-session files under one directory.
|
|
258
|
+
*
|
|
259
|
+
* One file per session at `{root}/sessions/{session_id}.json`, lockfile
|
|
260
|
+
* CAS per record, so multiple local processes share one session table
|
|
261
|
+
* with the same generation contract as the Redis Lua script, with zero
|
|
262
|
+
* infrastructure. Mirrors the Python DiskSessionStore.
|
|
263
|
+
*/
|
|
264
|
+
declare class DiskSessionStore extends SessionStore {
|
|
265
|
+
private readonly records;
|
|
266
|
+
constructor(root: string);
|
|
267
|
+
load(): Promise<Map<string, SessionFields>>;
|
|
268
|
+
set(sessionId: string, fields: SessionFields): Promise<void>;
|
|
269
|
+
casSet(sessionId: string, fields: SessionFields, expectedGeneration: number): Promise<boolean>;
|
|
270
|
+
delete(sessionIds: readonly string[]): Promise<void>;
|
|
271
|
+
replaceAll(entries: Map<string, SessionFields>): Promise<void>;
|
|
272
|
+
clear(): Promise<void>;
|
|
273
|
+
close(): Promise<void>;
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
interface RedisSessionStoreOptions {
|
|
277
|
+
url?: string;
|
|
278
|
+
keyPrefix?: string;
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* SessionStore backed by one Redis hash (session id -> JSON fields).
|
|
282
|
+
*
|
|
283
|
+
* Sessions and the mount grants they carry survive restarts and are
|
|
284
|
+
* visible to every workspace pointed at the same key prefix — the seam
|
|
285
|
+
* that lets one process create a session and another (a kernel tier, a
|
|
286
|
+
* sibling daemon) bind a mountpoint to it. Writes are single-command
|
|
287
|
+
* (HSET/HDEL) so mutations stay one round trip. Mirrors the Python
|
|
288
|
+
* RedisSessionStore.
|
|
289
|
+
*/
|
|
290
|
+
declare class RedisSessionStore extends SessionStore {
|
|
291
|
+
readonly url: string;
|
|
292
|
+
private readonly key;
|
|
293
|
+
private clientPromise;
|
|
294
|
+
constructor(options?: RedisSessionStoreOptions);
|
|
295
|
+
private client;
|
|
296
|
+
casSet(sessionId: string, fields: SessionFields, expectedGeneration: number): Promise<boolean>;
|
|
297
|
+
load(): Promise<Map<string, SessionFields>>;
|
|
298
|
+
set(sessionId: string, fields: SessionFields): Promise<void>;
|
|
299
|
+
delete(sessionIds: readonly string[]): Promise<void>;
|
|
300
|
+
replaceAll(entries: Map<string, SessionFields>): Promise<void>;
|
|
301
|
+
clear(): Promise<void>;
|
|
302
|
+
close(): Promise<void>;
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
declare const DEFAULT_STATE_ROOT = "~/.mirage/state";
|
|
306
|
+
interface DiskWorkspaceStateStoreOptions extends WorkspaceStateStoreOverrides {
|
|
307
|
+
root?: string;
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* WorkspaceStateStore backed by a directory tree.
|
|
311
|
+
*
|
|
312
|
+
* Each workspace is one self-contained directory (delete a workspace
|
|
313
|
+
* by removing its folder):
|
|
314
|
+
*
|
|
315
|
+
* - `{root}/workspaces/{ws}/workspace.json` — metadata record
|
|
316
|
+
* - `{root}/workspaces/{ws}/sessions/{sid}.json` — session table
|
|
317
|
+
* - `{root}/workspaces/{ws}/namespace.json` — nodes + user, one JSON
|
|
318
|
+
* - `{root}/workspaces/{ws}/history/<day>/<sid>.jsonl` — history
|
|
319
|
+
*
|
|
320
|
+
* The layout mirrors the S3 store file-for-object; mutable records get
|
|
321
|
+
* the same generation-CAS contract via the lockfile protocol
|
|
322
|
+
* (O_CREAT|O_EXCL mutex, tmp write, rename(2)), so multiple local
|
|
323
|
+
* processes share one workspace with zero infrastructure: a CLI-created
|
|
324
|
+
* workspace survives restart like `git init`. Local filesystems only;
|
|
325
|
+
* anything cross-machine belongs on redis or s3. Mirrors the Python
|
|
326
|
+
* DiskWorkspaceStateStore byte-for-byte on disk.
|
|
327
|
+
*/
|
|
328
|
+
declare class DiskWorkspaceStateStore extends WorkspaceStateStore {
|
|
329
|
+
private readonly root;
|
|
330
|
+
private readonly meta;
|
|
331
|
+
private readonly namespaces;
|
|
332
|
+
private readonly observers;
|
|
333
|
+
private readonly sessionTables;
|
|
334
|
+
constructor(options?: DiskWorkspaceStateStoreOptions);
|
|
335
|
+
private wsRoot;
|
|
336
|
+
private metaClient;
|
|
337
|
+
protected makeNamespace(workspaceId: string): NamespaceStore;
|
|
338
|
+
protected makeObserver(workspaceId: string): ObserverStore;
|
|
339
|
+
protected makeSessions(workspaceId: string): SessionStore;
|
|
340
|
+
protected readMeta(workspaceId: string): Promise<WorkspaceFields | null>;
|
|
341
|
+
protected writeMeta(workspaceId: string, fields: WorkspaceFields): Promise<void>;
|
|
342
|
+
protected casWriteMeta(workspaceId: string, fields: WorkspaceFields, expectedGeneration: number): Promise<boolean>;
|
|
343
|
+
protected closeSelf(): Promise<void>;
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
interface RedisWorkspaceStateStoreOptions extends WorkspaceStateStoreOverrides {
|
|
347
|
+
url?: string;
|
|
348
|
+
keyPrefix?: string;
|
|
349
|
+
}
|
|
350
|
+
/**
|
|
351
|
+
* WorkspaceStateStore backed by one Redis server.
|
|
352
|
+
*
|
|
353
|
+
* Key layout under one prefix, everything scoped by workspace id:
|
|
354
|
+
*
|
|
355
|
+
* - `{prefix}workspaces` — hash, workspace id -> metadata JSON
|
|
356
|
+
* - `{prefix}{ws}:namespace:nodes` (+ `:user`) — namespace plane
|
|
357
|
+
* - `{prefix}{ws}:observer:*` — observer plane
|
|
358
|
+
* - `{prefix}{ws}:sessions` — session table
|
|
359
|
+
*
|
|
360
|
+
* All plane state survives restarts and is visible to every process
|
|
361
|
+
* pointed at the same url and prefix, so a workspace rebuilt from its
|
|
362
|
+
* config alone gets identical overlays, history, sessions, and grants.
|
|
363
|
+
* Mirrors the Python RedisWorkspaceStateStore.
|
|
364
|
+
*/
|
|
365
|
+
declare class RedisWorkspaceStateStore extends WorkspaceStateStore {
|
|
366
|
+
readonly url: string;
|
|
367
|
+
private readonly prefix;
|
|
368
|
+
private readonly metaKey;
|
|
369
|
+
private clientPromise;
|
|
370
|
+
private readonly namespaces;
|
|
371
|
+
private readonly observers;
|
|
372
|
+
private readonly sessionTables;
|
|
373
|
+
constructor(options?: RedisWorkspaceStateStoreOptions);
|
|
374
|
+
private client;
|
|
375
|
+
protected makeNamespace(workspaceId: string): NamespaceStore;
|
|
376
|
+
protected makeObserver(workspaceId: string): ObserverStore;
|
|
377
|
+
protected makeSessions(workspaceId: string): SessionStore;
|
|
378
|
+
protected readMeta(workspaceId: string): Promise<WorkspaceFields | null>;
|
|
379
|
+
protected writeMeta(workspaceId: string, fields: WorkspaceFields): Promise<void>;
|
|
380
|
+
protected casWriteMeta(workspaceId: string, fields: WorkspaceFields, expectedGeneration: number): Promise<boolean>;
|
|
381
|
+
protected closeSelf(): Promise<void>;
|
|
382
|
+
}
|
|
383
|
+
|
|
88
384
|
/**
|
|
89
385
|
* Monkey-patch Node's `fs` module so that paths under any mirage mount
|
|
90
386
|
* route through the workspace. Paths NOT under a mount fall through to
|
|
@@ -109,6 +405,7 @@ declare class RedisStore {
|
|
|
109
405
|
fk(path: string): string;
|
|
110
406
|
dk(): string;
|
|
111
407
|
mk(path: string): string;
|
|
408
|
+
ak(path: string): string;
|
|
112
409
|
client(): Promise<RedisClientType>;
|
|
113
410
|
getFile(path: string): Promise<Uint8Array | null>;
|
|
114
411
|
setFile(path: string, data: Uint8Array): Promise<void>;
|
|
@@ -116,7 +413,6 @@ declare class RedisStore {
|
|
|
116
413
|
hasFile(path: string): Promise<boolean>;
|
|
117
414
|
listFiles(prefix?: string): Promise<string[]>;
|
|
118
415
|
fileLen(path: string): Promise<number>;
|
|
119
|
-
getRange(path: string, start: number, end: number): Promise<Uint8Array>;
|
|
120
416
|
hasDir(path: string): Promise<boolean>;
|
|
121
417
|
addDir(path: string): Promise<void>;
|
|
122
418
|
removeDir(path: string): Promise<void>;
|
|
@@ -124,6 +420,9 @@ declare class RedisStore {
|
|
|
124
420
|
getModified(path: string): Promise<string | null>;
|
|
125
421
|
setModified(path: string, ts: string): Promise<void>;
|
|
126
422
|
delModified(path: string): Promise<void>;
|
|
423
|
+
getAttrs(path: string): Promise<Record<string, string>>;
|
|
424
|
+
setAttrs(path: string, fields: Record<string, string>): Promise<void>;
|
|
425
|
+
delAttrs(path: string): Promise<void>;
|
|
127
426
|
clear(): Promise<void>;
|
|
128
427
|
close(): Promise<void>;
|
|
129
428
|
}
|
|
@@ -154,10 +453,12 @@ interface RedisResourceState {
|
|
|
154
453
|
keyPrefix: string;
|
|
155
454
|
files: Record<string, Uint8Array>;
|
|
156
455
|
dirs: string[];
|
|
456
|
+
attrs?: Record<string, Record<string, string>>;
|
|
457
|
+
modified?: Record<string, string>;
|
|
157
458
|
}
|
|
158
459
|
declare class RedisResource extends BaseResource implements Resource {
|
|
159
460
|
readonly kind: string;
|
|
160
|
-
readonly
|
|
461
|
+
readonly cachesReads: boolean;
|
|
161
462
|
readonly indexTtl: number;
|
|
162
463
|
readonly prompt: string;
|
|
163
464
|
readonly url: string;
|
|
@@ -214,9 +515,13 @@ declare class RedisFileCacheStore extends RedisResource implements FileCache {
|
|
|
214
515
|
private readonly limit;
|
|
215
516
|
private readonly dataPrefix;
|
|
216
517
|
private readonly metaPrefix;
|
|
217
|
-
|
|
518
|
+
private maxDrainBytesValue;
|
|
519
|
+
readonly drainTasks: Map<string, Promise<void>>;
|
|
218
520
|
constructor(options?: RedisFileCacheOptions);
|
|
219
|
-
|
|
521
|
+
get maxDrainBytes(): number | null;
|
|
522
|
+
set maxDrainBytes(value: number | null);
|
|
523
|
+
readonly cacheSize: number | null;
|
|
524
|
+
readonly cacheEntries: number | null;
|
|
220
525
|
get cacheLimit(): number;
|
|
221
526
|
cacheClient(): Promise<RedisClientType>;
|
|
222
527
|
get(key: string): Promise<Uint8Array | null>;
|
|
@@ -238,13 +543,17 @@ declare class RedisFileCacheStore extends RedisResource implements FileCache {
|
|
|
238
543
|
|
|
239
544
|
interface FuseHandle {
|
|
240
545
|
mountpoint: string;
|
|
546
|
+
/** Whether Mirage created this mountpoint directory and may remove it later. */
|
|
547
|
+
ownsMountpoint: boolean;
|
|
241
548
|
unmount: () => Promise<void>;
|
|
242
549
|
}
|
|
243
550
|
interface MountOptions {
|
|
551
|
+
/** Caller/deployment-owned mountpoint. Mirage mounts here but does not delete it. */
|
|
244
552
|
mountpoint?: string;
|
|
245
|
-
agentId?: string;
|
|
246
553
|
/** Scope the mount to a single workspace mount prefix (subtree exposure). */
|
|
247
554
|
rootPrefix?: string;
|
|
555
|
+
/** Run every op under this session's mount grants (session-bound mountpoint). */
|
|
556
|
+
session?: Session;
|
|
248
557
|
/**
|
|
249
558
|
* When true, `@zkochan/fuse-native`'s `autoUnmount` flag is set so the
|
|
250
559
|
* kernel releases the mount if the process exits abnormally. Defaults to
|
|
@@ -253,7 +562,11 @@ interface MountOptions {
|
|
|
253
562
|
* FuseManager runs `diskutil unmount force` instead.
|
|
254
563
|
*/
|
|
255
564
|
autoUnmount?: boolean;
|
|
256
|
-
/**
|
|
565
|
+
/**
|
|
566
|
+
* Extra options forwarded verbatim to `@zkochan/fuse-native`.
|
|
567
|
+
* `directIO: false` additionally skips the `direct_io` mount option that
|
|
568
|
+
* Mirage appends by default (see appendDirectIO).
|
|
569
|
+
*/
|
|
257
570
|
fuseOptions?: Record<string, unknown>;
|
|
258
571
|
}
|
|
259
572
|
declare function mount(ws: Workspace$1, options?: MountOptions): Promise<FuseHandle>;
|
|
@@ -261,14 +574,11 @@ declare function mountBackground(ws: Workspace$1, options?: MountOptions): Promi
|
|
|
261
574
|
|
|
262
575
|
declare class FuseManager {
|
|
263
576
|
private handle;
|
|
264
|
-
private externalMountpoint;
|
|
265
|
-
private auto;
|
|
266
577
|
private cleanupEntry;
|
|
267
578
|
get mountpoint(): string | null;
|
|
268
|
-
set mountpoint(path: string | null);
|
|
269
579
|
setup(ws: Workspace$1, options?: MountOptions): Promise<string>;
|
|
270
|
-
unmount(
|
|
271
|
-
close(
|
|
580
|
+
unmount(): Promise<void>;
|
|
581
|
+
close(): Promise<void>;
|
|
272
582
|
}
|
|
273
583
|
|
|
274
584
|
interface FuseAttr {
|
|
@@ -282,36 +592,59 @@ interface FuseAttr {
|
|
|
282
592
|
gid: number;
|
|
283
593
|
}
|
|
284
594
|
interface MirageFSOptions {
|
|
285
|
-
agentId?: string;
|
|
286
595
|
rootPrefix?: string;
|
|
596
|
+
/**
|
|
597
|
+
* Bind every FUSE op to this session's mount grants. The kernel-tier
|
|
598
|
+
* primitive: bind-mount the tree into a container and the narrowing
|
|
599
|
+
* travels with it. Enforcement happens inside dispatch/Ops via the
|
|
600
|
+
* session context, so binding at the op entry point is sufficient.
|
|
601
|
+
*/
|
|
602
|
+
session?: Session;
|
|
287
603
|
}
|
|
288
604
|
declare class MirageFS {
|
|
289
605
|
private readonly ws;
|
|
290
|
-
readonly agentId: string;
|
|
291
606
|
private readonly now;
|
|
292
607
|
private readonly root;
|
|
293
608
|
private readonly prefixes;
|
|
294
609
|
private readonly handles;
|
|
610
|
+
private readonly xattrs;
|
|
295
611
|
private readonly prefetchCache;
|
|
296
612
|
private readonly prefetchInflight;
|
|
297
613
|
private nextFh;
|
|
298
614
|
private readonly uid;
|
|
299
615
|
private readonly gid;
|
|
616
|
+
private readonly session;
|
|
300
617
|
constructor(ws: Workspace$1, options?: MirageFSOptions);
|
|
301
618
|
private resolve;
|
|
302
|
-
private whoamiContent;
|
|
303
619
|
private dirStat;
|
|
304
620
|
private fileStat;
|
|
621
|
+
/**
|
|
622
|
+
* Fold merged stat attributes into a FUSE attr. The workspace stat
|
|
623
|
+
* already carries the namespace overlay (chmod bits, chown ids, touched
|
|
624
|
+
* mtime), so honoring these fields here is what makes metadata ops
|
|
625
|
+
* visible over FUSE. String uid/gid (names) are skipped: FUSE wants
|
|
626
|
+
* numeric ids and there is no user db to map against.
|
|
627
|
+
*/
|
|
628
|
+
private applyStatAttrs;
|
|
629
|
+
/**
|
|
630
|
+
* The target to present for a namespace link at a FUSE path, or null
|
|
631
|
+
* when not a link. Relative targets are stored verbatim and returned
|
|
632
|
+
* as-is. Absolute targets name virtual paths, so they are rewritten
|
|
633
|
+
* relative to the link's directory: returned raw, the kernel would
|
|
634
|
+
* resolve them against the host root and escape the mountpoint.
|
|
635
|
+
*/
|
|
636
|
+
private linkTarget;
|
|
637
|
+
private linkStat;
|
|
305
638
|
private isVirtualDir;
|
|
306
639
|
private virtualChildren;
|
|
307
640
|
private cachedSize;
|
|
308
641
|
private cachedData;
|
|
309
642
|
/**
|
|
310
|
-
* Fetch bytes for a size-unknown file and cache them so the
|
|
311
|
-
*
|
|
312
|
-
*
|
|
313
|
-
*
|
|
314
|
-
*
|
|
643
|
+
* Fetch bytes for a size-unknown file and cache them so the open → read →
|
|
644
|
+
* fstat burst (and subsequent stats within the TTL) reuse the same fetch.
|
|
645
|
+
* With getattr reporting 0 pre-open, this hydration is what lets fgetattr
|
|
646
|
+
* answer with the real byte length after open (mirrors Python's
|
|
647
|
+
* `_prefetch_read`).
|
|
315
648
|
*/
|
|
316
649
|
private prefetch;
|
|
317
650
|
/** Drain and return accumulated op records (mirrors Python's drain_ops). */
|
|
@@ -325,6 +658,15 @@ declare class MirageFS {
|
|
|
325
658
|
private write;
|
|
326
659
|
private create;
|
|
327
660
|
private mkdir;
|
|
661
|
+
private readlink;
|
|
662
|
+
/**
|
|
663
|
+
* Create namespace link `dest -> src` (ln -s src dest; libfuse passes
|
|
664
|
+
* the pointee first). Relative sources are stored verbatim (resolved
|
|
665
|
+
* at follow time, exactly like the shell `ln -s`); absolute sources
|
|
666
|
+
* are mapped into virtual space so a scoped mount stores the path it
|
|
667
|
+
* will later follow.
|
|
668
|
+
*/
|
|
669
|
+
private symlink;
|
|
328
670
|
private unlink;
|
|
329
671
|
private rename;
|
|
330
672
|
private rmdir;
|
|
@@ -334,6 +676,10 @@ declare class MirageFS {
|
|
|
334
676
|
private chown;
|
|
335
677
|
private utimens;
|
|
336
678
|
private access;
|
|
679
|
+
private setxattr;
|
|
680
|
+
private getxattr;
|
|
681
|
+
private listxattr;
|
|
682
|
+
private removexattr;
|
|
337
683
|
private getattrValidate;
|
|
338
684
|
private open;
|
|
339
685
|
private release;
|
|
@@ -357,7 +703,7 @@ interface S3ResourceState {
|
|
|
357
703
|
}
|
|
358
704
|
declare class S3Resource extends BaseResource implements Resource {
|
|
359
705
|
readonly kind: string;
|
|
360
|
-
readonly
|
|
706
|
+
readonly cachesReads: boolean;
|
|
361
707
|
readonly supportsSnapshot: boolean;
|
|
362
708
|
readonly indexTtl: number;
|
|
363
709
|
readonly prompt: string;
|
|
@@ -386,18 +732,83 @@ declare class S3Resource extends BaseResource implements Resource {
|
|
|
386
732
|
du(p: PathSpec): Promise<number>;
|
|
387
733
|
find(p: PathSpec, options?: FindOptions): Promise<string[]>;
|
|
388
734
|
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
389
|
-
fingerprint(p: PathSpec): Promise<string | null>;
|
|
390
735
|
getState(): Promise<S3ResourceState>;
|
|
391
736
|
loadState(_state: S3ResourceState): Promise<void>;
|
|
392
737
|
}
|
|
393
738
|
|
|
739
|
+
interface GridFSConfig {
|
|
740
|
+
uri: string;
|
|
741
|
+
database: string;
|
|
742
|
+
bucket?: string;
|
|
743
|
+
keyPrefix?: string;
|
|
744
|
+
chunkSizeBytes?: number;
|
|
745
|
+
}
|
|
746
|
+
interface GridFSConfigRedacted extends Omit<GridFSConfig, 'uri'> {
|
|
747
|
+
uri?: string;
|
|
748
|
+
}
|
|
749
|
+
/**
|
|
750
|
+
* Translate Python-style snake_case keys (as used in YAML configs and the
|
|
751
|
+
* Python `GridFSConfig`) to the TS-idiomatic camelCase fields, and
|
|
752
|
+
* normalize the key prefix the way the accessor expects.
|
|
753
|
+
*/
|
|
754
|
+
declare function normalizeGridFSConfig(input: Record<string, unknown>): GridFSConfig;
|
|
755
|
+
|
|
756
|
+
declare class GridFSAccessor extends Accessor {
|
|
757
|
+
readonly config: GridFSConfig;
|
|
758
|
+
private clientPromise;
|
|
759
|
+
constructor(config: GridFSConfig);
|
|
760
|
+
client(): Promise<MongoClient>;
|
|
761
|
+
db(): Promise<Db>;
|
|
762
|
+
private _connect;
|
|
763
|
+
close(): Promise<void>;
|
|
764
|
+
}
|
|
765
|
+
|
|
766
|
+
interface GridFSResourceState {
|
|
767
|
+
type: string;
|
|
768
|
+
config: GridFSConfigRedacted;
|
|
769
|
+
}
|
|
770
|
+
declare class GridFSResource extends BaseResource implements Resource {
|
|
771
|
+
readonly kind: string;
|
|
772
|
+
readonly cachesReads: boolean;
|
|
773
|
+
readonly supportsSnapshot: boolean;
|
|
774
|
+
readonly indexTtl: number;
|
|
775
|
+
readonly prompt: string;
|
|
776
|
+
readonly config: GridFSConfig;
|
|
777
|
+
readonly accessor: GridFSAccessor;
|
|
778
|
+
readonly opsMap: Record<string, unknown>;
|
|
779
|
+
constructor(config: GridFSConfig);
|
|
780
|
+
open(): Promise<void>;
|
|
781
|
+
close(): Promise<void>;
|
|
782
|
+
commands(): readonly RegisteredCommand[];
|
|
783
|
+
ops(): readonly RegisteredOp[];
|
|
784
|
+
streamPath(p: PathSpec): AsyncIterable<Uint8Array>;
|
|
785
|
+
readFile(p: PathSpec): Promise<Uint8Array>;
|
|
786
|
+
writeFile(p: PathSpec, data: Uint8Array): Promise<void>;
|
|
787
|
+
appendFile(p: PathSpec, data: Uint8Array): Promise<void>;
|
|
788
|
+
readdir(p: PathSpec): Promise<string[]>;
|
|
789
|
+
stat(p: PathSpec): Promise<FileStat>;
|
|
790
|
+
exists(p: PathSpec): Promise<boolean>;
|
|
791
|
+
mkdir(p: PathSpec): Promise<void>;
|
|
792
|
+
rmdir(p: PathSpec): Promise<void>;
|
|
793
|
+
unlink(p: PathSpec): Promise<void>;
|
|
794
|
+
rename(src: PathSpec, dst: PathSpec): Promise<void>;
|
|
795
|
+
truncate(p: PathSpec, length: number): Promise<void>;
|
|
796
|
+
copy(src: PathSpec, dst: PathSpec): Promise<void>;
|
|
797
|
+
rmR(p: PathSpec): Promise<void>;
|
|
798
|
+
du(p: PathSpec): Promise<number>;
|
|
799
|
+
find(p: PathSpec, options?: FindOptions): Promise<string[]>;
|
|
800
|
+
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
801
|
+
getState(): Promise<GridFSResourceState>;
|
|
802
|
+
loadState(_state: GridFSResourceState): Promise<void>;
|
|
803
|
+
}
|
|
804
|
+
|
|
394
805
|
interface DatabricksVolumeResourceState {
|
|
395
806
|
type: string;
|
|
396
807
|
config: DatabricksVolumeConfigRedacted;
|
|
397
808
|
}
|
|
398
809
|
declare class DatabricksVolumeResource extends BaseResource implements Resource {
|
|
399
810
|
readonly kind: string;
|
|
400
|
-
readonly
|
|
811
|
+
readonly cachesReads: boolean;
|
|
401
812
|
readonly indexTtl: number;
|
|
402
813
|
readonly prompt: string;
|
|
403
814
|
readonly config: DatabricksVolumeConfig;
|
|
@@ -444,6 +855,7 @@ interface GCSConfig {
|
|
|
444
855
|
region?: string;
|
|
445
856
|
timeoutMs?: number;
|
|
446
857
|
forcePathStyle?: boolean;
|
|
858
|
+
keyPrefix?: string;
|
|
447
859
|
}
|
|
448
860
|
interface GCSConfigRedacted {
|
|
449
861
|
bucket: string;
|
|
@@ -452,6 +864,8 @@ interface GCSConfigRedacted {
|
|
|
452
864
|
endpoint: string;
|
|
453
865
|
region: string;
|
|
454
866
|
timeoutMs?: number;
|
|
867
|
+
forcePathStyle?: boolean;
|
|
868
|
+
keyPrefix?: string;
|
|
455
869
|
}
|
|
456
870
|
declare function redactGcsConfig(config: GCSConfig): GCSConfigRedacted;
|
|
457
871
|
|
|
@@ -481,6 +895,7 @@ interface OCIConfig {
|
|
|
481
895
|
accessKeyId: string;
|
|
482
896
|
secretAccessKey: string;
|
|
483
897
|
endpoint?: string;
|
|
898
|
+
keyPrefix?: string;
|
|
484
899
|
timeoutMs?: number;
|
|
485
900
|
}
|
|
486
901
|
interface OCIConfigRedacted {
|
|
@@ -490,6 +905,7 @@ interface OCIConfigRedacted {
|
|
|
490
905
|
accessKeyId: string;
|
|
491
906
|
secretAccessKey: string;
|
|
492
907
|
endpoint: string;
|
|
908
|
+
keyPrefix?: string;
|
|
493
909
|
timeoutMs?: number;
|
|
494
910
|
}
|
|
495
911
|
declare function redactOciConfig(config: OCIConfig): OCIConfigRedacted;
|
|
@@ -521,6 +937,8 @@ interface R2Config {
|
|
|
521
937
|
endpoint?: string;
|
|
522
938
|
region?: string;
|
|
523
939
|
profile?: string;
|
|
940
|
+
forcePathStyle?: boolean;
|
|
941
|
+
keyPrefix?: string;
|
|
524
942
|
timeoutMs?: number;
|
|
525
943
|
}
|
|
526
944
|
interface R2ConfigRedacted {
|
|
@@ -531,6 +949,8 @@ interface R2ConfigRedacted {
|
|
|
531
949
|
endpoint: string;
|
|
532
950
|
region: string;
|
|
533
951
|
profile?: string;
|
|
952
|
+
forcePathStyle?: boolean;
|
|
953
|
+
keyPrefix?: string;
|
|
534
954
|
timeoutMs?: number;
|
|
535
955
|
}
|
|
536
956
|
declare function redactR2Config(config: R2Config): R2ConfigRedacted;
|
|
@@ -562,6 +982,7 @@ interface SupabaseConfig {
|
|
|
562
982
|
projectRef?: string;
|
|
563
983
|
endpoint?: string;
|
|
564
984
|
sessionToken?: string;
|
|
985
|
+
keyPrefix?: string;
|
|
565
986
|
timeoutMs?: number;
|
|
566
987
|
}
|
|
567
988
|
interface SupabaseConfigRedacted {
|
|
@@ -572,6 +993,7 @@ interface SupabaseConfigRedacted {
|
|
|
572
993
|
accessKeyId: string;
|
|
573
994
|
secretAccessKey: string;
|
|
574
995
|
sessionToken?: string;
|
|
996
|
+
keyPrefix?: string;
|
|
575
997
|
timeoutMs?: number;
|
|
576
998
|
}
|
|
577
999
|
declare function resolvedSupabaseEndpoint(config: SupabaseConfig): string;
|
|
@@ -671,7 +1093,7 @@ declare abstract class HfResource extends BaseResource implements Resource {
|
|
|
671
1093
|
abstract readonly kind: string;
|
|
672
1094
|
abstract readonly prompt: string;
|
|
673
1095
|
abstract readonly accessor: HfAccessor;
|
|
674
|
-
readonly
|
|
1096
|
+
readonly cachesReads: boolean;
|
|
675
1097
|
readonly supportsSnapshot: boolean;
|
|
676
1098
|
readonly opsMap: Record<string, unknown>;
|
|
677
1099
|
open(): Promise<void>;
|
|
@@ -689,7 +1111,6 @@ declare abstract class HfResource extends BaseResource implements Resource {
|
|
|
689
1111
|
du(p: PathSpec): Promise<number>;
|
|
690
1112
|
find(p: PathSpec, options?: FindOptions): Promise<string[]>;
|
|
691
1113
|
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
692
|
-
fingerprint(p: PathSpec): Promise<string | null>;
|
|
693
1114
|
loadState(_state: unknown): Promise<void>;
|
|
694
1115
|
}
|
|
695
1116
|
|
|
@@ -769,6 +1190,7 @@ interface MinIOConfig {
|
|
|
769
1190
|
secretAccessKey: string;
|
|
770
1191
|
region?: string;
|
|
771
1192
|
forcePathStyle?: boolean;
|
|
1193
|
+
keyPrefix?: string;
|
|
772
1194
|
timeoutMs?: number;
|
|
773
1195
|
}
|
|
774
1196
|
interface MinIOConfigRedacted {
|
|
@@ -778,6 +1200,7 @@ interface MinIOConfigRedacted {
|
|
|
778
1200
|
secretAccessKey: string;
|
|
779
1201
|
region: string;
|
|
780
1202
|
forcePathStyle: boolean;
|
|
1203
|
+
keyPrefix?: string;
|
|
781
1204
|
timeoutMs?: number;
|
|
782
1205
|
}
|
|
783
1206
|
declare function redactMinIOConfig(config: MinIOConfig): MinIOConfigRedacted;
|
|
@@ -808,6 +1231,7 @@ interface SeaweedFSConfig {
|
|
|
808
1231
|
secretAccessKey: string;
|
|
809
1232
|
region?: string;
|
|
810
1233
|
forcePathStyle?: boolean;
|
|
1234
|
+
keyPrefix?: string;
|
|
811
1235
|
timeoutMs?: number;
|
|
812
1236
|
}
|
|
813
1237
|
interface SeaweedFSConfigRedacted {
|
|
@@ -817,6 +1241,7 @@ interface SeaweedFSConfigRedacted {
|
|
|
817
1241
|
secretAccessKey: string;
|
|
818
1242
|
region: string;
|
|
819
1243
|
forcePathStyle: boolean;
|
|
1244
|
+
keyPrefix?: string;
|
|
820
1245
|
timeoutMs?: number;
|
|
821
1246
|
}
|
|
822
1247
|
declare function redactSeaweedFSConfig(config: SeaweedFSConfig): SeaweedFSConfigRedacted;
|
|
@@ -847,6 +1272,7 @@ interface CephConfig {
|
|
|
847
1272
|
secretAccessKey: string;
|
|
848
1273
|
region?: string;
|
|
849
1274
|
forcePathStyle?: boolean;
|
|
1275
|
+
keyPrefix?: string;
|
|
850
1276
|
timeoutMs?: number;
|
|
851
1277
|
}
|
|
852
1278
|
interface CephConfigRedacted {
|
|
@@ -856,6 +1282,7 @@ interface CephConfigRedacted {
|
|
|
856
1282
|
secretAccessKey: string;
|
|
857
1283
|
region: string;
|
|
858
1284
|
forcePathStyle: boolean;
|
|
1285
|
+
keyPrefix?: string;
|
|
859
1286
|
timeoutMs?: number;
|
|
860
1287
|
}
|
|
861
1288
|
declare function redactCephConfig(config: CephConfig): CephConfigRedacted;
|
|
@@ -885,6 +1312,8 @@ interface WasabiConfig {
|
|
|
885
1312
|
secretAccessKey: string;
|
|
886
1313
|
region?: string;
|
|
887
1314
|
endpoint?: string;
|
|
1315
|
+
forcePathStyle?: boolean;
|
|
1316
|
+
keyPrefix?: string;
|
|
888
1317
|
timeoutMs?: number;
|
|
889
1318
|
}
|
|
890
1319
|
interface WasabiConfigRedacted {
|
|
@@ -893,6 +1322,8 @@ interface WasabiConfigRedacted {
|
|
|
893
1322
|
secretAccessKey: string;
|
|
894
1323
|
region: string;
|
|
895
1324
|
endpoint: string;
|
|
1325
|
+
forcePathStyle?: boolean;
|
|
1326
|
+
keyPrefix?: string;
|
|
896
1327
|
timeoutMs?: number;
|
|
897
1328
|
}
|
|
898
1329
|
declare function resolvedWasabiEndpoint(config: WasabiConfig): string;
|
|
@@ -923,6 +1354,8 @@ interface BackblazeConfig {
|
|
|
923
1354
|
secretAccessKey: string;
|
|
924
1355
|
region: string;
|
|
925
1356
|
endpoint?: string;
|
|
1357
|
+
forcePathStyle?: boolean;
|
|
1358
|
+
keyPrefix?: string;
|
|
926
1359
|
timeoutMs?: number;
|
|
927
1360
|
}
|
|
928
1361
|
interface BackblazeConfigRedacted {
|
|
@@ -931,6 +1364,8 @@ interface BackblazeConfigRedacted {
|
|
|
931
1364
|
secretAccessKey: string;
|
|
932
1365
|
region: string;
|
|
933
1366
|
endpoint: string;
|
|
1367
|
+
forcePathStyle?: boolean;
|
|
1368
|
+
keyPrefix?: string;
|
|
934
1369
|
timeoutMs?: number;
|
|
935
1370
|
}
|
|
936
1371
|
declare function resolvedBackblazeEndpoint(config: BackblazeConfig): string;
|
|
@@ -961,6 +1396,8 @@ interface DigitalOceanConfig {
|
|
|
961
1396
|
secretAccessKey: string;
|
|
962
1397
|
region: string;
|
|
963
1398
|
endpoint?: string;
|
|
1399
|
+
forcePathStyle?: boolean;
|
|
1400
|
+
keyPrefix?: string;
|
|
964
1401
|
timeoutMs?: number;
|
|
965
1402
|
}
|
|
966
1403
|
interface DigitalOceanConfigRedacted {
|
|
@@ -969,6 +1406,8 @@ interface DigitalOceanConfigRedacted {
|
|
|
969
1406
|
secretAccessKey: string;
|
|
970
1407
|
region: string;
|
|
971
1408
|
endpoint: string;
|
|
1409
|
+
forcePathStyle?: boolean;
|
|
1410
|
+
keyPrefix?: string;
|
|
972
1411
|
timeoutMs?: number;
|
|
973
1412
|
}
|
|
974
1413
|
declare function resolvedDigitalOceanEndpoint(config: DigitalOceanConfig): string;
|
|
@@ -999,6 +1438,8 @@ interface TencentConfig {
|
|
|
999
1438
|
secretAccessKey: string;
|
|
1000
1439
|
region: string;
|
|
1001
1440
|
endpoint?: string;
|
|
1441
|
+
forcePathStyle?: boolean;
|
|
1442
|
+
keyPrefix?: string;
|
|
1002
1443
|
timeoutMs?: number;
|
|
1003
1444
|
}
|
|
1004
1445
|
interface TencentConfigRedacted {
|
|
@@ -1007,6 +1448,8 @@ interface TencentConfigRedacted {
|
|
|
1007
1448
|
secretAccessKey: string;
|
|
1008
1449
|
region: string;
|
|
1009
1450
|
endpoint: string;
|
|
1451
|
+
forcePathStyle?: boolean;
|
|
1452
|
+
keyPrefix?: string;
|
|
1010
1453
|
timeoutMs?: number;
|
|
1011
1454
|
}
|
|
1012
1455
|
declare function resolvedTencentEndpoint(config: TencentConfig): string;
|
|
@@ -1037,6 +1480,8 @@ interface AliyunConfig {
|
|
|
1037
1480
|
secretAccessKey: string;
|
|
1038
1481
|
region: string;
|
|
1039
1482
|
endpoint?: string;
|
|
1483
|
+
forcePathStyle?: boolean;
|
|
1484
|
+
keyPrefix?: string;
|
|
1040
1485
|
timeoutMs?: number;
|
|
1041
1486
|
}
|
|
1042
1487
|
interface AliyunConfigRedacted {
|
|
@@ -1045,6 +1490,8 @@ interface AliyunConfigRedacted {
|
|
|
1045
1490
|
secretAccessKey: string;
|
|
1046
1491
|
region: string;
|
|
1047
1492
|
endpoint: string;
|
|
1493
|
+
forcePathStyle?: boolean;
|
|
1494
|
+
keyPrefix?: string;
|
|
1048
1495
|
timeoutMs?: number;
|
|
1049
1496
|
}
|
|
1050
1497
|
declare function resolvedAliyunEndpoint(config: AliyunConfig): string;
|
|
@@ -1075,6 +1522,8 @@ interface ScalewayConfig {
|
|
|
1075
1522
|
secretAccessKey: string;
|
|
1076
1523
|
region: string;
|
|
1077
1524
|
endpoint?: string;
|
|
1525
|
+
forcePathStyle?: boolean;
|
|
1526
|
+
keyPrefix?: string;
|
|
1078
1527
|
timeoutMs?: number;
|
|
1079
1528
|
}
|
|
1080
1529
|
interface ScalewayConfigRedacted {
|
|
@@ -1083,6 +1532,8 @@ interface ScalewayConfigRedacted {
|
|
|
1083
1532
|
secretAccessKey: string;
|
|
1084
1533
|
region: string;
|
|
1085
1534
|
endpoint: string;
|
|
1535
|
+
forcePathStyle?: boolean;
|
|
1536
|
+
keyPrefix?: string;
|
|
1086
1537
|
timeoutMs?: number;
|
|
1087
1538
|
}
|
|
1088
1539
|
declare function resolvedScalewayEndpoint(config: ScalewayConfig): string;
|
|
@@ -1113,6 +1564,8 @@ interface QingStorConfig {
|
|
|
1113
1564
|
secretAccessKey: string;
|
|
1114
1565
|
region: string;
|
|
1115
1566
|
endpoint?: string;
|
|
1567
|
+
forcePathStyle?: boolean;
|
|
1568
|
+
keyPrefix?: string;
|
|
1116
1569
|
timeoutMs?: number;
|
|
1117
1570
|
}
|
|
1118
1571
|
interface QingStorConfigRedacted {
|
|
@@ -1121,6 +1574,8 @@ interface QingStorConfigRedacted {
|
|
|
1121
1574
|
secretAccessKey: string;
|
|
1122
1575
|
region: string;
|
|
1123
1576
|
endpoint: string;
|
|
1577
|
+
forcePathStyle?: boolean;
|
|
1578
|
+
keyPrefix?: string;
|
|
1124
1579
|
timeoutMs?: number;
|
|
1125
1580
|
}
|
|
1126
1581
|
declare function resolvedQingStorEndpoint(config: QingStorConfig): string;
|
|
@@ -1169,7 +1624,7 @@ interface PostgresResourceOptions {
|
|
|
1169
1624
|
}
|
|
1170
1625
|
declare class PostgresResource extends BaseResource implements Resource {
|
|
1171
1626
|
readonly kind: string;
|
|
1172
|
-
readonly
|
|
1627
|
+
readonly cachesReads: boolean;
|
|
1173
1628
|
readonly indexTtl: number;
|
|
1174
1629
|
readonly prompt: string;
|
|
1175
1630
|
readonly config: PostgresConfigResolved;
|
|
@@ -1260,7 +1715,7 @@ interface MongoDBResourceOptions {
|
|
|
1260
1715
|
}
|
|
1261
1716
|
declare class MongoDBResource extends BaseResource implements Resource {
|
|
1262
1717
|
readonly kind: string;
|
|
1263
|
-
readonly
|
|
1718
|
+
readonly cachesReads: boolean;
|
|
1264
1719
|
readonly indexTtl: number;
|
|
1265
1720
|
readonly prompt: string;
|
|
1266
1721
|
readonly config: MongoDBConfigResolved;
|
|
@@ -1297,7 +1752,7 @@ interface LanceDBResourceOptions {
|
|
|
1297
1752
|
}
|
|
1298
1753
|
declare class LanceDBResource extends BaseResource implements Resource {
|
|
1299
1754
|
readonly kind: string;
|
|
1300
|
-
readonly
|
|
1755
|
+
readonly cachesReads: boolean;
|
|
1301
1756
|
readonly indexTtl: number;
|
|
1302
1757
|
readonly prompt: string;
|
|
1303
1758
|
readonly config: LanceDBConfigResolved;
|
|
@@ -1316,10 +1771,12 @@ declare class LanceDBResource extends BaseResource implements Resource {
|
|
|
1316
1771
|
interface SlackConfig {
|
|
1317
1772
|
token: string;
|
|
1318
1773
|
searchToken?: string;
|
|
1774
|
+
baseUrl?: string;
|
|
1319
1775
|
}
|
|
1320
1776
|
interface SlackConfigRedacted {
|
|
1321
1777
|
token: '<REDACTED>';
|
|
1322
1778
|
searchToken?: '<REDACTED>';
|
|
1779
|
+
baseUrl?: string;
|
|
1323
1780
|
}
|
|
1324
1781
|
declare function redactSlackConfig(config: SlackConfig): SlackConfigRedacted;
|
|
1325
1782
|
declare function normalizeSlackConfig(input: Record<string, unknown>): SlackConfig;
|
|
@@ -1330,7 +1787,7 @@ interface SlackResourceState {
|
|
|
1330
1787
|
}
|
|
1331
1788
|
declare class SlackResource extends BaseResource implements Resource {
|
|
1332
1789
|
readonly kind: string;
|
|
1333
|
-
readonly
|
|
1790
|
+
readonly cachesReads: boolean;
|
|
1334
1791
|
readonly indexTtl: number;
|
|
1335
1792
|
readonly prompt: string;
|
|
1336
1793
|
readonly writePrompt: string;
|
|
@@ -1344,7 +1801,6 @@ declare class SlackResource extends BaseResource implements Resource {
|
|
|
1344
1801
|
readFile(p: PathSpec): Promise<Uint8Array>;
|
|
1345
1802
|
readdir(p: PathSpec): Promise<string[]>;
|
|
1346
1803
|
stat(p: PathSpec): Promise<FileStat>;
|
|
1347
|
-
fingerprint(p: PathSpec): Promise<string | null>;
|
|
1348
1804
|
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
1349
1805
|
getState(): Promise<SlackResourceState>;
|
|
1350
1806
|
loadState(_state: SlackResourceState): Promise<void>;
|
|
@@ -1394,7 +1850,7 @@ interface SSHResourceState {
|
|
|
1394
1850
|
}
|
|
1395
1851
|
declare class SSHResource extends BaseResource implements Resource {
|
|
1396
1852
|
readonly kind: "ssh";
|
|
1397
|
-
readonly
|
|
1853
|
+
readonly cachesReads: boolean;
|
|
1398
1854
|
readonly indexTtl: number;
|
|
1399
1855
|
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.";
|
|
1400
1856
|
readonly config: SSHConfig;
|
|
@@ -1423,7 +1879,6 @@ declare class SSHResource extends BaseResource implements Resource {
|
|
|
1423
1879
|
rmR(p: PathSpec): Promise<void>;
|
|
1424
1880
|
du(p: PathSpec): Promise<number>;
|
|
1425
1881
|
find(p: PathSpec, options?: FindOptions): Promise<string[]>;
|
|
1426
|
-
fingerprint(p: PathSpec): Promise<string | null>;
|
|
1427
1882
|
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
1428
1883
|
getState(): Promise<SSHResourceState>;
|
|
1429
1884
|
loadState(_state: SSHResourceState): Promise<void>;
|
|
@@ -1435,6 +1890,72 @@ declare const SSH_COMMANDS: readonly RegisteredCommand[];
|
|
|
1435
1890
|
|
|
1436
1891
|
declare const SSH_OPS: readonly RegisteredOp[];
|
|
1437
1892
|
|
|
1893
|
+
interface NextcloudConfig {
|
|
1894
|
+
url: string;
|
|
1895
|
+
username?: string;
|
|
1896
|
+
password?: string;
|
|
1897
|
+
verifySsl?: boolean;
|
|
1898
|
+
timeout?: number;
|
|
1899
|
+
}
|
|
1900
|
+
interface NextcloudConfigRedacted extends Omit<NextcloudConfig, 'password'> {
|
|
1901
|
+
password?: '<REDACTED>';
|
|
1902
|
+
}
|
|
1903
|
+
declare function normalizeNextcloudConfig(config: Record<string, unknown>): NextcloudConfig;
|
|
1904
|
+
declare function redactNextcloudConfig(config: NextcloudConfig): NextcloudConfigRedacted;
|
|
1905
|
+
|
|
1906
|
+
declare class NextcloudAccessor extends Accessor {
|
|
1907
|
+
readonly config: NextcloudConfig;
|
|
1908
|
+
readonly resourceName: "nextcloud";
|
|
1909
|
+
private operatorPromise;
|
|
1910
|
+
constructor(config: NextcloudConfig);
|
|
1911
|
+
operator(): Promise<Operator>;
|
|
1912
|
+
private createOperator;
|
|
1913
|
+
}
|
|
1914
|
+
|
|
1915
|
+
interface NextcloudResourceState {
|
|
1916
|
+
type: string;
|
|
1917
|
+
config: NextcloudConfigRedacted;
|
|
1918
|
+
}
|
|
1919
|
+
declare class NextcloudResource extends BaseResource implements Resource {
|
|
1920
|
+
readonly config: NextcloudConfig;
|
|
1921
|
+
readonly kind: "nextcloud";
|
|
1922
|
+
readonly cachesReads = true;
|
|
1923
|
+
readonly supportsSnapshot = true;
|
|
1924
|
+
readonly prompt = "You have access to files stored in Nextcloud.";
|
|
1925
|
+
readonly accessor: NextcloudAccessor;
|
|
1926
|
+
readonly opsMap: Record<string, unknown>;
|
|
1927
|
+
constructor(config: NextcloudConfig);
|
|
1928
|
+
open(): Promise<void>;
|
|
1929
|
+
close(): Promise<void>;
|
|
1930
|
+
commands(): readonly RegisteredCommand[];
|
|
1931
|
+
ops(): readonly RegisteredOp[];
|
|
1932
|
+
streamPath(path: PathSpec): AsyncIterable<Uint8Array>;
|
|
1933
|
+
readFile(path: PathSpec): Promise<Uint8Array>;
|
|
1934
|
+
writeFile(path: PathSpec, data: Uint8Array): Promise<void>;
|
|
1935
|
+
appendFile(path: PathSpec, data: Uint8Array): Promise<void>;
|
|
1936
|
+
readdir(path: PathSpec): Promise<string[]>;
|
|
1937
|
+
stat(path: PathSpec): Promise<FileStat>;
|
|
1938
|
+
exists(path: PathSpec): Promise<boolean>;
|
|
1939
|
+
mkdir(path: PathSpec): Promise<void>;
|
|
1940
|
+
rmdir(path: PathSpec): Promise<void>;
|
|
1941
|
+
unlink(path: PathSpec): Promise<void>;
|
|
1942
|
+
rename(source: PathSpec, destination: PathSpec): Promise<void>;
|
|
1943
|
+
truncate(path: PathSpec, length: number): Promise<void>;
|
|
1944
|
+
copy(source: PathSpec, destination: PathSpec): Promise<void>;
|
|
1945
|
+
rmR(path: PathSpec): Promise<void>;
|
|
1946
|
+
du(path: PathSpec): Promise<number>;
|
|
1947
|
+
find(path: PathSpec, options?: FindOptions): Promise<string[]>;
|
|
1948
|
+
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
1949
|
+
getState(): Promise<NextcloudResourceState>;
|
|
1950
|
+
loadState(_state: NextcloudResourceState): Promise<void>;
|
|
1951
|
+
}
|
|
1952
|
+
|
|
1953
|
+
declare const NEXTCLOUD_PROMPT = "You have access to files stored in Nextcloud.";
|
|
1954
|
+
|
|
1955
|
+
declare const NEXTCLOUD_COMMANDS: readonly RegisteredCommand[];
|
|
1956
|
+
|
|
1957
|
+
declare const NEXTCLOUD_OPS: readonly RegisteredOp[];
|
|
1958
|
+
|
|
1438
1959
|
interface DiscordConfig {
|
|
1439
1960
|
token: string;
|
|
1440
1961
|
}
|
|
@@ -1450,7 +1971,7 @@ interface DiscordResourceState {
|
|
|
1450
1971
|
}
|
|
1451
1972
|
declare class DiscordResource extends BaseResource implements Resource {
|
|
1452
1973
|
readonly kind: string;
|
|
1453
|
-
readonly
|
|
1974
|
+
readonly cachesReads: boolean;
|
|
1454
1975
|
readonly indexTtl: number;
|
|
1455
1976
|
readonly prompt: string;
|
|
1456
1977
|
readonly writePrompt: string;
|
|
@@ -1464,7 +1985,6 @@ declare class DiscordResource extends BaseResource implements Resource {
|
|
|
1464
1985
|
readFile(p: PathSpec): Promise<Uint8Array>;
|
|
1465
1986
|
readdir(p: PathSpec): Promise<string[]>;
|
|
1466
1987
|
stat(p: PathSpec): Promise<FileStat>;
|
|
1467
|
-
fingerprint(p: PathSpec): Promise<string | null>;
|
|
1468
1988
|
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
1469
1989
|
getState(): Promise<DiscordResourceState>;
|
|
1470
1990
|
loadState(_state: DiscordResourceState): Promise<void>;
|
|
@@ -1493,7 +2013,7 @@ interface TrelloResourceState {
|
|
|
1493
2013
|
}
|
|
1494
2014
|
declare class TrelloResource extends BaseResource implements Resource {
|
|
1495
2015
|
readonly kind: string;
|
|
1496
|
-
readonly
|
|
2016
|
+
readonly cachesReads: boolean;
|
|
1497
2017
|
readonly indexTtl: number;
|
|
1498
2018
|
readonly prompt: string;
|
|
1499
2019
|
readonly writePrompt: string;
|
|
@@ -1508,7 +2028,6 @@ declare class TrelloResource extends BaseResource implements Resource {
|
|
|
1508
2028
|
readFile(p: PathSpec): Promise<Uint8Array>;
|
|
1509
2029
|
readdir(p: PathSpec): Promise<string[]>;
|
|
1510
2030
|
stat(p: PathSpec): Promise<FileStat>;
|
|
1511
|
-
fingerprint(p: PathSpec): Promise<string | null>;
|
|
1512
2031
|
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
1513
2032
|
getState(): Promise<TrelloResourceState>;
|
|
1514
2033
|
loadState(_state: TrelloResourceState): Promise<void>;
|
|
@@ -1535,7 +2054,7 @@ interface LinearResourceState {
|
|
|
1535
2054
|
}
|
|
1536
2055
|
declare class LinearResource extends BaseResource implements Resource {
|
|
1537
2056
|
readonly kind: string;
|
|
1538
|
-
readonly
|
|
2057
|
+
readonly cachesReads: boolean;
|
|
1539
2058
|
readonly indexTtl: number;
|
|
1540
2059
|
readonly prompt: string;
|
|
1541
2060
|
readonly writePrompt: string;
|
|
@@ -1550,7 +2069,6 @@ declare class LinearResource extends BaseResource implements Resource {
|
|
|
1550
2069
|
readFile(p: PathSpec): Promise<Uint8Array>;
|
|
1551
2070
|
readdir(p: PathSpec): Promise<string[]>;
|
|
1552
2071
|
stat(p: PathSpec): Promise<FileStat>;
|
|
1553
|
-
fingerprint(p: PathSpec): Promise<string | null>;
|
|
1554
2072
|
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
1555
2073
|
getState(): Promise<LinearResourceState>;
|
|
1556
2074
|
loadState(_state: LinearResourceState): Promise<void>;
|
|
@@ -1573,7 +2091,7 @@ interface NotionResourceState {
|
|
|
1573
2091
|
}
|
|
1574
2092
|
declare class NotionResource extends BaseResource implements Resource {
|
|
1575
2093
|
readonly kind: string;
|
|
1576
|
-
readonly
|
|
2094
|
+
readonly cachesReads: boolean;
|
|
1577
2095
|
readonly indexTtl: number;
|
|
1578
2096
|
readonly prompt: string;
|
|
1579
2097
|
readonly writePrompt: string;
|
|
@@ -1587,7 +2105,6 @@ declare class NotionResource extends BaseResource implements Resource {
|
|
|
1587
2105
|
readFile(p: PathSpec): Promise<Uint8Array>;
|
|
1588
2106
|
readdir(p: PathSpec): Promise<string[]>;
|
|
1589
2107
|
stat(p: PathSpec): Promise<FileStat>;
|
|
1590
|
-
fingerprint(p: PathSpec): Promise<string | null>;
|
|
1591
2108
|
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
1592
2109
|
getState(): Promise<NotionResourceState>;
|
|
1593
2110
|
loadState(_state: NotionResourceState): Promise<void>;
|
|
@@ -1618,7 +2135,7 @@ interface LangfuseResourceState {
|
|
|
1618
2135
|
}
|
|
1619
2136
|
declare class LangfuseResource extends BaseResource implements Resource {
|
|
1620
2137
|
readonly kind: string;
|
|
1621
|
-
readonly
|
|
2138
|
+
readonly cachesReads: boolean;
|
|
1622
2139
|
readonly indexTtl: number;
|
|
1623
2140
|
readonly prompt: string;
|
|
1624
2141
|
readonly config: LangfuseConfig;
|
|
@@ -1631,7 +2148,6 @@ declare class LangfuseResource extends BaseResource implements Resource {
|
|
|
1631
2148
|
readFile(p: PathSpec): Promise<Uint8Array>;
|
|
1632
2149
|
readdir(p: PathSpec): Promise<string[]>;
|
|
1633
2150
|
stat(p: PathSpec): Promise<FileStat>;
|
|
1634
|
-
fingerprint(_p: PathSpec): Promise<string | null>;
|
|
1635
2151
|
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
1636
2152
|
getState(): Promise<LangfuseResourceState>;
|
|
1637
2153
|
loadState(_state: LangfuseResourceState): Promise<void>;
|
|
@@ -1662,7 +2178,8 @@ interface GitHubResourceState {
|
|
|
1662
2178
|
}
|
|
1663
2179
|
declare class GitHubResource extends BaseResource implements Resource {
|
|
1664
2180
|
readonly kind: string;
|
|
1665
|
-
readonly
|
|
2181
|
+
readonly cachesReads: boolean;
|
|
2182
|
+
readonly supportsSnapshot: boolean;
|
|
1666
2183
|
readonly indexTtl: number;
|
|
1667
2184
|
readonly config: GitHubConfig;
|
|
1668
2185
|
readonly accessor: GitHubAccessor;
|
|
@@ -1675,7 +2192,6 @@ declare class GitHubResource extends BaseResource implements Resource {
|
|
|
1675
2192
|
readFile(p: PathSpec): Promise<Uint8Array>;
|
|
1676
2193
|
readdir(p: PathSpec): Promise<string[]>;
|
|
1677
2194
|
stat(p: PathSpec): Promise<FileStat>;
|
|
1678
|
-
fingerprint(p: PathSpec): Promise<string | null>;
|
|
1679
2195
|
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
1680
2196
|
getState(): Promise<GitHubResourceState>;
|
|
1681
2197
|
loadState(_state: GitHubResourceState): Promise<void>;
|
|
@@ -1706,7 +2222,7 @@ interface GitHubCIResourceState {
|
|
|
1706
2222
|
}
|
|
1707
2223
|
declare class GitHubCIResource extends BaseResource implements Resource {
|
|
1708
2224
|
readonly kind: string;
|
|
1709
|
-
readonly
|
|
2225
|
+
readonly cachesReads: boolean;
|
|
1710
2226
|
readonly indexTtl: number;
|
|
1711
2227
|
readonly prompt: string;
|
|
1712
2228
|
readonly config: GitHubCIConfig;
|
|
@@ -1719,7 +2235,6 @@ declare class GitHubCIResource extends BaseResource implements Resource {
|
|
|
1719
2235
|
readFile(p: PathSpec): Promise<Uint8Array>;
|
|
1720
2236
|
readdir(p: PathSpec): Promise<string[]>;
|
|
1721
2237
|
stat(p: PathSpec): Promise<FileStat>;
|
|
1722
|
-
fingerprint(p: PathSpec): Promise<string | null>;
|
|
1723
2238
|
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
1724
2239
|
getState(): Promise<GitHubCIResourceState>;
|
|
1725
2240
|
loadState(_state: GitHubCIResourceState): Promise<void>;
|
|
@@ -1748,7 +2263,7 @@ interface GDocsResourceState {
|
|
|
1748
2263
|
}
|
|
1749
2264
|
declare class GDocsResource extends BaseResource implements Resource {
|
|
1750
2265
|
readonly kind: string;
|
|
1751
|
-
readonly
|
|
2266
|
+
readonly cachesReads: boolean;
|
|
1752
2267
|
readonly indexTtl: number;
|
|
1753
2268
|
readonly prompt: string;
|
|
1754
2269
|
readonly writePrompt: string;
|
|
@@ -1762,7 +2277,6 @@ declare class GDocsResource extends BaseResource implements Resource {
|
|
|
1762
2277
|
readFile(p: PathSpec): Promise<Uint8Array>;
|
|
1763
2278
|
readdir(p: PathSpec): Promise<string[]>;
|
|
1764
2279
|
stat(p: PathSpec): Promise<FileStat>;
|
|
1765
|
-
fingerprint(p: PathSpec): Promise<string | null>;
|
|
1766
2280
|
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
1767
2281
|
getState(): Promise<GDocsResourceState>;
|
|
1768
2282
|
loadState(_state: GDocsResourceState): Promise<void>;
|
|
@@ -1791,7 +2305,7 @@ interface GSheetsResourceState {
|
|
|
1791
2305
|
}
|
|
1792
2306
|
declare class GSheetsResource extends BaseResource implements Resource {
|
|
1793
2307
|
readonly kind: string;
|
|
1794
|
-
readonly
|
|
2308
|
+
readonly cachesReads: boolean;
|
|
1795
2309
|
readonly indexTtl: number;
|
|
1796
2310
|
readonly prompt: string;
|
|
1797
2311
|
readonly writePrompt: string;
|
|
@@ -1805,7 +2319,6 @@ declare class GSheetsResource extends BaseResource implements Resource {
|
|
|
1805
2319
|
readFile(p: PathSpec): Promise<Uint8Array>;
|
|
1806
2320
|
readdir(p: PathSpec): Promise<string[]>;
|
|
1807
2321
|
stat(p: PathSpec): Promise<FileStat>;
|
|
1808
|
-
fingerprint(p: PathSpec): Promise<string | null>;
|
|
1809
2322
|
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
1810
2323
|
getState(): Promise<GSheetsResourceState>;
|
|
1811
2324
|
loadState(_state: GSheetsResourceState): Promise<void>;
|
|
@@ -1834,7 +2347,7 @@ interface GSlidesResourceState {
|
|
|
1834
2347
|
}
|
|
1835
2348
|
declare class GSlidesResource extends BaseResource implements Resource {
|
|
1836
2349
|
readonly kind: string;
|
|
1837
|
-
readonly
|
|
2350
|
+
readonly cachesReads: boolean;
|
|
1838
2351
|
readonly indexTtl: number;
|
|
1839
2352
|
readonly prompt: string;
|
|
1840
2353
|
readonly writePrompt: string;
|
|
@@ -1848,7 +2361,6 @@ declare class GSlidesResource extends BaseResource implements Resource {
|
|
|
1848
2361
|
readFile(p: PathSpec): Promise<Uint8Array>;
|
|
1849
2362
|
readdir(p: PathSpec): Promise<string[]>;
|
|
1850
2363
|
stat(p: PathSpec): Promise<FileStat>;
|
|
1851
|
-
fingerprint(p: PathSpec): Promise<string | null>;
|
|
1852
2364
|
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
1853
2365
|
getState(): Promise<GSlidesResourceState>;
|
|
1854
2366
|
loadState(_state: GSlidesResourceState): Promise<void>;
|
|
@@ -1862,6 +2374,7 @@ interface GDriveConfig {
|
|
|
1862
2374
|
accessToken: string;
|
|
1863
2375
|
expiresIn: number;
|
|
1864
2376
|
}>;
|
|
2377
|
+
folderId?: string;
|
|
1865
2378
|
}
|
|
1866
2379
|
interface GDriveConfigRedacted {
|
|
1867
2380
|
clientId: string;
|
|
@@ -1877,7 +2390,8 @@ interface GDriveResourceState {
|
|
|
1877
2390
|
}
|
|
1878
2391
|
declare class GDriveResource extends BaseResource implements Resource {
|
|
1879
2392
|
readonly kind: string;
|
|
1880
|
-
readonly
|
|
2393
|
+
readonly cachesReads: boolean;
|
|
2394
|
+
readonly supportsSnapshot: boolean;
|
|
1881
2395
|
readonly indexTtl: number;
|
|
1882
2396
|
readonly prompt: string;
|
|
1883
2397
|
readonly config: GDriveConfig;
|
|
@@ -1890,7 +2404,6 @@ declare class GDriveResource extends BaseResource implements Resource {
|
|
|
1890
2404
|
readFile(p: PathSpec): Promise<Uint8Array>;
|
|
1891
2405
|
readdir(p: PathSpec): Promise<string[]>;
|
|
1892
2406
|
stat(p: PathSpec): Promise<FileStat>;
|
|
1893
|
-
fingerprint(p: PathSpec): Promise<string | null>;
|
|
1894
2407
|
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
1895
2408
|
getState(): Promise<GDriveResourceState>;
|
|
1896
2409
|
loadState(_state: GDriveResourceState): Promise<void>;
|
|
@@ -1900,6 +2413,9 @@ interface DropboxConfig {
|
|
|
1900
2413
|
clientId: string;
|
|
1901
2414
|
clientSecret: string;
|
|
1902
2415
|
refreshToken: string;
|
|
2416
|
+
rootPath?: string;
|
|
2417
|
+
contentSearch?: boolean;
|
|
2418
|
+
endpoint?: string;
|
|
1903
2419
|
refreshFn?: (refreshToken: string) => Promise<{
|
|
1904
2420
|
accessToken: string;
|
|
1905
2421
|
expiresIn: number;
|
|
@@ -1909,6 +2425,9 @@ interface DropboxConfigRedacted {
|
|
|
1909
2425
|
clientId: string;
|
|
1910
2426
|
clientSecret: '<REDACTED>';
|
|
1911
2427
|
refreshToken: '<REDACTED>';
|
|
2428
|
+
rootPath?: string;
|
|
2429
|
+
contentSearch?: boolean;
|
|
2430
|
+
endpoint?: string;
|
|
1912
2431
|
}
|
|
1913
2432
|
declare function redactDropboxConfig(config: DropboxConfig): DropboxConfigRedacted;
|
|
1914
2433
|
declare function normalizeDropboxConfig(input: Record<string, unknown>): DropboxConfig;
|
|
@@ -1919,7 +2438,7 @@ interface DropboxResourceState {
|
|
|
1919
2438
|
}
|
|
1920
2439
|
declare class DropboxResource extends BaseResource implements Resource {
|
|
1921
2440
|
readonly kind: string;
|
|
1922
|
-
readonly
|
|
2441
|
+
readonly cachesReads: boolean;
|
|
1923
2442
|
readonly indexTtl: number;
|
|
1924
2443
|
readonly prompt: string;
|
|
1925
2444
|
readonly config: DropboxConfig;
|
|
@@ -1932,13 +2451,15 @@ declare class DropboxResource extends BaseResource implements Resource {
|
|
|
1932
2451
|
readFile(p: PathSpec): Promise<Uint8Array>;
|
|
1933
2452
|
readdir(p: PathSpec): Promise<string[]>;
|
|
1934
2453
|
stat(p: PathSpec): Promise<FileStat>;
|
|
1935
|
-
fingerprint(p: PathSpec): Promise<string | null>;
|
|
1936
2454
|
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
1937
2455
|
getState(): Promise<DropboxResourceState>;
|
|
1938
2456
|
loadState(_state: DropboxResourceState): Promise<void>;
|
|
1939
2457
|
}
|
|
1940
2458
|
|
|
1941
2459
|
interface BoxConfig {
|
|
2460
|
+
endpoint?: string;
|
|
2461
|
+
rootFolderId?: string;
|
|
2462
|
+
contentSearch?: boolean;
|
|
1942
2463
|
clientId?: string;
|
|
1943
2464
|
clientSecret?: string;
|
|
1944
2465
|
refreshToken?: string;
|
|
@@ -1952,6 +2473,8 @@ interface BoxConfig {
|
|
|
1952
2473
|
onRefreshTokenRotated?: (newRefreshToken: string) => void | Promise<void>;
|
|
1953
2474
|
}
|
|
1954
2475
|
interface BoxConfigRedacted {
|
|
2476
|
+
endpoint?: string;
|
|
2477
|
+
rootFolderId?: string;
|
|
1955
2478
|
clientId?: string;
|
|
1956
2479
|
clientSecret?: '<REDACTED>';
|
|
1957
2480
|
refreshToken?: '<REDACTED>';
|
|
@@ -1967,7 +2490,7 @@ interface BoxResourceState {
|
|
|
1967
2490
|
}
|
|
1968
2491
|
declare class BoxResource extends BaseResource implements Resource {
|
|
1969
2492
|
readonly kind: string;
|
|
1970
|
-
readonly
|
|
2493
|
+
readonly cachesReads: boolean;
|
|
1971
2494
|
readonly indexTtl: number;
|
|
1972
2495
|
readonly prompt: string;
|
|
1973
2496
|
readonly config: BoxConfig;
|
|
@@ -1980,7 +2503,6 @@ declare class BoxResource extends BaseResource implements Resource {
|
|
|
1980
2503
|
readFile(p: PathSpec): Promise<Uint8Array>;
|
|
1981
2504
|
readdir(p: PathSpec): Promise<string[]>;
|
|
1982
2505
|
stat(p: PathSpec): Promise<FileStat>;
|
|
1983
|
-
fingerprint(p: PathSpec): Promise<string | null>;
|
|
1984
2506
|
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
1985
2507
|
getState(): Promise<BoxResourceState>;
|
|
1986
2508
|
loadState(_state: BoxResourceState): Promise<void>;
|
|
@@ -1992,7 +2514,7 @@ interface GmailResourceState {
|
|
|
1992
2514
|
}
|
|
1993
2515
|
declare class GmailResource extends BaseResource implements Resource {
|
|
1994
2516
|
readonly kind: string;
|
|
1995
|
-
readonly
|
|
2517
|
+
readonly cachesReads: boolean;
|
|
1996
2518
|
readonly indexTtl: number;
|
|
1997
2519
|
readonly prompt: string;
|
|
1998
2520
|
readonly writePrompt: string;
|
|
@@ -2006,7 +2528,6 @@ declare class GmailResource extends BaseResource implements Resource {
|
|
|
2006
2528
|
readFile(p: PathSpec): Promise<Uint8Array>;
|
|
2007
2529
|
readdir(p: PathSpec): Promise<string[]>;
|
|
2008
2530
|
stat(p: PathSpec): Promise<FileStat>;
|
|
2009
|
-
fingerprint(p: PathSpec): Promise<string | null>;
|
|
2010
2531
|
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
2011
2532
|
getState(): Promise<GmailResourceState>;
|
|
2012
2533
|
loadState(_state: GmailResourceState): Promise<void>;
|
|
@@ -2053,7 +2574,7 @@ interface EmailResourceState {
|
|
|
2053
2574
|
}
|
|
2054
2575
|
declare class EmailResource extends BaseResource implements Resource {
|
|
2055
2576
|
readonly kind: string;
|
|
2056
|
-
readonly
|
|
2577
|
+
readonly cachesReads: boolean;
|
|
2057
2578
|
readonly indexTtl: number;
|
|
2058
2579
|
readonly prompt: string;
|
|
2059
2580
|
readonly config: EmailConfig;
|
|
@@ -2066,14 +2587,13 @@ declare class EmailResource extends BaseResource implements Resource {
|
|
|
2066
2587
|
readFile(p: PathSpec): Promise<Uint8Array>;
|
|
2067
2588
|
readdir(p: PathSpec): Promise<string[]>;
|
|
2068
2589
|
stat(p: PathSpec): Promise<FileStat>;
|
|
2069
|
-
fingerprint(p: PathSpec): Promise<string | null>;
|
|
2070
2590
|
glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
|
|
2071
2591
|
getState(): Promise<EmailResourceState>;
|
|
2072
2592
|
loadState(_state: EmailResourceState): Promise<void>;
|
|
2073
2593
|
}
|
|
2074
2594
|
|
|
2075
|
-
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
|
|
2076
|
-
declare const EMAIL_WRITE_PROMPT = " Write commands:\n
|
|
2595
|
+
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 Read commands:\n himalaya envelope list --folder INBOX --unseen # id/from/subject/date\n himalaya message read --folder INBOX --uid <uid> # one message as JSON";
|
|
2596
|
+
declare const EMAIL_WRITE_PROMPT = " Write commands:\n himalaya message send --to \"to@email.com\" --subject \"Hi\" --body \"...\"\n himalaya message reply --folder INBOX --uid <uid> --body \"...\" [--all]\n himalaya message forward --folder INBOX --uid <uid> --to \"to@email.com\"";
|
|
2077
2597
|
|
|
2078
2598
|
declare const EMAIL_COMMANDS: readonly RegisteredCommand[];
|
|
2079
2599
|
|
|
@@ -2113,4 +2633,4 @@ declare const DISK_COMMANDS: readonly RegisteredCommand[];
|
|
|
2113
2633
|
|
|
2114
2634
|
declare const REDIS_COMMANDS: readonly RegisteredCommand[];
|
|
2115
2635
|
|
|
2116
|
-
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, DIGITALOCEAN_PROMPT, DISK_COMMANDS, DISK_OPS, DISK_PROMPT, type DatabricksProfile, DatabricksVolumeResource, type DatabricksVolumeResourceState, type DigitalOceanConfig, type DigitalOceanConfigRedacted, DigitalOceanResource, type DigitalOceanResourceState, type DiscordConfig, type DiscordConfigRedacted, DiscordResource, type DiscordResourceState, DiskResource, type DiskResourceOptions, type DiskResourceState, type DropboxConfig, type DropboxConfigRedacted, DropboxResource, type DropboxResourceState, EMAIL_COMMANDS, EMAIL_OPS, EMAIL_PROMPT, EMAIL_WRITE_PROMPT, EmailAccessor, type EmailConfig, type EmailConfigInput, type EmailConfigRedacted, EmailResource, type EmailResourceState, type FuseAttr, type FuseHandle, FuseManager, type MountOptions as FuseMountOptions, type GCSConfig, type GCSConfigRedacted, GCSResource, type GCSResourceState, GCS_ENDPOINT, GCS_PROMPT, type GDocsConfig, type GDocsConfigRedacted, GDocsResource, type GDocsResourceState, type GDriveConfig, type GDriveConfigRedacted, GDriveResource, type GDriveResourceState, type GSheetsConfig, type GSheetsConfigRedacted, GSheetsResource, type GSheetsResourceState, type GSlidesConfig, type GSlidesConfigRedacted, GSlidesResource, type GSlidesResourceState, type GitHubCIConfig, type GitHubCIConfigRedacted, GitHubCIResource, type GitHubCIResourceState, type GitHubConfig, type GitHubConfigRedacted, GitHubResource, type GitHubResourceState, GmailResource, type GmailResourceState, HF_BUCKETS_PROMPT, HF_COMMANDS, HF_DATASETS_PROMPT, HF_ENDPOINT, HF_MODELS_PROMPT, HF_OPS, HF_RESOURCES, HF_SPACES_PROMPT, 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, LanceDBResource, type LanceDBResourceOptions, LanceDBStore, type LangfuseConfig, type LangfuseConfigRedacted, LangfuseResource, type LangfuseResourceState, type LinearConfig, type LinearConfigRedacted, LinearResource, type LinearResourceState, MINIO_PROMPT, type MinIOConfig, type MinIOConfigRedacted, MinIOResource, type MinIOResourceState, MirageFS, type MirageFSOptions, MongoDBResource, type MongoDBResourceOptions, MongoDBStore, type NotionConfig, type NotionConfigRedacted, 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, type RedisFileCacheOptions, RedisFileCacheStore, RedisResource, type RedisResourceLike, type RedisResourceOptions, type RedisResourceState, RedisStore, type RedisStoreOptions, 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, type SlackConfig, type SlackConfigRedacted, 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, buildResource, fileReadProvision, mount as fuseMount, mountBackground as fuseMountBackground, headTailProvision, isMacosMetadata, knownResources, loadDatabricksProfile, metadataProvision, normalizeBoxConfig, normalizeDiscordConfig, normalizeDropboxConfig, normalizeEmailConfig, normalizeGDocsConfig, normalizeGDriveConfig, normalizeGSheetsConfig, normalizeGSlidesConfig, normalizeGitHubCIConfig, normalizeGitHubConfig, normalizeHfBucketsConfig, normalizeHfModelsConfig, normalizeHfRepoConfig, normalizeLangfuseConfig, normalizeLinearConfig, normalizeNotionConfig, normalizeSlackConfig, normalizeSshConfig, normalizeTrelloConfig, parseDatabricksCfg, patchNodeFs, redactAliyunConfig, redactBackblazeConfig, redactBoxConfig, redactCephConfig, redactDigitalOceanConfig, redactDiscordConfig, redactDropboxConfig, redactEmailConfig, redactGDocsConfig, redactGDriveConfig, redactGSheetsConfig, redactGSlidesConfig, redactGcsConfig, redactGitHubCIConfig, redactGitHubConfig, redactHfBucketsConfig, redactHfModelsConfig, redactHfRepoConfig, redactLangfuseConfig, redactLinearConfig, redactMinIOConfig, redactNotionConfig, redactOciConfig, redactQingStorConfig, redactR2Config, redactConfig as redactS3Config, redactScalewayConfig, redactSeaweedFSConfig, redactSlackConfig, redactSshConfig, redactSupabaseConfig, redactTencentConfig, redactTrelloConfig, redactWasabiConfig, register as registerResourceFactory, resolvedAliyunEndpoint, resolvedBackblazeEndpoint, resolvedDigitalOceanEndpoint, resolvedQingStorEndpoint, resolvedScalewayEndpoint, resolvedSupabaseEndpoint, resolvedTencentEndpoint, resolvedWasabiEndpoint };
|
|
2636
|
+
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, DEFAULT_STATE_ROOT, DIGITALOCEAN_PROMPT, DISK_COMMANDS, DISK_OPS, DISK_PROMPT, type DatabricksProfile, DatabricksVolumeResource, type DatabricksVolumeResourceState, type DigitalOceanConfig, type DigitalOceanConfigRedacted, DigitalOceanResource, type DigitalOceanResourceState, type DiscordConfig, type DiscordConfigRedacted, DiscordResource, type DiscordResourceState, DiskNamespaceStore, DiskObserverStore, DiskRecordClient, DiskResource, type DiskResourceOptions, type DiskResourceState, DiskSessionStore, DiskWorkspaceStateStore, type DiskWorkspaceStateStoreOptions, type DropboxConfig, type DropboxConfigRedacted, DropboxResource, type DropboxResourceState, EMAIL_COMMANDS, EMAIL_OPS, EMAIL_PROMPT, EMAIL_WRITE_PROMPT, EmailAccessor, type EmailConfig, type EmailConfigInput, type EmailConfigRedacted, EmailResource, type EmailResourceState, type FuseAttr, type FuseHandle, FuseManager, type MountOptions as FuseMountOptions, type GCSConfig, type GCSConfigRedacted, GCSResource, type GCSResourceState, GCS_ENDPOINT, GCS_PROMPT, type GDocsConfig, type GDocsConfigRedacted, GDocsResource, type GDocsResourceState, type GDriveConfig, type GDriveConfigRedacted, GDriveResource, type GDriveResourceState, type GSheetsConfig, type GSheetsConfigRedacted, GSheetsResource, type GSheetsResourceState, type GSlidesConfig, type GSlidesConfigRedacted, 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, 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, LanceDBResource, type LanceDBResourceOptions, LanceDBStore, type LangfuseConfig, type LangfuseConfigRedacted, LangfuseResource, type LangfuseResourceState, type LinearConfig, type LinearConfigRedacted, LinearResource, type LinearResourceState, MINIO_PROMPT, type MinIOConfig, type MinIOConfigRedacted, MinIOResource, type MinIOResourceState, MirageFS, type MirageFSOptions, MongoDBResource, type MongoDBResourceOptions, MongoDBStore, Mount, type MountSpecOptions, NEXTCLOUD_COMMANDS, NEXTCLOUD_OPS, NEXTCLOUD_PROMPT, NextcloudAccessor, type NextcloudConfig, type NextcloudConfigRedacted, NextcloudResource, type NextcloudResourceState, type NodeWorkspaceOptions, type NotionConfig, type NotionConfigRedacted, 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, 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, type SlackConfig, type SlackConfigRedacted, 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, buildResource, fileReadProvision, mount as fuseMount, mountBackground as fuseMountBackground, headTailProvision, isMacosMetadata, knownResources, loadDatabricksProfile, metadataProvision, normalizeBoxConfig, normalizeDiscordConfig, normalizeDropboxConfig, normalizeEmailConfig, normalizeGDocsConfig, normalizeGDriveConfig, normalizeGSheetsConfig, normalizeGSlidesConfig, normalizeGitHubCIConfig, normalizeGitHubConfig, normalizeGridFSConfig, normalizeHfBucketsConfig, normalizeHfModelsConfig, normalizeHfRepoConfig, normalizeLangfuseConfig, normalizeLinearConfig, normalizeNextcloudConfig, normalizeNotionConfig, normalizeSlackConfig, normalizeSshConfig, normalizeTrelloConfig, parseDatabricksCfg, patchNodeFs, redactAliyunConfig, redactBackblazeConfig, redactBoxConfig, redactCephConfig, redactDigitalOceanConfig, redactDiscordConfig, redactDropboxConfig, redactEmailConfig, redactGDocsConfig, redactGDriveConfig, redactGSheetsConfig, redactGSlidesConfig, redactGcsConfig, redactGitHubCIConfig, redactGitHubConfig, redactHfBucketsConfig, redactHfModelsConfig, redactHfRepoConfig, redactLangfuseConfig, redactLinearConfig, redactMinIOConfig, redactNextcloudConfig, redactNotionConfig, redactOciConfig, redactQingStorConfig, redactR2Config, redactConfig as redactS3Config, redactScalewayConfig, redactSeaweedFSConfig, redactSlackConfig, redactSshConfig, redactSupabaseConfig, redactTencentConfig, redactTrelloConfig, redactWasabiConfig, register as registerResourceFactory, resolvedAliyunEndpoint, resolvedBackblazeEndpoint, resolvedDigitalOceanEndpoint, resolvedQingStorEndpoint, resolvedScalewayEndpoint, resolvedSupabaseEndpoint, resolvedTencentEndpoint, resolvedWasabiEndpoint };
|