[workspace]
resolver = "2"
members = [
"binaries/statespace-cli",
"crates/statespace-server",
"crates/statespace-tool-runtime",
]
[workspace.package]
version = "0.1.4"
edition = "2024"
rust-version = "1.85"
authors = ["Statespace Authors"]
license = "MIT"
repository = "https://github.com/statespace-tech/statespace"
[workspace.metadata.release]
shared-version = true
tag-name = "v{{version}}"
pre-release-commit-message = "chore: release v{{version}}"
allow-branch = ["main"]
[workspace.dependencies]
statespace-tool-runtime = { path = "crates/statespace-tool-runtime", version = "0.1.4" }
statespace-server = { path = "crates/statespace-server", version = "0.1.4" }
axum = "0.8"
tokio = { version = "1", features = ["full"] }
tower = "0.5"
tower-http = { version = "0.6", features = ["cors", "trace"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
serde_yaml = "0.9"
toml = "0.8"
futures = "0.3"
async-trait = "0.1"
clap = { version = "4", features = ["derive", "env"] }
dirs = "5"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
thiserror = "2"
anyhow = "1"
reqwest = { version = "0.12", default-features = false, features = ["rustls-tls", "json"] }
glob = "0.3"
regex = "1"
chrono = { version = "0.4", features = ["serde"] }
base64 = "0.22"
[workspace.lints.rust]
unsafe_code = "forbid"
missing_debug_implementations = "warn"
rust_2018_idioms = { level = "warn", priority = -1 }
unreachable_pub = "warn"
[workspace.lints.clippy]
all = { level = "warn", priority = -1 }
pedantic = { level = "warn", priority = -1 }
unwrap_used = "deny"
expect_used = "deny"
panic = "deny"
dbg_macro = "deny"
missing_panics_doc = "warn"
missing_errors_doc = "warn"
enum_variant_names = "warn"
large_enum_variant = "warn"
map_err_ignore = "warn"
module_name_repetitions = "allow"
must_use_candidate = "allow"
missing_docs_in_private_items = "allow"
doc_markdown = "allow"
[profile.release]
lto = true
codegen-units = 1
strip = true
# The profile that 'dist' will build with
[profile.dist]
inherits = "release"
lto = "thin"