[package]
edition = "2024"
rust-version = "1.99"
name = "harmos-guest"
version = "0.1.13"
build = false
include = [
".cargo_vcs_info.json",
"CHANGELOG.md",
"Cargo.lock",
"Cargo.toml",
"src/error.rs",
"src/kit/context.rs",
"src/kit/instance.rs",
"src/kit/mod.rs",
"src/kit/plugin.rs",
"src/kit/publisher.rs",
"src/lib.rs",
"tests/kit/main.rs",
"tests/support/mod.rs",
"tests/system/main.rs",
"tests/system/plugin.rs",
"wit/harmos.wit",
]
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Harmos guest kit for WebAssembly component plugins."
readme = false
license = "Apache-2.0"
[features]
default = ["derive"]
derive = [
"harmos-domain/derive",
"harmos-sdk/derive",
"dep:harmos-macros",
]
grpc = ["harmos-sdk/grpc"]
kit = [
"harmos-operations/lifecycle",
"dep:wit-bindgen",
"wit-bindgen/inter-task-wakeup",
]
streaming = ["harmos-sdk/streaming"]
[lib]
name = "harmos_guest"
path = "src/lib.rs"
[[test]]
name = "integration"
path = "tests/kit/main.rs"
required-features = ["derive"]
[[test]]
name = "system"
path = "tests/system/main.rs"
required-features = ["derive"]
[dependencies.harmos-domain]
version = "=0.1.13"
default-features = false
[dependencies.harmos-macros]
version = "=0.1.13"
optional = true
[dependencies.harmos-operations]
version = "=0.1.13"
default-features = false
[dependencies.harmos-sdk]
version = "=0.1.13"
default-features = false
[dependencies.thiserror]
version = "2.0.21"
default-features = true
[dependencies.tracing]
version = "0.1.44"
default-features = true
[dependencies.wit-bindgen]
version = "=0.63.0"
features = ["async-spawn"]
optional = true
default-features = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.serde_json]
version = "1.0.154"
default-features = true
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.sha2]
version = "0.11.1"
default-features = true
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.tempfile]
version = "3.27.0"
default-features = true
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.tokio]
version = "1.54.1"
features = [
"sync",
"rt",
"macros",
]
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.tracing-perfetto-file]
version = "0.1.1"
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.tracing-subscriber]
version = "0.3.23"
features = [
"fmt",
"registry",
"std",
]
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.wasmtime]
version = "=50.0.0"
features = [
"async",
"component-model",
"component-model-async",
"cranelift",
"parallel-compilation",
"runtime",
"std",
]
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.wit-component]
version = "=0.262.0"
default-features = true
[lints.clippy]
all = "warn"
[lints.rust]
unsafe_code = "warn"