[package]
name = "codex-protocol"
version.workspace = true
edition.workspace = true
license.workspace = true

[lib]
name = "codex_protocol"
path = "src/lib.rs"

[lints]
workspace = true

[dependencies]
codex-git = { workspace = true }
codex-execpolicy = { workspace = true }
codex-utils-absolute-path = { workspace = true }
codex-utils-image = { workspace = true }
icu_decimal = { workspace = true }
icu_locale_core = { workspace = true }
icu_provider = { workspace = true, features = ["sync"] }
mime_guess = { workspace = true }
schemars = { workspace = true }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
serde_with = { workspace = true, features = ["macros", "base64"] }
strum = { workspace = true }
strum_macros = { workspace = true }
sys-locale = { workspace = true }
tracing = { workspace = true }
ts-rs = { workspace = true, features = [
    "uuid-impl",
    "serde-json-impl",
    "no-serde-warnings",
] }
uuid = { workspace = true, features = ["serde", "v7", "v4"] }

[dev-dependencies]
anyhow = { workspace = true }
pretty_assertions = { workspace = true }
tempfile = { workspace = true }

[package.metadata.cargo-shear]
# Required because:
# `icu_provider`: contains a required `sync` feature for `icu_decimal`
# `strum`: as strum_macros in non-nightly builds
ignored = ["icu_provider", "strum"]
