@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
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../../src/runtime/sandbox/daytona/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../../src/runtime/sandbox/daytona/runtime.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,7 @@
1
- export declare const DOCKER_CLI_HINT = "the docker runtime needs the docker CLI on PATH (Docker Desktop, colima, or a podman alias)";
1
+ export declare const DOCKER_HINT = "the docker runtime needs `docker` on PATH (Docker Desktop, colima, or a podman alias)";
2
+ /**
3
+ * `docker inspect` reports State.Status: created, running, paused,
4
+ * restarting, removing, exited or dead. Only "running" takes a line.
5
+ */
6
+ export declare const RUNNING_STATE = "running";
2
7
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/runtime/sandbox/docker/constants.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,eAAe,gGACmE,CAAA"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/runtime/sandbox/docker/constants.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,WAAW,0FACiE,CAAA;AAEzF;;;GAGG;AACH,eAAO,MAAM,aAAa,YAAY,CAAA"}
@@ -11,5 +11,10 @@
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 DOCKER_CLI_HINT = 'the docker runtime needs the docker CLI on PATH (Docker Desktop, colima, or a podman alias)';
14
+ export const DOCKER_HINT = 'the docker runtime needs `docker` on PATH (Docker Desktop, colima, or a podman alias)';
15
+ /**
16
+ * `docker inspect` reports State.Status: created, running, paused,
17
+ * restarting, removing, exited or dead. Only "running" takes a line.
18
+ */
19
+ export const RUNNING_STATE = 'running';
15
20
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/runtime/sandbox/docker/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,eAAe,GAC1B,6FAA6F,CAAA"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/runtime/sandbox/docker/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,WAAW,GACtB,uFAAuF,CAAA;AAEzF;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,SAAS,CAAA"}
@@ -1,26 +1,26 @@
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 DockerConfig } from './config.ts';
6
- import { type CliResult } from '../cli.ts';
7
7
  /**
8
8
  * A container the user runs as a whole-line runtime.
9
9
  *
10
10
  * You start the container yourself; mirage only connects to it and
11
- * execs lines. The docker CLI is the transport (Docker Desktop,
11
+ * execs lines. The `docker` program is the transport (Docker Desktop,
12
12
  * colima, or a podman alias all work), so there is no SDK dependency
13
13
  * and no daemon socket wiring; each line is one `docker exec -i` with
14
14
  * the merged environment, the session cwd, real stdin, and separated
15
15
  * stderr.
16
16
  */
