chain-module-sdk-rust/Cargo.toml
flemming-it eb7a1d5d42
Some checks failed
CI / Linux x86_64 (Forgejo) (push) Has been cancelled
fix(macros): emit WASM glue only on target_arch = "wasm32"
The #[fai_module] expansion previously always inserted the
wit_bindgen::generate! call, the Guest impl, and the export!
macro. That is correct on the wasm32 target but causes host
compilation of a module crate to fail because wit_bindgen's
runtime types are not in scope on a non-wasm target.

The orchestrator-llm module worked around this with a manual
#[cfg(target_arch = "wasm32")] gate around its hand-written
wit_bindgen call. The point of the SDK is to remove that
boilerplate, so the gate now lives inside the macro itself.

Module crates can now declare crate-type = ["cdylib", "rlib"]
and run integration tests via `cargo test` against the
`invoke` function directly without having the WASM glue on
the host build.

Bumps the SDK patch version 0.1.0 -> 0.1.1 per the per-commit
policy.

Signed-off-by: flemming-it <sf@flemming.it>
2026-05-01 14:57:44 +02:00

37 lines
790 B
TOML

[workspace]
resolver = "2"
members = [
"crates/fai-module-sdk",
"crates/fai-module-sdk-macros",
]
[workspace.package]
version = "0.1.1"
edition = "2024"
authors = ["Dr. Stefan Flemming <platform@flemming.ai>"]
license = "Apache-2.0"
repository = "https://git.flemming.ws/fai/module-sdk"
homepage = "https://flemming.ai/"
rust-version = "1.85"
[workspace.lints.rust]
unsafe_op_in_unsafe_fn = "warn"
[workspace.lints.clippy]
unwrap_used = "deny"
expect_used = "deny"
panic = "deny"
print_stdout = "deny"
print_stderr = "deny"
todo = "deny"
unimplemented = "deny"
[workspace.dependencies]
serde = { version = "1", features = ["derive"] }
serde_json = "1"
thiserror = "2"
proc-macro2 = "1"
quote = "1"
syn = { version = "2", features = ["full"] }
wit-bindgen = "0.36"
sha2 = "0.10"