From 334deaf70f212e6bdf1b10906fb0b6a24fd47030 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 6 Feb 2025 16:08:25 +0000 Subject: [PATCH] Update to v0.2.4 --- command.md | 205 +++++++++++++++++++-------- imports.md | 207 ++++++++++++++++++++-------- wit/command.wit | 2 +- wit/deps.lock | 26 ++-- wit/deps.toml | 6 +- wit/deps/clocks/monotonic-clock.wit | 4 +- wit/deps/clocks/timezone.wit | 2 +- wit/deps/clocks/wall-clock.wit | 2 +- wit/deps/clocks/world.wit | 2 +- wit/deps/filesystem/preopens.wit | 2 +- wit/deps/filesystem/types.wit | 10 +- wit/deps/filesystem/world.wit | 2 +- wit/deps/io/error.wit | 2 +- wit/deps/io/poll.wit | 26 ++-- wit/deps/io/streams.wit | 2 +- wit/deps/io/world.wit | 2 +- wit/deps/random/insecure-seed.wit | 2 +- wit/deps/random/insecure.wit | 2 +- wit/deps/random/random.wit | 2 +- wit/deps/random/world.wit | 2 +- wit/deps/sockets/ip-name-lookup.wit | 2 +- wit/deps/sockets/network.wit | 2 +- wit/deps/sockets/tcp.wit | 6 +- wit/deps/sockets/udp.wit | 2 +- wit/deps/sockets/world.wit | 2 +- wit/imports.wit | 12 +- wit/stdio.wit | 6 +- 27 files changed, 364 insertions(+), 178 deletions(-) diff --git a/command.md b/command.md index b25b71e..ee3d650 100644 --- a/command.md +++ b/command.md @@ -2,42 +2,43 @@ -

Import interface wasi:cli/environment@0.2.3

+

Import interface wasi:cli/environment@0.2.4


Functions

get-environment: func

@@ -64,7 +65,7 @@ directory, interpreting . as shorthand for this.

-

Import interface wasi:cli/exit@0.2.3

+

Import interface wasi:cli/exit@0.2.4


Functions

exit: func

@@ -84,7 +85,7 @@ without the connotation that something bad has happened.

-

Import interface wasi:io/error@0.2.3

+

Import interface wasi:io/error@0.2.4


Types

resource error

@@ -117,7 +118,7 @@ hazard.

-

Import interface wasi:io/poll@0.2.3

+

Import interface wasi:io/poll@0.2.4

A poll API intended to let users wait for I/O events on multiple handles at once.


@@ -170,7 +171,7 @@ being ready for I/O.

-

Import interface wasi:io/streams@0.2.3

+

Import interface wasi:io/streams@0.2.4

WASI I/O is an I/O abstraction API which is currently focused on providing stream types.

In the future, the component model is expected to add built-in stream types; @@ -500,7 +501,7 @@ is ready for reading, before performing the splice.

-

Import interface wasi:cli/stdin@0.2.3

+

Import interface wasi:cli/stdin@0.2.4


Types

type input-stream

@@ -513,7 +514,7 @@ is ready for reading, before performing the splice.

-

Import interface wasi:cli/stdout@0.2.3

+

Import interface wasi:cli/stdout@0.2.4


Types

type output-stream

@@ -526,7 +527,7 @@ is ready for reading, before performing the splice.

-

Import interface wasi:cli/stderr@0.2.3

+

Import interface wasi:cli/stderr@0.2.4


Types

type output-stream

@@ -539,7 +540,7 @@ is ready for reading, before performing the splice.

-

Import interface wasi:cli/terminal-input@0.2.3

+

Import interface wasi:cli/terminal-input@0.2.4

Terminal input.

In the future, this may include functions for disabling echoing, disabling input buffering so that keyboard events are sent through @@ -548,7 +549,7 @@ immediately, querying supported features, and so on.

Types

resource terminal-input

The input side of a terminal.

-

Import interface wasi:cli/terminal-output@0.2.3

+

Import interface wasi:cli/terminal-output@0.2.4

Terminal output.

In the future, this may include functions for querying the terminal size, being notified of terminal size changes, querying supported @@ -557,7 +558,7 @@ features, and so on.

Types

resource terminal-output

The output side of a terminal.

-

Import interface wasi:cli/terminal-stdin@0.2.3

+

Import interface wasi:cli/terminal-stdin@0.2.4

An interface providing an optional terminal-input for stdin as a link-time authority.


