@struktoai/mirage-node 0.0.8-alpha.1 → 0.0.8

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 (821) hide show
  1. package/README.md +140 -46
  2. package/dist/accessor/disk.d.ts +6 -0
  3. package/dist/accessor/disk.d.ts.map +1 -1
  4. package/dist/accessor/disk.js +8 -0
  5. package/dist/accessor/disk.js.map +1 -1
  6. package/dist/accessor/email.d.ts.map +1 -1
  7. package/dist/accessor/email.js +5 -0
  8. package/dist/accessor/email.js.map +1 -1
  9. package/dist/accessor/gridfs.d.ts.map +1 -1
  10. package/dist/accessor/gridfs.js +6 -1
  11. package/dist/accessor/gridfs.js.map +1 -1
  12. package/dist/accessor/hf_hub.d.ts +3 -7
  13. package/dist/accessor/hf_hub.d.ts.map +1 -1
  14. package/dist/accessor/hf_hub.js +10 -10
  15. package/dist/accessor/hf_hub.js.map +1 -1
  16. package/dist/cache/file/redis.d.ts +8 -7
  17. package/dist/cache/file/redis.d.ts.map +1 -1
  18. package/dist/cache/file/redis.js +46 -50
  19. package/dist/cache/file/redis.js.map +1 -1
  20. package/dist/commands/builtin/utils/http.js +13 -5
  21. package/dist/commands/builtin/utils/http.js.map +1 -1
  22. package/dist/commands/cli/builtin/hf/index.d.ts.map +1 -1
  23. package/dist/commands/cli/builtin/hf/index.js +4 -5
  24. package/dist/commands/cli/builtin/hf/index.js.map +1 -1
  25. package/dist/commands/cli/builtin/hf/upload.d.ts.map +1 -1
  26. package/dist/commands/cli/builtin/hf/upload.js +2 -5
  27. package/dist/commands/cli/builtin/hf/upload.js.map +1 -1
  28. package/dist/commands/cli/builtin/himalaya/builder.d.ts +2 -2
  29. package/dist/commands/cli/builtin/himalaya/builder.d.ts.map +1 -1
  30. package/dist/commands/cli/builtin/himalaya/builder.js +1 -1
  31. package/dist/commands/cli/builtin/himalaya/builder.js.map +1 -1
  32. package/dist/commands/cli/builtin/himalaya/deliver.d.ts +35 -7
  33. package/dist/commands/cli/builtin/himalaya/deliver.d.ts.map +1 -1
  34. package/dist/commands/cli/builtin/himalaya/deliver.js.map +1 -1
  35. package/dist/commands/cli/builtin/himalaya/index.d.ts.map +1 -1
  36. package/dist/commands/cli/builtin/himalaya/index.js +4 -5
  37. package/dist/commands/cli/builtin/himalaya/index.js.map +1 -1
  38. package/dist/commands/cli/builtin/himalaya/query.d.ts +2 -2
  39. package/dist/commands/cli/builtin/himalaya/query.d.ts.map +1 -1
  40. package/dist/commands/cli/builtin/himalaya/query.js +1 -1
  41. package/dist/commands/cli/builtin/himalaya/query.js.map +1 -1
  42. package/dist/commands/cli/builtin/himalaya/send.d.ts.map +1 -1
  43. package/dist/commands/cli/builtin/himalaya/send.js +2 -1
  44. package/dist/commands/cli/builtin/himalaya/send.js.map +1 -1
  45. package/dist/commands/cli/builtin/himalaya/smtp.d.ts +2 -2
  46. package/dist/commands/cli/builtin/himalaya/smtp.d.ts.map +1 -1
  47. package/dist/commands/cli/builtin/himalaya/smtp.js +5 -0
  48. package/dist/commands/cli/builtin/himalaya/smtp.js.map +1 -1
  49. package/dist/commands/cli/builtin/himalaya/util.d.ts +1 -1
  50. package/dist/commands/cli/builtin/himalaya/util.d.ts.map +1 -1
  51. package/dist/commands/cli/builtin/himalaya/util.js +6 -5
  52. package/dist/commands/cli/builtin/himalaya/util.js.map +1 -1
  53. package/dist/config.d.ts +57 -37
  54. package/dist/config.d.ts.map +1 -1
  55. package/dist/config.js +152 -277
  56. package/dist/config.js.map +1 -1
  57. package/dist/core/disk/capacity.d.ts +13 -0
  58. package/dist/core/disk/capacity.d.ts.map +1 -0
  59. package/dist/core/disk/capacity.js +93 -0
  60. package/dist/core/disk/capacity.js.map +1 -0
  61. package/dist/core/disk/constants.d.ts +0 -1
  62. package/dist/core/disk/constants.d.ts.map +1 -1
  63. package/dist/core/disk/constants.js +0 -1
  64. package/dist/core/disk/constants.js.map +1 -1
  65. package/dist/core/disk/copy.d.ts.map +1 -1
  66. package/dist/core/disk/copy.js +24 -13
  67. package/dist/core/disk/copy.js.map +1 -1
  68. package/dist/core/disk/mkdir.d.ts.map +1 -1
  69. package/dist/core/disk/mkdir.js +9 -0
  70. package/dist/core/disk/mkdir.js.map +1 -1
  71. package/dist/core/disk/read.d.ts +3 -3
  72. package/dist/core/disk/read.d.ts.map +1 -1
  73. package/dist/core/disk/read.js +4 -19
  74. package/dist/core/disk/read.js.map +1 -1
  75. package/dist/core/disk/rename.d.ts +3 -0
  76. package/dist/core/disk/rename.d.ts.map +1 -1
  77. package/dist/core/disk/rename.js +15 -1
  78. package/dist/core/disk/rename.js.map +1 -1
  79. package/dist/core/disk/rm.d.ts.map +1 -1
  80. package/dist/core/disk/rm.js +11 -1
  81. package/dist/core/disk/rm.js.map +1 -1
  82. package/dist/core/disk/rmdir.d.ts.map +1 -1
  83. package/dist/core/disk/rmdir.js +4 -0
  84. package/dist/core/disk/rmdir.js.map +1 -1
  85. package/dist/core/disk/set_attrs.d.ts +2 -9
  86. package/dist/core/disk/set_attrs.d.ts.map +1 -1
  87. package/dist/core/disk/set_attrs.js +2 -1
  88. package/dist/core/disk/set_attrs.js.map +1 -1
  89. package/dist/core/disk/stream.d.ts +8 -0
  90. package/dist/core/disk/stream.d.ts.map +1 -1
  91. package/dist/core/disk/stream.js +33 -13
  92. package/dist/core/disk/stream.js.map +1 -1
  93. package/dist/core/disk/unlink.d.ts.map +1 -1
  94. package/dist/core/disk/unlink.js +4 -0
  95. package/dist/core/disk/unlink.js.map +1 -1
  96. package/dist/core/disk/utils.d.ts +2 -0
  97. package/dist/core/disk/utils.d.ts.map +1 -1
  98. package/dist/core/disk/utils.js +68 -21
  99. package/dist/core/disk/utils.js.map +1 -1
  100. package/dist/core/disk/write.d.ts +7 -2
  101. package/dist/core/disk/write.d.ts.map +1 -1
  102. package/dist/core/disk/write.js +22 -16
  103. package/dist/core/disk/write.js.map +1 -1
  104. package/dist/core/email/_parse.d.ts +60 -12
  105. package/dist/core/email/_parse.d.ts.map +1 -1
  106. package/dist/core/email/_parse.js +2 -2
  107. package/dist/core/email/_parse.js.map +1 -1
  108. package/dist/core/email/client.d.ts +36 -9
  109. package/dist/core/email/client.d.ts.map +1 -1
  110. package/dist/core/email/client.js +15 -0
  111. package/dist/core/email/client.js.map +1 -1
  112. package/dist/core/email/config.d.ts +6 -9
  113. package/dist/core/email/config.d.ts.map +1 -1
  114. package/dist/core/email/config.js +31 -27
  115. package/dist/core/email/config.js.map +1 -1
  116. package/dist/core/email/readdir.d.ts +2 -2
  117. package/dist/core/email/readdir.d.ts.map +1 -1
  118. package/dist/core/email/readdir.js +1 -1
  119. package/dist/core/email/readdir.js.map +1 -1
  120. package/dist/core/email/render.d.ts +5 -5
  121. package/dist/core/email/render.d.ts.map +1 -1
  122. package/dist/core/email/render.js.map +1 -1
  123. package/dist/core/email/search.d.ts +2 -2
  124. package/dist/core/email/search.d.ts.map +1 -1
  125. package/dist/core/email/search.js +1 -1
  126. package/dist/core/email/search.js.map +1 -1
  127. package/dist/core/gridfs/client.d.ts +25 -2
  128. package/dist/core/gridfs/client.d.ts.map +1 -1
  129. package/dist/core/gridfs/client.js +74 -7
  130. package/dist/core/gridfs/client.js.map +1 -1
  131. package/dist/core/gridfs/constants.d.ts +1 -0
  132. package/dist/core/gridfs/constants.d.ts.map +1 -1
  133. package/dist/core/gridfs/constants.js +5 -0
  134. package/dist/core/gridfs/constants.js.map +1 -1
  135. package/dist/core/gridfs/driver.d.ts +1 -0
  136. package/dist/core/gridfs/driver.d.ts.map +1 -1
  137. package/dist/core/gridfs/driver.js +80 -67
  138. package/dist/core/gridfs/driver.js.map +1 -1
  139. package/dist/core/gridfs/events.d.ts +8 -3
  140. package/dist/core/gridfs/events.d.ts.map +1 -1
  141. package/dist/core/gridfs/events.js +11 -3
  142. package/dist/core/gridfs/events.js.map +1 -1
  143. package/dist/core/gridfs/read.d.ts +2 -7
  144. package/dist/core/gridfs/read.d.ts.map +1 -1
  145. package/dist/core/gridfs/read.js +4 -9
  146. package/dist/core/gridfs/read.js.map +1 -1
  147. package/dist/core/gridfs/stream.d.ts.map +1 -1
  148. package/dist/core/gridfs/stream.js +5 -2
  149. package/dist/core/gridfs/stream.js.map +1 -1
  150. package/dist/core/gridfs/write.d.ts +1 -1
  151. package/dist/core/gridfs/write.d.ts.map +1 -1
  152. package/dist/core/gridfs/write.js +2 -2
  153. package/dist/core/gridfs/write.js.map +1 -1
  154. package/dist/core/hf_buckets/driver.d.ts.map +1 -1
  155. package/dist/core/hf_buckets/driver.js +16 -0
  156. package/dist/core/hf_buckets/driver.js.map +1 -1
  157. package/dist/core/hf_buckets/read.d.ts +2 -6
  158. package/dist/core/hf_buckets/read.d.ts.map +1 -1
  159. package/dist/core/hf_buckets/read.js +1 -1
  160. package/dist/core/hf_buckets/read.js.map +1 -1
  161. package/dist/core/hf_buckets/stream.d.ts.map +1 -1
  162. package/dist/core/hf_buckets/stream.js +2 -0
  163. package/dist/core/hf_buckets/stream.js.map +1 -1
  164. package/dist/core/hf_hub/admin.d.ts +3 -4
  165. package/dist/core/hf_hub/admin.d.ts.map +1 -1
  166. package/dist/core/hf_hub/admin.js +4 -4
  167. package/dist/core/hf_hub/admin.js.map +1 -1
  168. package/dist/core/hf_hub/client.d.ts +11 -24
  169. package/dist/core/hf_hub/client.d.ts.map +1 -1
  170. package/dist/core/hf_hub/client.js +40 -97
  171. package/dist/core/hf_hub/client.js.map +1 -1
  172. package/dist/core/hf_hub/commit.d.ts +8 -9
  173. package/dist/core/hf_hub/commit.d.ts.map +1 -1
  174. package/dist/core/hf_hub/commit.js +4 -6
  175. package/dist/core/hf_hub/commit.js.map +1 -1
  176. package/dist/core/hf_hub/config.d.ts +5 -4
  177. package/dist/core/hf_hub/config.d.ts.map +1 -1
  178. package/dist/core/hf_hub/config.js +3 -1
  179. package/dist/core/hf_hub/config.js.map +1 -1
  180. package/dist/core/hf_hub/constants.d.ts +0 -1
  181. package/dist/core/hf_hub/constants.d.ts.map +1 -1
  182. package/dist/core/hf_hub/constants.js +0 -1
  183. package/dist/core/hf_hub/constants.js.map +1 -1
  184. package/dist/core/hf_hub/read.d.ts +2 -5
  185. package/dist/core/hf_hub/read.d.ts.map +1 -1
  186. package/dist/core/hf_hub/read.js.map +1 -1
  187. package/dist/core/hf_hub/stream.d.ts.map +1 -1
  188. package/dist/core/hf_hub/stream.js +2 -0
  189. package/dist/core/hf_hub/stream.js.map +1 -1
  190. package/dist/core/nextcloud/capacity.js.map +1 -1
  191. package/dist/core/nextcloud/checksum.js +4 -3
  192. package/dist/core/nextcloud/checksum.js.map +1 -1
  193. package/dist/core/nextcloud/constants.d.ts +2 -0
  194. package/dist/core/nextcloud/constants.d.ts.map +1 -1
  195. package/dist/core/nextcloud/constants.js +4 -0
  196. package/dist/core/nextcloud/constants.js.map +1 -1
  197. package/dist/core/nextcloud/copy.js.map +1 -1
  198. package/dist/core/nextcloud/dav.d.ts +9 -3
  199. package/dist/core/nextcloud/dav.d.ts.map +1 -1
  200. package/dist/core/nextcloud/dav.js +20 -2
  201. package/dist/core/nextcloud/dav.js.map +1 -1
  202. package/dist/core/nextcloud/read.d.ts +2 -6
  203. package/dist/core/nextcloud/read.d.ts.map +1 -1
  204. package/dist/core/nextcloud/read.js +1 -1
  205. package/dist/core/nextcloud/read.js.map +1 -1
  206. package/dist/core/nextcloud/search/query.js +2 -2
  207. package/dist/core/nextcloud/search/query.js.map +1 -1
  208. package/dist/core/nextcloud/search/response.d.ts +3 -2
  209. package/dist/core/nextcloud/search/response.d.ts.map +1 -1
  210. package/dist/core/nextcloud/search/response.js +5 -5
  211. package/dist/core/nextcloud/search/response.js.map +1 -1
  212. package/dist/core/nextcloud/search/types.d.ts +1 -1
  213. package/dist/core/nextcloud/search/types.d.ts.map +1 -1
  214. package/dist/core/nextcloud/set_attrs.js.map +1 -1
  215. package/dist/core/nextcloud/stat.d.ts.map +1 -1
  216. package/dist/core/nextcloud/stat.js +7 -9
  217. package/dist/core/nextcloud/stat.js.map +1 -1
  218. package/dist/core/nextcloud/stream.d.ts.map +1 -1
  219. package/dist/core/nextcloud/stream.js +2 -0
  220. package/dist/core/nextcloud/stream.js.map +1 -1
  221. package/dist/core/nextcloud/write.d.ts +7 -1
  222. package/dist/core/nextcloud/write.d.ts.map +1 -1
  223. package/dist/core/nextcloud/write.js +81 -8
  224. package/dist/core/nextcloud/write.js.map +1 -1
  225. package/dist/core/ssh/append.d.ts +1 -2
  226. package/dist/core/ssh/append.d.ts.map +1 -1
  227. package/dist/core/ssh/append.js +1 -4
  228. package/dist/core/ssh/append.js.map +1 -1
  229. package/dist/core/ssh/checksum.d.ts.map +1 -1
  230. package/dist/core/ssh/checksum.js +1 -0
  231. package/dist/core/ssh/checksum.js.map +1 -1
  232. package/dist/core/ssh/rm.d.ts.map +1 -1
  233. package/dist/core/ssh/rm.js +15 -6
  234. package/dist/core/ssh/rm.js.map +1 -1
  235. package/dist/core/ssh/rmdir.d.ts.map +1 -1
  236. package/dist/core/ssh/rmdir.js +2 -22
  237. package/dist/core/ssh/rmdir.js.map +1 -1
  238. package/dist/core/ssh/set_attrs.d.ts +2 -9
  239. package/dist/core/ssh/set_attrs.d.ts.map +1 -1
  240. package/dist/core/ssh/set_attrs.js +1 -1
  241. package/dist/core/ssh/set_attrs.js.map +1 -1
  242. package/dist/core/ssh/stat.d.ts.map +1 -1
  243. package/dist/core/ssh/stat.js +5 -4
  244. package/dist/core/ssh/stat.js.map +1 -1
  245. package/dist/core/ssh/stream.d.ts.map +1 -1
  246. package/dist/core/ssh/stream.js +10 -1
  247. package/dist/core/ssh/stream.js.map +1 -1
  248. package/dist/core/ssh/utils.d.ts +8 -2
  249. package/dist/core/ssh/utils.d.ts.map +1 -1
  250. package/dist/core/ssh/utils.js +24 -3
  251. package/dist/core/ssh/utils.js.map +1 -1
  252. package/dist/core/ssh/write.d.ts +1 -2
  253. package/dist/core/ssh/write.d.ts.map +1 -1
  254. package/dist/core/ssh/write.js +1 -4
  255. package/dist/core/ssh/write.js.map +1 -1
  256. package/dist/fuse/constants.d.ts +3 -2
  257. package/dist/fuse/constants.d.ts.map +1 -1
  258. package/dist/fuse/constants.js +6 -3
  259. package/dist/fuse/constants.js.map +1 -1
  260. package/dist/fuse/fs.d.ts +1 -1
  261. package/dist/fuse/fs.d.ts.map +1 -1
  262. package/dist/fuse/fs.js +6 -3
  263. package/dist/fuse/fs.js.map +1 -1
  264. package/dist/fuse/mount.d.ts +5 -0
  265. package/dist/fuse/mount.d.ts.map +1 -1
  266. package/dist/fuse/mount.js +47 -15
  267. package/dist/fuse/mount.js.map +1 -1
  268. package/dist/index.d.ts +130 -159
  269. package/dist/index.d.ts.map +1 -1
  270. package/dist/index.js +86 -135
  271. package/dist/index.js.map +1 -1
  272. package/dist/io/gateway.d.ts +6 -0
  273. package/dist/io/gateway.d.ts.map +1 -0
  274. package/dist/io/gateway.js +357 -0
  275. package/dist/io/gateway.js.map +1 -0
  276. package/dist/io/network.d.ts +35 -0
  277. package/dist/io/network.d.ts.map +1 -0
  278. package/dist/io/network.js +187 -0
  279. package/dist/io/network.js.map +1 -0
  280. package/dist/io/spool.js +3 -3
  281. package/dist/io/spool.js.map +1 -1
  282. package/dist/mount/constants.d.ts +9 -2
  283. package/dist/mount/constants.d.ts.map +1 -1
  284. package/dist/mount/constants.js +9 -2
  285. package/dist/mount/constants.js.map +1 -1
  286. package/dist/mount/errors.d.ts +2 -11
  287. package/dist/mount/errors.d.ts.map +1 -1
  288. package/dist/mount/errors.js +28 -42
  289. package/dist/mount/errors.js.map +1 -1
  290. package/dist/mount/nfs.d.ts +2 -2
  291. package/dist/mount/nfs.d.ts.map +1 -1
  292. package/dist/mount/nfs.js +8 -20
  293. package/dist/mount/nfs.js.map +1 -1
  294. package/dist/mount/sftp.d.ts +3 -3
  295. package/dist/mount/sftp.d.ts.map +1 -1
  296. package/dist/mount/sftp.js +26 -53
  297. package/dist/mount/sftp.js.map +1 -1
  298. package/dist/observe/disk_store.js +1 -1
  299. package/dist/observe/disk_store.js.map +1 -1
  300. package/dist/runtime/js/host/constants.d.ts +1 -1
  301. package/dist/runtime/js/host/constants.d.ts.map +1 -1
  302. package/dist/runtime/js/host/constants.js +9 -8
  303. package/dist/runtime/js/host/constants.js.map +1 -1
  304. package/dist/runtime/js/host/descriptors.d.ts +11 -71
  305. package/dist/runtime/js/host/descriptors.d.ts.map +1 -1
  306. package/dist/runtime/js/host/descriptors.js +16 -202
  307. package/dist/runtime/js/host/descriptors.js.map +1 -1
  308. package/dist/runtime/js/host/fs.d.ts.map +1 -1
  309. package/dist/runtime/js/host/fs.js +491 -135
  310. package/dist/runtime/js/host/fs.js.map +1 -1
  311. package/dist/runtime/js/host/list.d.ts +21 -0
  312. package/dist/runtime/js/host/list.d.ts.map +1 -0
  313. package/dist/runtime/js/host/list.js +107 -0
  314. package/dist/runtime/js/host/list.js.map +1 -0
  315. package/dist/runtime/js/host/stat.d.ts +10 -0
  316. package/dist/runtime/js/host/stat.d.ts.map +1 -0
  317. package/dist/runtime/js/host/stat.js +70 -0
  318. package/dist/runtime/js/host/stat.js.map +1 -0
  319. package/dist/runtime/python/local/runtime.d.ts +8 -7
  320. package/dist/runtime/python/local/runtime.d.ts.map +1 -1
  321. package/dist/runtime/python/local/runtime.js +51 -74
  322. package/dist/runtime/python/local/runtime.js.map +1 -1
  323. package/dist/runtime/sandbox/apple_container/constants.d.ts +2 -3
  324. package/dist/runtime/sandbox/apple_container/constants.d.ts.map +1 -1
  325. package/dist/runtime/sandbox/apple_container/constants.js +4 -11
  326. package/dist/runtime/sandbox/apple_container/constants.js.map +1 -1
  327. package/dist/runtime/sandbox/apple_container/runtime.d.ts +13 -9
  328. package/dist/runtime/sandbox/apple_container/runtime.d.ts.map +1 -1
  329. package/dist/runtime/sandbox/apple_container/runtime.js +34 -41
  330. package/dist/runtime/sandbox/apple_container/runtime.js.map +1 -1
  331. package/dist/runtime/sandbox/daytona/runtime.d.ts +6 -4
  332. package/dist/runtime/sandbox/daytona/runtime.d.ts.map +1 -1
  333. package/dist/runtime/sandbox/daytona/runtime.js +9 -6
  334. package/dist/runtime/sandbox/daytona/runtime.js.map +1 -1
  335. package/dist/runtime/sandbox/docker/constants.d.ts +6 -1
  336. package/dist/runtime/sandbox/docker/constants.d.ts.map +1 -1
  337. package/dist/runtime/sandbox/docker/constants.js +6 -1
  338. package/dist/runtime/sandbox/docker/constants.js.map +1 -1
  339. package/dist/runtime/sandbox/docker/runtime.d.ts +8 -8
  340. package/dist/runtime/sandbox/docker/runtime.d.ts.map +1 -1
  341. package/dist/runtime/sandbox/docker/runtime.js +21 -25
  342. package/dist/runtime/sandbox/docker/runtime.js.map +1 -1
  343. package/dist/runtime/sandbox/microsandbox/constants.d.ts +1 -3
  344. package/dist/runtime/sandbox/microsandbox/constants.d.ts.map +1 -1
  345. package/dist/runtime/sandbox/microsandbox/constants.js +1 -5
  346. package/dist/runtime/sandbox/microsandbox/constants.js.map +1 -1
  347. package/dist/runtime/sandbox/microsandbox/runtime.d.ts +8 -8
  348. package/dist/runtime/sandbox/microsandbox/runtime.d.ts.map +1 -1
  349. package/dist/runtime/sandbox/microsandbox/runtime.js +22 -34
  350. package/dist/runtime/sandbox/microsandbox/runtime.js.map +1 -1
  351. package/dist/runtime/sandbox/program.d.ts +165 -0
  352. package/dist/runtime/sandbox/program.d.ts.map +1 -0
  353. package/dist/runtime/sandbox/program.js +724 -0
  354. package/dist/runtime/sandbox/program.js.map +1 -0
  355. package/dist/runtime/sandbox/sandlock/constants.d.ts +1 -1
  356. package/dist/runtime/sandbox/sandlock/constants.d.ts.map +1 -1
  357. package/dist/runtime/sandbox/sandlock/constants.js +1 -1
  358. package/dist/runtime/sandbox/sandlock/constants.js.map +1 -1
  359. package/dist/runtime/sandbox/sandlock/runtime.d.ts +5 -6
  360. package/dist/runtime/sandbox/sandlock/runtime.d.ts.map +1 -1
  361. package/dist/runtime/sandbox/sandlock/runtime.js +27 -16
  362. package/dist/runtime/sandbox/sandlock/runtime.js.map +1 -1
  363. package/dist/runtime/sandbox/smolvm/constants.d.ts +2 -3
  364. package/dist/runtime/sandbox/smolvm/constants.d.ts.map +1 -1
  365. package/dist/runtime/sandbox/smolvm/constants.js +6 -13
  366. package/dist/runtime/sandbox/smolvm/constants.js.map +1 -1
  367. package/dist/runtime/sandbox/smolvm/runtime.d.ts +8 -8
  368. package/dist/runtime/sandbox/smolvm/runtime.d.ts.map +1 -1
  369. package/dist/runtime/sandbox/smolvm/runtime.js +21 -27
  370. package/dist/runtime/sandbox/smolvm/runtime.js.map +1 -1
  371. package/dist/runtime/sandbox/ssh/runtime.d.ts +23 -12
  372. package/dist/runtime/sandbox/ssh/runtime.d.ts.map +1 -1
  373. package/dist/runtime/sandbox/ssh/runtime.js +85 -30
  374. package/dist/runtime/sandbox/ssh/runtime.js.map +1 -1
  375. package/dist/secrets/config.d.ts +2 -2
  376. package/dist/secrets/config.d.ts.map +1 -1
  377. package/dist/secrets/onepassword.d.ts +5 -8
  378. package/dist/secrets/onepassword.d.ts.map +1 -1
  379. package/dist/secrets/onepassword.js.map +1 -1
  380. package/dist/shell/console/redis/constants.d.ts +1 -0
  381. package/dist/shell/console/redis/constants.d.ts.map +1 -1
  382. package/dist/shell/console/redis/constants.js +3 -0
  383. package/dist/shell/console/redis/constants.js.map +1 -1
  384. package/dist/shell/console/redis/store.d.ts +24 -9
  385. package/dist/shell/console/redis/store.d.ts.map +1 -1
  386. package/dist/shell/console/redis/store.js +48 -16
  387. package/dist/shell/console/redis/store.js.map +1 -1
  388. package/dist/shell/job_table/redis.d.ts +52 -0
  389. package/dist/shell/job_table/redis.d.ts.map +1 -0
  390. package/dist/shell/job_table/redis.js +156 -0
  391. package/dist/shell/job_table/redis.js.map +1 -0
  392. package/dist/utils/loader.d.ts.map +1 -1
  393. package/dist/utils/loader.js +1 -3
  394. package/dist/utils/loader.js.map +1 -1
  395. package/dist/vfs/aliyun/aliyun.d.ts +4 -5
  396. package/dist/vfs/aliyun/aliyun.d.ts.map +1 -1
  397. package/dist/vfs/aliyun/aliyun.js +2 -4
  398. package/dist/vfs/aliyun/aliyun.js.map +1 -1
  399. package/dist/vfs/aliyun/config.d.ts +40 -6
  400. package/dist/vfs/aliyun/config.d.ts.map +1 -1
  401. package/dist/vfs/aliyun/config.js +5 -6
  402. package/dist/vfs/aliyun/config.js.map +1 -1
  403. package/dist/vfs/backblaze/backblaze.d.ts +4 -5
  404. package/dist/vfs/backblaze/backblaze.d.ts.map +1 -1
  405. package/dist/vfs/backblaze/backblaze.js +2 -4
  406. package/dist/vfs/backblaze/backblaze.js.map +1 -1
  407. package/dist/vfs/backblaze/config.d.ts +40 -6
  408. package/dist/vfs/backblaze/config.d.ts.map +1 -1
  409. package/dist/vfs/backblaze/config.js +5 -6
  410. package/dist/vfs/backblaze/config.js.map +1 -1
  411. package/dist/vfs/ceph/ceph.d.ts +4 -5
  412. package/dist/vfs/ceph/ceph.d.ts.map +1 -1
  413. package/dist/vfs/ceph/ceph.js +2 -4
  414. package/dist/vfs/ceph/ceph.js.map +1 -1
  415. package/dist/vfs/ceph/config.d.ts +42 -5
  416. package/dist/vfs/ceph/config.d.ts.map +1 -1
  417. package/dist/vfs/ceph/config.js +7 -5
  418. package/dist/vfs/ceph/config.js.map +1 -1
  419. package/dist/vfs/databricks_volume/config.d.ts +2 -2
  420. package/dist/vfs/databricks_volume/config.d.ts.map +1 -1
  421. package/dist/vfs/databricks_volume/config.js +1 -1
  422. package/dist/vfs/databricks_volume/config.js.map +1 -1
  423. package/dist/vfs/databricks_volume/databricks_volume.d.ts +6 -9
  424. package/dist/vfs/databricks_volume/databricks_volume.d.ts.map +1 -1
  425. package/dist/vfs/databricks_volume/databricks_volume.js +4 -9
  426. package/dist/vfs/databricks_volume/databricks_volume.js.map +1 -1
  427. package/dist/vfs/digitalocean/config.d.ts +40 -6
  428. package/dist/vfs/digitalocean/config.d.ts.map +1 -1
  429. package/dist/vfs/digitalocean/config.js +5 -6
  430. package/dist/vfs/digitalocean/config.js.map +1 -1
  431. package/dist/vfs/digitalocean/digitalocean.d.ts +4 -5
  432. package/dist/vfs/digitalocean/digitalocean.d.ts.map +1 -1
  433. package/dist/vfs/digitalocean/digitalocean.js +2 -4
  434. package/dist/vfs/digitalocean/digitalocean.js.map +1 -1
  435. package/dist/vfs/discord/discord.d.ts +7 -10
  436. package/dist/vfs/discord/discord.d.ts.map +1 -1
  437. package/dist/vfs/discord/discord.js +7 -12
  438. package/dist/vfs/discord/discord.js.map +1 -1
  439. package/dist/vfs/disk/disk.d.ts +14 -14
  440. package/dist/vfs/disk/disk.d.ts.map +1 -1
  441. package/dist/vfs/disk/disk.js +87 -52
  442. package/dist/vfs/disk/disk.js.map +1 -1
  443. package/dist/vfs/dropbox/config.d.ts +7 -12
  444. package/dist/vfs/dropbox/config.d.ts.map +1 -1
  445. package/dist/vfs/dropbox/config.js +18 -15
  446. package/dist/vfs/dropbox/config.js.map +1 -1
  447. package/dist/vfs/email/email.d.ts +13 -11
  448. package/dist/vfs/email/email.d.ts.map +1 -1
  449. package/dist/vfs/email/email.js +31 -16
  450. package/dist/vfs/email/email.js.map +1 -1
  451. package/dist/vfs/email/index.d.ts +1 -2
  452. package/dist/vfs/email/index.d.ts.map +1 -1
  453. package/dist/vfs/email/index.js +1 -2
  454. package/dist/vfs/email/index.js.map +1 -1
  455. package/dist/vfs/gcs/config.d.ts +36 -28
  456. package/dist/vfs/gcs/config.d.ts.map +1 -1
  457. package/dist/vfs/gcs/config.js +15 -39
  458. package/dist/vfs/gcs/config.js.map +1 -1
  459. package/dist/vfs/gcs/gcs.d.ts +4 -5
  460. package/dist/vfs/gcs/gcs.d.ts.map +1 -1
  461. package/dist/vfs/gcs/gcs.js +2 -4
  462. package/dist/vfs/gcs/gcs.js.map +1 -1
  463. package/dist/vfs/gridfs/config.d.ts +6 -7
  464. package/dist/vfs/gridfs/config.d.ts.map +1 -1
  465. package/dist/vfs/gridfs/config.js +25 -11
  466. package/dist/vfs/gridfs/config.js.map +1 -1
  467. package/dist/vfs/gridfs/gridfs.d.ts +10 -18
  468. package/dist/vfs/gridfs/gridfs.d.ts.map +1 -1
  469. package/dist/vfs/gridfs/gridfs.js +23 -40
  470. package/dist/vfs/gridfs/gridfs.js.map +1 -1
  471. package/dist/vfs/hf_buckets/config.d.ts +14 -17
  472. package/dist/vfs/hf_buckets/config.d.ts.map +1 -1
  473. package/dist/vfs/hf_buckets/config.js +41 -28
  474. package/dist/vfs/hf_buckets/config.js.map +1 -1
  475. package/dist/vfs/hf_buckets/hf_buckets.d.ts +10 -15
  476. package/dist/vfs/hf_buckets/hf_buckets.d.ts.map +1 -1
  477. package/dist/vfs/hf_buckets/hf_buckets.js +14 -22
  478. package/dist/vfs/hf_buckets/hf_buckets.js.map +1 -1
  479. package/dist/vfs/hf_datasets/config.d.ts +1 -4
  480. package/dist/vfs/hf_datasets/config.d.ts.map +1 -1
  481. package/dist/vfs/hf_datasets/config.js +1 -3
  482. package/dist/vfs/hf_datasets/config.js.map +1 -1
  483. package/dist/vfs/hf_datasets/hf_datasets.d.ts +4 -7
  484. package/dist/vfs/hf_datasets/hf_datasets.d.ts.map +1 -1
  485. package/dist/vfs/hf_datasets/hf_datasets.js +4 -6
  486. package/dist/vfs/hf_datasets/hf_datasets.js.map +1 -1
  487. package/dist/vfs/hf_hub/base.d.ts +4 -8
  488. package/dist/vfs/hf_hub/base.d.ts.map +1 -1
  489. package/dist/vfs/hf_hub/base.js +7 -11
  490. package/dist/vfs/hf_hub/base.js.map +1 -1
  491. package/dist/vfs/hf_models/config.d.ts +1 -4
  492. package/dist/vfs/hf_models/config.d.ts.map +1 -1
  493. package/dist/vfs/hf_models/config.js +1 -3
  494. package/dist/vfs/hf_models/config.js.map +1 -1
  495. package/dist/vfs/hf_models/hf_models.d.ts +4 -7
  496. package/dist/vfs/hf_models/hf_models.d.ts.map +1 -1
  497. package/dist/vfs/hf_models/hf_models.js +4 -6
  498. package/dist/vfs/hf_models/hf_models.js.map +1 -1
  499. package/dist/vfs/hf_spaces/config.d.ts +1 -4
  500. package/dist/vfs/hf_spaces/config.d.ts.map +1 -1
  501. package/dist/vfs/hf_spaces/config.js +1 -3
  502. package/dist/vfs/hf_spaces/config.js.map +1 -1
  503. package/dist/vfs/hf_spaces/hf_spaces.d.ts +4 -7
  504. package/dist/vfs/hf_spaces/hf_spaces.d.ts.map +1 -1
  505. package/dist/vfs/hf_spaces/hf_spaces.js +4 -6
  506. package/dist/vfs/hf_spaces/hf_spaces.js.map +1 -1
  507. package/dist/vfs/jaeger/jaeger.d.ts +7 -9
  508. package/dist/vfs/jaeger/jaeger.d.ts.map +1 -1
  509. package/dist/vfs/jaeger/jaeger.js +7 -11
  510. package/dist/vfs/jaeger/jaeger.js.map +1 -1
  511. package/dist/vfs/lancedb/lancedb.d.ts +10 -11
  512. package/dist/vfs/lancedb/lancedb.d.ts.map +1 -1
  513. package/dist/vfs/lancedb/lancedb.js +4 -5
  514. package/dist/vfs/lancedb/lancedb.js.map +1 -1
  515. package/dist/vfs/lancedb/store.d.ts +2 -2
  516. package/dist/vfs/lancedb/store.d.ts.map +1 -1
  517. package/dist/vfs/lancedb/store.js +3 -0
  518. package/dist/vfs/lancedb/store.js.map +1 -1
  519. package/dist/vfs/minio/config.d.ts +42 -5
  520. package/dist/vfs/minio/config.d.ts.map +1 -1
  521. package/dist/vfs/minio/config.js +7 -5
  522. package/dist/vfs/minio/config.js.map +1 -1
  523. package/dist/vfs/minio/minio.d.ts +4 -5
  524. package/dist/vfs/minio/minio.d.ts.map +1 -1
  525. package/dist/vfs/minio/minio.js +2 -4
  526. package/dist/vfs/minio/minio.js.map +1 -1
  527. package/dist/vfs/mongodb/mongodb.d.ts +10 -11
  528. package/dist/vfs/mongodb/mongodb.d.ts.map +1 -1
  529. package/dist/vfs/mongodb/mongodb.js +6 -7
  530. package/dist/vfs/mongodb/mongodb.js.map +1 -1
  531. package/dist/vfs/mongodb/store.d.ts +2 -1
  532. package/dist/vfs/mongodb/store.d.ts.map +1 -1
  533. package/dist/vfs/mongodb/store.js +11 -3
  534. package/dist/vfs/mongodb/store.js.map +1 -1
  535. package/dist/vfs/nextcloud/config.d.ts +5 -8
  536. package/dist/vfs/nextcloud/config.d.ts.map +1 -1
  537. package/dist/vfs/nextcloud/config.js +19 -13
  538. package/dist/vfs/nextcloud/config.js.map +1 -1
  539. package/dist/vfs/nextcloud/nextcloud.d.ts +8 -14
  540. package/dist/vfs/nextcloud/nextcloud.d.ts.map +1 -1
  541. package/dist/vfs/nextcloud/nextcloud.js +18 -29
  542. package/dist/vfs/nextcloud/nextcloud.js.map +1 -1
  543. package/dist/vfs/notion/notion.d.ts +7 -10
  544. package/dist/vfs/notion/notion.d.ts.map +1 -1
  545. package/dist/vfs/notion/notion.js +7 -10
  546. package/dist/vfs/notion/notion.js.map +1 -1
  547. package/dist/vfs/oci/config.d.ts +41 -27
  548. package/dist/vfs/oci/config.d.ts.map +1 -1
  549. package/dist/vfs/oci/config.js +18 -45
  550. package/dist/vfs/oci/config.js.map +1 -1
  551. package/dist/vfs/oci/oci.d.ts +4 -5
  552. package/dist/vfs/oci/oci.d.ts.map +1 -1
  553. package/dist/vfs/oci/oci.js +2 -4
  554. package/dist/vfs/oci/oci.js.map +1 -1
  555. package/dist/vfs/postgres/postgres.d.ts +10 -11
  556. package/dist/vfs/postgres/postgres.d.ts.map +1 -1
  557. package/dist/vfs/postgres/postgres.js +5 -6
  558. package/dist/vfs/postgres/postgres.js.map +1 -1
  559. package/dist/vfs/postgres/store.d.ts +3 -3
  560. package/dist/vfs/postgres/store.d.ts.map +1 -1
  561. package/dist/vfs/postgres/store.js +1 -0
  562. package/dist/vfs/postgres/store.js.map +1 -1
  563. package/dist/vfs/qingstor/config.d.ts +40 -6
  564. package/dist/vfs/qingstor/config.d.ts.map +1 -1
  565. package/dist/vfs/qingstor/config.js +5 -6
  566. package/dist/vfs/qingstor/config.js.map +1 -1
  567. package/dist/vfs/qingstor/qingstor.d.ts +4 -5
  568. package/dist/vfs/qingstor/qingstor.d.ts.map +1 -1
  569. package/dist/vfs/qingstor/qingstor.js +2 -4
  570. package/dist/vfs/qingstor/qingstor.js.map +1 -1
  571. package/dist/vfs/r2/config.d.ts +39 -28
  572. package/dist/vfs/r2/config.d.ts.map +1 -1
  573. package/dist/vfs/r2/config.js +24 -48
  574. package/dist/vfs/r2/config.js.map +1 -1
  575. package/dist/vfs/r2/r2.d.ts +4 -5
  576. package/dist/vfs/r2/r2.d.ts.map +1 -1
  577. package/dist/vfs/r2/r2.js +2 -4
  578. package/dist/vfs/r2/r2.js.map +1 -1
  579. package/dist/vfs/redis/redis.d.ts +3 -0
  580. package/dist/vfs/redis/redis.d.ts.map +1 -1
  581. package/dist/vfs/redis/redis.js +1 -1
  582. package/dist/vfs/redis/redis.js.map +1 -1
  583. package/dist/vfs/redis/store.d.ts +2 -0
  584. package/dist/vfs/redis/store.d.ts.map +1 -1
  585. package/dist/vfs/redis/store.js +13 -2
  586. package/dist/vfs/redis/store.js.map +1 -1
  587. package/dist/vfs/registry.d.ts.map +1 -1
  588. package/dist/vfs/registry.js +111 -105
  589. package/dist/vfs/registry.js.map +1 -1
  590. package/dist/vfs/s3/config.d.ts +12 -23
  591. package/dist/vfs/s3/config.d.ts.map +1 -1
  592. package/dist/vfs/s3/config.js +16 -31
  593. package/dist/vfs/s3/config.js.map +1 -1
  594. package/dist/vfs/s3/s3.d.ts +6 -9
  595. package/dist/vfs/s3/s3.d.ts.map +1 -1
  596. package/dist/vfs/s3/s3.js +11 -14
  597. package/dist/vfs/s3/s3.js.map +1 -1
  598. package/dist/vfs/s3_alias.d.ts +69 -53
  599. package/dist/vfs/s3_alias.d.ts.map +1 -1
  600. package/dist/vfs/s3_alias.js +86 -82
  601. package/dist/vfs/s3_alias.js.map +1 -1
  602. package/dist/vfs/scaleway/config.d.ts +40 -6
  603. package/dist/vfs/scaleway/config.d.ts.map +1 -1
  604. package/dist/vfs/scaleway/config.js +5 -6
  605. package/dist/vfs/scaleway/config.js.map +1 -1
  606. package/dist/vfs/scaleway/scaleway.d.ts +4 -5
  607. package/dist/vfs/scaleway/scaleway.d.ts.map +1 -1
  608. package/dist/vfs/scaleway/scaleway.js +2 -4
  609. package/dist/vfs/scaleway/scaleway.js.map +1 -1
  610. package/dist/vfs/seaweedfs/config.d.ts +42 -5
  611. package/dist/vfs/seaweedfs/config.d.ts.map +1 -1
  612. package/dist/vfs/seaweedfs/config.js +7 -5
  613. package/dist/vfs/seaweedfs/config.js.map +1 -1
  614. package/dist/vfs/seaweedfs/seaweedfs.d.ts +4 -5
  615. package/dist/vfs/seaweedfs/seaweedfs.d.ts.map +1 -1
  616. package/dist/vfs/seaweedfs/seaweedfs.js +2 -4
  617. package/dist/vfs/seaweedfs/seaweedfs.js.map +1 -1
  618. package/dist/vfs/slack/slack.d.ts +7 -10
  619. package/dist/vfs/slack/slack.d.ts.map +1 -1
  620. package/dist/vfs/slack/slack.js +7 -12
  621. package/dist/vfs/slack/slack.js.map +1 -1
  622. package/dist/vfs/ssh/config.d.ts +5 -9
  623. package/dist/vfs/ssh/config.d.ts.map +1 -1
  624. package/dist/vfs/ssh/config.js +28 -18
  625. package/dist/vfs/ssh/config.js.map +1 -1
  626. package/dist/vfs/ssh/ssh.d.ts +8 -17
  627. package/dist/vfs/ssh/ssh.d.ts.map +1 -1
  628. package/dist/vfs/ssh/ssh.js +25 -43
  629. package/dist/vfs/ssh/ssh.js.map +1 -1
  630. package/dist/vfs/supabase/config.d.ts +40 -27
  631. package/dist/vfs/supabase/config.d.ts.map +1 -1
  632. package/dist/vfs/supabase/config.js +24 -48
  633. package/dist/vfs/supabase/config.js.map +1 -1
  634. package/dist/vfs/supabase/supabase.d.ts +4 -5
  635. package/dist/vfs/supabase/supabase.d.ts.map +1 -1
  636. package/dist/vfs/supabase/supabase.js +2 -4
  637. package/dist/vfs/supabase/supabase.js.map +1 -1
  638. package/dist/vfs/tencent/config.d.ts +40 -6
  639. package/dist/vfs/tencent/config.d.ts.map +1 -1
  640. package/dist/vfs/tencent/config.js +5 -6
  641. package/dist/vfs/tencent/config.js.map +1 -1
  642. package/dist/vfs/tencent/tencent.d.ts +4 -5
  643. package/dist/vfs/tencent/tencent.d.ts.map +1 -1
  644. package/dist/vfs/tencent/tencent.js +2 -4
  645. package/dist/vfs/tencent/tencent.js.map +1 -1
  646. package/dist/vfs/tidb_filesystem/config.d.ts +2 -0
  647. package/dist/vfs/tidb_filesystem/config.d.ts.map +1 -0
  648. package/dist/{mount/types.js → vfs/tidb_filesystem/config.js} +2 -2
  649. package/dist/vfs/tidb_filesystem/config.js.map +1 -0
  650. package/dist/vfs/tidb_filesystem/tidb_filesystem.d.ts +16 -0
  651. package/dist/vfs/tidb_filesystem/tidb_filesystem.d.ts.map +1 -0
  652. package/dist/vfs/tidb_filesystem/tidb_filesystem.js +39 -0
  653. package/dist/vfs/tidb_filesystem/tidb_filesystem.js.map +1 -0
  654. package/dist/vfs/wasabi/config.d.ts +35 -28
  655. package/dist/vfs/wasabi/config.d.ts.map +1 -1
  656. package/dist/vfs/wasabi/config.js +20 -45
  657. package/dist/vfs/wasabi/config.js.map +1 -1
  658. package/dist/vfs/wasabi/wasabi.d.ts +4 -5
  659. package/dist/vfs/wasabi/wasabi.d.ts.map +1 -1
  660. package/dist/vfs/wasabi/wasabi.js +2 -4
  661. package/dist/vfs/wasabi/wasabi.js.map +1 -1
  662. package/dist/workspace/{session → mount/namespace}/cas.lua +7 -2
  663. package/dist/workspace/mount/namespace/disk.d.ts +12 -7
  664. package/dist/workspace/mount/namespace/disk.d.ts.map +1 -1
  665. package/dist/workspace/mount/namespace/disk.js +37 -21
  666. package/dist/workspace/mount/namespace/disk.js.map +1 -1
  667. package/dist/workspace/mount/namespace/redis.d.ts +14 -9
  668. package/dist/workspace/mount/namespace/redis.d.ts.map +1 -1
  669. package/dist/workspace/mount/namespace/redis.js +29 -14
  670. package/dist/workspace/mount/namespace/redis.js.map +1 -1
  671. package/dist/workspace/nfs.d.ts.map +1 -1
  672. package/dist/workspace/nfs.js +3 -1
  673. package/dist/workspace/nfs.js.map +1 -1
  674. package/dist/workspace/record/disk.d.ts +12 -5
  675. package/dist/workspace/record/disk.d.ts.map +1 -1
  676. package/dist/workspace/record/disk.js +119 -72
  677. package/dist/workspace/record/disk.js.map +1 -1
  678. package/dist/workspace/store/disk.d.ts +12 -5
  679. package/dist/workspace/store/disk.d.ts.map +1 -1
  680. package/dist/workspace/store/disk.js +20 -4
  681. package/dist/workspace/store/disk.js.map +1 -1
  682. package/dist/workspace/store/redis.d.ts +13 -7
  683. package/dist/workspace/store/redis.d.ts.map +1 -1
  684. package/dist/workspace/store/redis.js +53 -26
  685. package/dist/workspace/store/redis.js.map +1 -1
  686. package/dist/workspace.d.ts +3 -1
  687. package/dist/workspace.d.ts.map +1 -1
  688. package/dist/workspace.js +22 -21
  689. package/dist/workspace.js.map +1 -1
  690. package/package.json +13 -17
  691. package/dist/compression_codecs.d.ts +0 -2
  692. package/dist/compression_codecs.d.ts.map +0 -1
  693. package/dist/compression_codecs.js +0 -42
  694. package/dist/compression_codecs.js.map +0 -1
  695. package/dist/core/disk/append.d.ts +0 -4
  696. package/dist/core/disk/append.d.ts.map +0 -1
  697. package/dist/core/disk/append.js +0 -30
  698. package/dist/core/disk/append.js.map +0 -1
  699. package/dist/mount/core.d.ts +0 -313
  700. package/dist/mount/core.d.ts.map +0 -1
  701. package/dist/mount/core.js +0 -916
  702. package/dist/mount/core.js.map +0 -1
  703. package/dist/mount/platform/macos.d.ts +0 -2
  704. package/dist/mount/platform/macos.d.ts.map +0 -1
  705. package/dist/mount/platform/macos.js +0 -23
  706. package/dist/mount/platform/macos.js.map +0 -1
  707. package/dist/mount/types.d.ts +0 -37
  708. package/dist/mount/types.d.ts.map +0 -1
  709. package/dist/mount/types.js.map +0 -1
  710. package/dist/observe/redis_store.d.ts +0 -27
  711. package/dist/observe/redis_store.d.ts.map +0 -1
  712. package/dist/observe/redis_store.js +0 -81
  713. package/dist/observe/redis_store.js.map +0 -1
  714. package/dist/runtime/sandbox/cli.d.ts +0 -71
  715. package/dist/runtime/sandbox/cli.d.ts.map +0 -1
  716. package/dist/runtime/sandbox/cli.js +0 -283
  717. package/dist/runtime/sandbox/cli.js.map +0 -1
  718. package/dist/vfs/aliyun/prompt.d.ts +0 -2
  719. package/dist/vfs/aliyun/prompt.d.ts.map +0 -1
  720. package/dist/vfs/aliyun/prompt.js +0 -19
  721. package/dist/vfs/aliyun/prompt.js.map +0 -1
  722. package/dist/vfs/backblaze/prompt.d.ts +0 -2
  723. package/dist/vfs/backblaze/prompt.d.ts.map +0 -1
  724. package/dist/vfs/backblaze/prompt.js +0 -19
  725. package/dist/vfs/backblaze/prompt.js.map +0 -1
  726. package/dist/vfs/ceph/prompt.d.ts +0 -2
  727. package/dist/vfs/ceph/prompt.d.ts.map +0 -1
  728. package/dist/vfs/ceph/prompt.js +0 -19
  729. package/dist/vfs/ceph/prompt.js.map +0 -1
  730. package/dist/vfs/digitalocean/prompt.d.ts +0 -2
  731. package/dist/vfs/digitalocean/prompt.d.ts.map +0 -1
  732. package/dist/vfs/digitalocean/prompt.js +0 -19
  733. package/dist/vfs/digitalocean/prompt.js.map +0 -1
  734. package/dist/vfs/disk/prompt.d.ts +0 -2
  735. package/dist/vfs/disk/prompt.d.ts.map +0 -1
  736. package/dist/vfs/disk/prompt.js +0 -17
  737. package/dist/vfs/disk/prompt.js.map +0 -1
  738. package/dist/vfs/email/prompt.d.ts +0 -3
  739. package/dist/vfs/email/prompt.d.ts.map +0 -1
  740. package/dist/vfs/email/prompt.js +0 -29
  741. package/dist/vfs/email/prompt.js.map +0 -1
  742. package/dist/vfs/gcs/prompt.d.ts +0 -2
  743. package/dist/vfs/gcs/prompt.d.ts.map +0 -1
  744. package/dist/vfs/gcs/prompt.js +0 -19
  745. package/dist/vfs/gcs/prompt.js.map +0 -1
  746. package/dist/vfs/gridfs/prompt.d.ts +0 -2
  747. package/dist/vfs/gridfs/prompt.d.ts.map +0 -1
  748. package/dist/vfs/gridfs/prompt.js +0 -19
  749. package/dist/vfs/gridfs/prompt.js.map +0 -1
  750. package/dist/vfs/hf_buckets/prompt.d.ts +0 -2
  751. package/dist/vfs/hf_buckets/prompt.d.ts.map +0 -1
  752. package/dist/vfs/hf_buckets/prompt.js +0 -18
  753. package/dist/vfs/hf_buckets/prompt.js.map +0 -1
  754. package/dist/vfs/hf_datasets/prompt.d.ts +0 -2
  755. package/dist/vfs/hf_datasets/prompt.d.ts.map +0 -1
  756. package/dist/vfs/hf_datasets/prompt.js +0 -18
  757. package/dist/vfs/hf_datasets/prompt.js.map +0 -1
  758. package/dist/vfs/hf_models/prompt.d.ts +0 -2
  759. package/dist/vfs/hf_models/prompt.d.ts.map +0 -1
  760. package/dist/vfs/hf_models/prompt.js +0 -18
  761. package/dist/vfs/hf_models/prompt.js.map +0 -1
  762. package/dist/vfs/hf_spaces/prompt.d.ts +0 -2
  763. package/dist/vfs/hf_spaces/prompt.d.ts.map +0 -1
  764. package/dist/vfs/hf_spaces/prompt.js +0 -18
  765. package/dist/vfs/hf_spaces/prompt.js.map +0 -1
  766. package/dist/vfs/jaeger/config.d.ts +0 -15
  767. package/dist/vfs/jaeger/config.d.ts.map +0 -1
  768. package/dist/vfs/jaeger/config.js +0 -28
  769. package/dist/vfs/jaeger/config.js.map +0 -1
  770. package/dist/vfs/minio/prompt.d.ts +0 -2
  771. package/dist/vfs/minio/prompt.d.ts.map +0 -1
  772. package/dist/vfs/minio/prompt.js +0 -19
  773. package/dist/vfs/minio/prompt.js.map +0 -1
  774. package/dist/vfs/nextcloud/prompt.d.ts +0 -2
  775. package/dist/vfs/nextcloud/prompt.d.ts.map +0 -1
  776. package/dist/vfs/nextcloud/prompt.js +0 -6
  777. package/dist/vfs/nextcloud/prompt.js.map +0 -1
  778. package/dist/vfs/oci/prompt.d.ts +0 -2
  779. package/dist/vfs/oci/prompt.d.ts.map +0 -1
  780. package/dist/vfs/oci/prompt.js +0 -19
  781. package/dist/vfs/oci/prompt.js.map +0 -1
  782. package/dist/vfs/qingstor/prompt.d.ts +0 -2
  783. package/dist/vfs/qingstor/prompt.d.ts.map +0 -1
  784. package/dist/vfs/qingstor/prompt.js +0 -19
  785. package/dist/vfs/qingstor/prompt.js.map +0 -1
  786. package/dist/vfs/r2/prompt.d.ts +0 -2
  787. package/dist/vfs/r2/prompt.d.ts.map +0 -1
  788. package/dist/vfs/r2/prompt.js +0 -19
  789. package/dist/vfs/r2/prompt.js.map +0 -1
  790. package/dist/vfs/scaleway/prompt.d.ts +0 -2
  791. package/dist/vfs/scaleway/prompt.d.ts.map +0 -1
  792. package/dist/vfs/scaleway/prompt.js +0 -19
  793. package/dist/vfs/scaleway/prompt.js.map +0 -1
  794. package/dist/vfs/seaweedfs/prompt.d.ts +0 -2
  795. package/dist/vfs/seaweedfs/prompt.d.ts.map +0 -1
  796. package/dist/vfs/seaweedfs/prompt.js +0 -19
  797. package/dist/vfs/seaweedfs/prompt.js.map +0 -1
  798. package/dist/vfs/ssh/prompt.d.ts +0 -2
  799. package/dist/vfs/ssh/prompt.d.ts.map +0 -1
  800. package/dist/vfs/ssh/prompt.js +0 -18
  801. package/dist/vfs/ssh/prompt.js.map +0 -1
  802. package/dist/vfs/supabase/prompt.d.ts +0 -2
  803. package/dist/vfs/supabase/prompt.d.ts.map +0 -1
  804. package/dist/vfs/supabase/prompt.js +0 -19
  805. package/dist/vfs/supabase/prompt.js.map +0 -1
  806. package/dist/vfs/tencent/prompt.d.ts +0 -2
  807. package/dist/vfs/tencent/prompt.d.ts.map +0 -1
  808. package/dist/vfs/tencent/prompt.js +0 -19
  809. package/dist/vfs/tencent/prompt.js.map +0 -1
  810. package/dist/vfs/wasabi/prompt.d.ts +0 -2
  811. package/dist/vfs/wasabi/prompt.d.ts.map +0 -1
  812. package/dist/vfs/wasabi/prompt.js +0 -19
  813. package/dist/vfs/wasabi/prompt.js.map +0 -1
  814. package/dist/workspace/session/disk.d.ts +0 -13
  815. package/dist/workspace/session/disk.d.ts.map +0 -1
  816. package/dist/workspace/session/disk.js +0 -29
  817. package/dist/workspace/session/disk.js.map +0 -1
  818. package/dist/workspace/session/redis.d.ts +0 -31
  819. package/dist/workspace/session/redis.d.ts.map +0 -1
  820. package/dist/workspace/session/redis.js +0 -87
  821. package/dist/workspace/session/redis.js.map +0 -1
