[package]
name         = "taktora-connector-codec"
version      = "0.1.3"
edition      = { workspace = true }
rust-version = { workspace = true }
license      = { workspace = true }
repository   = { workspace = true }
authors      = { workspace = true }
homepage     = { workspace = true }
readme       = { workspace = true }
keywords     = { workspace = true }
categories   = { workspace = true }
description  = "PayloadCodec implementations for the taktora-connector framework. Realises BB_0003 (JsonCodec behind default-on `json` feature)."

[features]
default = ["json"]
# JsonCodec via serde_json — REQ_0212. Default-on so the typical
# build pulls a working codec without extra wiring.
json    = ["dep:serde_json"]

[dependencies]
taktora-connector-core = { workspace = true }
serde                = { workspace = true, features = ["std"] }
serde_json           = { workspace = true, optional = true, features = ["std"] }

[dev-dependencies]
serde      = { workspace = true, features = ["std", "derive"] }
serde_json = { workspace = true, features = ["std"] }
proptest   = { workspace = true }

[lints.rust]
unsafe_code  = "deny"
missing_docs = "warn"

[lints.clippy]
pedantic = { level = "warn", priority = -1 }
nursery  = { level = "warn", priority = -1 }
module_name_repetitions = "allow"
must_use_candidate      = "allow"
missing_errors_doc      = "allow"
