diff --git a/lib/virtual_adapter.debug.wasm b/lib/virtual_adapter.debug.wasm index dd559ea..353e5fe 100755 Binary files a/lib/virtual_adapter.debug.wasm and b/lib/virtual_adapter.debug.wasm differ diff --git a/lib/virtual_adapter.wasm b/lib/virtual_adapter.wasm index 0b1296d..ee512c4 100755 Binary files a/lib/virtual_adapter.wasm and b/lib/virtual_adapter.wasm differ diff --git a/src/virt_deny/exit.rs b/src/virt_deny/exit.rs index a79c6f5..4396c4b 100644 --- a/src/virt_deny/exit.rs +++ b/src/virt_deny/exit.rs @@ -12,7 +12,7 @@ static WASI_EXIT_FNS: OnceLock> = OnceLock: fn get_wasi_exit_fns() -> &'static Vec<(&'static str, FuncParams, FuncResults)> { WASI_EXIT_FNS.get_or_init(|| { Vec::from([( - "wasi:cli/exit@0.2.0-rc-2023-12-05#exit", + "wasi:cli/exit@0.2.0-rc-2024-01-16#exit", vec![ValType::I32], vec![], )]) diff --git a/src/virt_env.rs b/src/virt_env.rs index 491b784..0776b70 100644 --- a/src/virt_env.rs +++ b/src/virt_env.rs @@ -222,7 +222,7 @@ pub(crate) fn stub_env_virt(module: &mut Module) -> Result<()> { module.replace_imported_func( module .imports - .get_func("wasi:cli/environment@0.2.0-rc-2023-12-05", fn_name)?, + .get_func("wasi:cli/environment@0.2.0-rc-2024-01-16", fn_name)?, |(body, _)| { body.unreachable(); }, @@ -240,7 +240,7 @@ pub(crate) fn strip_env_virt(module: &mut Module) -> Result<()> { for fn_name in WASI_ENV_FNS { if let Ok(fid) = module.exports.get_func(format!( - "wasi:cli/environment@0.2.0-rc-2023-12-05#{fn_name}" + "wasi:cli/environment@0.2.0-rc-2024-01-16#{fn_name}" )) { module.replace_exported_func(fid, |(body, _)| { body.unreachable(); diff --git a/src/virt_io/stdio.rs b/src/virt_io/stdio.rs index 4a9bfc7..6a1b08a 100644 --- a/src/virt_io/stdio.rs +++ b/src/virt_io/stdio.rs @@ -6,42 +6,42 @@ use super::StubRequirement; /// Imports exposed by WASI for STDIO functionality which are allowed to be missing const WASI_STDIO_IMPORTS: &[(&str, &str, &StubRequirement)] = &[ ( - "wasi:cli/stdin@0.2.0-rc-2023-12-05", + "wasi:cli/stdin@0.2.0-rc-2024-01-16", "get-stdin", &StubRequirement::Optional, ), ( - "wasi:cli/stdout@0.2.0-rc-2023-12-05", + "wasi:cli/stdout@0.2.0-rc-2024-01-16", "get-stdout", &StubRequirement::Optional, ), ( - "wasi:cli/stderr@0.2.0-rc-2023-12-05", + "wasi:cli/stderr@0.2.0-rc-2024-01-16", "get-stderr", &StubRequirement::Optional, ), ( - "wasi:cli/terminal-stdin@0.2.0-rc-2023-12-05", + "wasi:cli/terminal-stdin@0.2.0-rc-2024-01-16", "get-terminal-stdin", &StubRequirement::Optional, ), ( - "wasi:cli/terminal-stdout@0.2.0-rc-2023-12-05", + "wasi:cli/terminal-stdout@0.2.0-rc-2024-01-16", "get-terminal-stdout", &StubRequirement::Optional, ), ( - "wasi:cli/terminal-stderr@0.2.0-rc-2023-12-05", + "wasi:cli/terminal-stderr@0.2.0-rc-2024-01-16", "get-terminal-stderr", &StubRequirement::Optional, ), ( - "wasi:cli/terminal-input@0.2.0-rc-2023-12-05", + "wasi:cli/terminal-input@0.2.0-rc-2024-01-16", "drop-terminal-input", &StubRequirement::Optional, ), ( - "wasi:cli/terminal-output@0.2.0-rc-2023-12-05", + "wasi:cli/terminal-output@0.2.0-rc-2024-01-16", "drop-terminal-output", &StubRequirement::Optional, ), @@ -72,14 +72,14 @@ pub(crate) fn stub_stdio_virt(module: &mut Module) -> Result<()> { /// Exported functions related to STDIO const WASI_STDIO_EXPORTS: [&str; 8] = [ - "wasi:cli/stdin@0.2.0-rc-2023-12-05#get-stdin", - "wasi:cli/stdout@0.2.0-rc-2023-12-05#get-stdout", - "wasi:cli/stderr@0.2.0-rc-2023-12-05#get-stderr", - "wasi:cli/terminal-stdin@0.2.0-rc-2023-12-05#get-terminal-stdin", - "wasi:cli/terminal-stdout@0.2.0-rc-2023-12-05#get-terminal-stdout", - "wasi:cli/terminal-stderr@0.2.0-rc-2023-12-05#get-terminal-stderr", - "wasi:cli/terminal-input@0.2.0-rc-2023-12-05#[dtor]terminal-input", - "wasi:cli/terminal-output@0.2.0-rc-2023-12-05#[dtor]terminal-output", + "wasi:cli/stdin@0.2.0-rc-2024-01-16#get-stdin", + "wasi:cli/stdout@0.2.0-rc-2024-01-16#get-stdout", + "wasi:cli/stderr@0.2.0-rc-2024-01-16#get-stderr", + "wasi:cli/terminal-stdin@0.2.0-rc-2024-01-16#get-terminal-stdin", + "wasi:cli/terminal-stdout@0.2.0-rc-2024-01-16#get-terminal-stdout", + "wasi:cli/terminal-stderr@0.2.0-rc-2024-01-16#get-terminal-stderr", + "wasi:cli/terminal-input@0.2.0-rc-2024-01-16#[dtor]terminal-input", + "wasi:cli/terminal-output@0.2.0-rc-2024-01-16#[dtor]terminal-output", ]; /// Strip exported WASI functions that implement standard I/O (stdin, stdout, etc) access diff --git a/wit/deps/cli/command.wit b/wit/deps/cli/command.wit index cc82ae5..a988916 100644 --- a/wit/deps/cli/command.wit +++ b/wit/deps/cli/command.wit @@ -1,4 +1,4 @@ -package wasi:cli@0.2.0-rc-2023-12-05; +package wasi:cli@0.2.0-rc-2024-01-16; world command { include imports; diff --git a/wit/deps/cli/imports.wit b/wit/deps/cli/imports.wit index 3606a99..8ce1abe 100644 --- a/wit/deps/cli/imports.wit +++ b/wit/deps/cli/imports.wit @@ -1,4 +1,4 @@ -package wasi:cli@0.2.0-rc-2023-12-05; +package wasi:cli@0.2.0-rc-2024-01-16; world imports { include wasi:clocks/imports@0.2.0-rc-2023-11-10; diff --git a/wit/deps/http/proxy.wit b/wit/deps/http/proxy.wit index 20d4a43..8906da1 100644 --- a/wit/deps/http/proxy.wit +++ b/wit/deps/http/proxy.wit @@ -12,14 +12,14 @@ world proxy { // Proxies have standard output and error streams which are expected to // terminate in a developer-facing console provided by the host. - import wasi:cli/stdout@0.2.0-rc-2023-12-05; - import wasi:cli/stderr@0.2.0-rc-2023-12-05; + import wasi:cli/stdout@0.2.0-rc-2024-01-16; + import wasi:cli/stderr@0.2.0-rc-2024-01-16; // TODO: this is a temporary workaround until component tooling is able to // gracefully handle the absence of stdin. Hosts must return an eof stream // for this import, which is what wasi-libc + tooling will do automatically // when this import is properly removed. - import wasi:cli/stdin@0.2.0-rc-2023-12-05; + import wasi:cli/stdin@0.2.0-rc-2024-01-16; // This is the default handler to use when user code simply wants to make an // HTTP request (e.g., via `fetch()`). diff --git a/wit/virt.wit b/wit/virt.wit index 5a7611c..81de6bc 100644 --- a/wit/virt.wit +++ b/wit/virt.wit @@ -3,7 +3,7 @@ package local:virt; // in future this should be defined as a union world of the various // virtual subsystems, when union syntax lands world virtual-adapter { - import wasi:cli/environment@0.2.0-rc-2023-12-05; + import wasi:cli/environment@0.2.0-rc-2024-01-16; import wasi:filesystem/preopens@0.2.0-rc-2023-11-10; import wasi:filesystem/types@0.2.0-rc-2023-11-10; import wasi:io/error@0.2.0-rc-2023-11-10; @@ -12,25 +12,25 @@ world virtual-adapter { export wasi:io/streams@0.2.0-rc-2023-11-10; import wasi:io/poll@0.2.0-rc-2023-11-10; export wasi:io/poll@0.2.0-rc-2023-11-10; - export wasi:cli/environment@0.2.0-rc-2023-12-05; + export wasi:cli/environment@0.2.0-rc-2024-01-16; export wasi:filesystem/types@0.2.0-rc-2023-11-10; export wasi:filesystem/preopens@0.2.0-rc-2023-11-10; - import wasi:cli/stdin@0.2.0-rc-2023-12-05; - import wasi:cli/stdout@0.2.0-rc-2023-12-05; - import wasi:cli/stderr@0.2.0-rc-2023-12-05; - import wasi:cli/terminal-input@0.2.0-rc-2023-12-05; - import wasi:cli/terminal-output@0.2.0-rc-2023-12-05; - import wasi:cli/terminal-stdin@0.2.0-rc-2023-12-05; - import wasi:cli/terminal-stdout@0.2.0-rc-2023-12-05; - import wasi:cli/terminal-stderr@0.2.0-rc-2023-12-05; - export wasi:cli/stdin@0.2.0-rc-2023-12-05; - export wasi:cli/stdout@0.2.0-rc-2023-12-05; - export wasi:cli/stderr@0.2.0-rc-2023-12-05; - export wasi:cli/terminal-input@0.2.0-rc-2023-12-05; - export wasi:cli/terminal-output@0.2.0-rc-2023-12-05; - export wasi:cli/terminal-stdin@0.2.0-rc-2023-12-05; - export wasi:cli/terminal-stdout@0.2.0-rc-2023-12-05; - export wasi:cli/terminal-stderr@0.2.0-rc-2023-12-05; + import wasi:cli/stdin@0.2.0-rc-2024-01-16; + import wasi:cli/stdout@0.2.0-rc-2024-01-16; + import wasi:cli/stderr@0.2.0-rc-2024-01-16; + import wasi:cli/terminal-input@0.2.0-rc-2024-01-16; + import wasi:cli/terminal-output@0.2.0-rc-2024-01-16; + import wasi:cli/terminal-stdin@0.2.0-rc-2024-01-16; + import wasi:cli/terminal-stdout@0.2.0-rc-2024-01-16; + import wasi:cli/terminal-stderr@0.2.0-rc-2024-01-16; + export wasi:cli/stdin@0.2.0-rc-2024-01-16; + export wasi:cli/stdout@0.2.0-rc-2024-01-16; + export wasi:cli/stderr@0.2.0-rc-2024-01-16; + export wasi:cli/terminal-input@0.2.0-rc-2024-01-16; + export wasi:cli/terminal-output@0.2.0-rc-2024-01-16; + export wasi:cli/terminal-stdin@0.2.0-rc-2024-01-16; + export wasi:cli/terminal-stdout@0.2.0-rc-2024-01-16; + export wasi:cli/terminal-stderr@0.2.0-rc-2024-01-16; import wasi:clocks/monotonic-clock@0.2.0-rc-2023-11-10; export wasi:clocks/monotonic-clock@0.2.0-rc-2023-11-10; import wasi:http/types@0.2.0-rc-2023-10-18; @@ -89,28 +89,28 @@ world virtual-fs { } world virtual-stdio { - import wasi:cli/stdin@0.2.0-rc-2023-12-05; - import wasi:cli/stdout@0.2.0-rc-2023-12-05; - import wasi:cli/stderr@0.2.0-rc-2023-12-05; - import wasi:cli/terminal-input@0.2.0-rc-2023-12-05; - import wasi:cli/terminal-output@0.2.0-rc-2023-12-05; - import wasi:cli/terminal-stdin@0.2.0-rc-2023-12-05; - import wasi:cli/terminal-stdout@0.2.0-rc-2023-12-05; - import wasi:cli/terminal-stderr@0.2.0-rc-2023-12-05; - export wasi:cli/stdin@0.2.0-rc-2023-12-05; - export wasi:cli/stdout@0.2.0-rc-2023-12-05; - export wasi:cli/stderr@0.2.0-rc-2023-12-05; - export wasi:cli/terminal-input@0.2.0-rc-2023-12-05; - export wasi:cli/terminal-output@0.2.0-rc-2023-12-05; - export wasi:cli/terminal-stdin@0.2.0-rc-2023-12-05; - export wasi:cli/terminal-stdout@0.2.0-rc-2023-12-05; - export wasi:cli/terminal-stderr@0.2.0-rc-2023-12-05; + import wasi:cli/stdin@0.2.0-rc-2024-01-16; + import wasi:cli/stdout@0.2.0-rc-2024-01-16; + import wasi:cli/stderr@0.2.0-rc-2024-01-16; + import wasi:cli/terminal-input@0.2.0-rc-2024-01-16; + import wasi:cli/terminal-output@0.2.0-rc-2024-01-16; + import wasi:cli/terminal-stdin@0.2.0-rc-2024-01-16; + import wasi:cli/terminal-stdout@0.2.0-rc-2024-01-16; + import wasi:cli/terminal-stderr@0.2.0-rc-2024-01-16; + export wasi:cli/stdin@0.2.0-rc-2024-01-16; + export wasi:cli/stdout@0.2.0-rc-2024-01-16; + export wasi:cli/stderr@0.2.0-rc-2024-01-16; + export wasi:cli/terminal-input@0.2.0-rc-2024-01-16; + export wasi:cli/terminal-output@0.2.0-rc-2024-01-16; + export wasi:cli/terminal-stdin@0.2.0-rc-2024-01-16; + export wasi:cli/terminal-stdout@0.2.0-rc-2024-01-16; + export wasi:cli/terminal-stderr@0.2.0-rc-2024-01-16; } // remaining subsystems world virtual-env { - import wasi:cli/environment@0.2.0-rc-2023-12-05; - export wasi:cli/environment@0.2.0-rc-2023-12-05; + import wasi:cli/environment@0.2.0-rc-2024-01-16; + export wasi:cli/environment@0.2.0-rc-2024-01-16; } world virtual-clocks { @@ -156,8 +156,8 @@ world virtual-http { } world virtual-exit { - import wasi:cli/exit@0.2.0-rc-2023-12-05; - export wasi:cli/exit@0.2.0-rc-2023-12-05; + import wasi:cli/exit@0.2.0-rc-2024-01-16; + export wasi:cli/exit@0.2.0-rc-2024-01-16; } world virt-test { @@ -176,17 +176,17 @@ world virt-test { import wasi:random/insecure-seed@0.2.0-rc-2023-11-10; import wasi:io/poll@0.2.0-rc-2023-11-10; import wasi:io/streams@0.2.0-rc-2023-11-10; - import wasi:cli/environment@0.2.0-rc-2023-12-05; + import wasi:cli/environment@0.2.0-rc-2024-01-16; import wasi:filesystem/preopens@0.2.0-rc-2023-11-10; - import wasi:cli/exit@0.2.0-rc-2023-12-05; - import wasi:cli/stdin@0.2.0-rc-2023-12-05; - import wasi:cli/stdout@0.2.0-rc-2023-12-05; - import wasi:cli/stderr@0.2.0-rc-2023-12-05; - import wasi:cli/terminal-input@0.2.0-rc-2023-12-05; - import wasi:cli/terminal-output@0.2.0-rc-2023-12-05; - import wasi:cli/terminal-stdin@0.2.0-rc-2023-12-05; - import wasi:cli/terminal-stdout@0.2.0-rc-2023-12-05; - import wasi:cli/terminal-stderr@0.2.0-rc-2023-12-05; + import wasi:cli/exit@0.2.0-rc-2024-01-16; + import wasi:cli/stdin@0.2.0-rc-2024-01-16; + import wasi:cli/stdout@0.2.0-rc-2024-01-16; + import wasi:cli/stderr@0.2.0-rc-2024-01-16; + import wasi:cli/terminal-input@0.2.0-rc-2024-01-16; + import wasi:cli/terminal-output@0.2.0-rc-2024-01-16; + import wasi:cli/terminal-stdin@0.2.0-rc-2024-01-16; + import wasi:cli/terminal-stdout@0.2.0-rc-2024-01-16; + import wasi:cli/terminal-stderr@0.2.0-rc-2024-01-16; export test-get-env: func() -> list>; export test-file-read: func(path: string) -> string;