@@ -574,7 +575,7 @@ allowing further interaction with it.

-

Import interface wasi:cli/terminal-stdout@0.2.3

+

Import interface wasi:cli/terminal-stdout@0.2.4

An interface providing an optional terminal-output for stdout as a link-time authority.


@@ -591,7 +592,7 @@ allowing further interaction with it.

-

Import interface wasi:cli/terminal-stderr@0.2.3

+

Import interface wasi:cli/terminal-stderr@0.2.4

An interface providing an optional terminal-output for stderr as a link-time authority.


@@ -608,7 +609,7 @@ allowing further interaction with it.

-

Import interface wasi:clocks/monotonic-clock@0.2.3

+

Import interface wasi:clocks/monotonic-clock@0.2.4

WASI Monotonic Clock is a clock API intended to let users measure elapsed time.

It is intended to be portable at least between Unix-family platforms and @@ -667,7 +668,7 @@ elapsed from the time this function is invoked.

-

Import interface wasi:clocks/wall-clock@0.2.3

+

Import interface wasi:clocks/wall-clock@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.

@@ -708,7 +709,72 @@ also known as Unix Time.
  • datetime
  • -

    Import interface wasi:filesystem/types@0.2.3

    +

    Import interface wasi:clocks/timezone@0.2.4

    +
    +

    Types

    +

    type datetime

    +

    datetime

    +

    +#### `record timezone-display` +

    Information useful for displaying the timezone of a specific datetime.

    +

    This information may vary within a single timezone to reflect daylight +saving time adjustments.

    +
    Record Fields
    + +
    +

    Functions

    +

    display: func

    +

    Return information needed to display the given datetime. This includes +the UTC offset, the time zone name, and a flag indicating whether +daylight saving time is active.

    +

    If the timezone cannot be determined for the given datetime, return a +timezone-display for UTC with a utc-offset of 0 and no daylight +saving time.

    +
    Params
    + +
    Return values
    + +

    utc-offset: func

    +

    The same as display, but only return the UTC offset.

    +
    Params
    + +
    Return values
    + +

    Import interface wasi:filesystem/types@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.

    @@ -1397,6 +1463,9 @@ WASI.

    [method]descriptor.link-at: func

    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.

    Params
    -

    Import interface wasi:sockets/instance-network@0.2.3

    +
    +

    Functions

    +

    network-error-code: func

    +

    Attempts to extract a network-related error-code from the stream +error provided.

    +

    Stream operations which return stream-error::last-operation-failed +have a payload with more information about the operation that failed. +This payload can be passed through to this function to see if there's +network-related information about the error to return.

    +

    Note that this function is fallible because not all stream-related +errors are network-related errors.

    +
    Params
    + +
    Return values
    + +

    Import interface wasi:sockets/instance-network@0.2.4

    This interface provides a value-export of the default network handle..


    Types

    @@ -1805,7 +1896,7 @@ supported size. -

    Import interface wasi:sockets/udp@0.2.3

    +

    Import interface wasi:sockets/udp@0.2.4


    Types

    type pollable

    @@ -2219,7 +2310,7 @@ It's planned to be removed when future is natively supported in Pre -

    Import interface wasi:sockets/udp-create-socket@0.2.3

    +

    Import interface wasi:sockets/udp-create-socket@0.2.4


    Types

    type network

    @@ -2264,7 +2355,7 @@ the socket is effectively an in-memory configuration object, unable to communica -

    Import interface wasi:sockets/tcp@0.2.3

    +

    Import interface wasi:sockets/tcp@0.2.4


    Types

    type input-stream

    @@ -2855,7 +2946,7 @@ has no effect and returns ok.

    -

    Import interface wasi:sockets/tcp-create-socket@0.2.3

    +

    Import interface wasi:sockets/tcp-create-socket@0.2.4


    Types

    type network

    @@ -2900,7 +2991,7 @@ is called, the socket is effectively an in-memory configuration object, unable t -

    Import interface wasi:sockets/ip-name-lookup@0.2.3

    +

    Import interface wasi:sockets/ip-name-lookup@0.2.4


    Types

    type pollable

    @@ -2980,7 +3071,7 @@ It's planned to be removed when future is natively supported in Pre -

    Import interface wasi:random/random@0.2.3

    +

    Import interface wasi:random/random@0.2.4

    WASI Random is a random data API.

    It is intended to be portable at least between Unix-family platforms and Windows.

    @@ -3013,7 +3104,7 @@ represented as a u64.

    -

    Import interface wasi:random/insecure@0.2.3

    +

    Import interface wasi:random/insecure@0.2.4

    The insecure interface for insecure pseudo-random numbers.

    It is intended to be portable at least between Unix-family platforms and Windows.

    @@ -3042,7 +3133,7 @@ a long period.

    -

    Import interface wasi:random/insecure-seed@0.2.3

    +

    Import interface wasi:random/insecure-seed@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 Windows.

    @@ -3066,7 +3157,7 @@ protection.

    -

    Export interface wasi:cli/run@0.2.3

    +

    Export interface wasi:cli/run@0.2.4


    Functions

    run: func

    diff --git a/imports.md b/imports.md index a264d43..58c8d29 100644 --- a/imports.md +++ b/imports.md @@ -2,37 +2,38 @@ -

    Import interface wasi:cli/environment@0.2.3

    +
  • interface wasi:cli/environment@0.2.4
  • +
  • interface wasi:cli/exit@0.2.4
  • +
  • interface wasi:io/error@0.2.4
  • +
  • interface wasi:io/poll@0.2.4
  • +
  • interface wasi:io/streams@0.2.4
  • +
  • interface wasi:cli/stdin@0.2.4
  • +
  • interface wasi:cli/stdout@0.2.4
  • +
  • interface wasi:cli/stderr@0.2.4
  • +
  • interface wasi:cli/terminal-input@0.2.4
  • +
  • interface wasi:cli/terminal-output@0.2.4
  • +
  • interface wasi:cli/terminal-stdin@0.2.4
  • +
  • interface wasi:cli/terminal-stdout@0.2.4
  • +
  • interface wasi:cli/terminal-stderr@0.2.4
  • +
  • interface wasi:clocks/monotonic-clock@0.2.4
  • +
  • interface wasi:clocks/wall-clock@0.2.4
  • +
  • interface wasi:clocks/timezone@0.2.4
  • +
  • interface wasi:filesystem/types@0.2.4
  • +
  • interface wasi:filesystem/preopens@0.2.4
  • +
  • interface wasi:sockets/network@0.2.4
  • +
  • interface wasi:sockets/instance-network@0.2.4
  • +
  • interface wasi:sockets/udp@0.2.4
  • +
  • interface wasi:sockets/udp-create-socket@0.2.4
  • +
  • interface wasi:sockets/tcp@0.2.4
  • +
  • interface wasi:sockets/tcp-create-socket@0.2.4
  • +
  • interface wasi:sockets/ip-name-lookup@0.2.4
  • +
  • interface wasi:random/random@0.2.4
  • +
  • interface wasi:random/insecure@0.2.4
  • +
  • interface wasi:random/insecure-seed@0.2.4
  • + + + +

    Import interface wasi:cli/environment@0.2.4


    Functions

    get-environment: func

    @@ -59,7 +60,7 @@ directory, interpreting . as shorthand for this.

    -

    Import interface wasi:cli/exit@0.2.3

    +

    Import interface wasi:cli/exit@0.2.4


    Functions

    exit: func

    @@ -79,7 +80,7 @@ without the connotation that something bad has happened.

    -

    Import interface wasi:io/error@0.2.3

    +

    Import interface wasi:io/error@0.2.4


    Types

    resource error

    @@ -112,7 +113,7 @@ hazard.

    -

    Import interface wasi:io/poll@0.2.3

    +

    Import interface wasi:io/poll@0.2.4

    A poll API intended to let users wait for I/O events on multiple handles at once.


    @@ -165,7 +166,7 @@ being ready for I/O.

    -

    Import interface wasi:io/streams@0.2.3

    +

    Import interface wasi:io/streams@0.2.4

    WASI I/O is an I/O abstraction API which is currently focused on providing stream types.

    In the future, the component model is expected to add built-in stream types; @@ -495,7 +496,7 @@ is ready for reading, before performing the splice.

    -

    Import interface wasi:cli/stdin@0.2.3

    +

    Import interface wasi:cli/stdin@0.2.4


    Types

    type input-stream

    @@ -508,7 +509,7 @@ is ready for reading, before performing the splice.

    -

    Import interface wasi:cli/stdout@0.2.3

    +

    Import interface wasi:cli/stdout@0.2.4


    Types

    type output-stream

    @@ -521,7 +522,7 @@ is ready for reading, before performing the splice.

    -

    Import interface wasi:cli/stderr@0.2.3

    +

    Import interface wasi:cli/stderr@0.2.4


    Types

    type output-stream

    @@ -534,7 +535,7 @@ is ready for reading, before performing the splice.

    -

    Import interface wasi:cli/terminal-input@0.2.3

    +

    Import interface wasi:cli/terminal-input@0.2.4

    Terminal input.

    In the future, this may include functions for disabling echoing, disabling input buffering so that keyboard events are sent through @@ -543,7 +544,7 @@ immediately, querying supported features, and so on.

    Types

    resource terminal-input

    The input side of a terminal.

    -

    Import interface wasi:cli/terminal-output@0.2.3

    +

    Import interface wasi:cli/terminal-output@0.2.4

    Terminal output.

    In the future, this may include functions for querying the terminal size, being notified of terminal size changes, querying supported @@ -552,7 +553,7 @@ features, and so on.

    Types

    resource terminal-output

    The output side of a terminal.

    -

    Import interface wasi:cli/terminal-stdin@0.2.3

    +

    Import interface wasi:cli/terminal-stdin@0.2.4

    An interface providing an optional terminal-input for stdin as a link-time authority.


    @@ -569,7 +570,7 @@ allowing further interaction with it.

    -

    Import interface wasi:cli/terminal-stdout@0.2.3

    +

    Import interface wasi:cli/terminal-stdout@0.2.4

    An interface providing an optional terminal-output for stdout as a link-time authority.


    @@ -586,7 +587,7 @@ allowing further interaction with it.

    -

    Import interface wasi:cli/terminal-stderr@0.2.3

    +

    Import interface wasi:cli/terminal-stderr@0.2.4

    An interface providing an optional terminal-output for stderr as a link-time authority.


    @@ -603,7 +604,7 @@ allowing further interaction with it.

    -

    Import interface wasi:clocks/monotonic-clock@0.2.3

    +

    Import interface wasi:clocks/monotonic-clock@0.2.4

    WASI Monotonic Clock is a clock API intended to let users measure elapsed time.

    It is intended to be portable at least between Unix-family platforms and @@ -662,7 +663,7 @@ elapsed from the time this function is invoked.

    -

    Import interface wasi:clocks/wall-clock@0.2.3

    +

    Import interface wasi:clocks/wall-clock@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.

    @@ -703,7 +704,72 @@ also known as Unix Time.
  • datetime
  • -

    Import interface wasi:filesystem/types@0.2.3

    +

    Import interface wasi:clocks/timezone@0.2.4

    +
    +

    Types

    +

    type datetime

    +

    datetime

    +

    +#### `record timezone-display` +

    Information useful for displaying the timezone of a specific datetime.

    +

    This information may vary within a single timezone to reflect daylight +saving time adjustments.

    +
    Record Fields
    + +
    +

    Functions

    +

    display: func

    +

    Return information needed to display the given datetime. This includes +the UTC offset, the time zone name, and a flag indicating whether +daylight saving time is active.

    +

    If the timezone cannot be determined for the given datetime, return a +timezone-display for UTC with a utc-offset of 0 and no daylight +saving time.

    +
    Params
    + +
    Return values
    + +

    utc-offset: func

    +

    The same as display, but only return the UTC offset.

    +
    Params
    + +
    Return values
    + +

    Import interface wasi:filesystem/types@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.

    @@ -1392,6 +1458,9 @@ WASI.

    [method]descriptor.link-at: func

    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.

    Params
    -

    Import interface wasi:sockets/instance-network@0.2.3

    +
    +

    Functions

    +

    network-error-code: func

    +

    Attempts to extract a network-related error-code from the stream +error provided.

    +

    Stream operations which return stream-error::last-operation-failed +have a payload with more information about the operation that failed. +This payload can be passed through to this function to see if there's +network-related information about the error to return.

    +

    Note that this function is fallible because not all stream-related +errors are network-related errors.

    +
    Params
    + +
    Return values
    + +

    Import interface wasi:sockets/instance-network@0.2.4

    This interface provides a value-export of the default network handle..


    Types

    @@ -1800,7 +1891,7 @@ supported size. -

    Import interface wasi:sockets/udp@0.2.3

    +

    Import interface wasi:sockets/udp@0.2.4


    Types

    type pollable

    @@ -2214,7 +2305,7 @@ It's planned to be removed when future is natively supported in Pre -

    Import interface wasi:sockets/udp-create-socket@0.2.3

    +

    Import interface wasi:sockets/udp-create-socket@0.2.4


    Types

    type network

    @@ -2259,7 +2350,7 @@ the socket is effectively an in-memory configuration object, unable to communica -

    Import interface wasi:sockets/tcp@0.2.3

    +

    Import interface wasi:sockets/tcp@0.2.4


    Types

    type input-stream

    @@ -2850,7 +2941,7 @@ has no effect and returns ok.

    -

    Import interface wasi:sockets/tcp-create-socket@0.2.3

    +

    Import interface wasi:sockets/tcp-create-socket@0.2.4


    Types

    type network

    @@ -2895,7 +2986,7 @@ is called, the socket is effectively an in-memory configuration object, unable t -

    Import interface wasi:sockets/ip-name-lookup@0.2.3

    +

    Import interface wasi:sockets/ip-name-lookup@0.2.4


    Types

    type pollable

    @@ -2975,7 +3066,7 @@ It's planned to be removed when future is natively supported in Pre -

    Import interface wasi:random/random@0.2.3

    +

    Import interface wasi:random/random@0.2.4

    WASI Random is a random data API.

    It is intended to be portable at least between Unix-family platforms and Windows.

    @@ -3008,7 +3099,7 @@ represented as a u64.

    -

    Import interface wasi:random/insecure@0.2.3

    +

    Import interface wasi:random/insecure@0.2.4

    The insecure interface for insecure pseudo-random numbers.

    It is intended to be portable at least between Unix-family platforms and Windows.

    @@ -3037,7 +3128,7 @@ a long period.

    -

    Import interface wasi:random/insecure-seed@0.2.3

    +

    Import interface wasi:random/insecure-seed@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 Windows.

    diff --git a/wit/command.wit b/wit/command.wit index 3a81766..88ab2a9 100644 --- a/wit/command.wit +++ b/wit/command.wit @@ -1,4 +1,4 @@ -package wasi:cli@0.2.3; +package wasi:cli@0.2.4; @since(version = 0.2.0) world command { diff --git a/wit/deps.lock b/wit/deps.lock index 889946b..e80ab87 100644 --- a/wit/deps.lock +++ b/wit/deps.lock @@ -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"] diff --git a/wit/deps.toml b/wit/deps.toml index 6b2e9eb..0b2cbed 100644 --- a/wit/deps.toml +++ b/wit/deps.toml @@ -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" diff --git a/wit/deps/clocks/monotonic-clock.wit b/wit/deps/clocks/monotonic-clock.wit index c676fb8..175f8fe 100644 --- a/wit/deps/clocks/monotonic-clock.wit +++ b/wit/deps/clocks/monotonic-clock.wit @@ -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. /// @@ -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 diff --git a/wit/deps/clocks/timezone.wit b/wit/deps/clocks/timezone.wit index b43e93b..658cb17 100644 --- a/wit/deps/clocks/timezone.wit +++ b/wit/deps/clocks/timezone.wit @@ -1,4 +1,4 @@ -package wasi:clocks@0.2.3; +package wasi:clocks@0.2.4; @unstable(feature = clocks-timezone) interface timezone { diff --git a/wit/deps/clocks/wall-clock.wit b/wit/deps/clocks/wall-clock.wit index e00ce08..f826cd1 100644 --- a/wit/deps/clocks/wall-clock.wit +++ b/wit/deps/clocks/wall-clock.wit @@ -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. diff --git a/wit/deps/clocks/world.wit b/wit/deps/clocks/world.wit index 05f04f7..9e20874 100644 --- a/wit/deps/clocks/world.wit +++ b/wit/deps/clocks/world.wit @@ -1,4 +1,4 @@ -package wasi:clocks@0.2.3; +package wasi:clocks@0.2.4; @since(version = 0.2.0) world imports { diff --git a/wit/deps/filesystem/preopens.wit b/wit/deps/filesystem/preopens.wit index cea9749..6e60039 100644 --- a/wit/deps/filesystem/preopens.wit +++ b/wit/deps/filesystem/preopens.wit @@ -1,4 +1,4 @@ -package wasi:filesystem@0.2.3; +package wasi:filesystem@0.2.4; @since(version = 0.2.0) interface preopens { diff --git a/wit/deps/filesystem/types.wit b/wit/deps/filesystem/types.wit index d229a21..962cadf 100644 --- a/wit/deps/filesystem/types.wit +++ b/wit/deps/filesystem/types.wit @@ -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. @@ -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) @@ -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( diff --git a/wit/deps/filesystem/world.wit b/wit/deps/filesystem/world.wit index 29405bc..7742ed6 100644 --- a/wit/deps/filesystem/world.wit +++ b/wit/deps/filesystem/world.wit @@ -1,4 +1,4 @@ -package wasi:filesystem@0.2.3; +package wasi:filesystem@0.2.4; @since(version = 0.2.0) world imports { diff --git a/wit/deps/io/error.wit b/wit/deps/io/error.wit index 97c6068..eb0600f 100644 --- a/wit/deps/io/error.wit +++ b/wit/deps/io/error.wit @@ -1,4 +1,4 @@ -package wasi:io@0.2.3; +package wasi:io@0.2.4; @since(version = 0.2.0) interface error { diff --git a/wit/deps/io/poll.wit b/wit/deps/io/poll.wit index 9bcbe8e..170deff 100644 --- a/wit/deps/io/poll.wit +++ b/wit/deps/io/poll.wit @@ -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. @@ -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. diff --git a/wit/deps/io/streams.wit b/wit/deps/io/streams.wit index 0de0846..bb9a31e 100644 --- a/wit/deps/io/streams.wit +++ b/wit/deps/io/streams.wit @@ -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. diff --git a/wit/deps/io/world.wit b/wit/deps/io/world.wit index f1d2102..8e0fa5c 100644 --- a/wit/deps/io/world.wit +++ b/wit/deps/io/world.wit @@ -1,4 +1,4 @@ -package wasi:io@0.2.3; +package wasi:io@0.2.4; @since(version = 0.2.0) world imports { diff --git a/wit/deps/random/insecure-seed.wit b/wit/deps/random/insecure-seed.wit index 67d024d..45e8baf 100644 --- a/wit/deps/random/insecure-seed.wit +++ b/wit/deps/random/insecure-seed.wit @@ -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 diff --git a/wit/deps/random/insecure.wit b/wit/deps/random/insecure.wit index a07dfab..5ab5030 100644 --- a/wit/deps/random/insecure.wit +++ b/wit/deps/random/insecure.wit @@ -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 diff --git a/wit/deps/random/random.wit b/wit/deps/random/random.wit index 91957e6..9e5220d 100644 --- a/wit/deps/random/random.wit +++ b/wit/deps/random/random.wit @@ -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 diff --git a/wit/deps/random/world.wit b/wit/deps/random/world.wit index 0c1218f..d890558 100644 --- a/wit/deps/random/world.wit +++ b/wit/deps/random/world.wit @@ -1,4 +1,4 @@ -package wasi:random@0.2.3; +package wasi:random@0.2.4; @since(version = 0.2.0) world imports { diff --git a/wit/deps/sockets/ip-name-lookup.wit b/wit/deps/sockets/ip-name-lookup.wit index c1d8a47..48b41a5 100644 --- a/wit/deps/sockets/ip-name-lookup.wit +++ b/wit/deps/sockets/ip-name-lookup.wit @@ -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}; diff --git a/wit/deps/sockets/network.wit b/wit/deps/sockets/network.wit index f3f60a3..aa4985e 100644 --- a/wit/deps/sockets/network.wit +++ b/wit/deps/sockets/network.wit @@ -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. diff --git a/wit/deps/sockets/tcp.wit b/wit/deps/sockets/tcp.wit index b4cd87f..b331133 100644 --- a/wit/deps/sockets/tcp.wit +++ b/wit/deps/sockets/tcp.wit @@ -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}; diff --git a/wit/deps/sockets/udp.wit b/wit/deps/sockets/udp.wit index 01901ca..cfc07ba 100644 --- a/wit/deps/sockets/udp.wit +++ b/wit/deps/sockets/udp.wit @@ -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}; diff --git a/wit/deps/sockets/world.wit b/wit/deps/sockets/world.wit index 2f0ad0d..82acdb9 100644 --- a/wit/deps/sockets/world.wit +++ b/wit/deps/sockets/world.wit @@ -1,4 +1,4 @@ -package wasi:sockets@0.2.3; +package wasi:sockets@0.2.4; @since(version = 0.2.0) world imports { diff --git a/wit/imports.wit b/wit/imports.wit index 8b4e397..ad5c6bb 100644 --- a/wit/imports.wit +++ b/wit/imports.wit @@ -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; diff --git a/wit/stdio.wit b/wit/stdio.wit index 1b54f53..60727a9 100644 --- a/wit/stdio.wit +++ b/wit/stdio.wit @@ -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; @@ -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; @@ -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;