chore: reduce duplicate or unused cargo deps (#6630)

Signed-off-by: Adrian Cole <adrian@tetrate.io>
This commit is contained in:
Adrian Cole 2026-01-23 16:27:33 +09:00 committed by GitHub
parent e78a1e7d4e
commit 0602dc7ced
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 63 additions and 316 deletions

247
Cargo.lock generated
View file

@ -95,12 +95,6 @@ dependencies = [
"libc",
]
[[package]]
name = "anes"
version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
[[package]]
name = "ansi_colours"
version = "1.2.3"
@ -564,7 +558,7 @@ dependencies = [
"pin-project-lite",
"rustls 0.21.12",
"rustls 0.23.31",
"rustls-native-certs 0.8.3",
"rustls-native-certs",
"rustls-pki-types",
"tokio",
"tokio-rustls 0.26.4",
@ -1192,7 +1186,7 @@ checksum = "f280f65ce85b880919349bbfcb204930291251eedcb2e5f84ce2f51df969c162"
dependencies = [
"git-version",
"shell-escape",
"sysinfo 0.33.1",
"sysinfo",
]
[[package]]
@ -1281,12 +1275,6 @@ dependencies = [
"pkg-config",
]
[[package]]
name = "cast"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
[[package]]
name = "cbc"
version = "0.1.2"
@ -1359,33 +1347,6 @@ dependencies = [
"windows-link 0.2.1",
]
[[package]]
name = "ciborium"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e"
dependencies = [
"ciborium-io",
"ciborium-ll",
"serde",
]
[[package]]
name = "ciborium-io"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757"
[[package]]
name = "ciborium-ll"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9"
dependencies = [
"ciborium-io",
"half",
]
[[package]]
name = "cipher"
version = "0.4.4"
@ -1775,42 +1736,6 @@ dependencies = [
"cfg-if",
]
[[package]]
name = "criterion"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f"
dependencies = [
"anes",
"cast",
"ciborium",
"clap",
"criterion-plot",
"is-terminal",
"itertools 0.10.5",
"num-traits",
"once_cell",
"oorandom",
"plotters",
"rayon",
"regex",
"serde",
"serde_derive",
"serde_json",
"tinytemplate",
"walkdir",
]
[[package]]
name = "criterion-plot"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1"
dependencies = [
"cast",
"itertools 0.10.5",
]
[[package]]
name = "croner"
version = "2.2.0"
@ -2973,7 +2898,6 @@ dependencies = [
name = "goose"
version = "1.21.0"
dependencies = [
"agent-client-protocol-schema",
"ahash",
"anyhow",
"async-stream",
@ -2983,12 +2907,11 @@ dependencies = [
"aws-sdk-sagemakerruntime",
"aws-smithy-types",
"axum 0.8.8",
"base64 0.21.7",
"base64 0.22.1",
"blake3",
"boa_engine",
"chrono",
"clap",
"criterion",
"ctor",
"dashmap",
"dirs 5.0.1",
@ -3032,7 +2955,6 @@ dependencies = [
"shellexpand",
"sqlx",
"sys-info",
"temp-env",
"tempfile",
"test-case",
"thiserror 1.0.69",
@ -3076,7 +2998,6 @@ dependencies = [
"test-case",
"tokio",
"tokio-util",
"tower-http 0.6.8",
"tracing",
"url",
"wiremock",
@ -3137,15 +3058,12 @@ dependencies = [
"serde",
"serde_json",
"serde_yaml",
"serial_test",
"shlex",
"tar",
"temp-env",
"tempfile",
"test-case",
"tokio",
"tokio-util",
"tower-http 0.5.2",
"tower-http",
"tracing",
"tracing-appender",
"tracing-subscriber",
@ -3160,9 +3078,8 @@ name = "goose-mcp"
version = "1.21.0"
dependencies = [
"anyhow",
"base64 0.21.7",
"base64 0.22.1",
"chrono",
"colored",
"devgen-tree-sitter-swift",
"docx-rs",
"etcetera 0.11.0",
@ -3177,15 +3094,13 @@ dependencies = [
"once_cell",
"rayon",
"regex",
"reqwest 0.11.27",
"reqwest 0.12.28",
"rmcp 0.13.0",
"schemars",
"serde",
"serde_json",
"serial_test",
"shellexpand",
"sysinfo 0.32.1",
"temp-env",
"tempfile",
"tokio",
"tokio-stream",
@ -3203,7 +3118,6 @@ dependencies = [
"tree-sitter-rust",
"umya-spreadsheet",
"url",
"utoipa",
"which 8.0.0",
"xcap",
]
@ -3213,9 +3127,8 @@ name = "goose-server"
version = "1.21.0"
dependencies = [
"anyhow",
"async-trait",
"axum 0.8.8",
"base64 0.21.7",
"base64 0.22.1",
"bytes",
"chrono",
"clap",
@ -3236,14 +3149,13 @@ dependencies = [
"serde_path_to_error",
"serde_yaml",
"socket2 0.6.1",
"tempfile",
"thiserror 1.0.69",
"tokio",
"tokio-stream",
"tokio-tungstenite",
"tokio-util",
"tower 0.5.2",
"tower-http 0.5.2",
"tower-http",
"tracing",
"tracing-appender",
"tracing-subscriber",
@ -3584,7 +3496,7 @@ dependencies = [
"hyper 1.8.1",
"hyper-util",
"rustls 0.23.31",
"rustls-native-certs 0.8.3",
"rustls-native-certs",
"rustls-pki-types",
"tokio",
"tokio-rustls 0.26.4",
@ -3941,17 +3853,6 @@ dependencies = [
"once_cell",
]
[[package]]
name = "is-terminal"
version = "0.4.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3640c1c38b8e4e43584d8df18be5fc6b0aa314ce6ebf51b53313d4306cca8e46"
dependencies = [
"hermit-abi",
"libc",
"windows-sys 0.61.2",
]
[[package]]
name = "is-wsl"
version = "0.4.0"
@ -3968,15 +3869,6 @@ version = "1.70.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695"
[[package]]
name = "itertools"
version = "0.10.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
dependencies = [
"either",
]
[[package]]
name = "itertools"
version = "0.12.1"
@ -5108,12 +5000,6 @@ dependencies = [
"pkg-config",
]
[[package]]
name = "oorandom"
version = "11.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e"
[[package]]
name = "open"
version = "5.3.3"
@ -5151,12 +5037,6 @@ dependencies = [
"syn 2.0.111",
]
[[package]]
name = "openssl-probe"
version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e"
[[package]]
name = "openssl-probe"
version = "0.2.0"
@ -5561,34 +5441,6 @@ dependencies = [
"time",
]
[[package]]
name = "plotters"
version = "0.3.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5aeb6f403d7a4911efb1e33402027fc44f29b5bf6def3effcc22d7bb75f2b747"
dependencies = [
"num-traits",
"plotters-backend",
"plotters-svg",
"wasm-bindgen",
"web-sys",
]
[[package]]
name = "plotters-backend"
version = "0.3.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "df42e13c12958a16b3f7f4386b9ab1f3e7933914ecea48da7139435263a4172a"
[[package]]
name = "plotters-svg"
version = "0.3.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "51bae2ac328883f7acdfea3d66a7c35751187f870bc81f94563733a154d7a670"
dependencies = [
"plotters-backend",
]
[[package]]
name = "png"
version = "0.17.16"
@ -6154,7 +6006,6 @@ dependencies = [
"percent-encoding",
"pin-project-lite",
"rustls 0.21.12",
"rustls-native-certs 0.6.3",
"rustls-pemfile",
"serde",
"serde_json",
@ -6201,7 +6052,7 @@ dependencies = [
"pin-project-lite",
"quinn",
"rustls 0.23.31",
"rustls-native-certs 0.8.3",
"rustls-native-certs",
"rustls-pki-types",
"serde",
"serde_json",
@ -6211,7 +6062,7 @@ dependencies = [
"tokio-rustls 0.26.4",
"tokio-util",
"tower 0.5.2",
"tower-http 0.6.8",
"tower-http",
"tower-service",
"url",
"wasm-bindgen",
@ -6456,25 +6307,13 @@ dependencies = [
"zeroize",
]
[[package]]
name = "rustls-native-certs"
version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00"
dependencies = [
"openssl-probe 0.1.6",
"rustls-pemfile",
"schannel",
"security-framework 2.11.1",
]
[[package]]
name = "rustls-native-certs"
version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "612460d5f7bea540c490b2b6395d8e34a953e52b491accd6c86c8164c5932a63"
dependencies = [
"openssl-probe 0.2.0",
"openssl-probe",
"rustls-pki-types",
"schannel",
"security-framework 3.5.1",
@ -7456,20 +7295,6 @@ dependencies = [
"libc",
]
[[package]]
name = "sysinfo"
version = "0.32.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4c33cd241af0f2e9e3b5c32163b873b29956890b5342e6745b917ce9d490f4af"
dependencies = [
"core-foundation-sys",
"libc",
"memchr",
"ntapi",
"rayon",
"windows 0.57.0",
]
[[package]]
name = "sysinfo"
version = "0.33.1"
@ -7528,16 +7353,6 @@ dependencies = [
"xattr",
]
[[package]]
name = "temp-env"
version = "0.3.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "96374855068f47402c3121c6eed88d29cb1de8f3ab27090e273e420bdabcf050"
dependencies = [
"futures",
"parking_lot",
]
[[package]]
name = "tempfile"
version = "3.24.0"
@ -7788,16 +7603,6 @@ dependencies = [
"zerovec",
]
[[package]]
name = "tinytemplate"
version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc"
dependencies = [
"serde",
"serde_json",
]
[[package]]
name = "tinyvec"
version = "1.10.0"
@ -7896,7 +7701,7 @@ dependencies = [
"futures-util",
"log",
"rustls 0.23.31",
"rustls-native-certs 0.8.3",
"rustls-native-certs",
"rustls-pki-types",
"tokio",
"tokio-rustls 0.26.4",
@ -8069,32 +7874,6 @@ dependencies = [
"tracing",
]
[[package]]
name = "tower-http"
version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e9cd434a998747dd2c4276bc96ee2e0c7a2eadf3cae88e52be55a05fa9053f5"
dependencies = [
"base64 0.21.7",
"bitflags 2.10.0",
"bytes",
"futures-util",
"http 1.4.0",
"http-body 1.0.1",
"http-body-util",
"http-range-header",
"httpdate",
"mime",
"mime_guess",
"percent-encoding",
"pin-project-lite",
"tokio",
"tokio-util",
"tower-layer",
"tower-service",
"tracing",
]
[[package]]
name = "tower-http"
version = "0.6.8"

View file

@ -30,3 +30,9 @@ crunchy = "0.2.4"
env-lock = "1.0.1"
wiremock = "0.6"
serial_test = "3.2.0"
test-case = "3.3.1"
base64 = "0.22.1"
reqwest = { version = "0.12.28", default-features = false }
tower = "0.5.2"
tower-http = "0.6.8"
url = "2.5.8"

View file

@ -18,17 +18,16 @@ anyhow = { workspace = true }
tokio = { workspace = true }
tokio-util = { version = "0.7.15", features = ["compat", "rt"] }
tracing = { workspace = true }
url = "2.5"
serde_json = { workspace = true }
futures = { workspace = true }
regex = { workspace = true }
fs-err = "3"
url = { workspace = true }
[dev-dependencies]
assert-json-diff = "2.0.2"
wiremock = { workspace = true }
tempfile = "3"
test-case = "3.3"
test-case = { workspace = true }
axum = "0.8"
tower-http = { version = "0.6", features = ["cors", "fs", "auth"] }
rmcp = { workspace = true, features = ["transport-streamable-http-server"] }

View file

@ -42,12 +42,12 @@ tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt", "json",
tracing-appender = "0.2"
shlex = "1.3.0"
async-trait = "0.1.89"
base64 = "0.22.1"
base64 = { workspace = true }
regex = "1.11.1"
tar = "0.4"
# Web server dependencies
axum = { version = "0.8.1", features = ["ws", "macros"] }
tower-http = { version = "0.5", features = ["cors", "fs", "auth"] }
tower-http = { workspace = true, features = ["cors", "fs", "auth"] }
http = "1.0"
webbrowser = {workspace = true}
indicatif = "0.18.1"
@ -66,7 +66,4 @@ disable-update = []
[dev-dependencies]
tempfile = "3"
temp-env = { version = "0.3.6", features = ["async_closure"] }
test-case = "3.3"
tokio = { workspace = true }
serial_test = { workspace = true }

View file

@ -18,18 +18,15 @@ tokio-stream = { version = "0.1", features = ["io-util"] }
tracing = { workspace = true }
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
tracing-appender = "0.2"
url = "2.5"
base64 = "0.21"
url = { workspace = true }
base64 = { workspace = true }
serde = { version = "1.0", features = ["derive"] }
serde_json = { workspace = true }
schemars = "1.0"
shellexpand = "3.1.0"
indoc = "2.0.5"
xcap = "=0.4.0"
reqwest = { version = "0.11", features = [
"json",
"rustls-tls-native-roots",
], default-features = false }
reqwest = { workspace = true, features = ["json", "rustls-tls-native-roots"], default-features = false }
chrono = { version = "0.4.38", features = ["serde"] }
etcetera = { workspace = true }
tempfile = "3.8"
@ -41,7 +38,6 @@ lopdf = "0.36.0"
docx-rs = "0.4.7"
image = "0.24.9"
umya-spreadsheet = "2.2.3"
utoipa = { version = "4.1", optional = true }
which = {workspace = true}
lru = "0.16"
tree-sitter = "0.21"
@ -62,10 +58,6 @@ mpatch = "=0.2.0"
tokio-util = "0.7.16"
[dev-dependencies]
sysinfo = "0.32.1"
temp-env = "0.3.6"
colored = "2"
serial_test = { workspace = true }
[features]
utoipa = ["dep:utoipa"]

View file

@ -17,7 +17,7 @@ rmcp = { workspace = true }
axum = { version = "0.8.1", features = ["ws", "macros"] }
tokio = { workspace = true }
chrono = "0.4"
tower-http = { version = "0.5", features = ["cors"] }
tower-http = { workspace = true, features = ["cors"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = { workspace = true, features = ["preserve_order"] }
futures = { workspace = true }
@ -28,17 +28,17 @@ tokio-stream = "0.1"
anyhow = { workspace = true }
bytes = "1.5"
http = "1.0"
base64 = "0.21"
base64 = { workspace = true }
config = { version = "0.15.13", features = ["toml"] }
thiserror = "1.0"
clap = { version = "4.4", features = ["derive"] }
serde_yaml = "0.9.34"
utoipa = { version = "4.1", features = ["axum_extras", "chrono"] }
reqwest = { version = "0.12.9", features = ["json", "rustls-tls", "blocking", "multipart"], default-features = false }
reqwest = { workspace = true, features = ["json", "rustls-tls", "blocking", "multipart"], default-features = false }
tokio-util = "0.7.15"
serde_path_to_error = "0.1.20"
tokio-tungstenite = { version = "0.28.0", features = ["rustls-tls-native-roots"] }
url = "2.5.7"
url = { workspace = true }
rand = "0.9.2"
hex = "0.4.3"
socket2 = "0.6.1"
@ -58,8 +58,6 @@ name = "generate_schema"
path = "src/bin/generate_schema.rs"
[dev-dependencies]
tower = "0.5"
async-trait = "0.1.89"
tempfile = "3.15.0"
tower = { workspace = true }
env-lock = { workspace = true }
wiremock = { workspace = true }

View file

@ -12,7 +12,7 @@ workspace = true
[build-dependencies]
tokio = { workspace = true }
reqwest = { version = "0.12.9", features = ["json", "rustls-tls-native-roots"], default-features = false }
reqwest = { workspace = true, features = ["json", "rustls-tls-native-roots"], default-features = false }
[dependencies]
lru = "0.16"
@ -27,19 +27,7 @@ anyhow = { workspace = true }
thiserror = "1.0"
futures = { workspace = true }
dirs = "5.0"
reqwest = { version = "0.12.9", features = [
"rustls-tls-native-roots",
"json",
"cookies",
"gzip",
"brotli",
"deflate",
"zstd",
"charset",
"http2",
"stream",
"blocking"
], default-features = false }
reqwest = { workspace = true, features = ["rustls-tls-native-roots", "json", "cookies", "gzip", "brotli", "deflate", "zstd", "charset", "http2", "stream", "blocking"], default-features = false }
tokio = { workspace = true }
serde = { version = "1.0", features = ["derive"] }
serde_json = { workspace = true }
@ -57,8 +45,8 @@ clap = { version = "4.4", features = ["derive"] }
indoc = "2.0.5"
nanoid = "0.4"
sha2 = "0.10"
base64 = "0.21"
url = "2.5"
base64 = { workspace = true }
url = { workspace = true }
axum = "0.8.1"
webbrowser = {workspace = true}
lazy_static = "1.5.0"
@ -118,17 +106,14 @@ unbinder = "0.1.7"
winapi = { version = "0.3", features = ["wincred"] }
[dev-dependencies]
agent-client-protocol-schema = "0.10.5"
criterion = "0.5"
serial_test = { workspace = true }
mockall = "0.13.1"
wiremock = { workspace = true }
tokio = { workspace = true }
tokio-util = { version = "0.7.15", features = ["compat"] }
temp-env = "0.3.6"
dotenvy = "0.15.7"
ctor = "0.2.9"
test-case = "3.3"
test-case = { workspace = true }
env-lock = { workspace = true }
rmcp = { workspace = true, features = ["transport-streamable-http-server"] }

View file

@ -1630,55 +1630,46 @@ mod tests {
#[test]
fn get_secrets_primary_from_env_uses_env_for_secondary() {
temp_env::with_vars(
[
("TEST_PRIMARY", Some("primary_env")),
("TEST_SECONDARY", Some("secondary_env")),
],
|| {
let config = new_test_config();
let secrets = config
.get_secrets("TEST_PRIMARY", &["TEST_SECONDARY"])
.unwrap();
let _guard = env_lock::lock_env([
("TEST_PRIMARY", Some("primary_env")),
("TEST_SECONDARY", Some("secondary_env")),
]);
let config = new_test_config();
let secrets = config
.get_secrets("TEST_PRIMARY", &["TEST_SECONDARY"])
.unwrap();
assert_eq!(secrets["TEST_PRIMARY"], "primary_env");
assert_eq!(secrets["TEST_SECONDARY"], "secondary_env");
},
);
assert_eq!(secrets["TEST_PRIMARY"], "primary_env");
assert_eq!(secrets["TEST_SECONDARY"], "secondary_env");
}
#[test]
fn get_secrets_primary_from_secret_uses_secret_for_secondary() {
temp_env::with_vars(
[("TEST_PRIMARY", None::<&str>), ("TEST_SECONDARY", None)],
|| {
let config = new_test_config();
config
.set_secret("TEST_PRIMARY", &"primary_secret")
.unwrap();
config
.set_secret("TEST_SECONDARY", &"secondary_secret")
.unwrap();
let _guard = env_lock::lock_env([("TEST_PRIMARY", None::<&str>), ("TEST_SECONDARY", None)]);
let config = new_test_config();
config
.set_secret("TEST_PRIMARY", &"primary_secret")
.unwrap();
config
.set_secret("TEST_SECONDARY", &"secondary_secret")
.unwrap();
let secrets = config
.get_secrets("TEST_PRIMARY", &["TEST_SECONDARY"])
.unwrap();
let secrets = config
.get_secrets("TEST_PRIMARY", &["TEST_SECONDARY"])
.unwrap();
assert_eq!(secrets["TEST_PRIMARY"], "primary_secret");
assert_eq!(secrets["TEST_SECONDARY"], "secondary_secret");
},
);
assert_eq!(secrets["TEST_PRIMARY"], "primary_secret");
assert_eq!(secrets["TEST_SECONDARY"], "secondary_secret");
}
#[test]
fn get_secrets_primary_missing_returns_error() {
temp_env::with_vars([("TEST_PRIMARY", None::<&str>)], || {
let config = new_test_config();
let _guard = env_lock::lock_env([("TEST_PRIMARY", None::<&str>)]);
let config = new_test_config();
let result = config.get_secrets("TEST_PRIMARY", &[]);
let result = config.get_secrets("TEST_PRIMARY", &[]);
assert!(matches!(result, Err(ConfigError::NotFound(_))));
});
assert!(matches!(result, Err(ConfigError::NotFound(_))));
}
fn new_test_config() -> Config {