[package]
name = "devboy-format-pipeline"
description = "Format pipeline for devboy-tools — TOON encoding, MCKP tree-budget trimming, cursor pagination, deduplication; the output stage shared by every devboy provider."
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
authors.workspace = true
readme = "README.md"
keywords = ["devboy", "ai-agents", "tokenizer", "pagination", "compression"]
categories = ["development-tools", "encoding", "compression"]

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]

[dependencies]
devboy-core = { workspace = true }
toon-format = { version = "0.4", default-features = false }
anyhow.workspace = true
base64 = "0.22"
serde.workspace = true
serde_json.workspace = true
sha2.workspace = true
thiserror.workspace = true
tiktoken-rs = "0.11"
toml.workspace = true
tracing.workspace = true

[dev-dependencies]
criterion = { version = "0.5", features = ["html_reports"] }
tokio = { workspace = true, features = ["rt-multi-thread", "macros"] }

[[bench]]
name = "format_comparison"
harness = false

[[bench]]
name = "dedup_bench"
harness = false

[lints]
workspace = true
