mirror of
https://github.com/open-jarvis/OpenJarvis.git
synced 2026-07-28 05:12:26 +00:00
The Rust workspace fails to build on stable 1.86/1.87 with cryptic E0658 errors deep in dependencies: rig-core uses let-chains and openjarvis-skills uses `is_multiple_of`, both stabilized in 1.88 (#252). Add a rust-toolchain.toml pinning channel 1.88 (rustup then auto-selects a working toolchain instead of erroring mid-build) and declare rust-version = "1.88" in [workspace.package] to self-document it. Because the toolchain pin makes CI's `cargo clippy -D warnings` run under 1.88 — whose clippy enables `uninlined_format_args` — also apply the mechanical `format!("{}", x)` -> `format!("{x}")` rewrites across the workspace (via `clippy --fix`; string output is identical, no logic change). Verified clippy + fmt + `cargo test --workspace` clean on BOTH 1.88 and current stable. Verified locally: cargo +1.86 and +1.87 fail (E0658), +1.88 builds and tests cleanly. Supporting true 1.86 is infeasible without downgrading rig-core below the versions exposing the token-usage symbols we use — deferred. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
58 lines
1.8 KiB
TOML
58 lines
1.8 KiB
TOML
[workspace]
|
|
resolver = "2"
|
|
members = [
|
|
"crates/openjarvis-core",
|
|
"crates/openjarvis-engine",
|
|
"crates/openjarvis-agents",
|
|
"crates/openjarvis-tools",
|
|
"crates/openjarvis-learning",
|
|
"crates/openjarvis-telemetry",
|
|
"crates/openjarvis-traces",
|
|
"crates/openjarvis-security",
|
|
"crates/openjarvis-mcp",
|
|
"crates/openjarvis-python",
|
|
"crates/openjarvis-sessions",
|
|
"crates/openjarvis-workflow",
|
|
"crates/openjarvis-skills",
|
|
"crates/openjarvis-recipes",
|
|
"crates/openjarvis-templates",
|
|
"crates/openjarvis-a2a",
|
|
"crates/openjarvis-scheduler",
|
|
]
|
|
|
|
# Minimum supported Rust version. The workspace uses let-chains (via rig-core)
|
|
# and `is_multiple_of` (openjarvis-skills), both stabilized in Rust 1.88 —
|
|
# building on 1.86/1.87 fails with cryptic E0658 errors deep in dependencies
|
|
# (see #252). Declared here and pinned in rust-toolchain.toml so users get a
|
|
# clear "requires rustc 1.88" signal instead.
|
|
[workspace.package]
|
|
rust-version = "1.88"
|
|
|
|
[workspace.dependencies]
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
toml = "0.8"
|
|
thiserror = "2"
|
|
tracing = "0.1"
|
|
tokio = { version = "1", features = ["full"] }
|
|
reqwest = { version = "0.12", default-features = false, features = ["json", "stream", "blocking", "rustls-tls"] }
|
|
rusqlite = { version = "0.32", features = ["bundled", "column_decltype"] }
|
|
regex = "1"
|
|
once_cell = "1"
|
|
sha2 = "0.10"
|
|
uuid = { version = "1", features = ["v4"] }
|
|
rand = "0.8"
|
|
parking_lot = "0.12"
|
|
async-trait = "0.1"
|
|
pyo3 = { version = "0.23", features = ["extension-module"] }
|
|
meval = "0.2"
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
futures = "0.3"
|
|
tokio-stream = "0.1"
|
|
ed25519-dalek = { version = "2", features = ["rand_core"] }
|
|
fnmatch-regex = "0.2"
|
|
url = "2"
|
|
sysinfo = "0.33"
|
|
rig-core = "0.31"
|
|
schemars = "1"
|