[package]
authors = {workspace = true}
description = "Core library for Slumber. Not intended for external use."
edition = {workspace = true}
homepage = {workspace = true}
keywords = {workspace = true}
license = {workspace = true}
name = "slumber_core"
repository = {workspace = true}
rust-version = {workspace = true}
version = {workspace = true}

[dependencies]
async-trait = {workspace = true}
base64 = {workspace = true}
bytes = {workspace = true, features = ["serde"]}
chrono = {workspace = true, features = ["clock", "serde", "std"]}
derive_more = {workspace = true, features = ["debug", "deref", "deref_mut", "display", "from", "from_str", "into", "std"]}
dialoguer = {workspace = true}
futures = {workspace = true}
indexmap = {workspace = true, features = ["serde"]}
itertools = {workspace = true}
jaq-core = "2.2.1"
jaq-json = {version = "1.1.3", default-features = false, features = ["serde_json"]}
jaq-std = "2.1.2"
mime = {workspace = true}
regex = {workspace = true}
reqwest = {workspace = true, features = ["json", "form", "multipart", "query", "rustls", "stream"]}
rstest = {workspace = true, optional = true}
rusqlite = {version = "0.38.0", default-features = false, features = ["bundled", "chrono", "uuid"]}
rusqlite_migration = "2.4.0"
saphyr = {workspace = true}
schemars = {workspace = true, features = ["indexmap2"], optional = true}
serde = {workspace = true, features = ["derive"]}
serde_json = {workspace = true}
serde_json_path = {workspace = true}
serde_yaml = {workspace = true}
slumber_config = {workspace = true}
slumber_macros = {workspace = true}
slumber_template = {workspace = true}
slumber_util = {workspace = true}
strum = {workspace = true, features = ["derive"]}
thiserror = {workspace = true}
tokio = {workspace = true, features = ["fs", "process"]}
tokio-util = {workspace = true, features = ["io"]}
tracing = {workspace = true}
url = {workspace = true, features = ["serde"]}
uuid = {workspace = true, features = ["serde", "v4"]}
winnow = {workspace = true}

[dev-dependencies]
env-lock = {workspace = true}
pretty_assertions = {workspace = true}
proptest = {workspace = true}
proptest-derive = {workspace = true}
rstest = {workspace = true}
serde_test = {workspace = true}
slumber_template = {workspace = true, features = ["test"]}
slumber_util = {workspace = true, features = ["test"]}
wiremock = {workspace = true}

[features]
schema = ["dep:schemars", "slumber_template/schema", "test"]
test = ["dep:rstest", "slumber_template/test", "slumber_util/test"]

[lints]
workspace = true

[package.metadata.release]
tag = false
