cli

Command-line interface for Radroots
git clone https://radroots.dev/git/cli.git
Log | Files | Refs | README | LICENSE

commit bc4bca0e24f29650525394730d78b36613233779
parent 59644fc5938fc1a0f50279771fa7f04377c8c4cf
Author: triesap <tyson@radroots.org>
Date:   Fri, 10 Apr 2026 16:40:46 +0000

cli: update crate metadata

Diffstat:
MCargo.lock | 126++++++++++++++++++++++++++++++++++++++++----------------------------------------
MCargo.toml | 28++++++++++++++--------------
Mflake.nix | 3++-
Msrc/runtime/hyf.rs | 9+++++++++
4 files changed, 88 insertions(+), 78 deletions(-)

diff --git a/Cargo.lock b/Cargo.lock @@ -1648,20 +1648,20 @@ dependencies = [ "chrono", "clap", "getrandom 0.2.17", - "radroots-core", - "radroots-events", - "radroots-events-codec", - "radroots-identity", - "radroots-log", - "radroots-nostr-accounts", - "radroots-nostr-signer", - "radroots-protected-store", - "radroots-replica-db", - "radroots-replica-sync", - "radroots-runtime-paths", - "radroots-secret-vault", - "radroots-sql-core", - "radroots-trade", + "radroots_core", + "radroots_events", + "radroots_events_codec", + "radroots_identity", + "radroots_log", + "radroots_nostr_accounts", + "radroots_nostr_signer", + "radroots_protected_store", + "radroots_replica_db", + "radroots_replica_sync", + "radroots_runtime_paths", + "radroots_secret_vault", + "radroots_sql_core", + "radroots_trade", "reqwest", "serde", "serde_json", @@ -1673,7 +1673,7 @@ dependencies = [ ] [[package]] -name = "radroots-core" +name = "radroots_core" version = "0.1.0-alpha.1" dependencies = [ "rust_decimal", @@ -1683,33 +1683,33 @@ dependencies = [ ] [[package]] -name = "radroots-events" +name = "radroots_events" version = "0.1.0-alpha.1" dependencies = [ - "radroots-core", + "radroots_core", "serde", "ts-rs", "typeshare", ] [[package]] -name = "radroots-events-codec" +name = "radroots_events_codec" version = "0.1.0-alpha.1" dependencies = [ - "radroots-core", - "radroots-events", + "radroots_core", + "radroots_events", "serde", "serde_json", ] [[package]] -name = "radroots-identity" +name = "radroots_identity" version = "0.1.0-alpha.1" dependencies = [ "nostr", - "radroots-events", - "radroots-runtime", - "radroots-runtime-paths", + "radroots_events", + "radroots_runtime", + "radroots_runtime_paths", "serde", "serde_json", "thiserror 1.0.69", @@ -1717,7 +1717,7 @@ dependencies = [ ] [[package]] -name = "radroots-log" +name = "radroots_log" version = "0.1.0-alpha.1" dependencies = [ "chrono", @@ -1728,13 +1728,13 @@ dependencies = [ ] [[package]] -name = "radroots-nostr-accounts" +name = "radroots_nostr_accounts" version = "0.1.0-alpha.1" dependencies = [ - "radroots-identity", - "radroots-nostr-signer", - "radroots-runtime", - "radroots-secret-vault", + "radroots_identity", + "radroots_nostr_signer", + "radroots_runtime", + "radroots_secret_vault", "serde", "serde_json", "thiserror 1.0.69", @@ -1742,7 +1742,7 @@ dependencies = [ ] [[package]] -name = "radroots-nostr-connect" +name = "radroots_nostr_connect" version = "0.1.0-alpha.1" dependencies = [ "nostr", @@ -1753,14 +1753,14 @@ dependencies = [ ] [[package]] -name = "radroots-nostr-signer" +name = "radroots_nostr_signer" version = "0.1.0-alpha.1" dependencies = [ "hex", "nostr", - "radroots-identity", - "radroots-nostr-connect", - "radroots-runtime", + "radroots_identity", + "radroots_nostr_connect", + "radroots_runtime", "serde", "serde_json", "sha2", @@ -1770,51 +1770,51 @@ dependencies = [ ] [[package]] -name = "radroots-protected-store" +name = "radroots_protected_store" version = "0.1.0-alpha.1" dependencies = [ "chacha20poly1305", "getrandom 0.2.17", - "radroots-secret-vault", + "radroots_secret_vault", "serde", "serde_json", "zeroize", ] [[package]] -name = "radroots-replica-db" +name = "radroots_replica_db" version = "0.1.0-alpha.1" dependencies = [ "hex", - "radroots-replica-db-schema", - "radroots-sql-core", - "radroots-types", + "radroots_replica_db_schema", + "radroots_sql_core", + "radroots_types", "serde", "serde_json", "sha2", ] [[package]] -name = "radroots-replica-db-schema" +name = "radroots_replica_db_schema" version = "0.1.0-alpha.1" dependencies = [ - "radroots-types", + "radroots_types", "serde", "serde_json", ] [[package]] -name = "radroots-replica-sync" +name = "radroots_replica_sync" version = "0.1.0-alpha.1" dependencies = [ "base64 0.22.1", "hex", - "radroots-events", - "radroots-events-codec", - "radroots-replica-db", - "radroots-replica-db-schema", - "radroots-sql-core", - "radroots-types", + "radroots_events", + "radroots_events_codec", + "radroots_replica_db", + "radroots_replica_db_schema", + "radroots_sql_core", + "radroots_types", "serde", "serde_json", "sha2", @@ -1822,17 +1822,17 @@ dependencies = [ ] [[package]] -name = "radroots-runtime" +name = "radroots_runtime" version = "0.1.0-alpha.1" dependencies = [ "anyhow", "chacha20poly1305", "config", "getrandom 0.2.17", - "radroots-log", - "radroots-protected-store", - "radroots-runtime-paths", - "radroots-secret-vault", + "radroots_log", + "radroots_protected_store", + "radroots_runtime_paths", + "radroots_secret_vault", "serde", "serde_json", "tempfile", @@ -1844,21 +1844,21 @@ dependencies = [ ] [[package]] -name = "radroots-runtime-paths" +name = "radroots_runtime_paths" version = "0.1.0-alpha.1" dependencies = [ "thiserror 1.0.69", ] [[package]] -name = "radroots-secret-vault" +name = "radroots_secret_vault" version = "0.1.0-alpha.1" dependencies = [ "keyring", ] [[package]] -name = "radroots-sql-core" +name = "radroots_sql_core" version = "0.1.0-alpha.1" dependencies = [ "chrono", @@ -1870,19 +1870,19 @@ dependencies = [ ] [[package]] -name = "radroots-trade" +name = "radroots_trade" version = "0.1.0-alpha.1" dependencies = [ - "radroots-core", - "radroots-events", - "radroots-events-codec", + "radroots_core", + "radroots_events", + "radroots_events_codec", "serde", "serde_json", "ts-rs", ] [[package]] -name = "radroots-types" +name = "radroots_types" version = "0.1.0-alpha.1" dependencies = [ "serde", diff --git a/Cargo.toml b/Cargo.toml @@ -21,20 +21,20 @@ chacha20poly1305 = "0.10" chrono = { version = "0.4", default-features = false, features = ["clock", "std"] } clap = { version = "4.5", features = ["derive"] } getrandom = "0.2" -radroots-core = { path = "../lib/crates/core", features = ["std", "serde"] } -radroots-events = { path = "../lib/crates/events" } -radroots-events-codec = { path = "../lib/crates/events-codec", features = ["serde_json"] } -radroots-identity = { path = "../lib/crates/identity" } -radroots-log = { path = "../lib/crates/log" } -radroots-nostr-accounts = { path = "../lib/crates/nostr-accounts" } -radroots-nostr-signer = { path = "../lib/crates/nostr-signer" } -radroots-protected-store = { path = "../lib/crates/protected-store", features = ["std"] } -radroots-replica-db = { path = "../lib/crates/replica-db" } -radroots-replica-sync = { path = "../lib/crates/replica-sync" } -radroots-runtime-paths = { path = "../lib/crates/runtime-paths" } -radroots-secret-vault = { path = "../lib/crates/secret-vault", features = ["std", "os-keyring"] } -radroots-sql-core = { path = "../lib/crates/sql-core", features = ["native"] } -radroots-trade = { path = "../lib/crates/trade" } +radroots_core = { path = "../lib/crates/core", features = ["std", "serde"] } +radroots_events = { path = "../lib/crates/events" } +radroots_events_codec = { path = "../lib/crates/events_codec", features = ["serde_json"] } +radroots_identity = { path = "../lib/crates/identity" } +radroots_log = { path = "../lib/crates/log" } +radroots_nostr_accounts = { path = "../lib/crates/nostr_accounts" } +radroots_nostr_signer = { path = "../lib/crates/nostr_signer" } +radroots_protected_store = { path = "../lib/crates/protected_store", features = ["std"] } +radroots_replica_db = { path = "../lib/crates/replica_db" } +radroots_replica_sync = { path = "../lib/crates/replica_sync" } +radroots_runtime_paths = { path = "../lib/crates/runtime_paths" } +radroots_secret_vault = { path = "../lib/crates/secret_vault", features = ["std", "os-keyring"] } +radroots_sql_core = { path = "../lib/crates/sql_core", features = ["native"] } +radroots_trade = { path = "../lib/crates/trade" } reqwest = { version = "0.12", default-features = false, features = ["blocking", "json", "rustls-tls"] } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" diff --git a/flake.nix b/flake.nix @@ -108,7 +108,8 @@ }; test = mkApp "test" { text = '' - cargo test + # serialize integration test binaries; plain cargo test is flaky here + cargo test -j1 ''; }; } diff --git a/src/runtime/hyf.rs b/src/runtime/hyf.rs @@ -343,10 +343,17 @@ mod tests { use crate::runtime::config::HyfConfig; use std::fs; use std::os::unix::fs::PermissionsExt; + use std::sync::{Mutex, OnceLock}; use tempfile::tempdir; + fn hyf_test_lock() -> &'static Mutex<()> { + static LOCK: OnceLock<Mutex<()>> = OnceLock::new(); + LOCK.get_or_init(|| Mutex::new(())) + } + #[test] fn disabled_hyf_reports_disabled_state_without_spawning() { + let _guard = hyf_test_lock().lock().expect("hyf test lock"); let view = resolve_status(&HyfConfig { enabled: false, executable: "hyfd".into(), @@ -357,6 +364,7 @@ mod tests { #[test] fn healthy_hyf_status_reports_ready() { + let _guard = hyf_test_lock().lock().expect("hyf test lock"); let dir = tempdir().expect("tempdir"); let executable = write_script( dir.path(), @@ -377,6 +385,7 @@ mod tests { #[test] fn incompatible_hyf_status_reports_unavailable() { + let _guard = hyf_test_lock().lock().expect("hyf test lock"); let dir = tempdir().expect("tempdir"); let executable = write_script( dir.path(),