@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.
- package/README.md +140 -46
- 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 +13 -9
- package/dist/runtime/sandbox/apple_container/runtime.d.ts.map +1 -1
- package/dist/runtime/sandbox/apple_container/runtime.js +34 -41
- package/dist/runtime/sandbox/apple_container/runtime.js.map +1 -1
- 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 +9 -6
- 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 -8
- package/dist/runtime/sandbox/docker/runtime.d.ts.map +1 -1
- package/dist/runtime/sandbox/docker/runtime.js +21 -25
- 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 +8 -8
- package/dist/runtime/sandbox/microsandbox/runtime.d.ts.map +1 -1
- package/dist/runtime/sandbox/microsandbox/runtime.js +22 -34
- 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 +8 -8
- package/dist/runtime/sandbox/smolvm/runtime.d.ts.map +1 -1
- package/dist/runtime/sandbox/smolvm/runtime.js +21 -27
- 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 +85 -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 -916
- 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 -71
- package/dist/runtime/sandbox/cli.d.ts.map +0 -1
- package/dist/runtime/sandbox/cli.js +0 -283
- package/dist/runtime/sandbox/cli.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
|
@@ -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,gBAAgB,CAAA;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAA;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,kDAAkD,CAAA;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAA;AAGtE,OAAO,EAAE,OAAO,EAAmB,MAAM,UAAU,CAAA;AACnD,OAAO,EAAE,mBAAmB,EAAsB,MAAM,aAAa,CAAA;AAGrE,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAA;AAE7B
|
|
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,26 +1,26 @@
|
|
|
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 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
|
|
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
|
|
18
|
-
readonly [
|
|
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?:
|
|
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:
|
|
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,
|
|
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 {
|
|
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 {
|
|
32
|
-
[
|
|
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
|
-
//
|
|
39
|
-
docker(args, stdin = null, signal) {
|
|
40
|
-
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
|
+
});
|
|
41
46
|
}
|
|
42
47
|
async connect() {
|
|
43
|
-
const
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
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
|
-
|
|
54
|
+
execArgv(argv, stdin, env, cwd, output, errors, signal) {
|
|
57
55
|
const args = execArgs(['exec', '-i'], [this.config.container], env, cwd, argv);
|
|
58
|
-
|
|
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
|
|
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":"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,26 @@
|
|
|
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
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,
|
|
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 {
|
|
20
|
-
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";
|
|
21
22
|
/**
|
|
22
|
-
* Run programs in an existing Microsandbox guest through
|
|
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
|
-
[
|
|
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
|
-
//
|
|
40
|
-
microsandbox(args, stdin = null, signal) {
|
|
41
|
-
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
|
+
});
|
|
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
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
throw new Error(
|
|
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
|
-
|
|
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
|
|
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'
|
|
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":"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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"}
|
|
@@ -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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"}
|