[package]
name = "harmos"
description = "Harmos facade: stateful Rust applications with history, live data and plugins."
edition.workspace = true
rust-version.workspace = true
license.workspace = true
publish.workspace = true
autotests = false
version = { workspace = true }
[features]
default = []
runtime = ["dep:harmos-runtime", "dep:harmos-sdk"]
plugin = ["runtime", "harmos-runtime/plugin"]
plugin-sidecar = ["runtime", "harmos-runtime/plugin-sidecar"]
plugin-guest = ["runtime", "harmos-runtime/plugin-guest"]
grpc = ["runtime", "harmos-runtime/grpc", "harmos-sdk?/grpc"]
generate-proto = ["runtime", "harmos-runtime/generate-proto"]
signal = ["runtime", "harmos-runtime/signal"]
signal-fft = ["runtime", "harmos-runtime/signal-fft"]
simulation = ["runtime", "harmos-runtime/simulation"]
[dependencies]
harmos-operations = { workspace = true }
harmos-domain = { workspace = true, features = ["derive"] }
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
harmos-runtime = { workspace = true, optional = true }
[target.'cfg(target_arch = "wasm32")'.dependencies]
harmos-sdk = { workspace = true, optional = true, features = ["streaming"] }
[lints]
workspace = true