@struktoai/mirage-node 0.0.7 → 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.
- package/README.md +143 -48
- package/dist/accessor/disk.d.ts +6 -0
- package/dist/accessor/disk.d.ts.map +1 -1
- package/dist/accessor/disk.js +8 -0
- package/dist/accessor/disk.js.map +1 -1
- package/dist/accessor/email.d.ts.map +1 -1
- package/dist/accessor/email.js +5 -0
- package/dist/accessor/email.js.map +1 -1
- package/dist/accessor/gridfs.d.ts.map +1 -1
- package/dist/accessor/gridfs.js +6 -1
- package/dist/accessor/gridfs.js.map +1 -1
- package/dist/accessor/hf_hub.d.ts +3 -7
- package/dist/accessor/hf_hub.d.ts.map +1 -1
- package/dist/accessor/hf_hub.js +10 -10
- package/dist/accessor/hf_hub.js.map +1 -1
- package/dist/cache/file/redis.d.ts +8 -7
- package/dist/cache/file/redis.d.ts.map +1 -1
- package/dist/cache/file/redis.js +46 -50
- package/dist/cache/file/redis.js.map +1 -1
- package/dist/commands/builtin/utils/http.js +13 -5
- package/dist/commands/builtin/utils/http.js.map +1 -1
- package/dist/commands/cli/builtin/hf/index.d.ts.map +1 -1
- package/dist/commands/cli/builtin/hf/index.js +4 -5
- package/dist/commands/cli/builtin/hf/index.js.map +1 -1
- package/dist/commands/cli/builtin/hf/upload.d.ts.map +1 -1
- package/dist/commands/cli/builtin/hf/upload.js +2 -5
- package/dist/commands/cli/builtin/hf/upload.js.map +1 -1
- package/dist/commands/cli/builtin/himalaya/builder.d.ts +2 -2
- package/dist/commands/cli/builtin/himalaya/builder.d.ts.map +1 -1
- package/dist/commands/cli/builtin/himalaya/builder.js +1 -1
- package/dist/commands/cli/builtin/himalaya/builder.js.map +1 -1
- package/dist/commands/cli/builtin/himalaya/deliver.d.ts +35 -7
- package/dist/commands/cli/builtin/himalaya/deliver.d.ts.map +1 -1
- package/dist/commands/cli/builtin/himalaya/deliver.js.map +1 -1
- package/dist/commands/cli/builtin/himalaya/index.d.ts.map +1 -1
- package/dist/commands/cli/builtin/himalaya/index.js +4 -5
- package/dist/commands/cli/builtin/himalaya/index.js.map +1 -1
- package/dist/commands/cli/builtin/himalaya/query.d.ts +2 -2
- package/dist/commands/cli/builtin/himalaya/query.d.ts.map +1 -1
- package/dist/commands/cli/builtin/himalaya/query.js +1 -1
- package/dist/commands/cli/builtin/himalaya/query.js.map +1 -1
- package/dist/commands/cli/builtin/himalaya/send.d.ts.map +1 -1
- package/dist/commands/cli/builtin/himalaya/send.js +2 -1
- package/dist/commands/cli/builtin/himalaya/send.js.map +1 -1
- package/dist/commands/cli/builtin/himalaya/smtp.d.ts +2 -2
- package/dist/commands/cli/builtin/himalaya/smtp.d.ts.map +1 -1
- package/dist/commands/cli/builtin/himalaya/smtp.js +5 -0
- package/dist/commands/cli/builtin/himalaya/smtp.js.map +1 -1
- package/dist/commands/cli/builtin/himalaya/util.d.ts +1 -1
- package/dist/commands/cli/builtin/himalaya/util.d.ts.map +1 -1
- package/dist/commands/cli/builtin/himalaya/util.js +6 -5
- package/dist/commands/cli/builtin/himalaya/util.js.map +1 -1
- package/dist/config.d.ts +57 -37
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +152 -277
- package/dist/config.js.map +1 -1
- package/dist/core/disk/capacity.d.ts +13 -0
- package/dist/core/disk/capacity.d.ts.map +1 -0
- package/dist/core/disk/capacity.js +93 -0
- package/dist/core/disk/capacity.js.map +1 -0
- package/dist/core/disk/constants.d.ts +0 -1
- package/dist/core/disk/constants.d.ts.map +1 -1
- package/dist/core/disk/constants.js +0 -1
- package/dist/core/disk/constants.js.map +1 -1
- package/dist/core/disk/copy.d.ts.map +1 -1
- package/dist/core/disk/copy.js +24 -13
- package/dist/core/disk/copy.js.map +1 -1
- package/dist/core/disk/mkdir.d.ts.map +1 -1
- package/dist/core/disk/mkdir.js +9 -0
- package/dist/core/disk/mkdir.js.map +1 -1
- package/dist/core/disk/read.d.ts +3 -3
- package/dist/core/disk/read.d.ts.map +1 -1
- package/dist/core/disk/read.js +4 -19
- package/dist/core/disk/read.js.map +1 -1
- package/dist/core/disk/rename.d.ts +3 -0
- package/dist/core/disk/rename.d.ts.map +1 -1
- package/dist/core/disk/rename.js +15 -1
- package/dist/core/disk/rename.js.map +1 -1
- package/dist/core/disk/rm.d.ts.map +1 -1
- package/dist/core/disk/rm.js +11 -1
- package/dist/core/disk/rm.js.map +1 -1
- package/dist/core/disk/rmdir.d.ts.map +1 -1
- package/dist/core/disk/rmdir.js +4 -0
- package/dist/core/disk/rmdir.js.map +1 -1
- package/dist/core/disk/set_attrs.d.ts +2 -9
- package/dist/core/disk/set_attrs.d.ts.map +1 -1
- package/dist/core/disk/set_attrs.js +2 -1
- package/dist/core/disk/set_attrs.js.map +1 -1
- package/dist/core/disk/stream.d.ts +8 -0
- package/dist/core/disk/stream.d.ts.map +1 -1
- package/dist/core/disk/stream.js +33 -13
- package/dist/core/disk/stream.js.map +1 -1
- package/dist/core/disk/unlink.d.ts.map +1 -1
- package/dist/core/disk/unlink.js +4 -0
- package/dist/core/disk/unlink.js.map +1 -1
- package/dist/core/disk/utils.d.ts +2 -0
- package/dist/core/disk/utils.d.ts.map +1 -1
- package/dist/core/disk/utils.js +68 -21
- package/dist/core/disk/utils.js.map +1 -1
- package/dist/core/disk/write.d.ts +7 -2
- package/dist/core/disk/write.d.ts.map +1 -1
- package/dist/core/disk/write.js +22 -16
- package/dist/core/disk/write.js.map +1 -1
- package/dist/core/email/_parse.d.ts +60 -12
- package/dist/core/email/_parse.d.ts.map +1 -1
- package/dist/core/email/_parse.js +2 -2
- package/dist/core/email/_parse.js.map +1 -1
- package/dist/core/email/client.d.ts +36 -9
- package/dist/core/email/client.d.ts.map +1 -1
- package/dist/core/email/client.js +15 -0
- package/dist/core/email/client.js.map +1 -1
- package/dist/core/email/config.d.ts +6 -9
- package/dist/core/email/config.d.ts.map +1 -1
- package/dist/core/email/config.js +31 -27
- package/dist/core/email/config.js.map +1 -1
- package/dist/core/email/readdir.d.ts +2 -2
- package/dist/core/email/readdir.d.ts.map +1 -1
- package/dist/core/email/readdir.js +1 -1
- package/dist/core/email/readdir.js.map +1 -1
- package/dist/core/email/render.d.ts +5 -5
- package/dist/core/email/render.d.ts.map +1 -1
- package/dist/core/email/render.js.map +1 -1
- package/dist/core/email/search.d.ts +2 -2
- package/dist/core/email/search.d.ts.map +1 -1
- package/dist/core/email/search.js +1 -1
- package/dist/core/email/search.js.map +1 -1
- package/dist/core/gridfs/client.d.ts +25 -2
- package/dist/core/gridfs/client.d.ts.map +1 -1
- package/dist/core/gridfs/client.js +74 -7
- package/dist/core/gridfs/client.js.map +1 -1
- package/dist/core/gridfs/constants.d.ts +1 -0
- package/dist/core/gridfs/constants.d.ts.map +1 -1
- package/dist/core/gridfs/constants.js +5 -0
- package/dist/core/gridfs/constants.js.map +1 -1
- package/dist/core/gridfs/driver.d.ts +1 -0
- package/dist/core/gridfs/driver.d.ts.map +1 -1
- package/dist/core/gridfs/driver.js +80 -67
- package/dist/core/gridfs/driver.js.map +1 -1
- package/dist/core/gridfs/events.d.ts +8 -3
- package/dist/core/gridfs/events.d.ts.map +1 -1
- package/dist/core/gridfs/events.js +11 -3
- package/dist/core/gridfs/events.js.map +1 -1
- package/dist/core/gridfs/read.d.ts +2 -7
- package/dist/core/gridfs/read.d.ts.map +1 -1
- package/dist/core/gridfs/read.js +4 -9
- package/dist/core/gridfs/read.js.map +1 -1
- package/dist/core/gridfs/stream.d.ts.map +1 -1
- package/dist/core/gridfs/stream.js +5 -2
- package/dist/core/gridfs/stream.js.map +1 -1
- package/dist/core/gridfs/write.d.ts +1 -1
- package/dist/core/gridfs/write.d.ts.map +1 -1
- package/dist/core/gridfs/write.js +2 -2
- package/dist/core/gridfs/write.js.map +1 -1
- package/dist/core/hf_buckets/driver.d.ts.map +1 -1
- package/dist/core/hf_buckets/driver.js +16 -0
- package/dist/core/hf_buckets/driver.js.map +1 -1
- package/dist/core/hf_buckets/read.d.ts +2 -6
- package/dist/core/hf_buckets/read.d.ts.map +1 -1
- package/dist/core/hf_buckets/read.js +1 -1
- package/dist/core/hf_buckets/read.js.map +1 -1
- package/dist/core/hf_buckets/stream.d.ts.map +1 -1
- package/dist/core/hf_buckets/stream.js +2 -0
- package/dist/core/hf_buckets/stream.js.map +1 -1
- package/dist/core/hf_hub/admin.d.ts +3 -4
- package/dist/core/hf_hub/admin.d.ts.map +1 -1
- package/dist/core/hf_hub/admin.js +4 -4
- package/dist/core/hf_hub/admin.js.map +1 -1
- package/dist/core/hf_hub/client.d.ts +11 -24
- package/dist/core/hf_hub/client.d.ts.map +1 -1
- package/dist/core/hf_hub/client.js +40 -97
- package/dist/core/hf_hub/client.js.map +1 -1
- package/dist/core/hf_hub/commit.d.ts +8 -9
- package/dist/core/hf_hub/commit.d.ts.map +1 -1
- package/dist/core/hf_hub/commit.js +4 -6
- package/dist/core/hf_hub/commit.js.map +1 -1
- package/dist/core/hf_hub/config.d.ts +5 -4
- package/dist/core/hf_hub/config.d.ts.map +1 -1
- package/dist/core/hf_hub/config.js +3 -1
- package/dist/core/hf_hub/config.js.map +1 -1
- package/dist/core/hf_hub/constants.d.ts +0 -1
- package/dist/core/hf_hub/constants.d.ts.map +1 -1
- package/dist/core/hf_hub/constants.js +0 -1
- package/dist/core/hf_hub/constants.js.map +1 -1
- package/dist/core/hf_hub/read.d.ts +2 -5
- package/dist/core/hf_hub/read.d.ts.map +1 -1
- package/dist/core/hf_hub/read.js.map +1 -1
- package/dist/core/hf_hub/stream.d.ts.map +1 -1
- package/dist/core/hf_hub/stream.js +2 -0
- package/dist/core/hf_hub/stream.js.map +1 -1
- package/dist/core/nextcloud/capacity.js.map +1 -1
- package/dist/core/nextcloud/checksum.js +4 -3
- package/dist/core/nextcloud/checksum.js.map +1 -1
- package/dist/core/nextcloud/constants.d.ts +2 -0
- package/dist/core/nextcloud/constants.d.ts.map +1 -1
- package/dist/core/nextcloud/constants.js +4 -0
- package/dist/core/nextcloud/constants.js.map +1 -1
- package/dist/core/nextcloud/copy.js.map +1 -1
- package/dist/core/nextcloud/dav.d.ts +9 -3
- package/dist/core/nextcloud/dav.d.ts.map +1 -1
- package/dist/core/nextcloud/dav.js +20 -2
- package/dist/core/nextcloud/dav.js.map +1 -1
- package/dist/core/nextcloud/read.d.ts +2 -6
- package/dist/core/nextcloud/read.d.ts.map +1 -1
- package/dist/core/nextcloud/read.js +1 -1
- package/dist/core/nextcloud/read.js.map +1 -1
- package/dist/core/nextcloud/search/query.js +2 -2
- package/dist/core/nextcloud/search/query.js.map +1 -1
- package/dist/core/nextcloud/search/response.d.ts +3 -2
- package/dist/core/nextcloud/search/response.d.ts.map +1 -1
- package/dist/core/nextcloud/search/response.js +5 -5
- package/dist/core/nextcloud/search/response.js.map +1 -1
- package/dist/core/nextcloud/search/types.d.ts +1 -1
- package/dist/core/nextcloud/search/types.d.ts.map +1 -1
- package/dist/core/nextcloud/set_attrs.js.map +1 -1
- package/dist/core/nextcloud/stat.d.ts.map +1 -1
- package/dist/core/nextcloud/stat.js +7 -9
- package/dist/core/nextcloud/stat.js.map +1 -1
- package/dist/core/nextcloud/stream.d.ts.map +1 -1
- package/dist/core/nextcloud/stream.js +2 -0
- package/dist/core/nextcloud/stream.js.map +1 -1
- package/dist/core/nextcloud/write.d.ts +7 -1
- package/dist/core/nextcloud/write.d.ts.map +1 -1
- package/dist/core/nextcloud/write.js +81 -8
- package/dist/core/nextcloud/write.js.map +1 -1
- package/dist/core/ssh/append.d.ts +1 -2
- package/dist/core/ssh/append.d.ts.map +1 -1
- package/dist/core/ssh/append.js +1 -4
- package/dist/core/ssh/append.js.map +1 -1
- package/dist/core/ssh/checksum.d.ts.map +1 -1
- package/dist/core/ssh/checksum.js +1 -0
- package/dist/core/ssh/checksum.js.map +1 -1
- package/dist/core/ssh/rm.d.ts.map +1 -1
- package/dist/core/ssh/rm.js +15 -6
- package/dist/core/ssh/rm.js.map +1 -1
- package/dist/core/ssh/rmdir.d.ts.map +1 -1
- package/dist/core/ssh/rmdir.js +2 -22
- package/dist/core/ssh/rmdir.js.map +1 -1
- package/dist/core/ssh/set_attrs.d.ts +2 -9
- package/dist/core/ssh/set_attrs.d.ts.map +1 -1
- package/dist/core/ssh/set_attrs.js +1 -1
- package/dist/core/ssh/set_attrs.js.map +1 -1
- package/dist/core/ssh/stat.d.ts.map +1 -1
- package/dist/core/ssh/stat.js +5 -4
- package/dist/core/ssh/stat.js.map +1 -1
- package/dist/core/ssh/stream.d.ts.map +1 -1
- package/dist/core/ssh/stream.js +10 -1
- package/dist/core/ssh/stream.js.map +1 -1
- package/dist/core/ssh/utils.d.ts +8 -2
- package/dist/core/ssh/utils.d.ts.map +1 -1
- package/dist/core/ssh/utils.js +24 -3
- package/dist/core/ssh/utils.js.map +1 -1
- package/dist/core/ssh/write.d.ts +1 -2
- package/dist/core/ssh/write.d.ts.map +1 -1
- package/dist/core/ssh/write.js +1 -4
- package/dist/core/ssh/write.js.map +1 -1
- package/dist/fuse/constants.d.ts +3 -2
- package/dist/fuse/constants.d.ts.map +1 -1
- package/dist/fuse/constants.js +6 -3
- package/dist/fuse/constants.js.map +1 -1
- package/dist/fuse/fs.d.ts +1 -1
- package/dist/fuse/fs.d.ts.map +1 -1
- package/dist/fuse/fs.js +6 -3
- package/dist/fuse/fs.js.map +1 -1
- package/dist/fuse/mount.d.ts +5 -0
- package/dist/fuse/mount.d.ts.map +1 -1
- package/dist/fuse/mount.js +47 -15
- package/dist/fuse/mount.js.map +1 -1
- package/dist/index.d.ts +130 -159
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +86 -135
- package/dist/index.js.map +1 -1
- package/dist/io/gateway.d.ts +6 -0
- package/dist/io/gateway.d.ts.map +1 -0
- package/dist/io/gateway.js +357 -0
- package/dist/io/gateway.js.map +1 -0
- package/dist/io/network.d.ts +35 -0
- package/dist/io/network.d.ts.map +1 -0
- package/dist/io/network.js +187 -0
- package/dist/io/network.js.map +1 -0
- package/dist/io/spool.js +3 -3
- package/dist/io/spool.js.map +1 -1
- package/dist/mount/constants.d.ts +9 -2
- package/dist/mount/constants.d.ts.map +1 -1
- package/dist/mount/constants.js +9 -2
- package/dist/mount/constants.js.map +1 -1
- package/dist/mount/errors.d.ts +2 -11
- package/dist/mount/errors.d.ts.map +1 -1
- package/dist/mount/errors.js +28 -42
- package/dist/mount/errors.js.map +1 -1
- package/dist/mount/nfs.d.ts +2 -2
- package/dist/mount/nfs.d.ts.map +1 -1
- package/dist/mount/nfs.js +8 -20
- package/dist/mount/nfs.js.map +1 -1
- package/dist/mount/sftp.d.ts +3 -3
- package/dist/mount/sftp.d.ts.map +1 -1
- package/dist/mount/sftp.js +26 -53
- package/dist/mount/sftp.js.map +1 -1
- package/dist/observe/disk_store.js +1 -1
- package/dist/observe/disk_store.js.map +1 -1
- package/dist/runtime/js/host/constants.d.ts +1 -1
- package/dist/runtime/js/host/constants.d.ts.map +1 -1
- package/dist/runtime/js/host/constants.js +9 -8
- package/dist/runtime/js/host/constants.js.map +1 -1
- package/dist/runtime/js/host/descriptors.d.ts +11 -71
- package/dist/runtime/js/host/descriptors.d.ts.map +1 -1
- package/dist/runtime/js/host/descriptors.js +16 -202
- package/dist/runtime/js/host/descriptors.js.map +1 -1
- package/dist/runtime/js/host/fs.d.ts.map +1 -1
- package/dist/runtime/js/host/fs.js +491 -135
- package/dist/runtime/js/host/fs.js.map +1 -1
- package/dist/runtime/js/host/list.d.ts +21 -0
- package/dist/runtime/js/host/list.d.ts.map +1 -0
- package/dist/runtime/js/host/list.js +107 -0
- package/dist/runtime/js/host/list.js.map +1 -0
- package/dist/runtime/js/host/stat.d.ts +10 -0
- package/dist/runtime/js/host/stat.d.ts.map +1 -0
- package/dist/runtime/js/host/stat.js +70 -0
- package/dist/runtime/js/host/stat.js.map +1 -0
- package/dist/runtime/python/local/runtime.d.ts +8 -7
- package/dist/runtime/python/local/runtime.d.ts.map +1 -1
- package/dist/runtime/python/local/runtime.js +51 -74
- package/dist/runtime/python/local/runtime.js.map +1 -1
- package/dist/runtime/sandbox/apple_container/constants.d.ts +2 -3
- package/dist/runtime/sandbox/apple_container/constants.d.ts.map +1 -1
- package/dist/runtime/sandbox/apple_container/constants.js +4 -11
- package/dist/runtime/sandbox/apple_container/constants.js.map +1 -1
- package/dist/runtime/sandbox/apple_container/runtime.d.ts +14 -10
- package/dist/runtime/sandbox/apple_container/runtime.d.ts.map +1 -1
- package/dist/runtime/sandbox/apple_container/runtime.js +38 -57
- package/dist/runtime/sandbox/apple_container/runtime.js.map +1 -1
- package/dist/runtime/sandbox/daytona/constants.d.ts +27 -0
- package/dist/runtime/sandbox/daytona/constants.d.ts.map +1 -0
- package/dist/runtime/sandbox/daytona/constants.js +47 -0
- package/dist/runtime/sandbox/daytona/constants.js.map +1 -0
- package/dist/runtime/sandbox/daytona/runtime.d.ts +6 -4
- package/dist/runtime/sandbox/daytona/runtime.d.ts.map +1 -1
- package/dist/runtime/sandbox/daytona/runtime.js +13 -9
- package/dist/runtime/sandbox/daytona/runtime.js.map +1 -1
- package/dist/runtime/sandbox/docker/constants.d.ts +6 -1
- package/dist/runtime/sandbox/docker/constants.d.ts.map +1 -1
- package/dist/runtime/sandbox/docker/constants.js +6 -1
- package/dist/runtime/sandbox/docker/constants.js.map +1 -1
- package/dist/runtime/sandbox/docker/runtime.d.ts +8 -6
- package/dist/runtime/sandbox/docker/runtime.d.ts.map +1 -1
- package/dist/runtime/sandbox/docker/runtime.js +22 -28
- package/dist/runtime/sandbox/docker/runtime.js.map +1 -1
- package/dist/runtime/sandbox/microsandbox/constants.d.ts +1 -3
- package/dist/runtime/sandbox/microsandbox/constants.d.ts.map +1 -1
- package/dist/runtime/sandbox/microsandbox/constants.js +1 -5
- package/dist/runtime/sandbox/microsandbox/constants.js.map +1 -1
- package/dist/runtime/sandbox/microsandbox/runtime.d.ts +9 -8
- package/dist/runtime/sandbox/microsandbox/runtime.d.ts.map +1 -1
- package/dist/runtime/sandbox/microsandbox/runtime.js +26 -56
- package/dist/runtime/sandbox/microsandbox/runtime.js.map +1 -1
- package/dist/runtime/sandbox/program.d.ts +165 -0
- package/dist/runtime/sandbox/program.d.ts.map +1 -0
- package/dist/runtime/sandbox/program.js +724 -0
- package/dist/runtime/sandbox/program.js.map +1 -0
- package/dist/runtime/sandbox/sandlock/constants.d.ts +1 -1
- package/dist/runtime/sandbox/sandlock/constants.d.ts.map +1 -1
- package/dist/runtime/sandbox/sandlock/constants.js +1 -1
- package/dist/runtime/sandbox/sandlock/constants.js.map +1 -1
- package/dist/runtime/sandbox/sandlock/runtime.d.ts +5 -6
- package/dist/runtime/sandbox/sandlock/runtime.d.ts.map +1 -1
- package/dist/runtime/sandbox/sandlock/runtime.js +27 -16
- package/dist/runtime/sandbox/sandlock/runtime.js.map +1 -1
- package/dist/runtime/sandbox/smolvm/constants.d.ts +2 -3
- package/dist/runtime/sandbox/smolvm/constants.d.ts.map +1 -1
- package/dist/runtime/sandbox/smolvm/constants.js +6 -13
- package/dist/runtime/sandbox/smolvm/constants.js.map +1 -1
- package/dist/runtime/sandbox/smolvm/runtime.d.ts +9 -8
- package/dist/runtime/sandbox/smolvm/runtime.d.ts.map +1 -1
- package/dist/runtime/sandbox/smolvm/runtime.js +24 -45
- package/dist/runtime/sandbox/smolvm/runtime.js.map +1 -1
- package/dist/runtime/sandbox/ssh/runtime.d.ts +23 -12
- package/dist/runtime/sandbox/ssh/runtime.d.ts.map +1 -1
- package/dist/runtime/sandbox/ssh/runtime.js +88 -30
- package/dist/runtime/sandbox/ssh/runtime.js.map +1 -1
- package/dist/secrets/config.d.ts +2 -2
- package/dist/secrets/config.d.ts.map +1 -1
- package/dist/secrets/onepassword.d.ts +5 -8
- package/dist/secrets/onepassword.d.ts.map +1 -1
- package/dist/secrets/onepassword.js.map +1 -1
- package/dist/shell/console/redis/constants.d.ts +1 -0
- package/dist/shell/console/redis/constants.d.ts.map +1 -1
- package/dist/shell/console/redis/constants.js +3 -0
- package/dist/shell/console/redis/constants.js.map +1 -1
- package/dist/shell/console/redis/store.d.ts +24 -9
- package/dist/shell/console/redis/store.d.ts.map +1 -1
- package/dist/shell/console/redis/store.js +48 -16
- package/dist/shell/console/redis/store.js.map +1 -1
- package/dist/shell/job_table/redis.d.ts +52 -0
- package/dist/shell/job_table/redis.d.ts.map +1 -0
- package/dist/shell/job_table/redis.js +156 -0
- package/dist/shell/job_table/redis.js.map +1 -0
- package/dist/utils/loader.d.ts.map +1 -1
- package/dist/utils/loader.js +1 -3
- package/dist/utils/loader.js.map +1 -1
- package/dist/vfs/aliyun/aliyun.d.ts +4 -5
- package/dist/vfs/aliyun/aliyun.d.ts.map +1 -1
- package/dist/vfs/aliyun/aliyun.js +2 -4
- package/dist/vfs/aliyun/aliyun.js.map +1 -1
- package/dist/vfs/aliyun/config.d.ts +40 -6
- package/dist/vfs/aliyun/config.d.ts.map +1 -1
- package/dist/vfs/aliyun/config.js +5 -6
- package/dist/vfs/aliyun/config.js.map +1 -1
- package/dist/vfs/backblaze/backblaze.d.ts +4 -5
- package/dist/vfs/backblaze/backblaze.d.ts.map +1 -1
- package/dist/vfs/backblaze/backblaze.js +2 -4
- package/dist/vfs/backblaze/backblaze.js.map +1 -1
- package/dist/vfs/backblaze/config.d.ts +40 -6
- package/dist/vfs/backblaze/config.d.ts.map +1 -1
- package/dist/vfs/backblaze/config.js +5 -6
- package/dist/vfs/backblaze/config.js.map +1 -1
- package/dist/vfs/ceph/ceph.d.ts +4 -5
- package/dist/vfs/ceph/ceph.d.ts.map +1 -1
- package/dist/vfs/ceph/ceph.js +2 -4
- package/dist/vfs/ceph/ceph.js.map +1 -1
- package/dist/vfs/ceph/config.d.ts +42 -5
- package/dist/vfs/ceph/config.d.ts.map +1 -1
- package/dist/vfs/ceph/config.js +7 -5
- package/dist/vfs/ceph/config.js.map +1 -1
- package/dist/vfs/databricks_volume/config.d.ts +2 -2
- package/dist/vfs/databricks_volume/config.d.ts.map +1 -1
- package/dist/vfs/databricks_volume/config.js +1 -1
- package/dist/vfs/databricks_volume/config.js.map +1 -1
- package/dist/vfs/databricks_volume/databricks_volume.d.ts +6 -9
- package/dist/vfs/databricks_volume/databricks_volume.d.ts.map +1 -1
- package/dist/vfs/databricks_volume/databricks_volume.js +4 -9
- package/dist/vfs/databricks_volume/databricks_volume.js.map +1 -1
- package/dist/vfs/digitalocean/config.d.ts +40 -6
- package/dist/vfs/digitalocean/config.d.ts.map +1 -1
- package/dist/vfs/digitalocean/config.js +5 -6
- package/dist/vfs/digitalocean/config.js.map +1 -1
- package/dist/vfs/digitalocean/digitalocean.d.ts +4 -5
- package/dist/vfs/digitalocean/digitalocean.d.ts.map +1 -1
- package/dist/vfs/digitalocean/digitalocean.js +2 -4
- package/dist/vfs/digitalocean/digitalocean.js.map +1 -1
- package/dist/vfs/discord/discord.d.ts +7 -10
- package/dist/vfs/discord/discord.d.ts.map +1 -1
- package/dist/vfs/discord/discord.js +7 -12
- package/dist/vfs/discord/discord.js.map +1 -1
- package/dist/vfs/disk/disk.d.ts +14 -14
- package/dist/vfs/disk/disk.d.ts.map +1 -1
- package/dist/vfs/disk/disk.js +87 -52
- package/dist/vfs/disk/disk.js.map +1 -1
- package/dist/vfs/dropbox/config.d.ts +7 -12
- package/dist/vfs/dropbox/config.d.ts.map +1 -1
- package/dist/vfs/dropbox/config.js +18 -15
- package/dist/vfs/dropbox/config.js.map +1 -1
- package/dist/vfs/email/email.d.ts +13 -11
- package/dist/vfs/email/email.d.ts.map +1 -1
- package/dist/vfs/email/email.js +31 -16
- package/dist/vfs/email/email.js.map +1 -1
- package/dist/vfs/email/index.d.ts +1 -2
- package/dist/vfs/email/index.d.ts.map +1 -1
- package/dist/vfs/email/index.js +1 -2
- package/dist/vfs/email/index.js.map +1 -1
- package/dist/vfs/gcs/config.d.ts +36 -28
- package/dist/vfs/gcs/config.d.ts.map +1 -1
- package/dist/vfs/gcs/config.js +15 -39
- package/dist/vfs/gcs/config.js.map +1 -1
- package/dist/vfs/gcs/gcs.d.ts +4 -5
- package/dist/vfs/gcs/gcs.d.ts.map +1 -1
- package/dist/vfs/gcs/gcs.js +2 -4
- package/dist/vfs/gcs/gcs.js.map +1 -1
- package/dist/vfs/gridfs/config.d.ts +6 -7
- package/dist/vfs/gridfs/config.d.ts.map +1 -1
- package/dist/vfs/gridfs/config.js +25 -11
- package/dist/vfs/gridfs/config.js.map +1 -1
- package/dist/vfs/gridfs/gridfs.d.ts +10 -18
- package/dist/vfs/gridfs/gridfs.d.ts.map +1 -1
- package/dist/vfs/gridfs/gridfs.js +23 -40
- package/dist/vfs/gridfs/gridfs.js.map +1 -1
- package/dist/vfs/hf_buckets/config.d.ts +14 -17
- package/dist/vfs/hf_buckets/config.d.ts.map +1 -1
- package/dist/vfs/hf_buckets/config.js +41 -28
- package/dist/vfs/hf_buckets/config.js.map +1 -1
- package/dist/vfs/hf_buckets/hf_buckets.d.ts +10 -15
- package/dist/vfs/hf_buckets/hf_buckets.d.ts.map +1 -1
- package/dist/vfs/hf_buckets/hf_buckets.js +14 -22
- package/dist/vfs/hf_buckets/hf_buckets.js.map +1 -1
- package/dist/vfs/hf_datasets/config.d.ts +1 -4
- package/dist/vfs/hf_datasets/config.d.ts.map +1 -1
- package/dist/vfs/hf_datasets/config.js +1 -3
- package/dist/vfs/hf_datasets/config.js.map +1 -1
- package/dist/vfs/hf_datasets/hf_datasets.d.ts +4 -7
- package/dist/vfs/hf_datasets/hf_datasets.d.ts.map +1 -1
- package/dist/vfs/hf_datasets/hf_datasets.js +4 -6
- package/dist/vfs/hf_datasets/hf_datasets.js.map +1 -1
- package/dist/vfs/hf_hub/base.d.ts +4 -8
- package/dist/vfs/hf_hub/base.d.ts.map +1 -1
- package/dist/vfs/hf_hub/base.js +7 -11
- package/dist/vfs/hf_hub/base.js.map +1 -1
- package/dist/vfs/hf_models/config.d.ts +1 -4
- package/dist/vfs/hf_models/config.d.ts.map +1 -1
- package/dist/vfs/hf_models/config.js +1 -3
- package/dist/vfs/hf_models/config.js.map +1 -1
- package/dist/vfs/hf_models/hf_models.d.ts +4 -7
- package/dist/vfs/hf_models/hf_models.d.ts.map +1 -1
- package/dist/vfs/hf_models/hf_models.js +4 -6
- package/dist/vfs/hf_models/hf_models.js.map +1 -1
- package/dist/vfs/hf_spaces/config.d.ts +1 -4
- package/dist/vfs/hf_spaces/config.d.ts.map +1 -1
- package/dist/vfs/hf_spaces/config.js +1 -3
- package/dist/vfs/hf_spaces/config.js.map +1 -1
- package/dist/vfs/hf_spaces/hf_spaces.d.ts +4 -7
- package/dist/vfs/hf_spaces/hf_spaces.d.ts.map +1 -1
- package/dist/vfs/hf_spaces/hf_spaces.js +4 -6
- package/dist/vfs/hf_spaces/hf_spaces.js.map +1 -1
- package/dist/vfs/jaeger/jaeger.d.ts +7 -9
- package/dist/vfs/jaeger/jaeger.d.ts.map +1 -1
- package/dist/vfs/jaeger/jaeger.js +7 -11
- package/dist/vfs/jaeger/jaeger.js.map +1 -1
- package/dist/vfs/lancedb/lancedb.d.ts +10 -11
- package/dist/vfs/lancedb/lancedb.d.ts.map +1 -1
- package/dist/vfs/lancedb/lancedb.js +4 -5
- package/dist/vfs/lancedb/lancedb.js.map +1 -1
- package/dist/vfs/lancedb/store.d.ts +2 -2
- package/dist/vfs/lancedb/store.d.ts.map +1 -1
- package/dist/vfs/lancedb/store.js +3 -0
- package/dist/vfs/lancedb/store.js.map +1 -1
- package/dist/vfs/minio/config.d.ts +42 -5
- package/dist/vfs/minio/config.d.ts.map +1 -1
- package/dist/vfs/minio/config.js +7 -5
- package/dist/vfs/minio/config.js.map +1 -1
- package/dist/vfs/minio/minio.d.ts +4 -5
- package/dist/vfs/minio/minio.d.ts.map +1 -1
- package/dist/vfs/minio/minio.js +2 -4
- package/dist/vfs/minio/minio.js.map +1 -1
- package/dist/vfs/mongodb/mongodb.d.ts +10 -11
- package/dist/vfs/mongodb/mongodb.d.ts.map +1 -1
- package/dist/vfs/mongodb/mongodb.js +6 -7
- package/dist/vfs/mongodb/mongodb.js.map +1 -1
- package/dist/vfs/mongodb/store.d.ts +2 -1
- package/dist/vfs/mongodb/store.d.ts.map +1 -1
- package/dist/vfs/mongodb/store.js +11 -3
- package/dist/vfs/mongodb/store.js.map +1 -1
- package/dist/vfs/nextcloud/config.d.ts +5 -8
- package/dist/vfs/nextcloud/config.d.ts.map +1 -1
- package/dist/vfs/nextcloud/config.js +19 -13
- package/dist/vfs/nextcloud/config.js.map +1 -1
- package/dist/vfs/nextcloud/nextcloud.d.ts +8 -14
- package/dist/vfs/nextcloud/nextcloud.d.ts.map +1 -1
- package/dist/vfs/nextcloud/nextcloud.js +18 -29
- package/dist/vfs/nextcloud/nextcloud.js.map +1 -1
- package/dist/vfs/notion/notion.d.ts +7 -10
- package/dist/vfs/notion/notion.d.ts.map +1 -1
- package/dist/vfs/notion/notion.js +7 -10
- package/dist/vfs/notion/notion.js.map +1 -1
- package/dist/vfs/oci/config.d.ts +41 -27
- package/dist/vfs/oci/config.d.ts.map +1 -1
- package/dist/vfs/oci/config.js +18 -45
- package/dist/vfs/oci/config.js.map +1 -1
- package/dist/vfs/oci/oci.d.ts +4 -5
- package/dist/vfs/oci/oci.d.ts.map +1 -1
- package/dist/vfs/oci/oci.js +2 -4
- package/dist/vfs/oci/oci.js.map +1 -1
- package/dist/vfs/postgres/postgres.d.ts +10 -11
- package/dist/vfs/postgres/postgres.d.ts.map +1 -1
- package/dist/vfs/postgres/postgres.js +5 -6
- package/dist/vfs/postgres/postgres.js.map +1 -1
- package/dist/vfs/postgres/store.d.ts +3 -3
- package/dist/vfs/postgres/store.d.ts.map +1 -1
- package/dist/vfs/postgres/store.js +1 -0
- package/dist/vfs/postgres/store.js.map +1 -1
- package/dist/vfs/qingstor/config.d.ts +40 -6
- package/dist/vfs/qingstor/config.d.ts.map +1 -1
- package/dist/vfs/qingstor/config.js +5 -6
- package/dist/vfs/qingstor/config.js.map +1 -1
- package/dist/vfs/qingstor/qingstor.d.ts +4 -5
- package/dist/vfs/qingstor/qingstor.d.ts.map +1 -1
- package/dist/vfs/qingstor/qingstor.js +2 -4
- package/dist/vfs/qingstor/qingstor.js.map +1 -1
- package/dist/vfs/r2/config.d.ts +39 -28
- package/dist/vfs/r2/config.d.ts.map +1 -1
- package/dist/vfs/r2/config.js +24 -48
- package/dist/vfs/r2/config.js.map +1 -1
- package/dist/vfs/r2/r2.d.ts +4 -5
- package/dist/vfs/r2/r2.d.ts.map +1 -1
- package/dist/vfs/r2/r2.js +2 -4
- package/dist/vfs/r2/r2.js.map +1 -1
- package/dist/vfs/redis/redis.d.ts +3 -0
- package/dist/vfs/redis/redis.d.ts.map +1 -1
- package/dist/vfs/redis/redis.js +1 -1
- package/dist/vfs/redis/redis.js.map +1 -1
- package/dist/vfs/redis/store.d.ts +2 -0
- package/dist/vfs/redis/store.d.ts.map +1 -1
- package/dist/vfs/redis/store.js +13 -2
- package/dist/vfs/redis/store.js.map +1 -1
- package/dist/vfs/registry.d.ts.map +1 -1
- package/dist/vfs/registry.js +111 -105
- package/dist/vfs/registry.js.map +1 -1
- package/dist/vfs/s3/config.d.ts +12 -23
- package/dist/vfs/s3/config.d.ts.map +1 -1
- package/dist/vfs/s3/config.js +16 -31
- package/dist/vfs/s3/config.js.map +1 -1
- package/dist/vfs/s3/s3.d.ts +6 -9
- package/dist/vfs/s3/s3.d.ts.map +1 -1
- package/dist/vfs/s3/s3.js +11 -14
- package/dist/vfs/s3/s3.js.map +1 -1
- package/dist/vfs/s3_alias.d.ts +69 -53
- package/dist/vfs/s3_alias.d.ts.map +1 -1
- package/dist/vfs/s3_alias.js +86 -82
- package/dist/vfs/s3_alias.js.map +1 -1
- package/dist/vfs/scaleway/config.d.ts +40 -6
- package/dist/vfs/scaleway/config.d.ts.map +1 -1
- package/dist/vfs/scaleway/config.js +5 -6
- package/dist/vfs/scaleway/config.js.map +1 -1
- package/dist/vfs/scaleway/scaleway.d.ts +4 -5
- package/dist/vfs/scaleway/scaleway.d.ts.map +1 -1
- package/dist/vfs/scaleway/scaleway.js +2 -4
- package/dist/vfs/scaleway/scaleway.js.map +1 -1
- package/dist/vfs/seaweedfs/config.d.ts +42 -5
- package/dist/vfs/seaweedfs/config.d.ts.map +1 -1
- package/dist/vfs/seaweedfs/config.js +7 -5
- package/dist/vfs/seaweedfs/config.js.map +1 -1
- package/dist/vfs/seaweedfs/seaweedfs.d.ts +4 -5
- package/dist/vfs/seaweedfs/seaweedfs.d.ts.map +1 -1
- package/dist/vfs/seaweedfs/seaweedfs.js +2 -4
- package/dist/vfs/seaweedfs/seaweedfs.js.map +1 -1
- package/dist/vfs/slack/slack.d.ts +7 -10
- package/dist/vfs/slack/slack.d.ts.map +1 -1
- package/dist/vfs/slack/slack.js +7 -12
- package/dist/vfs/slack/slack.js.map +1 -1
- package/dist/vfs/ssh/config.d.ts +5 -9
- package/dist/vfs/ssh/config.d.ts.map +1 -1
- package/dist/vfs/ssh/config.js +28 -18
- package/dist/vfs/ssh/config.js.map +1 -1
- package/dist/vfs/ssh/ssh.d.ts +8 -17
- package/dist/vfs/ssh/ssh.d.ts.map +1 -1
- package/dist/vfs/ssh/ssh.js +25 -43
- package/dist/vfs/ssh/ssh.js.map +1 -1
- package/dist/vfs/supabase/config.d.ts +40 -27
- package/dist/vfs/supabase/config.d.ts.map +1 -1
- package/dist/vfs/supabase/config.js +24 -48
- package/dist/vfs/supabase/config.js.map +1 -1
- package/dist/vfs/supabase/supabase.d.ts +4 -5
- package/dist/vfs/supabase/supabase.d.ts.map +1 -1
- package/dist/vfs/supabase/supabase.js +2 -4
- package/dist/vfs/supabase/supabase.js.map +1 -1
- package/dist/vfs/tencent/config.d.ts +40 -6
- package/dist/vfs/tencent/config.d.ts.map +1 -1
- package/dist/vfs/tencent/config.js +5 -6
- package/dist/vfs/tencent/config.js.map +1 -1
- package/dist/vfs/tencent/tencent.d.ts +4 -5
- package/dist/vfs/tencent/tencent.d.ts.map +1 -1
- package/dist/vfs/tencent/tencent.js +2 -4
- package/dist/vfs/tencent/tencent.js.map +1 -1
- package/dist/vfs/tidb_filesystem/config.d.ts +2 -0
- package/dist/vfs/tidb_filesystem/config.d.ts.map +1 -0
- package/dist/{mount/types.js → vfs/tidb_filesystem/config.js} +2 -2
- package/dist/vfs/tidb_filesystem/config.js.map +1 -0
- package/dist/vfs/tidb_filesystem/tidb_filesystem.d.ts +16 -0
- package/dist/vfs/tidb_filesystem/tidb_filesystem.d.ts.map +1 -0
- package/dist/vfs/tidb_filesystem/tidb_filesystem.js +39 -0
- package/dist/vfs/tidb_filesystem/tidb_filesystem.js.map +1 -0
- package/dist/vfs/wasabi/config.d.ts +35 -28
- package/dist/vfs/wasabi/config.d.ts.map +1 -1
- package/dist/vfs/wasabi/config.js +20 -45
- package/dist/vfs/wasabi/config.js.map +1 -1
- package/dist/vfs/wasabi/wasabi.d.ts +4 -5
- package/dist/vfs/wasabi/wasabi.d.ts.map +1 -1
- package/dist/vfs/wasabi/wasabi.js +2 -4
- package/dist/vfs/wasabi/wasabi.js.map +1 -1
- package/dist/workspace/{session → mount/namespace}/cas.lua +7 -2
- package/dist/workspace/mount/namespace/disk.d.ts +12 -7
- package/dist/workspace/mount/namespace/disk.d.ts.map +1 -1
- package/dist/workspace/mount/namespace/disk.js +37 -21
- package/dist/workspace/mount/namespace/disk.js.map +1 -1
- package/dist/workspace/mount/namespace/redis.d.ts +14 -9
- package/dist/workspace/mount/namespace/redis.d.ts.map +1 -1
- package/dist/workspace/mount/namespace/redis.js +29 -14
- package/dist/workspace/mount/namespace/redis.js.map +1 -1
- package/dist/workspace/nfs.d.ts.map +1 -1
- package/dist/workspace/nfs.js +3 -1
- package/dist/workspace/nfs.js.map +1 -1
- package/dist/workspace/record/disk.d.ts +12 -5
- package/dist/workspace/record/disk.d.ts.map +1 -1
- package/dist/workspace/record/disk.js +119 -72
- package/dist/workspace/record/disk.js.map +1 -1
- package/dist/workspace/store/disk.d.ts +12 -5
- package/dist/workspace/store/disk.d.ts.map +1 -1
- package/dist/workspace/store/disk.js +20 -4
- package/dist/workspace/store/disk.js.map +1 -1
- package/dist/workspace/store/redis.d.ts +13 -7
- package/dist/workspace/store/redis.d.ts.map +1 -1
- package/dist/workspace/store/redis.js +53 -26
- package/dist/workspace/store/redis.js.map +1 -1
- package/dist/workspace.d.ts +3 -1
- package/dist/workspace.d.ts.map +1 -1
- package/dist/workspace.js +22 -21
- package/dist/workspace.js.map +1 -1
- package/package.json +13 -17
- package/dist/compression_codecs.d.ts +0 -2
- package/dist/compression_codecs.d.ts.map +0 -1
- package/dist/compression_codecs.js +0 -42
- package/dist/compression_codecs.js.map +0 -1
- package/dist/core/disk/append.d.ts +0 -4
- package/dist/core/disk/append.d.ts.map +0 -1
- package/dist/core/disk/append.js +0 -30
- package/dist/core/disk/append.js.map +0 -1
- package/dist/mount/core.d.ts +0 -313
- package/dist/mount/core.d.ts.map +0 -1
- package/dist/mount/core.js +0 -915
- package/dist/mount/core.js.map +0 -1
- package/dist/mount/platform/macos.d.ts +0 -2
- package/dist/mount/platform/macos.d.ts.map +0 -1
- package/dist/mount/platform/macos.js +0 -23
- package/dist/mount/platform/macos.js.map +0 -1
- package/dist/mount/types.d.ts +0 -37
- package/dist/mount/types.d.ts.map +0 -1
- package/dist/mount/types.js.map +0 -1
- package/dist/observe/redis_store.d.ts +0 -27
- package/dist/observe/redis_store.d.ts.map +0 -1
- package/dist/observe/redis_store.js +0 -81
- package/dist/observe/redis_store.js.map +0 -1
- package/dist/runtime/sandbox/cli.d.ts +0 -56
- package/dist/runtime/sandbox/cli.d.ts.map +0 -1
- package/dist/runtime/sandbox/cli.js +0 -260
- package/dist/runtime/sandbox/cli.js.map +0 -1
- package/dist/runtime/sandbox/ssh/constants.d.ts +0 -12
- package/dist/runtime/sandbox/ssh/constants.d.ts.map +0 -1
- package/dist/runtime/sandbox/ssh/constants.js +0 -32
- package/dist/runtime/sandbox/ssh/constants.js.map +0 -1
- package/dist/vfs/aliyun/prompt.d.ts +0 -2
- package/dist/vfs/aliyun/prompt.d.ts.map +0 -1
- package/dist/vfs/aliyun/prompt.js +0 -19
- package/dist/vfs/aliyun/prompt.js.map +0 -1
- package/dist/vfs/backblaze/prompt.d.ts +0 -2
- package/dist/vfs/backblaze/prompt.d.ts.map +0 -1
- package/dist/vfs/backblaze/prompt.js +0 -19
- package/dist/vfs/backblaze/prompt.js.map +0 -1
- package/dist/vfs/ceph/prompt.d.ts +0 -2
- package/dist/vfs/ceph/prompt.d.ts.map +0 -1
- package/dist/vfs/ceph/prompt.js +0 -19
- package/dist/vfs/ceph/prompt.js.map +0 -1
- package/dist/vfs/digitalocean/prompt.d.ts +0 -2
- package/dist/vfs/digitalocean/prompt.d.ts.map +0 -1
- package/dist/vfs/digitalocean/prompt.js +0 -19
- package/dist/vfs/digitalocean/prompt.js.map +0 -1
- package/dist/vfs/disk/prompt.d.ts +0 -2
- package/dist/vfs/disk/prompt.d.ts.map +0 -1
- package/dist/vfs/disk/prompt.js +0 -17
- package/dist/vfs/disk/prompt.js.map +0 -1
- package/dist/vfs/email/prompt.d.ts +0 -3
- package/dist/vfs/email/prompt.d.ts.map +0 -1
- package/dist/vfs/email/prompt.js +0 -29
- package/dist/vfs/email/prompt.js.map +0 -1
- package/dist/vfs/gcs/prompt.d.ts +0 -2
- package/dist/vfs/gcs/prompt.d.ts.map +0 -1
- package/dist/vfs/gcs/prompt.js +0 -19
- package/dist/vfs/gcs/prompt.js.map +0 -1
- package/dist/vfs/gridfs/prompt.d.ts +0 -2
- package/dist/vfs/gridfs/prompt.d.ts.map +0 -1
- package/dist/vfs/gridfs/prompt.js +0 -19
- package/dist/vfs/gridfs/prompt.js.map +0 -1
- package/dist/vfs/hf_buckets/prompt.d.ts +0 -2
- package/dist/vfs/hf_buckets/prompt.d.ts.map +0 -1
- package/dist/vfs/hf_buckets/prompt.js +0 -18
- package/dist/vfs/hf_buckets/prompt.js.map +0 -1
- package/dist/vfs/hf_datasets/prompt.d.ts +0 -2
- package/dist/vfs/hf_datasets/prompt.d.ts.map +0 -1
- package/dist/vfs/hf_datasets/prompt.js +0 -18
- package/dist/vfs/hf_datasets/prompt.js.map +0 -1
- package/dist/vfs/hf_models/prompt.d.ts +0 -2
- package/dist/vfs/hf_models/prompt.d.ts.map +0 -1
- package/dist/vfs/hf_models/prompt.js +0 -18
- package/dist/vfs/hf_models/prompt.js.map +0 -1
- package/dist/vfs/hf_spaces/prompt.d.ts +0 -2
- package/dist/vfs/hf_spaces/prompt.d.ts.map +0 -1
- package/dist/vfs/hf_spaces/prompt.js +0 -18
- package/dist/vfs/hf_spaces/prompt.js.map +0 -1
- package/dist/vfs/jaeger/config.d.ts +0 -15
- package/dist/vfs/jaeger/config.d.ts.map +0 -1
- package/dist/vfs/jaeger/config.js +0 -28
- package/dist/vfs/jaeger/config.js.map +0 -1
- package/dist/vfs/minio/prompt.d.ts +0 -2
- package/dist/vfs/minio/prompt.d.ts.map +0 -1
- package/dist/vfs/minio/prompt.js +0 -19
- package/dist/vfs/minio/prompt.js.map +0 -1
- package/dist/vfs/nextcloud/prompt.d.ts +0 -2
- package/dist/vfs/nextcloud/prompt.d.ts.map +0 -1
- package/dist/vfs/nextcloud/prompt.js +0 -6
- package/dist/vfs/nextcloud/prompt.js.map +0 -1
- package/dist/vfs/oci/prompt.d.ts +0 -2
- package/dist/vfs/oci/prompt.d.ts.map +0 -1
- package/dist/vfs/oci/prompt.js +0 -19
- package/dist/vfs/oci/prompt.js.map +0 -1
- package/dist/vfs/qingstor/prompt.d.ts +0 -2
- package/dist/vfs/qingstor/prompt.d.ts.map +0 -1
- package/dist/vfs/qingstor/prompt.js +0 -19
- package/dist/vfs/qingstor/prompt.js.map +0 -1
- package/dist/vfs/r2/prompt.d.ts +0 -2
- package/dist/vfs/r2/prompt.d.ts.map +0 -1
- package/dist/vfs/r2/prompt.js +0 -19
- package/dist/vfs/r2/prompt.js.map +0 -1
- package/dist/vfs/scaleway/prompt.d.ts +0 -2
- package/dist/vfs/scaleway/prompt.d.ts.map +0 -1
- package/dist/vfs/scaleway/prompt.js +0 -19
- package/dist/vfs/scaleway/prompt.js.map +0 -1
- package/dist/vfs/seaweedfs/prompt.d.ts +0 -2
- package/dist/vfs/seaweedfs/prompt.d.ts.map +0 -1
- package/dist/vfs/seaweedfs/prompt.js +0 -19
- package/dist/vfs/seaweedfs/prompt.js.map +0 -1
- package/dist/vfs/ssh/prompt.d.ts +0 -2
- package/dist/vfs/ssh/prompt.d.ts.map +0 -1
- package/dist/vfs/ssh/prompt.js +0 -18
- package/dist/vfs/ssh/prompt.js.map +0 -1
- package/dist/vfs/supabase/prompt.d.ts +0 -2
- package/dist/vfs/supabase/prompt.d.ts.map +0 -1
- package/dist/vfs/supabase/prompt.js +0 -19
- package/dist/vfs/supabase/prompt.js.map +0 -1
- package/dist/vfs/tencent/prompt.d.ts +0 -2
- package/dist/vfs/tencent/prompt.d.ts.map +0 -1
- package/dist/vfs/tencent/prompt.js +0 -19
- package/dist/vfs/tencent/prompt.js.map +0 -1
- package/dist/vfs/wasabi/prompt.d.ts +0 -2
- package/dist/vfs/wasabi/prompt.d.ts.map +0 -1
- package/dist/vfs/wasabi/prompt.js +0 -19
- package/dist/vfs/wasabi/prompt.js.map +0 -1
- package/dist/workspace/session/disk.d.ts +0 -13
- package/dist/workspace/session/disk.d.ts.map +0 -1
- package/dist/workspace/session/disk.js +0 -29
- package/dist/workspace/session/disk.js.map +0 -1
- package/dist/workspace/session/redis.d.ts +0 -31
- package/dist/workspace/session/redis.d.ts.map +0 -1
- package/dist/workspace/session/redis.js +0 -87
- package/dist/workspace/session/redis.js.map +0 -1
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========
|
|
2
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
3
|
+
// you may not use this file except in compliance with the License.
|
|
4
|
+
// You may obtain a copy of the License at
|
|
5
|
+
//
|
|
6
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
7
|
+
//
|
|
8
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
9
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
10
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11
|
+
// See the License for the specific language governing permissions and
|
|
12
|
+
// limitations under the License.
|
|
13
|
+
// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========
|
|
14
|
+
// Providers whose exec API has no stdin stream (Daytona) upload
|
|
15
|
+
// piped bytes to a per-invocation file and redirect it into the line.
|
|
16
|
+
const STDIN_PREFIX = '/tmp/.mirage_stdin';
|
|
17
|
+
/**
|
|
18
|
+
* A unique in-sandbox path for one invocation's stdin bytes: unique
|
|
19
|
+
* per invocation so concurrent lines on the same runtime never
|
|
20
|
+
* overwrite each other's payload.
|
|
21
|
+
*/
|
|
22
|
+
export function stdinPath() {
|
|
23
|
+
return `${STDIN_PREFIX}_${crypto.randomUUID().replaceAll('-', '')}`;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* The line rewritten to read its stdin from an uploaded file: runs
|
|
27
|
+
* the line in a subshell with stdin redirected from the path, removes
|
|
28
|
+
* the file afterward, and preserves the line's exit code. Daytona uses
|
|
29
|
+
* this when its exec API has no stdin stream; a PTY would merge
|
|
30
|
+
* streams and mangle bytes.
|
|
31
|
+
*
|
|
32
|
+
* Known limitations, all inherent to the file transport:
|
|
33
|
+
* - stdin is fully buffered and uploaded before the line starts;
|
|
34
|
+
* nothing is streamed, so no interactive stdin.
|
|
35
|
+
* - the bytes briefly touch the sandbox's /tmp, readable by other
|
|
36
|
+
* processes in the sandbox and left behind if the exec dies before
|
|
37
|
+
* the `rm` runs (a later line's unique path is never affected).
|
|
38
|
+
* - each stdin line costs two extra provider API calls (mkdir +
|
|
39
|
+
* upload).
|
|
40
|
+
* - the sandbox must have a POSIX sh (subshell, `$?`, `rm`).
|
|
41
|
+
* If a provider ever adds real exec stdin, drop this for that
|
|
42
|
+
* provider (docker already streams via `docker exec -i`).
|
|
43
|
+
*/
|
|
44
|
+
export function stdinRedirect(line, path) {
|
|
45
|
+
return `(\n${line}\n) < ${path}; _s=$?; rm -f ${path}; exit $_s`;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/runtime/sandbox/daytona/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,gEAAgE;AAChE,sEAAsE;AACtE,MAAM,YAAY,GAAG,oBAAoB,CAAA;AAEzC;;;;GAIG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,GAAG,YAAY,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAA;AACrE,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,IAAY;IACtD,OAAO,MAAM,IAAI,SAAS,IAAI,kBAAkB,IAAI,YAAY,CAAA;AAClE,CAAC"}
|
|
@@ -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
|
|
13
|
-
* and redirected in,
|
|
14
|
-
*
|
|
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
|
-
|
|
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;
|
|
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,9 +11,11 @@
|
|
|
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
|
-
import { stdinPath, stdinRedirect } from
|
|
16
|
+
import { stdinPath, stdinRedirect } from "./constants.js";
|
|
16
17
|
import { requireId } from '@struktoai/mirage-core/runtime/sandbox/config';
|
|
18
|
+
import { wrapLine } from '@struktoai/mirage-core/runtime/sandbox/constants';
|
|
17
19
|
import { registerRuntime } from '@struktoai/mirage-core/runtime/table';
|
|
18
20
|
import { loadSdk } from "./sdk.js";
|
|
19
21
|
import { DAYTONA_CONFIG_KEYS } from "./config.js";
|
|
@@ -24,9 +26,10 @@ const ENC = new TextEncoder();
|
|
|
24
26
|
* You create the sandbox yourself (dashboard, `daytona sandbox
|
|
25
27
|
* create`, or the SDK); mirage only connects by `sandboxId` and execs
|
|
26
28
|
* lines. `apiKey` falls back to DAYTONA_API_KEY. Daytona's exec has
|
|
27
|
-
* no stdin and reports combined output, so piped
|
|
28
|
-
* and redirected in,
|
|
29
|
-
*
|
|
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.
|
|
30
33
|
*/
|
|
31
34
|
export class DaytonaRuntime extends RemoteSandbox {
|
|
32
35
|
name = 'daytona';
|
|
@@ -47,16 +50,16 @@ export class DaytonaRuntime extends RemoteSandbox {
|
|
|
47
50
|
}
|
|
48
51
|
this.sandbox = await this.client.get(this.config.sandboxId);
|
|
49
52
|
}
|
|
50
|
-
async
|
|
53
|
+
async execArgv(argv, stdin, env, cwd) {
|
|
51
54
|
if (this.sandbox === null)
|
|
52
55
|
throw new Error('daytona sandbox not connected');
|
|
53
|
-
let command =
|
|
56
|
+
let command = wrapLine(argv, env, cwd);
|
|
54
57
|
if (stdin !== null) {
|
|
55
58
|
const path = stdinPath();
|
|
56
|
-
await this.upload(path, stdin);
|
|
57
|
-
command = stdinRedirect(
|
|
59
|
+
await this.upload(path, await materialize(stdin));
|
|
60
|
+
command = stdinRedirect(command, path);
|
|
58
61
|
}
|
|
59
|
-
const response = await this.sandbox.process.executeCommand(command
|
|
62
|
+
const response = await this.sandbox.process.executeCommand(command);
|
|
60
63
|
return {
|
|
61
64
|
stdout: ENC.encode(response.result),
|
|
62
65
|
stderr: null,
|
|
@@ -79,6 +82,7 @@ export class DaytonaRuntime extends RemoteSandbox {
|
|
|
79
82
|
await this.client[Symbol.asyncDispose]();
|
|
80
83
|
this.client = null;
|
|
81
84
|
}
|
|
85
|
+
await super.close();
|
|
82
86
|
}
|
|
83
87
|
}
|
|
84
88
|
registerRuntime('daytona', DaytonaRuntime);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../../src/runtime/sandbox/daytona/runtime.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,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAA;AAC3E,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,
|
|
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
|
|
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,
|
|
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
|
|
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,
|
|
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,24 +1,26 @@
|
|
|
1
|
+
import type { ByteSource } from '@struktoai/mirage-core/io/types';
|
|
1
2
|
import { RemoteSandbox } from '@struktoai/mirage-core/runtime/sandbox/base';
|
|
2
|
-
import
|
|
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';
|
|
3
5
|
import type { RuntimeOptions } from '@struktoai/mirage-core/runtime/config';
|
|
4
6
|
import { type DockerConfig } from './config.ts';
|
|
5
|
-
import { type CliResult } from '../cli.ts';
|
|
6
7
|
/**
|
|
7
8
|
* A container the user runs as a whole-line runtime.
|
|
8
9
|
*
|
|
9
10
|
* You start the container yourself; mirage only connects to it and
|
|
10
|
-
* execs lines. The docker
|
|
11
|
+
* execs lines. The `docker` program is the transport (Docker Desktop,
|
|
11
12
|
* colima, or a podman alias all work), so there is no SDK dependency
|
|
12
13
|
* and no daemon socket wiring; each line is one `docker exec -i` with
|
|
13
14
|
* the merged environment, the session cwd, real stdin, and separated
|
|
14
15
|
* stderr.
|
|
15
16
|
*/
|
|
16
|
-
export declare class DockerRuntime extends RemoteSandbox<DockerConfig> {
|
|
17
|
+
export declare class DockerRuntime extends RemoteSandbox<DockerConfig> implements PipeTransport {
|
|
18
|
+
readonly [PIPE_TRANSPORT]: true;
|
|
17
19
|
readonly name = "docker";
|
|
18
20
|
constructor(options?: RuntimeOptions<DockerConfig>);
|
|
19
|
-
protected docker(args: string[], stdin?:
|
|
21
|
+
protected docker(args: string[], stdin?: ByteSource | null, output?: OutputFn | null, signal?: AbortSignal, errors?: OutputFn | null): Promise<RunResult>;
|
|
20
22
|
connect(): Promise<void>;
|
|
21
|
-
protected execArgv(argv: readonly string[], stdin:
|
|
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>;
|
|
22
24
|
openPipe(command: string): Promise<SandboxPipe>;
|
|
23
25
|
}
|
|
24
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":"
|
|
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,59 +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 { EXEC_PRELUDE } from '@struktoai/mirage-core/runtime/sandbox/constants';
|
|
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 {
|
|
20
|
-
import {
|
|
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
|
|
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 {
|
|
33
|
+
[PIPE_TRANSPORT] = true;
|
|
32
34
|
name = 'docker';
|
|
33
35
|
constructor(options = {}) {
|
|
34
36
|
super(options, DOCKER_CONFIG_KEYS);
|
|
35
37
|
requireId('docker', 'container', this.config.container);
|
|
36
38
|
}
|
|
37
|
-
//
|
|
38
|
-
docker(args, stdin = null, signal) {
|
|
39
|
-
return
|
|
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
|
+
});
|
|
40
46
|
}
|
|
41
47
|
async connect() {
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
]);
|
|
48
|
-
if (result.code !== 0) {
|
|
49
|
-
throw new Error(`docker inspect failed: ${DECODER.decode(result.stderr).trim()}`);
|
|
50
|
-
}
|
|
51
|
-
if (DECODER.decode(result.stdout).trim() !== 'true') {
|
|
52
|
-
throw new Error(`container ${this.config.container} is not running`);
|
|
53
|
-
}
|
|
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, {}));
|
|
54
53
|
}
|
|
55
|
-
|
|
56
|
-
const args = ['exec', '-i',
|
|
57
|
-
|
|
58
|
-
args.push('-e', `${key}=${value}`);
|
|
59
|
-
args.push(this.config.container, 'sh', '-c', EXEC_PRELUDE, 'sh', cwd, ...argv);
|
|
60
|
-
const result = await this.docker(args, stdin, signal);
|
|
61
|
-
return { stdout: result.stdout, stderr: result.stderr, exitCode: result.code };
|
|
54
|
+
execArgv(argv, stdin, env, cwd, output, errors, signal) {
|
|
55
|
+
const args = execArgs(['exec', '-i'], [this.config.container], env, cwd, argv);
|
|
56
|
+
return this.docker(args, stdin, output, signal, errors);
|
|
62
57
|
}
|
|
63
58
|
openPipe(command) {
|
|
64
|
-
return
|
|
59
|
+
return openProgramPipe('docker', execArgs(['exec', '-i'], [this.config.container], {}, null, ['/bin/sh', '-c', command]));
|
|
65
60
|
}
|
|
66
61
|
}
|
|
67
|
-
const DECODER = new TextDecoder();
|
|
68
62
|
registerRuntime('docker', DockerRuntime);
|
|
69
63
|
//# sourceMappingURL=runtime.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../../src/runtime/sandbox/docker/runtime.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;
|
|
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
|
|
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,
|
|
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
|
|
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,
|
|
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,27 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { ByteSource } from '@struktoai/mirage-core/io/types';
|
|
2
2
|
import { RemoteSandbox } from '@struktoai/mirage-core/runtime/sandbox/base';
|
|
3
|
-
import
|
|
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
|
|
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
|
|
14
|
-
readonly [
|
|
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?:
|
|
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:
|
|
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
|
+
private head;
|
|
25
26
|
}
|
|
26
27
|
//# sourceMappingURL=runtime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../src/runtime/sandbox/microsandbox/runtime.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,
|
|
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,36 +11,39 @@
|
|
|
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';
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
15
|
+
import { PIPE_TRANSPORT } from '@struktoai/mirage-core/runtime/sandbox/mixin';
|
|
16
|
+
import { requireId } from '@struktoai/mirage-core/runtime/sandbox/config';
|
|
18
17
|
import { registerRuntime } from '@struktoai/mirage-core/runtime/table';
|
|
19
18
|
import { MICROSANDBOX_CONFIG_KEYS } from "./config.js";
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
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";
|
|
22
22
|
/**
|
|
23
|
-
* Run programs in an existing Microsandbox guest through
|
|
23
|
+
* Run programs in an existing Microsandbox guest through `msb`.
|
|
24
24
|
* The user starts the sandbox and serves its workspace at the same paths
|
|
25
25
|
* inside the guest. Mirage forwards commands, stdin, environment, and cwd
|
|
26
26
|
* without managing the sandbox's lifecycle.
|
|
27
27
|
*/
|
|
28
28
|
export class MicrosandboxRuntime extends RemoteSandbox {
|
|
29
|
-
[
|
|
29
|
+
[PIPE_TRANSPORT] = true;
|
|
30
30
|
name = 'microsandbox';
|
|
31
31
|
constructor(options = {}) {
|
|
32
32
|
super(options, MICROSANDBOX_CONFIG_KEYS);
|
|
33
33
|
requireId('microsandbox', 'sandbox', this.config.sandbox);
|
|
34
|
-
this.serveMounts(checkMountType('microsandbox', this.config.mountType));
|
|
35
34
|
}
|
|
36
35
|
/** Skip the connect-once latch: every exec probes the guest. */
|
|
37
36
|
ensureConnected(signal) {
|
|
38
37
|
signal?.throwIfAborted();
|
|
39
38
|
return Promise.resolve();
|
|
40
39
|
}
|
|
41
|
-
//
|
|
42
|
-
microsandbox(args, stdin = null, signal) {
|
|
43
|
-
return
|
|
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
|
+
});
|
|
44
47
|
}
|
|
45
48
|
/** Require a running sandbox before executing any commands. */
|
|
46
49
|
async connect(signal) {
|
|
@@ -58,60 +61,27 @@ export class MicrosandboxRuntime extends RemoteSandbox {
|
|
|
58
61
|
}
|
|
59
62
|
}
|
|
60
63
|
async inspect(signal) {
|
|
61
|
-
const
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
throw new Error(
|
|
66
|
-
}
|
|
67
|
-
let status;
|
|
68
|
-
try {
|
|
69
|
-
status = JSON.parse(DECODER.decode(result.stdout));
|
|
70
|
-
}
|
|
71
|
-
catch (error) {
|
|
72
|
-
throw new Error(`msb status returned unreadable json: ${String(error)}`);
|
|
73
|
-
}
|
|
74
|
-
if (status === null || typeof status !== 'object' || Array.isArray(status)) {
|
|
75
|
-
throw new Error('msb status returned an invalid status object');
|
|
76
|
-
}
|
|
77
|
-
const state = status.status;
|
|
78
|
-
if (state !== RUNNING_STATE) {
|
|
79
|
-
throw new Error(notRunningHint(this.config.sandbox, String(state)));
|
|
80
|
-
}
|
|
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'));
|
|
81
69
|
}
|
|
82
|
-
async execArgv(argv, stdin, env, cwd, signal) {
|
|
70
|
+
async execArgv(argv, stdin, env, cwd, output, errors, signal) {
|
|
83
71
|
// Released msb can still auto-start a guest stopped after this probe.
|
|
84
72
|
signal?.throwIfAborted();
|
|
85
73
|
await this.connect(signal);
|
|
86
74
|
signal?.throwIfAborted();
|
|
87
|
-
const args =
|
|
88
|
-
|
|
89
|
-
args.push('-e', `${key}=${value}`);
|
|
90
|
-
// `--` ends the flags: the command is a trailing var arg, so a
|
|
91
|
-
// line starting with a dash would otherwise parse as one.
|
|
92
|
-
// Released agents block their event loop during chdir into passive SSHFS.
|
|
93
|
-
// Defer it until the shell starts, so the agent can serve the mount pipe.
|
|
94
|
-
args.push('--', 'sh', '-c', EXEC_PRELUDE, 'sh', cwd, ...argv);
|
|
95
|
-
const result = await this.microsandbox(args, stdin, signal);
|
|
96
|
-
return { stdout: result.stdout, stderr: result.stderr, exitCode: result.code };
|
|
75
|
+
const args = execArgs(this.head(), ['--'], env, cwd, argv);
|
|
76
|
+
return this.microsandbox(args, stdin, output, signal, errors);
|
|
97
77
|
}
|
|
98
78
|
async openPipe(command) {
|
|
99
79
|
await this.connect();
|
|
100
|
-
return
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
'--no-tty',
|
|
105
|
-
'--stream',
|
|
106
|
-
'-w',
|
|
107
|
-
'/',
|
|
108
|
-
'--',
|
|
109
|
-
'sh',
|
|
110
|
-
'-c',
|
|
111
|
-
command,
|
|
112
|
-
]);
|
|
80
|
+
return openProgramPipe('msb', execArgs([...this.head(), '--stream'], ['--'], {}, null, ['/bin/sh', '-c', command]));
|
|
81
|
+
}
|
|
82
|
+
head() {
|
|
83
|
+
return ['exec', this.config.sandbox, '--quiet'];
|
|
113
84
|
}
|
|
114
85
|
}
|
|
115
|
-
const DECODER = new TextDecoder();
|
|
116
86
|
registerRuntime('microsandbox', MicrosandboxRuntime);
|
|
117
87
|
//# sourceMappingURL=runtime.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../../src/runtime/sandbox/microsandbox/runtime.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;
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../../src/runtime/sandbox/microsandbox/runtime.ts"],"names":[],"mappings":"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"}
|