[package]
name = "dapz"
version = "0.0.1"
edition = "2024"
license = "MIT"
repository = "https://github.com/StrayDragon/dapz"
description = "AI-friendly DAP compression proxy — token-efficient Debug Adapter Protocol proxy"
readme = "README.md"
keywords = ["dap", "proxy", "compression", "ai", "agent"]
categories = ["development-tools"]

[features]
default = ["cli"]
cli = ["dep:clap", "dep:tracing-subscriber"]
mcp = ["dep:rmcp", "dep:anyhow"]
agent-sdk = ["mcp"]
transport-tcp = []
transport-websocket = ["dep:tokio-tungstenite", "dep:futures-util"]

[dependencies]
tokio = { version = "1.35", features = ["full"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
async-trait = "0.1"
thiserror = "1.0"
tracing = "0.1"
toml = "0.8"
notify = "7"
shell-words = "1.1"

# CLI (optional)
clap = { version = "4", optional = true, features = ["derive", "env"] }
tracing-subscriber = { version = "0.3", optional = true, features = ["env-filter"] }

# MCP / Agent SDK (optional)
rmcp = { version = "0.16", optional = true, features = ["server", "transport-io"] }
anyhow = { version = "1.0", optional = true }

# WebSocket transport (optional)
tokio-tungstenite = { version = "0.21", optional = true, default-features = false, features = ["connect"] }
futures-util = { version = "0.3", optional = true, default-features = false, features = ["sink", "std"] }

[[bin]]
name = "dapz"
path = "src/main.rs"
required-features = ["cli"]

[dev-dependencies]
criterion = { version = "0.5", features = ["html_reports"] }
tiktoken-rs = "0.11"
tempfile = "3"

[[bench]]
name = "compression"
harness = false
path = "benches/compression.rs"
