# 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 = "mold-ai"
version = "0.12.1"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Local AI image generation CLI — FLUX, SDXL, SD3.5, Z-Image diffusion models on your GPU"
readme = "README.md"
keywords = [
    "ai",
    "image-generation",
    "diffusion",
    "flux",
    "gpu",
]
categories = [
    "command-line-utilities",
    "multimedia::images",
    "science",
]
license = "MIT"
repository = "https://github.com/utensils/mold"

[features]
cuda = [
    "mold-server/cuda",
    "mold-inference/cuda",
    "mold-tui?/cuda",
]
default = []
discord = ["mold-discord"]
expand = [
    "mold-inference/expand",
    "mold-server/expand",
    "mold-tui?/expand",
]
flash-attn = ["mold-inference/flash-attn"]
metal = [
    "mold-server/metal",
    "mold-inference/metal",
    "mold-tui?/metal",
]
metrics = ["mold-server/metrics"]
mp4 = [
    "mold-inference/mp4",
    "mold-server/mp4",
]
preview = ["viuer"]
tui = ["dep:mold-tui"]
webp = ["mold-inference/webp"]

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

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

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

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

[dependencies.anyhow]
version = "1"

[dependencies.base64]
version = "0.22"

[dependencies.clap]
version = "4"
features = [
    "derive",
    "env",
    "unstable-ext",
]

[dependencies.clap_complete]
version = "4"
features = ["unstable-dynamic"]

[dependencies.colored]
version = "3"

[dependencies.ctrlc]
version = "3"

[dependencies.dirs]
version = "6"

[dependencies.flate2]
version = "1"

[dependencies.hostname]
version = "0.4"

[dependencies.image]
version = "0.25"

[dependencies.indicatif]
version = "0.17"

[dependencies.libc]
version = "0.2"

[dependencies.mold-catalog]
version = "0.12.1"
package = "mold-ai-catalog"

[dependencies.mold-core]
version = "0.12.1"
package = "mold-ai-core"

[dependencies.mold-db]
version = "0.12.1"
package = "mold-ai-db"

[dependencies.mold-discord]
version = "0.12.1"
optional = true
package = "mold-ai-discord"

[dependencies.mold-inference]
version = "0.12.1"
package = "mold-ai-inference"

[dependencies.mold-server]
version = "0.12.1"
package = "mold-ai-server"

[dependencies.mold-tui]
version = "0.12.1"
optional = true
package = "mold-ai-tui"

[dependencies.rand]
version = "0.8"

[dependencies.reqwest]
version = "0.12"
features = [
    "json",
    "rustls-tls",
    "stream",
]
default-features = false

[dependencies.rusqlite]
version = "0.31"
features = ["bundled"]

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

[dependencies.serde_json]
version = "1"

[dependencies.sha2]
version = "0.10"

[dependencies.sysinfo]
version = "0.34"

[dependencies.tar]
version = "0.4"

[dependencies.time]
version = "0.3"
features = [
    "formatting",
    "macros",
]

[dependencies.tokio]
version = "1"
features = ["full"]

[dependencies.toml]
version = "0.8"

[dependencies.tracing]
version = "0.1"

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

[dependencies.viuer]
version = "0.11"
optional = true

[dependencies.walkdir]
version = "2.5.0"

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

[dev-dependencies.filetime]
version = "0.2"

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

[dev-dependencies.rusqlite]
version = "0.31"
features = ["bundled"]

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

[dev-dependencies.tokio]
version = "1"
features = [
    "macros",
    "rt-multi-thread",
]

[dev-dependencies.wiremock]
version = "0.6"
