1#![allow(missing_docs)]
2#![allow(non_camel_case_types)] pub use async_trait::async_trait;
5
6wasmtime::component::bindgen!({
7 inline: r#"
8 package fermyon:runtime;
9 world host {
10 include fermyon:spin/host;
11 include fermyon:spin/platform@2.0.0;
12 include fermyon:spin/platform@3.0.0;
13 include spin:up/platform@3.2.0;
14 include wasi:keyvalue/imports@0.2.0-draft2;
15 }
16 "#,
17 path: "../../wit",
18 async: true,
19 trappable_error_type: {
21 "fermyon:spin/config/error" => v1::config::Error,
22 "fermyon:spin/http-types/http-error" => v1::http_types::HttpError,
23 "fermyon:spin/llm@2.0.0/error" => v2::llm::Error,
24 "fermyon:spin/llm/error" => v1::llm::Error,
25 "fermyon:spin/mqtt@2.0.0/error" => v2::mqtt::Error,
26 "fermyon:spin/mysql/mysql-error" => v1::mysql::MysqlError,
27 "fermyon:spin/postgres/pg-error" => v1::postgres::PgError,
28 "fermyon:spin/rdbms-types@2.0.0/error" => v2::rdbms_types::Error,
29 "fermyon:spin/redis-types/error" => v1::redis_types::Error,
30 "fermyon:spin/redis@2.0.0/error" => v2::redis::Error,
31 "fermyon:spin/sqlite@2.0.0/error" => v2::sqlite::Error,
32 "fermyon:spin/sqlite/error" => v1::sqlite::Error,
33 "fermyon:spin/variables@2.0.0/error" => v2::variables::Error,
34 "spin:postgres/postgres/error" => spin::postgres::postgres::Error,
35 "spin:sqlite/sqlite/error" => spin::sqlite::sqlite::Error,
36 "wasi:config/store@0.2.0-draft-2024-09-27/error" => wasi::config::store::Error,
37 "wasi:keyvalue/store/error" => wasi::keyvalue::store::Error,
38 "wasi:keyvalue/atomics/cas-error" => wasi::keyvalue::atomics::CasError,
39 },
40 trappable_imports: true,
41});
42
43pub use fermyon::spin as v1;
44pub use fermyon::spin2_0_0 as v2;
45
46mod conversions;