[package]
name = "kodegen_claude_agent"
version = "0.10.1"
edition = "2024"
description = "KODEGEN.ᴀɪ: Memory-efficient, Blazing-Fast, MCP tools for code generation agents."
authors = ["KODEGEN.ᴀɪ"]
homepage = "https://kodegen.ai"
repository = "https://github.com/cyrup-ai/kodegen-claude-agent"
readme = "README.md"
categories = ["development-tools", "command-line-utilities", "api-bindings"]
keywords = [
    "mcp",
    "terminal",
    "agent",
    "filesystem",
    "claude"
]
license = "Apache-2.0 OR MIT"

[package.metadata.bundle]
identifier = "ai.kodegen.kodegen_claude_agent"
publisher = "KODEGEN.ᴀɪ"
copyright = "Copyright © 2025"
short_description = "Memory-efficient, Blazing-Fast, MCP tools for code generation agents."

[package.metadata.bundle.category]
linux = "Development"
macos = "public.app-category.developer-tools"


[dependencies]

kodegen_mcp_schema = { version = "0.10" }
kodegen_server_http = { version = "0.10" }
kodegen_tools_prompt = { version = "0.10" }
kodegen_config_manager = { version = "0.10" }
kodegen_config = { version = "0.10" }

# Async runtime
tokio = { version = "1", features = ["full"] }
tokio-util = { version = "0.7", features = ["codec"] }

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

# Session management
uuid = { version = "1", features = ["v4", "serde"] }

# HTTP client (for future MCP HTTP support)
reqwest = { version = "0.12", features = ["json", "stream"], optional = true }

# Error handling
thiserror = "2"

# Async streams
futures = "0.3"
async-stream = "0.3"

# Process utilities
which = "8"

# Bitflags for capability sets
bitflags = "2"

# Logging - standardized on env_logger
log = "0.4"
env_logger = "0.11"

# Date/time utilities
chrono = "0.4"

# TLS support
rustls = "0.23"

# Terminal colors - for formatted output
cyrup_termcolor = "2"

# MCP SDK - official protocol implementation
rmcp = { version = "0.10", features = ["client", "schemars", "server", "transport-sse-server"] }

# JSON Schema generation
schemars = "1"

# Error handling for tool conversion
anyhow = "1"

# Concurrent access for session manager
parking_lot = "0.12"

[dev-dependencies]
kodegen_mcp_client = { version = "0.10" }
reqwest = { version = "0.12", default-features = false, features = ["json", "stream", "rustls-tls"] }
anyhow = "1"
tokio-test = "0.4"
tempfile = "3"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
chrono = { version = "0.4", features = ["serde"] }

[features]
default = []
http = ["reqwest"]
server = []

[[bin]]
name = "kodegen-claude-agent"
path = "src/main.rs"
