@struktoai/mirage-node 0.0.4 → 0.0.5

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.
Files changed (447) hide show
  1. package/README.md +2 -1
  2. package/dist/aliyun-S62BR3TB.js +11 -0
  3. package/dist/append.lua +17 -0
  4. package/dist/backblaze-4EKSW63F.js +11 -0
  5. package/dist/box-ZPLZAGMK.js +8 -0
  6. package/dist/ceph-ALKLD3MO.js +11 -0
  7. package/dist/{chunk-VLRSOWHP.js → chunk-2A4YGVBM.js} +5 -14
  8. package/dist/chunk-2A4YGVBM.js.map +1 -0
  9. package/dist/chunk-2HCYLVGY.js +28 -0
  10. package/dist/chunk-2HCYLVGY.js.map +1 -0
  11. package/dist/chunk-2VPZAH5Q.js +20 -0
  12. package/dist/chunk-2VPZAH5Q.js.map +1 -0
  13. package/dist/{chunk-HCU3B6FW.js → chunk-3JZQ6VSZ.js} +5 -4
  14. package/dist/chunk-3JZQ6VSZ.js.map +1 -0
  15. package/dist/chunk-4IF4TGAI.js +11 -0
  16. package/dist/chunk-4IF4TGAI.js.map +1 -0
  17. package/dist/{chunk-L7FEZ7LU.js → chunk-5H6KNEPP.js} +4 -5
  18. package/dist/{chunk-L7FEZ7LU.js.map → chunk-5H6KNEPP.js.map} +1 -1
  19. package/dist/{chunk-25W4XQJZ.js → chunk-5K2MWDCE.js} +4 -5
  20. package/dist/{chunk-25W4XQJZ.js.map → chunk-5K2MWDCE.js.map} +1 -1
  21. package/dist/{chunk-L4GMDSMB.js → chunk-6SVXWRKX.js} +4 -5
  22. package/dist/{chunk-L4GMDSMB.js.map → chunk-6SVXWRKX.js.map} +1 -1
  23. package/dist/{chunk-H62XQZUM.js → chunk-6VOIUGAD.js} +22 -10
  24. package/dist/chunk-6VOIUGAD.js.map +1 -0
  25. package/dist/{chunk-SI4GMRXD.js → chunk-7JYHFXXC.js} +4 -8
  26. package/dist/chunk-7JYHFXXC.js.map +1 -0
  27. package/dist/chunk-7VQQFWV6.js +20 -0
  28. package/dist/chunk-7VQQFWV6.js.map +1 -0
  29. package/dist/chunk-7ZP6TPHX.js +87 -0
  30. package/dist/chunk-7ZP6TPHX.js.map +1 -0
  31. package/dist/{chunk-HWQPEBID.js → chunk-ADEXNSYU.js} +6 -12
  32. package/dist/chunk-ADEXNSYU.js.map +1 -0
  33. package/dist/chunk-AQSYAXL4.js +16 -0
  34. package/dist/chunk-AQSYAXL4.js.map +1 -0
  35. package/dist/{chunk-NJ42VNXG.js → chunk-ATLXMNKD.js} +8 -3
  36. package/dist/chunk-ATLXMNKD.js.map +1 -0
  37. package/dist/{chunk-CB76WPUS.js → chunk-BYCUGFRF.js} +5 -4
  38. package/dist/chunk-BYCUGFRF.js.map +1 -0
  39. package/dist/{chunk-4M73WHIE.js → chunk-BZTVYOES.js} +3 -3
  40. package/dist/{chunk-CQCTCW4S.js → chunk-CRC4YWXB.js} +28 -9
  41. package/dist/chunk-CRC4YWXB.js.map +1 -0
  42. package/dist/{chunk-C7TNKIK5.js → chunk-CTGXJHO5.js} +1 -1
  43. package/dist/chunk-CTGXJHO5.js.map +1 -0
  44. package/dist/{chunk-HSD24IP2.js → chunk-DCDBIXVZ.js} +7 -2
  45. package/dist/chunk-DCDBIXVZ.js.map +1 -0
  46. package/dist/{chunk-HEDE2377.js → chunk-DDAFNROK.js} +318 -322
  47. package/dist/chunk-DDAFNROK.js.map +1 -0
  48. package/dist/chunk-DQIEWEAW.js +85 -0
  49. package/dist/chunk-DQIEWEAW.js.map +1 -0
  50. package/dist/{chunk-2ERLWAGG.js → chunk-EBI4IHDC.js} +20 -11
  51. package/dist/chunk-EBI4IHDC.js.map +1 -0
  52. package/dist/{chunk-RHUEV4I7.js → chunk-EIUTZ6N7.js} +10 -24
  53. package/dist/chunk-EIUTZ6N7.js.map +1 -0
  54. package/dist/{chunk-IUXXZHY3.js → chunk-EJZG5VUF.js} +24 -12
  55. package/dist/chunk-EJZG5VUF.js.map +1 -0
  56. package/dist/{chunk-BWWU5T2D.js → chunk-ENW5BVYN.js} +3 -3
  57. package/dist/{chunk-F5NWRF32.js → chunk-ETIAW4YD.js} +3 -3
  58. package/dist/chunk-EUPXAYPB.js +20 -0
  59. package/dist/chunk-EUPXAYPB.js.map +1 -0
  60. package/dist/{chunk-EGZNOUMH.js → chunk-FA6YNU75.js} +4 -5
  61. package/dist/{chunk-EGZNOUMH.js.map → chunk-FA6YNU75.js.map} +1 -1
  62. package/dist/{chunk-XUUSWR4U.js → chunk-FFH6R5VQ.js} +7 -2
  63. package/dist/{chunk-XUUSWR4U.js.map → chunk-FFH6R5VQ.js.map} +1 -1
  64. package/dist/{chunk-JEBH5APX.js → chunk-GE6H2COM.js} +5 -13
  65. package/dist/chunk-GE6H2COM.js.map +1 -0
  66. package/dist/{chunk-TUNR4VUM.js → chunk-GMMQ3ZK4.js} +3 -3
  67. package/dist/{chunk-SAOQW6ZJ.js → chunk-GSGE3M5P.js} +5 -13
  68. package/dist/chunk-GSGE3M5P.js.map +1 -0
  69. package/dist/{chunk-DXU7NZPH.js → chunk-HCRYAFBI.js} +3 -3
  70. package/dist/{chunk-OSVZKYXS.js → chunk-HOPUP6LA.js} +192 -156
  71. package/dist/chunk-HOPUP6LA.js.map +1 -0
  72. package/dist/chunk-HS24BL6W.js +160 -0
  73. package/dist/chunk-HS24BL6W.js.map +1 -0
  74. package/dist/chunk-HVYVG5KQ.js +16 -0
  75. package/dist/chunk-HVYVG5KQ.js.map +1 -0
  76. package/dist/{chunk-XEMLYWHK.js → chunk-I7CPLZNW.js} +4 -5
  77. package/dist/{chunk-XEMLYWHK.js.map → chunk-I7CPLZNW.js.map} +1 -1
  78. package/dist/{chunk-AULFV3KY.js → chunk-IFUCGI4I.js} +7 -2
  79. package/dist/chunk-IFUCGI4I.js.map +1 -0
  80. package/dist/{chunk-HGIPWY5Y.js → chunk-IFYXSSKR.js} +6 -6
  81. package/dist/chunk-IFYXSSKR.js.map +1 -0
  82. package/dist/chunk-IXA4DQE4.js +20 -0
  83. package/dist/chunk-IXA4DQE4.js.map +1 -0
  84. package/dist/chunk-IZMKMD3O.js +11 -0
  85. package/dist/chunk-IZMKMD3O.js.map +1 -0
  86. package/dist/{chunk-4X6CLF4F.js → chunk-JJERW2BI.js} +4 -5
  87. package/dist/{chunk-4X6CLF4F.js.map → chunk-JJERW2BI.js.map} +1 -1
  88. package/dist/{chunk-M6E7VK4D.js → chunk-JQR4HVUX.js} +2 -5
  89. package/dist/chunk-JQR4HVUX.js.map +1 -0
  90. package/dist/{chunk-BWLUBJQG.js → chunk-JXOMDLFS.js} +6 -15
  91. package/dist/chunk-JXOMDLFS.js.map +1 -0
  92. package/dist/{chunk-5ZHNPNDD.js → chunk-KIX6N7NT.js} +198 -141
  93. package/dist/chunk-KIX6N7NT.js.map +1 -0
  94. package/dist/{chunk-XFSEADPC.js → chunk-L42UTDFK.js} +7 -2
  95. package/dist/chunk-L42UTDFK.js.map +1 -0
  96. package/dist/chunk-M2UF2JHJ.js +11 -0
  97. package/dist/chunk-M2UF2JHJ.js.map +1 -0
  98. package/dist/{chunk-LPLZLSMK.js → chunk-MONC734W.js} +7 -2
  99. package/dist/chunk-MONC734W.js.map +1 -0
  100. package/dist/{chunk-XADEMW6B.js → chunk-N72RLCMU.js} +4 -5
  101. package/dist/{chunk-XADEMW6B.js.map → chunk-N72RLCMU.js.map} +1 -1
  102. package/dist/{chunk-ZPB3SLPK.js → chunk-ND4IWJ4V.js} +7 -2
  103. package/dist/chunk-ND4IWJ4V.js.map +1 -0
  104. package/dist/{chunk-ZPZQXHW2.js → chunk-NZ3EKGW4.js} +260 -178
  105. package/dist/chunk-NZ3EKGW4.js.map +1 -0
  106. package/dist/{chunk-E3KXVEYI.js → chunk-OAE57MNL.js} +22 -10
  107. package/dist/chunk-OAE57MNL.js.map +1 -0
  108. package/dist/{chunk-JBDFYIN2.js → chunk-OHKGIQB4.js} +2 -5
  109. package/dist/chunk-OHKGIQB4.js.map +1 -0
  110. package/dist/{chunk-V7JVMG63.js → chunk-OXEQSPND.js} +3 -3
  111. package/dist/{chunk-YRJICL2Q.js → chunk-PKNE5J2B.js} +5 -13
  112. package/dist/chunk-PKNE5J2B.js.map +1 -0
  113. package/dist/chunk-PSXXEGYQ.js +16 -0
  114. package/dist/chunk-PSXXEGYQ.js.map +1 -0
  115. package/dist/{chunk-KAWDDS27.js → chunk-QAOVABCR.js} +7 -2
  116. package/dist/chunk-QAOVABCR.js.map +1 -0
  117. package/dist/{chunk-SYMNWNC3.js → chunk-QQ7FP4GD.js} +4 -5
  118. package/dist/{chunk-SYMNWNC3.js.map → chunk-QQ7FP4GD.js.map} +1 -1
  119. package/dist/{chunk-3JZN3GYO.js → chunk-QYLVMC6B.js} +2 -5
  120. package/dist/chunk-QYLVMC6B.js.map +1 -0
  121. package/dist/{chunk-CXQGMFI7.js → chunk-RX3XR65X.js} +4 -5
  122. package/dist/{chunk-CXQGMFI7.js.map → chunk-RX3XR65X.js.map} +1 -1
  123. package/dist/{chunk-MRXTUFBZ.js → chunk-RYQJJB4C.js} +1 -1
  124. package/dist/chunk-RYQJJB4C.js.map +1 -0
  125. package/dist/{chunk-5I7Q7RHW.js → chunk-TUF7TCN7.js} +4 -5
  126. package/dist/{chunk-5I7Q7RHW.js.map → chunk-TUF7TCN7.js.map} +1 -1
  127. package/dist/{chunk-NLXJMXVE.js → chunk-TUX36JY5.js} +4 -5
  128. package/dist/{chunk-NLXJMXVE.js.map → chunk-TUX36JY5.js.map} +1 -1
  129. package/dist/{chunk-4GYB7DGC.js → chunk-TWRQCQWU.js} +327 -558
  130. package/dist/chunk-TWRQCQWU.js.map +1 -0
  131. package/dist/chunk-U6DFQRG3.js +20 -0
  132. package/dist/chunk-U6DFQRG3.js.map +1 -0
  133. package/dist/chunk-VI5YTKNY.js +20 -0
  134. package/dist/chunk-VI5YTKNY.js.map +1 -0
  135. package/dist/{chunk-FRGTDZQT.js → chunk-VQDF2UH5.js} +19 -5
  136. package/dist/chunk-VQDF2UH5.js.map +1 -0
  137. package/dist/{chunk-W5ZLIQFR.js → chunk-WG5YS6TC.js} +308 -200
  138. package/dist/chunk-WG5YS6TC.js.map +1 -0
  139. package/dist/{chunk-ZM44MGC5.js → chunk-WMJJ4WGF.js} +4 -5
  140. package/dist/{chunk-ZM44MGC5.js.map → chunk-WMJJ4WGF.js.map} +1 -1
  141. package/dist/{chunk-5YRWF5RP.js → chunk-WY4FNH42.js} +6 -5
  142. package/dist/chunk-WY4FNH42.js.map +1 -0
  143. package/dist/{chunk-VBYIDRNU.js → chunk-XIG5BWWH.js} +19 -10
  144. package/dist/chunk-XIG5BWWH.js.map +1 -0
  145. package/dist/chunk-XJBC3OYX.js +11 -0
  146. package/dist/chunk-XJBC3OYX.js.map +1 -0
  147. package/dist/{chunk-ZMREYTHA.js → chunk-XPRDXWK7.js} +8 -8
  148. package/dist/chunk-XPRDXWK7.js.map +1 -0
  149. package/dist/chunk-YKRQSZS7.js +96 -0
  150. package/dist/chunk-YKRQSZS7.js.map +1 -0
  151. package/dist/{chunk-IEVLWEBO.js → chunk-YMBL3VJB.js} +9 -8
  152. package/dist/chunk-YMBL3VJB.js.map +1 -0
  153. package/dist/{chunk-CGGO5NKD.js → chunk-YUJBXFYK.js} +357 -346
  154. package/dist/chunk-YUJBXFYK.js.map +1 -0
  155. package/dist/{chunk-S4KVLPBR.js → chunk-YZ4ZJNOL.js} +22 -10
  156. package/dist/chunk-YZ4ZJNOL.js.map +1 -0
  157. package/dist/chunk-ZTHVEXIV.js +11 -0
  158. package/dist/chunk-ZTHVEXIV.js.map +1 -0
  159. package/dist/{chunk-VHED2STW.js → chunk-ZVSYUCYS.js} +2 -1
  160. package/dist/chunk-ZVSYUCYS.js.map +1 -0
  161. package/dist/{config-T2IUIU5C.js → config-2YBCHU2W.js} +2 -2
  162. package/dist/{config-M3Z47VYU.js → config-3YRGRW72.js} +3 -2
  163. package/dist/config-4GSOMUMF.js +9 -0
  164. package/dist/config-5YBUWFUP.js +9 -0
  165. package/dist/{config-2LASFFRD.js → config-5ZRKJTKG.js} +3 -2
  166. package/dist/{config-W7EVPJNK.js → config-A25LTL5W.js} +2 -2
  167. package/dist/{config-WKQ3FGTZ.js → config-CLU7JABG.js} +2 -2
  168. package/dist/{config-E22XAGYN.js → config-D2RF7L3N.js} +2 -2
  169. package/dist/{config-HQXNFQZS.js → config-E55TKM6K.js} +2 -2
  170. package/dist/config-ELDOFRJW.js +9 -0
  171. package/dist/{config-EX3ZJTZI.js → config-FPC3RBFD.js} +2 -2
  172. package/dist/config-FPM3LAW7.js +9 -0
  173. package/dist/{config-IPNWAJHH.js → config-G3F54CS4.js} +3 -2
  174. package/dist/{config-BBOLI7VE.js → config-G43HRUI3.js} +2 -2
  175. package/dist/{config-QO2XUME4.js → config-GG3WO5PB.js} +3 -2
  176. package/dist/{config-QWQGOXQ5.js → config-JUYBWAZE.js} +2 -2
  177. package/dist/{config-SPW6NESU.js → config-LJ5T6TVA.js} +2 -2
  178. package/dist/{config-WVILHDFV.js → config-MDSAE4O3.js} +2 -2
  179. package/dist/{config-MZM3IPFM.js → config-NRIOKK5T.js} +2 -2
  180. package/dist/{config-L7SBSH5L.js → config-OYK2BSJK.js} +2 -2
  181. package/dist/config-PB3KA2CE.js +9 -0
  182. package/dist/{config-54USUVSE.js → config-QY4IL3PH.js} +3 -2
  183. package/dist/{config-VKKZGC7V.js → config-R4LAOEDS.js} +2 -2
  184. package/dist/{config-FRK7ZL37.js → config-RIAAD6RW.js} +3 -2
  185. package/dist/{config-J2C53GOT.js → config-SYNEQAUB.js} +2 -2
  186. package/dist/{config-XU6D5C7E.js → config-TJKGYA2B.js} +3 -2
  187. package/dist/{config-DWSJL3NH.js → config-UURRGA7U.js} +4 -2
  188. package/dist/{config-BIBFLUIR.js → config-VPLHQXVE.js} +2 -2
  189. package/dist/config-WRACCRPN.js +9 -0
  190. package/dist/{config-OJ2BPESH.js → config-WVHKXEVE.js} +3 -2
  191. package/dist/{config-CPYFOUQO.js → config-XU7R36IE.js} +3 -2
  192. package/dist/{config-A2GQYJDB.js → config-Y2KOUYSS.js} +2 -2
  193. package/dist/databricks_volume-CNCPTZHS.js +7 -0
  194. package/dist/digitalocean-DJZOUB6Q.js +11 -0
  195. package/dist/discord-ETB2CADR.js +7 -0
  196. package/dist/disk-WEHSTK3F.js +7 -0
  197. package/dist/dropbox-XN6PGLNE.js +8 -0
  198. package/dist/email-OV7XCP3T.js +8 -0
  199. package/dist/gcal-P56MRCGU.js +8 -0
  200. package/dist/gcs-HFBIAE2C.js +10 -0
  201. package/dist/gdocs-LQ3UXP3J.js +8 -0
  202. package/dist/gdrive-N6UBYLON.js +8 -0
  203. package/dist/github-BPZREGPI.js +8 -0
  204. package/dist/github_ci-7A4LUIZ7.js +8 -0
  205. package/dist/{gmail-2TBT4CVH.js → gmail-YED2MF6H.js} +2 -2
  206. package/dist/gridfs-CPLQ4G62.js +9 -0
  207. package/dist/gsheets-4BNIJPQ6.js +8 -0
  208. package/dist/gslides-GDBYLO5A.js +8 -0
  209. package/dist/hf_buckets-FTJITQ3P.js +10 -0
  210. package/dist/hf_datasets-6GXVKQD7.js +10 -0
  211. package/dist/hf_models-PJPGZAC5.js +10 -0
  212. package/dist/hf_spaces-LFNFOLBF.js +10 -0
  213. package/dist/index.d.ts +897 -609
  214. package/dist/index.js +2371 -781
  215. package/dist/index.js.map +1 -1
  216. package/dist/jaeger-GCA6MJ6E.js +8 -0
  217. package/dist/lancedb-TJ5YSJY5.js +7 -0
  218. package/dist/langfuse-RUMTUMXS.js +8 -0
  219. package/dist/linear-BCE4KEAC.js +7 -0
  220. package/dist/minio-5SO6KBTK.js +11 -0
  221. package/dist/mongodb-7C5MBESV.js +7 -0
  222. package/dist/nextcloud-4O2LZVW2.js +9 -0
  223. package/dist/notion-RVKEAQ2M.js +7 -0
  224. package/dist/oci-OQXOIC62.js +10 -0
  225. package/dist/postgres-AV45GNRS.js +7 -0
  226. package/dist/qingstor-W277YA4K.js +11 -0
  227. package/dist/r2-FUA4IORE.js +10 -0
  228. package/dist/{redis-6D55Q2WB.js → redis-LPS357NF.js} +2 -2
  229. package/dist/s3-FPNWWIVM.js +8 -0
  230. package/dist/scaleway-BP3732U7.js +11 -0
  231. package/dist/seaweedfs-MC6HIEP4.js +11 -0
  232. package/dist/slack-JFGW7VLN.js +7 -0
  233. package/dist/ssh-UYPG42LM.js +8 -0
  234. package/dist/supabase-A3KUFMDC.js +10 -0
  235. package/dist/tencent-5464UQ2X.js +11 -0
  236. package/dist/trello-O2KB3FUO.js +8 -0
  237. package/dist/wasabi-2IKBIWNO.js +10 -0
  238. package/dist/wasabi-2IKBIWNO.js.map +1 -0
  239. package/package.json +15 -3
  240. package/dist/aliyun-PGI57A43.js +0 -10
  241. package/dist/backblaze-TSPL6Y56.js +0 -10
  242. package/dist/box-7XTZYDSO.js +0 -8
  243. package/dist/ceph-C265UI5T.js +0 -10
  244. package/dist/chunk-2ERLWAGG.js.map +0 -1
  245. package/dist/chunk-2QNPKPZZ.js +0 -59
  246. package/dist/chunk-2QNPKPZZ.js.map +0 -1
  247. package/dist/chunk-3ASOQTZB.js +0 -59
  248. package/dist/chunk-3ASOQTZB.js.map +0 -1
  249. package/dist/chunk-3JZN3GYO.js.map +0 -1
  250. package/dist/chunk-4GYB7DGC.js.map +0 -1
  251. package/dist/chunk-5YRWF5RP.js.map +0 -1
  252. package/dist/chunk-5ZHNPNDD.js.map +0 -1
  253. package/dist/chunk-AULFV3KY.js.map +0 -1
  254. package/dist/chunk-BWLUBJQG.js.map +0 -1
  255. package/dist/chunk-C7TNKIK5.js.map +0 -1
  256. package/dist/chunk-CB76WPUS.js.map +0 -1
  257. package/dist/chunk-CGGO5NKD.js.map +0 -1
  258. package/dist/chunk-CQCTCW4S.js.map +0 -1
  259. package/dist/chunk-D3U7VQCG.js +0 -25
  260. package/dist/chunk-D3U7VQCG.js.map +0 -1
  261. package/dist/chunk-E3KXVEYI.js.map +0 -1
  262. package/dist/chunk-EVK6HH6Z.js +0 -17
  263. package/dist/chunk-EVK6HH6Z.js.map +0 -1
  264. package/dist/chunk-FRGTDZQT.js.map +0 -1
  265. package/dist/chunk-GF75O2EN.js +0 -54
  266. package/dist/chunk-GF75O2EN.js.map +0 -1
  267. package/dist/chunk-GTAS3QVC.js +0 -25
  268. package/dist/chunk-GTAS3QVC.js.map +0 -1
  269. package/dist/chunk-H62XQZUM.js.map +0 -1
  270. package/dist/chunk-HCU3B6FW.js.map +0 -1
  271. package/dist/chunk-HEDE2377.js.map +0 -1
  272. package/dist/chunk-HGIPWY5Y.js.map +0 -1
  273. package/dist/chunk-HSD24IP2.js.map +0 -1
  274. package/dist/chunk-HWQPEBID.js.map +0 -1
  275. package/dist/chunk-IEHPTILN.js +0 -21
  276. package/dist/chunk-IEHPTILN.js.map +0 -1
  277. package/dist/chunk-IEVLWEBO.js.map +0 -1
  278. package/dist/chunk-IKJQOYI4.js +0 -26
  279. package/dist/chunk-IKJQOYI4.js.map +0 -1
  280. package/dist/chunk-IUXXZHY3.js.map +0 -1
  281. package/dist/chunk-JBDFYIN2.js.map +0 -1
  282. package/dist/chunk-JEBH5APX.js.map +0 -1
  283. package/dist/chunk-JHI2PHHD.js +0 -25
  284. package/dist/chunk-JHI2PHHD.js.map +0 -1
  285. package/dist/chunk-KAWDDS27.js.map +0 -1
  286. package/dist/chunk-KGC2OGXI.js +0 -27
  287. package/dist/chunk-KGC2OGXI.js.map +0 -1
  288. package/dist/chunk-LPLZLSMK.js.map +0 -1
  289. package/dist/chunk-M6E7VK4D.js.map +0 -1
  290. package/dist/chunk-MIQ3ECZM.js +0 -54
  291. package/dist/chunk-MIQ3ECZM.js.map +0 -1
  292. package/dist/chunk-MRXTUFBZ.js.map +0 -1
  293. package/dist/chunk-NJ42VNXG.js.map +0 -1
  294. package/dist/chunk-OSVZKYXS.js.map +0 -1
  295. package/dist/chunk-RHUEV4I7.js.map +0 -1
  296. package/dist/chunk-S4KVLPBR.js.map +0 -1
  297. package/dist/chunk-SAOQW6ZJ.js.map +0 -1
  298. package/dist/chunk-SI4GMRXD.js.map +0 -1
  299. package/dist/chunk-UAJYJP5C.js +0 -59
  300. package/dist/chunk-UAJYJP5C.js.map +0 -1
  301. package/dist/chunk-UYA3XL3J.js +0 -54
  302. package/dist/chunk-UYA3XL3J.js.map +0 -1
  303. package/dist/chunk-VBYIDRNU.js.map +0 -1
  304. package/dist/chunk-VHED2STW.js.map +0 -1
  305. package/dist/chunk-VIICUPWQ.js +0 -23
  306. package/dist/chunk-VIICUPWQ.js.map +0 -1
  307. package/dist/chunk-VLRSOWHP.js.map +0 -1
  308. package/dist/chunk-W5ZLIQFR.js.map +0 -1
  309. package/dist/chunk-WTSSEUOZ.js +0 -59
  310. package/dist/chunk-WTSSEUOZ.js.map +0 -1
  311. package/dist/chunk-WWP2STF5.js +0 -59
  312. package/dist/chunk-WWP2STF5.js.map +0 -1
  313. package/dist/chunk-XFSEADPC.js.map +0 -1
  314. package/dist/chunk-YBVMZ7SR.js +0 -59
  315. package/dist/chunk-YBVMZ7SR.js.map +0 -1
  316. package/dist/chunk-YRJICL2Q.js.map +0 -1
  317. package/dist/chunk-ZMREYTHA.js.map +0 -1
  318. package/dist/chunk-ZPB3SLPK.js.map +0 -1
  319. package/dist/chunk-ZPZQXHW2.js.map +0 -1
  320. package/dist/config-3WDIJPTG.js +0 -9
  321. package/dist/config-4QV4QYI5.js +0 -9
  322. package/dist/config-5ZXN2T2H.js +0 -9
  323. package/dist/config-EHE52ZTK.js +0 -9
  324. package/dist/config-HTXOOAOD.js +0 -9
  325. package/dist/config-K63RX6EU.js +0 -9
  326. package/dist/config-LEALEMKA.js +0 -9
  327. package/dist/config-RI7IEZUF.js +0 -9
  328. package/dist/databricks_volume-ETRDJVVQ.js +0 -7
  329. package/dist/digitalocean-QP72DR4J.js +0 -10
  330. package/dist/discord-BSN5RB3E.js +0 -8
  331. package/dist/disk-24NWTN2I.js +0 -7
  332. package/dist/dropbox-OSTZXSIE.js +0 -8
  333. package/dist/email-4ZFPSWIN.js +0 -8
  334. package/dist/gcs-PFWR6MIW.js +0 -10
  335. package/dist/gdocs-GPAZRQG5.js +0 -8
  336. package/dist/gdrive-XSX6A7B3.js +0 -8
  337. package/dist/github-EQ4NXUTA.js +0 -8
  338. package/dist/github_ci-QL5B2Q2N.js +0 -8
  339. package/dist/gridfs-KZRZ6SIB.js +0 -9
  340. package/dist/gsheets-N53WEXN2.js +0 -8
  341. package/dist/gslides-TATSARTH.js +0 -8
  342. package/dist/hf_buckets-BK7NGJWS.js +0 -10
  343. package/dist/hf_datasets-UQ5QGM4L.js +0 -10
  344. package/dist/hf_models-75LFCQCS.js +0 -10
  345. package/dist/hf_spaces-6T2KB3UC.js +0 -10
  346. package/dist/langfuse-AMQCQWNE.js +0 -8
  347. package/dist/linear-V3TXO6CV.js +0 -8
  348. package/dist/minio-IZRZY4C5.js +0 -10
  349. package/dist/mongodb-VMKPQCPX.js +0 -7
  350. package/dist/nextcloud-5RHQCGDO.js +0 -9
  351. package/dist/notion-6PPNTQFM.js +0 -8
  352. package/dist/oci-CKYBSFZJ.js +0 -10
  353. package/dist/postgres-WIQBVL5M.js +0 -7
  354. package/dist/qingstor-AP4IIPLY.js +0 -10
  355. package/dist/r2-C4XGEWQY.js +0 -10
  356. package/dist/s3-XQBI2CXN.js +0 -8
  357. package/dist/scaleway-SEZJVURB.js +0 -10
  358. package/dist/seaweedfs-3XYIAFU2.js +0 -10
  359. package/dist/slack-ZHXDJQY4.js +0 -8
  360. package/dist/ssh-X2MO7JOV.js +0 -8
  361. package/dist/supabase-BBM44UTM.js +0 -10
  362. package/dist/tencent-X72USLJ7.js +0 -10
  363. package/dist/trello-EER5NG7L.js +0 -8
  364. package/dist/wasabi-O4MVIUFG.js +0 -10
  365. /package/dist/{aliyun-PGI57A43.js.map → aliyun-S62BR3TB.js.map} +0 -0
  366. /package/dist/{backblaze-TSPL6Y56.js.map → backblaze-4EKSW63F.js.map} +0 -0
  367. /package/dist/{box-7XTZYDSO.js.map → box-ZPLZAGMK.js.map} +0 -0
  368. /package/dist/{ceph-C265UI5T.js.map → ceph-ALKLD3MO.js.map} +0 -0
  369. /package/dist/{chunk-4M73WHIE.js.map → chunk-BZTVYOES.js.map} +0 -0
  370. /package/dist/{chunk-BWWU5T2D.js.map → chunk-ENW5BVYN.js.map} +0 -0
  371. /package/dist/{chunk-F5NWRF32.js.map → chunk-ETIAW4YD.js.map} +0 -0
  372. /package/dist/{chunk-TUNR4VUM.js.map → chunk-GMMQ3ZK4.js.map} +0 -0
  373. /package/dist/{chunk-DXU7NZPH.js.map → chunk-HCRYAFBI.js.map} +0 -0
  374. /package/dist/{chunk-V7JVMG63.js.map → chunk-OXEQSPND.js.map} +0 -0
  375. /package/dist/{config-2LASFFRD.js.map → config-2YBCHU2W.js.map} +0 -0
  376. /package/dist/{config-3WDIJPTG.js.map → config-3YRGRW72.js.map} +0 -0
  377. /package/dist/{config-4QV4QYI5.js.map → config-4GSOMUMF.js.map} +0 -0
  378. /package/dist/{config-54USUVSE.js.map → config-5YBUWFUP.js.map} +0 -0
  379. /package/dist/{config-5ZXN2T2H.js.map → config-5ZRKJTKG.js.map} +0 -0
  380. /package/dist/{config-A2GQYJDB.js.map → config-A25LTL5W.js.map} +0 -0
  381. /package/dist/{config-BBOLI7VE.js.map → config-CLU7JABG.js.map} +0 -0
  382. /package/dist/{config-BIBFLUIR.js.map → config-D2RF7L3N.js.map} +0 -0
  383. /package/dist/{config-CPYFOUQO.js.map → config-E55TKM6K.js.map} +0 -0
  384. /package/dist/{config-DWSJL3NH.js.map → config-ELDOFRJW.js.map} +0 -0
  385. /package/dist/{config-E22XAGYN.js.map → config-FPC3RBFD.js.map} +0 -0
  386. /package/dist/{config-EHE52ZTK.js.map → config-FPM3LAW7.js.map} +0 -0
  387. /package/dist/{config-EX3ZJTZI.js.map → config-G3F54CS4.js.map} +0 -0
  388. /package/dist/{config-FRK7ZL37.js.map → config-G43HRUI3.js.map} +0 -0
  389. /package/dist/{config-HQXNFQZS.js.map → config-GG3WO5PB.js.map} +0 -0
  390. /package/dist/{config-HTXOOAOD.js.map → config-JUYBWAZE.js.map} +0 -0
  391. /package/dist/{config-IPNWAJHH.js.map → config-LJ5T6TVA.js.map} +0 -0
  392. /package/dist/{config-J2C53GOT.js.map → config-MDSAE4O3.js.map} +0 -0
  393. /package/dist/{config-K63RX6EU.js.map → config-NRIOKK5T.js.map} +0 -0
  394. /package/dist/{config-L7SBSH5L.js.map → config-OYK2BSJK.js.map} +0 -0
  395. /package/dist/{config-LEALEMKA.js.map → config-PB3KA2CE.js.map} +0 -0
  396. /package/dist/{config-M3Z47VYU.js.map → config-QY4IL3PH.js.map} +0 -0
  397. /package/dist/{config-MZM3IPFM.js.map → config-R4LAOEDS.js.map} +0 -0
  398. /package/dist/{config-OJ2BPESH.js.map → config-RIAAD6RW.js.map} +0 -0
  399. /package/dist/{config-QO2XUME4.js.map → config-SYNEQAUB.js.map} +0 -0
  400. /package/dist/{config-QWQGOXQ5.js.map → config-TJKGYA2B.js.map} +0 -0
  401. /package/dist/{config-RI7IEZUF.js.map → config-UURRGA7U.js.map} +0 -0
  402. /package/dist/{config-SPW6NESU.js.map → config-VPLHQXVE.js.map} +0 -0
  403. /package/dist/{config-T2IUIU5C.js.map → config-WRACCRPN.js.map} +0 -0
  404. /package/dist/{config-VKKZGC7V.js.map → config-WVHKXEVE.js.map} +0 -0
  405. /package/dist/{config-W7EVPJNK.js.map → config-XU7R36IE.js.map} +0 -0
  406. /package/dist/{config-WKQ3FGTZ.js.map → config-Y2KOUYSS.js.map} +0 -0
  407. /package/dist/{config-WVILHDFV.js.map → databricks_volume-CNCPTZHS.js.map} +0 -0
  408. /package/dist/{config-XU6D5C7E.js.map → digitalocean-DJZOUB6Q.js.map} +0 -0
  409. /package/dist/{databricks_volume-ETRDJVVQ.js.map → discord-ETB2CADR.js.map} +0 -0
  410. /package/dist/{digitalocean-QP72DR4J.js.map → disk-WEHSTK3F.js.map} +0 -0
  411. /package/dist/{discord-BSN5RB3E.js.map → dropbox-XN6PGLNE.js.map} +0 -0
  412. /package/dist/{disk-24NWTN2I.js.map → email-OV7XCP3T.js.map} +0 -0
  413. /package/dist/{dropbox-OSTZXSIE.js.map → gcal-P56MRCGU.js.map} +0 -0
  414. /package/dist/{email-4ZFPSWIN.js.map → gcs-HFBIAE2C.js.map} +0 -0
  415. /package/dist/{gcs-PFWR6MIW.js.map → gdocs-LQ3UXP3J.js.map} +0 -0
  416. /package/dist/{gdocs-GPAZRQG5.js.map → gdrive-N6UBYLON.js.map} +0 -0
  417. /package/dist/{gdrive-XSX6A7B3.js.map → github-BPZREGPI.js.map} +0 -0
  418. /package/dist/{github-EQ4NXUTA.js.map → github_ci-7A4LUIZ7.js.map} +0 -0
  419. /package/dist/{github_ci-QL5B2Q2N.js.map → gmail-YED2MF6H.js.map} +0 -0
  420. /package/dist/{gmail-2TBT4CVH.js.map → gridfs-CPLQ4G62.js.map} +0 -0
  421. /package/dist/{gridfs-KZRZ6SIB.js.map → gsheets-4BNIJPQ6.js.map} +0 -0
  422. /package/dist/{gsheets-N53WEXN2.js.map → gslides-GDBYLO5A.js.map} +0 -0
  423. /package/dist/{gslides-TATSARTH.js.map → hf_buckets-FTJITQ3P.js.map} +0 -0
  424. /package/dist/{hf_buckets-BK7NGJWS.js.map → hf_datasets-6GXVKQD7.js.map} +0 -0
  425. /package/dist/{hf_datasets-UQ5QGM4L.js.map → hf_models-PJPGZAC5.js.map} +0 -0
  426. /package/dist/{hf_models-75LFCQCS.js.map → hf_spaces-LFNFOLBF.js.map} +0 -0
  427. /package/dist/{hf_spaces-6T2KB3UC.js.map → jaeger-GCA6MJ6E.js.map} +0 -0
  428. /package/dist/{langfuse-AMQCQWNE.js.map → lancedb-TJ5YSJY5.js.map} +0 -0
  429. /package/dist/{linear-V3TXO6CV.js.map → langfuse-RUMTUMXS.js.map} +0 -0
  430. /package/dist/{minio-IZRZY4C5.js.map → linear-BCE4KEAC.js.map} +0 -0
  431. /package/dist/{mongodb-VMKPQCPX.js.map → minio-5SO6KBTK.js.map} +0 -0
  432. /package/dist/{nextcloud-5RHQCGDO.js.map → mongodb-7C5MBESV.js.map} +0 -0
  433. /package/dist/{notion-6PPNTQFM.js.map → nextcloud-4O2LZVW2.js.map} +0 -0
  434. /package/dist/{oci-CKYBSFZJ.js.map → notion-RVKEAQ2M.js.map} +0 -0
  435. /package/dist/{postgres-WIQBVL5M.js.map → oci-OQXOIC62.js.map} +0 -0
  436. /package/dist/{qingstor-AP4IIPLY.js.map → postgres-AV45GNRS.js.map} +0 -0
  437. /package/dist/{r2-C4XGEWQY.js.map → qingstor-W277YA4K.js.map} +0 -0
  438. /package/dist/{redis-6D55Q2WB.js.map → r2-FUA4IORE.js.map} +0 -0
  439. /package/dist/{s3-XQBI2CXN.js.map → redis-LPS357NF.js.map} +0 -0
  440. /package/dist/{scaleway-SEZJVURB.js.map → s3-FPNWWIVM.js.map} +0 -0
  441. /package/dist/{seaweedfs-3XYIAFU2.js.map → scaleway-BP3732U7.js.map} +0 -0
  442. /package/dist/{slack-ZHXDJQY4.js.map → seaweedfs-MC6HIEP4.js.map} +0 -0
  443. /package/dist/{ssh-X2MO7JOV.js.map → slack-JFGW7VLN.js.map} +0 -0
  444. /package/dist/{supabase-BBM44UTM.js.map → ssh-UYPG42LM.js.map} +0 -0
  445. /package/dist/{tencent-X72USLJ7.js.map → supabase-A3KUFMDC.js.map} +0 -0
  446. /package/dist/{trello-EER5NG7L.js.map → tencent-5464UQ2X.js.map} +0 -0
  447. /package/dist/{wasabi-O4MVIUFG.js.map → trello-O2KB3FUO.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  redactSshConfig
3
- } from "./chunk-LPLZLSMK.js";
3
+ } from "./chunk-MONC734W.js";
4
4
 
