[package]
name = "rcp-tools-common"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
description = "Internal library for RCP file operation tools - shared utilities and core operations (not intended for direct use)"
readme = "../README.md"
documentation = "https://docs.rs/rcp-tools-common"
keywords = ["internal", "library", "file-operations"]
categories = ["development-tools"]
build = "build.rs"

[lints]
workspace = true

[package.metadata.docs.rs]
cargo-args = ["--config", "build.rustflags=[\"--cfg\", \"tokio_unstable\"]"]
rustdoc-args = ["--cfg", "tokio_unstable"]

[lib]
name = "common"

[dependencies]
anyhow = "1.0"
async-recursion = "1.1"
bytes = "1.11"
bytesize = "2.3"
clap = { version = "4", features = ["derive"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1"
chrono = "0.4"
congestion = { workspace = true }
console-subscriber = "0.5"
enum-map = "2.7"
futures = "0.3"
globset = "0.4"
hdrhistogram = { version = "7.5", default-features = false, features = ["serialization"] }
humantime = "2.3"
indicatif = "0.18"
libc = "0.2"
nix = { version = "0.31", features = ["fs", "hostname", "user"] }
procfs = "0.18"
rand = "0.10"
sysinfo = "0.39"
thiserror = "2.0"
throttle = { workspace = true }
tokio = { version = "1.52", features = ["full", "parking_lot", "tracing"] }
tracing = "0.1"
tracing-chrome = "0.7"
tracing-flame = "0.2"
tracing-subscriber = { version = "0.3", features = ["env-filter", "parking_lot"] }
tracing-test = "0.2"

[dev-dependencies]
filetime = "0.2"
proptest = "1"
tempfile = "3"
