[package] name = "stratum-llm" version = "0.1.0" edition.workspace = true description = "Unified LLM abstraction with CLI detection, fallback, and caching" license.workspace = true [dependencies] # Async runtime tokio = { workspace = true } async-trait = { workspace = true } futures = { workspace = true } # HTTP client reqwest = { workspace = true, features = ["stream"] } # Serialization serde = { workspace = true } serde_json = { workspace = true } serde_yaml = { workspace = true, optional = true } # Caching moka = { workspace = true } # Error handling thiserror = { workspace = true } # Logging tracing = { workspace = true } # Metrics prometheus = { workspace = true, optional = true } # Utilities dirs = { workspace = true } chrono = { workspace = true } uuid = { workspace = true, features = ["v4"] } which = { workspace = true, optional = true } # Hashing for cache keys xxhash-rust = { workspace = true } [features] default = ["anthropic", "openai", "ollama"] anthropic = [] openai = [] deepseek = [] ollama = [] claude-cli = [] openai-cli = [] kogral = ["serde_yaml", "which"] metrics = ["prometheus"] all = [ "anthropic", "openai", "deepseek", "ollama", "claude-cli", "openai-cli", "kogral", "metrics", ] [dev-dependencies] tokio-test = { workspace = true } tracing-subscriber = { workspace = true }