[package]
name = "mockforge-federation"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
documentation.workspace = true
readme = "README.md"
keywords.workspace = true
categories.workspace = true
description = "Multi-workspace federation for MockForge - compose multiple mock workspaces into federated virtual systems"

[lints]
workspace = true

[dependencies]
# Core dependencies
mockforge-core = { version = "0.3.70", path = "../mockforge-core" }

# Serialization
serde = { workspace = true }
serde_json = { workspace = true }
serde_yaml = { workspace = true }

# Async runtime
tokio = { workspace = true, features = ["full"] }
futures = { workspace = true }
async-trait = { workspace = true }

# Logging
tracing = { workspace = true }

# Error handling
thiserror = { workspace = true }
anyhow = { workspace = true }

# Utility libraries
uuid = { workspace = true, features = ["v4", "serde"] }
chrono = { workspace = true, features = ["serde"] }
url = { workspace = true }

# Database for persistence
sqlx = { version = "0.8", features = ["runtime-tokio-rustls", "sqlite", "postgres", "chrono", "uuid", "json", "migrate"] }

# Concurrency
parking_lot = { workspace = true }

# HTTP client for cross-workspace calls
reqwest = { workspace = true }

[dev-dependencies]
tokio = { workspace = true, features = ["test-util", "macros"] }
tempfile = "3.27"
