@struktoai/mirage-node 0.0.3 → 0.0.5-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/dist/aliyun-S62BR3TB.js +11 -0
- package/dist/append.lua +17 -0
- package/dist/backblaze-4EKSW63F.js +11 -0
- package/dist/box-ZPLZAGMK.js +8 -0
- package/dist/cas.lua +15 -0
- package/dist/ceph-ALKLD3MO.js +11 -0
- package/dist/{chunk-QCZ2XUKH.js → chunk-2A4YGVBM.js} +16 -23
- package/dist/chunk-2A4YGVBM.js.map +1 -0
- package/dist/chunk-2HCYLVGY.js +28 -0
- package/dist/chunk-2HCYLVGY.js.map +1 -0
- package/dist/chunk-2VPZAH5Q.js +20 -0
- package/dist/chunk-2VPZAH5Q.js.map +1 -0
- package/dist/{chunk-UT2OPSN4.js → chunk-3JZQ6VSZ.js} +5 -5
- package/dist/chunk-3JZQ6VSZ.js.map +1 -0
- package/dist/chunk-4IF4TGAI.js +11 -0
- package/dist/chunk-4IF4TGAI.js.map +1 -0
- package/dist/{chunk-47AVIIOT.js → chunk-5H6KNEPP.js} +4 -5
- package/dist/{chunk-47AVIIOT.js.map → chunk-5H6KNEPP.js.map} +1 -1
- package/dist/{chunk-I5THIMPP.js → chunk-5K2MWDCE.js} +6 -7
- package/dist/{chunk-I5THIMPP.js.map → chunk-5K2MWDCE.js.map} +1 -1
- package/dist/{chunk-3WIO7NBR.js → chunk-6SVXWRKX.js} +4 -5
- package/dist/{chunk-3WIO7NBR.js.map → chunk-6SVXWRKX.js.map} +1 -1
- package/dist/{chunk-RQK5UPMP.js → chunk-6VOIUGAD.js} +25 -12
- package/dist/chunk-6VOIUGAD.js.map +1 -0
- package/dist/{chunk-NOHWIBRX.js → chunk-7JYHFXXC.js} +15 -20
- package/dist/chunk-7JYHFXXC.js.map +1 -0
- package/dist/chunk-7VQQFWV6.js +20 -0
- package/dist/chunk-7VQQFWV6.js.map +1 -0
- package/dist/chunk-7ZP6TPHX.js +87 -0
- package/dist/chunk-7ZP6TPHX.js.map +1 -0
- package/dist/{chunk-SWCDFEUK.js → chunk-ADEXNSYU.js} +20 -22
- package/dist/chunk-ADEXNSYU.js.map +1 -0
- package/dist/chunk-AQSYAXL4.js +16 -0
- package/dist/chunk-AQSYAXL4.js.map +1 -0
- package/dist/{chunk-RO5IQEDQ.js → chunk-ATLXMNKD.js} +8 -4
- package/dist/chunk-ATLXMNKD.js.map +1 -0
- package/dist/{chunk-MPCCRRE6.js → chunk-BYCUGFRF.js} +16 -16
- package/dist/chunk-BYCUGFRF.js.map +1 -0
- package/dist/{chunk-HJJMP6IX.js → chunk-BZTVYOES.js} +3 -3
- package/dist/{chunk-B2ZOKNN4.js → chunk-CRC4YWXB.js} +27 -9
- package/dist/chunk-CRC4YWXB.js.map +1 -0
- package/dist/chunk-CTGXJHO5.js +39 -0
- package/dist/chunk-CTGXJHO5.js.map +1 -0
- package/dist/{chunk-Q2IAILVC.js → chunk-DCDBIXVZ.js} +14 -5
- package/dist/chunk-DCDBIXVZ.js.map +1 -0
- package/dist/chunk-DDAFNROK.js +750 -0
- package/dist/chunk-DDAFNROK.js.map +1 -0
- package/dist/chunk-DQIEWEAW.js +85 -0
- package/dist/chunk-DQIEWEAW.js.map +1 -0
- package/dist/{chunk-QGRDPSAH.js → chunk-EBI4IHDC.js} +23 -12
- package/dist/chunk-EBI4IHDC.js.map +1 -0
- package/dist/{chunk-JAGJTM3Q.js → chunk-EIUTZ6N7.js} +19 -34
- package/dist/chunk-EIUTZ6N7.js.map +1 -0
- package/dist/{chunk-TA3WMOMU.js → chunk-EJZG5VUF.js} +38 -32
- package/dist/chunk-EJZG5VUF.js.map +1 -0
- package/dist/{chunk-X5HF2OFP.js → chunk-ENW5BVYN.js} +3 -3
- package/dist/{chunk-HGCRXJGP.js → chunk-ETIAW4YD.js} +3 -3
- package/dist/chunk-EUPXAYPB.js +20 -0
- package/dist/chunk-EUPXAYPB.js.map +1 -0
- package/dist/{chunk-YAHRT6MB.js → chunk-FA6YNU75.js} +4 -5
- package/dist/{chunk-YAHRT6MB.js.map → chunk-FA6YNU75.js.map} +1 -1
- package/dist/{chunk-TWGVQLG2.js → chunk-FFH6R5VQ.js} +7 -3
- package/dist/chunk-FFH6R5VQ.js.map +1 -0
- package/dist/{chunk-JCC4CU2I.js → chunk-GE6H2COM.js} +15 -23
- package/dist/chunk-GE6H2COM.js.map +1 -0
- package/dist/{chunk-DM4GSE26.js → chunk-GMMQ3ZK4.js} +3 -3
- package/dist/{chunk-ZEGAMJO2.js → chunk-GSGE3M5P.js} +15 -23
- package/dist/chunk-GSGE3M5P.js.map +1 -0
- package/dist/{chunk-GCFYZSVR.js → chunk-H64SB6VO.js} +32 -13
- package/dist/chunk-H64SB6VO.js.map +1 -0
- package/dist/{chunk-N5FSLVKO.js → chunk-HCRYAFBI.js} +3 -3
- package/dist/{chunk-IDYHQQOH.js → chunk-HOPUP6LA.js} +358 -471
- package/dist/chunk-HOPUP6LA.js.map +1 -0
- package/dist/chunk-HS24BL6W.js +160 -0
- package/dist/chunk-HS24BL6W.js.map +1 -0
- package/dist/chunk-HVYVG5KQ.js +16 -0
- package/dist/chunk-HVYVG5KQ.js.map +1 -0
- package/dist/{chunk-FQ33BYFR.js → chunk-I7CPLZNW.js} +4 -5
- package/dist/{chunk-FQ33BYFR.js.map → chunk-I7CPLZNW.js.map} +1 -1
- package/dist/{chunk-VGLHY6BK.js → chunk-IFUCGI4I.js} +7 -3
- package/dist/chunk-IFUCGI4I.js.map +1 -0
- package/dist/{chunk-RNQN2FOU.js → chunk-IFYXSSKR.js} +24 -13
- package/dist/chunk-IFYXSSKR.js.map +1 -0
- package/dist/chunk-IXA4DQE4.js +20 -0
- package/dist/chunk-IXA4DQE4.js.map +1 -0
- package/dist/chunk-IZMKMD3O.js +11 -0
- package/dist/chunk-IZMKMD3O.js.map +1 -0
- package/dist/{chunk-7CW3BMPH.js → chunk-JJERW2BI.js} +4 -5
- package/dist/{chunk-7CW3BMPH.js.map → chunk-JJERW2BI.js.map} +1 -1
- package/dist/{chunk-EM4J5EQS.js → chunk-JQR4HVUX.js} +13 -16
- package/dist/chunk-JQR4HVUX.js.map +1 -0
- package/dist/{chunk-VWKUT4CW.js → chunk-JXOMDLFS.js} +21 -26
- package/dist/chunk-JXOMDLFS.js.map +1 -0
- package/dist/chunk-KIX6N7NT.js +1001 -0
- package/dist/chunk-KIX6N7NT.js.map +1 -0
- package/dist/{chunk-OZAEWZZ3.js → chunk-L42UTDFK.js} +12 -3
- package/dist/chunk-L42UTDFK.js.map +1 -0
- package/dist/{chunk-54NTYJEO.js → chunk-LPDLPRPS.js} +1 -3
- package/dist/{chunk-54NTYJEO.js.map → chunk-LPDLPRPS.js.map} +1 -1
- package/dist/chunk-M2UF2JHJ.js +11 -0
- package/dist/chunk-M2UF2JHJ.js.map +1 -0
- package/dist/{chunk-UGK4TAVK.js → chunk-MONC734W.js} +7 -3
- package/dist/chunk-MONC734W.js.map +1 -0
- package/dist/{chunk-IK2L4EN3.js → chunk-N72RLCMU.js} +4 -5
- package/dist/{chunk-IK2L4EN3.js.map → chunk-N72RLCMU.js.map} +1 -1
- package/dist/{chunk-H3I2KZIY.js → chunk-ND4IWJ4V.js} +7 -3
- package/dist/chunk-ND4IWJ4V.js.map +1 -0
- package/dist/chunk-NZ3EKGW4.js +1312 -0
- package/dist/chunk-NZ3EKGW4.js.map +1 -0
- package/dist/{chunk-XGJ2QERC.js → chunk-OAE57MNL.js} +27 -11
- package/dist/chunk-OAE57MNL.js.map +1 -0
- package/dist/{chunk-EZQ5HBAC.js → chunk-OHKGIQB4.js} +12 -16
- package/dist/chunk-OHKGIQB4.js.map +1 -0
- package/dist/{chunk-E2ISWXLB.js → chunk-OQKNDS66.js} +1 -1
- package/dist/{chunk-E2ISWXLB.js.map → chunk-OQKNDS66.js.map} +1 -1
- package/dist/{chunk-UINQOUZR.js → chunk-OXEQSPND.js} +3 -3
- package/dist/{chunk-A7IVFIOP.js → chunk-PKNE5J2B.js} +15 -23
- package/dist/chunk-PKNE5J2B.js.map +1 -0
- package/dist/chunk-PSXXEGYQ.js +16 -0
- package/dist/chunk-PSXXEGYQ.js.map +1 -0
- package/dist/{chunk-EGB7V74Z.js → chunk-QAOVABCR.js} +7 -4
- package/dist/chunk-QAOVABCR.js.map +1 -0
- package/dist/{chunk-X3G37FXT.js → chunk-QQ7FP4GD.js} +4 -5
- package/dist/{chunk-X3G37FXT.js.map → chunk-QQ7FP4GD.js.map} +1 -1
- package/dist/{chunk-WAR4Q2NM.js → chunk-QYLVMC6B.js} +13 -15
- package/dist/chunk-QYLVMC6B.js.map +1 -0
- package/dist/{chunk-KPULTUOK.js → chunk-RX3XR65X.js} +4 -5
- package/dist/{chunk-KPULTUOK.js.map → chunk-RX3XR65X.js.map} +1 -1
- package/dist/chunk-RYQJJB4C.js +30 -0
- package/dist/chunk-RYQJJB4C.js.map +1 -0
- package/dist/{chunk-QQBJC2FQ.js → chunk-TUF7TCN7.js} +4 -5
- package/dist/{chunk-QQBJC2FQ.js.map → chunk-TUF7TCN7.js.map} +1 -1
- package/dist/{chunk-AUHSTJJ3.js → chunk-TUX36JY5.js} +4 -5
- package/dist/{chunk-AUHSTJJ3.js.map → chunk-TUX36JY5.js.map} +1 -1
- package/dist/chunk-TWRQCQWU.js +1153 -0
- package/dist/chunk-TWRQCQWU.js.map +1 -0
- package/dist/chunk-U6DFQRG3.js +20 -0
- package/dist/chunk-U6DFQRG3.js.map +1 -0
- package/dist/chunk-VI5YTKNY.js +20 -0
- package/dist/chunk-VI5YTKNY.js.map +1 -0
- package/dist/chunk-WG5YS6TC.js +872 -0
- package/dist/chunk-WG5YS6TC.js.map +1 -0
- package/dist/{chunk-ZGSER5TG.js → chunk-WMJJ4WGF.js} +4 -5
- package/dist/{chunk-ZGSER5TG.js.map → chunk-WMJJ4WGF.js.map} +1 -1
- package/dist/{chunk-LV2G7VHL.js → chunk-WY4FNH42.js} +21 -18
- package/dist/chunk-WY4FNH42.js.map +1 -0
- package/dist/{chunk-LAJJPLEV.js → chunk-XIG5BWWH.js} +25 -12
- package/dist/chunk-XIG5BWWH.js.map +1 -0
- package/dist/chunk-XJBC3OYX.js +11 -0
- package/dist/chunk-XJBC3OYX.js.map +1 -0
- package/dist/{chunk-G2WCEUQL.js → chunk-XPRDXWK7.js} +21 -20
- package/dist/chunk-XPRDXWK7.js.map +1 -0
- package/dist/chunk-YKRQSZS7.js +96 -0
- package/dist/chunk-YKRQSZS7.js.map +1 -0
- package/dist/{chunk-M5FVUIYP.js → chunk-YMBL3VJB.js} +21 -19
- package/dist/chunk-YMBL3VJB.js.map +1 -0
- package/dist/chunk-YUJBXFYK.js +1205 -0
- package/dist/chunk-YUJBXFYK.js.map +1 -0
- package/dist/{chunk-JALIYI6M.js → chunk-YZ4ZJNOL.js} +28 -11
- package/dist/chunk-YZ4ZJNOL.js.map +1 -0
- package/dist/chunk-ZTHVEXIV.js +11 -0
- package/dist/chunk-ZTHVEXIV.js.map +1 -0
- package/dist/{chunk-GS5AUKUO.js → chunk-ZVSYUCYS.js} +11 -7
- package/dist/chunk-ZVSYUCYS.js.map +1 -0
- package/dist/{config-QAA646XB.js → config-2YBCHU2W.js} +2 -4
- package/dist/{config-IVY5EQQ2.js → config-3YRGRW72.js} +3 -4
- package/dist/config-4GSOMUMF.js +9 -0
- package/dist/config-5YBUWFUP.js +9 -0
- package/dist/{config-34LHOGLM.js → config-5ZRKJTKG.js} +3 -4
- package/dist/config-A25LTL5W.js +11 -0
- package/dist/config-CLU7JABG.js +9 -0
- package/dist/config-D2RF7L3N.js +9 -0
- package/dist/{config-LHFFXVYI.js → config-E55TKM6K.js} +2 -4
- package/dist/config-ELDOFRJW.js +9 -0
- package/dist/{config-GE4W4ZJC.js → config-FPC3RBFD.js} +2 -4
- package/dist/config-FPM3LAW7.js +9 -0
- package/dist/{config-HKRMKD76.js → config-G3F54CS4.js} +3 -4
- package/dist/config-G43HRUI3.js +9 -0
- package/dist/{config-WDAZFXYD.js → config-GG3WO5PB.js} +3 -4
- package/dist/config-JUYBWAZE.js +9 -0
- package/dist/{config-CVZ2AGCO.js → config-LJ5T6TVA.js} +2 -6
- package/dist/config-MDSAE4O3.js +11 -0
- package/dist/{config-EIHSP5DZ.js → config-NRIOKK5T.js} +2 -4
- package/dist/config-OYK2BSJK.js +9 -0
- package/dist/config-PB3KA2CE.js +9 -0
- package/dist/{config-ZFJYQZCH.js → config-QY4IL3PH.js} +3 -4
- package/dist/config-R4LAOEDS.js +9 -0
- package/dist/{config-QNMKWJ4M.js → config-RIAAD6RW.js} +3 -4
- package/dist/config-SYNEQAUB.js +9 -0
- package/dist/{config-Q45Y46YT.js → config-TJKGYA2B.js} +3 -4
- package/dist/{config-NV5WXP64.js → config-UU27ALAA.js} +2 -4
- package/dist/{config-3IVQJBNW.js → config-UURRGA7U.js} +2 -2
- package/dist/{config-VM526IKB.js → config-VPLHQXVE.js} +2 -4
- package/dist/config-WRACCRPN.js +9 -0
- package/dist/{config-GHRUKEQ6.js → config-WVHKXEVE.js} +3 -4
- package/dist/{config-EO23EY62.js → config-XU7R36IE.js} +3 -4
- package/dist/config-Y2KOUYSS.js +9 -0
- package/dist/databricks_volume-CNCPTZHS.js +7 -0
- package/dist/digitalocean-DJZOUB6Q.js +11 -0
- package/dist/discord-ETB2CADR.js +7 -0
- package/dist/disk-WEHSTK3F.js +7 -0
- package/dist/dropbox-XN6PGLNE.js +8 -0
- package/dist/email-OV7XCP3T.js +8 -0
- package/dist/gcal-P56MRCGU.js +8 -0
- package/dist/gcs-HFBIAE2C.js +10 -0
- package/dist/gdocs-LQ3UXP3J.js +8 -0
- package/dist/gdrive-N6UBYLON.js +8 -0
- package/dist/github-BPZREGPI.js +8 -0
- package/dist/github_ci-7A4LUIZ7.js +8 -0
- package/dist/gmail-YED2MF6H.js +8 -0
- package/dist/gridfs-CPLQ4G62.js +9 -0
- package/dist/gsheets-4BNIJPQ6.js +8 -0
- package/dist/gslides-GDBYLO5A.js +8 -0
- package/dist/hf_buckets-FTJITQ3P.js +10 -0
- package/dist/hf_datasets-6GXVKQD7.js +10 -0
- package/dist/hf_models-PJPGZAC5.js +10 -0
- package/dist/hf_spaces-LFNFOLBF.js +10 -0
- package/dist/index.d.ts +1311 -569
- package/dist/index.js +3359 -964
- package/dist/index.js.map +1 -1
- package/dist/jaeger-GCA6MJ6E.js +8 -0
- package/dist/lancedb-TJ5YSJY5.js +7 -0
- package/dist/langfuse-RUMTUMXS.js +8 -0
- package/dist/linear-BCE4KEAC.js +7 -0
- package/dist/minio-5SO6KBTK.js +11 -0
- package/dist/mongodb-L5CMN2EE.js +7 -0
- package/dist/nextcloud-4O2LZVW2.js +9 -0
- package/dist/notion-RVKEAQ2M.js +7 -0
- package/dist/oci-OQXOIC62.js +10 -0
- package/dist/postgres-AV45GNRS.js +7 -0
- package/dist/qingstor-W277YA4K.js +11 -0
- package/dist/r2-FUA4IORE.js +10 -0
- package/dist/redis-LPS357NF.js +8 -0
- package/dist/s3-FPNWWIVM.js +8 -0
- package/dist/scaleway-BP3732U7.js +11 -0
- package/dist/seaweedfs-MC6HIEP4.js +11 -0
- package/dist/slack-JFGW7VLN.js +7 -0
- package/dist/ssh-UYPG42LM.js +8 -0
- package/dist/ssh-UYPG42LM.js.map +1 -0
- package/dist/supabase-A3KUFMDC.js +10 -0
- package/dist/supabase-A3KUFMDC.js.map +1 -0
- package/dist/tencent-5464UQ2X.js +11 -0
- package/dist/tencent-5464UQ2X.js.map +1 -0
- package/dist/trello-O2KB3FUO.js +8 -0
- package/dist/trello-O2KB3FUO.js.map +1 -0
- package/dist/wasabi-2IKBIWNO.js +10 -0
- package/dist/wasabi-2IKBIWNO.js.map +1 -0
- package/package.json +17 -3
- package/dist/aliyun-JMJ3PFYY.js +0 -10
- package/dist/backblaze-TDFD23QO.js +0 -10
- package/dist/box-GQ2U2R6R.js +0 -8
- package/dist/ceph-S2VOYO6G.js +0 -10
- package/dist/chunk-2CC5VW7K.js +0 -52
- package/dist/chunk-2CC5VW7K.js.map +0 -1
- package/dist/chunk-A7IVFIOP.js.map +0 -1
- package/dist/chunk-B2ZOKNN4.js.map +0 -1
- package/dist/chunk-DNBAMB5J.js +0 -18
- package/dist/chunk-DNBAMB5J.js.map +0 -1
- package/dist/chunk-DP2PP5V2.js +0 -26
- package/dist/chunk-DP2PP5V2.js.map +0 -1
- package/dist/chunk-DYXEITK3.js +0 -52
- package/dist/chunk-DYXEITK3.js.map +0 -1
- package/dist/chunk-EGB7V74Z.js.map +0 -1
- package/dist/chunk-EM4J5EQS.js.map +0 -1
- package/dist/chunk-EZQ5HBAC.js.map +0 -1
- package/dist/chunk-G2WCEUQL.js.map +0 -1
- package/dist/chunk-GCFYZSVR.js.map +0 -1
- package/dist/chunk-GS5AUKUO.js.map +0 -1
- package/dist/chunk-H3BST2LI.js +0 -26
- package/dist/chunk-H3BST2LI.js.map +0 -1
- package/dist/chunk-H3I2KZIY.js.map +0 -1
- package/dist/chunk-IDYHQQOH.js.map +0 -1
- package/dist/chunk-JAGJTM3Q.js.map +0 -1
- package/dist/chunk-JALIYI6M.js.map +0 -1
- package/dist/chunk-JCC4CU2I.js.map +0 -1
- package/dist/chunk-JZT4QGIP.js +0 -24
- package/dist/chunk-JZT4QGIP.js.map +0 -1
- package/dist/chunk-LAJJPLEV.js.map +0 -1
- package/dist/chunk-LV2G7VHL.js.map +0 -1
- package/dist/chunk-LW25LMIH.js +0 -26
- package/dist/chunk-LW25LMIH.js.map +0 -1
- package/dist/chunk-M5FVUIYP.js.map +0 -1
- package/dist/chunk-MPCCRRE6.js.map +0 -1
- package/dist/chunk-NJMGCT63.js +0 -54
- package/dist/chunk-NJMGCT63.js.map +0 -1
- package/dist/chunk-NOHWIBRX.js.map +0 -1
- package/dist/chunk-OHROA3FQ.js +0 -54
- package/dist/chunk-OHROA3FQ.js.map +0 -1
- package/dist/chunk-OPYQ5KIO.js +0 -52
- package/dist/chunk-OPYQ5KIO.js.map +0 -1
- package/dist/chunk-OZAEWZZ3.js.map +0 -1
- package/dist/chunk-Q2IAILVC.js.map +0 -1
- package/dist/chunk-QCZ2XUKH.js.map +0 -1
- package/dist/chunk-QGRDPSAH.js.map +0 -1
- package/dist/chunk-RNQN2FOU.js.map +0 -1
- package/dist/chunk-RO5IQEDQ.js.map +0 -1
- package/dist/chunk-RQK5UPMP.js.map +0 -1
- package/dist/chunk-S5OVP467.js +0 -1795
- package/dist/chunk-S5OVP467.js.map +0 -1
- package/dist/chunk-SFUCUARB.js +0 -21
- package/dist/chunk-SFUCUARB.js.map +0 -1
- package/dist/chunk-SWCDFEUK.js.map +0 -1
- package/dist/chunk-TA3WMOMU.js.map +0 -1
- package/dist/chunk-TURD42QO.js +0 -1782
- package/dist/chunk-TURD42QO.js.map +0 -1
- package/dist/chunk-TWGVQLG2.js.map +0 -1
- package/dist/chunk-U6QSXTUS.js +0 -7
- package/dist/chunk-U6QSXTUS.js.map +0 -1
- package/dist/chunk-UGK4TAVK.js.map +0 -1
- package/dist/chunk-UT2OPSN4.js.map +0 -1
- package/dist/chunk-VGLHY6BK.js.map +0 -1
- package/dist/chunk-VWKUT4CW.js.map +0 -1
- package/dist/chunk-W7FLHT65.js +0 -26
- package/dist/chunk-W7FLHT65.js.map +0 -1
- package/dist/chunk-WAR4Q2NM.js.map +0 -1
- package/dist/chunk-WHFUWWI6.js +0 -2097
- package/dist/chunk-WHFUWWI6.js.map +0 -1
- package/dist/chunk-XGJ2QERC.js.map +0 -1
- package/dist/chunk-XHCBHYN4.js +0 -54
- package/dist/chunk-XHCBHYN4.js.map +0 -1
- package/dist/chunk-XLQI4IT2.js +0 -54
- package/dist/chunk-XLQI4IT2.js.map +0 -1
- package/dist/chunk-XWVDS66D.js +0 -963
- package/dist/chunk-XWVDS66D.js.map +0 -1
- package/dist/chunk-YGZMVNN5.js +0 -54
- package/dist/chunk-YGZMVNN5.js.map +0 -1
- package/dist/chunk-YUK3X3B4.js +0 -27
- package/dist/chunk-YUK3X3B4.js.map +0 -1
- package/dist/chunk-ZEGAMJO2.js.map +0 -1
- package/dist/chunk-ZNWVJ6UW.js +0 -54
- package/dist/chunk-ZNWVJ6UW.js.map +0 -1
- package/dist/config-3BBWD5AB.js +0 -11
- package/dist/config-4UDVSUQJ.js +0 -11
- package/dist/config-CMDBAPDH.js +0 -11
- package/dist/config-D3RLSPNF.js +0 -11
- package/dist/config-DG65OEG3.js +0 -11
- package/dist/config-GCQK6NJY.js +0 -11
- package/dist/config-GVH27UPE.js +0 -11
- package/dist/config-HXVYIXP5.js +0 -11
- package/dist/config-IDZMEW73.js +0 -11
- package/dist/config-IJJXGLBQ.js +0 -11
- package/dist/config-KJOLGVB2.js +0 -11
- package/dist/config-KMVCVBYN.js +0 -15
- package/dist/config-KYTRXAB2.js +0 -15
- package/dist/config-OT2TQQCN.js +0 -11
- package/dist/config-QWCY3LBQ.js +0 -11
- package/dist/config-ZV6G2ZEC.js +0 -11
- package/dist/databricks_volume-7XOUYSTY.js +0 -7
- package/dist/digitalocean-3CQ4CPPZ.js +0 -10
- package/dist/discord-BG7OSRJG.js +0 -8
- package/dist/disk-XVLBCVKE.js +0 -8
- package/dist/dropbox-74GYLV3R.js +0 -8
- package/dist/email-5IZ7OBQ4.js +0 -8
- package/dist/gcs-EMEYU2XT.js +0 -10
- package/dist/gdocs-R67TDPON.js +0 -8
- package/dist/gdrive-PRN2ALRK.js +0 -8
- package/dist/github-DV7E6OFV.js +0 -8
- package/dist/github_ci-Q554V5PA.js +0 -8
- package/dist/gmail-OLN2LT4O.js +0 -8
- package/dist/gsheets-H4RYMQJ5.js +0 -8
- package/dist/gslides-YLCHKJOM.js +0 -8
- package/dist/hf_buckets-DTKXKKFF.js +0 -10
- package/dist/hf_datasets-55C4APKR.js +0 -10
- package/dist/hf_models-RO5JR36V.js +0 -10
- package/dist/hf_spaces-ZVZ3EDRX.js +0 -10
- package/dist/langfuse-ACASJZ7O.js +0 -8
- package/dist/linear-IC37LZV7.js +0 -8
- package/dist/minio-HZ576XFQ.js +0 -10
- package/dist/mongodb-JVR62OIO.js +0 -7
- package/dist/notion-HKRPQMJS.js +0 -8
- package/dist/oci-ZLVECXTW.js +0 -10
- package/dist/postgres-P36Z2YN4.js +0 -7
- package/dist/qingstor-YLP6K3L4.js +0 -10
- package/dist/r2-RPK25ANI.js +0 -10
- package/dist/redis-V5ULXULL.js +0 -8
- package/dist/s3-4OIOCAAT.js +0 -8
- package/dist/scaleway-CCWCLUHB.js +0 -10
- package/dist/seaweedfs-QSWKF2FN.js +0 -10
- package/dist/slack-YPS7PII3.js +0 -8
- package/dist/ssh-YFP3SMTJ.js +0 -9
- package/dist/supabase-6CFTOKGZ.js +0 -10
- package/dist/tencent-IWZZOSQ4.js +0 -10
- package/dist/trello-XYKWZD6P.js +0 -8
- package/dist/wasabi-6Z4DC5S5.js +0 -10
- /package/dist/{aliyun-JMJ3PFYY.js.map → aliyun-S62BR3TB.js.map} +0 -0
- /package/dist/{backblaze-TDFD23QO.js.map → backblaze-4EKSW63F.js.map} +0 -0
- /package/dist/{box-GQ2U2R6R.js.map → box-ZPLZAGMK.js.map} +0 -0
- /package/dist/{ceph-S2VOYO6G.js.map → ceph-ALKLD3MO.js.map} +0 -0
- /package/dist/{chunk-HJJMP6IX.js.map → chunk-BZTVYOES.js.map} +0 -0
- /package/dist/{chunk-X5HF2OFP.js.map → chunk-ENW5BVYN.js.map} +0 -0
- /package/dist/{chunk-HGCRXJGP.js.map → chunk-ETIAW4YD.js.map} +0 -0
- /package/dist/{chunk-DM4GSE26.js.map → chunk-GMMQ3ZK4.js.map} +0 -0
- /package/dist/{chunk-N5FSLVKO.js.map → chunk-HCRYAFBI.js.map} +0 -0
- /package/dist/{chunk-UINQOUZR.js.map → chunk-OXEQSPND.js.map} +0 -0
- /package/dist/{config-34LHOGLM.js.map → config-2YBCHU2W.js.map} +0 -0
- /package/dist/{config-3BBWD5AB.js.map → config-3YRGRW72.js.map} +0 -0
- /package/dist/{config-3IVQJBNW.js.map → config-4GSOMUMF.js.map} +0 -0
- /package/dist/{config-4UDVSUQJ.js.map → config-5YBUWFUP.js.map} +0 -0
- /package/dist/{config-CMDBAPDH.js.map → config-5ZRKJTKG.js.map} +0 -0
- /package/dist/{config-CVZ2AGCO.js.map → config-A25LTL5W.js.map} +0 -0
- /package/dist/{config-D3RLSPNF.js.map → config-CLU7JABG.js.map} +0 -0
- /package/dist/{config-DG65OEG3.js.map → config-D2RF7L3N.js.map} +0 -0
- /package/dist/{config-EIHSP5DZ.js.map → config-E55TKM6K.js.map} +0 -0
- /package/dist/{config-EO23EY62.js.map → config-ELDOFRJW.js.map} +0 -0
- /package/dist/{config-GCQK6NJY.js.map → config-FPC3RBFD.js.map} +0 -0
- /package/dist/{config-GE4W4ZJC.js.map → config-FPM3LAW7.js.map} +0 -0
- /package/dist/{config-GHRUKEQ6.js.map → config-G3F54CS4.js.map} +0 -0
- /package/dist/{config-GVH27UPE.js.map → config-G43HRUI3.js.map} +0 -0
- /package/dist/{config-HKRMKD76.js.map → config-GG3WO5PB.js.map} +0 -0
- /package/dist/{config-HXVYIXP5.js.map → config-JUYBWAZE.js.map} +0 -0
- /package/dist/{config-IDZMEW73.js.map → config-LJ5T6TVA.js.map} +0 -0
- /package/dist/{config-IJJXGLBQ.js.map → config-MDSAE4O3.js.map} +0 -0
- /package/dist/{config-IVY5EQQ2.js.map → config-NRIOKK5T.js.map} +0 -0
- /package/dist/{config-KJOLGVB2.js.map → config-OYK2BSJK.js.map} +0 -0
- /package/dist/{config-KMVCVBYN.js.map → config-PB3KA2CE.js.map} +0 -0
- /package/dist/{config-KYTRXAB2.js.map → config-QY4IL3PH.js.map} +0 -0
- /package/dist/{config-LHFFXVYI.js.map → config-R4LAOEDS.js.map} +0 -0
- /package/dist/{config-NV5WXP64.js.map → config-RIAAD6RW.js.map} +0 -0
- /package/dist/{config-OT2TQQCN.js.map → config-SYNEQAUB.js.map} +0 -0
- /package/dist/{config-Q45Y46YT.js.map → config-TJKGYA2B.js.map} +0 -0
- /package/dist/{config-QAA646XB.js.map → config-UU27ALAA.js.map} +0 -0
- /package/dist/{config-QNMKWJ4M.js.map → config-UURRGA7U.js.map} +0 -0
- /package/dist/{config-QWCY3LBQ.js.map → config-VPLHQXVE.js.map} +0 -0
- /package/dist/{config-VM526IKB.js.map → config-WRACCRPN.js.map} +0 -0
- /package/dist/{config-WDAZFXYD.js.map → config-WVHKXEVE.js.map} +0 -0
- /package/dist/{config-ZFJYQZCH.js.map → config-XU7R36IE.js.map} +0 -0
- /package/dist/{config-ZV6G2ZEC.js.map → config-Y2KOUYSS.js.map} +0 -0
- /package/dist/{databricks_volume-7XOUYSTY.js.map → databricks_volume-CNCPTZHS.js.map} +0 -0
- /package/dist/{digitalocean-3CQ4CPPZ.js.map → digitalocean-DJZOUB6Q.js.map} +0 -0
- /package/dist/{discord-BG7OSRJG.js.map → discord-ETB2CADR.js.map} +0 -0
- /package/dist/{disk-XVLBCVKE.js.map → disk-WEHSTK3F.js.map} +0 -0
- /package/dist/{dropbox-74GYLV3R.js.map → dropbox-XN6PGLNE.js.map} +0 -0
- /package/dist/{email-5IZ7OBQ4.js.map → email-OV7XCP3T.js.map} +0 -0
- /package/dist/{gcs-EMEYU2XT.js.map → gcal-P56MRCGU.js.map} +0 -0
- /package/dist/{gdocs-R67TDPON.js.map → gcs-HFBIAE2C.js.map} +0 -0
- /package/dist/{gdrive-PRN2ALRK.js.map → gdocs-LQ3UXP3J.js.map} +0 -0
- /package/dist/{github-DV7E6OFV.js.map → gdrive-N6UBYLON.js.map} +0 -0
- /package/dist/{github_ci-Q554V5PA.js.map → github-BPZREGPI.js.map} +0 -0
- /package/dist/{gmail-OLN2LT4O.js.map → github_ci-7A4LUIZ7.js.map} +0 -0
- /package/dist/{gsheets-H4RYMQJ5.js.map → gmail-YED2MF6H.js.map} +0 -0
- /package/dist/{gslides-YLCHKJOM.js.map → gridfs-CPLQ4G62.js.map} +0 -0
- /package/dist/{hf_buckets-DTKXKKFF.js.map → gsheets-4BNIJPQ6.js.map} +0 -0
- /package/dist/{hf_datasets-55C4APKR.js.map → gslides-GDBYLO5A.js.map} +0 -0
- /package/dist/{hf_models-RO5JR36V.js.map → hf_buckets-FTJITQ3P.js.map} +0 -0
- /package/dist/{hf_spaces-ZVZ3EDRX.js.map → hf_datasets-6GXVKQD7.js.map} +0 -0
- /package/dist/{langfuse-ACASJZ7O.js.map → hf_models-PJPGZAC5.js.map} +0 -0
- /package/dist/{linear-IC37LZV7.js.map → hf_spaces-LFNFOLBF.js.map} +0 -0
- /package/dist/{minio-HZ576XFQ.js.map → jaeger-GCA6MJ6E.js.map} +0 -0
- /package/dist/{mongodb-JVR62OIO.js.map → lancedb-TJ5YSJY5.js.map} +0 -0
- /package/dist/{notion-HKRPQMJS.js.map → langfuse-RUMTUMXS.js.map} +0 -0
- /package/dist/{oci-ZLVECXTW.js.map → linear-BCE4KEAC.js.map} +0 -0
- /package/dist/{postgres-P36Z2YN4.js.map → minio-5SO6KBTK.js.map} +0 -0
- /package/dist/{qingstor-YLP6K3L4.js.map → mongodb-L5CMN2EE.js.map} +0 -0
- /package/dist/{r2-RPK25ANI.js.map → nextcloud-4O2LZVW2.js.map} +0 -0
- /package/dist/{redis-V5ULXULL.js.map → notion-RVKEAQ2M.js.map} +0 -0
- /package/dist/{s3-4OIOCAAT.js.map → oci-OQXOIC62.js.map} +0 -0
- /package/dist/{scaleway-CCWCLUHB.js.map → postgres-AV45GNRS.js.map} +0 -0
- /package/dist/{seaweedfs-QSWKF2FN.js.map → qingstor-W277YA4K.js.map} +0 -0
- /package/dist/{slack-YPS7PII3.js.map → r2-FUA4IORE.js.map} +0 -0
- /package/dist/{ssh-YFP3SMTJ.js.map → redis-LPS357NF.js.map} +0 -0
- /package/dist/{supabase-6CFTOKGZ.js.map → s3-FPNWWIVM.js.map} +0 -0
- /package/dist/{tencent-IWZZOSQ4.js.map → scaleway-BP3732U7.js.map} +0 -0
- /package/dist/{trello-XYKWZD6P.js.map → seaweedfs-MC6HIEP4.js.map} +0 -0
- /package/dist/{wasabi-6Z4DC5S5.js.map → slack-JFGW7VLN.js.map} +0 -0
|
@@ -1,23 +1,25 @@
|
|
|
1
|
-
import {
|
|
2
|
-
redactNotionConfig
|
|
3
|
-
} from "./chunk-JZT4QGIP.js";
|
|
4
|
-
|
|
5
1
|
// src/resource/notion/notion.ts
|
|
6
2
|
import {
|
|
7
3
|
BaseResource,
|
|
8
4
|
HttpNotionTransport,
|
|
9
5
|
NOTION_COMMANDS,
|
|
10
6
|
NOTION_PROMPT,
|
|
11
|
-
|
|
7
|
+
NOTION_OPS,
|
|
12
8
|
NOTION_WRITE_PROMPT,
|
|
13
9
|
NotionAccessor,
|
|
10
|
+
PathSpec,
|
|
11
|
+
ResourceName,
|
|
12
|
+
mountKey,
|
|
13
|
+
mountPrefixOf,
|
|
14
14
|
notionRead,
|
|
15
15
|
notionReaddir,
|
|
16
16
|
notionStat,
|
|
17
|
-
|
|
18
|
-
ResourceName,
|
|
19
|
-
resolveNotionGlob
|
|
17
|
+
makeResolveGlob
|
|
20
18
|
} from "@struktoai/mirage-core";
|
|
19
|
+
import {
|
|
20
|
+
redactNotionConfig
|
|
21
|
+
} from "@struktoai/mirage-core";
|
|
22
|
+
var resolveNotionGlob = makeResolveGlob(notionReaddir);
|
|
21
23
|
var NotionResource = class extends BaseResource {
|
|
22
24
|
kind = ResourceName.NOTION;
|
|
23
25
|
cachesReads = true;
|
|
@@ -36,14 +38,11 @@ var NotionResource = class extends BaseResource {
|
|
|
36
38
|
open() {
|
|
37
39
|
return Promise.resolve();
|
|
38
40
|
}
|
|
39
|
-
close() {
|
|
40
|
-
return Promise.resolve();
|
|
41
|
-
}
|
|
42
41
|
commands() {
|
|
43
42
|
return NOTION_COMMANDS;
|
|
44
43
|
}
|
|
45
44
|
ops() {
|
|
46
|
-
return
|
|
45
|
+
return NOTION_OPS;
|
|
47
46
|
}
|
|
48
47
|
readFile(p) {
|
|
49
48
|
return notionRead(this.accessor, p, this.index);
|
|
@@ -54,18 +53,14 @@ var NotionResource = class extends BaseResource {
|
|
|
54
53
|
stat(p) {
|
|
55
54
|
return notionStat(this.accessor, p, this.index);
|
|
56
55
|
}
|
|
57
|
-
async fingerprint(p) {
|
|
58
|
-
const lookup = await this.index.get(p.original);
|
|
59
|
-
return lookup.entry?.remoteTime ?? null;
|
|
60
|
-
}
|
|
61
56
|
glob(paths, prefix = "") {
|
|
62
57
|
const effective = prefix !== "" ? paths.map(
|
|
63
|
-
(p) => p.
|
|
64
|
-
|
|
58
|
+
(p) => mountPrefixOf(p.virtual, p.resourcePath) !== "" ? p : new PathSpec({
|
|
59
|
+
virtual: p.virtual,
|
|
65
60
|
directory: p.directory,
|
|
66
61
|
...p.pattern !== null ? { pattern: p.pattern } : {},
|
|
67
62
|
resolved: p.resolved,
|
|
68
|
-
prefix
|
|
63
|
+
resourcePath: mountKey(p.virtual, prefix)
|
|
69
64
|
})
|
|
70
65
|
) : paths;
|
|
71
66
|
return resolveNotionGlob(this.accessor, effective, this.index);
|
|
@@ -84,4 +79,4 @@ var NotionResource = class extends BaseResource {
|
|
|
84
79
|
export {
|
|
85
80
|
NotionResource
|
|
86
81
|
};
|
|
87
|
-
//# sourceMappingURL=chunk-
|
|
82
|
+
//# sourceMappingURL=chunk-7JYHFXXC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/resource/notion/notion.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 HttpNotionTransport,\n NOTION_COMMANDS,\n NOTION_PROMPT,\n NOTION_OPS,\n NOTION_WRITE_PROMPT,\n NotionAccessor,\n PathSpec,\n ResourceName,\n mountKey,\n mountPrefixOf,\n notionRead,\n notionReaddir,\n notionStat,\n makeResolveGlob,\n type FileStat,\n type RegisteredCommand,\n type RegisteredOp,\n type Resource,\n} from '@struktoai/mirage-core'\nimport {\n redactNotionConfig,\n type NotionConfig,\n type NotionConfigRedacted,\n} from '@struktoai/mirage-core'\n\nconst resolveNotionGlob = makeResolveGlob<NotionAccessor>(notionReaddir)\n\nexport interface NotionResourceState {\n type: string\n config: NotionConfigRedacted\n}\n\nexport class NotionResource extends BaseResource implements Resource {\n readonly kind: string = ResourceName.NOTION\n readonly cachesReads: boolean = true\n override readonly indexTtl: number = 600\n readonly prompt: string = NOTION_PROMPT\n readonly writePrompt: string = NOTION_WRITE_PROMPT\n readonly config: NotionConfig\n readonly accessor: NotionAccessor\n\n constructor(config: NotionConfig) {\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 NotionAccessor(new HttpNotionTransport(transportOpts))\n }\n\n open(): Promise<void> {\n return Promise.resolve()\n }\n\n commands(): readonly RegisteredCommand[] {\n return NOTION_COMMANDS\n }\n\n ops(): readonly RegisteredOp[] {\n return NOTION_OPS\n }\n\n readFile(p: PathSpec): Promise<Uint8Array> {\n return notionRead(this.accessor, p, this.index)\n }\n\n readdir(p: PathSpec): Promise<string[]> {\n return notionReaddir(this.accessor, p, this.index)\n }\n\n stat(p: PathSpec): Promise<FileStat> {\n return notionStat(this.accessor, p, this.index)\n }\n\n glob(paths: readonly PathSpec[], prefix = ''): Promise<PathSpec[]> {\n const effective =\n prefix !== ''\n ? paths.map((p) =>\n mountPrefixOf(p.virtual, p.resourcePath) !== ''\n ? p\n : new PathSpec({\n virtual: p.virtual,\n directory: p.directory,\n ...(p.pattern !== null ? { pattern: p.pattern } : {}),\n resolved: p.resolved,\n resourcePath: mountKey(p.virtual, prefix),\n }),\n )\n : paths\n return resolveNotionGlob(this.accessor, effective, this.index)\n }\n\n getState(): Promise<NotionResourceState> {\n return Promise.resolve({\n type: this.kind,\n config: redactNotionConfig(this.config),\n })\n }\n\n loadState(_state: NotionResourceState): Promise<void> {\n return Promise.resolve()\n }\n}\n"],"mappings":";AAcA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAKK;AACP;AAAA,EACE;AAAA,OAGK;AAEP,IAAM,oBAAoB,gBAAgC,aAAa;AAOhE,IAAM,iBAAN,cAA6B,aAAiC;AAAA,EAC1D,OAAe,aAAa;AAAA,EAC5B,cAAuB;AAAA,EACd,WAAmB;AAAA,EAC5B,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,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,KAAK,OAA4B,SAAS,IAAyB;AACjE,UAAM,YACJ,WAAW,KACP,MAAM;AAAA,MAAI,CAAC,MACT,cAAc,EAAE,SAAS,EAAE,YAAY,MAAM,KACzC,IACA,IAAI,SAAS;AAAA,QACX,SAAS,EAAE;AAAA,QACX,WAAW,EAAE;AAAA,QACb,GAAI,EAAE,YAAY,OAAO,EAAE,SAAS,EAAE,QAAQ,IAAI,CAAC;AAAA,QACnD,UAAU,EAAE;AAAA,QACZ,cAAc,SAAS,EAAE,SAAS,MAAM;AAAA,MAC1C,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,IACxC,CAAC;AAAA,EACH;AAAA,EAEA,UAAU,QAA4C;AACpD,WAAO,QAAQ,QAAQ;AAAA,EACzB;AACF;","names":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import {
|
|
2
|
+
makeRegionAlias
|
|
3
|
+
} from "./chunk-7ZP6TPHX.js";
|
|
4
|
+
|
|
5
|
+
// src/resource/scaleway/config.ts
|
|
6
|
+
var alias = makeRegionAlias(
|
|
7
|
+
(config) => `https://s3.${config.region}.scw.cloud`
|
|
8
|
+
);
|
|
9
|
+
var resolvedScalewayEndpoint = alias.resolvedEndpoint;
|
|
10
|
+
var scalewayToS3Config = alias.toS3Config;
|
|
11
|
+
var redactScalewayConfig = alias.redact;
|
|
12
|
+
var normalizeScalewayConfig = alias.normalize;
|
|
13
|
+
|
|
14
|
+
export {
|
|
15
|
+
resolvedScalewayEndpoint,
|
|
16
|
+
scalewayToS3Config,
|
|
17
|
+
redactScalewayConfig,
|
|
18
|
+
normalizeScalewayConfig
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=chunk-7VQQFWV6.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 { makeRegionAlias, type S3AliasConfig, type S3AliasConfigRedacted } from '../s3_alias.ts'\n\nexport interface ScalewayConfig extends S3AliasConfig {\n region: string\n}\n\nexport type ScalewayConfigRedacted = S3AliasConfigRedacted\n\nconst alias = makeRegionAlias<ScalewayConfig, ScalewayConfigRedacted>(\n (config) => `https://s3.${config.region}.scw.cloud`,\n)\n\nexport const resolvedScalewayEndpoint = alias.resolvedEndpoint\nexport const scalewayToS3Config = alias.toS3Config\nexport const redactScalewayConfig = alias.redact\nexport const normalizeScalewayConfig = alias.normalize\n"],"mappings":";;;;;AAsBA,IAAM,QAAQ;AAAA,EACZ,CAAC,WAAW,cAAc,OAAO,MAAM;AACzC;AAEO,IAAM,2BAA2B,MAAM;AACvC,IAAM,qBAAqB,MAAM;AACjC,IAAM,uBAAuB,MAAM;AACnC,IAAM,0BAA0B,MAAM;","names":[]}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
// src/resource/s3_alias.ts
|
|
2
|
+
import {
|
|
3
|
+
normalizeFields,
|
|
4
|
+
redactConfigWithSchema,
|
|
5
|
+
secretStr,
|
|
6
|
+
z
|
|
7
|
+
} from "@struktoai/mirage-core";
|
|
8
|
+
var RENAME = {
|
|
9
|
+
access_key_id: "accessKeyId",
|
|
10
|
+
secret_access_key: "secretAccessKey",
|
|
11
|
+
session_token: "sessionToken",
|
|
12
|
+
aws_profile: "profile",
|
|
13
|
+
endpoint_url: "endpoint",
|
|
14
|
+
path_style: "forcePathStyle",
|
|
15
|
+
key_prefix: "keyPrefix",
|
|
16
|
+
timeout: "timeoutMs"
|
|
17
|
+
};
|
|
18
|
+
var TRANSFORM = {
|
|
19
|
+
timeout: (v) => typeof v === "number" ? v * 1e3 : v
|
|
20
|
+
};
|
|
21
|
+
var ALIAS_SCHEMA = z.object({
|
|
22
|
+
bucket: z.string(),
|
|
23
|
+
accessKeyId: secretStr().optional(),
|
|
24
|
+
secretAccessKey: secretStr().optional(),
|
|
25
|
+
sessionToken: secretStr().optional(),
|
|
26
|
+
profile: z.string().optional(),
|
|
27
|
+
region: z.string(),
|
|
28
|
+
endpoint: z.string(),
|
|
29
|
+
forcePathStyle: z.boolean().optional(),
|
|
30
|
+
keyPrefix: z.string().optional(),
|
|
31
|
+
timeoutMs: z.number().optional(),
|
|
32
|
+
proxy: secretStr().optional()
|
|
33
|
+
});
|
|
34
|
+
var optional = (config) => ({
|
|
35
|
+
...config.sessionToken !== void 0 ? { sessionToken: config.sessionToken } : {},
|
|
36
|
+
...config.profile !== void 0 ? { profile: config.profile } : {},
|
|
37
|
+
...config.keyPrefix !== void 0 ? { keyPrefix: config.keyPrefix } : {},
|
|
38
|
+
...config.timeoutMs !== void 0 ? { timeoutMs: config.timeoutMs } : {},
|
|
39
|
+
...config.proxy !== void 0 ? { proxy: config.proxy } : {}
|
|
40
|
+
});
|
|
41
|
+
function makeRegionAlias(endpointFor) {
|
|
42
|
+
const resolvedEndpoint = (config) => config.endpoint !== void 0 && config.endpoint !== "" ? config.endpoint : endpointFor(config);
|
|
43
|
+
return {
|
|
44
|
+
resolvedEndpoint,
|
|
45
|
+
toS3Config: (config) => ({
|
|
46
|
+
bucket: config.bucket,
|
|
47
|
+
region: config.region,
|
|
48
|
+
endpoint: resolvedEndpoint(config),
|
|
49
|
+
...config.accessKeyId !== void 0 ? { accessKeyId: config.accessKeyId } : {},
|
|
50
|
+
...config.secretAccessKey !== void 0 ? { secretAccessKey: config.secretAccessKey } : {},
|
|
51
|
+
...config.forcePathStyle !== void 0 ? { forcePathStyle: config.forcePathStyle } : {},
|
|
52
|
+
...optional(config)
|
|
53
|
+
}),
|
|
54
|
+
redact: (config) => redactConfigWithSchema(ALIAS_SCHEMA, {
|
|
55
|
+
...config,
|
|
56
|
+
endpoint: resolvedEndpoint(config)
|
|
57
|
+
}),
|
|
58
|
+
normalize: (input) => normalizeFields(input, { rename: RENAME, transform: TRANSFORM })
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
function makeFixedAlias() {
|
|
62
|
+
const region = (config) => config.region ?? "us-east-1";
|
|
63
|
+
const pathStyle = (config) => config.forcePathStyle ?? true;
|
|
64
|
+
return {
|
|
65
|
+
toS3Config: (config) => ({
|
|
66
|
+
bucket: config.bucket,
|
|
67
|
+
region: region(config),
|
|
68
|
+
endpoint: config.endpoint,
|
|
69
|
+
...config.accessKeyId !== void 0 ? { accessKeyId: config.accessKeyId } : {},
|
|
70
|
+
...config.secretAccessKey !== void 0 ? { secretAccessKey: config.secretAccessKey } : {},
|
|
71
|
+
forcePathStyle: pathStyle(config),
|
|
72
|
+
...optional(config)
|
|
73
|
+
}),
|
|
74
|
+
redact: (config) => redactConfigWithSchema(ALIAS_SCHEMA, {
|
|
75
|
+
...config,
|
|
76
|
+
region: region(config),
|
|
77
|
+
forcePathStyle: pathStyle(config)
|
|
78
|
+
}),
|
|
79
|
+
normalize: (input) => normalizeFields(input, { rename: RENAME, transform: TRANSFORM })
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export {
|
|
84
|
+
makeRegionAlias,
|
|
85
|
+
makeFixedAlias
|
|
86
|
+
};
|
|
87
|
+
//# sourceMappingURL=chunk-7ZP6TPHX.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/resource/s3_alias.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 type ConfigOf,\n normalizeFields,\n redactConfigWithSchema,\n type RedactedConfig,\n secretStr,\n z,\n} from '@struktoai/mirage-core'\nimport type { S3Config } from './s3/config.ts'\n\n/**\n * Shared shape for the S3-compatible providers.\n *\n * Every alias is the same credentials plus one endpoint rule, so the\n * fields, the zod schema that drives redaction, the snake_case mapping and\n * the conversion to S3Config live here once. A provider declares only its\n * endpoint rule and whatever it genuinely adds. Mirrors Python's\n * `mirage/resource/s3_alias.py`.\n *\n * Only `bucket` and whatever the endpoint genuinely needs are required.\n * Credentials are optional because `S3Config` leaves them optional too, so\n * omitting them falls through to the usual AWS resolution order: `profile`,\n * then the `AWS_ACCESS_KEY_ID` / `AWS_SECRET_ACCESS_KEY` environment\n * variables, then the shared credentials file, then an instance role.\n * `sessionToken` and `profile` live here rather than on the one provider\n * that first needed them, so every alias accepts them.\n */\nexport interface S3AliasConfig {\n bucket: string\n accessKeyId?: string\n secretAccessKey?: string\n sessionToken?: string\n profile?: string\n region?: string\n endpoint?: string\n forcePathStyle?: boolean\n keyPrefix?: string\n timeoutMs?: number\n proxy?: string\n}\n\n// Every provider accepts the same snake_case spelling of its fields, and\n// Python states timeouts in seconds where TypeScript uses milliseconds.\nconst RENAME: Record<string, string> = {\n access_key_id: 'accessKeyId',\n secret_access_key: 'secretAccessKey',\n session_token: 'sessionToken',\n aws_profile: 'profile',\n endpoint_url: 'endpoint',\n path_style: 'forcePathStyle',\n key_prefix: 'keyPrefix',\n timeout: 'timeoutMs',\n}\n\nconst TRANSFORM = {\n timeout: (v: unknown): unknown => (typeof v === 'number' ? v * 1000 : v),\n}\n\nconst ALIAS_SCHEMA = z.object({\n bucket: z.string(),\n accessKeyId: secretStr().optional(),\n secretAccessKey: secretStr().optional(),\n sessionToken: secretStr().optional(),\n profile: z.string().optional(),\n region: z.string(),\n endpoint: z.string(),\n forcePathStyle: z.boolean().optional(),\n keyPrefix: z.string().optional(),\n timeoutMs: z.number().optional(),\n proxy: secretStr().optional(),\n})\n\n// Only the redacted twin derives: the schema is the resolved shape, with\n// the region and endpoint each provider's rule fills in.\nexport type S3AliasConfigRedacted = RedactedConfig<\n ConfigOf<typeof ALIAS_SCHEMA>,\n 'accessKeyId' | 'secretAccessKey' | 'sessionToken' | 'proxy'\n>\n\nexport interface Alias<C extends S3AliasConfig, R> {\n toS3Config: (config: C) => S3Config\n redact: (config: C) => R\n normalize: (input: Record<string, unknown>) => C\n}\n\nconst optional = (config: S3AliasConfig): Partial<S3Config> => ({\n ...(config.sessionToken !== undefined ? { sessionToken: config.sessionToken } : {}),\n ...(config.profile !== undefined ? { profile: config.profile } : {}),\n ...(config.keyPrefix !== undefined ? { keyPrefix: config.keyPrefix } : {}),\n ...(config.timeoutMs !== undefined ? { timeoutMs: config.timeoutMs } : {}),\n ...(config.proxy !== undefined ? { proxy: config.proxy } : {}),\n})\n\n/**\n * A provider whose endpoint is derived from its (required) region.\n *\n * `forcePathStyle` stays absent from the S3Config when the caller did not\n * ask for it, which is what the hand-written providers did and what the\n * S3 client treats as virtual-hosted style.\n */\nexport function makeRegionAlias<C extends S3AliasConfig & { region: string }, R>(\n endpointFor: (config: C) => string,\n): Alias<C, R> & { resolvedEndpoint: (config: C) => string } {\n const resolvedEndpoint = (config: C): string =>\n config.endpoint !== undefined && config.endpoint !== '' ? config.endpoint : endpointFor(config)\n return {\n resolvedEndpoint,\n toS3Config: (config) => ({\n bucket: config.bucket,\n region: config.region,\n endpoint: resolvedEndpoint(config),\n ...(config.accessKeyId !== undefined ? { accessKeyId: config.accessKeyId } : {}),\n ...(config.secretAccessKey !== undefined ? { secretAccessKey: config.secretAccessKey } : {}),\n ...(config.forcePathStyle !== undefined ? { forcePathStyle: config.forcePathStyle } : {}),\n ...optional(config),\n }),\n redact: (config) =>\n redactConfigWithSchema(ALIAS_SCHEMA, {\n ...config,\n endpoint: resolvedEndpoint(config),\n }) as unknown as R,\n normalize: (input) =>\n normalizeFields(input, { rename: RENAME, transform: TRANSFORM }) as unknown as C,\n }\n}\n\n/**\n * A self-hosted gateway reachable only at a caller-supplied endpoint.\n *\n * ceph, minio and seaweedfs have no public region to derive from, so the\n * region and path-style defaults are materialized rather than omitted.\n */\nexport function makeFixedAlias<C extends S3AliasConfig & { endpoint: string }, R>(): Alias<C, R> {\n const region = (config: C): string => config.region ?? 'us-east-1'\n const pathStyle = (config: C): boolean => config.forcePathStyle ?? true\n return {\n toS3Config: (config) => ({\n bucket: config.bucket,\n region: region(config),\n endpoint: config.endpoint,\n ...(config.accessKeyId !== undefined ? { accessKeyId: config.accessKeyId } : {}),\n ...(config.secretAccessKey !== undefined ? { secretAccessKey: config.secretAccessKey } : {}),\n forcePathStyle: pathStyle(config),\n ...optional(config),\n }),\n redact: (config) =>\n redactConfigWithSchema(ALIAS_SCHEMA, {\n ...config,\n region: region(config),\n forcePathStyle: pathStyle(config),\n }) as unknown as R,\n normalize: (input) =>\n normalizeFields(input, { rename: RENAME, transform: TRANSFORM }) as unknown as C,\n }\n}\n"],"mappings":";AAcA;AAAA,EAEE;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,OACK;AAoCP,IAAM,SAAiC;AAAA,EACrC,eAAe;AAAA,EACf,mBAAmB;AAAA,EACnB,eAAe;AAAA,EACf,aAAa;AAAA,EACb,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,SAAS;AACX;AAEA,IAAM,YAAY;AAAA,EAChB,SAAS,CAAC,MAAyB,OAAO,MAAM,WAAW,IAAI,MAAO;AACxE;AAEA,IAAM,eAAe,EAAE,OAAO;AAAA,EAC5B,QAAQ,EAAE,OAAO;AAAA,EACjB,aAAa,UAAU,EAAE,SAAS;AAAA,EAClC,iBAAiB,UAAU,EAAE,SAAS;AAAA,EACtC,cAAc,UAAU,EAAE,SAAS;AAAA,EACnC,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,QAAQ,EAAE,OAAO;AAAA,EACjB,UAAU,EAAE,OAAO;AAAA,EACnB,gBAAgB,EAAE,QAAQ,EAAE,SAAS;AAAA,EACrC,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,EAC/B,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,EAC/B,OAAO,UAAU,EAAE,SAAS;AAC9B,CAAC;AAeD,IAAM,WAAW,CAAC,YAA8C;AAAA,EAC9D,GAAI,OAAO,iBAAiB,SAAY,EAAE,cAAc,OAAO,aAAa,IAAI,CAAC;AAAA,EACjF,GAAI,OAAO,YAAY,SAAY,EAAE,SAAS,OAAO,QAAQ,IAAI,CAAC;AAAA,EAClE,GAAI,OAAO,cAAc,SAAY,EAAE,WAAW,OAAO,UAAU,IAAI,CAAC;AAAA,EACxE,GAAI,OAAO,cAAc,SAAY,EAAE,WAAW,OAAO,UAAU,IAAI,CAAC;AAAA,EACxE,GAAI,OAAO,UAAU,SAAY,EAAE,OAAO,OAAO,MAAM,IAAI,CAAC;AAC9D;AASO,SAAS,gBACd,aAC2D;AAC3D,QAAM,mBAAmB,CAAC,WACxB,OAAO,aAAa,UAAa,OAAO,aAAa,KAAK,OAAO,WAAW,YAAY,MAAM;AAChG,SAAO;AAAA,IACL;AAAA,IACA,YAAY,CAAC,YAAY;AAAA,MACvB,QAAQ,OAAO;AAAA,MACf,QAAQ,OAAO;AAAA,MACf,UAAU,iBAAiB,MAAM;AAAA,MACjC,GAAI,OAAO,gBAAgB,SAAY,EAAE,aAAa,OAAO,YAAY,IAAI,CAAC;AAAA,MAC9E,GAAI,OAAO,oBAAoB,SAAY,EAAE,iBAAiB,OAAO,gBAAgB,IAAI,CAAC;AAAA,MAC1F,GAAI,OAAO,mBAAmB,SAAY,EAAE,gBAAgB,OAAO,eAAe,IAAI,CAAC;AAAA,MACvF,GAAG,SAAS,MAAM;AAAA,IACpB;AAAA,IACA,QAAQ,CAAC,WACP,uBAAuB,cAAc;AAAA,MACnC,GAAG;AAAA,MACH,UAAU,iBAAiB,MAAM;AAAA,IACnC,CAAC;AAAA,IACH,WAAW,CAAC,UACV,gBAAgB,OAAO,EAAE,QAAQ,QAAQ,WAAW,UAAU,CAAC;AAAA,EACnE;AACF;AAQO,SAAS,iBAAiF;AAC/F,QAAM,SAAS,CAAC,WAAsB,OAAO,UAAU;AACvD,QAAM,YAAY,CAAC,WAAuB,OAAO,kBAAkB;AACnE,SAAO;AAAA,IACL,YAAY,CAAC,YAAY;AAAA,MACvB,QAAQ,OAAO;AAAA,MACf,QAAQ,OAAO,MAAM;AAAA,MACrB,UAAU,OAAO;AAAA,MACjB,GAAI,OAAO,gBAAgB,SAAY,EAAE,aAAa,OAAO,YAAY,IAAI,CAAC;AAAA,MAC9E,GAAI,OAAO,oBAAoB,SAAY,EAAE,iBAAiB,OAAO,gBAAgB,IAAI,CAAC;AAAA,MAC1F,gBAAgB,UAAU,MAAM;AAAA,MAChC,GAAG,SAAS,MAAM;AAAA,IACpB;AAAA,IACA,QAAQ,CAAC,WACP,uBAAuB,cAAc;AAAA,MACnC,GAAG;AAAA,MACH,QAAQ,OAAO,MAAM;AAAA,MACrB,gBAAgB,UAAU,MAAM;AAAA,IAClC,CAAC;AAAA,IACH,WAAW,CAAC,UACV,gBAAgB,OAAO,EAAE,QAAQ,QAAQ,WAAW,UAAU,CAAC;AAAA,EACnE;AACF;","names":[]}
|
|
@@ -1,25 +1,31 @@
|
|
|
1
1
|
import {
|
|
2
2
|
redactDropboxConfig
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-DCDBIXVZ.js";
|
|
4
4
|
|
|
5
5
|
// src/resource/dropbox/dropbox.ts
|
|
6
6
|
import {
|
|
7
7
|
BaseResource,
|
|
8
8
|
DROPBOX_COMMANDS,
|
|
9
9
|
DROPBOX_PROMPT,
|
|
10
|
-
|
|
10
|
+
DROPBOX_OPS,
|
|
11
11
|
DropboxAccessor,
|
|
12
12
|
DropboxTokenManager,
|
|
13
13
|
PathSpec,
|
|
14
14
|
ResourceName,
|
|
15
15
|
dropboxRead,
|
|
16
16
|
dropboxReaddir,
|
|
17
|
-
|
|
18
|
-
dropboxStat
|
|
17
|
+
makeResolveGlob,
|
|
18
|
+
dropboxStat,
|
|
19
|
+
mountKey,
|
|
20
|
+
mountPrefixOf
|
|
19
21
|
} from "@struktoai/mirage-core";
|
|
22
|
+
var dropboxResolveGlob = makeResolveGlob(dropboxReaddir);
|
|
20
23
|
var DropboxResource = class extends BaseResource {
|
|
21
24
|
kind = ResourceName.DROPBOX;
|
|
22
25
|
cachesReads = true;
|
|
26
|
+
// list_folder carries an exact byte `size` for every file (0 included).
|
|
27
|
+
// Paper docs 409 on raw download, a loud error, never a silent empty read.
|
|
28
|
+
sizesAlwaysKnown = true;
|
|
23
29
|
indexTtl = 86400;
|
|
24
30
|
prompt = DROPBOX_PROMPT;
|
|
25
31
|
config;
|
|
@@ -27,25 +33,21 @@ var DropboxResource = class extends BaseResource {
|
|
|
27
33
|
constructor(config) {
|
|
28
34
|
super();
|
|
29
35
|
this.config = config;
|
|
30
|
-
const tm = new DropboxTokenManager(
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
...config.
|
|
36
|
+
const tm = new DropboxTokenManager(config);
|
|
37
|
+
this.accessor = new DropboxAccessor({
|
|
38
|
+
tokenManager: tm,
|
|
39
|
+
...config.rootPath !== void 0 ? { rootPath: config.rootPath } : {},
|
|
40
|
+
...config.contentSearch !== void 0 ? { contentSearch: config.contentSearch } : {}
|
|
35
41
|
});
|
|
36
|
-
this.accessor = new DropboxAccessor({ tokenManager: tm });
|
|
37
42
|
}
|
|
38
43
|
open() {
|
|
39
44
|
return Promise.resolve();
|
|
40
45
|
}
|
|
41
|
-
close() {
|
|
42
|
-
return Promise.resolve();
|
|
43
|
-
}
|
|
44
46
|
commands() {
|
|
45
47
|
return DROPBOX_COMMANDS;
|
|
46
48
|
}
|
|
47
49
|
ops() {
|
|
48
|
-
return
|
|
50
|
+
return DROPBOX_OPS;
|
|
49
51
|
}
|
|
50
52
|
readFile(p) {
|
|
51
53
|
return dropboxRead(this.accessor, p, this.index);
|
|
@@ -56,18 +58,14 @@ var DropboxResource = class extends BaseResource {
|
|
|
56
58
|
stat(p) {
|
|
57
59
|
return dropboxStat(this.accessor, p, this.index);
|
|
58
60
|
}
|
|
59
|
-
async fingerprint(p) {
|
|
60
|
-
const lookup = await this.index.get(p.original);
|
|
61
|
-
return lookup.entry?.remoteTime ?? null;
|
|
62
|
-
}
|
|
63
61
|
glob(paths, prefix = "") {
|
|
64
62
|
const effective = prefix !== "" ? paths.map(
|
|
65
|
-
(p) => p.
|
|
66
|
-
|
|
63
|
+
(p) => mountPrefixOf(p.virtual, p.resourcePath) !== "" ? p : new PathSpec({
|
|
64
|
+
virtual: p.virtual,
|
|
67
65
|
directory: p.directory,
|
|
68
66
|
...p.pattern !== null ? { pattern: p.pattern } : {},
|
|
69
67
|
resolved: p.resolved,
|
|
70
|
-
prefix
|
|
68
|
+
resourcePath: mountKey(p.virtual, prefix)
|
|
71
69
|
})
|
|
72
70
|
) : paths;
|
|
73
71
|
return dropboxResolveGlob(this.accessor, effective, this.index);
|
|
@@ -86,4 +84,4 @@ var DropboxResource = class extends BaseResource {
|
|
|
86
84
|
export {
|
|
87
85
|
DropboxResource
|
|
88
86
|
};
|
|
89
|
-
//# sourceMappingURL=chunk-
|
|
87
|
+
//# sourceMappingURL=chunk-ADEXNSYU.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 DROPBOX_COMMANDS,\n DROPBOX_PROMPT,\n DROPBOX_OPS,\n DropboxAccessor,\n DropboxTokenManager,\n PathSpec,\n ResourceName,\n dropboxRead,\n dropboxReaddir,\n makeResolveGlob,\n dropboxStat,\n mountKey,\n mountPrefixOf,\n type FileStat,\n type RegisteredCommand,\n type RegisteredOp,\n type Resource,\n} from '@struktoai/mirage-core'\nimport { redactDropboxConfig, type DropboxConfig, type DropboxConfigRedacted } from './config.ts'\n\nconst dropboxResolveGlob = makeResolveGlob(dropboxReaddir)\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 cachesReads: boolean = true\n // list_folder carries an exact byte `size` for every file (0 included).\n // Paper docs 409 on raw download, a loud error, never a silent empty read.\n readonly sizesAlwaysKnown: boolean = true\n override 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(config)\n this.accessor = new DropboxAccessor({\n tokenManager: tm,\n ...(config.rootPath !== undefined ? { rootPath: config.rootPath } : {}),\n ...(config.contentSearch !== undefined ? { contentSearch: config.contentSearch } : {}),\n })\n }\n\n open(): 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_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 glob(paths: readonly PathSpec[], prefix = ''): Promise<PathSpec[]> {\n const effective =\n prefix !== ''\n ? paths.map((p) =>\n mountPrefixOf(p.virtual, p.resourcePath) !== ''\n ? p\n : new PathSpec({\n virtual: p.virtual,\n directory: p.directory,\n ...(p.pattern !== null ? { pattern: p.pattern } : {}),\n resolved: p.resolved,\n resourcePath: mountKey(p.virtual, 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,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAKK;AAGP,IAAM,qBAAqB,gBAAgB,cAAc;AAOlD,IAAM,kBAAN,cAA8B,aAAiC;AAAA,EAC3D,OAAe,aAAa;AAAA,EAC5B,cAAuB;AAAA;AAAA;AAAA,EAGvB,mBAA4B;AAAA,EACnB,WAAmB;AAAA,EAC5B,SAAiB;AAAA,EACjB;AAAA,EACA;AAAA,EAET,YAAY,QAAuB;AACjC,UAAM;AACN,SAAK,SAAS;AACd,UAAM,KAAK,IAAI,oBAAoB,MAAM;AACzC,SAAK,WAAW,IAAI,gBAAgB;AAAA,MAClC,cAAc;AAAA,MACd,GAAI,OAAO,aAAa,SAAY,EAAE,UAAU,OAAO,SAAS,IAAI,CAAC;AAAA,MACrE,GAAI,OAAO,kBAAkB,SAAY,EAAE,eAAe,OAAO,cAAc,IAAI,CAAC;AAAA,IACtF,CAAC;AAAA,EACH;AAAA,EAEA,OAAsB;AACpB,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,KAAK,OAA4B,SAAS,IAAyB;AACjE,UAAM,YACJ,WAAW,KACP,MAAM;AAAA,MAAI,CAAC,MACT,cAAc,EAAE,SAAS,EAAE,YAAY,MAAM,KACzC,IACA,IAAI,SAAS;AAAA,QACX,SAAS,EAAE;AAAA,QACX,WAAW,EAAE;AAAA,QACb,GAAI,EAAE,YAAY,OAAO,EAAE,SAAS,EAAE,QAAQ,IAAI,CAAC;AAAA,QACnD,UAAU,EAAE;AAAA,QACZ,cAAc,SAAS,EAAE,SAAS,MAAM;AAAA,MAC1C,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":[]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import {
|
|
2
|
+
makeFixedAlias
|
|
3
|
+
} from "./chunk-7ZP6TPHX.js";
|
|
4
|
+
|
|
5
|
+
// src/resource/seaweedfs/config.ts
|
|
6
|
+
var alias = makeFixedAlias();
|
|
7
|
+
var seaweedfsToS3Config = alias.toS3Config;
|
|
8
|
+
var redactSeaweedFSConfig = alias.redact;
|
|
9
|
+
var normalizeSeaweedFSConfig = alias.normalize;
|
|
10
|
+
|
|
11
|
+
export {
|
|
12
|
+
seaweedfsToS3Config,
|
|
13
|
+
redactSeaweedFSConfig,
|
|
14
|
+
normalizeSeaweedFSConfig
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=chunk-AQSYAXL4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/resource/seaweedfs/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 { makeFixedAlias, type S3AliasConfig, type S3AliasConfigRedacted } from '../s3_alias.ts'\n\nexport interface SeaweedFSConfig extends S3AliasConfig {\n endpoint: string\n}\n\nexport type SeaweedFSConfigRedacted = S3AliasConfigRedacted\n\nconst alias = makeFixedAlias<SeaweedFSConfig, SeaweedFSConfigRedacted>()\n\nexport const seaweedfsToS3Config = alias.toS3Config\nexport const redactSeaweedFSConfig = alias.redact\nexport const normalizeSeaweedFSConfig = alias.normalize\n"],"mappings":";;;;;AAsBA,IAAM,QAAQ,eAAyD;AAEhE,IAAM,sBAAsB,MAAM;AAClC,IAAM,wBAAwB,MAAM;AACpC,IAAM,2BAA2B,MAAM;","names":[]}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
// src/resource/trello/config.ts
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
normalizeFields,
|
|
4
|
+
redactConfigWithSchema,
|
|
5
|
+
secretStr,
|
|
6
|
+
z
|
|
7
|
+
} from "@struktoai/mirage-core";
|
|
3
8
|
var TrelloConfigSchema = z.object({
|
|
4
9
|
apiKey: secretStr(),
|
|
5
10
|
apiToken: secretStr(),
|
|
6
11
|
workspaceId: z.string().optional(),
|
|
7
|
-
boardIds: z.array(z.string()).optional(),
|
|
12
|
+
boardIds: z.array(z.string()).readonly().optional(),
|
|
8
13
|
baseUrl: z.string().optional()
|
|
9
14
|
});
|
|
10
15
|
function redactTrelloConfig(config) {
|
|
@@ -23,8 +28,7 @@ function normalizeTrelloConfig(input) {
|
|
|
23
28
|
}
|
|
24
29
|
|
|
25
30
|
export {
|
|
26
|
-
TrelloConfigSchema,
|
|
27
31
|
redactTrelloConfig,
|
|
28
32
|
normalizeTrelloConfig
|
|
29
33
|
};
|
|
30
|
-
//# sourceMappingURL=chunk-
|
|
34
|
+
//# sourceMappingURL=chunk-ATLXMNKD.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/resource/trello/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 {\n normalizeFields,\n redactConfigWithSchema,\n type ConfigOf,\n type RedactedConfig,\n secretStr,\n z,\n} from '@struktoai/mirage-core'\n\nconst TrelloConfigSchema = z.object({\n apiKey: secretStr(),\n apiToken: secretStr(),\n workspaceId: z.string().optional(),\n boardIds: z.array(z.string()).readonly().optional(),\n baseUrl: z.string().optional(),\n})\n\nexport type TrelloConfig = ConfigOf<typeof TrelloConfigSchema>\n\nexport type TrelloConfigRedacted = RedactedConfig<TrelloConfig, 'apiKey' | 'apiToken'>\n\nexport function redactTrelloConfig(config: TrelloConfig): TrelloConfigRedacted {\n return redactConfigWithSchema(TrelloConfigSchema, config) as unknown as TrelloConfigRedacted\n}\n\nexport function normalizeTrelloConfig(input: Record<string, unknown>): TrelloConfig {\n return normalizeFields(input, {\n rename: {\n api_key: 'apiKey',\n api_token: 'apiToken',\n workspace_id: 'workspaceId',\n board_ids: 'boardIds',\n base_url: 'baseUrl',\n },\n }) as unknown as TrelloConfig\n}\n"],"mappings":";AAcA;AAAA,EACE;AAAA,EACA;AAAA,EAGA;AAAA,EACA;AAAA,OACK;AAEP,IAAM,qBAAqB,EAAE,OAAO;AAAA,EAClC,QAAQ,UAAU;AAAA,EAClB,UAAU,UAAU;AAAA,EACpB,aAAa,EAAE,OAAO,EAAE,SAAS;AAAA,EACjC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS;AAAA,EAClD,SAAS,EAAE,OAAO,EAAE,SAAS;AAC/B,CAAC;AAMM,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,WAAW;AAAA,MACX,cAAc;AAAA,MACd,WAAW;AAAA,MACX,UAAU;AAAA,IACZ;AAAA,EACF,CAAC;AACH;","names":[]}
|
|
@@ -1,26 +1,33 @@
|
|
|
1
1
|
import {
|
|
2
2
|
redactGoogleConfig
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-LPDLPRPS.js";
|
|
4
4
|
|
|
5
5
|
// src/resource/gmail/gmail.ts
|
|
6
6
|
import {
|
|
7
7
|
BaseResource,
|
|
8
8
|
GMAIL_COMMANDS,
|
|
9
9
|
GMAIL_PROMPT,
|
|
10
|
+
GMAIL_OPS,
|
|
10
11
|
GMAIL_WRITE_PROMPT,
|
|
11
|
-
GMAIL_VFS_OPS,
|
|
12
12
|
GmailAccessor,
|
|
13
13
|
PathSpec,
|
|
14
14
|
ResourceName,
|
|
15
15
|
TokenManager,
|
|
16
16
|
gmailRead,
|
|
17
17
|
gmailReaddir,
|
|
18
|
-
|
|
19
|
-
gmailStat
|
|
18
|
+
makeResolveGlob,
|
|
19
|
+
gmailStat,
|
|
20
|
+
mountKey,
|
|
21
|
+
mountPrefixOf
|
|
20
22
|
} from "@struktoai/mirage-core";
|
|
23
|
+
var gmailResolveGlob = makeResolveGlob(gmailReaddir);
|
|
21
24
|
var GmailResource = class extends BaseResource {
|
|
22
25
|
kind = ResourceName.GMAIL;
|
|
23
26
|
cachesReads = true;
|
|
27
|
+
// Every listed file carries an exact size: .gmail.json is rendered at
|
|
28
|
+
// readdir from the full message the listing already fetched, and
|
|
29
|
+
// attachments carry the decoded byte count.
|
|
30
|
+
sizesAlwaysKnown = true;
|
|
24
31
|
indexTtl = 86400;
|
|
25
32
|
prompt = GMAIL_PROMPT;
|
|
26
33
|
writePrompt = GMAIL_WRITE_PROMPT;
|
|
@@ -35,14 +42,11 @@ var GmailResource = class extends BaseResource {
|
|
|
35
42
|
open() {
|
|
36
43
|
return Promise.resolve();
|
|
37
44
|
}
|
|
38
|
-
close() {
|
|
39
|
-
return Promise.resolve();
|
|
40
|
-
}
|
|
41
45
|
commands() {
|
|
42
46
|
return GMAIL_COMMANDS;
|
|
43
47
|
}
|
|
44
48
|
ops() {
|
|
45
|
-
return
|
|
49
|
+
return GMAIL_OPS;
|
|
46
50
|
}
|
|
47
51
|
readFile(p) {
|
|
48
52
|
return gmailRead(this.accessor, p, this.index);
|
|
@@ -53,18 +57,14 @@ var GmailResource = class extends BaseResource {
|
|
|
53
57
|
stat(p) {
|
|
54
58
|
return gmailStat(this.accessor, p, this.index);
|
|
55
59
|
}
|
|
56
|
-
async fingerprint(p) {
|
|
57
|
-
const lookup = await this.index.get(p.original);
|
|
58
|
-
return lookup.entry?.remoteTime ?? null;
|
|
59
|
-
}
|
|
60
60
|
glob(paths, prefix = "") {
|
|
61
61
|
const effective = prefix !== "" ? paths.map(
|
|
62
|
-
(p) => p.
|
|
63
|
-
|
|
62
|
+
(p) => mountPrefixOf(p.virtual, p.resourcePath) !== "" ? p : new PathSpec({
|
|
63
|
+
virtual: p.virtual,
|
|
64
64
|
directory: p.directory,
|
|
65
65
|
...p.pattern !== null ? { pattern: p.pattern } : {},
|
|
66
66
|
resolved: p.resolved,
|
|
67
|
-
prefix
|
|
67
|
+
resourcePath: mountKey(p.virtual, prefix)
|
|
68
68
|
})
|
|
69
69
|
) : paths;
|
|
70
70
|
return gmailResolveGlob(this.accessor, effective, this.index);
|
|
@@ -83,4 +83,4 @@ var GmailResource = class extends BaseResource {
|
|
|
83
83
|
export {
|
|
84
84
|
GmailResource
|
|
85
85
|
};
|
|
86
|
-
//# sourceMappingURL=chunk-
|
|
86
|
+
//# sourceMappingURL=chunk-BYCUGFRF.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/resource/gmail/gmail.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 GMAIL_COMMANDS,\n GMAIL_PROMPT,\n GMAIL_OPS,\n GMAIL_WRITE_PROMPT,\n GmailAccessor,\n PathSpec,\n ResourceName,\n TokenManager,\n gmailRead,\n gmailReaddir,\n makeResolveGlob,\n gmailStat,\n mountKey,\n mountPrefixOf,\n type FileStat,\n type RegisteredCommand,\n type RegisteredOp,\n type Resource,\n} from '@struktoai/mirage-core'\nimport { redactGmailConfig, type GmailConfig, type GmailConfigRedacted } from './config.ts'\n\nconst gmailResolveGlob = makeResolveGlob(gmailReaddir)\n\nexport interface GmailResourceState {\n type: string\n config: GmailConfigRedacted\n}\n\nexport class GmailResource extends BaseResource implements Resource {\n readonly kind: string = ResourceName.GMAIL\n readonly cachesReads: boolean = true\n // Every listed file carries an exact size: .gmail.json is rendered at\n // readdir from the full message the listing already fetched, and\n // attachments carry the decoded byte count.\n readonly sizesAlwaysKnown: boolean = true\n override readonly indexTtl: number = 86_400\n readonly prompt: string = GMAIL_PROMPT\n readonly writePrompt: string = GMAIL_WRITE_PROMPT\n readonly config: GmailConfig\n readonly accessor: GmailAccessor\n\n constructor(config: GmailConfig) {\n super()\n this.config = config\n const tm = new TokenManager(config)\n this.accessor = new GmailAccessor({ tokenManager: tm })\n }\n\n open(): Promise<void> {\n return Promise.resolve()\n }\n\n commands(): readonly RegisteredCommand[] {\n return GMAIL_COMMANDS\n }\n\n ops(): readonly RegisteredOp[] {\n return GMAIL_OPS\n }\n\n readFile(p: PathSpec): Promise<Uint8Array> {\n return gmailRead(this.accessor, p, this.index)\n }\n\n readdir(p: PathSpec): Promise<string[]> {\n return gmailReaddir(this.accessor, p, this.index)\n }\n\n stat(p: PathSpec): Promise<FileStat> {\n return gmailStat(this.accessor, p, this.index)\n }\n\n glob(paths: readonly PathSpec[], prefix = ''): Promise<PathSpec[]> {\n const effective =\n prefix !== ''\n ? paths.map((p) =>\n mountPrefixOf(p.virtual, p.resourcePath) !== ''\n ? p\n : new PathSpec({\n virtual: p.virtual,\n directory: p.directory,\n ...(p.pattern !== null ? { pattern: p.pattern } : {}),\n resolved: p.resolved,\n resourcePath: mountKey(p.virtual, prefix),\n }),\n )\n : paths\n return gmailResolveGlob(this.accessor, effective, this.index)\n }\n\n getState(): Promise<GmailResourceState> {\n return Promise.resolve({\n type: this.kind,\n config: redactGmailConfig(this.config),\n })\n }\n\n loadState(_state: GmailResourceState): Promise<void> {\n return Promise.resolve()\n }\n}\n"],"mappings":";;;;;AAcA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAKK;AAGP,IAAM,mBAAmB,gBAAgB,YAAY;AAO9C,IAAM,gBAAN,cAA4B,aAAiC;AAAA,EACzD,OAAe,aAAa;AAAA,EAC5B,cAAuB;AAAA;AAAA;AAAA;AAAA,EAIvB,mBAA4B;AAAA,EACnB,WAAmB;AAAA,EAC5B,SAAiB;AAAA,EACjB,cAAsB;AAAA,EACtB;AAAA,EACA;AAAA,EAET,YAAY,QAAqB;AAC/B,UAAM;AACN,SAAK,SAAS;AACd,UAAM,KAAK,IAAI,aAAa,MAAM;AAClC,SAAK,WAAW,IAAI,cAAc,EAAE,cAAc,GAAG,CAAC;AAAA,EACxD;AAAA,EAEA,OAAsB;AACpB,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,KAAK,OAA4B,SAAS,IAAyB;AACjE,UAAM,YACJ,WAAW,KACP,MAAM;AAAA,MAAI,CAAC,MACT,cAAc,EAAE,SAAS,EAAE,YAAY,MAAM,KACzC,IACA,IAAI,SAAS;AAAA,QACX,SAAS,EAAE;AAAA,QACX,WAAW,EAAE;AAAA,QACb,GAAI,EAAE,YAAY,OAAO,EAAE,SAAS,EAAE,QAAQ,IAAI,CAAC;AAAA,QACnD,UAAU,EAAE;AAAA,QACZ,cAAc,SAAS,EAAE,SAAS,MAAM;AAAA,MAC1C,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,mBAAkB,KAAK,MAAM;AAAA,IACvC,CAAC;AAAA,EACH;AAAA,EAEA,UAAU,QAA2C;AACnD,WAAO,QAAQ,QAAQ;AAAA,EACzB;AACF;","names":[]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
HfBucketsAccessor,
|
|
3
3
|
HfResource
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-DDAFNROK.js";
|
|
5
5
|
import {
|
|
6
6
|
assertHfRepoId,
|
|
7
7
|
redactHfBucketsConfig
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-QAOVABCR.js";
|
|
9
9
|
|
|
10
10
|
// src/resource/hf_buckets/hf_buckets.ts
|
|
11
11
|
import { normalizeKeyPrefix, ResourceName } from "@struktoai/mirage-core";
|
|
@@ -47,4 +47,4 @@ export {
|
|
|
47
47
|
HF_BUCKETS_PROMPT,
|
|
48
48
|
HfBucketsResource
|
|
49
49
|
};
|
|
50
|
-
//# sourceMappingURL=chunk-
|
|
50
|
+
//# sourceMappingURL=chunk-BZTVYOES.js.map
|
|
@@ -1,17 +1,29 @@
|
|
|
1
|
-
// src/
|
|
2
|
-
import {
|
|
1
|
+
// src/core/email/config.ts
|
|
2
|
+
import {
|
|
3
|
+
normalizeFields,
|
|
4
|
+
redactConfigWithSchema,
|
|
5
|
+
secretStr,
|
|
6
|
+
z
|
|
7
|
+
} from "@struktoai/mirage-core";
|
|
3
8
|
function asString(v) {
|
|
4
9
|
return typeof v === "string" ? v : "";
|
|
5
10
|
}
|
|
6
11
|
var EmailConfigSchema = z.object({
|
|
7
12
|
imapHost: z.string(),
|
|
8
|
-
imapPort: z.number(),
|
|
13
|
+
imapPort: z.number().default(993),
|
|
9
14
|
smtpHost: z.string(),
|
|
10
|
-
smtpPort: z.number(),
|
|
15
|
+
smtpPort: z.number().default(587),
|
|
11
16
|
username: z.string(),
|
|
12
17
|
password: secretStr(),
|
|
13
|
-
useSsl: z.boolean(),
|
|
14
|
-
maxMessages: z.number()
|
|
18
|
+
useSsl: z.boolean().default(true),
|
|
19
|
+
maxMessages: z.number().default(200),
|
|
20
|
+
/**
|
|
21
|
+
* Upstream himalaya's message.send.save-copy, whose default is true
|
|
22
|
+
* since pimalaya/himalaya#536.
|
|
23
|
+
*/
|
|
24
|
+
saveCopy: z.boolean().default(true),
|
|
25
|
+
/** Its folder.alias.sent: null means ask the server for its \Sent mailbox. */
|
|
26
|
+
sentFolder: z.string().nullable().default(null)
|
|
15
27
|
});
|
|
16
28
|
function redactEmailConfig(config) {
|
|
17
29
|
return redactConfigWithSchema(EmailConfigSchema, config);
|
|
@@ -25,7 +37,9 @@ function buildEmailConfig(input) {
|
|
|
25
37
|
username: input.username,
|
|
26
38
|
password: input.password,
|
|
27
39
|
useSsl: input.useSsl ?? true,
|
|
28
|
-
maxMessages: input.maxMessages ?? 200
|
|
40
|
+
maxMessages: input.maxMessages ?? 200,
|
|
41
|
+
saveCopy: input.saveCopy ?? true,
|
|
42
|
+
sentFolder: input.sentFolder ?? null
|
|
29
43
|
};
|
|
30
44
|
}
|
|
31
45
|
function normalizeEmailConfig(input) {
|
|
@@ -36,7 +50,9 @@ function normalizeEmailConfig(input) {
|
|
|
36
50
|
smtp_host: "smtpHost",
|
|
37
51
|
smtp_port: "smtpPort",
|
|
38
52
|
use_ssl: "useSsl",
|
|
39
|
-
max_messages: "maxMessages"
|
|
53
|
+
max_messages: "maxMessages",
|
|
54
|
+
save_copy: "saveCopy",
|
|
55
|
+
sent_folder: "sentFolder"
|
|
40
56
|
}
|
|
41
57
|
});
|
|
42
58
|
const built = {
|
|
@@ -49,6 +65,8 @@ function normalizeEmailConfig(input) {
|
|
|
49
65
|
if (typeof norm.smtpPort === "number") built.smtpPort = norm.smtpPort;
|
|
50
66
|
if (typeof norm.useSsl === "boolean") built.useSsl = norm.useSsl;
|
|
51
67
|
if (typeof norm.maxMessages === "number") built.maxMessages = norm.maxMessages;
|
|
68
|
+
if (typeof norm.saveCopy === "boolean") built.saveCopy = norm.saveCopy;
|
|
69
|
+
if (typeof norm.sentFolder === "string") built.sentFolder = norm.sentFolder;
|
|
52
70
|
return buildEmailConfig(built);
|
|
53
71
|
}
|
|
54
72
|
|
|
@@ -58,4 +76,4 @@ export {
|
|
|
58
76
|
buildEmailConfig,
|
|
59
77
|
normalizeEmailConfig
|
|
60
78
|
};
|
|
61
|
-
//# sourceMappingURL=chunk-
|
|
79
|
+
//# sourceMappingURL=chunk-CRC4YWXB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/core/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 {\n type ConfigOf,\n normalizeFields,\n redactConfigWithSchema,\n type RedactedConfig,\n secretStr,\n z,\n} from '@struktoai/mirage-core'\n\nfunction asString(v: unknown): string {\n return typeof v === 'string' ? v : ''\n}\n\n// Doubles as the himalaya CLI's configModel: parse applies the same\n// defaults buildEmailConfig fills in, and secretStr marks the password\n// for snapshot redaction.\nexport const EmailConfigSchema = z.object({\n imapHost: z.string(),\n imapPort: z.number().default(993),\n smtpHost: z.string(),\n smtpPort: z.number().default(587),\n username: z.string(),\n password: secretStr(),\n useSsl: z.boolean().default(true),\n maxMessages: z.number().default(200),\n /**\n * Upstream himalaya's message.send.save-copy, whose default is true\n * since pimalaya/himalaya#536.\n */\n saveCopy: z.boolean().default(true),\n /** Its folder.alias.sent: null means ask the server for its \\Sent mailbox. */\n sentFolder: z.string().nullable().default(null),\n})\n\nexport type EmailConfig = ConfigOf<typeof EmailConfigSchema>\n\nexport type EmailConfigRedacted = RedactedConfig<EmailConfig, 'password'>\n\nexport function redactEmailConfig(config: EmailConfig): EmailConfigRedacted {\n return redactConfigWithSchema(EmailConfigSchema, config) as unknown as EmailConfigRedacted\n}\n\n// What a caller writes, which is the schema before its defaults land.\nexport type EmailConfigInput = z.input<typeof EmailConfigSchema>\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 saveCopy: input.saveCopy ?? true,\n sentFolder: input.sentFolder ?? null,\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 save_copy: 'saveCopy',\n sent_folder: 'sentFolder',\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 if (typeof norm.saveCopy === 'boolean') built.saveCopy = norm.saveCopy\n if (typeof norm.sentFolder === 'string') built.sentFolder = norm.sentFolder\n return buildEmailConfig(built)\n}\n"],"mappings":";AAcA;AAAA,EAEE;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,SAAS,GAAoB;AACpC,SAAO,OAAO,MAAM,WAAW,IAAI;AACrC;AAKO,IAAM,oBAAoB,EAAE,OAAO;AAAA,EACxC,UAAU,EAAE,OAAO;AAAA,EACnB,UAAU,EAAE,OAAO,EAAE,QAAQ,GAAG;AAAA,EAChC,UAAU,EAAE,OAAO;AAAA,EACnB,UAAU,EAAE,OAAO,EAAE,QAAQ,GAAG;AAAA,EAChC,UAAU,EAAE,OAAO;AAAA,EACnB,UAAU,UAAU;AAAA,EACpB,QAAQ,EAAE,QAAQ,EAAE,QAAQ,IAAI;AAAA,EAChC,aAAa,EAAE,OAAO,EAAE,QAAQ,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA,EAKnC,UAAU,EAAE,QAAQ,EAAE,QAAQ,IAAI;AAAA;AAAA,EAElC,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,IAAI;AAChD,CAAC;AAMM,SAAS,kBAAkB,QAA0C;AAC1E,SAAO,uBAAuB,mBAAmB,MAAM;AACzD;AAKO,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,IAClC,UAAU,MAAM,YAAY;AAAA,IAC5B,YAAY,MAAM,cAAc;AAAA,EAClC;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,MACd,WAAW;AAAA,MACX,aAAa;AAAA,IACf;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,MAAI,OAAO,KAAK,aAAa,UAAW,OAAM,WAAW,KAAK;AAC9D,MAAI,OAAO,KAAK,eAAe,SAAU,OAAM,aAAa,KAAK;AACjE,SAAO,iBAAiB,KAAK;AAC/B;","names":[]}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// src/resource/gridfs/config.ts
|
|
2
|
+
import {
|
|
3
|
+
normalizeFields,
|
|
4
|
+
normalizeKeyPrefix,
|
|
5
|
+
redactConfigWithSchema,
|
|
6
|
+
secretStr,
|
|
7
|
+
z
|
|
8
|
+
} from "@struktoai/mirage-core";
|
|
9
|
+
var GridFSConfigSchema = z.object({
|
|
10
|
+
uri: secretStr(),
|
|
11
|
+
database: z.string(),
|
|
12
|
+
bucket: z.string().optional(),
|
|
13
|
+
keyPrefix: z.string().optional(),
|
|
14
|
+
chunkSizeBytes: z.number().optional()
|
|
15
|
+
});
|
|
16
|
+
function redactConfig(config) {
|
|
17
|
+
return redactConfigWithSchema(GridFSConfigSchema, config);
|
|
18
|
+
}
|
|
19
|
+
function normalizeGridFSConfig(input) {
|
|
20
|
+
const norm = normalizeFields(input, {
|
|
21
|
+
rename: {
|
|
22
|
+
key_prefix: "keyPrefix",
|
|
23
|
+
chunk_size_bytes: "chunkSizeBytes"
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
const prefix = normalizeKeyPrefix(norm.keyPrefix);
|
|
27
|
+
if (prefix !== void 0) {
|
|
28
|
+
norm.keyPrefix = prefix;
|
|
29
|
+
} else {
|
|
30
|
+
delete norm.keyPrefix;
|
|
31
|
+
}
|
|
32
|
+
return norm;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export {
|
|
36
|
+
redactConfig,
|
|
37
|
+
normalizeGridFSConfig
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=chunk-CTGXJHO5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/resource/gridfs/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 {\n normalizeFields,\n normalizeKeyPrefix,\n redactConfigWithSchema,\n type ConfigOf,\n type RedactedConfig,\n secretStr,\n z,\n} from '@struktoai/mirage-core'\n\nconst GridFSConfigSchema = z.object({\n uri: secretStr(),\n database: z.string(),\n bucket: z.string().optional(),\n keyPrefix: z.string().optional(),\n chunkSizeBytes: z.number().optional(),\n})\n\nexport type GridFSConfig = ConfigOf<typeof GridFSConfigSchema>\n\nexport type GridFSConfigRedacted = RedactedConfig<GridFSConfig, 'uri'>\n\nexport function redactConfig(config: GridFSConfig): GridFSConfigRedacted {\n return redactConfigWithSchema(GridFSConfigSchema, config) as unknown as GridFSConfigRedacted\n}\n\n/**\n * Translate Python-style snake_case keys (as used in YAML configs and the\n * Python `GridFSConfig`) to the TS-idiomatic camelCase fields, and\n * normalize the key prefix the way the accessor expects.\n */\nexport function normalizeGridFSConfig(input: Record<string, unknown>): GridFSConfig {\n const norm = normalizeFields(input, {\n rename: {\n key_prefix: 'keyPrefix',\n chunk_size_bytes: 'chunkSizeBytes',\n },\n }) as unknown as GridFSConfig\n const prefix = normalizeKeyPrefix(norm.keyPrefix)\n if (prefix !== undefined) {\n norm.keyPrefix = prefix\n } else {\n delete norm.keyPrefix\n }\n return norm\n}\n"],"mappings":";AAcA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EAGA;AAAA,EACA;AAAA,OACK;AAEP,IAAM,qBAAqB,EAAE,OAAO;AAAA,EAClC,KAAK,UAAU;AAAA,EACf,UAAU,EAAE,OAAO;AAAA,EACnB,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,EAC/B,gBAAgB,EAAE,OAAO,EAAE,SAAS;AACtC,CAAC;AAMM,SAAS,aAAa,QAA4C;AACvE,SAAO,uBAAuB,oBAAoB,MAAM;AAC1D;AAOO,SAAS,sBAAsB,OAA8C;AAClF,QAAM,OAAO,gBAAgB,OAAO;AAAA,IAClC,QAAQ;AAAA,MACN,YAAY;AAAA,MACZ,kBAAkB;AAAA,IACpB;AAAA,EACF,CAAC;AACD,QAAM,SAAS,mBAAmB,KAAK,SAAS;AAChD,MAAI,WAAW,QAAW;AACxB,SAAK,YAAY;AAAA,EACnB,OAAO;AACL,WAAO,KAAK;AAAA,EACd;AACA,SAAO;AACT;","names":[]}
|