@@ -11,59 +11,22 @@
11
11
  // See the License for the specific language governing permissions and
12
12
  // limitations under the License.
13
13
  // ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========
14
- import { accessSync, constants, statSync } from 'node:fs';
14
+ import { accessSync, constants } from 'node:fs';
15
15
  import { access, stat } from 'node:fs/promises';
16
- import { delimiter, isAbsolute, resolve } from 'node:path';
16
+ import { isAbsolute, resolve } from 'node:path';
17
17
  import { debuglog } from 'node:util';
18
18
  import { fsStrerror } from '@struktoai/mirage-core/errors/fs';
19
19
  import { resolveHome } from '@struktoai/mirage-core/runtime/config';
20
- import { PROCESS_EXECUTOR, STREAMING_PROCESS, } from '@struktoai/mirage-core/runtime/mixin';
20
+ import { PROCESS_EXECUTOR } from '@struktoai/mirage-core/runtime/mixin';
21
21
  import { PythonRuntime } from '@struktoai/mirage-core/runtime/python/base';
22
22
  import { prepareSource } from '@struktoai/mirage-core/runtime/python/execution';
23
23
  import { initArgv } from '@struktoai/mirage-core/runtime/python/flags';
24
24
  import { registerRuntime } from '@struktoai/mirage-core/runtime/table';
