WebAssembly / WebAssembly/component-model

Detect whether the host has a certain ability

Open
#310 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
WebAssembly
Stars
1.4k
Forks
130
Avg merge
2d 1h
Merged PRs (30d)
15

Description

I most recently saw this project https://github.com/bytecodealliance/WASI-Virt

This is very useful, but I now have a question about the interface provided by the host.

Does the host must to implement all interfaces specified in the final phase of wasi?

Considering that the performance of some embedded devices is very weak, it is unlikely to implement overly complex interfaces, such as wasi-nn.

Should an interface be provided to query whether the host actually implements a certain interface?

If not all interface must be implemented, I hope to be able to query the following status of the interface:

enum {
    // It is forbidden to call this interface (trap immediately)
    // for example, not implemented
    deny,
    // Allow calling this interface
    allow,
    // This interface does not actually exist, but it can be called without trap, and the behavior does not comply with the operation.
    // for example, random numbers always return 0(default value).
    // stdout will not actually produce any message. 
    // http requests will not actually be issued, etc.
    virtual, 
    // The interface exists, but there is no calling permission (trap immediately)
    // for example, if the user has not been granted permission to view the file, you should ask the user to check the pop-up window first.
    insufficient-permissions
}

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Begin by reading the linked WASI-Virt project and the WASI final-phase interface context, including wasi-nn. Compare the proposed deny, allow, virtual, and insufficient-permissions states; done means deciding whether a host capability query belongs in the component-model specification and documenting its semantics.

Written by the indexing model from the issue text.

Assessment

Tech stack
wasm
Domain
backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.