[package]
name = "kodegen_tools_browser"
version = "0.10.6"
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-tools-browser"
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_tools_browser"
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"


[lib]
name = "kodegen_tools_browser"
crate-type = ["lib"]

[dependencies]

kodegen_mcp_schema = { version = "0.10" }
kodegen_server_http = { version = "0.10" }
kodegen_config_manager = { version = "0.10" }
kodegen_candle_agent = { version = "0.10" }
kodegen_config = { version = "0.10" }
kodegen_mcp_client = { version = "0.10" }
cyrup_sugars = { version = "0.5", package = "cyrup_sugars", features = ["all"] }

rmcp = { version = "0.11", features = ["client", "schemars", "server"] }
schemars = "1"

# Async runtime
tokio = { version = "1", features = ["full"] }
tokio-util = "0.7"
tokio-stream = "0.1"
futures = "0.3"
futures-util = "0.3"
async-trait = "0.1"

# Browser automation (CRITICAL: must use git dependency)
chromiumoxide = { version = "0.8", features = ["tokio-runtime", "bytes", "_fetcher-native-tokio"], default-features = false }
chromiumoxide_cdp = { version = "0.8" }
chromiumoxide_types = { version = "0.8" }

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

# Error handling
thiserror = "2"
anyhow = "1"

# Logging
log = "0.4"
env_logger = "0.11"
tracing = "0.1"
tracing-subscriber = "0.3"

# HTTP client
reqwest = { version = "0.12", default-features = false, features = ["json", "stream", "rustls-tls"] }

# Utilities
dirs = "6"
parking_lot = "0.12"
once_cell = "1"
rand = "0.9"
hex = "0.4"              # For kromekover session seed generation
url = "2"            # For search URL manipulation
html2md = "0.2"          # HTML to markdown/text conversion for SPAs
uuid = { version = "1", features = ["v4", "serde"] }  # For generating unique session IDs
dashmap = "6"          # For concurrent session storage

# Time/date (required by deep_research.rs, agent/mod.rs)
chrono = { version = "0.4", features = ["serde"] }

# URL encoding (required by deep_research.rs:77)
urlencoding = { version = "2" }

# YAML config parsing
serde_yaml = "0.9"


[features]
default = []
server = []

[dev-dependencies]
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
cyrup_termcolor = "2"
chrono = { version = "0.4", features = ["serde"] }
http = "1"
const_format = "0.2"

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