[package]
name = "ironflow-engine"
version = "2.7.1"
edition = "2024"
rust-version = "1.94"
authors = ["Thomas Tartrau"]
license = "MIT"
description = "Workflow orchestration engine for ironflow with FSM-based run lifecycle"
repository = "https://gitlab.com/ThomasTartrau/ironflow"
keywords = ["workflow", "engine", "orchestration", "fsm"]
categories = ["asynchronous", "development-tools"]

[dependencies]
ironflow-core = { version = "2.4.0", path = "../ironflow-core" }
ironflow-store = { version = "2.5.0", path = "../ironflow-store" }

uuid = { version = "1", features = ["v7", "serde"] }
chrono = { version = "0.4", features = ["serde"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
rust_decimal = { version = "1", features = ["serde-float"] }
tokio = { version = "1", features = ["time"] }
thiserror = "2"
tracing = "0.1"
reqwest = { version = "0.12", features = ["json"] }
schemars = "1"
metrics = { version = "0.24", optional = true }

[features]
default = []
prometheus = ["metrics", "ironflow-core/prometheus"]

[dev-dependencies]
tokio = { version = "1", features = ["full"] }
serde_json = "1"
axum = { version = "0.8", features = ["json"] }
metrics = "0.24"
metrics-exporter-prometheus = { version = "0.18", default-features = false }