25
25
  import { rstripSlash } from '@struktoai/mirage-core/utils/slash';
26
26
  import { LOCAL_CONFIG_KEYS } from "./config.js";
27
- import { closeChildren, cwdRefusal, runCli } from "../../sandbox/cli.js";
27
+ import { closeChildren, cwdRefusal, onHostPath, runProgram, systemTimeEnv, } from "../../sandbox/program.js";
28
+ import { CANNOT_EXECUTE_STATUS, NOT_FOUND_STATUS } from '@struktoai/mirage-core/shell/constants';
28
29
  const LOCAL_HOME_ENV = 'MIRAGE_LOCAL_HOME';
29
- /**
30
- * Where the host's own PATH finds an interpreter, as Python's `shutil.which`
31
- * finds the twin's, as an absolute path: the program's environment carries
32
- * no host PATH, so the lookup cannot be left to spawn. An empty entry is the
33
- * current directory, as for the shell. A name with a slash is taken as
34
- * given, and one the PATH lacks too, so spawn reports it missing. On
35
- * Windows a name without one of `PATHEXT`'s suffixes is tried with each.
36
- */
37
- function onHostPath(name) {
38
- if (name.includes('/'))
39
- return name;
40
- const suffixes = process.platform === 'win32'
41
- ? (process.env.PATHEXT ?? '.COM;.EXE;.BAT;.CMD').split(';').filter((s) => s !== '')
42
- : [];
43
- const names = suffixes.length === 0 || suffixes.some((s) => name.toLowerCase().endsWith(s.toLowerCase()))
44
- ? [name]
45
- : suffixes.map((s) => name + s);
46
- for (const dir of (process.env.PATH ?? '').split(delimiter)) {
47
- for (const each of names) {
48
- const candidate = resolve(dir, each);
49
- try {
50
- if (statSync(candidate, { throwIfNoEntry: false })?.isFile() !== true)
51
- continue;
52
- accessSync(candidate, constants.X_OK);
53
- return candidate;
54
- }
55
- catch (err) {
56
- const code = err.code;
57
- if (code === undefined)
58
- throw err;
59
- // Not usable here (not executable, an unreadable entry): the next
60
- // entry may be. Opt-in (NODE_DEBUG=mirage), on stderr.
61
- debuglog('mirage')('local: %s is not usable: %s', candidate, code);
62
- }
63
- }
64
- }
65
- return name;
66
- }
67
30
  /**
68
31
  * Whether a resolved program is an executable file. Asynchronous, as is
69
32
  * every check `runProcess` makes, so a path on this process's own FUSE
@@ -98,9 +61,9 @@ async function unrunnable(name, path) {
98
61
  return null;
99
62
  });
100
63
  if (found === null)
101
- return notRun(`${name}: No such file or directory\n`, 127);
64
+ return notRun(`${name}: No such file or directory\n`, NOT_FOUND_STATUS);
102
65
  if (found.isDirectory())
103
- return notRun(`${name}: Is a directory\n`, 126);
66
+ return notRun(`${name}: Is a directory\n`, CANNOT_EXECUTE_STATUS);
104
67
  const runs = await access(path, constants.X_OK).then(() => true, (err) => {
105
68
  const code = err.code;
106
69
  if (code === undefined)
@@ -108,7 +71,7 @@ async function unrunnable(name, path) {
108
71
  debuglog('mirage')('local: cannot execute %s: %s', path, code);
109
72
  return false;
110
73
  });
111
- return runs ? null : notRun(`${name}: Permission denied\n`, 126);
74
+ return runs ? null : notRun(`${name}: Permission denied\n`, CANNOT_EXECUTE_STATUS);
112
75
  }
113
76
  /** A program that never started: its message and exit code. */
