@struktoai/mirage-node 0.0.1 → 0.0.2
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 +63 -129
- package/dist/aliyun-TMZRUYCG.js +10 -0
- package/dist/backblaze-OHW57DLK.js +10 -0
- package/dist/box-UXTCAFOZ.js +8 -0
- package/dist/ceph-TNN4I2FT.js +10 -0
- package/dist/chunk-2CC5VW7K.js +52 -0
- package/dist/chunk-2CC5VW7K.js.map +1 -0
- package/dist/chunk-3IJSIVKT.js +57 -0
- package/dist/chunk-3IJSIVKT.js.map +1 -0
- package/dist/chunk-3T3RMDNX.js +57 -0
- package/dist/chunk-3T3RMDNX.js.map +1 -0
- package/dist/chunk-54NTYJEO.js +13 -0
- package/dist/chunk-54NTYJEO.js.map +1 -0
- package/dist/{chunk-DCJQ2PIX.js → chunk-5DLOHQJ2.js} +5 -8
- package/dist/chunk-5DLOHQJ2.js.map +1 -0
- package/dist/chunk-5HCVKTP3.js +2086 -0
- package/dist/chunk-5HCVKTP3.js.map +1 -0
- package/dist/{chunk-5E6BULAK.js → chunk-5YOCVEUB.js} +5 -8
- package/dist/chunk-5YOCVEUB.js.map +1 -0
- package/dist/{chunk-6M2NL363.js → chunk-A4Z6DZ22.js} +6 -8
- package/dist/chunk-A4Z6DZ22.js.map +1 -0
- package/dist/{chunk-NOZZFJEB.js → chunk-A7X4L4JM.js} +5 -8
- package/dist/chunk-A7X4L4JM.js.map +1 -0
- package/dist/{chunk-GCB4JUF7.js → chunk-ABTEGAFB.js} +5 -8
- package/dist/chunk-ABTEGAFB.js.map +1 -0
- package/dist/chunk-AJICZLHT.js +57 -0
- package/dist/chunk-AJICZLHT.js.map +1 -0
- package/dist/{chunk-H74QYTN7.js → chunk-B2ZOKNN4.js} +14 -3
- package/dist/chunk-B2ZOKNN4.js.map +1 -0
- package/dist/{chunk-ICSS5ETT.js → chunk-B6SXRCBO.js} +8 -18
- package/dist/chunk-B6SXRCBO.js.map +1 -0
- package/dist/{chunk-HEQL3LPK.js → chunk-BYTU2YC3.js} +8 -18
- package/dist/chunk-BYTU2YC3.js.map +1 -0
- package/dist/{chunk-V5OLWE7F.js → chunk-C6NHEDHY.js} +5 -8
- package/dist/chunk-C6NHEDHY.js.map +1 -0
- package/dist/chunk-C6NHFMIP.js +57 -0
- package/dist/chunk-C6NHFMIP.js.map +1 -0
- package/dist/chunk-CASCUFK2.js +87 -0
- package/dist/chunk-CASCUFK2.js.map +1 -0
- package/dist/chunk-DNBAMB5J.js +18 -0
- package/dist/chunk-DNBAMB5J.js.map +1 -0
- package/dist/chunk-DP2PP5V2.js +26 -0
- package/dist/chunk-DP2PP5V2.js.map +1 -0
- package/dist/{chunk-OYJXYJTE.js → chunk-DTAY7LPC.js} +303 -866
- package/dist/chunk-DTAY7LPC.js.map +1 -0
- package/dist/chunk-DYXEITK3.js +52 -0
- package/dist/chunk-DYXEITK3.js.map +1 -0
- package/dist/chunk-E2ISWXLB.js +7 -0
- package/dist/chunk-E2ISWXLB.js.map +1 -0
- package/dist/{chunk-XDEEOTVK.js → chunk-E7RW3SBV.js} +5 -8
- package/dist/chunk-E7RW3SBV.js.map +1 -0
- package/dist/chunk-EGB7V74Z.js +76 -0
- package/dist/chunk-EGB7V74Z.js.map +1 -0
- package/dist/{chunk-LBBM3LKK.js → chunk-ERELJ7BS.js} +5 -8
- package/dist/chunk-ERELJ7BS.js.map +1 -0
- package/dist/chunk-FXFDBF3P.js +57 -0
- package/dist/chunk-FXFDBF3P.js.map +1 -0
- package/dist/chunk-G5BZE7UA.js +50 -0
- package/dist/chunk-G5BZE7UA.js.map +1 -0
- package/dist/chunk-H3BST2LI.js +26 -0
- package/dist/chunk-H3BST2LI.js.map +1 -0
- package/dist/chunk-H3I2KZIY.js +25 -0
- package/dist/chunk-H3I2KZIY.js.map +1 -0
- package/dist/{chunk-UWMOTOXA.js → chunk-HEHERHQ5.js} +8 -15
- package/dist/chunk-HEHERHQ5.js.map +1 -0
- package/dist/chunk-HQ4KWN76.js +57 -0
- package/dist/chunk-HQ4KWN76.js.map +1 -0
- package/dist/{chunk-MY3NUJJD.js → chunk-IQVNVTOP.js} +8 -18
- package/dist/chunk-IQVNVTOP.js.map +1 -0
- package/dist/chunk-JALIYI6M.js +55 -0
- package/dist/chunk-JALIYI6M.js.map +1 -0
- package/dist/chunk-JZQHKDSY.js +216 -0
- package/dist/chunk-JZQHKDSY.js.map +1 -0
- package/dist/chunk-JZT4QGIP.js +24 -0
- package/dist/chunk-JZT4QGIP.js.map +1 -0
- package/dist/chunk-KTNDT45N.js +57 -0
- package/dist/chunk-KTNDT45N.js.map +1 -0
- package/dist/chunk-L6JPBJAS.js +57 -0
- package/dist/chunk-L6JPBJAS.js.map +1 -0
- package/dist/{chunk-6VKNSO6U.js → chunk-LAJJPLEV.js} +17 -11
- package/dist/chunk-LAJJPLEV.js.map +1 -0
- package/dist/chunk-LW25LMIH.js +26 -0
- package/dist/chunk-LW25LMIH.js.map +1 -0
- package/dist/{chunk-WSDQ2MRG.js → chunk-LYDMMNL2.js} +5 -8
- package/dist/chunk-LYDMMNL2.js.map +1 -0
- package/dist/{chunk-G7O6DAWU.js → chunk-MHCMHKM6.js} +15 -9
- package/dist/chunk-MHCMHKM6.js.map +1 -0
- package/dist/chunk-N72CAZEH.js +1990 -0
- package/dist/chunk-N72CAZEH.js.map +1 -0
- package/dist/{chunk-XQUQSNCA.js → chunk-NHS7WLEQ.js} +4 -5
- package/dist/chunk-NHS7WLEQ.js.map +1 -0
- package/dist/chunk-NJMGCT63.js +54 -0
- package/dist/chunk-NJMGCT63.js.map +1 -0
- package/dist/chunk-O7ODGJYL.js +57 -0
- package/dist/chunk-O7ODGJYL.js.map +1 -0
- package/dist/chunk-OHROA3FQ.js +54 -0
- package/dist/chunk-OHROA3FQ.js.map +1 -0
- package/dist/chunk-OPYQ5KIO.js +52 -0
- package/dist/chunk-OPYQ5KIO.js.map +1 -0
- package/dist/chunk-OYV2DN66.js +50 -0
- package/dist/chunk-OYV2DN66.js.map +1 -0
- package/dist/chunk-OZAEWZZ3.js +31 -0
- package/dist/chunk-OZAEWZZ3.js.map +1 -0
- package/dist/chunk-PBBG7VFT.js +1896 -0
- package/dist/chunk-PBBG7VFT.js.map +1 -0
- package/dist/{chunk-HXWGG4K7.js → chunk-PJBQKMCD.js} +10 -20
- package/dist/chunk-PJBQKMCD.js.map +1 -0
- package/dist/chunk-Q2IAILVC.js +26 -0
- package/dist/chunk-Q2IAILVC.js.map +1 -0
- package/dist/chunk-Q6CDMOM6.js +57 -0
- package/dist/chunk-Q6CDMOM6.js.map +1 -0
- package/dist/{chunk-ALAMUIGJ.js → chunk-QGRDPSAH.js} +17 -12
- package/dist/chunk-QGRDPSAH.js.map +1 -0
- package/dist/{chunk-7QXJ4KWQ.js → chunk-RLGWMJD3.js} +63 -9
- package/dist/chunk-RLGWMJD3.js.map +1 -0
- package/dist/chunk-RO5IQEDQ.js +30 -0
- package/dist/chunk-RO5IQEDQ.js.map +1 -0
- package/dist/{chunk-ZC4KNEOQ.js → chunk-RQK5UPMP.js} +16 -11
- package/dist/chunk-RQK5UPMP.js.map +1 -0
- package/dist/chunk-RQYEEA2O.js +50 -0
- package/dist/chunk-RQYEEA2O.js.map +1 -0
- package/dist/chunk-SFUCUARB.js +21 -0
- package/dist/chunk-SFUCUARB.js.map +1 -0
- package/dist/{chunk-MVE5VVMQ.js → chunk-TRTUHCS4.js} +5 -8
- package/dist/chunk-TRTUHCS4.js.map +1 -0
- package/dist/chunk-TWGVQLG2.js +24 -0
- package/dist/chunk-TWGVQLG2.js.map +1 -0
- package/dist/chunk-UGK4TAVK.js +32 -0
- package/dist/chunk-UGK4TAVK.js.map +1 -0
- package/dist/{chunk-LPMPTQYP.js → chunk-UT2OPSN4.js} +12 -10
- package/dist/chunk-UT2OPSN4.js.map +1 -0
- package/dist/chunk-VGLHY6BK.js +31 -0
- package/dist/chunk-VGLHY6BK.js.map +1 -0
- package/dist/chunk-W7FLHT65.js +26 -0
- package/dist/chunk-W7FLHT65.js.map +1 -0
- package/dist/chunk-WL7HS7EM.js +50 -0
- package/dist/chunk-WL7HS7EM.js.map +1 -0
- package/dist/chunk-WSGEIVY3.js +1766 -0
- package/dist/chunk-WSGEIVY3.js.map +1 -0
- package/dist/{chunk-H3JR7MN3.js → chunk-XGJ2QERC.js} +17 -10
- package/dist/chunk-XGJ2QERC.js.map +1 -0
- package/dist/chunk-XHCBHYN4.js +54 -0
- package/dist/chunk-XHCBHYN4.js.map +1 -0
- package/dist/chunk-XLQI4IT2.js +54 -0
- package/dist/chunk-XLQI4IT2.js.map +1 -0
- package/dist/{chunk-3PBSL7BS.js → chunk-XRU5WXZX.js} +5 -8
- package/dist/chunk-XRU5WXZX.js.map +1 -0
- package/dist/{chunk-UZZD4MRJ.js → chunk-YAVGCQUP.js} +5 -8
- package/dist/chunk-YAVGCQUP.js.map +1 -0
- package/dist/chunk-YGZMVNN5.js +54 -0
- package/dist/chunk-YGZMVNN5.js.map +1 -0
- package/dist/{chunk-PEZYBKZH.js → chunk-YPT4JBUY.js} +10 -24
- package/dist/chunk-YPT4JBUY.js.map +1 -0
- package/dist/chunk-YUK3X3B4.js +27 -0
- package/dist/chunk-YUK3X3B4.js.map +1 -0
- package/dist/chunk-ZNWVJ6UW.js +54 -0
- package/dist/chunk-ZNWVJ6UW.js.map +1 -0
- package/dist/config-34LHOGLM.js +13 -0
- package/dist/config-3BBWD5AB.js +11 -0
- package/dist/{config-FNR6LJ5H.js → config-3IVQJBNW.js} +4 -2
- package/dist/config-4UDVSUQJ.js +11 -0
- package/dist/config-CMDBAPDH.js +11 -0
- package/dist/config-CVZ2AGCO.js +21 -0
- package/dist/config-D3RLSPNF.js +11 -0
- package/dist/config-DG65OEG3.js +11 -0
- package/dist/{config-HNSDNQZH.js → config-EIHSP5DZ.js} +4 -2
- package/dist/config-EO23EY62.js +15 -0
- package/dist/config-GCQK6NJY.js +11 -0
- package/dist/{config-5ZPGISS6.js → config-GE4W4ZJC.js} +4 -2
- package/dist/config-GHRUKEQ6.js +13 -0
- package/dist/config-GVH27UPE.js +11 -0
- package/dist/config-HKRMKD76.js +15 -0
- package/dist/config-HXVYIXP5.js +11 -0
- package/dist/config-IDZMEW73.js +11 -0
- package/dist/config-IJJXGLBQ.js +11 -0
- package/dist/config-IVY5EQQ2.js +15 -0
- package/dist/config-KJOLGVB2.js +11 -0
- package/dist/{config-S47UDVRZ.js → config-KMVCVBYN.js} +4 -2
- package/dist/{config-UKZ72IDO.js → config-KYTRXAB2.js} +4 -2
- package/dist/{config-MOLWOSRG.js → config-LHFFXVYI.js} +4 -2
- package/dist/config-NV5WXP64.js +11 -0
- package/dist/config-OT2TQQCN.js +11 -0
- package/dist/config-Q45Y46YT.js +15 -0
- package/dist/config-QAA646XB.js +15 -0
- package/dist/config-QNMKWJ4M.js +15 -0
- package/dist/config-QWCY3LBQ.js +11 -0
- package/dist/{config-HIZHA5VD.js → config-VM526IKB.js} +4 -2
- package/dist/config-WDAZFXYD.js +15 -0
- package/dist/config-ZFJYQZCH.js +13 -0
- package/dist/config-ZV6G2ZEC.js +11 -0
- package/dist/databricks_volume-HNQ4DJVJ.js +7 -0
- package/dist/digitalocean-6SPR4S7V.js +10 -0
- package/dist/discord-SAV2RBJV.js +8 -0
- package/dist/{disk-C7TJNU2B.js → disk-POACMF4G.js} +2 -2
- package/dist/dropbox-CQ7MTYX2.js +8 -0
- package/dist/email-KBQ7CXS7.js +8 -0
- package/dist/gcs-SMIE4VMT.js +10 -0
- package/dist/gdocs-X5Y2SIQX.js +8 -0
- package/dist/gdrive-SIQPRIGI.js +8 -0
- package/dist/github-KBHWANKQ.js +8 -0
- package/dist/github-KBHWANKQ.js.map +1 -0
- package/dist/github_ci-HPITNK37.js +8 -0
- package/dist/github_ci-HPITNK37.js.map +1 -0
- package/dist/gmail-DKHAGJNX.js +8 -0
- package/dist/gmail-DKHAGJNX.js.map +1 -0
- package/dist/gsheets-ZSUDIWGK.js +8 -0
- package/dist/gsheets-ZSUDIWGK.js.map +1 -0
- package/dist/gslides-GYXM7IMJ.js +8 -0
- package/dist/gslides-GYXM7IMJ.js.map +1 -0
- package/dist/hf_buckets-RIOMV7WG.js +10 -0
- package/dist/hf_buckets-RIOMV7WG.js.map +1 -0
- package/dist/hf_datasets-QF4BQ3OK.js +10 -0
- package/dist/hf_datasets-QF4BQ3OK.js.map +1 -0
- package/dist/hf_models-62GC2HPZ.js +10 -0
- package/dist/hf_models-62GC2HPZ.js.map +1 -0
- package/dist/hf_spaces-NVSMUNRM.js +10 -0
- package/dist/hf_spaces-NVSMUNRM.js.map +1 -0
- package/dist/index.d.ts +722 -277
- package/dist/index.js +646 -2268
- package/dist/index.js.map +1 -1
- package/dist/langfuse-HUAYVPHF.js +8 -0
- package/dist/langfuse-HUAYVPHF.js.map +1 -0
- package/dist/linear-2MM55KBC.js +8 -0
- package/dist/linear-2MM55KBC.js.map +1 -0
- package/dist/minio-L3XE6PQS.js +10 -0
- package/dist/minio-L3XE6PQS.js.map +1 -0
- package/dist/mongodb-ZOX4FRHJ.js +7 -0
- package/dist/mongodb-ZOX4FRHJ.js.map +1 -0
- package/dist/notion-UK4GTMT4.js +8 -0
- package/dist/notion-UK4GTMT4.js.map +1 -0
- package/dist/oci-NURLWPL2.js +10 -0
- package/dist/oci-NURLWPL2.js.map +1 -0
- package/dist/postgres-JNFMPAO2.js +7 -0
- package/dist/postgres-JNFMPAO2.js.map +1 -0
- package/dist/qingstor-W55D5YFO.js +10 -0
- package/dist/qingstor-W55D5YFO.js.map +1 -0
- package/dist/r2-FSZK7IFI.js +10 -0
- package/dist/r2-FSZK7IFI.js.map +1 -0
- package/dist/redis-S6GIPA4Z.js +8 -0
- package/dist/redis-S6GIPA4Z.js.map +1 -0
- package/dist/s3-GMPUJ65D.js +8 -0
- package/dist/s3-GMPUJ65D.js.map +1 -0
- package/dist/scaleway-5VM55Y6D.js +10 -0
- package/dist/scaleway-5VM55Y6D.js.map +1 -0
- package/dist/seaweedfs-J3EPUEPE.js +10 -0
- package/dist/seaweedfs-J3EPUEPE.js.map +1 -0
- package/dist/slack-FVBXY7KD.js +8 -0
- package/dist/slack-FVBXY7KD.js.map +1 -0
- package/dist/ssh-GCXETJ3Z.js +9 -0
- package/dist/ssh-GCXETJ3Z.js.map +1 -0
- package/dist/supabase-HLWNHBBE.js +10 -0
- package/dist/supabase-HLWNHBBE.js.map +1 -0
- package/dist/tencent-YDO73XBD.js +10 -0
- package/dist/tencent-YDO73XBD.js.map +1 -0
- package/dist/trello-CQ53BQUL.js +8 -0
- package/dist/trello-CQ53BQUL.js.map +1 -0
- package/dist/wasabi-SOZKPMRQ.js +10 -0
- package/dist/wasabi-SOZKPMRQ.js.map +1 -0
- package/package.json +39 -13
- package/dist/box-4P7DCJH7.js +0 -8
- package/dist/chunk-35PVZRWU.js +0 -24
- package/dist/chunk-35PVZRWU.js.map +0 -1
- package/dist/chunk-3PBSL7BS.js.map +0 -1
- package/dist/chunk-3Y625AUP.js +0 -24
- package/dist/chunk-3Y625AUP.js.map +0 -1
- package/dist/chunk-5E6BULAK.js.map +0 -1
- package/dist/chunk-5ITBZN55.js +0 -24
- package/dist/chunk-5ITBZN55.js.map +0 -1
- package/dist/chunk-6M2NL363.js.map +0 -1
- package/dist/chunk-6M3QVVOH.js +0 -32
- package/dist/chunk-6M3QVVOH.js.map +0 -1
- package/dist/chunk-6VKNSO6U.js.map +0 -1
- package/dist/chunk-6Y6GWMFF.js +0 -24
- package/dist/chunk-6Y6GWMFF.js.map +0 -1
- package/dist/chunk-7QXJ4KWQ.js.map +0 -1
- package/dist/chunk-ALAMUIGJ.js.map +0 -1
- package/dist/chunk-DCJQ2PIX.js.map +0 -1
- package/dist/chunk-EKPH4MMD.js +0 -27
- package/dist/chunk-EKPH4MMD.js.map +0 -1
- package/dist/chunk-FZ2GJ4BJ.js +0 -29
- package/dist/chunk-FZ2GJ4BJ.js.map +0 -1
- package/dist/chunk-G7O6DAWU.js.map +0 -1
- package/dist/chunk-GCB4JUF7.js.map +0 -1
- package/dist/chunk-GKQNMLQU.js +0 -7757
- package/dist/chunk-GKQNMLQU.js.map +0 -1
- package/dist/chunk-GO67AOYK.js +0 -24
- package/dist/chunk-GO67AOYK.js.map +0 -1
- package/dist/chunk-GPF66TH2.js +0 -24
- package/dist/chunk-GPF66TH2.js.map +0 -1
- package/dist/chunk-H3JR7MN3.js.map +0 -1
- package/dist/chunk-H74QYTN7.js.map +0 -1
- package/dist/chunk-HEQL3LPK.js.map +0 -1
- package/dist/chunk-HXWGG4K7.js.map +0 -1
- package/dist/chunk-I4RRGZGB.js +0 -24
- package/dist/chunk-I4RRGZGB.js.map +0 -1
- package/dist/chunk-ICSS5ETT.js.map +0 -1
- package/dist/chunk-KINMBZHC.js +0 -18
- package/dist/chunk-KINMBZHC.js.map +0 -1
- package/dist/chunk-LBBM3LKK.js.map +0 -1
- package/dist/chunk-LPMPTQYP.js.map +0 -1
- package/dist/chunk-M42JTWPR.js +0 -2794
- package/dist/chunk-M42JTWPR.js.map +0 -1
- package/dist/chunk-MVE5VVMQ.js.map +0 -1
- package/dist/chunk-MY3NUJJD.js.map +0 -1
- package/dist/chunk-NOZZFJEB.js.map +0 -1
- package/dist/chunk-OYJXYJTE.js.map +0 -1
- package/dist/chunk-PEZYBKZH.js.map +0 -1
- package/dist/chunk-QWWOBAYU.js +0 -26
- package/dist/chunk-QWWOBAYU.js.map +0 -1
- package/dist/chunk-RQYYYBQG.js +0 -24
- package/dist/chunk-RQYYYBQG.js.map +0 -1
- package/dist/chunk-T2WWAEKH.js +0 -7591
- package/dist/chunk-T2WWAEKH.js.map +0 -1
- package/dist/chunk-UWMOTOXA.js.map +0 -1
- package/dist/chunk-UZZD4MRJ.js.map +0 -1
- package/dist/chunk-V5OLWE7F.js.map +0 -1
- package/dist/chunk-VCLMTMSO.js +0 -23
- package/dist/chunk-VCLMTMSO.js.map +0 -1
- package/dist/chunk-WSDQ2MRG.js.map +0 -1
- package/dist/chunk-XDEEOTVK.js.map +0 -1
- package/dist/chunk-XQUQSNCA.js.map +0 -1
- package/dist/chunk-XVYZO2FG.js +0 -14
- package/dist/chunk-XVYZO2FG.js.map +0 -1
- package/dist/chunk-ZC4KNEOQ.js.map +0 -1
- package/dist/config-6HWSKHEU.js +0 -9
- package/dist/config-6TNFPYZF.js +0 -9
- package/dist/config-BHLXQ3OL.js +0 -9
- package/dist/config-E7UOEWEP.js +0 -9
- package/dist/config-IXLFUSMQ.js +0 -9
- package/dist/config-J3TM7NIS.js +0 -9
- package/dist/config-JXLZ4XEW.js +0 -9
- package/dist/config-KQCEMLNZ.js +0 -9
- package/dist/config-R3XJ5OW4.js +0 -9
- package/dist/config-V7XI5UTG.js +0 -9
- package/dist/config-YLIX3ZBT.js +0 -9
- package/dist/config-Z5JGDOKE.js +0 -9
- package/dist/config-ZCZZAH5W.js +0 -9
- package/dist/config-ZZGIWDUC.js +0 -9
- package/dist/discord-2PWP2MGX.js +0 -8
- package/dist/dropbox-L5DPYGKR.js +0 -8
- package/dist/email-HASRFBKC.js +0 -8
- package/dist/gcs-P5QMKTPR.js +0 -10
- package/dist/gdocs-IF2I35HZ.js +0 -8
- package/dist/gdrive-TAETVCKP.js +0 -8
- package/dist/github-5E6GSCNZ.js +0 -8
- package/dist/github_ci-2DSZI3Y7.js +0 -8
- package/dist/gmail-F5VYGKOT.js +0 -8
- package/dist/gsheets-BAO54CQ7.js +0 -8
- package/dist/gslides-A62CEEMR.js +0 -8
- package/dist/langfuse-YKBYRQLU.js +0 -8
- package/dist/linear-WJDQ6JDE.js +0 -8
- package/dist/mongodb-MK4DVSIK.js +0 -7
- package/dist/oci-KZ7XFZ2X.js +0 -10
- package/dist/postgres-M2N2APFZ.js +0 -7
- package/dist/r2-X4DDNSAZ.js +0 -10
- package/dist/redis-NVCXUUIO.js +0 -7
- package/dist/s3-HVAL7ZX3.js +0 -8
- package/dist/slack-GUQMDGLP.js +0 -8
- package/dist/ssh-LY6WYVVD.js +0 -9
- package/dist/supabase-H3ZP4Y3W.js +0 -10
- package/dist/trello-WR6TEDYD.js +0 -8
- /package/dist/{box-4P7DCJH7.js.map → aliyun-TMZRUYCG.js.map} +0 -0
- /package/dist/{config-5ZPGISS6.js.map → backblaze-OHW57DLK.js.map} +0 -0
- /package/dist/{config-6HWSKHEU.js.map → box-UXTCAFOZ.js.map} +0 -0
- /package/dist/{config-6TNFPYZF.js.map → ceph-TNN4I2FT.js.map} +0 -0
- /package/dist/{config-BHLXQ3OL.js.map → config-34LHOGLM.js.map} +0 -0
- /package/dist/{config-E7UOEWEP.js.map → config-3BBWD5AB.js.map} +0 -0
- /package/dist/{config-FNR6LJ5H.js.map → config-3IVQJBNW.js.map} +0 -0
- /package/dist/{config-HIZHA5VD.js.map → config-4UDVSUQJ.js.map} +0 -0
- /package/dist/{config-HNSDNQZH.js.map → config-CMDBAPDH.js.map} +0 -0
- /package/dist/{config-IXLFUSMQ.js.map → config-CVZ2AGCO.js.map} +0 -0
- /package/dist/{config-J3TM7NIS.js.map → config-D3RLSPNF.js.map} +0 -0
- /package/dist/{config-JXLZ4XEW.js.map → config-DG65OEG3.js.map} +0 -0
- /package/dist/{config-KQCEMLNZ.js.map → config-EIHSP5DZ.js.map} +0 -0
- /package/dist/{config-MOLWOSRG.js.map → config-EO23EY62.js.map} +0 -0
- /package/dist/{config-R3XJ5OW4.js.map → config-GCQK6NJY.js.map} +0 -0
- /package/dist/{config-S47UDVRZ.js.map → config-GE4W4ZJC.js.map} +0 -0
- /package/dist/{config-UKZ72IDO.js.map → config-GHRUKEQ6.js.map} +0 -0
- /package/dist/{config-V7XI5UTG.js.map → config-GVH27UPE.js.map} +0 -0
- /package/dist/{config-YLIX3ZBT.js.map → config-HKRMKD76.js.map} +0 -0
- /package/dist/{config-Z5JGDOKE.js.map → config-HXVYIXP5.js.map} +0 -0
- /package/dist/{config-ZCZZAH5W.js.map → config-IDZMEW73.js.map} +0 -0
- /package/dist/{config-ZZGIWDUC.js.map → config-IJJXGLBQ.js.map} +0 -0
- /package/dist/{discord-2PWP2MGX.js.map → config-IVY5EQQ2.js.map} +0 -0
- /package/dist/{disk-C7TJNU2B.js.map → config-KJOLGVB2.js.map} +0 -0
- /package/dist/{dropbox-L5DPYGKR.js.map → config-KMVCVBYN.js.map} +0 -0
- /package/dist/{email-HASRFBKC.js.map → config-KYTRXAB2.js.map} +0 -0
- /package/dist/{gcs-P5QMKTPR.js.map → config-LHFFXVYI.js.map} +0 -0
- /package/dist/{gdocs-IF2I35HZ.js.map → config-NV5WXP64.js.map} +0 -0
- /package/dist/{gdrive-TAETVCKP.js.map → config-OT2TQQCN.js.map} +0 -0
- /package/dist/{github-5E6GSCNZ.js.map → config-Q45Y46YT.js.map} +0 -0
- /package/dist/{github_ci-2DSZI3Y7.js.map → config-QAA646XB.js.map} +0 -0
- /package/dist/{gmail-F5VYGKOT.js.map → config-QNMKWJ4M.js.map} +0 -0
- /package/dist/{gsheets-BAO54CQ7.js.map → config-QWCY3LBQ.js.map} +0 -0
- /package/dist/{gslides-A62CEEMR.js.map → config-VM526IKB.js.map} +0 -0
- /package/dist/{langfuse-YKBYRQLU.js.map → config-WDAZFXYD.js.map} +0 -0
- /package/dist/{linear-WJDQ6JDE.js.map → config-ZFJYQZCH.js.map} +0 -0
- /package/dist/{mongodb-MK4DVSIK.js.map → config-ZV6G2ZEC.js.map} +0 -0
- /package/dist/{oci-KZ7XFZ2X.js.map → databricks_volume-HNQ4DJVJ.js.map} +0 -0
- /package/dist/{postgres-M2N2APFZ.js.map → digitalocean-6SPR4S7V.js.map} +0 -0
- /package/dist/{r2-X4DDNSAZ.js.map → discord-SAV2RBJV.js.map} +0 -0
- /package/dist/{redis-NVCXUUIO.js.map → disk-POACMF4G.js.map} +0 -0
- /package/dist/{s3-HVAL7ZX3.js.map → dropbox-CQ7MTYX2.js.map} +0 -0
- /package/dist/{slack-GUQMDGLP.js.map → email-KBQ7CXS7.js.map} +0 -0
- /package/dist/{ssh-LY6WYVVD.js.map → gcs-SMIE4VMT.js.map} +0 -0
- /package/dist/{supabase-H3ZP4Y3W.js.map → gdocs-X5Y2SIQX.js.map} +0 -0
- /package/dist/{trello-WR6TEDYD.js.map → gdrive-SIQPRIGI.js.map} +0 -0
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
import {
|
|
2
2
|
redactDropboxConfig
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-Q2IAILVC.js";
|
|
4
4
|
|
|
5
5
|
// src/resource/dropbox/dropbox.ts
|
|
6
6
|
import {
|
|
7
|
+
BaseResource,
|
|
7
8
|
DROPBOX_COMMANDS,
|
|
8
9
|
DROPBOX_PROMPT,
|
|
9
10
|
DROPBOX_VFS_OPS,
|
|
10
11
|
DropboxAccessor,
|
|
11
12
|
DropboxTokenManager,
|
|
12
13
|
PathSpec,
|
|
13
|
-
RAMIndexCacheStore,
|
|
14
14
|
ResourceName,
|
|
15
15
|
dropboxRead,
|
|
16
16
|
dropboxReaddir,
|
|
17
17
|
dropboxResolveGlob,
|
|
18
18
|
dropboxStat
|
|
19
19
|
} from "@struktoai/mirage-core";
|
|
20
|
-
var DropboxResource = class {
|
|
20
|
+
var DropboxResource = class extends BaseResource {
|
|
21
21
|
kind = ResourceName.DROPBOX;
|
|
22
22
|
isRemote = true;
|
|
23
23
|
indexTtl = 86400;
|
|
24
24
|
prompt = DROPBOX_PROMPT;
|
|
25
25
|
config;
|
|
26
26
|
accessor;
|
|
27
|
-
index;
|
|
28
27
|
constructor(config) {
|
|
28
|
+
super();
|
|
29
29
|
this.config = config;
|
|
30
30
|
const tm = new DropboxTokenManager({
|
|
31
31
|
clientId: config.clientId,
|
|
@@ -34,7 +34,6 @@ var DropboxResource = class {
|
|
|
34
34
|
...config.refreshFn !== void 0 ? { refreshFn: config.refreshFn } : {}
|
|
35
35
|
});
|
|
36
36
|
this.accessor = new DropboxAccessor({ tokenManager: tm });
|
|
37
|
-
this.index = new RAMIndexCacheStore({ ttl: 86400 });
|
|
38
37
|
}
|
|
39
38
|
open() {
|
|
40
39
|
return Promise.resolve();
|
|
@@ -76,8 +75,6 @@ var DropboxResource = class {
|
|
|
76
75
|
getState() {
|
|
77
76
|
return Promise.resolve({
|
|
78
77
|
type: this.kind,
|
|
79
|
-
needsOverride: true,
|
|
80
|
-
redactedFields: ["clientSecret", "refreshToken"],
|
|
81
78
|
config: redactDropboxConfig(this.config)
|
|
82
79
|
});
|
|
83
80
|
}
|
|
@@ -89,4 +86,4 @@ var DropboxResource = class {
|
|
|
89
86
|
export {
|
|
90
87
|
DropboxResource
|
|
91
88
|
};
|
|
92
|
-
//# sourceMappingURL=chunk-
|
|
89
|
+
//# sourceMappingURL=chunk-5YOCVEUB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/resource/dropbox/dropbox.ts"],"sourcesContent":["// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n\nimport {\n BaseResource,\n type FileStat,\n DROPBOX_COMMANDS,\n DROPBOX_PROMPT,\n DROPBOX_VFS_OPS,\n DropboxAccessor,\n DropboxTokenManager,\n PathSpec,\n type RegisteredCommand,\n type RegisteredOp,\n type Resource,\n ResourceName,\n dropboxRead,\n dropboxReaddir,\n dropboxResolveGlob,\n dropboxStat,\n} from '@struktoai/mirage-core'\nimport { redactDropboxConfig, type DropboxConfig, type DropboxConfigRedacted } from './config.ts'\n\nexport interface DropboxResourceState {\n type: string\n config: DropboxConfigRedacted\n}\n\nexport class DropboxResource extends BaseResource implements Resource {\n readonly kind: string = ResourceName.DROPBOX\n readonly isRemote: boolean = true\n readonly indexTtl: number = 86_400\n readonly prompt: string = DROPBOX_PROMPT\n readonly config: DropboxConfig\n readonly accessor: DropboxAccessor\n\n constructor(config: DropboxConfig) {\n super()\n this.config = config\n const tm = new DropboxTokenManager({\n clientId: config.clientId,\n clientSecret: config.clientSecret,\n refreshToken: config.refreshToken,\n ...(config.refreshFn !== undefined ? { refreshFn: config.refreshFn } : {}),\n })\n this.accessor = new DropboxAccessor({ tokenManager: tm })\n }\n\n open(): Promise<void> {\n return Promise.resolve()\n }\n\n close(): Promise<void> {\n return Promise.resolve()\n }\n\n commands(): readonly RegisteredCommand[] {\n return DROPBOX_COMMANDS\n }\n\n ops(): readonly RegisteredOp[] {\n return DROPBOX_VFS_OPS\n }\n\n readFile(p: PathSpec): Promise<Uint8Array> {\n return dropboxRead(this.accessor, p, this.index)\n }\n\n readdir(p: PathSpec): Promise<string[]> {\n return dropboxReaddir(this.accessor, p, this.index)\n }\n\n stat(p: PathSpec): Promise<FileStat> {\n return dropboxStat(this.accessor, p, this.index)\n }\n\n async fingerprint(p: PathSpec): Promise<string | null> {\n const lookup = await this.index.get(p.original)\n return lookup.entry?.remoteTime ?? null\n }\n\n glob(paths: readonly PathSpec[], prefix = ''): Promise<PathSpec[]> {\n const effective =\n prefix !== ''\n ? paths.map((p) =>\n p.prefix !== ''\n ? p\n : new PathSpec({\n original: p.original,\n directory: p.directory,\n ...(p.pattern !== null ? { pattern: p.pattern } : {}),\n resolved: p.resolved,\n prefix,\n }),\n )\n : paths\n return dropboxResolveGlob(this.accessor, effective, this.index)\n }\n\n getState(): Promise<DropboxResourceState> {\n return Promise.resolve({\n type: this.kind,\n config: redactDropboxConfig(this.config),\n })\n }\n\n loadState(_state: DropboxResourceState): Promise<void> {\n return Promise.resolve()\n }\n}\n"],"mappings":";;;;;AAcA;AAAA,EACE;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAIA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAQA,IAAM,kBAAN,cAA8B,aAAiC;AAAA,EAC3D,OAAe,aAAa;AAAA,EAC5B,WAAoB;AAAA,EACpB,WAAmB;AAAA,EACnB,SAAiB;AAAA,EACjB;AAAA,EACA;AAAA,EAET,YAAY,QAAuB;AACjC,UAAM;AACN,SAAK,SAAS;AACd,UAAM,KAAK,IAAI,oBAAoB;AAAA,MACjC,UAAU,OAAO;AAAA,MACjB,cAAc,OAAO;AAAA,MACrB,cAAc,OAAO;AAAA,MACrB,GAAI,OAAO,cAAc,SAAY,EAAE,WAAW,OAAO,UAAU,IAAI,CAAC;AAAA,IAC1E,CAAC;AACD,SAAK,WAAW,IAAI,gBAAgB,EAAE,cAAc,GAAG,CAAC;AAAA,EAC1D;AAAA,EAEA,OAAsB;AACpB,WAAO,QAAQ,QAAQ;AAAA,EACzB;AAAA,EAEA,QAAuB;AACrB,WAAO,QAAQ,QAAQ;AAAA,EACzB;AAAA,EAEA,WAAyC;AACvC,WAAO;AAAA,EACT;AAAA,EAEA,MAA+B;AAC7B,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,GAAkC;AACzC,WAAO,YAAY,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EACjD;AAAA,EAEA,QAAQ,GAAgC;AACtC,WAAO,eAAe,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EACpD;AAAA,EAEA,KAAK,GAAgC;AACnC,WAAO,YAAY,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EACjD;AAAA,EAEA,MAAM,YAAY,GAAqC;AACrD,UAAM,SAAS,MAAM,KAAK,MAAM,IAAI,EAAE,QAAQ;AAC9C,WAAO,OAAO,OAAO,cAAc;AAAA,EACrC;AAAA,EAEA,KAAK,OAA4B,SAAS,IAAyB;AACjE,UAAM,YACJ,WAAW,KACP,MAAM;AAAA,MAAI,CAAC,MACT,EAAE,WAAW,KACT,IACA,IAAI,SAAS;AAAA,QACX,UAAU,EAAE;AAAA,QACZ,WAAW,EAAE;AAAA,QACb,GAAI,EAAE,YAAY,OAAO,EAAE,SAAS,EAAE,QAAQ,IAAI,CAAC;AAAA,QACnD,UAAU,EAAE;AAAA,QACZ;AAAA,MACF,CAAC;AAAA,IACP,IACA;AACN,WAAO,mBAAmB,KAAK,UAAU,WAAW,KAAK,KAAK;AAAA,EAChE;AAAA,EAEA,WAA0C;AACxC,WAAO,QAAQ,QAAQ;AAAA,MACrB,MAAM,KAAK;AAAA,MACX,QAAQ,oBAAoB,KAAK,MAAM;AAAA,IACzC,CAAC;AAAA,EACH;AAAA,EAEA,UAAU,QAA6C;AACrD,WAAO,QAAQ,QAAQ;AAAA,EACzB;AACF;","names":[]}
|
|
@@ -1,42 +1,42 @@
|
|
|
1
1
|
import {
|
|
2
2
|
redactBoxConfig
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-OZAEWZZ3.js";
|
|
4
4
|
|
|
5
5
|
// src/resource/box/box.ts
|
|
6
6
|
import {
|
|
7
|
+
BaseResource,
|
|
7
8
|
BOX_COMMANDS,
|
|
8
9
|
BOX_PROMPT,
|
|
9
10
|
BOX_VFS_OPS,
|
|
10
11
|
BoxAccessor,
|
|
11
12
|
BoxTokenManager,
|
|
12
13
|
PathSpec,
|
|
13
|
-
RAMIndexCacheStore,
|
|
14
14
|
ResourceName,
|
|
15
15
|
boxRead,
|
|
16
16
|
boxReaddir,
|
|
17
17
|
boxResolveGlob,
|
|
18
18
|
boxStat
|
|
19
19
|
} from "@struktoai/mirage-core";
|
|
20
|
-
var BoxResource = class {
|
|
20
|
+
var BoxResource = class extends BaseResource {
|
|
21
21
|
kind = ResourceName.BOX;
|
|
22
22
|
isRemote = true;
|
|
23
23
|
indexTtl = 86400;
|
|
24
24
|
prompt = BOX_PROMPT;
|
|
25
25
|
config;
|
|
26
26
|
accessor;
|
|
27
|
-
index;
|
|
28
27
|
constructor(config) {
|
|
28
|
+
super();
|
|
29
29
|
this.config = config;
|
|
30
30
|
const tm = new BoxTokenManager({
|
|
31
31
|
...config.clientId !== void 0 ? { clientId: config.clientId } : {},
|
|
32
32
|
...config.clientSecret !== void 0 ? { clientSecret: config.clientSecret } : {},
|
|
33
33
|
...config.refreshToken !== void 0 ? { refreshToken: config.refreshToken } : {},
|
|
34
|
+
...config.enterpriseId !== void 0 ? { enterpriseId: config.enterpriseId } : {},
|
|
34
35
|
...config.accessToken !== void 0 ? { accessToken: config.accessToken } : {},
|
|
35
36
|
...config.refreshFn !== void 0 ? { refreshFn: config.refreshFn } : {},
|
|
36
37
|
...config.onRefreshTokenRotated !== void 0 ? { onRefreshTokenRotated: config.onRefreshTokenRotated } : {}
|
|
37
38
|
});
|
|
38
39
|
this.accessor = new BoxAccessor({ tokenManager: tm });
|
|
39
|
-
this.index = new RAMIndexCacheStore({ ttl: 86400 });
|
|
40
40
|
}
|
|
41
41
|
open() {
|
|
42
42
|
return Promise.resolve();
|
|
@@ -78,8 +78,6 @@ var BoxResource = class {
|
|
|
78
78
|
getState() {
|
|
79
79
|
return Promise.resolve({
|
|
80
80
|
type: this.kind,
|
|
81
|
-
needsOverride: true,
|
|
82
|
-
redactedFields: ["clientSecret", "refreshToken", "accessToken"],
|
|
83
81
|
config: redactBoxConfig(this.config)
|
|
84
82
|
});
|
|
85
83
|
}
|
|
@@ -91,4 +89,4 @@ var BoxResource = class {
|
|
|
91
89
|
export {
|
|
92
90
|
BoxResource
|
|
93
91
|
};
|
|
94
|
-
//# sourceMappingURL=chunk-
|
|
92
|
+
//# sourceMappingURL=chunk-A4Z6DZ22.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/resource/box/box.ts"],"sourcesContent":["// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n\nimport {\n BaseResource,\n BOX_COMMANDS,\n BOX_PROMPT,\n BOX_VFS_OPS,\n BoxAccessor,\n BoxTokenManager,\n type FileStat,\n PathSpec,\n type RegisteredCommand,\n type RegisteredOp,\n type Resource,\n ResourceName,\n boxRead,\n boxReaddir,\n boxResolveGlob,\n boxStat,\n} from '@struktoai/mirage-core'\nimport { redactBoxConfig, type BoxConfig, type BoxConfigRedacted } from './config.ts'\n\nexport interface BoxResourceState {\n type: string\n config: BoxConfigRedacted\n}\n\nexport class BoxResource extends BaseResource implements Resource {\n readonly kind: string = ResourceName.BOX\n readonly isRemote: boolean = true\n readonly indexTtl: number = 86_400\n readonly prompt: string = BOX_PROMPT\n readonly config: BoxConfig\n readonly accessor: BoxAccessor\n\n constructor(config: BoxConfig) {\n super()\n this.config = config\n const tm = new BoxTokenManager({\n ...(config.clientId !== undefined ? { clientId: config.clientId } : {}),\n ...(config.clientSecret !== undefined ? { clientSecret: config.clientSecret } : {}),\n ...(config.refreshToken !== undefined ? { refreshToken: config.refreshToken } : {}),\n ...(config.enterpriseId !== undefined ? { enterpriseId: config.enterpriseId } : {}),\n ...(config.accessToken !== undefined ? { accessToken: config.accessToken } : {}),\n ...(config.refreshFn !== undefined ? { refreshFn: config.refreshFn } : {}),\n ...(config.onRefreshTokenRotated !== undefined\n ? { onRefreshTokenRotated: config.onRefreshTokenRotated }\n : {}),\n })\n this.accessor = new BoxAccessor({ tokenManager: tm })\n }\n\n open(): Promise<void> {\n return Promise.resolve()\n }\n\n close(): Promise<void> {\n return Promise.resolve()\n }\n\n commands(): readonly RegisteredCommand[] {\n return BOX_COMMANDS\n }\n\n ops(): readonly RegisteredOp[] {\n return BOX_VFS_OPS\n }\n\n readFile(p: PathSpec): Promise<Uint8Array> {\n return boxRead(this.accessor, p, this.index)\n }\n\n readdir(p: PathSpec): Promise<string[]> {\n return boxReaddir(this.accessor, p, this.index)\n }\n\n stat(p: PathSpec): Promise<FileStat> {\n return boxStat(this.accessor, p, this.index)\n }\n\n async fingerprint(p: PathSpec): Promise<string | null> {\n const lookup = await this.index.get(p.original)\n return lookup.entry?.remoteTime ?? null\n }\n\n glob(paths: readonly PathSpec[], prefix = ''): Promise<PathSpec[]> {\n const effective =\n prefix !== ''\n ? paths.map((p) =>\n p.prefix !== ''\n ? p\n : new PathSpec({\n original: p.original,\n directory: p.directory,\n ...(p.pattern !== null ? { pattern: p.pattern } : {}),\n resolved: p.resolved,\n prefix,\n }),\n )\n : paths\n return boxResolveGlob(this.accessor, effective, this.index)\n }\n\n getState(): Promise<BoxResourceState> {\n return Promise.resolve({\n type: this.kind,\n config: redactBoxConfig(this.config),\n })\n }\n\n loadState(_state: BoxResourceState): Promise<void> {\n return Promise.resolve()\n }\n}\n"],"mappings":";;;;;AAcA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EAIA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAQA,IAAM,cAAN,cAA0B,aAAiC;AAAA,EACvD,OAAe,aAAa;AAAA,EAC5B,WAAoB;AAAA,EACpB,WAAmB;AAAA,EACnB,SAAiB;AAAA,EACjB;AAAA,EACA;AAAA,EAET,YAAY,QAAmB;AAC7B,UAAM;AACN,SAAK,SAAS;AACd,UAAM,KAAK,IAAI,gBAAgB;AAAA,MAC7B,GAAI,OAAO,aAAa,SAAY,EAAE,UAAU,OAAO,SAAS,IAAI,CAAC;AAAA,MACrE,GAAI,OAAO,iBAAiB,SAAY,EAAE,cAAc,OAAO,aAAa,IAAI,CAAC;AAAA,MACjF,GAAI,OAAO,iBAAiB,SAAY,EAAE,cAAc,OAAO,aAAa,IAAI,CAAC;AAAA,MACjF,GAAI,OAAO,iBAAiB,SAAY,EAAE,cAAc,OAAO,aAAa,IAAI,CAAC;AAAA,MACjF,GAAI,OAAO,gBAAgB,SAAY,EAAE,aAAa,OAAO,YAAY,IAAI,CAAC;AAAA,MAC9E,GAAI,OAAO,cAAc,SAAY,EAAE,WAAW,OAAO,UAAU,IAAI,CAAC;AAAA,MACxE,GAAI,OAAO,0BAA0B,SACjC,EAAE,uBAAuB,OAAO,sBAAsB,IACtD,CAAC;AAAA,IACP,CAAC;AACD,SAAK,WAAW,IAAI,YAAY,EAAE,cAAc,GAAG,CAAC;AAAA,EACtD;AAAA,EAEA,OAAsB;AACpB,WAAO,QAAQ,QAAQ;AAAA,EACzB;AAAA,EAEA,QAAuB;AACrB,WAAO,QAAQ,QAAQ;AAAA,EACzB;AAAA,EAEA,WAAyC;AACvC,WAAO;AAAA,EACT;AAAA,EAEA,MAA+B;AAC7B,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,GAAkC;AACzC,WAAO,QAAQ,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EAC7C;AAAA,EAEA,QAAQ,GAAgC;AACtC,WAAO,WAAW,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EAChD;AAAA,EAEA,KAAK,GAAgC;AACnC,WAAO,QAAQ,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EAC7C;AAAA,EAEA,MAAM,YAAY,GAAqC;AACrD,UAAM,SAAS,MAAM,KAAK,MAAM,IAAI,EAAE,QAAQ;AAC9C,WAAO,OAAO,OAAO,cAAc;AAAA,EACrC;AAAA,EAEA,KAAK,OAA4B,SAAS,IAAyB;AACjE,UAAM,YACJ,WAAW,KACP,MAAM;AAAA,MAAI,CAAC,MACT,EAAE,WAAW,KACT,IACA,IAAI,SAAS;AAAA,QACX,UAAU,EAAE;AAAA,QACZ,WAAW,EAAE;AAAA,QACb,GAAI,EAAE,YAAY,OAAO,EAAE,SAAS,EAAE,QAAQ,IAAI,CAAC;AAAA,QACnD,UAAU,EAAE;AAAA,QACZ;AAAA,MACF,CAAC;AAAA,IACP,IACA;AACN,WAAO,eAAe,KAAK,UAAU,WAAW,KAAK,KAAK;AAAA,EAC5D;AAAA,EAEA,WAAsC;AACpC,WAAO,QAAQ,QAAQ;AAAA,MACrB,MAAM,KAAK;AAAA,MACX,QAAQ,gBAAgB,KAAK,MAAM;AAAA,IACrC,CAAC;AAAA,EACH;AAAA,EAEA,UAAU,QAAyC;AACjD,WAAO,QAAQ,QAAQ;AAAA,EACzB;AACF;","names":[]}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
redactGDocsConfig
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-H3BST2LI.js";
|
|
4
4
|
|
|
5
5
|
// src/resource/gdocs/gdocs.ts
|
|
6
6
|
import {
|
|
7
|
+
BaseResource,
|
|
7
8
|
GDOCS_COMMANDS,
|
|
8
9
|
GDOCS_PROMPT,
|
|
9
10
|
GDOCS_VFS_OPS,
|
|
10
11
|
GDOCS_WRITE_PROMPT,
|
|
11
12
|
GDocsAccessor,
|
|
12
13
|
PathSpec,
|
|
13
|
-
RAMIndexCacheStore,
|
|
14
14
|
ResourceName,
|
|
15
15
|
TokenManager,
|
|
16
16
|
gdocsRead,
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
gdocsResolveGlob,
|
|
19
19
|
gdocsStat
|
|
20
20
|
} from "@struktoai/mirage-core";
|
|
21
|
-
var GDocsResource = class {
|
|
21
|
+
var GDocsResource = class extends BaseResource {
|
|
22
22
|
kind = ResourceName.GDOCS;
|
|
23
23
|
isRemote = true;
|
|
24
24
|
indexTtl = 86400;
|
|
@@ -26,8 +26,8 @@ var GDocsResource = class {
|
|
|
26
26
|
writePrompt = GDOCS_WRITE_PROMPT;
|
|
27
27
|
config;
|
|
28
28
|
accessor;
|
|
29
|
-
index;
|
|
30
29
|
constructor(config) {
|
|
30
|
+
super();
|
|
31
31
|
this.config = config;
|
|
32
32
|
const tm = new TokenManager({
|
|
33
33
|
clientId: config.clientId,
|
|
@@ -35,7 +35,6 @@ var GDocsResource = class {
|
|
|
35
35
|
refreshToken: config.refreshToken
|
|
36
36
|
});
|
|
37
37
|
this.accessor = new GDocsAccessor({ tokenManager: tm });
|
|
38
|
-
this.index = new RAMIndexCacheStore({ ttl: 86400 });
|
|
39
38
|
}
|
|
40
39
|
open() {
|
|
41
40
|
return Promise.resolve();
|
|
@@ -77,8 +76,6 @@ var GDocsResource = class {
|
|
|
77
76
|
getState() {
|
|
78
77
|
return Promise.resolve({
|
|
79
78
|
type: this.kind,
|
|
80
|
-
needsOverride: true,
|
|
81
|
-
redactedFields: ["clientSecret", "refreshToken"],
|
|
82
79
|
config: redactGDocsConfig(this.config)
|
|
83
80
|
});
|
|
84
81
|
}
|
|
@@ -90,4 +87,4 @@ var GDocsResource = class {
|
|
|
90
87
|
export {
|
|
91
88
|
GDocsResource
|
|
92
89
|
};
|
|
93
|
-
//# sourceMappingURL=chunk-
|
|
90
|
+
//# sourceMappingURL=chunk-A7X4L4JM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/resource/gdocs/gdocs.ts"],"sourcesContent":["// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n\nimport {\n BaseResource,\n type FileStat,\n GDOCS_COMMANDS,\n GDOCS_PROMPT,\n GDOCS_VFS_OPS,\n GDOCS_WRITE_PROMPT,\n GDocsAccessor,\n PathSpec,\n type RegisteredCommand,\n type RegisteredOp,\n type Resource,\n ResourceName,\n TokenManager,\n gdocsRead,\n gdocsReaddir,\n gdocsResolveGlob,\n gdocsStat,\n} from '@struktoai/mirage-core'\nimport { redactGDocsConfig, type GDocsConfig, type GDocsConfigRedacted } from './config.ts'\n\nexport interface GDocsResourceState {\n type: string\n config: GDocsConfigRedacted\n}\n\nexport class GDocsResource extends BaseResource implements Resource {\n readonly kind: string = ResourceName.GDOCS\n readonly isRemote: boolean = true\n readonly indexTtl: number = 86_400\n readonly prompt: string = GDOCS_PROMPT\n readonly writePrompt: string = GDOCS_WRITE_PROMPT\n readonly config: GDocsConfig\n readonly accessor: GDocsAccessor\n\n constructor(config: GDocsConfig) {\n super()\n this.config = config\n const tm = new TokenManager({\n clientId: config.clientId,\n clientSecret: config.clientSecret,\n refreshToken: config.refreshToken,\n })\n this.accessor = new GDocsAccessor({ tokenManager: tm })\n }\n\n open(): Promise<void> {\n return Promise.resolve()\n }\n\n close(): Promise<void> {\n return Promise.resolve()\n }\n\n commands(): readonly RegisteredCommand[] {\n return GDOCS_COMMANDS\n }\n\n ops(): readonly RegisteredOp[] {\n return GDOCS_VFS_OPS\n }\n\n readFile(p: PathSpec): Promise<Uint8Array> {\n return gdocsRead(this.accessor, p, this.index)\n }\n\n readdir(p: PathSpec): Promise<string[]> {\n return gdocsReaddir(this.accessor, p, this.index)\n }\n\n stat(p: PathSpec): Promise<FileStat> {\n return gdocsStat(this.accessor, p, this.index)\n }\n\n async fingerprint(p: PathSpec): Promise<string | null> {\n const lookup = await this.index.get(p.original)\n return lookup.entry?.remoteTime ?? null\n }\n\n glob(paths: readonly PathSpec[], prefix = ''): Promise<PathSpec[]> {\n const effective =\n prefix !== ''\n ? paths.map((p) =>\n p.prefix !== ''\n ? p\n : new PathSpec({\n original: p.original,\n directory: p.directory,\n ...(p.pattern !== null ? { pattern: p.pattern } : {}),\n resolved: p.resolved,\n prefix,\n }),\n )\n : paths\n return gdocsResolveGlob(this.accessor, effective, this.index)\n }\n\n getState(): Promise<GDocsResourceState> {\n return Promise.resolve({\n type: this.kind,\n config: redactGDocsConfig(this.config),\n })\n }\n\n loadState(_state: GDocsResourceState): Promise<void> {\n return Promise.resolve()\n }\n}\n"],"mappings":";;;;;AAcA;AAAA,EACE;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAIA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAQA,IAAM,gBAAN,cAA4B,aAAiC;AAAA,EACzD,OAAe,aAAa;AAAA,EAC5B,WAAoB;AAAA,EACpB,WAAmB;AAAA,EACnB,SAAiB;AAAA,EACjB,cAAsB;AAAA,EACtB;AAAA,EACA;AAAA,EAET,YAAY,QAAqB;AAC/B,UAAM;AACN,SAAK,SAAS;AACd,UAAM,KAAK,IAAI,aAAa;AAAA,MAC1B,UAAU,OAAO;AAAA,MACjB,cAAc,OAAO;AAAA,MACrB,cAAc,OAAO;AAAA,IACvB,CAAC;AACD,SAAK,WAAW,IAAI,cAAc,EAAE,cAAc,GAAG,CAAC;AAAA,EACxD;AAAA,EAEA,OAAsB;AACpB,WAAO,QAAQ,QAAQ;AAAA,EACzB;AAAA,EAEA,QAAuB;AACrB,WAAO,QAAQ,QAAQ;AAAA,EACzB;AAAA,EAEA,WAAyC;AACvC,WAAO;AAAA,EACT;AAAA,EAEA,MAA+B;AAC7B,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,GAAkC;AACzC,WAAO,UAAU,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EAC/C;AAAA,EAEA,QAAQ,GAAgC;AACtC,WAAO,aAAa,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EAClD;AAAA,EAEA,KAAK,GAAgC;AACnC,WAAO,UAAU,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EAC/C;AAAA,EAEA,MAAM,YAAY,GAAqC;AACrD,UAAM,SAAS,MAAM,KAAK,MAAM,IAAI,EAAE,QAAQ;AAC9C,WAAO,OAAO,OAAO,cAAc;AAAA,EACrC;AAAA,EAEA,KAAK,OAA4B,SAAS,IAAyB;AACjE,UAAM,YACJ,WAAW,KACP,MAAM;AAAA,MAAI,CAAC,MACT,EAAE,WAAW,KACT,IACA,IAAI,SAAS;AAAA,QACX,UAAU,EAAE;AAAA,QACZ,WAAW,EAAE;AAAA,QACb,GAAI,EAAE,YAAY,OAAO,EAAE,SAAS,EAAE,QAAQ,IAAI,CAAC;AAAA,QACnD,UAAU,EAAE;AAAA,QACZ;AAAA,MACF,CAAC;AAAA,IACP,IACA;AACN,WAAO,iBAAiB,KAAK,UAAU,WAAW,KAAK,KAAK;AAAA,EAC9D;AAAA,EAEA,WAAwC;AACtC,WAAO,QAAQ,QAAQ;AAAA,MACrB,MAAM,KAAK;AAAA,MACX,QAAQ,kBAAkB,KAAK,MAAM;AAAA,IACvC,CAAC;AAAA,EACH;AAAA,EAEA,UAAU,QAA2C;AACnD,WAAO,QAAQ,QAAQ;AAAA,EACzB;AACF;","names":[]}
|
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
import {
|
|
2
2
|
redactGitHubCIConfig
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-H3I2KZIY.js";
|
|
4
4
|
|
|
5
5
|
// src/resource/github_ci/github_ci.ts
|
|
6
6
|
import {
|
|
7
|
+
BaseResource,
|
|
7
8
|
GITHUB_CI_COMMANDS,
|
|
8
9
|
GITHUB_CI_PROMPT,
|
|
9
10
|
GITHUB_CI_VFS_OPS,
|
|
10
11
|
GitHubCIAccessor,
|
|
11
12
|
HttpCITransport,
|
|
12
13
|
PathSpec,
|
|
13
|
-
RAMIndexCacheStore,
|
|
14
14
|
ResourceName,
|
|
15
15
|
githubCiRead,
|
|
16
16
|
githubCiReaddir,
|
|
17
17
|
githubCiResolveGlob,
|
|
18
18
|
githubCiStat
|
|
19
19
|
} from "@struktoai/mirage-core";
|
|
20
|
-
var GitHubCIResource = class {
|
|
20
|
+
var GitHubCIResource = class extends BaseResource {
|
|
21
21
|
kind = ResourceName.GITHUB_CI;
|
|
22
22
|
isRemote = true;
|
|
23
23
|
indexTtl = 86400;
|
|
24
24
|
prompt = GITHUB_CI_PROMPT;
|
|
25
25
|
config;
|
|
26
26
|
accessor;
|
|
27
|
-
index;
|
|
28
27
|
constructor(config) {
|
|
28
|
+
super();
|
|
29
29
|
this.config = config;
|
|
30
30
|
const transportOpts = { token: config.token };
|
|
31
31
|
if (config.baseUrl !== void 0) transportOpts.baseUrl = config.baseUrl;
|
|
@@ -36,7 +36,6 @@ var GitHubCIResource = class {
|
|
|
36
36
|
days: config.days ?? 30,
|
|
37
37
|
maxRuns: config.maxRuns ?? 300
|
|
38
38
|
});
|
|
39
|
-
this.index = new RAMIndexCacheStore({ ttl: 86400 });
|
|
40
39
|
}
|
|
41
40
|
open() {
|
|
42
41
|
return Promise.resolve();
|
|
@@ -78,8 +77,6 @@ var GitHubCIResource = class {
|
|
|
78
77
|
getState() {
|
|
79
78
|
return Promise.resolve({
|
|
80
79
|
type: this.kind,
|
|
81
|
-
needsOverride: true,
|
|
82
|
-
redactedFields: ["token"],
|
|
83
80
|
config: redactGitHubCIConfig(this.config)
|
|
84
81
|
});
|
|
85
82
|
}
|
|
@@ -91,4 +88,4 @@ var GitHubCIResource = class {
|
|
|
91
88
|
export {
|
|
92
89
|
GitHubCIResource
|
|
93
90
|
};
|
|
94
|
-
//# sourceMappingURL=chunk-
|
|
91
|
+
//# sourceMappingURL=chunk-ABTEGAFB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/resource/github_ci/github_ci.ts"],"sourcesContent":["// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n\nimport {\n BaseResource,\n type FileStat,\n GITHUB_CI_COMMANDS,\n GITHUB_CI_PROMPT,\n GITHUB_CI_VFS_OPS,\n GitHubCIAccessor,\n HttpCITransport,\n PathSpec,\n type RegisteredCommand,\n type RegisteredOp,\n type Resource,\n ResourceName,\n githubCiRead,\n githubCiReaddir,\n githubCiResolveGlob,\n githubCiStat,\n} from '@struktoai/mirage-core'\nimport { redactGitHubCIConfig, type GitHubCIConfig, type GitHubCIConfigRedacted } from './config.ts'\n\nexport interface GitHubCIResourceState {\n type: string\n config: GitHubCIConfigRedacted\n}\n\nexport class GitHubCIResource extends BaseResource implements Resource {\n readonly kind: string = ResourceName.GITHUB_CI\n readonly isRemote: boolean = true\n readonly indexTtl: number = 86_400\n readonly prompt: string = GITHUB_CI_PROMPT\n readonly config: GitHubCIConfig\n readonly accessor: GitHubCIAccessor\n\n constructor(config: GitHubCIConfig) {\n super()\n this.config = config\n const transportOpts: { token: string; baseUrl?: string } = { token: config.token }\n if (config.baseUrl !== undefined) transportOpts.baseUrl = config.baseUrl\n this.accessor = new GitHubCIAccessor({\n transport: new HttpCITransport(transportOpts),\n owner: config.owner,\n repo: config.repo,\n days: config.days ?? 30,\n maxRuns: config.maxRuns ?? 300,\n })\n }\n\n open(): Promise<void> {\n return Promise.resolve()\n }\n\n close(): Promise<void> {\n return Promise.resolve()\n }\n\n commands(): readonly RegisteredCommand[] {\n return GITHUB_CI_COMMANDS\n }\n\n ops(): readonly RegisteredOp[] {\n return GITHUB_CI_VFS_OPS\n }\n\n readFile(p: PathSpec): Promise<Uint8Array> {\n return githubCiRead(this.accessor, p, this.index)\n }\n\n readdir(p: PathSpec): Promise<string[]> {\n return githubCiReaddir(this.accessor, p, this.index)\n }\n\n stat(p: PathSpec): Promise<FileStat> {\n return githubCiStat(this.accessor, p, this.index)\n }\n\n async fingerprint(p: PathSpec): Promise<string | null> {\n const lookup = await this.index.get(p.original)\n return lookup.entry?.remoteTime ?? null\n }\n\n glob(paths: readonly PathSpec[], prefix = ''): Promise<PathSpec[]> {\n const effective =\n prefix !== ''\n ? paths.map((p) =>\n p.prefix !== ''\n ? p\n : new PathSpec({\n original: p.original,\n directory: p.directory,\n ...(p.pattern !== null ? { pattern: p.pattern } : {}),\n resolved: p.resolved,\n prefix,\n }),\n )\n : paths\n return githubCiResolveGlob(this.accessor, effective, this.index)\n }\n\n getState(): Promise<GitHubCIResourceState> {\n return Promise.resolve({\n type: this.kind,\n config: redactGitHubCIConfig(this.config),\n })\n }\n\n loadState(_state: GitHubCIResourceState): Promise<void> {\n return Promise.resolve()\n }\n}\n"],"mappings":";;;;;AAcA;AAAA,EACE;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAIA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAQA,IAAM,mBAAN,cAA+B,aAAiC;AAAA,EAC5D,OAAe,aAAa;AAAA,EAC5B,WAAoB;AAAA,EACpB,WAAmB;AAAA,EACnB,SAAiB;AAAA,EACjB;AAAA,EACA;AAAA,EAET,YAAY,QAAwB;AAClC,UAAM;AACN,SAAK,SAAS;AACd,UAAM,gBAAqD,EAAE,OAAO,OAAO,MAAM;AACjF,QAAI,OAAO,YAAY,OAAW,eAAc,UAAU,OAAO;AACjE,SAAK,WAAW,IAAI,iBAAiB;AAAA,MACnC,WAAW,IAAI,gBAAgB,aAAa;AAAA,MAC5C,OAAO,OAAO;AAAA,MACd,MAAM,OAAO;AAAA,MACb,MAAM,OAAO,QAAQ;AAAA,MACrB,SAAS,OAAO,WAAW;AAAA,IAC7B,CAAC;AAAA,EACH;AAAA,EAEA,OAAsB;AACpB,WAAO,QAAQ,QAAQ;AAAA,EACzB;AAAA,EAEA,QAAuB;AACrB,WAAO,QAAQ,QAAQ;AAAA,EACzB;AAAA,EAEA,WAAyC;AACvC,WAAO;AAAA,EACT;AAAA,EAEA,MAA+B;AAC7B,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,GAAkC;AACzC,WAAO,aAAa,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EAClD;AAAA,EAEA,QAAQ,GAAgC;AACtC,WAAO,gBAAgB,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EACrD;AAAA,EAEA,KAAK,GAAgC;AACnC,WAAO,aAAa,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EAClD;AAAA,EAEA,MAAM,YAAY,GAAqC;AACrD,UAAM,SAAS,MAAM,KAAK,MAAM,IAAI,EAAE,QAAQ;AAC9C,WAAO,OAAO,OAAO,cAAc;AAAA,EACrC;AAAA,EAEA,KAAK,OAA4B,SAAS,IAAyB;AACjE,UAAM,YACJ,WAAW,KACP,MAAM;AAAA,MAAI,CAAC,MACT,EAAE,WAAW,KACT,IACA,IAAI,SAAS;AAAA,QACX,UAAU,EAAE;AAAA,QACZ,WAAW,EAAE;AAAA,QACb,GAAI,EAAE,YAAY,OAAO,EAAE,SAAS,EAAE,QAAQ,IAAI,CAAC;AAAA,QACnD,UAAU,EAAE;AAAA,QACZ;AAAA,MACF,CAAC;AAAA,IACP,IACA;AACN,WAAO,oBAAoB,KAAK,UAAU,WAAW,KAAK,KAAK;AAAA,EACjE;AAAA,EAEA,WAA2C;AACzC,WAAO,QAAQ,QAAQ;AAAA,MACrB,MAAM,KAAK;AAAA,MACX,QAAQ,qBAAqB,KAAK,MAAM;AAAA,IAC1C,CAAC;AAAA,EACH;AAAA,EAEA,UAAU,QAA8C;AACtD,WAAO,QAAQ,QAAQ;AAAA,EACzB;AACF;","names":[]}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import {
|
|
2
|
+
digitalOceanToS3Config,
|
|
3
|
+
redactDigitalOceanConfig
|
|
4
|
+
} from "./chunk-ZNWVJ6UW.js";
|
|
5
|
+
import {
|
|
6
|
+
S3Resource
|
|
7
|
+
} from "./chunk-MHCMHKM6.js";
|
|
8
|
+
|
|
9
|
+
// src/resource/digitalocean/digitalocean.ts
|
|
10
|
+
import {
|
|
11
|
+
remapCommandsResource,
|
|
12
|
+
remapOpsResource,
|
|
13
|
+
ResourceName
|
|
14
|
+
} from "@struktoai/mirage-core";
|
|
15
|
+
|
|
16
|
+
// src/resource/digitalocean/prompt.ts
|
|
17
|
+
var DIGITALOCEAN_PROMPT = `{prefix}
|
|
18
|
+
Remote DigitalOcean Spaces bucket (S3-compatible).
|
|
19
|
+
IMPORTANT: This is a remote mount. Prefer targeted reads over full scans.
|
|
20
|
+
Supports: ls, cat, head, tail, grep, rg, wc, find, tree, jq, stat.
|
|
21
|
+
cat on .parquet/.orc/.feather returns a formatted table.`;
|
|
22
|
+
|
|
23
|
+
// src/resource/digitalocean/digitalocean.ts
|
|
24
|
+
var DigitalOceanResource = class extends S3Resource {
|
|
25
|
+
kind = ResourceName.DIGITALOCEAN;
|
|
26
|
+
prompt = DIGITALOCEAN_PROMPT;
|
|
27
|
+
digitalOceanConfig;
|
|
28
|
+
digitalOceanOps;
|
|
29
|
+
digitalOceanCommands;
|
|
30
|
+
constructor(config) {
|
|
31
|
+
super(digitalOceanToS3Config(config));
|
|
32
|
+
this.digitalOceanConfig = config;
|
|
33
|
+
this.digitalOceanOps = remapOpsResource(super.ops(), ResourceName.DIGITALOCEAN);
|
|
34
|
+
this.digitalOceanCommands = remapCommandsResource(super.commands(), ResourceName.DIGITALOCEAN);
|
|
35
|
+
}
|
|
36
|
+
ops() {
|
|
37
|
+
return this.digitalOceanOps;
|
|
38
|
+
}
|
|
39
|
+
commands() {
|
|
40
|
+
return this.digitalOceanCommands;
|
|
41
|
+
}
|
|
42
|
+
getState() {
|
|
43
|
+
return Promise.resolve({
|
|
44
|
+
type: this.kind,
|
|
45
|
+
config: redactDigitalOceanConfig(this.digitalOceanConfig)
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
loadState(_state) {
|
|
49
|
+
return Promise.resolve();
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
export {
|
|
54
|
+
DIGITALOCEAN_PROMPT,
|
|
55
|
+
DigitalOceanResource
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=chunk-AJICZLHT.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/resource/digitalocean/digitalocean.ts","../src/resource/digitalocean/prompt.ts"],"sourcesContent":["// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n\nimport {\n remapCommandsResource,\n remapOpsResource,\n ResourceName,\n type RegisteredCommand,\n type RegisteredOp,\n} from '@struktoai/mirage-core'\nimport { S3Resource } from '../s3/s3.ts'\nimport {\n digitalOceanToS3Config,\n redactDigitalOceanConfig,\n type DigitalOceanConfig,\n type DigitalOceanConfigRedacted,\n} from './config.ts'\nimport { DIGITALOCEAN_PROMPT } from './prompt.ts'\n\nexport interface DigitalOceanResourceState {\n type: string\n config: DigitalOceanConfigRedacted\n}\n\nexport class DigitalOceanResource extends S3Resource {\n override readonly kind: string = ResourceName.DIGITALOCEAN\n override readonly prompt: string = DIGITALOCEAN_PROMPT\n readonly digitalOceanConfig: DigitalOceanConfig\n private readonly digitalOceanOps: readonly RegisteredOp[]\n private readonly digitalOceanCommands: readonly RegisteredCommand[]\n\n constructor(config: DigitalOceanConfig) {\n super(digitalOceanToS3Config(config))\n this.digitalOceanConfig = config\n this.digitalOceanOps = remapOpsResource(super.ops(), ResourceName.DIGITALOCEAN)\n this.digitalOceanCommands = remapCommandsResource(super.commands(), ResourceName.DIGITALOCEAN)\n }\n\n override ops(): readonly RegisteredOp[] {\n return this.digitalOceanOps\n }\n\n override commands(): readonly RegisteredCommand[] {\n return this.digitalOceanCommands\n }\n\n override getState(): Promise<DigitalOceanResourceState> {\n return Promise.resolve({\n type: this.kind,\n config: redactDigitalOceanConfig(this.digitalOceanConfig),\n })\n }\n\n override loadState(_state: DigitalOceanResourceState): Promise<void> {\n return Promise.resolve()\n }\n}\n","// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n\nexport const DIGITALOCEAN_PROMPT = `\\\n{prefix}\n Remote DigitalOcean Spaces bucket (S3-compatible).\n IMPORTANT: This is a remote mount. Prefer targeted reads over full scans.\n Supports: ls, cat, head, tail, grep, rg, wc, find, tree, jq, stat.\n cat on .parquet/.orc/.feather returns a formatted table.`\n"],"mappings":";;;;;;;;;AAcA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OAGK;;;ACNA,IAAM,sBAAsB;AAAA;AAAA;AAAA;AAAA;;;ADqB5B,IAAM,uBAAN,cAAmC,WAAW;AAAA,EACjC,OAAe,aAAa;AAAA,EAC5B,SAAiB;AAAA,EAC1B;AAAA,EACQ;AAAA,EACA;AAAA,EAEjB,YAAY,QAA4B;AACtC,UAAM,uBAAuB,MAAM,CAAC;AACpC,SAAK,qBAAqB;AAC1B,SAAK,kBAAkB,iBAAiB,MAAM,IAAI,GAAG,aAAa,YAAY;AAC9E,SAAK,uBAAuB,sBAAsB,MAAM,SAAS,GAAG,aAAa,YAAY;AAAA,EAC/F;AAAA,EAES,MAA+B;AACtC,WAAO,KAAK;AAAA,EACd;AAAA,EAES,WAAyC;AAChD,WAAO,KAAK;AAAA,EACd;AAAA,EAES,WAA+C;AACtD,WAAO,QAAQ,QAAQ;AAAA,MACrB,MAAM,KAAK;AAAA,MACX,QAAQ,yBAAyB,KAAK,kBAAkB;AAAA,IAC1D,CAAC;AAAA,EACH;AAAA,EAES,UAAU,QAAkD;AACnE,WAAO,QAAQ,QAAQ;AAAA,EACzB;AACF;","names":[]}
|
|
@@ -1,10 +1,20 @@
|
|
|
1
1
|
// src/resource/email/config.ts
|
|
2
|
-
import { normalizeFields } from "@struktoai/mirage-core";
|
|
2
|
+
import { normalizeFields, redactConfigWithSchema, secretStr, z } from "@struktoai/mirage-core";
|
|
3
3
|
function asString(v) {
|
|
4
4
|
return typeof v === "string" ? v : "";
|
|
5
5
|
}
|
|
6
|
+
var EmailConfigSchema = z.object({
|
|
7
|
+
imapHost: z.string(),
|
|
8
|
+
imapPort: z.number(),
|
|
9
|
+
smtpHost: z.string(),
|
|
10
|
+
smtpPort: z.number(),
|
|
11
|
+
username: z.string(),
|
|
12
|
+
password: secretStr(),
|
|
13
|
+
useSsl: z.boolean(),
|
|
14
|
+
maxMessages: z.number()
|
|
15
|
+
});
|
|
6
16
|
function redactEmailConfig(config) {
|
|
7
|
-
return
|
|
17
|
+
return redactConfigWithSchema(EmailConfigSchema, config);
|
|
8
18
|
}
|
|
9
19
|
function buildEmailConfig(input) {
|
|
10
20
|
return {
|
|
@@ -43,8 +53,9 @@ function normalizeEmailConfig(input) {
|
|
|
43
53
|
}
|
|
44
54
|
|
|
45
55
|
export {
|
|
56
|
+
EmailConfigSchema,
|
|
46
57
|
redactEmailConfig,
|
|
47
58
|
buildEmailConfig,
|
|
48
59
|
normalizeEmailConfig
|
|
49
60
|
};
|
|
50
|
-
//# sourceMappingURL=chunk-
|
|
61
|
+
//# sourceMappingURL=chunk-B2ZOKNN4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/resource/email/config.ts"],"sourcesContent":["// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n\nimport { normalizeFields, redactConfigWithSchema, secretStr, z } from '@struktoai/mirage-core'\n\nfunction asString(v: unknown): string {\n return typeof v === 'string' ? v : ''\n}\n\nexport interface EmailConfig {\n imapHost: string\n imapPort: number\n smtpHost: string\n smtpPort: number\n username: string\n password: string\n useSsl: boolean\n maxMessages: number\n}\n\nexport interface EmailConfigRedacted extends Omit<EmailConfig, 'password'> {\n password: '<REDACTED>'\n}\n\nexport const EmailConfigSchema = z.object({\n imapHost: z.string(),\n imapPort: z.number(),\n smtpHost: z.string(),\n smtpPort: z.number(),\n username: z.string(),\n password: secretStr(),\n useSsl: z.boolean(),\n maxMessages: z.number(),\n})\n\nexport function redactEmailConfig(config: EmailConfig): EmailConfigRedacted {\n return redactConfigWithSchema(EmailConfigSchema, config) as unknown as EmailConfigRedacted\n}\n\nexport interface EmailConfigInput {\n imapHost: string\n imapPort?: number\n smtpHost: string\n smtpPort?: number\n username: string\n password: string\n useSsl?: boolean\n maxMessages?: number\n}\n\nexport function buildEmailConfig(input: EmailConfigInput): EmailConfig {\n return {\n imapHost: input.imapHost,\n imapPort: input.imapPort ?? 993,\n smtpHost: input.smtpHost,\n smtpPort: input.smtpPort ?? 587,\n username: input.username,\n password: input.password,\n useSsl: input.useSsl ?? true,\n maxMessages: input.maxMessages ?? 200,\n }\n}\n\nexport function normalizeEmailConfig(input: Record<string, unknown>): EmailConfig {\n const norm = normalizeFields(input, {\n rename: {\n imap_host: 'imapHost',\n imap_port: 'imapPort',\n smtp_host: 'smtpHost',\n smtp_port: 'smtpPort',\n use_ssl: 'useSsl',\n max_messages: 'maxMessages',\n },\n })\n const built: EmailConfigInput = {\n imapHost: asString(norm.imapHost),\n smtpHost: asString(norm.smtpHost),\n username: asString(norm.username),\n password: asString(norm.password),\n }\n if (typeof norm.imapPort === 'number') built.imapPort = norm.imapPort\n if (typeof norm.smtpPort === 'number') built.smtpPort = norm.smtpPort\n if (typeof norm.useSsl === 'boolean') built.useSsl = norm.useSsl\n if (typeof norm.maxMessages === 'number') built.maxMessages = norm.maxMessages\n return buildEmailConfig(built)\n}\n"],"mappings":";AAcA,SAAS,iBAAiB,wBAAwB,WAAW,SAAS;AAEtE,SAAS,SAAS,GAAoB;AACpC,SAAO,OAAO,MAAM,WAAW,IAAI;AACrC;AAiBO,IAAM,oBAAoB,EAAE,OAAO;AAAA,EACxC,UAAU,EAAE,OAAO;AAAA,EACnB,UAAU,EAAE,OAAO;AAAA,EACnB,UAAU,EAAE,OAAO;AAAA,EACnB,UAAU,EAAE,OAAO;AAAA,EACnB,UAAU,EAAE,OAAO;AAAA,EACnB,UAAU,UAAU;AAAA,EACpB,QAAQ,EAAE,QAAQ;AAAA,EAClB,aAAa,EAAE,OAAO;AACxB,CAAC;AAEM,SAAS,kBAAkB,QAA0C;AAC1E,SAAO,uBAAuB,mBAAmB,MAAM;AACzD;AAaO,SAAS,iBAAiB,OAAsC;AACrE,SAAO;AAAA,IACL,UAAU,MAAM;AAAA,IAChB,UAAU,MAAM,YAAY;AAAA,IAC5B,UAAU,MAAM;AAAA,IAChB,UAAU,MAAM,YAAY;AAAA,IAC5B,UAAU,MAAM;AAAA,IAChB,UAAU,MAAM;AAAA,IAChB,QAAQ,MAAM,UAAU;AAAA,IACxB,aAAa,MAAM,eAAe;AAAA,EACpC;AACF;AAEO,SAAS,qBAAqB,OAA6C;AAChF,QAAM,OAAO,gBAAgB,OAAO;AAAA,IAClC,QAAQ;AAAA,MACN,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW;AAAA,MACX,SAAS;AAAA,MACT,cAAc;AAAA,IAChB;AAAA,EACF,CAAC;AACD,QAAM,QAA0B;AAAA,IAC9B,UAAU,SAAS,KAAK,QAAQ;AAAA,IAChC,UAAU,SAAS,KAAK,QAAQ;AAAA,IAChC,UAAU,SAAS,KAAK,QAAQ;AAAA,IAChC,UAAU,SAAS,KAAK,QAAQ;AAAA,EAClC;AACA,MAAI,OAAO,KAAK,aAAa,SAAU,OAAM,WAAW,KAAK;AAC7D,MAAI,OAAO,KAAK,aAAa,SAAU,OAAM,WAAW,KAAK;AAC7D,MAAI,OAAO,KAAK,WAAW,UAAW,OAAM,SAAS,KAAK;AAC1D,MAAI,OAAO,KAAK,gBAAgB,SAAU,OAAM,cAAc,KAAK;AACnE,SAAO,iBAAiB,KAAK;AAC/B;","names":[]}
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
import {
|
|
2
2
|
r2ToS3Config,
|
|
3
3
|
redactR2Config
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-LAJJPLEV.js";
|
|
5
5
|
import {
|
|
6
6
|
S3Resource
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-MHCMHKM6.js";
|
|
8
8
|
|
|
9
9
|
// src/resource/r2/r2.ts
|
|
10
|
-
import {
|
|
10
|
+
import {
|
|
11
|
+
remapCommandsResource,
|
|
12
|
+
remapOpsResource,
|
|
13
|
+
ResourceName
|
|
14
|
+
} from "@struktoai/mirage-core";
|
|
11
15
|
|
|
12
16
|
// src/resource/r2/prompt.ts
|
|
13
17
|
var R2_PROMPT = `{prefix}
|
|
@@ -17,18 +21,6 @@ var R2_PROMPT = `{prefix}
|
|
|
17
21
|
cat on .parquet/.orc/.feather returns a formatted table.`;
|
|
18
22
|
|
|
19
23
|
// src/resource/r2/r2.ts
|
|
20
|
-
function remapOpsResource(ops, to) {
|
|
21
|
-
return ops.map((op) => op.resource === ResourceName.S3 ? { ...op, resource: to } : op);
|
|
22
|
-
}
|
|
23
|
-
function remapCommandsResource(commands, to) {
|
|
24
|
-
return commands.map((cmd) => {
|
|
25
|
-
if (cmd.resource !== ResourceName.S3) return cmd;
|
|
26
|
-
const proto = Object.getPrototypeOf(cmd);
|
|
27
|
-
const copy = Object.assign(Object.create(proto), cmd);
|
|
28
|
-
Object.assign(copy, { resource: to });
|
|
29
|
-
return copy;
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
24
|
var R2Resource = class extends S3Resource {
|
|
33
25
|
kind = ResourceName.R2;
|
|
34
26
|
prompt = R2_PROMPT;
|
|
@@ -50,8 +42,6 @@ var R2Resource = class extends S3Resource {
|
|
|
50
42
|
getState() {
|
|
51
43
|
return Promise.resolve({
|
|
52
44
|
type: this.kind,
|
|
53
|
-
needsOverride: true,
|
|
54
|
-
redactedFields: ["accessKeyId", "secretAccessKey"],
|
|
55
45
|
config: redactR2Config(this.r2Config)
|
|
56
46
|
});
|
|
57
47
|
}
|
|
@@ -64,4 +54,4 @@ export {
|
|
|
64
54
|
R2_PROMPT,
|
|
65
55
|
R2Resource
|
|
66
56
|
};
|
|
67
|
-
//# sourceMappingURL=chunk-
|
|
57
|
+
//# sourceMappingURL=chunk-B6SXRCBO.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/resource/r2/r2.ts","../src/resource/r2/prompt.ts"],"sourcesContent":["// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n\nimport {\n remapCommandsResource,\n remapOpsResource,\n ResourceName,\n type RegisteredCommand,\n type RegisteredOp,\n} from '@struktoai/mirage-core'\nimport { S3Resource } from '../s3/s3.ts'\nimport { r2ToS3Config, redactR2Config, type R2Config, type R2ConfigRedacted } from './config.ts'\nimport { R2_PROMPT } from './prompt.ts'\n\nexport interface R2ResourceState {\n type: string\n config: R2ConfigRedacted\n}\n\nexport class R2Resource extends S3Resource {\n override readonly kind: string = ResourceName.R2\n override readonly prompt: string = R2_PROMPT\n readonly r2Config: R2Config\n private readonly r2Ops: readonly RegisteredOp[]\n private readonly r2Commands: readonly RegisteredCommand[]\n\n constructor(config: R2Config) {\n super(r2ToS3Config(config))\n this.r2Config = config\n this.r2Ops = remapOpsResource(super.ops(), ResourceName.R2)\n this.r2Commands = remapCommandsResource(super.commands(), ResourceName.R2)\n }\n\n override ops(): readonly RegisteredOp[] {\n return this.r2Ops\n }\n\n override commands(): readonly RegisteredCommand[] {\n return this.r2Commands\n }\n\n override getState(): Promise<R2ResourceState> {\n return Promise.resolve({\n type: this.kind,\n config: redactR2Config(this.r2Config),\n })\n }\n\n override loadState(_state: R2ResourceState): Promise<void> {\n return Promise.resolve()\n }\n}\n","// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n\nexport const R2_PROMPT = `\\\n{prefix}\n Remote Cloudflare R2 bucket.\n IMPORTANT: This is a remote mount. Prefer targeted reads over full scans.\n Supports: ls, cat, head, tail, grep, rg, wc, find, tree, jq, stat.\n cat on .parquet/.orc/.feather returns a formatted table.`\n"],"mappings":";;;;;;;;;AAcA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OAGK;;;ACNA,IAAM,YAAY;AAAA;AAAA;AAAA;AAAA;;;ADgBlB,IAAM,aAAN,cAAyB,WAAW;AAAA,EACvB,OAAe,aAAa;AAAA,EAC5B,SAAiB;AAAA,EAC1B;AAAA,EACQ;AAAA,EACA;AAAA,EAEjB,YAAY,QAAkB;AAC5B,UAAM,aAAa,MAAM,CAAC;AAC1B,SAAK,WAAW;AAChB,SAAK,QAAQ,iBAAiB,MAAM,IAAI,GAAG,aAAa,EAAE;AAC1D,SAAK,aAAa,sBAAsB,MAAM,SAAS,GAAG,aAAa,EAAE;AAAA,EAC3E;AAAA,EAES,MAA+B;AACtC,WAAO,KAAK;AAAA,EACd;AAAA,EAES,WAAyC;AAChD,WAAO,KAAK;AAAA,EACd;AAAA,EAES,WAAqC;AAC5C,WAAO,QAAQ,QAAQ;AAAA,MACrB,MAAM,KAAK;AAAA,MACX,QAAQ,eAAe,KAAK,QAAQ;AAAA,IACtC,CAAC;AAAA,EACH;AAAA,EAES,UAAU,QAAwC;AACzD,WAAO,QAAQ,QAAQ;AAAA,EACzB;AACF;","names":[]}
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
import {
|
|
2
2
|
redactSupabaseConfig,
|
|
3
3
|
supabaseToS3Config
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-QGRDPSAH.js";
|
|
5
5
|
import {
|
|
6
6
|
S3Resource
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-MHCMHKM6.js";
|
|
8
8
|
|
|
9
9
|
// src/resource/supabase/supabase.ts
|
|
10
|
-
import {
|
|
10
|
+
import {
|
|
11
|
+
remapCommandsResource,
|
|
12
|
+
remapOpsResource,
|
|
13
|
+
ResourceName
|
|
14
|
+
} from "@struktoai/mirage-core";
|
|
11
15
|
|
|
12
16
|
// src/resource/supabase/prompt.ts
|
|
13
17
|
var SUPABASE_PROMPT = `{prefix}
|
|
@@ -16,18 +20,6 @@ var SUPABASE_PROMPT = `{prefix}
|
|
|
16
20
|
Supports: ls, cat, head, tail, grep, wc, find, stat.`;
|
|
17
21
|
|
|
18
22
|
// src/resource/supabase/supabase.ts
|
|
19
|
-
function remapOpsResource(ops, to) {
|
|
20
|
-
return ops.map((op) => op.resource === ResourceName.S3 ? { ...op, resource: to } : op);
|
|
21
|
-
}
|
|
22
|
-
function remapCommandsResource(commands, to) {
|
|
23
|
-
return commands.map((cmd) => {
|
|
24
|
-
if (cmd.resource !== ResourceName.S3) return cmd;
|
|
25
|
-
const proto = Object.getPrototypeOf(cmd);
|
|
26
|
-
const copy = Object.assign(Object.create(proto), cmd);
|
|
27
|
-
Object.assign(copy, { resource: to });
|
|
28
|
-
return copy;
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
23
|
var SupabaseResource = class extends S3Resource {
|
|
32
24
|
kind = ResourceName.SUPABASE;
|
|
33
25
|
prompt = SUPABASE_PROMPT;
|
|
@@ -49,8 +41,6 @@ var SupabaseResource = class extends S3Resource {
|
|
|
49
41
|
getState() {
|
|
50
42
|
return Promise.resolve({
|
|
51
43
|
type: this.kind,
|
|
52
|
-
needsOverride: true,
|
|
53
|
-
redactedFields: ["accessKeyId", "secretAccessKey", "sessionToken"],
|
|
54
44
|
config: redactSupabaseConfig(this.supabaseConfig)
|
|
55
45
|
});
|
|
56
46
|
}
|
|
@@ -63,4 +53,4 @@ export {
|
|
|
63
53
|
SUPABASE_PROMPT,
|
|
64
54
|
SupabaseResource
|
|
65
55
|
};
|
|
66
|
-
//# sourceMappingURL=chunk-
|
|
56
|
+
//# sourceMappingURL=chunk-BYTU2YC3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/resource/supabase/supabase.ts","../src/resource/supabase/prompt.ts"],"sourcesContent":["// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n\nimport {\n remapCommandsResource,\n remapOpsResource,\n ResourceName,\n type RegisteredCommand,\n type RegisteredOp,\n} from '@struktoai/mirage-core'\nimport { S3Resource } from '../s3/s3.ts'\nimport {\n redactSupabaseConfig,\n supabaseToS3Config,\n type SupabaseConfig,\n type SupabaseConfigRedacted,\n} from './config.ts'\nimport { SUPABASE_PROMPT } from './prompt.ts'\n\nexport interface SupabaseResourceState {\n type: string\n config: SupabaseConfigRedacted\n}\n\nexport class SupabaseResource extends S3Resource {\n override readonly kind: string = ResourceName.SUPABASE\n override readonly prompt: string = SUPABASE_PROMPT\n readonly supabaseConfig: SupabaseConfig\n private readonly supabaseOps: readonly RegisteredOp[]\n private readonly supabaseCommands: readonly RegisteredCommand[]\n\n constructor(config: SupabaseConfig) {\n super(supabaseToS3Config(config))\n this.supabaseConfig = config\n this.supabaseOps = remapOpsResource(super.ops(), ResourceName.SUPABASE)\n this.supabaseCommands = remapCommandsResource(super.commands(), ResourceName.SUPABASE)\n }\n\n override ops(): readonly RegisteredOp[] {\n return this.supabaseOps\n }\n\n override commands(): readonly RegisteredCommand[] {\n return this.supabaseCommands\n }\n\n override getState(): Promise<SupabaseResourceState> {\n return Promise.resolve({\n type: this.kind,\n config: redactSupabaseConfig(this.supabaseConfig),\n })\n }\n\n override loadState(_state: SupabaseResourceState): Promise<void> {\n return Promise.resolve()\n }\n}\n","// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n\nexport const SUPABASE_PROMPT = `\\\n{prefix}\n Remote Supabase Storage bucket.\n IMPORTANT: This is a remote mount. Prefer targeted reads over full scans.\n Supports: ls, cat, head, tail, grep, wc, find, stat.`\n"],"mappings":";;;;;;;;;AAcA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OAGK;;;ACNA,IAAM,kBAAkB;AAAA;AAAA;AAAA;;;ADqBxB,IAAM,mBAAN,cAA+B,WAAW;AAAA,EAC7B,OAAe,aAAa;AAAA,EAC5B,SAAiB;AAAA,EAC1B;AAAA,EACQ;AAAA,EACA;AAAA,EAEjB,YAAY,QAAwB;AAClC,UAAM,mBAAmB,MAAM,CAAC;AAChC,SAAK,iBAAiB;AACtB,SAAK,cAAc,iBAAiB,MAAM,IAAI,GAAG,aAAa,QAAQ;AACtE,SAAK,mBAAmB,sBAAsB,MAAM,SAAS,GAAG,aAAa,QAAQ;AAAA,EACvF;AAAA,EAES,MAA+B;AACtC,WAAO,KAAK;AAAA,EACd;AAAA,EAES,WAAyC;AAChD,WAAO,KAAK;AAAA,EACd;AAAA,EAES,WAA2C;AAClD,WAAO,QAAQ,QAAQ;AAAA,MACrB,MAAM,KAAK;AAAA,MACX,QAAQ,qBAAqB,KAAK,cAAc;AAAA,IAClD,CAAC;AAAA,EACH;AAAA,EAES,UAAU,QAA8C;AAC/D,WAAO,QAAQ,QAAQ;AAAA,EACzB;AACF;","names":[]}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
redactSlackConfig
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-SFUCUARB.js";
|
|
4
4
|
|
|
5
5
|
// src/resource/slack/slack.ts
|
|
6
6
|
import {
|
|
7
|
+
BaseResource,
|
|
7
8
|
NodeSlackTransport,
|
|
8
9
|
PathSpec,
|
|
9
|
-
RAMIndexCacheStore,
|
|
10
10
|
ResourceName,
|
|
11
11
|
resolveSlackGlob,
|
|
12
12
|
SLACK_COMMANDS,
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
slackReaddir,
|
|
19
19
|
slackStat
|
|
20
20
|
} from "@struktoai/mirage-core";
|
|
21
|
-
var SlackResource = class {
|
|
21
|
+
var SlackResource = class extends BaseResource {
|
|
22
22
|
kind = ResourceName.SLACK;
|
|
23
23
|
isRemote = true;
|
|
24
24
|
indexTtl = 600;
|
|
@@ -26,11 +26,10 @@ var SlackResource = class {
|
|
|
26
26
|
writePrompt = SLACK_WRITE_PROMPT;
|
|
27
27
|
config;
|
|
28
28
|
accessor;
|
|
29
|
-
index;
|
|
30
29
|
constructor(config) {
|
|
30
|
+
super();
|
|
31
31
|
this.config = config;
|
|
32
32
|
this.accessor = new SlackAccessor(new NodeSlackTransport(config.token, config.searchToken));
|
|
33
|
-
this.index = new RAMIndexCacheStore({ ttl: this.indexTtl });
|
|
34
33
|
}
|
|
35
34
|
open() {
|
|
36
35
|
return Promise.resolve();
|
|
@@ -72,8 +71,6 @@ var SlackResource = class {
|
|
|
72
71
|
getState() {
|
|
73
72
|
return Promise.resolve({
|
|
74
73
|
type: this.kind,
|
|
75
|
-
needsOverride: true,
|
|
76
|
-
redactedFields: ["token", "searchToken"],
|
|
77
74
|
config: redactSlackConfig(this.config)
|
|
78
75
|
});
|
|
79
76
|
}
|
|
@@ -85,4 +82,4 @@ var SlackResource = class {
|
|
|
85
82
|
export {
|
|
86
83
|
SlackResource
|
|
87
84
|
};
|
|
88
|
-
//# sourceMappingURL=chunk-
|
|
85
|
+
//# sourceMappingURL=chunk-C6NHEDHY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/resource/slack/slack.ts"],"sourcesContent":["// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n\nimport {\n BaseResource,\n type FileStat,\n NodeSlackTransport,\n PathSpec,\n type RegisteredCommand,\n type RegisteredOp,\n type Resource,\n ResourceName,\n resolveSlackGlob,\n SLACK_COMMANDS,\n SLACK_PROMPT,\n SLACK_VFS_OPS,\n SLACK_WRITE_PROMPT,\n SlackAccessor,\n slackRead,\n slackReaddir,\n slackStat,\n} from '@struktoai/mirage-core'\nimport { redactSlackConfig, type SlackConfig, type SlackConfigRedacted } from './config.ts'\n\nexport interface SlackResourceState {\n type: string\n config: SlackConfigRedacted\n}\n\nexport class SlackResource extends BaseResource implements Resource {\n readonly kind: string = ResourceName.SLACK\n readonly isRemote: boolean = true\n readonly indexTtl: number = 600\n readonly prompt: string = SLACK_PROMPT\n readonly writePrompt: string = SLACK_WRITE_PROMPT\n readonly config: SlackConfig\n readonly accessor: SlackAccessor\n\n constructor(config: SlackConfig) {\n super()\n this.config = config\n this.accessor = new SlackAccessor(new NodeSlackTransport(config.token, config.searchToken))\n }\n\n open(): Promise<void> {\n return Promise.resolve()\n }\n\n close(): Promise<void> {\n return Promise.resolve()\n }\n\n commands(): readonly RegisteredCommand[] {\n return SLACK_COMMANDS\n }\n\n ops(): readonly RegisteredOp[] {\n return SLACK_VFS_OPS\n }\n\n readFile(p: PathSpec): Promise<Uint8Array> {\n return slackRead(this.accessor, p, this.index)\n }\n\n readdir(p: PathSpec): Promise<string[]> {\n return slackReaddir(this.accessor, p, this.index)\n }\n\n stat(p: PathSpec): Promise<FileStat> {\n return slackStat(this.accessor, p, this.index)\n }\n\n async fingerprint(p: PathSpec): Promise<string | null> {\n const lookup = await this.index.get(p.original)\n return lookup.entry?.remoteTime ?? null\n }\n\n glob(paths: readonly PathSpec[], prefix = ''): Promise<PathSpec[]> {\n const effective =\n prefix !== ''\n ? paths.map((p) =>\n p.prefix !== ''\n ? p\n : new PathSpec({\n original: p.original,\n directory: p.directory,\n ...(p.pattern !== null ? { pattern: p.pattern } : {}),\n resolved: p.resolved,\n prefix,\n }),\n )\n : paths\n return resolveSlackGlob(this.accessor, effective, this.index)\n }\n\n getState(): Promise<SlackResourceState> {\n return Promise.resolve({\n type: this.kind,\n config: redactSlackConfig(this.config),\n })\n }\n\n loadState(_state: SlackResourceState): Promise<void> {\n return Promise.resolve()\n }\n}\n"],"mappings":";;;;;AAcA;AAAA,EACE;AAAA,EAEA;AAAA,EACA;AAAA,EAIA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAQA,IAAM,gBAAN,cAA4B,aAAiC;AAAA,EACzD,OAAe,aAAa;AAAA,EAC5B,WAAoB;AAAA,EACpB,WAAmB;AAAA,EACnB,SAAiB;AAAA,EACjB,cAAsB;AAAA,EACtB;AAAA,EACA;AAAA,EAET,YAAY,QAAqB;AAC/B,UAAM;AACN,SAAK,SAAS;AACd,SAAK,WAAW,IAAI,cAAc,IAAI,mBAAmB,OAAO,OAAO,OAAO,WAAW,CAAC;AAAA,EAC5F;AAAA,EAEA,OAAsB;AACpB,WAAO,QAAQ,QAAQ;AAAA,EACzB;AAAA,EAEA,QAAuB;AACrB,WAAO,QAAQ,QAAQ;AAAA,EACzB;AAAA,EAEA,WAAyC;AACvC,WAAO;AAAA,EACT;AAAA,EAEA,MAA+B;AAC7B,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,GAAkC;AACzC,WAAO,UAAU,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EAC/C;AAAA,EAEA,QAAQ,GAAgC;AACtC,WAAO,aAAa,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EAClD;AAAA,EAEA,KAAK,GAAgC;AACnC,WAAO,UAAU,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EAC/C;AAAA,EAEA,MAAM,YAAY,GAAqC;AACrD,UAAM,SAAS,MAAM,KAAK,MAAM,IAAI,EAAE,QAAQ;AAC9C,WAAO,OAAO,OAAO,cAAc;AAAA,EACrC;AAAA,EAEA,KAAK,OAA4B,SAAS,IAAyB;AACjE,UAAM,YACJ,WAAW,KACP,MAAM;AAAA,MAAI,CAAC,MACT,EAAE,WAAW,KACT,IACA,IAAI,SAAS;AAAA,QACX,UAAU,EAAE;AAAA,QACZ,WAAW,EAAE;AAAA,QACb,GAAI,EAAE,YAAY,OAAO,EAAE,SAAS,EAAE,QAAQ,IAAI,CAAC;AAAA,QACnD,UAAU,EAAE;AAAA,QACZ;AAAA,MACF,CAAC;AAAA,IACP,IACA;AACN,WAAO,iBAAiB,KAAK,UAAU,WAAW,KAAK,KAAK;AAAA,EAC9D;AAAA,EAEA,WAAwC;AACtC,WAAO,QAAQ,QAAQ;AAAA,MACrB,MAAM,KAAK;AAAA,MACX,QAAQ,kBAAkB,KAAK,MAAM;AAAA,IACvC,CAAC;AAAA,EACH;AAAA,EAEA,UAAU,QAA2C;AACnD,WAAO,QAAQ,QAAQ;AAAA,EACzB;AACF;","names":[]}
|