[package]
name = "steer-core"
version.workspace = true
edition.workspace = true
description = "Core logic for Steer."
license.workspace = true
authors.workspace = true
repository.workspace = true
[lints]
workspace = true
[dependencies]
reqwest = { version = "0.12", features = [
"json",
"stream",
"rustls-tls",
], default-features = false }
tokio = { version = "1", features = ["full"] }
async-stream = "0.3.5"
futures = "0.3"
futures-core = "0.3"
futures-util = "0.3"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde_repr = "0.1"
similar = { version = "2.5.0", features = ["inline"] }
thiserror = "1.0"
dirs = "5.0"
colored = "2.0"
home = "0.5"
chrono = { version = "0.4", features = ["serde"] }
dotenvy = "0.15"
hex = "0.4"
glob = "0.3"
regex = "1.9"
uuid = { version = "1.17.0", features = ["serde", "v4", "v7"] }
textwrap = "0.16"
tokio-util = { version = "0.7.14", features = ["full"] }
async-trait = "0.1.88"
tracing = "0.1.41"
once_cell = "1.21.3"
steer-proto.workspace = true
steer-auth-plugin.workspace = true
steer-auth-openai.workspace = true
steer-auth-anthropic.workspace = true
steer-tools.workspace = true
ignore = "0.4"
globset = "0.4.16"
rand = "0.8"
strum_macros = "0.27.1"
strum = { version = "0.27.1", features = ["derive", "strum_macros"] }
shell-words = "1.1.0"
tracing-subscriber = { version = "0.3.19", features = [
"std",
"fmt",
"env-filter",
] }
tracing-appender = "0.2.3"
rmcp = { version = "0.5", features = [
"client",
"server",
"transport-child-process",
"transport-io",
"transport-sse-client",
"transport-sse-server",
"transport-streamable-http-client",
"transport-streamable-http-server",
"transport-streamable-http-server-session",
"reqwest",
] }
axum = "0.8"
tonic = "0.12"
prost = "0.13"
prost-types = "0.13"
tokio-stream = "0.1"
gethostname = "0.5"
lazy_static = "1.5.0"
schemars = { version = "1.0" }
jsonschema = "0.17"
fuzzy-matcher = "0.3.7"
nix = { version = "0.30.1", features = ["signal"] }
sqlx = { version = "0.8.6", features = [
"runtime-tokio-rustls",
"sqlite",
"chrono",
"uuid",
"json",
"migrate",
] }
keyring = { version = "3.6.2", features = [
"apple-native",
"linux-native",
"windows-native",
] }
base64 = "0.22.1"
sha2 = "0.10.9"
open = "5.3.2"
aes-gcm = "0.10.3"
hkdf = "0.12.4"
hyper = { version = "1.6.0", features = ["full"] }
whoami = "1.6.0"
hyper-util = { version = "0.1.14", features = [
"server",
"server-auto",
"tokio",
] }
serde_urlencoded = "0.7.1"
url = { version = "2.5", features = ["serde"] }
zeroize = "1.8.1"
toml = "0.9.0"
steer-workspace = { workspace = true, features = ["schema"] }
steer-workspace-client.workspace = true
directories = "6.0.0"
lru = "0.16.2"
bitflags = { version = "2.10.0", features = ["serde"] }
eventsource-stream = "0.2"
[build-dependencies]
serde = { version = "1.0", features = ["derive"] }
toml = "0.9.0"
[features]
default = []
test-utils = []
[dev-dependencies]
proptest = "1.9.0"
rstest = "0.26.1"
tempfile = "3.20.0"