# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.94.0"
name = "stygian-browser"
version = "0.12.0"
authors = ["Nick Campbell <s0ma@protonmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Anti-detection browser automation library for Rust with CDP stealth features"
documentation = "https://greysquirr3l.github.io/stygian"
readme = "README.md"
keywords = [
    "browser",
    "automation",
    "scraping",
    "anti-detection",
    "cdp",
]
categories = [
    "web-programming",
    "development-tools",
]
license = "AGPL-3.0-only OR LicenseRef-Commercial"
repository = "https://github.com/greysquirr3l/stygian"
resolver = "2"

[features]
browserbase = ["dep:reqwest"]
default = ["stealth"]
extract = ["dep:stygian-extract-derive"]
full = [
    "stealth",
    "mcp",
    "metrics",
    "tls-config",
    "extract",
    "similarity",
    "browserbase",
]
mcp = ["dep:base64"]
mcp-attach = ["mcp"]
metrics = ["dep:prometheus-client"]
similarity = []
stealth = []
tls-config = [
    "stealth",
    "dep:rustls",
    "dep:webpki-roots",
    "dep:reqwest",
]

[lib]
name = "stygian_browser"
path = "src/lib.rs"

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

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

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

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

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

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

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

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

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

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

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

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

[[test]]
name = "crawllab"
path = "tests/crawllab.rs"

[[test]]
name = "detection"
path = "tests/detection.rs"

[[test]]
name = "integration"
path = "tests/integration.rs"

[[test]]
name = "mcp_integration"
path = "tests/mcp_integration.rs"

[[test]]
name = "ui"
path = "tests/ui.rs"

[dependencies.anyhow]
version = "1.0"

[dependencies.async-trait]
version = "0.1"

[dependencies.base64]
version = "0.22"
optional = true

[dependencies.chromiumoxide]
version = "=0.9.1"

[dependencies.futures]
version = "0.3"

[dependencies.parking_lot]
version = "0.12"

[dependencies.prometheus-client]
version = "0.24"
optional = true

[dependencies.reqwest]
version = "0.13"
features = [
    "rustls",
    "json",
    "cookies",
    "gzip",
    "brotli",
]
optional = true

[dependencies.rustls]
version = "0.23"
features = [
    "std",
    "tls12",
]
optional = true
default-features = false

[dependencies.serde]
version = "1.0"
features = [
    "derive",
    "derive",
]

[dependencies.serde_json]
version = "1.0"

[dependencies.stygian-extract-derive]
version = "0.12.0"
optional = true

[dependencies.thiserror]
version = "2.0"

[dependencies.tokio]
version = "1.49"
features = [
    "full",
    "full",
]

[dependencies.tracing]
version = "0.1"

[dependencies.ulid]
version = "1.2"

[dependencies.webpki-roots]
version = "0.26"
optional = true

[dev-dependencies.proptest]
version = "1.5"

[dev-dependencies.stygian-extract-derive]
version = "0.12.0"

[dev-dependencies.toml]
version = "1.0"

[dev-dependencies.tracing-subscriber]
version = "0.3"
features = [
    "env-filter",
    "json",
]

[dev-dependencies.trybuild]
version = "1"
