# 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 = "2021"
name = "mockforge-cli"
version = "0.3.105"
authors = ["SaaSy Solutions LLC <ray.clanan@saasysolutionsllc.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "CLI interface for MockForge"
homepage = "https://mockforge.dev"
documentation = "https://docs.rs/mockforge"
readme = "README.md"
keywords = [
    "mock",
    "api",
    "testing",
    "grpc",
    "websocket",
]
categories = [
    "development-tools",
    "api-bindings",
    "web-programming",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/SaaSy-Solutions/mockforge"

[features]
admin = ["dep:mockforge-ui"]
all-protocols = [
    "http",
    "mqtt",
    "ws",
    "grpc",
    "graphql",
    "ftp",
    "amqp",
    "kafka",
    "smtp",
    "tcp",
]
amqp = [
    "mockforge-amqp",
    "lapin",
    "futures-lite",
]
bench = ["dep:mockforge-bench"]
chaos = ["dep:mockforge-chaos"]
default = [
    "http",
    "admin",
    "bench",
    "chaos",
    "recorder",
    "scenarios",
    "tracing",
    "federation",
    "tunnel",
    "vbr",
]
federation = ["dep:mockforge-federation"]
ftp = ["mockforge-ftp"]
full = [
    "default",
    "all-protocols",
    "pipelines",
    "tui",
    "stt-all",
    "studio-packs",
]
graphql = ["mockforge-graphql"]
grpc = ["mockforge-grpc"]
http = [
    "mockforge-http",
    "mockforge-http/conformance",
]
kafka = [
    "mockforge-kafka",
    "rdkafka",
]
mqtt = [
    "mockforge-mqtt",
    "mockforge-http/mqtt",
    "rumqttc",
]
pipelines = ["dep:mockforge-pipelines"]
recorder = ["dep:mockforge-recorder"]
scenarios = ["dep:mockforge-scenarios"]
smtp = [
    "mockforge-smtp",
    "mockforge-http/smtp",
]
stt-all = [
    "stt-cloud",
    "stt-vosk",
]
stt-cloud = []
stt-vosk = [
    "vosk",
    "cpal",
    "hound",
]
studio-packs = ["mockforge-scenarios/studio-packs"]
tcp = ["mockforge-tcp"]
tracing = ["dep:mockforge-tracing"]
tui = ["dep:mockforge-tui"]
tunnel = ["dep:mockforge-tunnel"]
vbr = ["dep:mockforge-vbr"]
vue = []
ws = ["mockforge-ws"]

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

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

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

[dependencies.anyhow]
version = "1.0"

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

[dependencies.axum]
version = "0.8"
features = [
    "ws",
    "multipart",
]

[dependencies.base64]
version = "0.22"

[dependencies.chrono]
version = "0.4"
features = ["serde"]

[dependencies.clap]
version = "4"
features = [
    "derive",
    "std",
    "env",
]

[dependencies.clap_complete]
version = "4"

[dependencies.colored]
version = "2.2"

[dependencies.console]
version = "0.15"

[dependencies.cpal]
version = "0.15"
optional = true

[dependencies.dialoguer]
version = "0.11"

[dependencies.dirs]
version = "5.0"

[dependencies.futures-lite]
version = "2.0"
optional = true

[dependencies.hex]
version = "0.4"

[dependencies.hound]
version = "3.5"
optional = true

[dependencies.hyper]
version = "1.0"
features = ["full"]

[dependencies.indicatif]
version = "0.17"

[dependencies.jsonschema]
version = "0.33"

[dependencies.lapin]
version = "2.3"
optional = true

[dependencies.mockforge-amqp]
version = "0.3.70"
optional = true

[dependencies.mockforge-bench]
version = "0.3.70"
optional = true

[dependencies.mockforge-chaos]
version = "0.3.70"
optional = true

[dependencies.mockforge-core]
version = "0.3.70"
features = ["schema"]

[dependencies.mockforge-data]
version = "0.3.70"

[dependencies.mockforge-federation]
version = "0.3.70"
optional = true

[dependencies.mockforge-ftp]
version = "0.3.70"
optional = true

[dependencies.mockforge-graphql]
version = "0.3.70"
optional = true

[dependencies.mockforge-grpc]
version = "0.3.70"
optional = true

[dependencies.mockforge-http]
version = "0.3.70"
optional = true

[dependencies.mockforge-kafka]
version = "0.3.70"
optional = true

[dependencies.mockforge-mqtt]
version = "0.3.70"
optional = true

[dependencies.mockforge-observability]
version = "0.3.70"

[dependencies.mockforge-pipelines]
version = "0.3.70"
optional = true

[dependencies.mockforge-plugin-core]
version = "0.3.70"

[dependencies.mockforge-plugin-loader]
version = "0.3.70"

[dependencies.mockforge-recorder]
version = "0.3.70"
optional = true

[dependencies.mockforge-scenarios]
version = "0.3.70"
features = ["studio-packs"]
optional = true

[dependencies.mockforge-smtp]
version = "0.3.70"
optional = true

[dependencies.mockforge-tcp]
version = "0.3.70"
optional = true

[dependencies.mockforge-tracing]
version = "0.3.70"
optional = true

[dependencies.mockforge-tui]
version = "0.3.70"
optional = true

[dependencies.mockforge-tunnel]
version = "0.3.70"
optional = true

[dependencies.mockforge-ui]
version = "0.3.70"
optional = true

[dependencies.mockforge-vbr]
version = "0.3.70"
optional = true

[dependencies.mockforge-ws]
version = "0.3.70"
optional = true

[dependencies.openapiv3]
version = "2.0"

[dependencies.rdkafka]
version = "0.38"
optional = true

[dependencies.regex]
version = "1.10"

[dependencies.reqwest]
version = "0.12"
features = [
    "json",
    "rustls-tls",
    "multipart",
]

[dependencies.ring]
version = "0.17"

[dependencies.rumqttc]
version = "0.25"
optional = true

[dependencies.schemars]
version = "0.8"
features = ["derive"]

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

[dependencies.serde_json]
version = "1.0"

[dependencies.serde_yaml]
version = "0.9"

[dependencies.sqlx]
version = "0.8"
features = [
    "runtime-tokio-rustls",
    "postgres",
    "chrono",
    "uuid",
]

[dependencies.tempfile]
version = "3.8"

[dependencies.tokio]
version = "1.0"
features = [
    "rt-multi-thread",
    "macros",
    "net",
    "time",
    "sync",
    "fs",
    "signal",
]

[dependencies.tokio-util]
version = "0.7"

[dependencies.tracing]
version = "0.1"

[dependencies.tracing-opentelemetry]
version = "0.22"

[dependencies.tracing-subscriber]
version = "0.3"
features = ["fmt"]

[dependencies.url]
version = "2.5"

[dependencies.urlencoding]
version = "2.1"

[dependencies.uuid]
version = "1.0"
features = ["v4"]

[dependencies.vosk]
version = "0.3"
optional = true

[dependencies.zip]
version = "2.2"

[dev-dependencies.assert_cmd]
version = "2.0"

[dev-dependencies.predicates]
version = "3.0"

[dev-dependencies.tempfile]
version = "3.8"
