[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"