[package]
name = "deeplossless"
version = "0.4.1"
edition = "2024"
rust-version = "1.85"
license = "MIT"
description = "Inference-aware execution runtime for long-running AI coding agents"
repository = "https://github.com/gordonlu/deeplossless"
readme = "README.md"
keywords = ["ai", "agent", "runtime", "inference", "llm"]
categories = ["command-line-utilities", "development-tools"]

[dependencies]
# HTTP proxy
axum = "0.8"
reqwest = { version = "0.12", features = ["stream", "json", "rustls-tls"], default-features = false }
tokio = { version = "1", features = ["full"] }
tower = "0.5"
tower-http = { version = "0.6", features = ["cors", "catch-panic", "limit"] }
bytes = "1"

# Serialization
serde = { version = "1", features = ["derive"] }
serde_json = "1"

# Streaming
futures = "0.3"
tokio-stream = "0.1"


# SQLite
rusqlite = { version = "0.34", features = ["bundled", "vtab"] }

# Logging
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }

# CLI
clap = { version = "4", features = ["derive", "env"] }

# Tokenization
tiktoken = "3"

# Misc
chrono = { version = "0.4", features = ["serde"] }
anyhow = "1"
shellexpand = "3"
thiserror = "2"
sha2 = "0.10"
hex = "0.4"

# AST parsing
tree-sitter = "0.24"
tree-sitter-rust = "0.23"
tree-sitter-python = "0.23"
tree-sitter-typescript = "0.23"
tree-sitter-javascript = "0.23"
tree-sitter-java = "0.23"
tree-sitter-c = "0.23"
tree-sitter-c-sharp = "0.23"
tree-sitter-go = "0.23"

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

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

