[package]
name = "blazen-core"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
rust-version.workspace = true
repository.workspace = true
description = "Core workflow engine for Blazen - event-driven, async, pausable workflows"

[features]
persist = ["dep:blazen-persist"]
telemetry = ["dep:blazen-telemetry"]
distributed = []

[dependencies]
blazen-persist = { workspace = true, optional = true }
blazen-telemetry = { workspace = true, optional = true, features = ["history"] }
blazen-events.workspace = true
blazen-macros.workspace = true
tokio = { version = "1", default-features = false, features = ["sync", "macros", "rt", "time"] }
tokio-stream = { version = "0.1", default-features = false, features = ["sync"] }
futures-util.workspace = true
dashmap.workspace = true
tracing.workspace = true
thiserror.workspace = true
serde.workspace = true
serde_json.workspace = true
rmp-serde.workspace = true
serde_bytes.workspace = true
uuid.workspace = true
chrono.workspace = true
async-trait.workspace = true
anyhow.workspace = true

[dev-dependencies]
tokio = { workspace = true, features = ["test-util"] }
blazen-events.workspace = true
blazen-macros.workspace = true
serde.workspace = true
serde_json.workspace = true
tokio-stream.workspace = true

[lints]
workspace = true
