Skip to content
This repository was archived by the owner on Nov 25, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
205 changes: 148 additions & 57 deletions command.md

Large diffs are not rendered by default.

207 changes: 149 additions & 58 deletions imports.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion wit/command.wit
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package wasi:cli@0.2.3;
package wasi:cli@0.2.4;

@since(version = 0.2.0)
world command {
Expand Down
26 changes: 13 additions & 13 deletions wit/deps.lock
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
[clocks]
sha256 = "93a701968a7dd3c5d69031bc0601681c468972fdf7e28a93bb6150a67d6ebe8b"
sha512 = "98fca567c7a01887b0fb38981f1772169b6ea8de475b546508f8b86738d84e44ba95cae81def40ac34e8809f5f60e85224077ab8cb6d6d5d6296acc1df73c159"
sha256 = "fc36267c5098ad9ac6455396b27c8ef206ca23cae74f40bd44c57be68e7849b6"
sha512 = "0deed3d3a86f284adda7991cd24c0c4aab806ba2e0cb111da80d7f99c05f10793a602b28451407cad58ab762997f60c0f6d173e919e4a0988773b455d3a410d3"

[filesystem]
url = "https://github.com/WebAssembly/wasi-filesystem/archive/v0.2.3.tar.gz"
sha256 = "69d42fb10a04a33545b17e055f13db9b1e10e82ba0ed5bdb52334e40dc07c679"
sha512 = "612effbac6f4804fe0c29dae20b78bbba59e52cb754c15402f5fe229c3153a221e0fbdff1d9d00ceaa3fe049c6a95523a5b99f772f1c16d972eade2c88326a30"
url = "https://github.com/WebAssembly/wasi-filesystem/archive/v0.2.4.tar.gz"
sha256 = "dd435f78b23714bd9d51ef3789c43b831549e71f54b57394a41bbf0c4da45f42"
sha512 = "d58bcf6eae908a6b2d883bcdfe456dc31aa99c848d0b3d21f710bde5bbb59ec105dbd5085004eadd0faa938530e4c29f88e589f525c080eb6d5971775a0b64ed"
deps = ["clocks", "io"]

[io]
sha256 = "1cccbfe4122686ea57a25cd368e8cdfc408cbcad089f47fb6685b6f92e96f050"
sha512 = "7a95f964c13da52611141acd89bc8876226497f128e99dd176a4270c5b5efbd8cc847b5fbd1a91258d028c646db99e0424d72590cf1caf20f9f3a3343fad5017"
sha256 = "770a73d479cda8e4c4064dd4006d2654ebcc358952079d74e41af27cf26bddbf"
sha512 = "b790f9750ac6782d9aaaa379845600b66dbde14ecee42f159c29796447eb8e61ee61f3b306e92622993b5e25298834b6ff62d7d9a04f8f18c05f07eda8f47ae0"

[random]
url = "https://github.com/WebAssembly/wasi-random/archive/v0.2.3.tar.gz"
sha256 = "dd0c91e7125172eb8fd4568e15ad9fc7305643015e6ece4396c3cc5e8c2bf79a"
sha512 = "d1ca2e7b0616a94a3b39d1b9450bb3fb595b01fd94a8626ad75433038dde40988ecb41ab93a374d569ab72163af3b30038d7bfc3499b9c07193181f4f1d9292a"
url = "https://github.com/WebAssembly/wasi-random/archive/v0.2.4.tar.gz"
sha256 = "876d81b0a777f1dc9db215fa36f45898a907188819185d6b189345f28c081a45"
sha512 = "fc6a0ed97e0525456222b28bcc49431bade826a97cb6eb52cde595908865d1ed7835c54a63b408ba82e3d49061aebb9a8725d1d2316d28c0ccb12af8ec968ab8"

[sockets]
url = "https://github.com/WebAssembly/wasi-sockets/archive/v0.2.3.tar.gz"
sha256 = "2bc0f65a8046207ee3330ad7d63f6fafeafd4cc0ea4084f081bd5e4f7b177e74"
sha512 = "3e5490e41547dffa78d52631825d93da8d60f4af0246cbaf97e1ecb879285953a86d5f1f390b10c32f91dd7eaec6f43e625a26b1c92c32a0c86fde428aedaaab"
url = "https://github.com/WebAssembly/wasi-sockets/archive/v0.2.4.tar.gz"
sha256 = "e6872db116eb02f2043c4238999712de19bdb22e3c8da00af563f8b6c4dabb18"
sha512 = "28c05fe8acd691d808b6a90b950483bbf59983c02e91ed4a89b0e06c3e2a27e0f73be678979309553f0889fc3fea00c4740b007946d7285aa554dc65d56b1b7f"
deps = ["clocks", "io"]
6 changes: 3 additions & 3 deletions wit/deps.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
filesystem = "https://github.com/WebAssembly/wasi-filesystem/archive/v0.2.3.tar.gz"
random = "https://github.com/WebAssembly/wasi-random/archive/v0.2.3.tar.gz"
sockets = "https://github.com/WebAssembly/wasi-sockets/archive/v0.2.3.tar.gz"
filesystem = "https://github.com/WebAssembly/wasi-filesystem/archive/v0.2.4.tar.gz"
random = "https://github.com/WebAssembly/wasi-random/archive/v0.2.4.tar.gz"
sockets = "https://github.com/WebAssembly/wasi-sockets/archive/v0.2.4.tar.gz"
4 changes: 2 additions & 2 deletions wit/deps/clocks/monotonic-clock.wit
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package wasi:clocks@0.2.3;
package wasi:clocks@0.2.4;
/// WASI Monotonic Clock is a clock API intended to let users measure elapsed
/// time.
///
Expand All @@ -10,7 +10,7 @@ package wasi:clocks@0.2.3;
@since(version = 0.2.0)
interface monotonic-clock {
@since(version = 0.2.0)
use wasi:io/poll@0.2.3.{pollable};
use wasi:io/poll@0.2.4.{pollable};

/// An instant in time, in nanoseconds. An instant is relative to an
/// unspecified initial value, and can only be compared to instances from
Expand Down
2 changes: 1 addition & 1 deletion wit/deps/clocks/timezone.wit
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package wasi:clocks@0.2.3;
package wasi:clocks@0.2.4;

@unstable(feature = clocks-timezone)
interface timezone {
Expand Down
2 changes: 1 addition & 1 deletion wit/deps/clocks/wall-clock.wit
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package wasi:clocks@0.2.3;
package wasi:clocks@0.2.4;
/// WASI Wall Clock is a clock API intended to let users query the current
/// time. The name "wall" makes an analogy to a "clock on the wall", which
/// is not necessarily monotonic as it may be reset.
Expand Down
2 changes: 1 addition & 1 deletion wit/deps/clocks/world.wit
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package wasi:clocks@0.2.3;
package wasi:clocks@0.2.4;

@since(version = 0.2.0)
world imports {
Expand Down
2 changes: 1 addition & 1 deletion wit/deps/filesystem/preopens.wit
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package wasi:filesystem@0.2.3;
package wasi:filesystem@0.2.4;

@since(version = 0.2.0)
interface preopens {
Expand Down
10 changes: 7 additions & 3 deletions wit/deps/filesystem/types.wit
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package wasi:filesystem@0.2.3;
package wasi:filesystem@0.2.4;
/// WASI filesystem is a filesystem API primarily intended to let users run WASI
/// programs that access their files on their existing filesystems, without
/// significant overhead.
Expand Down Expand Up @@ -26,9 +26,9 @@ package wasi:filesystem@0.2.3;
@since(version = 0.2.0)
interface types {
@since(version = 0.2.0)
use wasi:io/streams@0.2.3.{input-stream, output-stream, error};
use wasi:io/streams@0.2.4.{input-stream, output-stream, error};
@since(version = 0.2.0)
use wasi:clocks/wall-clock@0.2.3.{datetime};
use wasi:clocks/wall-clock@0.2.4.{datetime};

/// File size or length of a region within a file.
@since(version = 0.2.0)
Expand Down Expand Up @@ -508,6 +508,10 @@ interface types {

/// Create a hard link.
///
/// Fails with `error-code::no-entry` if the old path does not exist,
/// with `error-code::exist` if the new path already exists, and
/// `error-code::not-permitted` if the old path is not a file.
///
/// Note: This is similar to `linkat` in POSIX.
@since(version = 0.2.0)
link-at: func(
Expand Down
2 changes: 1 addition & 1 deletion wit/deps/filesystem/world.wit
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package wasi:filesystem@0.2.3;
package wasi:filesystem@0.2.4;

@since(version = 0.2.0)
world imports {
Expand Down
2 changes: 1 addition & 1 deletion wit/deps/io/error.wit
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package wasi:io@0.2.3;
package wasi:io@0.2.4;

@since(version = 0.2.0)
interface error {
Expand Down
26 changes: 13 additions & 13 deletions wit/deps/io/poll.wit
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package wasi:io@0.2.3;
package wasi:io@0.2.4;

/// A poll API intended to let users wait for I/O events on multiple handles
/// at once.
Expand All @@ -8,19 +8,19 @@ interface poll {
@since(version = 0.2.0)
resource pollable {

/// Return the readiness of a pollable. This function never blocks.
///
/// Returns `true` when the pollable is ready, and `false` otherwise.
@since(version = 0.2.0)
ready: func() -> bool;
/// Return the readiness of a pollable. This function never blocks.
///
/// Returns `true` when the pollable is ready, and `false` otherwise.
@since(version = 0.2.0)
ready: func() -> bool;

/// `block` returns immediately if the pollable is ready, and otherwise
/// blocks until ready.
///
/// This function is equivalent to calling `poll.poll` on a list
/// containing only this pollable.
@since(version = 0.2.0)
block: func();
/// `block` returns immediately if the pollable is ready, and otherwise
/// blocks until ready.
///
/// This function is equivalent to calling `poll.poll` on a list
/// containing only this pollable.
@since(version = 0.2.0)
block: func();
}

/// Poll for completion on a set of pollables.
Expand Down
2 changes: 1 addition & 1 deletion wit/deps/io/streams.wit
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package wasi:io@0.2.3;
package wasi:io@0.2.4;

/// WASI I/O is an I/O abstraction API which is currently focused on providing
/// stream types.
Expand Down
2 changes: 1 addition & 1 deletion wit/deps/io/world.wit
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package wasi:io@0.2.3;
package wasi:io@0.2.4;

@since(version = 0.2.0)
world imports {
Expand Down
2 changes: 1 addition & 1 deletion wit/deps/random/insecure-seed.wit
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package wasi:random@0.2.3;
package wasi:random@0.2.4;
/// The insecure-seed interface for seeding hash-map DoS resistance.
///
/// It is intended to be portable at least between Unix-family platforms and
Expand Down
2 changes: 1 addition & 1 deletion wit/deps/random/insecure.wit
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package wasi:random@0.2.3;
package wasi:random@0.2.4;
/// The insecure interface for insecure pseudo-random numbers.
///
/// It is intended to be portable at least between Unix-family platforms and
Expand Down
2 changes: 1 addition & 1 deletion wit/deps/random/random.wit
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package wasi:random@0.2.3;
package wasi:random@0.2.4;
/// WASI Random is a random data API.
///
/// It is intended to be portable at least between Unix-family platforms and
Expand Down
2 changes: 1 addition & 1 deletion wit/deps/random/world.wit
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package wasi:random@0.2.3;
package wasi:random@0.2.4;

@since(version = 0.2.0)
world imports {
Expand Down
2 changes: 1 addition & 1 deletion wit/deps/sockets/ip-name-lookup.wit
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
@since(version = 0.2.0)
interface ip-name-lookup {
@since(version = 0.2.0)
use wasi:io/poll@0.2.3.{pollable};
use wasi:io/poll@0.2.4.{pollable};
@since(version = 0.2.0)
use network.{network, error-code, ip-address};

Expand Down
2 changes: 1 addition & 1 deletion wit/deps/sockets/network.wit
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
@since(version = 0.2.0)
interface network {
@unstable(feature = network-error-code)
use wasi:io/error@0.2.3.{error};
use wasi:io/error@0.2.4.{error};

/// An opaque resource that represents access to (a subset of) the network.
/// This enables context-based security for networking.
Expand Down
6 changes: 3 additions & 3 deletions wit/deps/sockets/tcp.wit
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
@since(version = 0.2.0)
interface tcp {
@since(version = 0.2.0)
use wasi:io/streams@0.2.3.{input-stream, output-stream};
use wasi:io/streams@0.2.4.{input-stream, output-stream};
@since(version = 0.2.0)
use wasi:io/poll@0.2.3.{pollable};
use wasi:io/poll@0.2.4.{pollable};
@since(version = 0.2.0)
use wasi:clocks/monotonic-clock@0.2.3.{duration};
use wasi:clocks/monotonic-clock@0.2.4.{duration};
@since(version = 0.2.0)
use network.{network, error-code, ip-socket-address, ip-address-family};

Expand Down
2 changes: 1 addition & 1 deletion wit/deps/sockets/udp.wit
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
@since(version = 0.2.0)
interface udp {
@since(version = 0.2.0)
use wasi:io/poll@0.2.3.{pollable};
use wasi:io/poll@0.2.4.{pollable};
@since(version = 0.2.0)
use network.{network, error-code, ip-socket-address, ip-address-family};

Expand Down
2 changes: 1 addition & 1 deletion wit/deps/sockets/world.wit
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package wasi:sockets@0.2.3;
package wasi:sockets@0.2.4;

@since(version = 0.2.0)
world imports {
Expand Down
12 changes: 6 additions & 6 deletions wit/imports.wit
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
package wasi:cli@0.2.3;
package wasi:cli@0.2.4;

@since(version = 0.2.0)
world imports {
@since(version = 0.2.0)
include wasi:clocks/imports@0.2.3;
include wasi:clocks/imports@0.2.4;
@since(version = 0.2.0)
include wasi:filesystem/imports@0.2.3;
include wasi:filesystem/imports@0.2.4;
@since(version = 0.2.0)
include wasi:sockets/imports@0.2.3;
include wasi:sockets/imports@0.2.4;
@since(version = 0.2.0)
include wasi:random/imports@0.2.3;
include wasi:random/imports@0.2.4;
@since(version = 0.2.0)
include wasi:io/imports@0.2.3;
include wasi:io/imports@0.2.4;

@since(version = 0.2.0)
import environment;
Expand Down
6 changes: 3 additions & 3 deletions wit/stdio.wit
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
@since(version = 0.2.0)
interface stdin {
@since(version = 0.2.0)
use wasi:io/streams@0.2.3.{input-stream};
use wasi:io/streams@0.2.4.{input-stream};

@since(version = 0.2.0)
get-stdin: func() -> input-stream;
Expand All @@ -10,7 +10,7 @@ interface stdin {
@since(version = 0.2.0)
interface stdout {
@since(version = 0.2.0)
use wasi:io/streams@0.2.3.{output-stream};
use wasi:io/streams@0.2.4.{output-stream};

@since(version = 0.2.0)
get-stdout: func() -> output-stream;
Expand All @@ -19,7 +19,7 @@ interface stdout {
@since(version = 0.2.0)
interface stderr {
@since(version = 0.2.0)
use wasi:io/streams@0.2.3.{output-stream};
use wasi:io/streams@0.2.4.{output-stream};

@since(version = 0.2.0)
get-stderr: func() -> output-stream;
Expand Down