[package]
edition = "2024"
name = "steer-core"
version = "0.10.1"
authors = ["Brendan Graham <brendanigraham@gmail.com>"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Core logic for Steer."
readme = false
license = "AGPL-3.0-or-later"
repository = "https://github.com/BrendanGraham14/steer"
[features]
default = []
test-utils = []
[lib]
name = "steer_core"
path = "src/lib.rs"
[[test]]
name = "api_test"
path = "tests/api_test.rs"
[[test]]
name = "custom_provider_test"
path = "tests/custom_provider_test.rs"
[[test]]
name = "provider"
path = "tests/provider.rs"
[dependencies.aes-gcm]
version = "0.10.3"
[dependencies.async-stream]
version = "0.3.5"
[dependencies.async-trait]
version = "0.1.88"
[dependencies.axum]
version = "0.8"
[dependencies.base64]
version = "0.22.1"
[dependencies.bitflags]
version = "2.10.0"
features = ["serde"]
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.colored]
version = "2.0"
[dependencies.directories]
version = "6.0.0"
[dependencies.dirs]
version = "5.0"
[dependencies.dotenvy]
version = "0.15"
[dependencies.eventsource-stream]
version = "0.2"
[dependencies.futures]
version = "0.3"
[dependencies.futures-core]
version = "0.3"
[dependencies.futures-util]
version = "0.3"
[dependencies.fuzzy-matcher]
version = "0.3.7"
[dependencies.gethostname]
version = "0.5"
[dependencies.glob]
version = "0.3"
[dependencies.globset]
version = "0.4.16"
[dependencies.hex]
version = "0.4"
[dependencies.hkdf]
version = "0.12.4"
[dependencies.home]
version = "0.5"
[dependencies.hyper]
version = "1.6.0"
features = ["full"]
[dependencies.hyper-util]
version = "0.1.14"
features = [
"server",
"server-auto",
"tokio",
]
[dependencies.ignore]
version = "0.4"
[dependencies.jsonschema]
version = "0.17"
[dependencies.keyring]
version = "3.6.2"
features = [
"apple-native",
"linux-native",
"windows-native",
]
[dependencies.lazy_static]
version = "1.5.0"
[dependencies.lru]
version = "0.16.2"
[dependencies.nix]
version = "0.30.1"
features = ["signal"]
[dependencies.once_cell]
version = "1.21.3"
[dependencies.open]
version = "5.3.2"
[dependencies.prost]
version = "0.13"
[dependencies.prost-types]
version = "0.13"
[dependencies.rand]
version = "0.8"
[dependencies.regex]
version = "1.9"
[dependencies.reqwest]
version = "0.12"
features = [
"json",
"stream",
"rustls-tls",
]
default-features = false
[dependencies.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",
]
[dependencies.schemars]
version = "1.0"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.serde_repr]
version = "0.1"
[dependencies.serde_urlencoded]
version = "0.7.1"
[dependencies.sha2]
version = "0.10.9"
[dependencies.shell-words]
version = "1.1.0"
[dependencies.similar]
version = "2.5.0"
features = ["inline"]
[dependencies.sqlx]
version = "0.8.6"
features = [
"runtime-tokio-rustls",
"sqlite",
"chrono",
"uuid",
"json",
"migrate",
]
[dependencies.steer-auth-anthropic]
version = "0.10.1"
[dependencies.steer-auth-openai]
version = "0.10.1"
[dependencies.steer-auth-plugin]
version = "0.10.1"
[dependencies.steer-proto]
version = "0.10.1"
[dependencies.steer-tools]
version = "0.10.1"
[dependencies.steer-workspace]
version = "0.10.1"
features = ["schema"]
[dependencies.steer-workspace-client]
version = "0.10.1"
[dependencies.strum]
version = "0.27.1"
features = [
"derive",
"strum_macros",
]
[dependencies.strum_macros]
version = "0.27.1"
[dependencies.textwrap]
version = "0.16"
[dependencies.thiserror]
version = "1.0"
[dependencies.tokio]
version = "1"
features = ["full"]
[dependencies.tokio-stream]
version = "0.1"
[dependencies.tokio-util]
version = "0.7.14"
features = ["full"]
[dependencies.toml]
version = "0.9.0"
[dependencies.tonic]
version = "0.12"
[dependencies.tracing]
version = "0.1.41"
[dependencies.tracing-appender]
version = "0.2.3"
[dependencies.tracing-subscriber]
version = "0.3.19"
features = [
"std",
"fmt",
"env-filter",
]
[dependencies.url]
version = "2.5"
features = ["serde"]
[dependencies.uuid]
version = "1.17.0"
features = [
"serde",
"v4",
"v7",
]
[dependencies.whoami]
version = "1.6.0"
[dependencies.zeroize]
version = "1.8.1"
[dev-dependencies.proptest]
version = "1.9.0"
[dev-dependencies.rstest]
version = "0.26.1"
[dev-dependencies.tempfile]
version = "3.20.0"
[build-dependencies.serde]
version = "1.0"
features = ["derive"]
[build-dependencies.toml]
version = "0.9.0"
[lints.clippy]
allow_attributes = "deny"
case_sensitive_file_extension_comparisons = "allow"
cast_possible_truncation = "allow"
cast_possible_wrap = "allow"
cast_precision_loss = "allow"
cast_sign_loss = "allow"
dbg_macro = "deny"
default_trait_access = "allow"
doc_markdown = "allow"
expect_used = "deny"
fn_params_excessive_bools = "allow"
format_push_string = "allow"
items_after_statements = "allow"
manual_let_else = "allow"
match_same_arms = "allow"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
must_use_candidate = "allow"
needless_pass_by_value = "allow"
no_effect_underscore_binding = "allow"
panic = "deny"
print_stderr = "deny"
print_stdout = "deny"
redundant_closure_for_method_calls = "allow"
ref_option = "allow"
ref_option_ref = "allow"
result_large_err = "allow"
return_self_not_must_use = "allow"
similar_names = "allow"
struct_excessive_bools = "allow"
todo = "deny"
too_many_lines = "allow"
trivially_copy_pass_by_ref = "allow"
unimplemented = "deny"
uninlined_format_args = "allow"
unnecessary_wraps = "allow"
unused_async = "allow"
unwrap_used = "deny"
used_underscore_binding = "allow"
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
unsafe_code = "deny"
unused_must_use = "deny"