[package]
name = "goose-cli"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
description.workspace = true

[[bin]]
name = "goose"
path = "src/main.rs"

[dependencies]
goose = { path = "../goose" }
goose-mcp = { path = "../goose-mcp" }
mcp-client = { path = "../mcp-client" }
mcp-server = { path = "../mcp-server" }
mcp-core = { path = "../mcp-core" }
clap = { version = "4.4", features = ["derive"] }
cliclack = "0.3.5"
console = "0.15.8"
bat = "0.24.0"
anyhow = "1.0"
serde_json = "1.0"
tokio = { version = "1.0", features = ["full"] }
futures = "0.3"
serde = { version = "1.0", features = ["derive"] }  # For serialization
serde_yaml = "0.9"
dirs = "4.0"
reqwest = { version = "0.12.9", features = [
        "rustls-tls",
        "json",
        "cookies",
        "gzip",
        "brotli",
        "deflate",
        "zstd",
        "charset",
        "http2",
        "stream"
    ], default-features = false }
rand = "0.8.5"
rustyline = "15.0.0"
tracing = "0.1"
chrono = "0.4"
tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt", "json", "time"] }
tracing-appender = "0.2"

[dev-dependencies]
tempfile = "3"
temp-env = { version = "0.3.6", features = ["async_closure"] }
test-case = "3.3"
tokio = { version = "1.0", features = ["rt", "macros"] }