114
77
  function notRun(message, exitCode) {
@@ -132,44 +95,45 @@ function notRun(message, exitCode) {
132
95
  export class LocalRuntime extends PythonRuntime {
133
96
  name = 'local';
134
97
  [PROCESS_EXECUTOR] = true;
135
- [STREAMING_PROCESS] = true;
136
98
  // Spawns the host interpreter: a real process with the user's own
137
99
  // filesystem and network, entry points the workspace gate never sees. This
138
100
  // is the base default; declared here so the claim is explicit at the
139
101
  // one builtin runtime that voids a world's sandbox claim.
140
102
  reach = 'process';
103
+ home;
141
104
  python;
142
105
  children = new Set();
106
+ closed = false;
143
107
  constructor(options = {}) {
144
108
  super(options, LOCAL_CONFIG_KEYS);
145
- const chosen = resolveHome(this.config, LOCAL_HOME_ENV);
146
- this.python = onHostPath(chosen ?? 'python3');
147
- if (chosen !== undefined) {
109
+ this.home = resolveHome(this.config, LOCAL_HOME_ENV);
110
+ // A configured path is read from the directory the entry is built in,
111
+ // as Python's twin makes it absolute; a name is found on the PATH as
112
+ // the entry is built, without blocking the loop, and a run that finds
113
+ // nothing there says so.
114
+ const home = this.home?.includes('/') === true ? resolve(this.home) : this.home;
115
+ this.python = onHostPath(home ?? 'python3');
116
+ void this.python.catch(() => undefined);
117
+ if (home?.includes('/') === true) {
148
118
  try {
149
- accessSync(this.python, constants.X_OK);
119
+ accessSync(home, constants.X_OK);
150
120
  }
151
121
  catch (cause) {
152
- throw new Error(`local python interpreter not found: ${chosen} (from the runtime entry's config home or ${LOCAL_HOME_ENV})`, { cause });
122
+ throw new Error(`local python interpreter not found: ${home} (from the runtime entry's config home or ${LOCAL_HOME_ENV})`, { cause });
153
123
  }
154
124
  }
155
125
  }
156
- version(_env, signal) {
126
+ async version(_env, signal) {
157
127
  // Session loader variables can execute code before --version is read.
158
- return this.spawnProgram(this.python, ['--version'], {}, null, signal);
128
+ return this.spawnProgram(await this.interpreter(), ['--version'], {}, null, signal);
159
129
  }
160
- interpret(_engine, program, ctx) {
130
+ async interpret(_engine, program, ctx, output, errors) {
161
131
  // Honoring the init switches is just handing them back to the real
162
132
  // interpreter, which is why this tier gets them exactly right
163
133
  // (sys.flags included) where an in-process engine cannot.
164
- return this.spawnProgram(this.python, [...initArgv(ctx.flags), '-c', prepareSource(program, ctx.cwd), ...program.args], ctx.env ?? {}, program.stdin, ctx.signal);
165
- }
166
- runProcess(_engine, _paths, texts, ctx) {
167
- return this.executeProcess(texts, ctx);
134
+ return this.spawnProgram(await this.interpreter(), [...initArgv(ctx.flags), '-c', prepareSource(program, ctx.cwd), ...program.args], ctx.env ?? {}, program.stdin, ctx.signal, undefined, output, errors);
168
135
  }
169
- runStream(_engine, _paths, texts, ctx, output) {
170
- return this.executeProcess(texts, ctx, output);
171
- }
172
- async executeProcess(argv, ctx, output) {
136
+ async runProcess(_engine, _paths, argv, ctx, output, errors) {
173
137
  ctx.signal?.throwIfAborted();
174
138
  const name = argv[0] ?? '';
175
139
  const cwd = ctx.cwd.virtual;
@@ -187,34 +151,47 @@ export class LocalRuntime extends PythonRuntime {
187
151
  return refusal;
188
152
  }
189
153
  else {
190
- program = onHostPath(name);
154
+ program = await onHostPath(name);
191
155
  if (!(await isExecutable(program)))
192
- return notRun(`${name}: command not found\n`, 127);
156
+ return notRun(`${name}: command not found\n`, NOT_FOUND_STATUS);
193
157
  }
194
158
  // A program that cannot start (its script's interpreter missing, say)
195
159
  // fails as the shell's would, so `tool || fallback` goes on.
196
- return this.spawnProgram(program, argv.slice(1), ctx.env ?? {}, ctx.stdin, ctx.signal, cwd, output).catch((err) => {
160
+ return this.spawnProgram(program, argv.slice(1), ctx.env ?? {}, ctx.stdin, ctx.signal, cwd, output, errors).catch((err) => {
197
161
  const { code, syscall } = err;
198
162
  if (code === undefined || syscall?.startsWith('spawn') !== true)
199
163
  throw err;
200
- return notRun(`${name}: cannot execute: ${fsStrerror(err) ?? code}\n`, 126);
164
+ return notRun(`${name}: cannot execute: ${fsStrerror(err) ?? code}\n`, CANNOT_EXECUTE_STATUS);
201
165
  });
202
166
  }
203
- async spawnProgram(program, argv, env, stdin, signal, cwd, output) {
204
- const missing = program === this.python
205
- ? `local python interpreter not found: '${this.python}' (set the ` +
206
- `runtime entry's config home or ${LOCAL_HOME_ENV})`
207
- : null;
208
- const { stdout, stderr, code } = await runCli(program, missing, argv, stdin, {
209
- env: { ...this.config.env, ...env },
167
+ /** The interpreter the host PATH found, refused when it found none. */
168
+ async interpreter() {
169
+ const name = this.home ?? 'python3';
170
+ const found = await this.python;
171
+ if (!(await isExecutable(found)))
172
+ throw new Error(`local python interpreter not found: '${name}' (set the ` +
173
+ `runtime entry's config home or ${LOCAL_HOME_ENV})`);
174
+ return found;
175
+ }
176
+ async spawnProgram(program, argv, env, stdin, signal, cwd, output, errors) {
177
+ const given = { ...this.config.env, ...env };
178
+ const clock = await systemTimeEnv(given);
179
+ // A run still finding its program or libfaketime when the runtime
180
+ // closed starts nothing, so no child outlives the close.
181
+ if (this.closed)
182
+ throw new Error(`${this.name}: the runtime is closed`);
183
+ return runProgram(program, null, argv, stdin, {
184
+ env: { ...given, ...clock },
210
185
  children: this.children,
186
+ direct: true,
211
187
  ...(output === undefined ? {} : { output }),
188
+ ...(errors === undefined ? {} : { errors }),
212
189
  ...(cwd !== undefined ? { cwd } : {}),
213
190
  ...(signal !== undefined ? { signal } : {}),
214
191
  });
215
- return { stdout, stderr: stderr.length > 0 ? stderr : null, exitCode: code };
216
192
  }
217
193
  close() {
194
+ this.closed = true;
218
195
  return closeChildren(this.children);
219
196
  }
220
197
  }
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../../src/runtime/python/local/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../../src/runtime/python/local/runtime.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,11 @@
1
- export declare const APPLE_CONTAINER_CLI_HINT: string;
1
+ export declare const APPLE_CONTAINER_HINT: string;
2
2
  /**
3
3
  * `container inspect` reports RuntimeStatus's raw value: unknown,
4
4
  * stopped, running or stopping. Only "running" can take a line; a
5
5
  * container that was created but never started reports "stopped".
6
6
  */
7
7
  export declare const RUNNING_STATE = "running";
8
+ export declare const STATE_HINTS: Readonly<Record<string, string>>;
8
9
  /** Why a line has nowhere to run: its session maps to no container. */
9
10
  export declare function noContainerHint(sessionId: string | null): string;
10
- /** Why this container cannot take a line, named by its state. */
11
- export declare function notRunningHint(container: string, state: string): string;
12
11
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/runtime/sandbox/apple_container/constants.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,wBAAwB,QAIX,CAAA;AAE1B;;;;GAIG;AACH,eAAO,MAAM,aAAa,YAAY,CAAA;AAOtC,uEAAuE;AACvE,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAKhE;AAED,iEAAiE;AACjE,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAIvE"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/runtime/sandbox/apple_container/constants.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,oBAAoB,QAIP,CAAA;AAE1B;;;;GAIG;AACH,eAAO,MAAM,aAAa,YAAY,CAAA;AAEtC,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAGxD,CAAA;AAED,uEAAuE;AACvE,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAKhE"}
@@ -11,7 +11,7 @@
11
11
  // See the License for the specific language governing permissions and
12
12
  // limitations under the License.
13
13
  // ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========
14
- export const APPLE_CONTAINER_CLI_HINT = "the apple_container runtime needs Apple's container CLI on PATH " +
14
+ export const APPLE_CONTAINER_HINT = "the apple_container runtime needs Apple's `container` on PATH " +
15
15
  '(`brew install container`, or the installer from ' +
16
16
  'https://github.com/apple/container/releases); it runs on Apple silicon ' +
17
17
  'with macOS 26 or later';
@@ -21,20 +21,13 @@ export const APPLE_CONTAINER_CLI_HINT = "the apple_container runtime needs Apple
21
21
  * container that was created but never started reports "stopped".
22
22
  */
23
23
  export const RUNNING_STATE = 'running';
24
- const STATE_HINTS = {
25
- stopped: 'it is stopped; start it with `container start {container}`',
26
- stopping: 'it is shutting down; once it stops, start it again with `container start {container}`',
24
+ export const STATE_HINTS = {
25
+ stopped: 'it is stopped; start it with `container start {name}`',
26
+ stopping: 'it is shutting down; once it stops, start it again with `container start {name}`',
27
27
  };
28
28
  /** Why a line has nowhere to run: its session maps to no container. */
29
29
  export function noContainerHint(sessionId) {
30
30
  return (`apple_container has no container for session ${sessionId ?? '(none)'}: ` +
31
31
  'list it under containers or set container');
32
32
  }
33
- /** Why this container cannot take a line, named by its state. */
34
- export function notRunningHint(container, state) {
35
- const detail = STATE_HINTS[state];
36
- if (detail === undefined)
37
- return `container ${container} is not running (state: ${state})`;
38
- return `container ${container} is not running: ${detail.replaceAll('{container}', container)}`;
39
- }
40
33
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/runtime/sandbox/apple_container/constants.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,uEAAuE;AAEvE,MAAM,CAAC,MAAM,wBAAwB,GACnC,kEAAkE;IAClE,mDAAmD;IACnD,yEAAyE;IACzE,wBAAwB,CAAA;AAE1B;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,SAAS,CAAA;AAEtC,MAAM,WAAW,GAA2B;IAC1C,OAAO,EAAE,4DAA4D;IACrE,QAAQ,EAAE,uFAAuF;CAClG,CAAA;AAED,uEAAuE;AACvE,MAAM,UAAU,eAAe,CAAC,SAAwB;IACtD,OAAO,CACL,gDAAgD,SAAS,IAAI,QAAQ,IAAI;QACzE,2CAA2C,CAC5C,CAAA;AACH,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,cAAc,CAAC,SAAiB,EAAE,KAAa;IAC7D,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;IACjC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,aAAa,SAAS,2BAA2B,KAAK,GAAG,CAAA;IAC1F,OAAO,aAAa,SAAS,oBAAoB,MAAM,CAAC,UAAU,CAAC,aAAa,EAAE,SAAS,CAAC,EAAE,CAAA;AAChG,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/runtime/sandbox/apple_container/constants.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,uEAAuE;AAEvE,MAAM,CAAC,MAAM,oBAAoB,GAC/B,gEAAgE;IAChE,mDAAmD;IACnD,yEAAyE;IACzE,wBAAwB,CAAA;AAE1B;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,SAAS,CAAA;AAEtC,MAAM,CAAC,MAAM,WAAW,GAAqC;IAC3D,OAAO,EAAE,uDAAuD;IAChE,QAAQ,EAAE,kFAAkF;CAC7F,CAAA;AAED,uEAAuE;AACvE,MAAM,UAAU,eAAe,CAAC,SAAwB;IACtD,OAAO,CACL,gDAAgD,SAAS,IAAI,QAAQ,IAAI;QACzE,2CAA2C,CAC5C,CAAA;AACH,CAAC"}
@@ -1,14 +1,14 @@
1
- import { PROCESS_EXECUTOR, type ProcessExecutor } from '@struktoai/mirage-core/runtime/mixin';
1
+ import type { ByteSource } from '@struktoai/mirage-core/io/types';
2
2
  import { RemoteSandbox } from '@struktoai/mirage-core/runtime/sandbox/base';
3
- import type { RunResult, SandboxPipe } from '@struktoai/mirage-core/runtime/types';
3
+ import { PIPE_TRANSPORT, type PipeTransport } from '@struktoai/mirage-core/runtime/sandbox/mixin';
4
+ import type { OutputFn, RunResult, SandboxPipe } from '@struktoai/mirage-core/runtime/types';
4
5
  import type { RuntimeOptions } from '@struktoai/mirage-core/runtime/config';
5
6
  import { type AppleContainerConfig } from './config.ts';
6
- import { type CliResult } from '../cli.ts';
7
7
  /**
8
8
  * Containers under Apple's `container` tool as a whole-line runtime.
9
9
  *
10
10
  * You start the containers yourself; mirage only connects to them and
11
- * execs lines. The `container` CLI is the transport, so there is no
11
+ * execs lines. The `container` program is the transport, so there is no
12
12
  * SDK dependency and no XPC wiring; each line is one `container exec`
13
13
  * with the merged environment, the session cwd, real stdin, and
14
14
  * separated stderr.
@@ -24,18 +24,22 @@ import { type CliResult } from '../cli.ts';
24
24
  * `container`), so one runtime can give every agent a VM of its own.
25
25
  * Each container is probed once, on its first line.
26
26
  */
27
- export declare class AppleContainerRuntime extends RemoteSandbox<AppleContainerConfig> implements ProcessExecutor<undefined> {
28
- readonly [PROCESS_EXECUTOR]: true;
27
+ export declare class AppleContainerRuntime extends RemoteSandbox<AppleContainerConfig> implements PipeTransport {
28
+ readonly [PIPE_TRANSPORT]: true;
29
29
  readonly name = "apple_container";
30
30
  private readonly probes;
31
31
  constructor(options?: RuntimeOptions<AppleContainerConfig>);
32
- /** Run one container CLI invocation; the seam tests override. */
33
- protected container(args: string[], stdin?: Uint8Array | null, signal?: AbortSignal): Promise<CliResult>;
32
+ /** Run `container` once; the seam tests override. */
33
+ protected container(args: string[], stdin?: ByteSource | null, output?: OutputFn | null, signal?: AbortSignal, errors?: OutputFn | null): Promise<RunResult>;
34
34
  /**
35
35
  * Attach nothing up front. Which container a line needs depends on its
36
36
  * session, so `target` probes each container on its first line instead.
37
37
  */
38
38
  connect(): Promise<void>;
39
+ /** The container this line's session runs in, which keeps its own libfaketime answer. */
40
+ protected sandboxKey(): string;
41
+ /** The container this line's session runs in (config `containers`, else `container`). */
42
+ private containerName;
39
43
  /**
40
44
  * Select this session's container. Concurrent first lines share a probe;
41
45
  * a failed probe clears its slot so the next line retries.
@@ -48,7 +52,7 @@ export declare class AppleContainerRuntime extends RemoteSandbox<AppleContainerC
48
52
  * probing up front names the state and how to recover.
49
53
  */
50
54
  private probe;
51
- protected execArgv(argv: readonly string[], stdin: Uint8Array | null, env: Record<string, string>, cwd: string, signal?: AbortSignal): Promise<RunResult>;
55
+ protected execArgv(argv: readonly string[], stdin: ByteSource | null, env: Record<string, string>, cwd: string, output: OutputFn | null, errors: OutputFn | null, signal?: AbortSignal): Promise<RunResult>;
52
56
  openPipe(command: string): Promise<SandboxPipe>;
53
57
  }
54
58
  //# sourceMappingURL=runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../src/runtime/sandbox/apple_container/runtime.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,sCAAsC,CAAA;AAC7F,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAA;AAE3E,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAA;AAClF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAA;AAC3E,OAAO,EAEL,KAAK,oBAAoB,EAE1B,MAAM,aAAa,CAAA;AAOpB,OAAO,EAAE,KAAK,SAAS,EAAiC,MAAM,WAAW,CAAA;AAEzE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,qBACX,SAAQ,aAAa,CAAC,oBAAoB,CAC1C,YAAW,eAAe,CAAC,SAAS,CAAC;IAErC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,EAAG,IAAI,CAAS;IAC3C,QAAQ,CAAC,IAAI,qBAAoB;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmC;gBAE9C,OAAO,GAAE,cAAc,CAAC,oBAAoB,CAAM;IAK9D,iEAAiE;IACjE,SAAS,CAAC,SAAS,CACjB,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,GAAE,UAAU,GAAG,IAAW,EAC/B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,SAAS,CAAC;IAUrB;;;OAGG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB;;;OAGG;YACW,MAAM;IAmBpB;;;;;OAKG;YACW,KAAK;cAgBM,QAAQ,CAC/B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,KAAK,EAAE,UAAU,GAAG,IAAI,EACxB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,SAAS,CAAC;IAON,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;CAO/D"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../src/runtime/sandbox/apple_container/runtime.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAA;AAC3E,OAAO,EAAE,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,8CAA8C,CAAA;AAEjG,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAA;AAC5F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAA;AAC3E,OAAO,EAEL,KAAK,oBAAoB,EAE1B,MAAM,aAAa,CAAA;AAKpB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,qBACX,SAAQ,aAAa,CAAC,oBAAoB,CAC1C,YAAW,aAAa;IAExB,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAG,IAAI,CAAS;IACzC,QAAQ,CAAC,IAAI,qBAAoB;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmC;gBAE9C,OAAO,GAAE,cAAc,CAAC,oBAAoB,CAAM;IAK9D,qDAAqD;IACrD,SAAS,CAAC,SAAS,CACjB,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,GAAE,UAAU,GAAG,IAAW,EAC/B,MAAM,GAAE,QAAQ,GAAG,IAAW,EAC9B,MAAM,CAAC,EAAE,WAAW,EACpB,MAAM,GAAE,QAAQ,GAAG,IAAW,GAC7B,OAAO,CAAC,SAAS,CAAC;IAQrB;;;OAGG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,yFAAyF;cACtE,UAAU,IAAI,MAAM;IAIvC,yFAAyF;IACzF,OAAO,CAAC,aAAa;IAUrB;;;OAGG;YACW,MAAM;IAcpB;;;;;OAKG;YACW,KAAK;cAOM,QAAQ,CAC/B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,KAAK,EAAE,UAAU,GAAG,IAAI,EACxB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,QAAQ,GAAG,IAAI,EACvB,MAAM,EAAE,QAAQ,GAAG,IAAI,EACvB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,SAAS,CAAC;IAMf,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;CAOtD"}
@@ -13,17 +13,18 @@
13
13
  // ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========
14
14
  import { abortable } from '@struktoai/mirage-core/utils/abort';
15
15
  import { getCurrentSession } from '@struktoai/mirage-core/context/session_context';
16
- import { PROCESS_EXECUTOR } from '@struktoai/mirage-core/runtime/mixin';
17
16
  import { RemoteSandbox } from '@struktoai/mirage-core/runtime/sandbox/base';
17
+ import { PIPE_TRANSPORT } from '@struktoai/mirage-core/runtime/sandbox/mixin';
18
18
  import { registerRuntime } from '@struktoai/mirage-core/runtime/table';
19
19
  import { APPLE_CONTAINER_CONFIG_KEYS, validateAppleContainerConfig, } from "./config.js";
20
- import { APPLE_CONTAINER_CLI_HINT, RUNNING_STATE, noContainerHint, notRunningHint, } from "./constants.js";
21
- import { execArgs, openCliPipe, runCli } from "../cli.js";
20
+ import { APPLE_CONTAINER_HINT, RUNNING_STATE, STATE_HINTS, noContainerHint } from "./constants.js";
21
+ import { notRunningHint } from '@struktoai/mirage-core/runtime/sandbox/constants';
22
+ import { execArgs, openProgramPipe, reportedState, runProgram } from "../program.js";
22
23
  /**
23
24
  * Containers under Apple's `container` tool as a whole-line runtime.
24
25
  *
25
26
  * You start the containers yourself; mirage only connects to them and
26
- * execs lines. The `container` CLI is the transport, so there is no
27
+ * execs lines. The `container` program is the transport, so there is no
27
28
  * SDK dependency and no XPC wiring; each line is one `container exec`
28
29
  * with the merged environment, the session cwd, real stdin, and
29
30
  * separated stderr.
@@ -40,16 +41,20 @@ import { execArgs, openCliPipe, runCli } from "../cli.js";
40
41
  * Each container is probed once, on its first line.
41
42
  */
42
43
  export class AppleContainerRuntime extends RemoteSandbox {
43
- [PROCESS_EXECUTOR] = true;
44
+ [PIPE_TRANSPORT] = true;
44
45
  name = 'apple_container';
45
46
  probes = new Map();
46
47
  constructor(options = {}) {
47
48
  super(options, APPLE_CONTAINER_CONFIG_KEYS);
48
49
  validateAppleContainerConfig(this.config);
49
50
  }
50
- /** Run one container CLI invocation; the seam tests override. */
51
- container(args, stdin = null, signal) {
52
- return runCli('container', APPLE_CONTAINER_CLI_HINT, args, stdin, signal !== undefined ? { signal } : {});
51
+ /** Run `container` once; the seam tests override. */
52
+ container(args, stdin = null, output = null, signal, errors = null) {
53
+ return runProgram('container', APPLE_CONTAINER_HINT, args, stdin, {
54
+ ...(signal !== undefined ? { signal } : {}),
55
+ ...(output !== null ? { output } : {}),
56
+ ...(errors !== null ? { errors } : {}),
57
+ });
53
58
  }
54
59
  /**
55
60
  * Attach nothing up front. Which container a line needs depends on its
@@ -58,17 +63,26 @@ export class AppleContainerRuntime extends RemoteSandbox {
58
63
  connect() {
59
64
  return Promise.resolve();
60
65
  }
61
- /**
62
- * Select this session's container. Concurrent first lines share a probe;
63
- * a failed probe clears its slot so the next line retries.
64
- */
65
- async target(signal) {
66
+ /** The container this line's session runs in, which keeps its own libfaketime answer. */
67
+ sandboxKey() {
68
+ return this.containerName();
69
+ }
70
+ /** The container this line's session runs in (config `containers`, else `container`). */
71
+ containerName() {
66
72
  const sessionId = getCurrentSession()?.sessionId ?? null;
67
73
  const { containers = {} } = this.config;
68
74
  const mapped = sessionId !== null && Object.hasOwn(containers, sessionId) ? containers[sessionId] : undefined;
69
75
  const container = mapped ?? this.config.container;
70
76
  if (container === undefined)
71
77
  throw new Error(noContainerHint(sessionId));
78
+ return container;
79
+ }
80
+ /**
81
+ * Select this session's container. Concurrent first lines share a probe;
82
+ * a failed probe clears its slot so the next line retries.
83
+ */
84
+ async target(signal) {
85
+ const container = this.containerName();
72
86
  let probe = this.probes.get(container);
73
87
  if (probe === undefined) {
74
88
  probe = this.probe(container).catch((err) => {
@@ -87,41 +101,20 @@ export class AppleContainerRuntime extends RemoteSandbox {
87
101
  * probing up front names the state and how to recover.
88
102
  */
89
103
  async probe(container) {
90
- const result = await this.container(['inspect', container]);
91
- if (result.code !== 0) {
92
- throw new Error(`container inspect failed: ${DECODER.decode(result.stderr).trim()}`);
93
- }
94
- let state;
95
- try {
96
- state = inspectedState(JSON.parse(DECODER.decode(result.stdout)));
97
- }
98
- catch (error) {
99
- throw new Error(`container inspect returned unreadable json: ${String(error)}`);
100
- }
101
- if (state !== RUNNING_STATE) {
102
- throw new Error(notRunningHint(container, String(state)));
103
- }
104
+ const status = await this.container(['inspect', container]);
105
+ const state = reportedState(status, 'container inspect', [0, 'status', 'state']);
106
+ if (state !== RUNNING_STATE)
107
+ throw new Error(notRunningHint('container', container, state, STATE_HINTS));
104
108
  }
105
- async execArgv(argv, stdin, env, cwd, signal) {
109
+ async execArgv(argv, stdin, env, cwd, output, errors, signal) {
106
110
  const target = [await this.target(signal)];
107
111
  const args = execArgs(['exec', '-i'], target, env, cwd, argv);
108
- const result = await this.container(args, stdin, signal);
109
- return { stdout: result.stdout, stderr: result.stderr, exitCode: result.code };
112
+ return this.container(args, stdin, output, signal, errors);
110
113
  }
111
114
  async openPipe(command) {
112
115
  const target = [await this.target()];
113
- return openCliPipe('container', execArgs(['exec', '-i'], target, {}, null, ['sh', '-c', command]));
114
- }
115
- }
116
- /** The first entry's `status.state`, throwing on any other shape. */
117
- function inspectedState(payload) {
118
- const entry = Array.isArray(payload) ? payload[0] : undefined;
119
- const status = typeof entry === 'object' && entry !== null ? entry.status : undefined;
120
- if (typeof status !== 'object' || status === null || !('state' in status)) {
121
- throw new Error('expected [{ status: { state } }]');
116
+ return openProgramPipe('container', execArgs(['exec', '-i'], target, {}, null, ['/bin/sh', '-c', command]));
122
117
  }
123
- return status.state;
124
118
  }
125
- const DECODER = new TextDecoder();
126
119
  registerRuntime('apple_container', AppleContainerRuntime);
127
120
  //# sourceMappingURL=runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../../src/runtime/sandbox/apple_container/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../../src/runtime/sandbox/apple_container/runtime.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type ByteSource } from '@struktoai/mirage-core/io/types';
1
2
  import { RemoteSandbox } from '@struktoai/mirage-core/runtime/sandbox/base';
2
3
  import type { RunResult } from '@struktoai/mirage-core/runtime/types';
3
4
  import type { RuntimeOptions } from '@struktoai/mirage-core/runtime/config';
@@ -9,9 +10,10 @@ import { type DaytonaConfig } from './config.ts';
9
10
  * You create the sandbox yourself (dashboard, `daytona sandbox
10
11
  * create`, or the SDK); mirage only connects by `sandboxId` and execs
11
12
  * lines. `apiKey` falls back to DAYTONA_API_KEY. Daytona's exec has
12
- * no stdin and reports combined output, so piped bytes are uploaded
13
- * and redirected in, and stderr comes back null. close() releases the
14
- * SDK client and never touches the sandbox.
13
+ * no stdin and reports combined output once the command ends, so piped
14
+ * bytes are uploaded and redirected in, stderr comes back null, and a
15
+ * stream gets its output at the end. close() releases the SDK client and
16
+ * never touches the sandbox.
15
17
  */
16
18
  export declare class DaytonaRuntime extends RemoteSandbox<DaytonaConfig> {
17
19
  readonly name = "daytona";
@@ -20,7 +22,7 @@ export declare class DaytonaRuntime extends RemoteSandbox<DaytonaConfig> {
20
22
  constructor(options?: RuntimeOptions<DaytonaConfig>);
21
23
  protected loadSdk(): Promise<DaytonaSdk>;
22
24
  connect(): Promise<void>;
23
- execLine(line: string, stdin: Uint8Array | null, env: Record<string, string>, cwd: string): Promise<RunResult>;
25
+ protected execArgv(argv: readonly string[], stdin: ByteSource | null, env: Record<string, string>, cwd: string): Promise<RunResult>;
24
26
  private upload;
25
27
  /** Release the SDK client; the sandbox itself is the user's. */
26
28
  close(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../src/runtime/sandbox/daytona/runtime.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAA;AAK3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAA;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAA;AAC3E,OAAO,EAAW,KAAK,UAAU,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAA;AAKrE;;;;;;;;;GASG;AACH,qBAAa,cAAe,SAAQ,aAAa,CAAC,aAAa,CAAC;IAC9D,QAAQ,CAAC,IAAI,aAAY;IACzB,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,OAAO,CAAuB;gBAE1B,OAAO,GAAE,cAAc,CAAC,aAAa,CAAM;IAMvD,SAAS,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC;IAIlC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAUf,QAAQ,CACrB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,UAAU,GAAG,IAAI,EACxB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3B,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,SAAS,CAAC;YAgBP,MAAM;IAQpB,gEAAgE;IACjD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAOtC"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../src/runtime/sandbox/daytona/runtime.ts"],"names":[],"mappings":"AAcA,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAA;AAK3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAA;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAA;AAC3E,OAAO,EAAW,KAAK,UAAU,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAA;AAKrE;;;;;;;;;;GAUG;AACH,qBAAa,cAAe,SAAQ,aAAa,CAAC,aAAa,CAAC;IAC9D,QAAQ,CAAC,IAAI,aAAY;IACzB,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,OAAO,CAAuB;gBAE1B,OAAO,GAAE,cAAc,CAAC,aAAa,CAAM;IAMvD,SAAS,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC;IAIlC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;cAUL,QAAQ,CAC/B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,KAAK,EAAE,UAAU,GAAG,IAAI,EACxB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3B,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,SAAS,CAAC;YAgBP,MAAM;IAQpB,gEAAgE;IACjD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAQtC"}
@@ -11,6 +11,7 @@
11
11
  // See the License for the specific language governing permissions and
12
12
  // limitations under the License.
13
13
  // ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========
14
+ import { materialize } from '@struktoai/mirage-core/io/types';
14
15
  import { RemoteSandbox } from '@struktoai/mirage-core/runtime/sandbox/base';
15
16
  import { stdinPath, stdinRedirect } from "./constants.js";
16
17
  import { requireId } from '@struktoai/mirage-core/runtime/sandbox/config';
@@ -25,9 +26,10 @@ const ENC = new TextEncoder();
25
26
  * You create the sandbox yourself (dashboard, `daytona sandbox
26
27
  * create`, or the SDK); mirage only connects by `sandboxId` and execs
27
28
  * lines. `apiKey` falls back to DAYTONA_API_KEY. Daytona's exec has
28
- * no stdin and reports combined output, so piped bytes are uploaded
29
- * and redirected in, and stderr comes back null. close() releases the
30
- * SDK client and never touches the sandbox.
29
+ * no stdin and reports combined output once the command ends, so piped
30
+ * bytes are uploaded and redirected in, stderr comes back null, and a
31
+ * stream gets its output at the end. close() releases the SDK client and
32
+ * never touches the sandbox.
31
33
  */
32
34
  export class DaytonaRuntime extends RemoteSandbox {
33
35
  name = 'daytona';
@@ -48,13 +50,13 @@ export class DaytonaRuntime extends RemoteSandbox {
48
50
  }
49
51
  this.sandbox = await this.client.get(this.config.sandboxId);
50
52
  }
51
- async execLine(line, stdin, env, cwd) {
53
+ async execArgv(argv, stdin, env, cwd) {
52
54
  if (this.sandbox === null)
53
55
  throw new Error('daytona sandbox not connected');
54
- let command = wrapLine(line, env, cwd);
56
+ let command = wrapLine(argv, env, cwd);
55
57
  if (stdin !== null) {
56
58
  const path = stdinPath();
57
- await this.upload(path, stdin);
59
+ await this.upload(path, await materialize(stdin));
58
60
  command = stdinRedirect(command, path);
59
61
  }
60
62
  const response = await this.sandbox.process.executeCommand(command);
@@ -80,6 +82,7 @@ export class DaytonaRuntime extends RemoteSandbox {
80
82
  await this.client[Symbol.asyncDispose]();
81
83
  this.client = null;
82
84
  }
85
+ await super.close();
83
86
  }
84
87
  }
85
88
  registerRuntime('daytona', DaytonaRuntime);