package wasi:cloud-core@0.2.0-draft; /// The `import` world imports every API that `wasi-cloud-core` /// expects. It is intended to be `include`d into worlds that /// export interfaces. world imports { /// The capability to interact with key-value stores include wasi:keyvalue/imports@0.2.0-draft; /// The capability to interact with blob stores include wasi:blobstore/imports@0.2.0-draft; /// The capability to send and receive messages to message broker proiders include wasi:messaging/imports@0.2.0-draft; /// The capability to interact with SQL databases include wasi:sql/imports@0.2.0-draft; /// The capability to interact with runtime configuration providers include wasi:config/imports@0.2.0-draft; /// The capability to send HTTP requests (e.g. via `fetch()`) include wasi:http/imports@0.2.0; } /// The `http-service` world is a world that exports a single HTTP /// handler that can be used to handle HTTP requests, and /// a set of capabilities that can be used to interact with /// the platform / runtime. world http-service { include imports; /// The capability to send/receive HTTP requests include wasi:http/proxy@0.2.0; } /// The `messaging-service` world is a world that exports a single /// asyncrhonous messaging handler that can be used to /// handle incoming messages from some message broker provider, /// and a set of capabilities that can be used to interact with /// the platform / runtime. world messaging-service { include imports; /// The capability to send and receive messages from message broker providers include wasi:messaging/messaging@0.2.0-draft; } /// The `service` world that exports all the services. /// TODO: The host is expected to treat all exports as /// **optional** until the `option` semantics was /// added to the component model and WIT specification. world service { include http-service; include messaging-service; }