@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
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
// src/resource/backblaze/config.ts
|
|
2
|
+
import { normalizeFields, redactConfigWithSchema, secretStr, z } from "@struktoai/mirage-core";
|
|
3
|
+
var BackblazeConfigSchema = z.object({
|
|
4
|
+
bucket: z.string(),
|
|
5
|
+
accessKeyId: secretStr(),
|
|
6
|
+
secretAccessKey: secretStr(),
|
|
7
|
+
region: z.string(),
|
|
8
|
+
endpoint: z.string(),
|
|
9
|
+
timeoutMs: z.number().optional()
|
|
10
|
+
});
|
|
11
|
+
function resolvedBackblazeEndpoint(config) {
|
|
12
|
+
if (config.endpoint !== void 0 && config.endpoint !== "") return config.endpoint;
|
|
13
|
+
const region = config.region;
|
|
14
|
+
return `https://s3.${region}.backblazeb2.com`;
|
|
15
|
+
}
|
|
16
|
+
function backblazeToS3Config(config) {
|
|
17
|
+
return {
|
|
18
|
+
bucket: config.bucket,
|
|
19
|
+
region: config.region,
|
|
20
|
+
endpoint: resolvedBackblazeEndpoint(config),
|
|
21
|
+
accessKeyId: config.accessKeyId,
|
|
22
|
+
secretAccessKey: config.secretAccessKey,
|
|
23
|
+
...config.timeoutMs !== void 0 ? { timeoutMs: config.timeoutMs } : {}
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
function redactBackblazeConfig(config) {
|
|
27
|
+
return redactConfigWithSchema(BackblazeConfigSchema, {
|
|
28
|
+
...config,
|
|
29
|
+
endpoint: resolvedBackblazeEndpoint(config)
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
function normalizeBackblazeConfig(input) {
|
|
33
|
+
return normalizeFields(input, {
|
|
34
|
+
rename: {
|
|
35
|
+
access_key_id: "accessKeyId",
|
|
36
|
+
secret_access_key: "secretAccessKey",
|
|
37
|
+
endpoint_url: "endpoint",
|
|
38
|
+
timeout: "timeoutMs"
|
|
39
|
+
},
|
|
40
|
+
transform: {
|
|
41
|
+
timeout: (v) => typeof v === "number" ? v * 1e3 : v
|
|
42
|
+
},
|
|
43
|
+
drop: ["proxy"]
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export {
|
|
48
|
+
BackblazeConfigSchema,
|
|
49
|
+
resolvedBackblazeEndpoint,
|
|
50
|
+
backblazeToS3Config,
|
|
51
|
+
redactBackblazeConfig,
|
|
52
|
+
normalizeBackblazeConfig
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=chunk-XHCBHYN4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/resource/backblaze/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'\nimport type { S3Config } from '../s3/config.ts'\n\nexport interface BackblazeConfig {\n bucket: string\n accessKeyId: string\n secretAccessKey: string\n region: string\n endpoint?: string\n timeoutMs?: number\n}\n\nexport interface BackblazeConfigRedacted {\n bucket: string\n accessKeyId: string\n secretAccessKey: string\n region: string\n endpoint: string\n timeoutMs?: number\n}\n\nexport const BackblazeConfigSchema = z.object({\n bucket: z.string(),\n accessKeyId: secretStr(),\n secretAccessKey: secretStr(),\n region: z.string(),\n endpoint: z.string(),\n timeoutMs: z.number().optional(),\n})\n\nexport function resolvedBackblazeEndpoint(config: BackblazeConfig): string {\n if (config.endpoint !== undefined && config.endpoint !== '') return config.endpoint\n const region = config.region\n return `https://s3.${region}.backblazeb2.com`\n}\n\nexport function backblazeToS3Config(config: BackblazeConfig): S3Config {\n return {\n bucket: config.bucket,\n region: config.region,\n endpoint: resolvedBackblazeEndpoint(config),\n accessKeyId: config.accessKeyId,\n secretAccessKey: config.secretAccessKey,\n ...(config.timeoutMs !== undefined ? { timeoutMs: config.timeoutMs } : {}),\n }\n}\n\nexport function redactBackblazeConfig(config: BackblazeConfig): BackblazeConfigRedacted {\n return redactConfigWithSchema(BackblazeConfigSchema, {\n ...config,\n endpoint: resolvedBackblazeEndpoint(config),\n }) as unknown as BackblazeConfigRedacted\n}\n\nexport function normalizeBackblazeConfig(input: Record<string, unknown>): BackblazeConfig {\n return normalizeFields(input, {\n rename: {\n access_key_id: 'accessKeyId',\n secret_access_key: 'secretAccessKey',\n endpoint_url: 'endpoint',\n timeout: 'timeoutMs',\n },\n transform: {\n timeout: (v: unknown) => (typeof v === 'number' ? v * 1000 : v),\n },\n drop: ['proxy'],\n }) as unknown as BackblazeConfig\n}\n"],"mappings":";AAcA,SAAS,iBAAiB,wBAAwB,WAAW,SAAS;AAqB/D,IAAM,wBAAwB,EAAE,OAAO;AAAA,EAC5C,QAAQ,EAAE,OAAO;AAAA,EACjB,aAAa,UAAU;AAAA,EACvB,iBAAiB,UAAU;AAAA,EAC3B,QAAQ,EAAE,OAAO;AAAA,EACjB,UAAU,EAAE,OAAO;AAAA,EACnB,WAAW,EAAE,OAAO,EAAE,SAAS;AACjC,CAAC;AAEM,SAAS,0BAA0B,QAAiC;AACzE,MAAI,OAAO,aAAa,UAAa,OAAO,aAAa,GAAI,QAAO,OAAO;AAC3E,QAAM,SAAS,OAAO;AACtB,SAAO,cAAc,MAAM;AAC7B;AAEO,SAAS,oBAAoB,QAAmC;AACrE,SAAO;AAAA,IACL,QAAQ,OAAO;AAAA,IACf,QAAQ,OAAO;AAAA,IACf,UAAU,0BAA0B,MAAM;AAAA,IAC1C,aAAa,OAAO;AAAA,IACpB,iBAAiB,OAAO;AAAA,IACxB,GAAI,OAAO,cAAc,SAAY,EAAE,WAAW,OAAO,UAAU,IAAI,CAAC;AAAA,EAC1E;AACF;AAEO,SAAS,sBAAsB,QAAkD;AACtF,SAAO,uBAAuB,uBAAuB;AAAA,IACnD,GAAG;AAAA,IACH,UAAU,0BAA0B,MAAM;AAAA,EAC5C,CAAC;AACH;AAEO,SAAS,yBAAyB,OAAiD;AACxF,SAAO,gBAAgB,OAAO;AAAA,IAC5B,QAAQ;AAAA,MACN,eAAe;AAAA,MACf,mBAAmB;AAAA,MACnB,cAAc;AAAA,MACd,SAAS;AAAA,IACX;AAAA,IACA,WAAW;AAAA,MACT,SAAS,CAAC,MAAgB,OAAO,MAAM,WAAW,IAAI,MAAO;AAAA,IAC/D;AAAA,IACA,MAAM,CAAC,OAAO;AAAA,EAChB,CAAC;AACH;","names":[]}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
// src/resource/scaleway/config.ts
|
|
2
|
+
import { normalizeFields, redactConfigWithSchema, secretStr, z } from "@struktoai/mirage-core";
|
|
3
|
+
var ScalewayConfigSchema = z.object({
|
|
4
|
+
bucket: z.string(),
|
|
5
|
+
accessKeyId: secretStr(),
|
|
6
|
+
secretAccessKey: secretStr(),
|
|
7
|
+
region: z.string(),
|
|
8
|
+
endpoint: z.string(),
|
|
9
|
+
timeoutMs: z.number().optional()
|
|
10
|
+
});
|
|
11
|
+
function resolvedScalewayEndpoint(config) {
|
|
12
|
+
if (config.endpoint !== void 0 && config.endpoint !== "") return config.endpoint;
|
|
13
|
+
const region = config.region;
|
|
14
|
+
return `https://s3.${region}.scw.cloud`;
|
|
15
|
+
}
|
|
16
|
+
function scalewayToS3Config(config) {
|
|
17
|
+
return {
|
|
18
|
+
bucket: config.bucket,
|
|
19
|
+
region: config.region,
|
|
20
|
+
endpoint: resolvedScalewayEndpoint(config),
|
|
21
|
+
accessKeyId: config.accessKeyId,
|
|
22
|
+
secretAccessKey: config.secretAccessKey,
|
|
23
|
+
...config.timeoutMs !== void 0 ? { timeoutMs: config.timeoutMs } : {}
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
function redactScalewayConfig(config) {
|
|
27
|
+
return redactConfigWithSchema(ScalewayConfigSchema, {
|
|
28
|
+
...config,
|
|
29
|
+
endpoint: resolvedScalewayEndpoint(config)
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
function normalizeScalewayConfig(input) {
|
|
33
|
+
return normalizeFields(input, {
|
|
34
|
+
rename: {
|
|
35
|
+
access_key_id: "accessKeyId",
|
|
36
|
+
secret_access_key: "secretAccessKey",
|
|
37
|
+
endpoint_url: "endpoint",
|
|
38
|
+
timeout: "timeoutMs"
|
|
39
|
+
},
|
|
40
|
+
transform: {
|
|
41
|
+
timeout: (v) => typeof v === "number" ? v * 1e3 : v
|
|
42
|
+
},
|
|
43
|
+
drop: ["proxy"]
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export {
|
|
48
|
+
ScalewayConfigSchema,
|
|
49
|
+
resolvedScalewayEndpoint,
|
|
50
|
+
scalewayToS3Config,
|
|
51
|
+
redactScalewayConfig,
|
|
52
|
+
normalizeScalewayConfig
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=chunk-XLQI4IT2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/resource/scaleway/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'\nimport type { S3Config } from '../s3/config.ts'\n\nexport interface ScalewayConfig {\n bucket: string\n accessKeyId: string\n secretAccessKey: string\n region: string\n endpoint?: string\n timeoutMs?: number\n}\n\nexport interface ScalewayConfigRedacted {\n bucket: string\n accessKeyId: string\n secretAccessKey: string\n region: string\n endpoint: string\n timeoutMs?: number\n}\n\nexport const ScalewayConfigSchema = z.object({\n bucket: z.string(),\n accessKeyId: secretStr(),\n secretAccessKey: secretStr(),\n region: z.string(),\n endpoint: z.string(),\n timeoutMs: z.number().optional(),\n})\n\nexport function resolvedScalewayEndpoint(config: ScalewayConfig): string {\n if (config.endpoint !== undefined && config.endpoint !== '') return config.endpoint\n const region = config.region\n return `https://s3.${region}.scw.cloud`\n}\n\nexport function scalewayToS3Config(config: ScalewayConfig): S3Config {\n return {\n bucket: config.bucket,\n region: config.region,\n endpoint: resolvedScalewayEndpoint(config),\n accessKeyId: config.accessKeyId,\n secretAccessKey: config.secretAccessKey,\n ...(config.timeoutMs !== undefined ? { timeoutMs: config.timeoutMs } : {}),\n }\n}\n\nexport function redactScalewayConfig(config: ScalewayConfig): ScalewayConfigRedacted {\n return redactConfigWithSchema(ScalewayConfigSchema, {\n ...config,\n endpoint: resolvedScalewayEndpoint(config),\n }) as unknown as ScalewayConfigRedacted\n}\n\nexport function normalizeScalewayConfig(input: Record<string, unknown>): ScalewayConfig {\n return normalizeFields(input, {\n rename: {\n access_key_id: 'accessKeyId',\n secret_access_key: 'secretAccessKey',\n endpoint_url: 'endpoint',\n timeout: 'timeoutMs',\n },\n transform: {\n timeout: (v: unknown) => (typeof v === 'number' ? v * 1000 : v),\n },\n drop: ['proxy'],\n }) as unknown as ScalewayConfig\n}\n"],"mappings":";AAcA,SAAS,iBAAiB,wBAAwB,WAAW,SAAS;AAqB/D,IAAM,uBAAuB,EAAE,OAAO;AAAA,EAC3C,QAAQ,EAAE,OAAO;AAAA,EACjB,aAAa,UAAU;AAAA,EACvB,iBAAiB,UAAU;AAAA,EAC3B,QAAQ,EAAE,OAAO;AAAA,EACjB,UAAU,EAAE,OAAO;AAAA,EACnB,WAAW,EAAE,OAAO,EAAE,SAAS;AACjC,CAAC;AAEM,SAAS,yBAAyB,QAAgC;AACvE,MAAI,OAAO,aAAa,UAAa,OAAO,aAAa,GAAI,QAAO,OAAO;AAC3E,QAAM,SAAS,OAAO;AACtB,SAAO,cAAc,MAAM;AAC7B;AAEO,SAAS,mBAAmB,QAAkC;AACnE,SAAO;AAAA,IACL,QAAQ,OAAO;AAAA,IACf,QAAQ,OAAO;AAAA,IACf,UAAU,yBAAyB,MAAM;AAAA,IACzC,aAAa,OAAO;AAAA,IACpB,iBAAiB,OAAO;AAAA,IACxB,GAAI,OAAO,cAAc,SAAY,EAAE,WAAW,OAAO,UAAU,IAAI,CAAC;AAAA,EAC1E;AACF;AAEO,SAAS,qBAAqB,QAAgD;AACnF,SAAO,uBAAuB,sBAAsB;AAAA,IAClD,GAAG;AAAA,IACH,UAAU,yBAAyB,MAAM;AAAA,EAC3C,CAAC;AACH;AAEO,SAAS,wBAAwB,OAAgD;AACtF,SAAO,gBAAgB,OAAO;AAAA,IAC5B,QAAQ;AAAA,MACN,eAAe;AAAA,MACf,mBAAmB;AAAA,MACnB,cAAc;AAAA,MACd,SAAS;AAAA,IACX;AAAA,IACA,WAAW;AAAA,MACT,SAAS,CAAC,MAAgB,OAAO,MAAM,WAAW,IAAI,MAAO;AAAA,IAC/D;AAAA,IACA,MAAM,CAAC,OAAO;AAAA,EAChB,CAAC;AACH;","names":[]}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
redactGSheetsConfig
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-LW25LMIH.js";
|
|
4
4
|
|
|
5
5
|
// src/resource/gsheets/gsheets.ts
|
|
6
6
|
import {
|
|
7
|
+
BaseResource,
|
|
7
8
|
GSHEETS_COMMANDS,
|
|
8
9
|
GSHEETS_PROMPT,
|
|
9
10
|
GSHEETS_VFS_OPS,
|
|
10
11
|
GSHEETS_WRITE_PROMPT,
|
|
11
12
|
GSheetsAccessor,
|
|
12
13
|
PathSpec,
|
|
13
|
-
RAMIndexCacheStore,
|
|
14
14
|
ResourceName,
|
|
15
15
|
TokenManager,
|
|
16
16
|
gsheetsRead,
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
gsheetsResolveGlob,
|
|
19
19
|
gsheetsStat
|
|
20
20
|
} from "@struktoai/mirage-core";
|
|
21
|
-
var GSheetsResource = class {
|
|
21
|
+
var GSheetsResource = class extends BaseResource {
|
|
22
22
|
kind = ResourceName.GSHEETS;
|
|
23
23
|
isRemote = true;
|
|
24
24
|
indexTtl = 86400;
|
|
@@ -26,8 +26,8 @@ var GSheetsResource = class {
|
|
|
26
26
|
writePrompt = GSHEETS_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 GSheetsResource = class {
|
|
|
35
35
|
refreshToken: config.refreshToken
|
|
36
36
|
});
|
|
37
37
|
this.accessor = new GSheetsAccessor({ tokenManager: tm });
|
|
38
|
-
this.index = new RAMIndexCacheStore({ ttl: 86400 });
|
|
39
38
|
}
|
|
40
39
|
open() {
|
|
41
40
|
return Promise.resolve();
|
|
@@ -77,8 +76,6 @@ var GSheetsResource = class {
|
|
|
77
76
|
getState() {
|
|
78
77
|
return Promise.resolve({
|
|
79
78
|
type: this.kind,
|
|
80
|
-
needsOverride: true,
|
|
81
|
-
redactedFields: ["clientSecret", "refreshToken"],
|
|
82
79
|
config: redactGSheetsConfig(this.config)
|
|
83
80
|
});
|
|
84
81
|
}
|
|
@@ -90,4 +87,4 @@ var GSheetsResource = class {
|
|
|
90
87
|
export {
|
|
91
88
|
GSheetsResource
|
|
92
89
|
};
|
|
93
|
-
//# sourceMappingURL=chunk-
|
|
90
|
+
//# sourceMappingURL=chunk-XRU5WXZX.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/resource/gsheets/gsheets.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 GSHEETS_COMMANDS,\n GSHEETS_PROMPT,\n GSHEETS_VFS_OPS,\n GSHEETS_WRITE_PROMPT,\n GSheetsAccessor,\n PathSpec,\n type RegisteredCommand,\n type RegisteredOp,\n type Resource,\n ResourceName,\n TokenManager,\n gsheetsRead,\n gsheetsReaddir,\n gsheetsResolveGlob,\n gsheetsStat,\n} from '@struktoai/mirage-core'\nimport { redactGSheetsConfig, type GSheetsConfig, type GSheetsConfigRedacted } from './config.ts'\n\nexport interface GSheetsResourceState {\n type: string\n config: GSheetsConfigRedacted\n}\n\nexport class GSheetsResource extends BaseResource implements Resource {\n readonly kind: string = ResourceName.GSHEETS\n readonly isRemote: boolean = true\n readonly indexTtl: number = 86_400\n readonly prompt: string = GSHEETS_PROMPT\n readonly writePrompt: string = GSHEETS_WRITE_PROMPT\n readonly config: GSheetsConfig\n readonly accessor: GSheetsAccessor\n\n constructor(config: GSheetsConfig) {\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 GSheetsAccessor({ 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 GSHEETS_COMMANDS\n }\n\n ops(): readonly RegisteredOp[] {\n return GSHEETS_VFS_OPS\n }\n\n readFile(p: PathSpec): Promise<Uint8Array> {\n return gsheetsRead(this.accessor, p, this.index)\n }\n\n readdir(p: PathSpec): Promise<string[]> {\n return gsheetsReaddir(this.accessor, p, this.index)\n }\n\n stat(p: PathSpec): Promise<FileStat> {\n return gsheetsStat(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 gsheetsResolveGlob(this.accessor, effective, this.index)\n }\n\n getState(): Promise<GSheetsResourceState> {\n return Promise.resolve({\n type: this.kind,\n config: redactGSheetsConfig(this.config),\n })\n }\n\n loadState(_state: GSheetsResourceState): 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,kBAAN,cAA8B,aAAiC;AAAA,EAC3D,OAAe,aAAa;AAAA,EAC5B,WAAoB;AAAA,EACpB,WAAmB;AAAA,EACnB,SAAiB;AAAA,EACjB,cAAsB;AAAA,EACtB;AAAA,EACA;AAAA,EAET,YAAY,QAAuB;AACjC,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,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,9 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
redactLinearConfig
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-YUK3X3B4.js";
|
|
4
4
|
|
|
5
5
|
// src/resource/linear/linear.ts
|
|
6
6
|
import {
|
|
7
|
+
BaseResource,
|
|
7
8
|
HttpLinearTransport,
|
|
8
9
|
LINEAR_COMMANDS,
|
|
9
10
|
LINEAR_PROMPT,
|
|
@@ -14,11 +15,10 @@ import {
|
|
|
14
15
|
linearReaddir,
|
|
15
16
|
linearStat,
|
|
16
17
|
PathSpec,
|
|
17
|
-
RAMIndexCacheStore,
|
|
18
18
|
ResourceName,
|
|
19
19
|
resolveLinearGlob
|
|
20
20
|
} from "@struktoai/mirage-core";
|
|
21
|
-
var LinearResource = class {
|
|
21
|
+
var LinearResource = class extends BaseResource {
|
|
22
22
|
kind = ResourceName.LINEAR;
|
|
23
23
|
isRemote = true;
|
|
24
24
|
indexTtl = 600;
|
|
@@ -26,13 +26,12 @@ var LinearResource = class {
|
|
|
26
26
|
writePrompt = LINEAR_WRITE_PROMPT;
|
|
27
27
|
config;
|
|
28
28
|
accessor;
|
|
29
|
-
index;
|
|
30
29
|
constructor(config) {
|
|
30
|
+
super();
|
|
31
31
|
this.config = config;
|
|
32
32
|
const transportOpts = { apiKey: config.apiKey };
|
|
33
33
|
if (config.baseUrl !== void 0) transportOpts.baseUrl = config.baseUrl;
|
|
34
34
|
this.accessor = new LinearAccessor(new HttpLinearTransport(transportOpts));
|
|
35
|
-
this.index = new RAMIndexCacheStore({ ttl: this.indexTtl });
|
|
36
35
|
}
|
|
37
36
|
open() {
|
|
38
37
|
return Promise.resolve();
|
|
@@ -79,8 +78,6 @@ var LinearResource = class {
|
|
|
79
78
|
getState() {
|
|
80
79
|
return Promise.resolve({
|
|
81
80
|
type: this.kind,
|
|
82
|
-
needsOverride: true,
|
|
83
|
-
redactedFields: ["apiKey"],
|
|
84
81
|
config: redactLinearConfig(this.config)
|
|
85
82
|
});
|
|
86
83
|
}
|
|
@@ -92,4 +89,4 @@ var LinearResource = class {
|
|
|
92
89
|
export {
|
|
93
90
|
LinearResource
|
|
94
91
|
};
|
|
95
|
-
//# sourceMappingURL=chunk-
|
|
92
|
+
//# sourceMappingURL=chunk-YAVGCQUP.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/resource/linear/linear.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 HttpLinearTransport,\n LINEAR_COMMANDS,\n LINEAR_PROMPT,\n LINEAR_VFS_OPS,\n LINEAR_WRITE_PROMPT,\n LinearAccessor,\n type LinearReaddirFilter,\n linearRead,\n linearReaddir,\n linearStat,\n PathSpec,\n type RegisteredCommand,\n type RegisteredOp,\n type Resource,\n ResourceName,\n resolveLinearGlob,\n} from '@struktoai/mirage-core'\nimport { redactLinearConfig, type LinearConfig, type LinearConfigRedacted } from './config.ts'\n\nexport interface LinearResourceState {\n type: string\n config: LinearConfigRedacted\n}\n\nexport class LinearResource extends BaseResource implements Resource {\n readonly kind: string = ResourceName.LINEAR\n readonly isRemote: boolean = true\n readonly indexTtl: number = 600\n readonly prompt: string = LINEAR_PROMPT\n readonly writePrompt: string = LINEAR_WRITE_PROMPT\n readonly config: LinearConfig\n readonly accessor: LinearAccessor\n\n constructor(config: LinearConfig) {\n super()\n this.config = config\n const transportOpts: { apiKey: string; baseUrl?: string } = { apiKey: config.apiKey }\n if (config.baseUrl !== undefined) transportOpts.baseUrl = config.baseUrl\n this.accessor = new LinearAccessor(new HttpLinearTransport(transportOpts))\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 LINEAR_COMMANDS\n }\n\n ops(): readonly RegisteredOp[] {\n return LINEAR_VFS_OPS\n }\n\n private filter(): LinearReaddirFilter {\n const out: LinearReaddirFilter = {}\n if (this.config.teamIds !== undefined) out.teamIds = this.config.teamIds\n return out\n }\n\n readFile(p: PathSpec): Promise<Uint8Array> {\n return linearRead(this.accessor, p, this.index, this.filter())\n }\n\n readdir(p: PathSpec): Promise<string[]> {\n return linearReaddir(this.accessor, p, this.index, this.filter())\n }\n\n stat(p: PathSpec): Promise<FileStat> {\n return linearStat(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 resolveLinearGlob(this.accessor, effective, this.index, this.filter())\n }\n\n getState(): Promise<LinearResourceState> {\n return Promise.resolve({\n type: this.kind,\n config: redactLinearConfig(this.config),\n })\n }\n\n loadState(_state: LinearResourceState): 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,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAIA;AAAA,EACA;AAAA,OACK;AAQA,IAAM,iBAAN,cAA6B,aAAiC;AAAA,EAC1D,OAAe,aAAa;AAAA,EAC5B,WAAoB;AAAA,EACpB,WAAmB;AAAA,EACnB,SAAiB;AAAA,EACjB,cAAsB;AAAA,EACtB;AAAA,EACA;AAAA,EAET,YAAY,QAAsB;AAChC,UAAM;AACN,SAAK,SAAS;AACd,UAAM,gBAAsD,EAAE,QAAQ,OAAO,OAAO;AACpF,QAAI,OAAO,YAAY,OAAW,eAAc,UAAU,OAAO;AACjE,SAAK,WAAW,IAAI,eAAe,IAAI,oBAAoB,aAAa,CAAC;AAAA,EAC3E;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,EAEQ,SAA8B;AACpC,UAAM,MAA2B,CAAC;AAClC,QAAI,KAAK,OAAO,YAAY,OAAW,KAAI,UAAU,KAAK,OAAO;AACjE,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,GAAkC;AACzC,WAAO,WAAW,KAAK,UAAU,GAAG,KAAK,OAAO,KAAK,OAAO,CAAC;AAAA,EAC/D;AAAA,EAEA,QAAQ,GAAgC;AACtC,WAAO,cAAc,KAAK,UAAU,GAAG,KAAK,OAAO,KAAK,OAAO,CAAC;AAAA,EAClE;AAAA,EAEA,KAAK,GAAgC;AACnC,WAAO,WAAW,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EAChD;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,kBAAkB,KAAK,UAAU,WAAW,KAAK,OAAO,KAAK,OAAO,CAAC;AAAA,EAC9E;AAAA,EAEA,WAAyC;AACvC,WAAO,QAAQ,QAAQ;AAAA,MACrB,MAAM,KAAK;AAAA,MACX,QAAQ,mBAAmB,KAAK,MAAM;AAAA,IACxC,CAAC;AAAA,EACH;AAAA,EAEA,UAAU,QAA4C;AACpD,WAAO,QAAQ,QAAQ;AAAA,EACzB;AACF;","names":[]}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
// src/resource/tencent/config.ts
|
|
2
|
+
import { normalizeFields, redactConfigWithSchema, secretStr, z } from "@struktoai/mirage-core";
|
|
3
|
+
var TencentConfigSchema = z.object({
|
|
4
|
+
bucket: z.string(),
|
|
5
|
+
accessKeyId: secretStr(),
|
|
6
|
+
secretAccessKey: secretStr(),
|
|
7
|
+
region: z.string(),
|
|
8
|
+
endpoint: z.string(),
|
|
9
|
+
timeoutMs: z.number().optional()
|
|
10
|
+
});
|
|
11
|
+
function resolvedTencentEndpoint(config) {
|
|
12
|
+
if (config.endpoint !== void 0 && config.endpoint !== "") return config.endpoint;
|
|
13
|
+
const region = config.region;
|
|
14
|
+
return `https://cos.${region}.myqcloud.com`;
|
|
15
|
+
}
|
|
16
|
+
function tencentToS3Config(config) {
|
|
17
|
+
return {
|
|
18
|
+
bucket: config.bucket,
|
|
19
|
+
region: config.region,
|
|
20
|
+
endpoint: resolvedTencentEndpoint(config),
|
|
21
|
+
accessKeyId: config.accessKeyId,
|
|
22
|
+
secretAccessKey: config.secretAccessKey,
|
|
23
|
+
...config.timeoutMs !== void 0 ? { timeoutMs: config.timeoutMs } : {}
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
function redactTencentConfig(config) {
|
|
27
|
+
return redactConfigWithSchema(TencentConfigSchema, {
|
|
28
|
+
...config,
|
|
29
|
+
endpoint: resolvedTencentEndpoint(config)
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
function normalizeTencentConfig(input) {
|
|
33
|
+
return normalizeFields(input, {
|
|
34
|
+
rename: {
|
|
35
|
+
access_key_id: "accessKeyId",
|
|
36
|
+
secret_access_key: "secretAccessKey",
|
|
37
|
+
endpoint_url: "endpoint",
|
|
38
|
+
timeout: "timeoutMs"
|
|
39
|
+
},
|
|
40
|
+
transform: {
|
|
41
|
+
timeout: (v) => typeof v === "number" ? v * 1e3 : v
|
|
42
|
+
},
|
|
43
|
+
drop: ["proxy"]
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export {
|
|
48
|
+
TencentConfigSchema,
|
|
49
|
+
resolvedTencentEndpoint,
|
|
50
|
+
tencentToS3Config,
|
|
51
|
+
redactTencentConfig,
|
|
52
|
+
normalizeTencentConfig
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=chunk-YGZMVNN5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/resource/tencent/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'\nimport type { S3Config } from '../s3/config.ts'\n\nexport interface TencentConfig {\n bucket: string\n accessKeyId: string\n secretAccessKey: string\n region: string\n endpoint?: string\n timeoutMs?: number\n}\n\nexport interface TencentConfigRedacted {\n bucket: string\n accessKeyId: string\n secretAccessKey: string\n region: string\n endpoint: string\n timeoutMs?: number\n}\n\nexport const TencentConfigSchema = z.object({\n bucket: z.string(),\n accessKeyId: secretStr(),\n secretAccessKey: secretStr(),\n region: z.string(),\n endpoint: z.string(),\n timeoutMs: z.number().optional(),\n})\n\nexport function resolvedTencentEndpoint(config: TencentConfig): string {\n if (config.endpoint !== undefined && config.endpoint !== '') return config.endpoint\n const region = config.region\n return `https://cos.${region}.myqcloud.com`\n}\n\nexport function tencentToS3Config(config: TencentConfig): S3Config {\n return {\n bucket: config.bucket,\n region: config.region,\n endpoint: resolvedTencentEndpoint(config),\n accessKeyId: config.accessKeyId,\n secretAccessKey: config.secretAccessKey,\n ...(config.timeoutMs !== undefined ? { timeoutMs: config.timeoutMs } : {}),\n }\n}\n\nexport function redactTencentConfig(config: TencentConfig): TencentConfigRedacted {\n return redactConfigWithSchema(TencentConfigSchema, {\n ...config,\n endpoint: resolvedTencentEndpoint(config),\n }) as unknown as TencentConfigRedacted\n}\n\nexport function normalizeTencentConfig(input: Record<string, unknown>): TencentConfig {\n return normalizeFields(input, {\n rename: {\n access_key_id: 'accessKeyId',\n secret_access_key: 'secretAccessKey',\n endpoint_url: 'endpoint',\n timeout: 'timeoutMs',\n },\n transform: {\n timeout: (v: unknown) => (typeof v === 'number' ? v * 1000 : v),\n },\n drop: ['proxy'],\n }) as unknown as TencentConfig\n}\n"],"mappings":";AAcA,SAAS,iBAAiB,wBAAwB,WAAW,SAAS;AAqB/D,IAAM,sBAAsB,EAAE,OAAO;AAAA,EAC1C,QAAQ,EAAE,OAAO;AAAA,EACjB,aAAa,UAAU;AAAA,EACvB,iBAAiB,UAAU;AAAA,EAC3B,QAAQ,EAAE,OAAO;AAAA,EACjB,UAAU,EAAE,OAAO;AAAA,EACnB,WAAW,EAAE,OAAO,EAAE,SAAS;AACjC,CAAC;AAEM,SAAS,wBAAwB,QAA+B;AACrE,MAAI,OAAO,aAAa,UAAa,OAAO,aAAa,GAAI,QAAO,OAAO;AAC3E,QAAM,SAAS,OAAO;AACtB,SAAO,eAAe,MAAM;AAC9B;AAEO,SAAS,kBAAkB,QAAiC;AACjE,SAAO;AAAA,IACL,QAAQ,OAAO;AAAA,IACf,QAAQ,OAAO;AAAA,IACf,UAAU,wBAAwB,MAAM;AAAA,IACxC,aAAa,OAAO;AAAA,IACpB,iBAAiB,OAAO;AAAA,IACxB,GAAI,OAAO,cAAc,SAAY,EAAE,WAAW,OAAO,UAAU,IAAI,CAAC;AAAA,EAC1E;AACF;AAEO,SAAS,oBAAoB,QAA8C;AAChF,SAAO,uBAAuB,qBAAqB;AAAA,IACjD,GAAG;AAAA,IACH,UAAU,wBAAwB,MAAM;AAAA,EAC1C,CAAC;AACH;AAEO,SAAS,uBAAuB,OAA+C;AACpF,SAAO,gBAAgB,OAAO;AAAA,IAC5B,QAAQ;AAAA,MACN,eAAe;AAAA,MACf,mBAAmB;AAAA,MACnB,cAAc;AAAA,MACd,SAAS;AAAA,IACX;AAAA,IACA,WAAW;AAAA,MACT,SAAS,CAAC,MAAgB,OAAO,MAAM,WAAW,IAAI,MAAO;AAAA,IAC/D;AAAA,IACA,MAAM,CAAC,OAAO;AAAA,EAChB,CAAC;AACH;","names":[]}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
redactGitHubConfig
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-TWGVQLG2.js";
|
|
4
4
|
|
|
5
5
|
// src/resource/github/github.ts
|
|
6
6
|
import {
|
|
7
|
+
BaseResource,
|
|
7
8
|
fetchGitHubRepoInfo,
|
|
8
9
|
fetchGitHubTree,
|
|
9
10
|
GITHUB_COMMANDS,
|
|
@@ -13,24 +14,24 @@ import {
|
|
|
13
14
|
PathSpec,
|
|
14
15
|
RAMIndexCacheStore,
|
|
15
16
|
ResourceName,
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
githubBuildTreeMap,
|
|
18
|
+
githubPopulateIndex,
|
|
18
19
|
githubRead,
|
|
19
20
|
githubReaddir,
|
|
20
21
|
githubResolveGlob,
|
|
21
22
|
githubStat
|
|
22
23
|
} from "@struktoai/mirage-core";
|
|
23
|
-
var GitHubResource = class _GitHubResource {
|
|
24
|
+
var GitHubResource = class _GitHubResource extends BaseResource {
|
|
24
25
|
kind = ResourceName.GITHUB;
|
|
25
26
|
isRemote = true;
|
|
26
27
|
indexTtl = 86400;
|
|
27
28
|
config;
|
|
28
29
|
accessor;
|
|
29
|
-
index;
|
|
30
30
|
constructor(config, accessor, index) {
|
|
31
|
+
super();
|
|
31
32
|
this.config = config;
|
|
32
33
|
this.accessor = accessor;
|
|
33
|
-
this.
|
|
34
|
+
this._index = index;
|
|
34
35
|
}
|
|
35
36
|
static async create(config) {
|
|
36
37
|
const transportOpts = { token: config.token };
|
|
@@ -39,8 +40,7 @@ var GitHubResource = class _GitHubResource {
|
|
|
39
40
|
const repoInfo = await fetchGitHubRepoInfo(transport, config.owner, config.repo);
|
|
40
41
|
const ref = config.ref ?? repoInfo.default_branch;
|
|
41
42
|
const { tree, truncated } = await fetchGitHubTree(transport, config.owner, config.repo, ref);
|
|
42
|
-
const treeMap =
|
|
43
|
-
for (const item of tree) treeMap[item.path] = githubMakeTreeEntry(item);
|
|
43
|
+
const treeMap = githubBuildTreeMap(tree);
|
|
44
44
|
const accessor = new GitHubAccessor({
|
|
45
45
|
transport,
|
|
46
46
|
owner: config.owner,
|
|
@@ -51,7 +51,7 @@ var GitHubResource = class _GitHubResource {
|
|
|
51
51
|
tree: treeMap
|
|
52
52
|
});
|
|
53
53
|
const index = new RAMIndexCacheStore({ ttl: 86400 });
|
|
54
|
-
await
|
|
54
|
+
await githubPopulateIndex(index, tree);
|
|
55
55
|
return new _GitHubResource(config, accessor, index);
|
|
56
56
|
}
|
|
57
57
|
open() {
|
|
@@ -94,8 +94,6 @@ var GitHubResource = class _GitHubResource {
|
|
|
94
94
|
getState() {
|
|
95
95
|
return Promise.resolve({
|
|
96
96
|
type: this.kind,
|
|
97
|
-
needsOverride: true,
|
|
98
|
-
redactedFields: ["token"],
|
|
99
97
|
config: redactGitHubConfig(this.config),
|
|
100
98
|
defaultBranch: this.accessor.defaultBranch,
|
|
101
99
|
truncated: this.accessor.truncated
|
|
@@ -105,20 +103,8 @@ var GitHubResource = class _GitHubResource {
|
|
|
105
103
|
return Promise.resolve();
|
|
106
104
|
}
|
|
107
105
|
};
|
|
108
|
-
async function populateIndex(index, tree) {
|
|
109
|
-
const dirs = /* @__PURE__ */ new Map();
|
|
110
|
-
for (const item of tree) {
|
|
111
|
-
const parts = item.path.split("/");
|
|
112
|
-
const name = parts[parts.length - 1] ?? item.path;
|
|
113
|
-
const parent = parts.length > 1 ? `/${parts.slice(0, -1).join("/")}` : "/";
|
|
114
|
-
const arr = dirs.get(parent) ?? [];
|
|
115
|
-
arr.push([name, githubIndexEntryFromTree(item)]);
|
|
116
|
-
dirs.set(parent, arr);
|
|
117
|
-
}
|
|
118
|
-
await Promise.all([...dirs].map(([parent, entries]) => index.setDir(parent, entries)));
|
|
119
|
-
}
|
|
120
106
|
|
|
121
107
|
export {
|
|
122
108
|
GitHubResource
|
|
123
109
|
};
|
|
124
|
-
//# sourceMappingURL=chunk-
|
|
110
|
+
//# sourceMappingURL=chunk-YPT4JBUY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/resource/github/github.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 fetchGitHubRepoInfo,\n fetchGitHubTree,\n type FileStat,\n GITHUB_COMMANDS,\n GITHUB_VFS_OPS,\n GitHubAccessor,\n HttpGitHubTransport,\n type IndexCacheStore,\n PathSpec,\n RAMIndexCacheStore,\n type RegisteredCommand,\n type RegisteredOp,\n type Resource,\n ResourceName,\n githubBuildTreeMap,\n githubPopulateIndex,\n githubRead,\n githubReaddir,\n githubResolveGlob,\n githubStat,\n} from '@struktoai/mirage-core'\nimport { redactGitHubConfig, type GitHubConfig, type GitHubConfigRedacted } from './config.ts'\n\nexport interface GitHubResourceState {\n type: string\n config: GitHubConfigRedacted\n defaultBranch: string\n truncated: boolean\n}\n\nexport class GitHubResource extends BaseResource implements Resource {\n readonly kind: string = ResourceName.GITHUB\n readonly isRemote: boolean = true\n readonly indexTtl: number = 86_400\n readonly config: GitHubConfig\n readonly accessor: GitHubAccessor\n\n private constructor(config: GitHubConfig, accessor: GitHubAccessor, index: IndexCacheStore) {\n super()\n this.config = config\n this.accessor = accessor\n this._index = index\n }\n\n static async create(config: GitHubConfig): Promise<GitHubResource> {\n const transportOpts: { token: string; baseUrl?: string } = { token: config.token }\n if (config.baseUrl !== undefined) transportOpts.baseUrl = config.baseUrl\n const transport = new HttpGitHubTransport(transportOpts)\n const repoInfo = await fetchGitHubRepoInfo(transport, config.owner, config.repo)\n const ref = config.ref ?? repoInfo.default_branch\n const { tree, truncated } = await fetchGitHubTree(transport, config.owner, config.repo, ref)\n const treeMap = githubBuildTreeMap(tree)\n const accessor = new GitHubAccessor({\n transport,\n owner: config.owner,\n repo: config.repo,\n ref,\n defaultBranch: repoInfo.default_branch,\n truncated,\n tree: treeMap,\n })\n const index = new RAMIndexCacheStore({ ttl: 86_400 })\n await githubPopulateIndex(index, tree)\n return new GitHubResource(config, accessor, index)\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_COMMANDS\n }\n\n ops(): readonly RegisteredOp[] {\n return GITHUB_VFS_OPS\n }\n\n readFile(p: PathSpec): Promise<Uint8Array> {\n return githubRead(this.accessor, p, this.index)\n }\n\n readdir(p: PathSpec): Promise<string[]> {\n return githubReaddir(this.accessor, p, this.index)\n }\n\n stat(p: PathSpec): Promise<FileStat> {\n return githubStat(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?.id ?? 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 githubResolveGlob(this.accessor, effective, this.index)\n }\n\n getState(): Promise<GitHubResourceState> {\n return Promise.resolve({\n type: this.kind,\n config: redactGitHubConfig(this.config),\n defaultBranch: this.accessor.defaultBranch,\n truncated: this.accessor.truncated,\n })\n }\n\n loadState(_state: GitHubResourceState): Promise<void> {\n return Promise.resolve()\n }\n}\n"],"mappings":";;;;;AAcA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EAIA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAUA,IAAM,iBAAN,MAAM,wBAAuB,aAAiC;AAAA,EAC1D,OAAe,aAAa;AAAA,EAC5B,WAAoB;AAAA,EACpB,WAAmB;AAAA,EACnB;AAAA,EACA;AAAA,EAED,YAAY,QAAsB,UAA0B,OAAwB;AAC1F,UAAM;AACN,SAAK,SAAS;AACd,SAAK,WAAW;AAChB,SAAK,SAAS;AAAA,EAChB;AAAA,EAEA,aAAa,OAAO,QAA+C;AACjE,UAAM,gBAAqD,EAAE,OAAO,OAAO,MAAM;AACjF,QAAI,OAAO,YAAY,OAAW,eAAc,UAAU,OAAO;AACjE,UAAM,YAAY,IAAI,oBAAoB,aAAa;AACvD,UAAM,WAAW,MAAM,oBAAoB,WAAW,OAAO,OAAO,OAAO,IAAI;AAC/E,UAAM,MAAM,OAAO,OAAO,SAAS;AACnC,UAAM,EAAE,MAAM,UAAU,IAAI,MAAM,gBAAgB,WAAW,OAAO,OAAO,OAAO,MAAM,GAAG;AAC3F,UAAM,UAAU,mBAAmB,IAAI;AACvC,UAAM,WAAW,IAAI,eAAe;AAAA,MAClC;AAAA,MACA,OAAO,OAAO;AAAA,MACd,MAAM,OAAO;AAAA,MACb;AAAA,MACA,eAAe,SAAS;AAAA,MACxB;AAAA,MACA,MAAM;AAAA,IACR,CAAC;AACD,UAAM,QAAQ,IAAI,mBAAmB,EAAE,KAAK,MAAO,CAAC;AACpD,UAAM,oBAAoB,OAAO,IAAI;AACrC,WAAO,IAAI,gBAAe,QAAQ,UAAU,KAAK;AAAA,EACnD;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,WAAW,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EAChD;AAAA,EAEA,QAAQ,GAAgC;AACtC,WAAO,cAAc,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EACnD;AAAA,EAEA,KAAK,GAAgC;AACnC,WAAO,WAAW,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EAChD;AAAA,EAEA,MAAM,YAAY,GAAqC;AACrD,UAAM,SAAS,MAAM,KAAK,MAAM,IAAI,EAAE,QAAQ;AAC9C,WAAO,OAAO,OAAO,MAAM;AAAA,EAC7B;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,kBAAkB,KAAK,UAAU,WAAW,KAAK,KAAK;AAAA,EAC/D;AAAA,EAEA,WAAyC;AACvC,WAAO,QAAQ,QAAQ;AAAA,MACrB,MAAM,KAAK;AAAA,MACX,QAAQ,mBAAmB,KAAK,MAAM;AAAA,MACtC,eAAe,KAAK,SAAS;AAAA,MAC7B,WAAW,KAAK,SAAS;AAAA,IAC3B,CAAC;AAAA,EACH;AAAA,EAEA,UAAU,QAA4C;AACpD,WAAO,QAAQ,QAAQ;AAAA,EACzB;AACF;","names":[]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// src/resource/linear/config.ts
|
|
2
|
+
import { normalizeFields, redactConfigWithSchema, secretStr, z } from "@struktoai/mirage-core";
|
|
3
|
+
var LinearConfigSchema = z.object({
|
|
4
|
+
apiKey: secretStr(),
|
|
5
|
+
workspace: z.string().optional(),
|
|
6
|
+
teamIds: z.array(z.string()).optional(),
|
|
7
|
+
baseUrl: z.string().optional()
|
|
8
|
+
});
|
|
9
|
+
function redactLinearConfig(config) {
|
|
10
|
+
return redactConfigWithSchema(LinearConfigSchema, config);
|
|
11
|
+
}
|
|
12
|
+
function normalizeLinearConfig(input) {
|
|
13
|
+
return normalizeFields(input, {
|
|
14
|
+
rename: {
|
|
15
|
+
api_key: "apiKey",
|
|
16
|
+
team_ids: "teamIds",
|
|
17
|
+
base_url: "baseUrl"
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export {
|
|
23
|
+
LinearConfigSchema,
|
|
24
|
+
redactLinearConfig,
|
|
25
|
+
normalizeLinearConfig
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=chunk-YUK3X3B4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/resource/linear/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\nexport interface LinearConfig {\n apiKey: string\n workspace?: string\n teamIds?: readonly string[]\n baseUrl?: string\n}\n\nexport interface LinearConfigRedacted {\n apiKey: '<REDACTED>'\n workspace?: string\n teamIds?: readonly string[]\n baseUrl?: string\n}\n\nexport const LinearConfigSchema = z.object({\n apiKey: secretStr(),\n workspace: z.string().optional(),\n teamIds: z.array(z.string()).optional(),\n baseUrl: z.string().optional(),\n})\n\nexport function redactLinearConfig(config: LinearConfig): LinearConfigRedacted {\n return redactConfigWithSchema(LinearConfigSchema, config) as unknown as LinearConfigRedacted\n}\n\nexport function normalizeLinearConfig(input: Record<string, unknown>): LinearConfig {\n return normalizeFields(input, {\n rename: {\n api_key: 'apiKey',\n team_ids: 'teamIds',\n base_url: 'baseUrl',\n },\n }) as unknown as LinearConfig\n}\n"],"mappings":";AAcA,SAAS,iBAAiB,wBAAwB,WAAW,SAAS;AAgB/D,IAAM,qBAAqB,EAAE,OAAO;AAAA,EACzC,QAAQ,UAAU;AAAA,EAClB,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,EAC/B,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS;AAAA,EACtC,SAAS,EAAE,OAAO,EAAE,SAAS;AAC/B,CAAC;AAEM,SAAS,mBAAmB,QAA4C;AAC7E,SAAO,uBAAuB,oBAAoB,MAAM;AAC1D;AAEO,SAAS,sBAAsB,OAA8C;AAClF,SAAO,gBAAgB,OAAO;AAAA,IAC5B,QAAQ;AAAA,MACN,SAAS;AAAA,MACT,UAAU;AAAA,MACV,UAAU;AAAA,IACZ;AAAA,EACF,CAAC;AACH;","names":[]}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
// src/resource/digitalocean/config.ts
|
|
2
|
+
import { normalizeFields, redactConfigWithSchema, secretStr, z } from "@struktoai/mirage-core";
|
|
3
|
+
var DigitalOceanConfigSchema = z.object({
|
|
4
|
+
bucket: z.string(),
|
|
5
|
+
accessKeyId: secretStr(),
|
|
6
|
+
secretAccessKey: secretStr(),
|
|
7
|
+
region: z.string(),
|
|
8
|
+
endpoint: z.string(),
|
|
9
|
+
timeoutMs: z.number().optional()
|
|
10
|
+
});
|
|
11
|
+
function resolvedDigitalOceanEndpoint(config) {
|
|
12
|
+
if (config.endpoint !== void 0 && config.endpoint !== "") return config.endpoint;
|
|
13
|
+
const region = config.region;
|
|
14
|
+
return `https://${region}.digitaloceanspaces.com`;
|
|
15
|
+
}
|
|
16
|
+
function digitalOceanToS3Config(config) {
|
|
17
|
+
return {
|
|
18
|
+
bucket: config.bucket,
|
|
19
|
+
region: config.region,
|
|
20
|
+
endpoint: resolvedDigitalOceanEndpoint(config),
|
|
21
|
+
accessKeyId: config.accessKeyId,
|
|
22
|
+
secretAccessKey: config.secretAccessKey,
|
|
23
|
+
...config.timeoutMs !== void 0 ? { timeoutMs: config.timeoutMs } : {}
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
function redactDigitalOceanConfig(config) {
|
|
27
|
+
return redactConfigWithSchema(DigitalOceanConfigSchema, {
|
|
28
|
+
...config,
|
|
29
|
+
endpoint: resolvedDigitalOceanEndpoint(config)
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
function normalizeDigitalOceanConfig(input) {
|
|
33
|
+
return normalizeFields(input, {
|
|
34
|
+
rename: {
|
|
35
|
+
access_key_id: "accessKeyId",
|
|
36
|
+
secret_access_key: "secretAccessKey",
|
|
37
|
+
endpoint_url: "endpoint",
|
|
38
|
+
timeout: "timeoutMs"
|
|
39
|
+
},
|
|
40
|
+
transform: {
|
|
41
|
+
timeout: (v) => typeof v === "number" ? v * 1e3 : v
|
|
42
|
+
},
|
|
43
|
+
drop: ["proxy"]
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export {
|
|
48
|
+
DigitalOceanConfigSchema,
|
|
49
|
+
resolvedDigitalOceanEndpoint,
|
|
50
|
+
digitalOceanToS3Config,
|
|
51
|
+
redactDigitalOceanConfig,
|
|
52
|
+
normalizeDigitalOceanConfig
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=chunk-ZNWVJ6UW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/resource/digitalocean/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'\nimport type { S3Config } from '../s3/config.ts'\n\nexport interface DigitalOceanConfig {\n bucket: string\n accessKeyId: string\n secretAccessKey: string\n region: string\n endpoint?: string\n timeoutMs?: number\n}\n\nexport interface DigitalOceanConfigRedacted {\n bucket: string\n accessKeyId: string\n secretAccessKey: string\n region: string\n endpoint: string\n timeoutMs?: number\n}\n\nexport const DigitalOceanConfigSchema = z.object({\n bucket: z.string(),\n accessKeyId: secretStr(),\n secretAccessKey: secretStr(),\n region: z.string(),\n endpoint: z.string(),\n timeoutMs: z.number().optional(),\n})\n\nexport function resolvedDigitalOceanEndpoint(config: DigitalOceanConfig): string {\n if (config.endpoint !== undefined && config.endpoint !== '') return config.endpoint\n const region = config.region\n return `https://${region}.digitaloceanspaces.com`\n}\n\nexport function digitalOceanToS3Config(config: DigitalOceanConfig): S3Config {\n return {\n bucket: config.bucket,\n region: config.region,\n endpoint: resolvedDigitalOceanEndpoint(config),\n accessKeyId: config.accessKeyId,\n secretAccessKey: config.secretAccessKey,\n ...(config.timeoutMs !== undefined ? { timeoutMs: config.timeoutMs } : {}),\n }\n}\n\nexport function redactDigitalOceanConfig(config: DigitalOceanConfig): DigitalOceanConfigRedacted {\n return redactConfigWithSchema(DigitalOceanConfigSchema, {\n ...config,\n endpoint: resolvedDigitalOceanEndpoint(config),\n }) as unknown as DigitalOceanConfigRedacted\n}\n\nexport function normalizeDigitalOceanConfig(input: Record<string, unknown>): DigitalOceanConfig {\n return normalizeFields(input, {\n rename: {\n access_key_id: 'accessKeyId',\n secret_access_key: 'secretAccessKey',\n endpoint_url: 'endpoint',\n timeout: 'timeoutMs',\n },\n transform: {\n timeout: (v: unknown) => (typeof v === 'number' ? v * 1000 : v),\n },\n drop: ['proxy'],\n }) as unknown as DigitalOceanConfig\n}\n"],"mappings":";AAcA,SAAS,iBAAiB,wBAAwB,WAAW,SAAS;AAqB/D,IAAM,2BAA2B,EAAE,OAAO;AAAA,EAC/C,QAAQ,EAAE,OAAO;AAAA,EACjB,aAAa,UAAU;AAAA,EACvB,iBAAiB,UAAU;AAAA,EAC3B,QAAQ,EAAE,OAAO;AAAA,EACjB,UAAU,EAAE,OAAO;AAAA,EACnB,WAAW,EAAE,OAAO,EAAE,SAAS;AACjC,CAAC;AAEM,SAAS,6BAA6B,QAAoC;AAC/E,MAAI,OAAO,aAAa,UAAa,OAAO,aAAa,GAAI,QAAO,OAAO;AAC3E,QAAM,SAAS,OAAO;AACtB,SAAO,WAAW,MAAM;AAC1B;AAEO,SAAS,uBAAuB,QAAsC;AAC3E,SAAO;AAAA,IACL,QAAQ,OAAO;AAAA,IACf,QAAQ,OAAO;AAAA,IACf,UAAU,6BAA6B,MAAM;AAAA,IAC7C,aAAa,OAAO;AAAA,IACpB,iBAAiB,OAAO;AAAA,IACxB,GAAI,OAAO,cAAc,SAAY,EAAE,WAAW,OAAO,UAAU,IAAI,CAAC;AAAA,EAC1E;AACF;AAEO,SAAS,yBAAyB,QAAwD;AAC/F,SAAO,uBAAuB,0BAA0B;AAAA,IACtD,GAAG;AAAA,IACH,UAAU,6BAA6B,MAAM;AAAA,EAC/C,CAAC;AACH;AAEO,SAAS,4BAA4B,OAAoD;AAC9F,SAAO,gBAAgB,OAAO;AAAA,IAC5B,QAAQ;AAAA,MACN,eAAe;AAAA,MACf,mBAAmB;AAAA,MACnB,cAAc;AAAA,MACd,SAAS;AAAA,IACX;AAAA,IACA,WAAW;AAAA,MACT,SAAS,CAAC,MAAgB,OAAO,MAAM,WAAW,IAAI,MAAO;AAAA,IAC/D;AAAA,IACA,MAAM,CAAC,OAAO;AAAA,EAChB,CAAC;AACH;","names":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import {
|
|
2
|
+
MinIOConfigSchema,
|
|
3
|
+
minioToS3Config,
|
|
4
|
+
normalizeMinIOConfig,
|
|
5
|
+
redactMinIOConfig
|
|
6
|
+
} from "./chunk-DYXEITK3.js";
|
|
7
|
+
export {
|
|
8
|
+
MinIOConfigSchema,
|
|
9
|
+
minioToS3Config,
|
|
10
|
+
normalizeMinIOConfig,
|
|
11
|
+
redactMinIOConfig
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=config-34LHOGLM.js.map
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
|
+
EmailConfigSchema,
|
|
2
3
|
buildEmailConfig,
|
|
3
4
|
normalizeEmailConfig,
|
|
4
5
|
redactEmailConfig
|
|
5
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-B2ZOKNN4.js";
|
|
6
7
|
export {
|
|
8
|
+
EmailConfigSchema,
|
|
7
9
|
buildEmailConfig,
|
|
8
10
|
normalizeEmailConfig,
|
|
9
11
|
redactEmailConfig
|
|
10
12
|
};
|
|
11
|
-
//# sourceMappingURL=config-
|
|
13
|
+
//# sourceMappingURL=config-3IVQJBNW.js.map
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import {
|
|
2
|
+
HF_ENDPOINT,
|
|
3
|
+
HfBucketsConfigSchema,
|
|
4
|
+
HfRepoConfigSchema,
|
|
5
|
+
assertHfRepoId,
|
|
6
|
+
normalizeHfBucketsConfig,
|
|
7
|
+
normalizeHfRepoConfig,
|
|
8
|
+
redactHfBucketsConfig,
|
|
9
|
+
redactHfRepoConfig
|
|
10
|
+
} from "./chunk-EGB7V74Z.js";
|
|
11
|
+
export {
|
|
12
|
+
HF_ENDPOINT,
|
|
13
|
+
HfBucketsConfigSchema,
|
|
14
|
+
HfRepoConfigSchema,
|
|
15
|
+
assertHfRepoId,
|
|
16
|
+
normalizeHfBucketsConfig,
|
|
17
|
+
normalizeHfRepoConfig,
|
|
18
|
+
redactHfBucketsConfig,
|
|
19
|
+
redactHfRepoConfig
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=config-CVZ2AGCO.js.map
|