[package]
name = "elicit_tower"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
authors.workspace = true
homepage.workspace = true
documentation.workspace = true
readme = "README.md"
description = "Elicitation-enabled tower shadow crate — MCP tools for middleware, service builders, and tower-http layers"
keywords = ["mcp", "tower", "middleware", "elicitation", "agent"]
categories = ["network-programming", "development-tools"]

[dependencies]
elicitation = { workspace = true, features = ["tower-types"] }
elicitation_derive.workspace = true

tower = { workspace = true, features = ["full"] }
tower-http = { workspace = true, features = ["full"] }
http.workspace = true
bytes.workspace = true

schemars.workspace = true
serde.workspace = true
serde_json.workspace = true
rmcp.workspace = true
tracing.workspace = true
uuid = { workspace = true, features = ["v4"] }
futures.workspace = true
paste.workspace = true
tokio = { workspace = true }

quote = { workspace = true }

[dev-dependencies]
serde_json.workspace = true
tokio = { workspace = true, features = ["macros", "rt-multi-thread"] }

[features]
default = []
emit = ["elicitation/emit"]

[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(kani)', 'cfg(creusot)', 'cfg(prusti)', 'cfg(verus)'] }
