Drop the dependency edges with no production use

Each edge was checked with rg over the crate's sources outside its
test paths. fabro-cli keeps git2, regex, ulid, and shlex as
dev-dependencies for its integration tests. fabro-automation keeps
chrono, tokio, and tracing: its migrations compile into the crate
through #[path]. petri_testkit was already optional behind fabro-petri's
test-support feature and dual-listed as a dev-dependency. The workspace
loses the agent-client-protocol and AWS entries no crate references;
jsonschema stays for the fabro-api and fabro-tool tests. Cargo.lock
was refreshed by a plain build and only loses entries.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
Bryan Helmkamp 2026-09-19 09:33:31 -04:00
parent 05a14a6c9b
commit 51138cda57
No known key found for this signature in database
9 changed files with 4 additions and 195 deletions

130
Cargo.lock generated
View file

@ -182,45 +182,6 @@ version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7d902e3d592a523def97af8f317b08ce16b7ab854c1985a0c671e6f15cebc236"
[[package]]
name = "asn1-rs"
version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5493c3bedbacf7fd7382c6346bbd66687d12bbaad3a89a2d2c303ee6cf20b048"
dependencies = [
"asn1-rs-derive",
"asn1-rs-impl",
"displaydoc",
"nom",
"num-traits",
"rusticata-macros",
"thiserror 1.0.69",
"time",
]
[[package]]
name = "asn1-rs-derive"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490"
dependencies = [
"proc-macro2",
"quote",
"syn",
"synstructure",
]
[[package]]
name = "asn1-rs-impl"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "assert-json-diff"
version = "2.0.2"
@ -1737,20 +1698,6 @@ dependencies = [
"uuid",
]
[[package]]
name = "der-parser"
version = "9.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5cd0a5c643689626bec213c4d8bd4d96acc8ffdb4ad4bb6bc16abf27d5f4b553"
dependencies = [
"asn1-rs",
"displaydoc",
"nom",
"num-bigint",
"num-traits",
"rusticata-macros",
]
[[package]]
name = "deranged"
version = "0.5.8"
@ -2143,11 +2090,9 @@ dependencies = [
"core-foundation 0.9.4",
"dialoguer",
"dirs",
"dotenvy",
"fabro-api",
"fabro-auth",
"fabro-build-support",
"fabro-checkpoint",
"fabro-client",
"fabro-config",
"fabro-db",
@ -2171,14 +2116,12 @@ dependencies = [
"fabro-static",
"fabro-store",
"fabro-telemetry",
"fabro-template",
"fabro-test",
"fabro-tool",
"fabro-types",
"fabro-util",
"fabro-vault",
"fabro-workflow",
"fs2",
"futures",
"git2",
"hkdf 0.12.4",
@ -2193,18 +2136,15 @@ dependencies = [
"object_store",
"openssl",
"paste",
"pebble-agent",
"pebble-cli-core",
"pebble-coding-agent",
"predicates",
"progenitor-client",
"rand 0.9.4",
"regex",
"reqwest 0.13.4",
"ring",
"rmcp",
"rustls",
"sandbox-driver",
"scopeguard",
"semver",
"serde",
@ -2225,7 +2165,6 @@ dependencies = [
"tracing-subscriber",
"ulid",
"walkdir",
"x509-parser",
]
[[package]]
@ -2408,7 +2347,6 @@ name = "fabro-install"
version = "0.361.0-nightly.0"
dependencies = [
"anyhow",
"base64",
"fabro-config",
"fabro-db",
"fabro-environment",
@ -2416,7 +2354,6 @@ dependencies = [
"fabro-types",
"fabro-util",
"fabro-vault",
"ring",
"tempfile",
"tokio",
"toml 0.8.23",
@ -2438,7 +2375,6 @@ dependencies = [
name = "fabro-llm"
version = "0.361.0-nightly.0"
dependencies = [
"anyhow",
"async-trait",
"bytes",
"fabro-auth",
@ -2446,7 +2382,6 @@ dependencies = [
"fabro-http",
"fabro-llm",
"fabro-macros",
"fabro-redact",
"fabro-static",
"fabro-test",
"fabro-types",
@ -2458,9 +2393,7 @@ dependencies = [
"strum 0.28.0",
"thiserror 2.0.18",
"tokio",
"tokio-util",
"toml 0.8.23",
"tracing",
]
[[package]]
@ -2508,25 +2441,18 @@ name = "fabro-mcp-server"
version = "0.361.0-nightly.0"
dependencies = [
"anyhow",
"chrono",
"fabro-api",
"fabro-client",
"fabro-config",
"fabro-manifest",
"fabro-server",
"fabro-tool",
"fabro-types",
"fabro-util",
"futures",
"httpmock",
"rmcp",
"schemars 1.2.1",
"serde",
"serde_json",
"strum 0.28.0",
"tempfile",
"tokio",
"toml 0.8.23",
"tracing",
]
@ -2698,7 +2624,6 @@ dependencies = [
"clap",
"cookie",
"croner",
"dirs",
"fabro-api",
"fabro-auth",
"fabro-automation",
@ -2749,10 +2674,8 @@ dependencies = [
"pebble-coding-agent",
"percent-encoding",
"rand 0.9.4",
"regex",
"reqwest 0.12.28",
"sandbox-driver",
"semver",
"serde",
"serde_json",
"serde_yaml",
@ -2767,7 +2690,6 @@ dependencies = [
"tokio-tungstenite 0.26.2",
"tokio-util",
"toml 0.8.23",
"toml_edit",
"tower",
"tower-http",
"tracing",
@ -2815,13 +2737,11 @@ version = "0.361.0-nightly.0"
name = "fabro-store"
version = "0.361.0-nightly.0"
dependencies = [
"async-trait",
"bytes",
"chrono",
"dashmap",
"fabro-db",
"fabro-types",
"fabro-util",
"futures",
"hex",
"insta",
@ -2837,8 +2757,6 @@ dependencies = [
"tempfile",
"thiserror 2.0.18",
"tokio",
"tokio-stream",
"tracing",
"ulid",
"uuid",
]
@ -3049,12 +2967,10 @@ dependencies = [
"fabro-github",
"fabro-graphviz",
"fabro-http",
"fabro-interview",
"fabro-llm",
"fabro-macros",
"fabro-redact",
"fabro-sandbox",
"fabro-static",
"fabro-store",
"fabro-template",
"fabro-test",
@ -3064,33 +2980,22 @@ dependencies = [
"fabro-vault",
"fabro-workflow",
"fabro-workflow-version",
"futures",
"git2",
"hex",
"httpmock",
"jsonschema",
"lithos-llm",
"md5",
"miette",
"mime_guess",
"object_store",
"pebble-agent",
"pebble-coding-agent",
"rand 0.9.4",
"sandbox-driver",
"scopeguard",
"serde",
"serde_json",
"sha2 0.10.9",
"tempfile",
"thiserror 2.0.18",
"tokio",
"tokio-util",
"toml 0.8.23",
"tracing",
"ulid",
"uuid",
"walkdir",
]
[[package]]
@ -5008,15 +4913,6 @@ dependencies = [
"web-time",
]
[[package]]
name = "oid-registry"
version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a8d8034d9489cdaf79228eb9f6a3b8d7bb32ba00d6645ebd48eef4077ceb5bd9"
dependencies = [
"asn1-rs",
]
[[package]]
name = "once_cell"
version = "1.21.3"
@ -6307,15 +6203,6 @@ dependencies = [
"semver",
]
[[package]]
name = "rusticata-macros"
version = "4.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "faf0c4a6ece9950b9abdb62b1cfcf2a68b3b67a10ba445b3bb85be2a293d0632"
dependencies = [
"nom",
]
[[package]]
name = "rustix"
version = "1.1.4"
@ -9145,23 +9032,6 @@ version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9"
[[package]]
name = "x509-parser"
version = "0.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fcbc162f30700d6f3f82a24bf7cc62ffe7caea42c0b2cba8bf7f3ae50cf51f69"
dependencies = [
"asn1-rs",
"data-encoding",
"der-parser",
"lazy_static",
"nom",
"oid-registry",
"rusticata-macros",
"thiserror 1.0.69",
"time",
]
[[package]]
name = "xattr"
version = "1.6.1"

View file

@ -14,8 +14,6 @@ version = "0.361.0-nightly.0"
license = "MIT"
[workspace.dependencies]
agent-client-protocol = { version = "0.11.1", features = ["unstable_session_usage"] }
agent-client-protocol-tokio = "0.11.1"
anyhow = "1"
axum = { version = "0.8" }
axum-extra = { version = "0.10", features = ["cookie-private", "query"] }
@ -39,22 +37,6 @@ fs2 = "0.4"
base64 = "0.22"
bytes = "1"
tokio-util = "0.7"
# AWS building blocks for the native Bedrock adapter. Lean stack: request
# signing + credential chain + event-stream decode only. Transport for the
# actual Bedrock inference calls stays on fabro-http; the full
# aws-sdk-bedrockruntime (and its parallel hyper stack) is not pulled in.
# aws-config keeps its DEFAULT features on purpose: `rt-tokio` supplies the
# TokioSleep impl the credential chain's retry requires (without it,
# resolving the default chain panics with "an async sleep implementation is
# required"), and `sso`/`credentials-process` make from_default_chain's
# documented SSO/credential-process support real. `rustls` pins the TLS
# backend for credential-resolution HTTP.
aws-config = { version = "1", features = ["behavior-version-latest", "rustls"] }
aws-credential-types = { version = "1", features = ["hardcoded-credentials"] }
aws-sigv4 = "1"
aws-smithy-eventstream = "0.60"
aws-smithy-runtime-api = "1"
aws-smithy-types = "1"
clap = { version = "4", features = ["derive", "env"] }
clap_complete = "4"
jsonschema = { version = "0.42", default-features = false }

View file

@ -24,10 +24,8 @@ fabro-environment = { path = "../../components/fabro-environment" }
fabro-llm = { path = "../../components/fabro-llm" }
fabro-oauth = { path = "../../foundation/fabro-oauth" }
fabro-github = { path = "../../components/fabro-github" }
pebble-agent.workspace = true
pebble-coding-agent.workspace = true
pebble-cli-core.workspace = true
sandbox-driver.workspace = true
fabro-dump = { path = "../../components/fabro-dump" }
fabro-install = { path = "../../components/fabro-install" }
fabro-interview = { path = "../../components/fabro-interview" }
@ -36,7 +34,6 @@ fabro-petri = { path = "../../components/fabro-petri" }
fabro-manifest = { path = "../../components/fabro-manifest" }
fabro-proc = { path = "../../foundation/fabro-proc" }
fabro-sandbox = { path = "../../components/fabro-sandbox" }
fabro-checkpoint = { path = "../../components/fabro-checkpoint" }
fabro-graphviz = { path = "../../components/fabro-graphviz" }
fabro-workflow = { path = "../../components/fabro-workflow" }
fabro-server = { path = "../fabro-server" }
@ -51,7 +48,6 @@ fabro-redact.workspace = true
fabro-util = { path = "../../foundation/fabro-util" }
fabro-http.workspace = true
fabro-static.workspace = true
fabro-template = { path = "../../foundation/fabro-template" }
fabro-tool = { path = "../../components/fabro-tool" }
clap.workspace = true
clap_complete.workspace = true
@ -60,7 +56,6 @@ console.workspace = true
indicatif.workspace = true
anyhow.workspace = true
miette.workspace = true
dotenvy.workspace = true
tokio.workspace = true
tokio-tungstenite.workspace = true
tracing.workspace = true
@ -68,32 +63,25 @@ tracing-subscriber.workspace = true
tracing-appender.workspace = true
chrono = { workspace = true, features = ["serde"] }
dirs.workspace = true
fs2.workspace = true
serde.workspace = true
thiserror.workspace = true
toml.workspace = true
toml_edit.workspace = true
futures.workspace = true
regex.workspace = true
semver.workspace = true
progenitor-client = "0.13"
async-trait.workspace = true
jsonwebtoken.workspace = true
base64.workspace = true
ulid.workspace = true
scopeguard = "1"
rustls = { version = "0.23", default-features = false, features = ["std", "ring"] }
ring = "0.17"
x509-parser = "0.16"
rand.workspace = true
dialoguer.workspace = true
git2.workspace = true
axum.workspace = true
serde_json.workspace = true
serde_yaml = "0.9"
tempfile = "3"
sha2.workspace = true
shlex = "1"
object_store.workspace = true
bytes.workspace = true
tokio-util.workspace = true
@ -114,6 +102,10 @@ fabro-build-support = { path = "../../foundation/build-support" }
chrono = { workspace = true }
[dev-dependencies]
shlex = "1"
ulid.workspace = true
regex.workspace = true
git2.workspace = true
assert_cmd = "2"
fabro-db = { path = "../../foundation/fabro-db" }
walkdir.workspace = true

View file

@ -14,23 +14,16 @@ workspace = true
[dependencies]
anyhow.workspace = true
chrono = { workspace = true, features = ["serde"] }
fabro-api = { path = "../../foundation/fabro-api" }
fabro-client = { path = "../../foundation/fabro-client" }
fabro-manifest = { path = "../../components/fabro-manifest" }
fabro-config = { path = "../../foundation/fabro-config" }
fabro-server = { path = "../fabro-server" }
fabro-tool = { path = "../../components/fabro-tool" }
fabro-types = { path = "../../foundation/fabro-types" }
fabro-util = { path = "../../foundation/fabro-util" }
futures.workspace = true
rmcp = { workspace = true, features = ["server", "macros", "schemars", "transport-io"] }
schemars = "1.2.1"
serde.workspace = true
serde_json.workspace = true
strum.workspace = true
tokio.workspace = true
toml.workspace = true
tracing.workspace = true
[dev-dependencies]

View file

@ -62,7 +62,6 @@ futures-util.workspace = true
axum = { workspace = true, features = ["ws"] }
axum-extra.workspace = true
cookie.workspace = true
dirs.workspace = true
globset.workspace = true
tower = "0.5"
tower-http = { version = "0.6", features = ["trace", "compression-br", "compression-gzip"] }
@ -81,7 +80,6 @@ async-trait.workspace = true
async_zip.workspace = true
clap.workspace = true
toml.workspace = true
toml_edit.workspace = true
tracing.workspace = true
ulid.workspace = true
uuid.workspace = true
@ -97,8 +95,6 @@ object_store.workspace = true
# talks to HTTP via fabro-http (reqwest 0.13).
object_store_reqwest = { package = "reqwest", version = "0.12", default-features = false, features = ["rustls-tls-native-roots"] }
mime_guess.workspace = true
regex.workspace = true
semver.workspace = true
walkdir.workspace = true
thiserror.workspace = true
percent-encoding.workspace = true

View file

@ -11,8 +11,6 @@ workspace = true
[dependencies]
anyhow.workspace = true
base64.workspace = true
ring = "0.17"
toml.workspace = true
tokio.workspace = true
fabro-config = { path = "../../foundation/fabro-config" }

View file

@ -17,13 +17,11 @@ test-support = ["fabro-auth/test-support"]
workspace = true
[dependencies]
anyhow.workspace = true
async-trait.workspace = true
bytes.workspace = true
fabro-auth = { path = "../../foundation/fabro-auth" }
fabro-config = { path = "../../foundation/fabro-config" }
fabro-http.workspace = true
fabro-redact.workspace = true
fabro-static.workspace = true
fabro-types = { path = "../../foundation/fabro-types" }
futures.workspace = true
@ -33,9 +31,7 @@ serde_json.workspace = true
strum.workspace = true
thiserror.workspace = true
tokio.workspace = true
tokio-util.workspace = true
toml.workspace = true
tracing.workspace = true
[dev-dependencies]
fabro-auth = { path = "../../foundation/fabro-auth", features = ["test-support"] }

View file

@ -19,13 +19,10 @@ fabro-db = { path = "../../foundation/fabro-db", optional = true }
fabro-types = { path = "../../foundation/fabro-types" }
lithos-llm = { workspace = true, features = ["runtime"] }
pebble-coding-agent.workspace = true
fabro-util = { path = "../../foundation/fabro-util" }
hex.workspace = true
object_store.workspace = true
percent-encoding.workspace = true
async-trait.workspace = true
tokio = { workspace = true, features = ["full"] }
tokio-stream.workspace = true
dashmap.workspace = true
serde.workspace = true
serde_json.workspace = true
@ -35,7 +32,6 @@ strum.workspace = true
chrono = { workspace = true, features = ["serde"] }
bytes.workspace = true
thiserror.workspace = true
tracing.workspace = true
futures.workspace = true
uuid.workspace = true

View file

@ -26,44 +26,31 @@ fabro-config = { path = "../../foundation/fabro-config" }
fabro-graphviz = { path = "../fabro-graphviz" }
fabro-sandbox = { path = "../fabro-sandbox" }
sandbox-driver.workspace = true
pebble-agent.workspace = true
pebble-coding-agent.workspace = true
fabro-github = { path = "../fabro-github" }
fabro-interview = { path = "../fabro-interview" }
fabro-template = { path = "../../foundation/fabro-template" }
fabro-tool = { path = "../fabro-tool" }
fabro-util = { path = "../../foundation/fabro-util" }
fabro-redact.workspace = true
fabro-llm = { path = "../fabro-llm" }
fabro-store = { path = "../fabro-store" }
fabro-static.workspace = true
fabro-types = { path = "../../foundation/fabro-types" }
lithos-llm = { workspace = true, features = ["runtime"] }
fabro-http.workspace = true
thiserror.workspace = true
serde.workspace = true
serde_json.workspace = true
jsonschema.workspace = true
tokio.workspace = true
bytes.workspace = true
object_store.workspace = true
ulid.workspace = true
uuid.workspace = true
rand.workspace = true
async-trait.workspace = true
futures.workspace = true
chrono = { workspace = true, features = ["serde"] }
dirs = "6"
scopeguard = "1"
md5.workspace = true
hex.workspace = true
sha2 = { workspace = true }
mime_guess.workspace = true
miette.workspace = true
git2.workspace = true
tokio-util.workspace = true
tracing.workspace = true
walkdir.workspace = true
tempfile = "3"
toml.workspace = true
fabro-vault = { path = "../../foundation/fabro-vault" }
@ -79,7 +66,6 @@ fabro-github = { path = "../fabro-github", features = ["test-support"] }
fabro-workflow = { path = ".", features = ["test-support"] }
fabro-sandbox = { path = "../fabro-sandbox", features = ["test-support"] }
tokio = { workspace = true, features = ["test-util", "macros"] }
object_store.workspace = true
httpmock = "0.8"
fabro-macros = { path = "../../foundation/fabro-macros" }
fabro-test = { workspace = true }