[package] name = "dsl-flow" version = "0.1.0" edition = "2024" license = "MIT" description = "A Rust DSL-based workflow engine supporting stateful/stateless flows, async nodes, fork-join, and extensible expression engines (Rhai/JS)." readme = "README.md" [lib] name = "dsl_flow" path = "src/lib.rs" [features] default = ["rhai", "http"] rhai = ["dep:rhai"] js = ["dep:boa_engine"] http = ["dep:reqwest"] [dependencies] tokio = { version = "1", features = ["rt-multi-thread", "macros", "sync", "time"] } futures = "0.3" serde = { version = "1.0", features = ["derive"] } serde_json = { version = "1.0" } thiserror = "1.0" async-trait = "0.1" uuid = { version = "1", features = ["v4"] } tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["fmt", "env-filter"] } # Optional engines and nodes rhai = { version = "1", optional = true, features = ["serde"] } boa_engine = { version = "0.20", optional = true } reqwest = { version = "0.12", optional = true, features = ["json", "rustls-tls"] } [dev-dependencies] tokio = { version = "1", features = ["rt-multi-thread", "macros", "sync", "time"] } httpmock = "0.7" anyhow = "1.0"