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

[build-dependencies]
tokio = { version = "1.36", features = ["full"] }
reqwest = { version = "0.12.9", features = ["json", "rustls-tls"], default-features = false }

[dependencies]
mcp-client = { path = "../mcp-client" }
mcp-core = { path = "../mcp-core" }
anyhow = "1.0"
thiserror = "1.0"
futures = "0.3"
reqwest = { version = "0.12.9", features = [
        "rustls-tls",
        "json",
        "cookies",
        "gzip",
        "brotli",
        "deflate",
        "zstd",
        "charset",
        "http2",
        "stream"
    ], default-features = false }
tokio = { version = "1.0", features = ["full"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde_urlencoded = "0.7"
uuid = { version = "1.0", features = ["v4"] }
regex = "1.11.1"
async-trait = "0.1"
async-stream = "0.3"
tera = "1.20.0"
tokenizers = "0.20.3"
include_dir = "0.7.4"
chrono = { version = "0.4.38", features = ["serde"] }
indoc = "2.0.5"
nanoid = "0.4"
sha2 = "0.10"
base64 = "0.21"
url = "2.5"
axum = "0.7"
webbrowser = "0.8"
dotenv = "0.15"
lazy_static = "1.5"
tracing = "0.1"
tracing-subscriber = "0.3"
wiremock = "0.6.0"
keyring = { version = "3.6.1", features = ["apple-native", "windows-native", "sync-secret-service"] }
ctor = "0.2.7"
paste = "1.0"
serde_yaml = "0.9.34"
once_cell = "1.20.2"
dirs = "6.0.0"
rand = "0.8.5"

[dev-dependencies]
criterion = "0.5"
tempfile = "3.15.0"
serial_test = "3.2.0"

[[example]]
name = "agent"
path = "examples/agent.rs"

[[example]]
name = "databricks_oauth"
path = "examples/databricks_oauth.rs"

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