17
- export declare class DockerRuntime extends RemoteSandbox<DockerConfig> implements ProcessExecutor<undefined> {
18
- readonly [PROCESS_EXECUTOR]: true;
17
+ export declare class DockerRuntime extends RemoteSandbox<DockerConfig> implements PipeTransport {
18
+ readonly [PIPE_TRANSPORT]: true;
19
19
  readonly name = "docker";
20
20
  constructor(options?: RuntimeOptions<DockerConfig>);
21
- protected docker(args: string[], stdin?: Uint8Array | null, signal?: AbortSignal): Promise<CliResult>;
21
+ protected docker(args: string[], stdin?: ByteSource | null, output?: OutputFn | null, signal?: AbortSignal, errors?: OutputFn | null): Promise<RunResult>;
22
22
  connect(): Promise<void>;
23
- protected execArgv(argv: readonly string[], stdin: Uint8Array | null, env: Record<string, string>, cwd: string, signal?: AbortSignal): Promise<RunResult>;
23
+ protected execArgv(argv: readonly string[], stdin: ByteSource | null, env: Record<string, string>, cwd: string, output: OutputFn | null, errors: OutputFn | null, signal?: AbortSignal): Promise<RunResult>;
24
24
  openPipe(command: string): Promise<SandboxPipe>;
25
25
  }
26
26
  //# sourceMappingURL=runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../src/runtime/sandbox/docker/runtime.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,sCAAsC,CAAA;AAC7F,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAA;AAG3E,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAA;AAClF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAA;AAC3E,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,aAAa,CAAA;AAEnE,OAAO,EAAE,KAAK,SAAS,EAAiC,MAAM,WAAW,CAAA;AAEzE;;;;;;;;;GASG;AACH,qBAAa,aACX,SAAQ,aAAa,CAAC,YAAY,CAClC,YAAW,eAAe,CAAC,SAAS,CAAC;IAErC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,EAAG,IAAI,CAAS;IAC3C,QAAQ,CAAC,IAAI,YAAW;gBAEZ,OAAO,GAAE,cAAc,CAAC,YAAY,CAAM;IAMtD,SAAS,CAAC,MAAM,CACd,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,GAAE,UAAU,GAAG,IAAW,EAC/B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,SAAS,CAAC;IAIf,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;cAeL,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;IAMZ,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;CAMzD"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../src/runtime/sandbox/docker/runtime.ts"],"names":[],"mappings":"AAcA,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;AAGjG,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAA;AAC5F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAA;AAC3E,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,aAAa,CAAA;AAKnE;;;;;;;;;GASG;AACH,qBAAa,aAAc,SAAQ,aAAa,CAAC,YAAY,CAAE,YAAW,aAAa;IACrF,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAG,IAAI,CAAS;IACzC,QAAQ,CAAC,IAAI,YAAW;gBAEZ,OAAO,GAAE,cAAc,CAAC,YAAY,CAAM;IAMtD,SAAS,CAAC,MAAM,CACd,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;IAQf,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;cAOX,QAAQ,CACzB,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;IAKrB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;CAMhD"}
@@ -11,57 +11,53 @@
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 { PROCESS_EXECUTOR } from '@struktoai/mirage-core/runtime/mixin';
15
14
  import { RemoteSandbox } from '@struktoai/mirage-core/runtime/sandbox/base';
15
+ import { PIPE_TRANSPORT } from '@struktoai/mirage-core/runtime/sandbox/mixin';
16
16
  import { requireId } from '@struktoai/mirage-core/runtime/sandbox/config';
17
17
  import { registerRuntime } from '@struktoai/mirage-core/runtime/table';
18
18
  import { DOCKER_CONFIG_KEYS } from "./config.js";
19
- import { DOCKER_CLI_HINT } from "./constants.js";
20
- import { execArgs, openCliPipe, runCli } from "../cli.js";
19
+ import { notRunningHint } from '@struktoai/mirage-core/runtime/sandbox/constants';
20
+ import { DOCKER_HINT, RUNNING_STATE } from "./constants.js";
21
+ import { execArgs, openProgramPipe, reportedState, runProgram } from "../program.js";
21
22
  /**
22
23
  * A container the user runs as a whole-line runtime.
23
24
  *
24
25
  * You start the container yourself; mirage only connects to it and
25
- * execs lines. The docker CLI is the transport (Docker Desktop,
26
+ * execs lines. The `docker` program is the transport (Docker Desktop,
26
27
  * colima, or a podman alias all work), so there is no SDK dependency
27
28
  * and no daemon socket wiring; each line is one `docker exec -i` with
28
29
  * the merged environment, the session cwd, real stdin, and separated
29
30
  * stderr.
30
31
  */
31
32
  export class DockerRuntime extends RemoteSandbox {
32
- [PROCESS_EXECUTOR] = true;
33
+ [PIPE_TRANSPORT] = true;
33
34
  name = 'docker';
34
35
  constructor(options = {}) {
35
36
  super(options, DOCKER_CONFIG_KEYS);
36
37
  requireId('docker', 'container', this.config.container);
37
38
  }
38
- // One docker CLI invocation; the seam tests override.
39
- docker(args, stdin = null, signal) {
40
- return runCli('docker', DOCKER_CLI_HINT, args, stdin, signal !== undefined ? { signal } : {});
39
+ // Run `docker` once; the seam tests override.
40
+ docker(args, stdin = null, output = null, signal, errors = null) {
41
+ return runProgram('docker', DOCKER_HINT, args, stdin, {
42
+ ...(signal !== undefined ? { signal } : {}),
43
+ ...(output !== null ? { output } : {}),
44
+ ...(errors !== null ? { errors } : {}),
45
+ });
41
46
  }
42
47
  async connect() {
43
- const result = await this.docker([
44
- 'inspect',
45
- '--format',
46
- '{{.State.Running}}',
47
- this.config.container,
48
- ]);
49
- if (result.code !== 0) {
50
- throw new Error(`docker inspect failed: ${DECODER.decode(result.stderr).trim()}`);
51
- }
52
- if (DECODER.decode(result.stdout).trim() !== 'true') {
53
- throw new Error(`container ${this.config.container} is not running`);
54
- }
48
+ const container = this.config.container;
49
+ const status = await this.docker(['inspect', '--format', '{{json .State}}', container]);
50
+ const state = reportedState(status, 'docker inspect', ['Status']);
51
+ if (state !== RUNNING_STATE)
52
+ throw new Error(notRunningHint('container', container, state, {}));
55
53
  }
56
- async execArgv(argv, stdin, env, cwd, signal) {
54
+ execArgv(argv, stdin, env, cwd, output, errors, signal) {
57
55
  const args = execArgs(['exec', '-i'], [this.config.container], env, cwd, argv);
58
- const result = await this.docker(args, stdin, signal);
59
- return { stdout: result.stdout, stderr: result.stderr, exitCode: result.code };
56
+ return this.docker(args, stdin, output, signal, errors);
60
57
  }
61
58
  openPipe(command) {
62
- return openCliPipe('docker', execArgs(['exec', '-i'], [this.config.container], {}, null, ['sh', '-c', command]));
59
+ return openProgramPipe('docker', execArgs(['exec', '-i'], [this.config.container], {}, null, ['/bin/sh', '-c', command]));
63
60
  }
64
61
  }
65
- const DECODER = new TextDecoder();
66
62
  registerRuntime('docker', DockerRuntime);
67
63
  //# sourceMappingURL=runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../../src/runtime/sandbox/docker/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../../src/runtime/sandbox/docker/runtime.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,4 @@
1
- export declare const MICROSANDBOX_CLI_HINT: string;
1
+ export declare const MICROSANDBOX_HINT: string;
2
2
  export declare const RUNNING_STATE = "Running";
3
3
  export declare const INSPECT_TIMEOUT_SECONDS = 10;
4
- /** Explain why the configured sandbox cannot take a command. */
5
- export declare function notRunningHint(sandbox: string, state: string): string;
6
4
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/runtime/sandbox/microsandbox/constants.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,qBAAqB,QAEK,CAAA;AAEvC,eAAO,MAAM,aAAa,YAAY,CAAA;AACtC,eAAO,MAAM,uBAAuB,KAAK,CAAA;AAEzC,gEAAgE;AAChE,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAErE"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/runtime/sandbox/microsandbox/constants.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,iBAAiB,QAES,CAAA;AAEvC,eAAO,MAAM,aAAa,YAAY,CAAA;AACtC,eAAO,MAAM,uBAAuB,KAAK,CAAA"}
@@ -11,12 +11,8 @@
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 MICROSANDBOX_CLI_HINT = 'the microsandbox runtime needs the msb CLI on PATH (https://microsandbox.dev); ' +
14
+ export const MICROSANDBOX_HINT = 'the microsandbox runtime needs `msb` on PATH (https://microsandbox.dev); ' +
15
15
  'start the sandbox before connecting';
16
16
  export const RUNNING_STATE = 'Running';
17
17
  export const INSPECT_TIMEOUT_SECONDS = 10;
18
- /** Explain why the configured sandbox cannot take a command. */
19
- export function notRunningHint(sandbox, state) {
20
- return `sandbox ${sandbox} is not running (status: ${state}); start it with msb start`;
21
- }
22
18
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/runtime/sandbox/microsandbox/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,qBAAqB,GAChC,iFAAiF;IACjF,qCAAqC,CAAA;AAEvC,MAAM,CAAC,MAAM,aAAa,GAAG,SAAS,CAAA;AACtC,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAA;AAEzC,gEAAgE;AAChE,MAAM,UAAU,cAAc,CAAC,OAAe,EAAE,KAAa;IAC3D,OAAO,WAAW,OAAO,4BAA4B,KAAK,4BAA4B,CAAA;AACxF,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/runtime/sandbox/microsandbox/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,iBAAiB,GAC5B,2EAA2E;IAC3E,qCAAqC,CAAA;AAEvC,MAAM,CAAC,MAAM,aAAa,GAAG,SAAS,CAAA;AACtC,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAA"}
@@ -1,26 +1,26 @@
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 MicrosandboxConfig } from './config.ts';
6
- import { type CliResult } from '../cli.ts';
7
7
  /**
8
- * Run programs in an existing Microsandbox guest through the msb CLI.
8
+ * Run programs in an existing Microsandbox guest through `msb`.
9
9
  * The user starts the sandbox and serves its workspace at the same paths
10
10
  * inside the guest. Mirage forwards commands, stdin, environment, and cwd
11
11
  * without managing the sandbox's lifecycle.
12
12
  */
13
- export declare class MicrosandboxRuntime extends RemoteSandbox<MicrosandboxConfig> implements ProcessExecutor<undefined> {
14
- readonly [PROCESS_EXECUTOR]: true;
13
+ export declare class MicrosandboxRuntime extends RemoteSandbox<MicrosandboxConfig> implements PipeTransport {
14
+ readonly [PIPE_TRANSPORT]: true;
15
15
  readonly name = "microsandbox";
16
16
  constructor(options?: RuntimeOptions<MicrosandboxConfig> | Record<string, unknown>);
17
17
  /** Skip the connect-once latch: every exec probes the guest. */
18
18
  protected ensureConnected(signal?: AbortSignal): Promise<void>;
19
- protected microsandbox(args: string[], stdin?: Uint8Array | null, signal?: AbortSignal): Promise<CliResult>;
19
+ protected microsandbox(args: string[], stdin?: ByteSource | null, output?: OutputFn | null, signal?: AbortSignal, errors?: OutputFn | null): Promise<RunResult>;
20
20
  /** Require a running sandbox before executing any commands. */
21
21
  connect(signal?: AbortSignal): Promise<void>;
22
22
  private inspect;
23
- protected execArgv(argv: readonly string[], stdin: Uint8Array | null, env: Record<string, string>, cwd: string, signal?: AbortSignal): Promise<RunResult>;
23
+ protected execArgv(argv: readonly string[], stdin: ByteSource | null, env: Record<string, string>, cwd: string, output: OutputFn | null, errors: OutputFn | null, signal?: AbortSignal): Promise<RunResult>;
24
24
  openPipe(command: string): Promise<SandboxPipe>;
25
25
  private head;
26
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../src/runtime/sandbox/microsandbox/runtime.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,sCAAsC,CAAA;AAC7F,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAA;AAG3E,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAA;AAClF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAA;AAC3E,OAAO,EAA4B,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAO/E,OAAO,EAAE,KAAK,SAAS,EAAiC,MAAM,WAAW,CAAA;AAEzE;;;;;GAKG;AACH,qBAAa,mBACX,SAAQ,aAAa,CAAC,kBAAkB,CACxC,YAAW,eAAe,CAAC,SAAS,CAAC;IAErC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,EAAG,IAAI,CAAS;IAC3C,QAAQ,CAAC,IAAI,kBAAiB;gBAElB,OAAO,GAAE,cAAc,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAKtF,gEAAgE;cAC7C,eAAe,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvE,SAAS,CAAC,YAAY,CACpB,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,GAAE,UAAU,GAAG,IAAW,EAC/B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,SAAS,CAAC;IAIrB,+DAA+D;IACzD,OAAO,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;YAiBpC,OAAO;cAsBI,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;IAUN,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAQ9D,OAAO,CAAC,IAAI;CAGb"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../src/runtime/sandbox/microsandbox/runtime.ts"],"names":[],"mappings":"AAcA,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;AAGjG,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAA;AAC5F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAA;AAC3E,OAAO,EAA4B,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAK/E;;;;;GAKG;AACH,qBAAa,mBACX,SAAQ,aAAa,CAAC,kBAAkB,CACxC,YAAW,aAAa;IAExB,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAG,IAAI,CAAS;IACzC,QAAQ,CAAC,IAAI,kBAAiB;gBAElB,OAAO,GAAE,cAAc,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAKtF,gEAAgE;cAC7C,eAAe,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvE,SAAS,CAAC,YAAY,CACpB,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,+DAA+D;IACzD,OAAO,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;YAiBpC,OAAO;cAaI,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;IASf,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAQrD,OAAO,CAAC,IAAI;CAGb"}
@@ -11,21 +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 { PROCESS_EXECUTOR } from '@struktoai/mirage-core/runtime/mixin';
15
14
  import { RemoteSandbox } from '@struktoai/mirage-core/runtime/sandbox/base';
15
+ import { PIPE_TRANSPORT } from '@struktoai/mirage-core/runtime/sandbox/mixin';
16
16
  import { requireId } from '@struktoai/mirage-core/runtime/sandbox/config';
17
17
  import { registerRuntime } from '@struktoai/mirage-core/runtime/table';
18
18
  import { MICROSANDBOX_CONFIG_KEYS } from "./config.js";
19
- import { RUNNING_STATE, MICROSANDBOX_CLI_HINT, INSPECT_TIMEOUT_SECONDS, notRunningHint, } from "./constants.js";
20
- import { execArgs, openCliPipe, runCli } from "../cli.js";
19
+ import { notRunningHint } from '@struktoai/mirage-core/runtime/sandbox/constants';
20
+ import { RUNNING_STATE, MICROSANDBOX_HINT, INSPECT_TIMEOUT_SECONDS } from "./constants.js";
21
+ import { execArgs, openProgramPipe, reportedState, runProgram } from "../program.js";
21
22
  /**
22
- * Run programs in an existing Microsandbox guest through the msb CLI.
23
+ * Run programs in an existing Microsandbox guest through `msb`.
23
24
  * The user starts the sandbox and serves its workspace at the same paths
24
25
  * inside the guest. Mirage forwards commands, stdin, environment, and cwd
25
26
  * without managing the sandbox's lifecycle.
26
27
  */
27
28
  export class MicrosandboxRuntime extends RemoteSandbox {
28
- [PROCESS_EXECUTOR] = true;
29
+ [PIPE_TRANSPORT] = true;
29
30
  name = 'microsandbox';
30
31
  constructor(options = {}) {
31
32
  super(options, MICROSANDBOX_CONFIG_KEYS);
@@ -36,9 +37,13 @@ export class MicrosandboxRuntime extends RemoteSandbox {
36
37
  signal?.throwIfAborted();
37
38
  return Promise.resolve();
38
39
  }
39
- // One msb CLI invocation.
40
- microsandbox(args, stdin = null, signal) {
41
- return runCli('msb', MICROSANDBOX_CLI_HINT, args, stdin, signal !== undefined ? { signal } : {});
40
+ // Run `msb` once.
41
+ microsandbox(args, stdin = null, output = null, signal, errors = null) {
42
+ return runProgram('msb', MICROSANDBOX_HINT, args, stdin, {
43
+ ...(signal !== undefined ? { signal } : {}),
44
+ ...(output !== null ? { output } : {}),
45
+ ...(errors !== null ? { errors } : {}),
46
+ });
42
47
  }
43
48
  /** Require a running sandbox before executing any commands. */
44
49
  async connect(signal) {
@@ -56,44 +61,27 @@ export class MicrosandboxRuntime extends RemoteSandbox {
56
61
  }
57
62
  }
58
63
  async inspect(signal) {
59
- const args = ['status', this.config.sandbox, '--format', 'json'];
60
- const result = await this.microsandbox(args, null, signal);
61
- if (result.code !== 0) {
62
- const detail = DECODER.decode(result.stderr).trim();
63
- throw new Error(`msb status failed: ${detail}`);
64
- }
65
- let status;
66
- try {
67
- status = JSON.parse(DECODER.decode(result.stdout));
68
- }
69
- catch (error) {
70
- throw new Error(`msb status returned unreadable json: ${String(error)}`);
71
- }
72
- if (status === null || typeof status !== 'object' || Array.isArray(status)) {
73
- throw new Error('msb status returned an invalid status object');
74
- }
75
- const state = status.status;
76
- if (state !== RUNNING_STATE) {
77
- throw new Error(notRunningHint(this.config.sandbox, String(state)));
78
- }
64
+ const sandbox = this.config.sandbox;
65
+ const status = await this.microsandbox(['status', sandbox, '--format', 'json'], null, null, signal);
66
+ const state = reportedState(status, 'msb status', ['status']);
67
+ if (state !== RUNNING_STATE)
68
+ throw new Error(notRunningHint('sandbox', sandbox, state, {}, 'start it with msb start'));
79
69
  }
80
- async execArgv(argv, stdin, env, cwd, signal) {
70
+ async execArgv(argv, stdin, env, cwd, output, errors, signal) {
81
71
  // Released msb can still auto-start a guest stopped after this probe.
82
72
  signal?.throwIfAborted();
83
73
  await this.connect(signal);
84
74
  signal?.throwIfAborted();
85
75
  const args = execArgs(this.head(), ['--'], env, cwd, argv);
86
- const result = await this.microsandbox(args, stdin, signal);
87
- return { stdout: result.stdout, stderr: result.stderr, exitCode: result.code };
76
+ return this.microsandbox(args, stdin, output, signal, errors);
88
77
  }
89
78
  async openPipe(command) {
90
79
  await this.connect();
91
- return openCliPipe('msb', execArgs([...this.head(), '--stream'], ['--'], {}, null, ['sh', '-c', command]));
80
+ return openProgramPipe('msb', execArgs([...this.head(), '--stream'], ['--'], {}, null, ['/bin/sh', '-c', command]));
92
81
  }
93
82
  head() {
94
- return ['exec', this.config.sandbox, '--quiet', '--no-tty'];
83
+ return ['exec', this.config.sandbox, '--quiet'];
95
84
  }
96
85
  }
97
- const DECODER = new TextDecoder();
98
86
  registerRuntime('microsandbox', MicrosandboxRuntime);
99
87
  //# sourceMappingURL=runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../../src/runtime/sandbox/microsandbox/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../../src/runtime/sandbox/microsandbox/runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,165 @@
1
+ import { type ChildProcess } from 'node:child_process';
2
+ import type { OutputFn, RunResult, SandboxPipe } from '@struktoai/mirage-core/runtime/types';
3
+ import type { ByteSource } from '@struktoai/mirage-core/io/types';
4
+ import type { ProcessHandle } from '@struktoai/mirage-core/process/handle';
5
+ import type { JsonValue } from '@struktoai/mirage-core/types';
6
+ /**
7
+ * What a process on this host needs to read the running workspace's system
8
+ * time (`faketimeEnv`). Empty when the workspace keeps the host's time, and
9
+ * when this host has no libfaketime, where the process runs on the host's
10
+ * clock. `env` is the process's environment, whose `LD_PRELOAD` libraries
11
+ * load after libfaketime. Mirrors Python's `system_time_env`.
12
+ */
13
+ export declare function systemTimeEnv(env: Record<string, string>): Promise<Record<string, string>>;
14
+ /**
15
+ * Host folders a kernel mount in this process serves. A child started in
16
+ * one, or from one, would wait inside its spawn on the loop that answers
17
+ * for the folder, the very loop spawning it, so it starts outside and
18
+ * EXEC_PRELUDE takes it in once the spawn has returned. Each name counts the
19
+ * mounts recording it, so one going down leaves another at its path. Mirrors
20
+ * Python's `SERVED`.
21
+ */
22
+ export declare const SERVED: Map<string, number>;
23
+ /**
24
+ * Record `folder` in `SERVED` under each name a child's path may give it: as
25
+ * given, made absolute, and with its parent's links resolved. Only the parent
26
+ * is read, never the mount, so recording it waits on no loop. Returns the
27
+ * names added, for `unserve` once the mount is gone. Mirrors Python's `serve`.
28
+ */
29
+ export declare function serve(folder: string): string[];
30
+ /**
31
+ * Take one mount's names out of `SERVED`; a name another mount still records
32
+ * stays. Mirrors Python's `unserve`.
33
+ */
34
+ export declare function unserve(names: string[]): void;
35
+ /**
36
+ * Where the host's own PATH finds a program, as Python's `shutil.which`
37
+ * does, as an absolute path: a child's environment may carry no host PATH,
38
+ * and a relative entry would be read against the child's directory, so the
39
+ * lookup cannot be left to spawn. Asynchronous, so a PATH entry on a mount
40
+ * this process serves never blocks the loop that answers it. An empty
41
+ * entry is the current directory, as for the shell. A name with a slash is
42
+ * taken as given, and one the PATH lacks too, so spawn reports it missing.
43
+ * On Windows a name without one of `PATHEXT`'s suffixes is tried with each.
44
+ */
45
+ export declare function onHostPath(name: string): Promise<string>;
46
+ /**
47
+ * One process run to its end: its output and its exit status. The child
48
+ * leads a process group of its own, and an aborted call kills the whole
49
+ * group and stops reading the pipes: a grandchild left alive, or one that
50
+ * left the group, holds the output pipes open, so 'close' would wait until
51
+ * it exited on its own, and the call rejects with an AbortError at once.
52
+ * When a `kill` stopped the runner with a signal other than KILL, the
53
+ * group gets that signal first (`endTree`), so the program's handlers get
54
+ * to run, and a `direct` child that exits on its own then leaves its status
55
+ * with the runner. A missing executable rejects with `hint` when one is given, else with
56
+ * spawn's own error. EPIPE means the command exited without draining its
57
+ * stdin (`head`-like), so it is not an error. An input pull still pending
58
+ * when the child exits is left to close on its own. One in or from a
59
+ * `SERVED` folder starts through `EXEC_PRELUDE`. Mirrors Python's
60
+ * `run_program`.
61
+ */
62
+ export declare function runProgram(executable: string, hint: string | null, args: string[], stdin: ByteSource | null, options?: {
63
+ cwd?: string;
64
+ env?: Record<string, string>;
65
+ signal?: AbortSignal;
66
+ children?: Set<ChildProcess>;
67
+ output?: OutputFn;
68
+ errors?: OutputFn;
69
+ direct?: boolean;
70
+ }): Promise<RunResult>;
71
+ /**
72
+ * How another workspace on this host reaches a child `runProgram` started,
73
+ * which leads its own process group: the host, the PID, and when it
74
+ * started, so a PID the host reused is never taken for it. `runProgram` adds
75
+ * `exited_at` once the child exits while what it started may run on. Mirrors
76
+ * Python's `host_run`.
77
+ */
78
+ export declare function hostRun(pid: number, argv: readonly string[]): Record<string, JsonValue>;
79
+ /**
80
+ * Stop a host run a lapsed workspace left: its process group gets `signum`,
81
+ * then KILL after `STOP_GRACE_SECONDS`. Only a run of this host is reached,
82
+ * and only while its PID still names a process started when the run did, to
83
+ * the second `ps` shows, so a PID the host reused is left alone. A PID that
84
+ * names no process may still name the run's group, whose leader exited
85
+ * before the programs it started. That group is the run's while one of its
86
+ * members started by the last time the group was known to be: when the
87
+ * leader exited (`exited_at`), else when its workspace last vouched for the
88
+ * run (`seen_at`), with the leader still unreaped. The host gives no new
89
+ * process the id of a group that has members, and hands a number out again
90
+ * only after a full round of the others, so a group that took the id later
91
+ * has only members started since. One none of whose members proves it is not
92
+ * reached: its members may all have started since, the run's descendants, so
93
+ * its record stays. A group this workspace may not signal is not reached
94
+ * while its leader still runs
95
+ * (macOS answers EPERM for one that only exited unreaped). Answers true once
96
+ * the run is stopped or gone, false when this workspace cannot reach it.
97
+ * Mirrors Python's `reap_host_run`.
98
+ */
99
+ export declare function reapHostRun(run: Readonly<Record<string, JsonValue>>, signum: number): Promise<boolean>;
100
+ /**
101
+ * The state a sandbox's status command printed as JSON, at `path`: the keys
102
+ * and indexes down to it. Throws when the command failed or its JSON holds
103
+ * no state. Mirrors Python's `reported_state`.
104
+ */
105
+ export declare function reportedState(result: RunResult, command: string, path: readonly (string | number)[]): string;
106
+ /**
107
+ * A sandbox program's exec arguments, the same for every program that runs a
108
+ * command in a box: the program's own words (`head`: `exec -i`, smolvm's
109
+ * `machine exec --name M`), `/` as the working directory and each
110
+ * variable as `-e`, the target or `--` (`tail`: `--` where the command is
111
+ * a trailing var arg, so a line starting with a dash is not read as a
112
+ * flag), then the command.
113
+ *
114
+ * A `cwd` runs the command there through the prelude, which exits 126
115
+ * when the box lacks it, and defers the chdir until the shell starts, so
116
+ * an agent that blocks on a chdir into a passive sshfs prefix still
117
+ * serves the mount's pipe. Null runs it from `/` as given, for a helper
118
+ * pipe. Mirrors Python's `exec_args`.
119
+ */
120
+ export declare function execArgs(head: readonly string[], tail: readonly string[], env: Record<string, string>, cwd: string | null, argv: readonly string[]): string[];
121
+ /**
122
+ * Refuse a host program whose working directory this host lacks. The
123
+ * session cwd is a workspace path; running elsewhere instead would point
124
+ * a relative path at the wrong files. Mirrors Python's `cwd_refusal`.
125
+ */
126
+ export declare function cwdRefusal(name: string, cwd: string): Promise<RunResult | null>;
127
+ /**
128
+ * Signal a child and everything it started: its process group. Windows has
129
+ * no process group to signal, and no signal but a kill, so only the child
130
+ * goes there, killed. A group whose members have all exited but are not
131
+ * yet reaped answers EPERM on macOS where Linux answers ESRCH; either way
132
+ * nothing in it is left to signal. The group's signal reaches the child
133
+ * too, so only a KILL also goes through `child.kill`, which marks it
134
+ * killed: a second gentler signal would reach its handler twice. Mirrors
135
+ * Python's `kill_tree`.
136
+ *
137
+ * @param signum the signal, KILL (9) by default.
138
+ */
139
+ export declare function killTree(child: ChildProcess, signum?: number): void;
140
+ /**
141
+ * Signal a child's process group and give the group `STOP_GRACE_SECONDS`
142
+ * to end. The grace is the group's: a descendant still handling the signal
143
+ * after the child exited keeps it, unless a KILL reaches the runner first.
144
+ * What is left after it is the caller's to kill (`stopTree`). Mirrors
145
+ * Python's `end_tree`.
146
+ *
147
+ * @param signum the signal.
148
+ * @param runner the runner the signal stopped, whose KILL ends the grace.
149
+ */
150
+ export declare function endTree(child: ChildProcess, signum: number, runner?: ProcessHandle | null): Promise<void>;
151
+ /**
152
+ * Kill every child still running, so none outlives the workspace, and wait
153
+ * for each to close. Mirrors Python's `close_children`.
154
+ */
155
+ export declare function closeChildren(children: Set<ChildProcess>): Promise<void>;
156
+ /**
157
+ * Hold a byte transport to a sandbox helper until stopped. The tail of what
158
+ * the helper says on stderr is kept for `diagnostic`, so a mount that fails
159
+ * can say why. Stopping ends the helper's input; one that has not closed
160
+ * 100 ms later loses its process group and our ends of its pipes, which
161
+ * output nobody read would otherwise hold open, exited or not. Mirrors
162
+ * Python's `open_program_pipe`.
163
+ */
164
+ export declare function openProgramPipe(executable: string, args: string[]): Promise<SandboxPipe>;
165
+ //# sourceMappingURL=program.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../../src/runtime/sandbox/program.ts"],"names":[],"mappings":"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"}