5
5
  // src/resource/ssh/ssh.ts
6
6
  import {
@@ -89,18 +89,10 @@ var SSHAccessor = class extends Accessor {
89
89
  };
90
90
 
91
91
  // src/commands/builtin/ssh/index.ts
92
- import {
93
- ResourceName as ResourceName2,
94
- makeFiletypeCommands,
95
- makeGenericCommands
96
- } from "@struktoai/mirage-core";
97
-
98
- // src/core/ssh/read.ts
99
- import { enoent as enoent2 } from "@struktoai/mirage-core";
92
+ import { ResourceName as ResourceName2, makeGenericCommands } from "@struktoai/mirage-core";
100
93
 
101
- // src/core/ssh/stream.ts
102
- import { once } from "events";
103
- import { enoent } from "@struktoai/mirage-core";
94
+ // src/core/ssh/append.ts
95
+ import { invalidateAfterWrite } from "@struktoai/mirage-core";
104
96
 
105
97
  // src/core/ssh/utils.ts
106
98
  import { lstripSlash, mountPrefixOf, rstripSlash } from "@struktoai/mirage-core";
@@ -135,7 +127,29 @@ function isFileAttrs(attrs) {
135
127
  return (attrs.mode & S_IFMT) === S_IFREG;
136
128
  }
137
129
 
130
+ // src/core/ssh/append.ts
131
+ async function appendBytes(accessor, p, data) {
132
+ const sftp = await accessor.sftp();
133
+ const virtual = stripPrefix(p);
134
+ const remote = joinRoot(accessor.config.root ?? "/", virtual);
135
+ await new Promise((resolveFn, rejectFn) => {
136
+ sftp.appendFile(remote, Buffer.from(data), (err) => {
137
+ if (err) rejectFn(err);
138
+ else resolveFn();
139
+ });
140
+ });
141
+ await invalidateAfterWrite(p);
142
+ }
143
+
144
+ // src/core/ssh/constants.ts
145
+ var SCOPE_ERROR = 5e3;
146
+
147
+ // src/core/ssh/read.ts
148
+ import { enoent as enoent2 } from "@struktoai/mirage-core";
149
+
138
150
  // src/core/ssh/stream.ts
151
+ import { once } from "events";
152
+ import { enoent } from "@struktoai/mirage-core";
139
153
  async function waitForClose(rs) {
140
154
  try {
141
155
  await once(rs, "close");
@@ -221,72 +235,6 @@ async function read(accessor, p) {
221
235
  return out;
222
236
  }
223
237
 
224
- // src/core/ssh/entry.ts
225
- import { FileStat, FileType, guessType } from "@struktoai/mirage-core";
226
- function attrsToFileStat(name, attrs) {
227
- const modified = attrs.mtime !== void 0 ? new Date(attrs.mtime * 1e3).toISOString() : null;
228
- const extra = {};
229
- if (attrs.mode !== void 0) extra.mode = attrs.mode;
230
- if (attrs.uid !== void 0) extra.uid = attrs.uid;
231
- if (attrs.gid !== void 0) extra.gid = attrs.gid;
232
- if (isDirectoryAttrs(attrs)) {
233
- return new FileStat({
234
- name,
235
- size: null,
236
- modified,
237
- type: FileType.DIRECTORY,
238
- extra
239
- });
240
- }
241
- return new FileStat({
242
- name,
243
- size: attrs.size ?? null,
244
- modified,
245
- fingerprint: null,
246
- type: guessType(name),
247
- extra
248
- });
249
- }
250
-
251
- // src/core/ssh/stat.ts
252
- import { enoent as enoent3, rstripSlash as rstripSlash2 } from "@struktoai/mirage-core";
253
- async function stat(accessor, p) {
254
- const sftp = await accessor.sftp();
255
- const virtual = stripPrefix(p);
256
- const remote = joinRoot(accessor.config.root ?? "/", virtual);
257
- const attrs = await new Promise((resolveFn, rejectFn) => {
258
- sftp.lstat(remote, (err, stats) => {
259
- if (err !== void 0) {
260
- if (isNoSuchFile(err)) rejectFn(enoent3(p));
261
- else rejectFn(err);
262
- return;
263
- }
264
- resolveFn(stats);
265
- });
266
- });
267
- const cleaned = rstripSlash2(virtual);
268
- const name = cleaned.length === 0 ? "/" : cleaned.split("/").pop() ?? "/";
269
- return attrsToFileStat(name, attrs);
270
- }
271
-
272
- // src/core/ssh/append.ts
273
- import { invalidateAfterWrite } from "@struktoai/mirage-core";
274
- async function appendBytes(accessor, p, data) {
275
- const sftp = await accessor.sftp();
276
- const virtual = stripPrefix(p);
277
- const remote = joinRoot(accessor.config.root ?? "/", virtual);
278
- await new Promise((resolveFn, rejectFn) => {
279
- sftp.appendFile(remote, Buffer.from(data), (err) => {
280
- if (err) rejectFn(err);
281
- else resolveFn();
282
- });
283
- });
284
- await invalidateAfterWrite(p);
285
- }
286
-
287
- // src/core/ssh/constants.ts
288
- var SCOPE_ERROR = 5e3;
289
-
290
238
  // src/core/ssh/write.ts
291
239
  import { ResourceName, invalidateAfterWrite as invalidateAfterWrite2, record } from "@struktoai/mirage-core";
292
240
  async function writeBytes(accessor, p, data) {
@@ -315,12 +263,14 @@ function create(accessor, path) {
315
263
  return writeBytes(accessor, path, new Uint8Array());
316
264
  }
317
265
 
318
- // src/core/ssh/du.ts
319
- import { norm } from "@struktoai/mirage-core";
266
+ // src/core/ssh/du/entries.ts
267
+ import { compareCodePoints, norm } from "@struktoai/mirage-core";
268
+
269
+ // src/core/ssh/du/walk.ts
320
270
  async function readRemoteDir(accessor, remote) {
321
271
  const sftp = await accessor.sftp();
322
272
  return new Promise((resolveFn, rejectFn) => {
323
- sftp.readdir(remote, (err, entries) => {
273
+ sftp.readdir(remote, (err, entries2) => {
324
274
  if (err !== void 0) {
325
275
  const code = err.code;
326
276
  if (code === 2) {
@@ -330,7 +280,7 @@ async function readRemoteDir(accessor, remote) {
330
280
  rejectFn(err);
331
281
  return;
332
282
  }
333
- resolveFn(entries);
283
+ resolveFn(entries2);
334
284
  });
335
285
  });
336
286
  }
@@ -357,10 +307,10 @@ async function walkSizes(accessor, virtual) {
357
307
  if (st === null) return 0;
358
308
  if (isFileAttrs(st)) return st.size;
359
309
  if (!isDirectoryAttrs(st)) return 0;
360
- const entries = await readRemoteDir(accessor, remote);
361
- if (entries === null) return 0;
310
+ const entries2 = await readRemoteDir(accessor, remote);
311
+ if (entries2 === null) return 0;
362
312
  let total = 0;
363
- for (const entry of entries) {
313
+ for (const entry of entries2) {
364
314
  if (entry.filename === "." || entry.filename === "..") continue;
365
315
  const child = virtual === "/" ? `/${entry.filename}` : `${virtual}/${entry.filename}`;
366
316
  if (isDirectoryAttrs(entry.attrs)) {
@@ -371,12 +321,12 @@ async function walkSizes(accessor, virtual) {
371
321
  }
372
322
  return total;
373
323
  }
374
- async function walkAll(accessor, virtual, entries) {
324
+ async function walkAll(accessor, virtual, entries2) {
375
325
  const remote = joinRoot(accessor.config.root ?? "/", virtual);
376
326
  const st = await statRemote(accessor, remote);
377
327
  if (st === null) return 0;
378
328
  if (isFileAttrs(st)) {
379
- entries.push([virtual, st.size]);
329
+ entries2.push([virtual, st.size]);
380
330
  return st.size;
381
331
  }
382
332
  if (!isDirectoryAttrs(st)) return 0;
@@ -387,26 +337,30 @@ async function walkAll(accessor, virtual, entries) {
387
337
  if (entry.filename === "." || entry.filename === "..") continue;
388
338
  const child = virtual === "/" ? `/${entry.filename}` : `${virtual}/${entry.filename}`;
389
339
  if (isDirectoryAttrs(entry.attrs)) {
390
- total += await walkAll(accessor, child, entries);
340
+ total += await walkAll(accessor, child, entries2);
391
341
  } else {
392
- const size = entry.attrs.size;
393
- entries.push([child, size]);
394
- total += size;
342
+ const size2 = entry.attrs.size;
343
+ entries2.push([child, size2]);
344
+ total += size2;
395
345
  }
396
346
  }
397
347
  return total;
398
348
  }
399
- async function du(accessor, p) {
349
+
350
+ // src/core/ssh/du/entries.ts
351
+ async function entries(accessor, p) {
352
+ const virtual = norm(stripPrefix(p));
353
+ const entries2 = [];
354
+ const total = await walkAll(accessor, virtual, entries2);
355
+ entries2.sort((a, b) => compareCodePoints(a[0], b[0]));
356
+ return [entries2, total];
357
+ }
358
+
359
+ // src/core/ssh/du/size.ts
360
+ async function size(accessor, p) {
400
361
  const virtual = stripPrefix(p);
401
362
  return walkSizes(accessor, virtual);
402
363
  }
403
- async function duAll(accessor, p) {
404
- const virtual = norm(stripPrefix(p));
405
- const entries = [];
406
- const total = await walkAll(accessor, virtual, entries);
407
- entries.sort((a, b) => a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0);
408
- return [entries, total];
409
- }
410
364
 
411
365
  // src/core/ssh/exists.ts
412
366
  async function exists(accessor, p) {
@@ -420,7 +374,7 @@ async function exists(accessor, p) {
420
374
  }
421
375
 
422
376
  // src/core/ssh/find.ts
423
- import { norm as norm2 } from "@struktoai/mirage-core";
377
+ import { compareCodePoints as compareCodePoints2, norm as norm2 } from "@struktoai/mirage-core";
424
378
  import {
425
379
  buildTree,
426
380
  emitStartPath,
@@ -445,9 +399,9 @@ function matches(entry, entryPath, isDir, depth, opts, tree) {
445
399
  return false;
446
400
  }
447
401
  if (opts.minSize != null || opts.maxSize != null) {
448
- const size = isDir ? 0 : entry.attrs.size;
449
- if (opts.minSize != null && size < opts.minSize) return false;
450
- if (opts.maxSize != null && size > opts.maxSize) return false;
402
+ const size2 = isDir ? 0 : entry.attrs.size;
403
+ if (opts.minSize != null && size2 < opts.minSize) return false;
404
+ if (opts.maxSize != null && size2 > opts.maxSize) return false;
451
405
  }
452
406
  if (opts.mtimeMin !== null && opts.mtimeMin !== void 0 || opts.mtimeMax !== null && opts.mtimeMax !== void 0) {
453
407
  const mtime = entry.attrs.mtime;
@@ -459,7 +413,7 @@ function matches(entry, entryPath, isDir, depth, opts, tree) {
459
413
  async function readRemoteDir2(accessor, remote) {
460
414
  const sftp = await accessor.sftp();
461
415
  return new Promise((resolveFn, rejectFn) => {
462
- sftp.readdir(remote, (err, entries) => {
416
+ sftp.readdir(remote, (err, entries2) => {
463
417
  if (err !== void 0) {
464
418
  const code = err.code;
465
419
  if (code === 2) {
@@ -469,7 +423,7 @@ async function readRemoteDir2(accessor, remote) {
469
423
  rejectFn(err);
470
424
  return;
471
425
  }
472
- resolveFn(entries);
426
+ resolveFn(entries2);
473
427
  });
474
428
  });
475
429
  }
@@ -494,9 +448,9 @@ async function walk(ctx, virtual, depth) {
494
448
  const opts = ctx.options;
495
449
  if (opts.maxDepth !== null && opts.maxDepth !== void 0 && depth > opts.maxDepth) return;
496
450
  const remote = joinRoot(ctx.accessor.config.root ?? "/", virtual);
497
- const entries = await readRemoteDir2(ctx.accessor, remote);
498
- if (entries === null) return;
499
- for (const entry of entries) {
451
+ const entries2 = await readRemoteDir2(ctx.accessor, remote);
452
+ if (entries2 === null) return;
453
+ for (const entry of entries2) {
500
454
  if (entry.filename === "." || entry.filename === "..") continue;
501
455
  const childPath = virtual === "/" ? `/${entry.filename}` : `${virtual}/${entry.filename}`;
502
456
  const isDir = isDirectoryAttrs(entry.attrs);
@@ -537,13 +491,13 @@ async function find(accessor, p, options = {}) {
537
491
  });
538
492
  }
539
493
  await walk({ accessor, options, results, baseDepth, tree }, virtual, 0);
540
- results.sort();
494
+ results.sort(compareCodePoints2);
541
495
  return results;
542
496
  }
543
497
 
544
498
  // src/core/ssh/mkdir.ts
545
499
  import { invalidateAfterWrite as invalidateAfterWrite3, invalidateAncestors } from "@struktoai/mirage-core";
546
- import { enoent as enoent4, stripSlash } from "@struktoai/mirage-core";
500
+ import { enoent as enoent3, stripSlash } from "@struktoai/mirage-core";
547
501
  async function statRemote3(sftp, remote) {
548
502
  return new Promise((resolveFn) => {
549
503
  sftp.lstat(remote, (err, stats) => {
@@ -576,7 +530,7 @@ async function mkdir(accessor, p, recursive) {
576
530
  try {
577
531
  await mkdirOne(sftp, remote, false);
578
532
  } catch (err) {
579
- if (isNoSuchFile(err)) throw enoent4(p);
533
+ if (isNoSuchFile(err)) throw enoent3(p);
580
534
  throw err;
581
535
  }
582
536
  return;
@@ -597,19 +551,19 @@ async function mkdir(accessor, p, recursive) {
597
551
  }
598
552
 
599
553
  // src/core/ssh/readdir.ts
600
- import { enoent as enoent5, mountPrefixOf as mountPrefixOf2, stripSlash as stripSlash2 } from "@struktoai/mirage-core";
554
+ import { compareCodePoints as compareCodePoints3, enoent as enoent4, mountPrefixOf as mountPrefixOf2, stripSlash as stripSlash2 } from "@struktoai/mirage-core";
601
555
  async function readdir(accessor, p) {
602
556
  const sftp = await accessor.sftp();
603
557
  const virtual = p.pattern !== null ? p.directory.slice(mountPrefixOf2(p.virtual, p.resourcePath).length) || "/" : stripPrefix(p);
604
558
  const remote = joinRoot(accessor.config.root ?? "/", virtual);
605
559
  const list = await new Promise((resolveFn, rejectFn) => {
606
- sftp.readdir(remote, (err, entries) => {
560
+ sftp.readdir(remote, (err, entries2) => {
607
561
  if (err !== void 0) {
608
- if (isNoSuchFile(err)) rejectFn(enoent5(p));
562
+ if (isNoSuchFile(err)) rejectFn(enoent4(p));
609
563
  else rejectFn(err);
610
564
  return;
611
565
  }
612
- resolveFn(entries);
566
+ resolveFn(entries2);
613
567
  });
614
568
  });
615
569
  const base = `/${stripSlash2(virtual)}`;
@@ -620,13 +574,13 @@ async function readdir(accessor, p) {
620
574
  if (entry.filename === "." || entry.filename === "..") continue;
621
575
  names.push(`${mountPrefix}${dirPrefix}${entry.filename}`);
622
576
  }
623
- names.sort();
577
+ names.sort(compareCodePoints3);
624
578
  return names;
625
579
  }
626
580
 
627
581
  // src/core/ssh/rename.ts
628
582
  import { invalidateAfterUnlink, invalidateAfterWrite as invalidateAfterWrite4 } from "@struktoai/mirage-core";
629
- import { enoent as enoent6 } from "@struktoai/mirage-core";
583
+ import { enoent as enoent5 } from "@struktoai/mirage-core";
630
584
  async function rename(accessor, src, dst) {
631
585
  const sftp = await accessor.sftp();
632
586
  const root = accessor.config.root ?? "/";
@@ -637,7 +591,7 @@ async function rename(accessor, src, dst) {
637
591
  await new Promise((resolveFn, rejectFn) => {
638
592
  const done = (err) => {
639
593
  if (!err) resolveFn();
640
- else if (isNoSuchFile(err)) rejectFn(enoent6(src));
594
+ else if (isNoSuchFile(err)) rejectFn(enoent5(src));
641
595
  else rejectFn(err);
642
596
  };
643
597
  try {
@@ -651,7 +605,7 @@ async function rename(accessor, src, dst) {
651
605
  }
652
606
 
653
607
  // src/core/ssh/rm.ts
654
- import { enoent as enoent7, invalidateAfterUnlink as invalidateAfterUnlink2 } from "@struktoai/mirage-core";
608
+ import { enoent as enoent6, invalidateAfterUnlink as invalidateAfterUnlink2 } from "@struktoai/mirage-core";
655
609
  async function statRemote4(sftp, remote) {
656
610
  return new Promise((resolveFn, rejectFn) => {
657
611
  sftp.lstat(remote, (err, stats) => {
@@ -687,8 +641,8 @@ async function rmdirRemote(sftp, remote) {
687
641
  async function rmRecurse(sftp, remote) {
688
642
  const stats = await statRemote4(sftp, remote);
689
643
  if (isDirectoryAttrs(stats)) {
690
- const entries = await readdirRemote(sftp, remote);
691
- for (const entry of entries) {
644
+ const entries2 = await readdirRemote(sftp, remote);
645
+ for (const entry of entries2) {
692
646
  if (entry.filename === "." || entry.filename === "..") continue;
693
647
  const child = remote === "/" ? `/${entry.filename}` : `${remote}/${entry.filename}`;
694
648
  await rmRecurse(sftp, child);
@@ -705,14 +659,14 @@ async function rmR(accessor, p) {
705
659
  try {
706
660
  await rmRecurse(sftp, remote);
707
661
  } catch (err) {
708
- if (isNoSuchFile(err)) throw enoent7(p);
662
+ if (isNoSuchFile(err)) throw enoent6(p);
709
663
  throw err;
710
664
  }
711
665
  await invalidateAfterUnlink2(p);
712
666
  }
713
667
 
714
668
  // src/core/ssh/rmdir.ts
715
- import { enoent as enoent8, invalidateAfterUnlink as invalidateAfterUnlink3 } from "@struktoai/mirage-core";
669
+ import { enoent as enoent7, invalidateAfterUnlink as invalidateAfterUnlink3 } from "@struktoai/mirage-core";
716
670
  async function rmdir(accessor, p) {
717
671
  const sftp = await accessor.sftp();
718
672
  const virtual = stripPrefix(p);
@@ -723,13 +677,118 @@ async function rmdir(accessor, p) {
723
677
  resolveFn();
724
678
  return;
725
679
  }
726
- if (isNoSuchFile(err)) rejectFn(enoent8(p));
680
+ if (isNoSuchFile(err)) rejectFn(enoent7(p));
727
681
  else rejectFn(err);
728
682
  });
729
683
  });
730
684
  await invalidateAfterUnlink3(p);
731
685
  }
732
686
 
687
+ // src/core/ssh/set_attrs.ts
688
+ import { enoent as enoent8 } from "@struktoai/mirage-core";
689
+ function sftpStat(sftp, remote, p) {
690
+ return new Promise((resolveFn, rejectFn) => {
691
+ sftp.stat(remote, (err, stats) => {
692
+ if (err !== void 0) {
693
+ if (isNoSuchFile(err)) rejectFn(enoent8(p));
694
+ else rejectFn(err);
695
+ return;
696
+ }
697
+ resolveFn(stats);
698
+ });
699
+ });
700
+ }
701
+ function sftpChmod(sftp, remote, mode) {
702
+ return new Promise((resolveFn, rejectFn) => {
703
+ sftp.chmod(remote, mode, (err) => {
704
+ if (err !== void 0 && err !== null) rejectFn(err);
705
+ else resolveFn();
706
+ });
707
+ });
708
+ }
709
+ function sftpUtimes(sftp, remote, atime, mtime) {
710
+ return new Promise((resolveFn, rejectFn) => {
711
+ sftp.utimes(remote, atime, mtime, (err) => {
712
+ if (err !== void 0 && err !== null) rejectFn(err);
713
+ else resolveFn();
714
+ });
715
+ });
716
+ }
717
+ async function setAttrs(accessor, path, fields) {
718
+ const sftp = await accessor.sftp();
719
+ const remote = joinRoot(accessor.config.root ?? "/", stripPrefix(path));
720
+ const st = await sftpStat(sftp, remote, path);
721
+ const residual = {};
722
+ if (fields.mode !== void 0) {
723
+ const keep2 = st.isDirectory() ? 448 : 384;
724
+ await sftpChmod(sftp, remote, fields.mode | keep2);
725
+ if ((fields.mode | keep2) !== fields.mode) residual.mode = fields.mode;
726
+ }
727
+ if (fields.uid !== void 0) residual.uid = fields.uid;
728
+ if (fields.gid !== void 0) residual.gid = fields.gid;
729
+ if (fields.atime !== void 0 || fields.mtime !== void 0) {
730
+ const newAtime = fields.atime !== void 0 ? Math.floor(Date.parse(fields.atime) / 1e3) : st.atime;
731
+ const newMtime = fields.mtime !== void 0 ? Math.floor(Date.parse(fields.mtime) / 1e3) : st.mtime;
732
+ await sftpUtimes(sftp, remote, newAtime, newMtime);
733
+ }
734
+ return residual;
735
+ }
736
+
737
+ // src/core/ssh/entry.ts
738
+ import { FileStat, FileType, guessType } from "@struktoai/mirage-core";
739
+ function attrsToFileStat(name, attrs) {
740
+ const modified = attrs.mtime !== void 0 ? new Date(attrs.mtime * 1e3).toISOString() : null;
741
+ const extra = {};
742
+ if (attrs.mode !== void 0) extra.mode = attrs.mode;
743
+ if (attrs.uid !== void 0) extra.uid = attrs.uid;
744
+ if (attrs.gid !== void 0) extra.gid = attrs.gid;
745
+ const mode = attrs.mode !== void 0 ? attrs.mode & 4095 : null;
746
+ const atime = attrs.atime !== void 0 ? new Date(attrs.atime * 1e3).toISOString() : null;
747
+ if (isDirectoryAttrs(attrs)) {
748
+ return new FileStat({
749
+ name,
750
+ size: null,
751
+ modified,
752
+ fingerprint: modified,
753
+ type: FileType.DIRECTORY,
754
+ mode,
755
+ atime,
756
+ extra
757
+ });
758
+ }
759
+ return new FileStat({
760
+ name,
761
+ size: attrs.size ?? null,
762
+ modified,
763
+ fingerprint: modified,
764
+ type: guessType(name),
765
+ mode,
766
+ atime,
767
+ extra
768
+ });
769
+ }
770
+
771
+ // src/core/ssh/stat.ts
772
+ import { enoent as enoent9, rstripSlash as rstripSlash2 } from "@struktoai/mirage-core";
773
+ async function stat(accessor, p) {
774
+ const sftp = await accessor.sftp();
775
+ const virtual = stripPrefix(p);
776
+ const remote = joinRoot(accessor.config.root ?? "/", virtual);
777
+ const attrs = await new Promise((resolveFn, rejectFn) => {
778
+ sftp.stat(remote, (err, stats) => {
779
+ if (err !== void 0) {
780
+ if (isNoSuchFile(err)) rejectFn(enoent9(p));
781
+ else rejectFn(err);
782
+ return;
783
+ }
784
+ resolveFn(stats);
785
+ });
786
+ });
787
+ const cleaned = rstripSlash2(virtual);
788
+ const name = cleaned.length === 0 ? "/" : cleaned.split("/").pop() ?? "/";
789
+ return attrsToFileStat(name, attrs);
790
+ }
791
+
733
792
  // src/core/ssh/truncate.ts
734
793
  async function truncate(accessor, p, length) {
735
794
  let data;
@@ -749,7 +808,7 @@ async function truncate(accessor, p, length) {
749
808
 
750
809
  // src/core/ssh/unlink.ts
751
810
  import { invalidateAfterUnlink as invalidateAfterUnlink4 } from "@struktoai/mirage-core";
752
- import { enoent as enoent9 } from "@struktoai/mirage-core";
811
+ import { enoent as enoent10 } from "@struktoai/mirage-core";
753
812
  async function unlink(accessor, p) {
754
813
  const sftp = await accessor.sftp();
755
814
  const virtual = stripPrefix(p);
@@ -760,7 +819,7 @@ async function unlink(accessor, p) {
760
819
  resolveFn();
761
820
  return;
762
821
  }
763
- if (isNoSuchFile(err)) rejectFn(enoent9(p));
822
+ if (isNoSuchFile(err)) rejectFn(enoent10(p));
764
823
  else rejectFn(err);
765
824
  });
766
825
  });
@@ -788,25 +847,19 @@ var SSH_IO = {
788
847
  truncate,
789
848
  append: appendBytes,
790
849
  find,
791
- duTotal: du,
792
- duAll
850
+ du: { size, entries },
851
+ setAttrs
793
852
  };
794
853
 
795
854
  // src/commands/builtin/ssh/index.ts
796
855
  var SSH_COMMANDS = [
797
- ...makeFiletypeCommands({
798
- resource: ResourceName2.SSH,
799
- readBytes: read,
800
- statEntry: stat
801
- }),
802
856
  ...makeGenericCommands(ResourceName2.SSH, SSH_IO)
803
857
  ];
804
858
 
805
859
  // src/ops/ssh/index.ts
806
860
  import { ResourceName as ResourceName3, makeGenericOps } from "@struktoai/mirage-core";
807
861
  var SSH_OPS = makeGenericOps(ResourceName3.SSH, SSH_IO, {
808
- mkdirParents: true,
809
- forwardIndex: false
862
+ mkdirParents: true
810
863
  });
811
864
 
812
865
  // src/resource/ssh/prompt.ts
@@ -820,6 +873,9 @@ var globCore = makeResolveGlob(readdir, SCOPE_ERROR);
820
873
  var SSHResource = class extends BaseResource {
821
874
  kind = ResourceName4.SSH;
822
875
  cachesReads = true;
876
+ // SFTP stat/readdir report the remote inode's exact byte size for every
877
+ // file; reads are the same raw bytes.
878
+ sizesAlwaysKnown = true;
823
879
  indexTtl = 60;
824
880
  prompt = SSH_PROMPT;
825
881
  config;
@@ -837,8 +893,8 @@ var SSHResource = class extends BaseResource {
837
893
  read_stream: stream,
838
894
  range_read: rangeRead,
839
895
  rm_recursive: rmR,
840
- du_total: du,
841
- du_all: duAll,
896
+ du_size: size,
897
+ du_entries: entries,
842
898
  create,
843
899
  truncate,
844
900
  exists,
@@ -853,8 +909,9 @@ var SSHResource = class extends BaseResource {
853
909
  open() {
854
910
  return Promise.resolve();
855
911
  }
856
- close() {
857
- return this.accessor.close();
912
+ async close() {
913
+ await this.accessor.close();
914
+ await super.close();
858
915
  }
859
916
  ops() {
860
917
  return SSH_OPS;
@@ -905,7 +962,7 @@ var SSHResource = class extends BaseResource {
905
962
  return rmR(this.accessor, p);
906
963
  }
907
964
  du(p) {
908
- return du(this.accessor, p);
965
+ return size(this.accessor, p);
909
966
  }
910
967
  find(p, options = {}) {
911
968
  return find(this.accessor, p, options);
@@ -941,4 +998,4 @@ export {
941
998
  SSH_PROMPT,
942
999
  SSHResource
943
1000
  };
944
- //# sourceMappingURL=chunk-5ZHNPNDD.js.map
1001
+ //# sourceMappingURL=chunk-KIX6N7NT.js.map