cli

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

commit cdc17d99cea066670f1fe0a0b0cc796114c1fe89
parent 82b3f3e28134424d1d966a1f349c3df895def958
Author: triesap <tyson@radroots.org>
Date:   Sun, 12 Apr 2026 16:53:53 +0000

cli: reconcile runtime repo fallout

Diffstat:
MCargo.lock | 23+++++++++++++++++++++++
Msrc/runtime/hyf.rs | 11+++++++----
Msrc/runtime/management.rs | 10+++++-----
Msrc/runtime/provider.rs | 6+++---
4 files changed, 38 insertions(+), 12 deletions(-)

diff --git a/Cargo.lock b/Cargo.lock @@ -19,6 +19,17 @@ dependencies = [ ] [[package]] +name = "aes" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" +dependencies = [ + "cfg-if", + "cipher", + "cpufeatures", +] + +[[package]] name = "ahash" version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1334,6 +1345,7 @@ version = "0.44.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3aa5e3b6a278ed061835fe1ee293b71641e6bf8b401cfe4e1834bbf4ef0a34e1" dependencies = [ + "aes", "base64 0.22.1", "bech32", "bip39", @@ -1796,6 +1808,16 @@ dependencies = [ ] [[package]] +name = "radroots_nostr" +version = "0.1.0-alpha.2" +dependencies = [ + "nostr", + "serde", + "serde_json", + "thiserror 1.0.69", +] + +[[package]] name = "radroots_nostr_accounts" version = "0.1.0-alpha.2" dependencies = [ @@ -1827,6 +1849,7 @@ dependencies = [ "hex", "nostr", "radroots_identity", + "radroots_nostr", "radroots_nostr_connect", "radroots_runtime", "serde", diff --git a/src/runtime/hyf.rs b/src/runtime/hyf.rs @@ -697,7 +697,10 @@ fn resolve_status_for_client(client: &HyfClient) -> HyfStatusView { } } -fn collect_output_with_timeout(mut child: Child, timeout: Duration) -> Result<Output, HyfClientError> { +fn collect_output_with_timeout( + mut child: Child, + timeout: Duration, +) -> Result<Output, HyfClientError> { let started_at = Instant::now(); loop { match child.try_wait() { @@ -782,9 +785,9 @@ fn format_nonzero_exit(request_label: &str, status: Option<i32>, stderr: &str) - #[cfg(test)] mod tests { use super::{ - HYF_PROTOCOL_VERSION, HyfClient, HyfClientError, HyfEmptyInput, - HyfExplainResultRequest, HyfQueryRewriteRequest, HyfRequestContext, - HyfSemanticCandidate, HyfSemanticRankRequest, resolve_status, + HYF_PROTOCOL_VERSION, HyfClient, HyfClientError, HyfEmptyInput, HyfExplainResultRequest, + HyfQueryRewriteRequest, HyfRequestContext, HyfSemanticCandidate, HyfSemanticRankRequest, + resolve_status, }; use crate::runtime::config::HyfConfig; use serde::Serialize; diff --git a/src/runtime/management.rs b/src/runtime/management.rs @@ -5,13 +5,13 @@ use chrono::Utc; use getrandom::getrandom; use radroots_runtime_distribution::{RadrootsRuntimeDistributionResolver, RuntimeArtifactRequest}; use radroots_runtime_manager::{ - extract_binary_archive, load_management_context as load_manager_context, parse_contract_str, + ManagedRuntimeContext as RuntimeManagementContext, ManagedRuntimeGroup as RuntimeGroup, + ManagedRuntimeHealthState, ManagedRuntimeInstallState, ManagedRuntimeInstanceRecord, + ManagedRuntimeTarget as RuntimeTarget, extract_binary_archive, + load_management_context as load_manager_context, parse_contract_str, process_running as managed_process_running, remove_instance, remove_instance_artifacts, resolve_runtime_target, save_registry, start_process, stop_process, upsert_instance, write_instance_metadata, write_managed_file, write_secret_file, - ManagedRuntimeContext as RuntimeManagementContext, ManagedRuntimeGroup as RuntimeGroup, - ManagedRuntimeHealthState, ManagedRuntimeInstallState, ManagedRuntimeInstanceRecord, - ManagedRuntimeTarget as RuntimeTarget, }; use radroots_runtime_paths::{RadrootsPathOverrides, RadrootsPathProfile, RadrootsPathResolver}; use serde::{Deserialize, Serialize}; @@ -20,7 +20,7 @@ use crate::domain::runtime::{ RuntimeActionView, RuntimeInstancePathsView, RuntimeInstanceRecordView, RuntimeLogsView, RuntimeManagedConfigView, RuntimeStatusView, }; -use crate::runtime::{config::RuntimeConfig, RuntimeError}; +use crate::runtime::{RuntimeError, config::RuntimeConfig}; const MANAGEMENT_CONTRACT_RAW: &str = include_str!(concat!( env!("CARGO_MANIFEST_DIR"), diff --git a/src/runtime/provider.rs b/src/runtime/provider.rs @@ -79,17 +79,17 @@ impl WorkflowProviderView { pub fn detail(&self) -> String { match (self.state.as_str(), self.target_kind.as_deref(), self.target.as_deref()) { ("not_configured", _, _) => { - "optional workflow provider is not configured; rhi remains status-only in this wave" + "optional workflow provider is not configured; standalone rhi remains outside the cli composed-provider path in this wave" .to_owned() } ("unsupported", Some(target_kind), Some(target)) => { format!( - "configured workflow binding via {} {} is not executable in this wave; rhi remains status-only", + "configured workflow binding via {} {} is not executable through the cli composed-provider path in this wave; standalone rhi remains a separate workflow worker", target_kind, target ) } ("unsupported", _, _) => { - "configured workflow binding is not executable in this wave; rhi remains status-only" + "configured workflow binding is not executable through the cli composed-provider path in this wave; standalone rhi remains a separate workflow worker" .to_owned() } _ => self.source.clone(),