[package]
name = "meerkat-contracts"
description = "Wire format contracts and capability registry for Meerkat"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
homepage.workspace = true
documentation.workspace = true
keywords.workspace = true
categories.workspace = true

[features]
default = []
schema = ["dep:schemars", "meerkat-core/schema"]

[dependencies]
meerkat-core = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
strum = { workspace = true }
inventory = { workspace = true }
thiserror = { workspace = true }

# Feature-gated
schemars = { workspace = true, optional = true }

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

[package.metadata.cargo-machete]
ignored = ["tokio"]  # dev-dependency used in test runtime

[lints]
workspace = true

[[bin]]
name = "emit-schemas"
required-features = ["schema"]
