From 2eb39d368c74eaf85d6a9548eaf3752e3dafb6d2 Mon Sep 17 00:00:00 2001 From: Bryan Helmkamp Date: Sat, 28 Mar 2026 15:15:15 -0400 Subject: [PATCH] Rename *config* variables/params that hold *Settings types Local variables and function parameters named with "config" but holding *Settings types (FabroSettings, TlsSettings, ApiSettings, LlmSettings) are renamed to use "settings" for consistency with the type system. Module paths (cli_config::) and struct fields are unchanged. Co-Authored-By: Claude Opus 4.6 (1M context) --- lib/crates/fabro-api/src/jwt_auth.rs | 8 ++--- lib/crates/fabro-api/src/serve.rs | 36 +++++++++---------- lib/crates/fabro-api/src/tls.rs | 11 +++--- lib/crates/fabro-api/tests/integration.rs | 20 +++++------ lib/crates/fabro-cli/src/cli_config.rs | 28 ++++++++------- lib/crates/fabro-cli/src/commands/asset/cp.rs | 4 +-- .../fabro-cli/src/commands/asset/list.rs | 4 +-- lib/crates/fabro-cli/src/commands/doctor.rs | 18 +++++----- lib/crates/fabro-cli/src/commands/exec.rs | 10 +++--- lib/crates/fabro-cli/src/commands/install.rs | 15 ++++---- lib/crates/fabro-cli/src/commands/llm/chat.rs | 6 ++-- lib/crates/fabro-cli/src/commands/llm/mod.rs | 6 ++-- .../fabro-cli/src/commands/llm/prompt.rs | 6 ++-- lib/crates/fabro-cli/src/commands/model.rs | 4 +-- lib/crates/fabro-cli/src/commands/pr/close.rs | 4 +-- .../fabro-cli/src/commands/pr/create.rs | 4 +-- lib/crates/fabro-cli/src/commands/pr/list.rs | 4 +-- lib/crates/fabro-cli/src/commands/pr/merge.rs | 4 +-- lib/crates/fabro-cli/src/commands/pr/mod.rs | 4 +-- lib/crates/fabro-cli/src/commands/pr/view.rs | 4 +-- .../fabro-cli/src/commands/preflight.rs | 6 ++-- .../fabro-cli/src/commands/repo/init.rs | 6 ++-- .../fabro-cli/src/commands/run/command.rs | 6 ++-- lib/crates/fabro-cli/src/commands/run/cp.rs | 4 +-- .../fabro-cli/src/commands/run/detached.rs | 8 ++--- lib/crates/fabro-cli/src/commands/run/diff.rs | 4 +-- lib/crates/fabro-cli/src/commands/run/logs.rs | 4 +-- lib/crates/fabro-cli/src/commands/run/mod.rs | 12 +++---- .../fabro-cli/src/commands/run/preview.rs | 4 +-- .../fabro-cli/src/commands/run/resume.rs | 4 +-- lib/crates/fabro-cli/src/commands/run/ssh.rs | 4 +-- lib/crates/fabro-cli/src/commands/run/wait.rs | 4 +-- .../fabro-cli/src/commands/runs/inspect.rs | 4 +-- .../fabro-cli/src/commands/runs/list.rs | 4 +-- lib/crates/fabro-cli/src/commands/runs/rm.rs | 4 +-- .../fabro-cli/src/commands/system/df.rs | 4 +-- .../fabro-cli/src/commands/system/prune.rs | 4 +-- lib/crates/fabro-cli/src/main.rs | 16 ++++----- lib/crates/fabro-config/src/server.rs | 4 +-- .../fabro-workflows/src/operations/create.rs | 6 ++-- 40 files changed, 160 insertions(+), 152 deletions(-) diff --git a/lib/crates/fabro-api/src/jwt_auth.rs b/lib/crates/fabro-api/src/jwt_auth.rs index 1b01f1524..a866d413b 100644 --- a/lib/crates/fabro-api/src/jwt_auth.rs +++ b/lib/crates/fabro-api/src/jwt_auth.rs @@ -69,14 +69,14 @@ pub fn decode_pem_env(name: &str, value: &str) -> String { /// /// Call this once at startup before serving requests. Panics if the /// configuration is invalid (JWT strategy but no public key, or mTLS without TLS config). -pub fn resolve_auth_mode(api_config: &ApiSettings, allowed_usernames: &[String]) -> AuthMode { +pub fn resolve_auth_mode(api_settings: &ApiSettings, allowed_usernames: &[String]) -> AuthMode { use fabro_config::server::ApiAuthStrategy; - if api_config.authentication_strategies.is_empty() { + if api_settings.authentication_strategies.is_empty() { warn!("No authentication strategies configured; all requests will be rejected"); } - let strategies = api_config + let strategies = api_settings .authentication_strategies .iter() .map(|s| match s { @@ -98,7 +98,7 @@ pub fn resolve_auth_mode(api_config: &ApiSettings, allowed_usernames: &[String]) } ApiAuthStrategy::Mtls => { assert!( - api_config.tls.is_some(), + api_settings.tls.is_some(), "mTLS authentication strategy requires [api.tls] configuration with cert, key, and ca" ); AuthStrategy::Mtls diff --git a/lib/crates/fabro-api/src/serve.rs b/lib/crates/fabro-api/src/serve.rs index 492d86016..fc7b33a3a 100644 --- a/lib/crates/fabro-api/src/serve.rs +++ b/lib/crates/fabro-api/src/serve.rs @@ -93,17 +93,17 @@ pub async fn serve_command(args: ServeArgs, styles: &'static Styles) -> anyhow:: let data_dir = resolve_storage_dir(&server_settings); // Shared config for live reloading - let shared_config = Arc::new(RwLock::new(server_settings)); + let shared_settings = Arc::new(RwLock::new(server_settings)); // CLI overrides take precedence over config file values, even after reload let cli_model = args.model; let cli_provider = args.provider; // Build registry factory that reads live config - let config_for_factory = Arc::clone(&shared_config); + let settings_for_factory = Arc::clone(&shared_settings); let factory = move || { let (model, provider_enum) = resolve_model_provider( - &config_for_factory, + &settings_for_factory, cli_model.as_deref(), cli_provider.as_deref(), ); @@ -120,7 +120,7 @@ pub async fn serve_command(args: ServeArgs, styles: &'static Styles) -> anyhow:: fabro_db::initialize_db(&db).await?; let (auth_mode, client_auth, max_concurrent_runs) = { - let cfg = shared_config.read().expect("config lock poisoned"); + let cfg = shared_settings.read().expect("config lock poisoned"); let api = cfg.api.clone().unwrap_or_default(); let allowed_usernames = cfg .web @@ -137,7 +137,7 @@ pub async fn serve_command(args: ServeArgs, styles: &'static Styles) -> anyhow:: }; let git_author = { - let cfg = shared_config.read().expect("config lock poisoned"); + let cfg = shared_settings.read().expect("config lock poisoned"); let author = cfg.git_author(); GitAuthor::from_options( author.and_then(|a| a.name.clone()), @@ -145,7 +145,7 @@ pub async fn serve_command(args: ServeArgs, styles: &'static Styles) -> anyhow:: ) }; let hooks = { - let cfg = shared_config.read().expect("config lock poisoned"); + let cfg = shared_settings.read().expect("config lock poisoned"); cfg.hooks.clone() }; let state = create_app_state_with_options( @@ -177,7 +177,7 @@ pub async fn serve_command(args: ServeArgs, styles: &'static Styles) -> anyhow:: // Optionally start webhook listener let webhook_app_id = { - let cfg = shared_config.read().expect("config lock poisoned"); + let cfg = shared_settings.read().expect("config lock poisoned"); cfg.git .as_ref() .and_then(|g| g.webhooks.as_ref().and(g.app_id.as_ref())) @@ -206,7 +206,7 @@ pub async fn serve_command(args: ServeArgs, styles: &'static Styles) -> anyhow:: }; // Spawn config polling task - let config_for_poll = Arc::clone(&shared_config); + let settings_for_poll = Arc::clone(&shared_settings); let config_path_for_poll = config_path.clone(); tokio::spawn(async move { let mut interval = interval(Duration::from_secs(5)); @@ -214,14 +214,14 @@ pub async fn serve_command(args: ServeArgs, styles: &'static Styles) -> anyhow:: loop { interval.tick().await; match load_server_settings(config_path_for_poll.as_deref()) { - Ok(new_config) => { + Ok(new_settings) => { let changed = { - let cfg = config_for_poll.read().expect("config lock poisoned"); - *cfg != new_config + let cfg = settings_for_poll.read().expect("config lock poisoned"); + *cfg != new_settings }; if changed { - let mut cfg = config_for_poll.write().expect("config lock poisoned"); - *cfg = new_config; + let mut cfg = settings_for_poll.write().expect("config lock poisoned"); + *cfg = new_settings; info!("Server config reloaded"); } } @@ -233,16 +233,16 @@ pub async fn serve_command(args: ServeArgs, styles: &'static Styles) -> anyhow:: }); // Branch: TLS or plain HTTP - let tls_config = shared_config + let tls_settings = shared_settings .read() .expect("config lock poisoned") .api .as_ref() .and_then(|a| a.tls.clone()); - if let Some(ref tls_config) = tls_config { + if let Some(ref tls_settings) = tls_settings { let client_auth = client_auth.unwrap(); - let rustls_config = build_rustls_config(tls_config, client_auth); + let rustls_config = build_rustls_config(tls_settings, client_auth); let tls_acceptor = tokio_rustls::TlsAcceptor::from(rustls_config); info!("TLS enabled"); @@ -262,11 +262,11 @@ pub async fn serve_command(args: ServeArgs, styles: &'static Styles) -> anyhow:: /// Resolve model and provider from shared config, with CLI overrides taking precedence. fn resolve_model_provider( - shared_config: &RwLock, + shared_settings: &RwLock, cli_model: Option<&str>, cli_provider: Option<&str>, ) -> (String, Provider) { - let cfg = shared_config.read().expect("config lock poisoned"); + let cfg = shared_settings.read().expect("config lock poisoned"); let config_provider = cfg.llm.as_ref().and_then(|l| l.provider.as_deref()); let config_model = cfg.llm.as_ref().and_then(|l| l.model.as_deref()); diff --git a/lib/crates/fabro-api/src/tls.rs b/lib/crates/fabro-api/src/tls.rs index f249f2622..cca061e07 100644 --- a/lib/crates/fabro-api/src/tls.rs +++ b/lib/crates/fabro-api/src/tls.rs @@ -23,9 +23,12 @@ pub enum ClientAuth { } /// Build a rustls `ServerConfig` from the `[api.tls]` configuration. -pub fn build_rustls_config(tls_config: &TlsSettings, client_auth: ClientAuth) -> Arc { - let certs = load_certs(&tls_config.cert); - let key = load_private_key(&tls_config.key); +pub fn build_rustls_config( + tls_settings: &TlsSettings, + client_auth: ClientAuth, +) -> Arc { + let certs = load_certs(&tls_settings.cert); + let key = load_private_key(&tls_settings.key); let config = match client_auth { ClientAuth::None => ServerConfig::builder() @@ -33,7 +36,7 @@ pub fn build_rustls_config(tls_config: &TlsSettings, client_auth: ClientAuth) -> .with_single_cert(certs, key) .expect("invalid server certificate or key"), ClientAuth::Required | ClientAuth::Optional => { - let ca_certs = load_certs(&tls_config.ca); + let ca_certs = load_certs(&tls_settings.ca); let mut root_store = rustls::RootCertStore::empty(); for cert in ca_certs { root_store diff --git a/lib/crates/fabro-api/tests/integration.rs b/lib/crates/fabro-api/tests/integration.rs index aff7c4533..1636764b2 100644 --- a/lib/crates/fabro-api/tests/integration.rs +++ b/lib/crates/fabro-api/tests/integration.rs @@ -181,14 +181,14 @@ mod mtls_e2e { /// Start a TLS server on a random port, returning the bound address. async fn start_tls_server( - tls_config: &TlsSettings, + tls_settings: &TlsSettings, client_auth: ClientAuth, auth_mode: AuthMode, ) -> std::net::SocketAddr { let listener = TcpListener::bind("127.0.0.1:0").await.unwrap(); let addr = listener.local_addr().unwrap(); - let rustls_config = build_rustls_config(tls_config, client_auth); + let rustls_config = build_rustls_config(tls_settings, client_auth); let tls_acceptor = tokio_rustls::TlsAcceptor::from(rustls_config); let state = create_app_state(test_db().await, test_llm_spec); @@ -236,14 +236,14 @@ mod mtls_e2e { let dir = tempfile::tempdir().unwrap(); let pki = generate_pki(dir.path(), "TestCA", "localhost", "testuser"); - let tls_config = TlsSettings { + let tls_settings = TlsSettings { cert: pki.server_cert.clone(), key: pki.server_key.clone(), ca: pki.ca_cert.clone(), }; let auth_mode = AuthMode::Strategies(vec![AuthStrategy::Mtls]); - let addr = start_tls_server(&tls_config, ClientAuth::Required, auth_mode).await; + let addr = start_tls_server(&tls_settings, ClientAuth::Required, auth_mode).await; let client = build_client(&pki.ca_cert, Some(&pki.client_cert), Some(&pki.client_key)); @@ -262,14 +262,14 @@ mod mtls_e2e { let dir = tempfile::tempdir().unwrap(); let pki = generate_pki(dir.path(), "TestCA", "localhost", "testuser"); - let tls_config = TlsSettings { + let tls_settings = TlsSettings { cert: pki.server_cert.clone(), key: pki.server_key.clone(), ca: pki.ca_cert.clone(), }; let auth_mode = AuthMode::Strategies(vec![AuthStrategy::Mtls]); - let addr = start_tls_server(&tls_config, ClientAuth::Required, auth_mode).await; + let addr = start_tls_server(&tls_settings, ClientAuth::Required, auth_mode).await; // Generate a DIFFERENT CA and client cert signed by it let wrong_dir = dir.path().join("wrong_ca"); @@ -303,7 +303,7 @@ mod mtls_e2e { let dir = tempfile::tempdir().unwrap(); let pki = generate_pki(dir.path(), "TestCA", "localhost", "testuser"); - let tls_config = TlsSettings { + let tls_settings = TlsSettings { cert: pki.server_cert.clone(), key: pki.server_key.clone(), ca: pki.ca_cert.clone(), @@ -311,7 +311,7 @@ mod mtls_e2e { // mTLS is the ONLY strategy → client cert is required at TLS level let auth_mode = AuthMode::Strategies(vec![AuthStrategy::Mtls]); - let addr = start_tls_server(&tls_config, ClientAuth::Required, auth_mode).await; + let addr = start_tls_server(&tls_settings, ClientAuth::Required, auth_mode).await; // Client trusts the server CA but presents NO client cert let client = build_client(&pki.ca_cert, None, None); @@ -378,7 +378,7 @@ mod mtls_e2e { let dir = tempfile::tempdir().unwrap(); let pki = generate_pki(dir.path(), "TestCA", "localhost", "testuser"); - let tls_config = TlsSettings { + let tls_settings = TlsSettings { cert: pki.server_cert.clone(), key: pki.server_key.clone(), ca: pki.ca_cert.clone(), @@ -395,7 +395,7 @@ mod mtls_e2e { allowed_usernames: vec!["brynary".to_string()], }, ]); - let addr = start_tls_server(&tls_config, ClientAuth::Optional, auth_mode).await; + let addr = start_tls_server(&tls_settings, ClientAuth::Optional, auth_mode).await; // Client trusts the server CA but presents NO client cert let client = build_client(&pki.ca_cert, None, None); diff --git a/lib/crates/fabro-cli/src/cli_config.rs b/lib/crates/fabro-cli/src/cli_config.rs index ee767a2b8..dd0824ad3 100644 --- a/lib/crates/fabro-cli/src/cli_config.rs +++ b/lib/crates/fabro-cli/src/cli_config.rs @@ -28,11 +28,13 @@ const DEFAULT_SERVER_URL: &str = "http://localhost:3000"; pub fn resolve_mode( cli_mode: Option, cli_server_url: Option<&str>, - config: &FabroSettings, + settings: &FabroSettings, ) -> ResolvedMode { - let mode = cli_mode.or_else(|| config.mode.clone()).unwrap_or_default(); + let mode = cli_mode + .or_else(|| settings.mode.clone()) + .unwrap_or_default(); - let server_defaults = config.server.as_ref(); + let server_defaults = settings.server.as_ref(); let server_base_url = cli_server_url .map(String::from) @@ -90,8 +92,8 @@ mod tests { #[test] fn resolve_mode_defaults_to_standalone() { - let config = FabroSettings::default(); - let resolved = resolve_mode(None, None, &config); + let settings = FabroSettings::default(); + let resolved = resolve_mode(None, None, &settings); assert_eq!(resolved.mode, ExecutionMode::Standalone); assert_eq!(resolved.server_base_url, DEFAULT_SERVER_URL); assert_eq!(resolved.tls, None); @@ -99,7 +101,7 @@ mod tests { #[test] fn resolve_mode_config_overrides_default() { - let config = FabroSettings { + let settings = FabroSettings { mode: Some(ExecutionMode::Server), server: Some(ServerSettings { base_url: Some("https://config.example.com".to_string()), @@ -107,14 +109,14 @@ mod tests { }), ..FabroSettings::default() }; - let resolved = resolve_mode(None, None, &config); + let resolved = resolve_mode(None, None, &settings); assert_eq!(resolved.mode, ExecutionMode::Server); assert_eq!(resolved.server_base_url, "https://config.example.com"); } #[test] fn resolve_mode_cli_overrides_config() { - let config = FabroSettings { + let settings = FabroSettings { mode: Some(ExecutionMode::Standalone), server: Some(ServerSettings { base_url: Some("https://config.example.com".to_string()), @@ -125,7 +127,7 @@ mod tests { let resolved = resolve_mode( Some(ExecutionMode::Server), Some("https://cli.example.com"), - &config, + &settings, ); assert_eq!(resolved.mode, ExecutionMode::Server); assert_eq!(resolved.server_base_url, "https://cli.example.com"); @@ -133,14 +135,14 @@ mod tests { #[test] fn resolve_mode_cli_url_overrides_config_url() { - let config = FabroSettings { + let settings = FabroSettings { server: Some(ServerSettings { base_url: Some("https://config.example.com".to_string()), tls: None, }), ..FabroSettings::default() }; - let resolved = resolve_mode(None, Some("https://cli.example.com"), &config); + let resolved = resolve_mode(None, Some("https://cli.example.com"), &settings); assert_eq!(resolved.server_base_url, "https://cli.example.com"); } @@ -151,14 +153,14 @@ mod tests { key: PathBuf::from("key.pem"), ca: PathBuf::from("ca.pem"), }; - let config = FabroSettings { + let settings = FabroSettings { server: Some(ServerSettings { base_url: None, tls: Some(tls.clone()), }), ..FabroSettings::default() }; - let resolved = resolve_mode(None, None, &config); + let resolved = resolve_mode(None, None, &settings); assert_eq!(resolved.tls, Some(tls)); } } diff --git a/lib/crates/fabro-cli/src/commands/asset/cp.rs b/lib/crates/fabro-cli/src/commands/asset/cp.rs index 35ca836d6..f4175ec4a 100644 --- a/lib/crates/fabro-cli/src/commands/asset/cp.rs +++ b/lib/crates/fabro-cli/src/commands/asset/cp.rs @@ -11,8 +11,8 @@ use crate::cli_config::load_cli_settings; use crate::shared::split_run_path; pub(super) fn cp_command(args: &AssetCpArgs) -> Result<()> { - let cli_config = load_cli_settings(None)?; - let base = runs_base(&cli_config.storage_dir()); + let cli_settings = load_cli_settings(None)?; + let base = runs_base(&cli_settings.storage_dir()); let (run_id, asset_path) = parse_source(&args.source); let run = resolve_run(&base, run_id)?; let runtime_state = RuntimeState::new(&run.path); diff --git a/lib/crates/fabro-cli/src/commands/asset/list.rs b/lib/crates/fabro-cli/src/commands/asset/list.rs index ae5ad05f6..f009425bf 100644 --- a/lib/crates/fabro-cli/src/commands/asset/list.rs +++ b/lib/crates/fabro-cli/src/commands/asset/list.rs @@ -9,8 +9,8 @@ use crate::cli_config::load_cli_settings; use crate::shared::format_size; pub(super) fn list_command(args: &AssetListArgs) -> Result<()> { - let cli_config = load_cli_settings(None)?; - let base = runs_base(&cli_config.storage_dir()); + let cli_settings = load_cli_settings(None)?; + let base = runs_base(&cli_settings.storage_dir()); let run = resolve_run(&base, &args.run_id)?; let runtime_state = RuntimeState::new(&run.path); let entries = scan_assets(&runtime_state.assets_dir(), args.node.as_deref())?; diff --git a/lib/crates/fabro-cli/src/commands/doctor.rs b/lib/crates/fabro-cli/src/commands/doctor.rs index 1df1321d0..26908a230 100644 --- a/lib/crates/fabro-cli/src/commands/doctor.rs +++ b/lib/crates/fabro-cli/src/commands/doctor.rs @@ -938,7 +938,7 @@ pub(crate) async fn run_doctor(verbose: bool, live: bool) -> i32 { spinner.enable_steady_tick(std::time::Duration::from_millis(80)); // Gather state - let cli_config = load_cli_settings(None).unwrap_or_default(); + let cli_settings = load_cli_settings(None).unwrap_or_default(); let config_path = dirs::home_dir().map(|h| h.join(".fabro").join("cli.toml")); let config_exists = config_path.as_ref().is_some_and(|p| p.exists()); @@ -953,11 +953,11 @@ pub(crate) async fn run_doctor(verbose: bool, live: bool) -> i32 { let daytona_configured = std::env::var("DAYTONA_API_KEY").is_ok(); #[cfg(feature = "server")] - let server_config = fabro_config::server::load_server_settings(None).unwrap_or_default(); + let server_settings = fabro_config::server::load_server_settings(None).unwrap_or_default(); #[cfg(feature = "server")] let api_status = { - let api = server_config.api.clone().unwrap_or_default(); + let api = server_settings.api.clone().unwrap_or_default(); ApiStatus { base_url: api.base_url.clone(), authentication_strategies: api.authentication_strategies.clone(), @@ -966,7 +966,7 @@ pub(crate) async fn run_doctor(verbose: bool, live: bool) -> i32 { #[cfg(feature = "server")] let web_status = { - let web = server_config.web.clone().unwrap_or_default(); + let web = server_settings.web.clone().unwrap_or_default(); WebStatus { url: web.url.clone(), auth_provider: web.auth.provider.clone(), @@ -975,15 +975,15 @@ pub(crate) async fn run_doctor(verbose: bool, live: bool) -> i32 { }; #[cfg(feature = "server")] - let server_git = server_config.git.clone().unwrap_or_default(); + let server_git = server_settings.git.clone().unwrap_or_default(); #[cfg(feature = "server")] - let server_api = server_config.api.clone().unwrap_or_default(); + let server_api = server_settings.api.clone().unwrap_or_default(); #[cfg(feature = "server")] - let server_web = server_config.web.clone().unwrap_or_default(); + let server_web = server_settings.web.clone().unwrap_or_default(); - let git_app_id = cli_config.app_id().map(str::to_owned); + let git_app_id = cli_settings.app_id().map(str::to_owned); let private_key_raw = std::env::var("GITHUB_APP_PRIVATE_KEY").ok(); let sign_result = match (&git_app_id, &private_key_raw) { (Some(app_id), Some(raw)) => { @@ -1011,7 +1011,7 @@ pub(crate) async fn run_doctor(verbose: bool, live: bool) -> i32 { }; let github_status = GithubAppStatus { app_id: git_app_id, - slug: cli_config.slug().map(str::to_owned), + slug: cli_settings.slug().map(str::to_owned), private_key_set: private_key_raw.is_some(), sign_result, #[cfg(feature = "server")] diff --git a/lib/crates/fabro-cli/src/commands/exec.rs b/lib/crates/fabro-cli/src/commands/exec.rs index b7ecb86b0..8a9a5a4b4 100644 --- a/lib/crates/fabro-cli/src/commands/exec.rs +++ b/lib/crates/fabro-cli/src/commands/exec.rs @@ -9,10 +9,10 @@ use crate::args::GlobalArgs; use crate::cli_config; pub(crate) async fn execute(mut args: AgentArgs, globals: &GlobalArgs) -> Result<()> { - let cli_config = cli_config::load_cli_settings(None)?; + let cli_settings = cli_config::load_cli_settings(None)?; #[cfg(feature = "sleep_inhibitor")] - let _sleep_guard = crate::sleep_inhibitor::guard(cli_config.prevent_idle_sleep_enabled()); - let exec_defaults = cli_config.exec.as_ref(); + let _sleep_guard = crate::sleep_inhibitor::guard(cli_settings.prevent_idle_sleep_enabled()); + let exec_defaults = cli_settings.exec.as_ref(); args.apply_cli_defaults( exec_defaults.and_then(|a| a.provider.as_deref()), exec_defaults.and_then(|a| a.model.as_deref()), @@ -23,9 +23,9 @@ pub(crate) async fn execute(mut args: AgentArgs, globals: &GlobalArgs) -> Result let resolved = cli_config::resolve_mode( globals.mode.clone(), globals.server_url.as_deref(), - &cli_config, + &cli_settings, ); - let mcp_servers: Vec = cli_config + let mcp_servers: Vec = cli_settings .mcp_servers .into_iter() .map(|(name, entry): (String, McpServerEntry)| entry.into_config(name)) diff --git a/lib/crates/fabro-cli/src/commands/install.rs b/lib/crates/fabro-cli/src/commands/install.rs index 03f05a064..694c857d1 100644 --- a/lib/crates/fabro-cli/src/commands/install.rs +++ b/lib/crates/fabro-cli/src/commands/install.rs @@ -920,18 +920,21 @@ mod tests { #[cfg(feature = "server")] fn config_toml_roundtrips() { let toml_str = format_config_toml("brynary"); - let config: fabro_config::FabroSettings = + let settings: fabro_config::FabroSettings = toml::from_str(&toml_str).expect("config should parse"); - assert_eq!(config.web.unwrap().auth.allowed_usernames, vec!["brynary"]); + assert_eq!( + settings.web.unwrap().auth.allowed_usernames, + vec!["brynary"] + ); } #[test] #[cfg(feature = "server")] fn config_toml_has_auth_strategies() { let toml_str = format_config_toml("alice"); - let config: fabro_config::FabroSettings = toml::from_str(&toml_str).unwrap(); + let settings: fabro_config::FabroSettings = toml::from_str(&toml_str).unwrap(); assert_eq!( - config.api.unwrap().authentication_strategies, + settings.api.unwrap().authentication_strategies, vec![ fabro_config::server::ApiAuthStrategy::Jwt, fabro_config::server::ApiAuthStrategy::Mtls, @@ -944,8 +947,8 @@ mod tests { fn config_toml_has_tls_paths() { use std::path::PathBuf; let toml_str = format_config_toml("bob"); - let config: fabro_config::FabroSettings = toml::from_str(&toml_str).unwrap(); - let tls = config.api.unwrap().tls.expect("tls should be set"); + let settings: fabro_config::FabroSettings = toml::from_str(&toml_str).unwrap(); + let tls = settings.api.unwrap().tls.expect("tls should be set"); assert_eq!(tls.cert, PathBuf::from("~/.fabro/certs/server.crt")); assert_eq!(tls.key, PathBuf::from("~/.fabro/certs/server.key")); assert_eq!(tls.ca, PathBuf::from("~/.fabro/certs/ca.crt")); diff --git a/lib/crates/fabro-cli/src/commands/llm/chat.rs b/lib/crates/fabro-cli/src/commands/llm/chat.rs index 1d97401aa..e71f30310 100644 --- a/lib/crates/fabro-cli/src/commands/llm/chat.rs +++ b/lib/crates/fabro-cli/src/commands/llm/chat.rs @@ -8,10 +8,10 @@ use crate::args::GlobalArgs; pub(super) async fn execute( mut args: ChatArgs, - cli_config: &FabroSettings, + cli_settings: &FabroSettings, globals: &GlobalArgs, ) -> Result<()> { - let llm_defaults = cli_config.llm.as_ref(); + let llm_defaults = cli_settings.llm.as_ref(); if args.model.is_none() { args.model = llm_defaults.and_then(|l| l.model.clone()); } @@ -21,7 +21,7 @@ pub(super) async fn execute( let resolved = crate::cli_config::resolve_mode( globals.mode.clone(), globals.server_url.as_deref(), - cli_config, + cli_settings, ); match resolved.mode { crate::cli_config::ExecutionMode::Server => { diff --git a/lib/crates/fabro-cli/src/commands/llm/mod.rs b/lib/crates/fabro-cli/src/commands/llm/mod.rs index 2c7ff65d3..d0408381c 100644 --- a/lib/crates/fabro-cli/src/commands/llm/mod.rs +++ b/lib/crates/fabro-cli/src/commands/llm/mod.rs @@ -7,10 +7,10 @@ use crate::args::{GlobalArgs, LlmCommand, LlmNamespace}; use crate::cli_config::load_cli_settings; pub(crate) async fn dispatch(ns: LlmNamespace, globals: &GlobalArgs) -> Result<()> { - let cli_config = load_cli_settings(None)?; + let cli_settings = load_cli_settings(None)?; match ns.command { - LlmCommand::Prompt(args) => prompt::execute(args, &cli_config, globals).await, - LlmCommand::Chat(args) => chat::execute(args, &cli_config, globals).await, + LlmCommand::Prompt(args) => prompt::execute(args, &cli_settings, globals).await, + LlmCommand::Chat(args) => chat::execute(args, &cli_settings, globals).await, } } diff --git a/lib/crates/fabro-cli/src/commands/llm/prompt.rs b/lib/crates/fabro-cli/src/commands/llm/prompt.rs index 3d9109b2f..6d08fde35 100644 --- a/lib/crates/fabro-cli/src/commands/llm/prompt.rs +++ b/lib/crates/fabro-cli/src/commands/llm/prompt.rs @@ -8,10 +8,10 @@ use crate::args::GlobalArgs; pub(super) async fn execute( mut args: PromptArgs, - cli_config: &FabroSettings, + cli_settings: &FabroSettings, globals: &GlobalArgs, ) -> Result<()> { - let llm_defaults = cli_config.llm.as_ref(); + let llm_defaults = cli_settings.llm.as_ref(); if args.model.is_none() { args.model = llm_defaults.and_then(|l| l.model.clone()); } @@ -21,7 +21,7 @@ pub(super) async fn execute( let resolved = crate::cli_config::resolve_mode( globals.mode.clone(), globals.server_url.as_deref(), - cli_config, + cli_settings, ); match resolved.mode { crate::cli_config::ExecutionMode::Server => { diff --git a/lib/crates/fabro-cli/src/commands/model.rs b/lib/crates/fabro-cli/src/commands/model.rs index 72b0ed394..0fd3f1db6 100644 --- a/lib/crates/fabro-cli/src/commands/model.rs +++ b/lib/crates/fabro-cli/src/commands/model.rs @@ -11,11 +11,11 @@ pub(crate) async fn execute(command: Option, globals: &GlobalArgs let server = { #[cfg(feature = "server")] { - let cli_config = cli_config::load_cli_settings(None)?; + let cli_settings = cli_config::load_cli_settings(None)?; let resolved = cli_config::resolve_mode( globals.mode.clone(), globals.server_url.as_deref(), - &cli_config, + &cli_settings, ); match resolved.mode { cli_config::ExecutionMode::Server => { diff --git a/lib/crates/fabro-cli/src/commands/pr/close.rs b/lib/crates/fabro-cli/src/commands/pr/close.rs index ca5342885..04d28618b 100644 --- a/lib/crates/fabro-cli/src/commands/pr/close.rs +++ b/lib/crates/fabro-cli/src/commands/pr/close.rs @@ -12,8 +12,8 @@ pub(super) async fn close_command( args: PrCloseArgs, github_app: Option, ) -> Result<()> { - let cli_config = load_cli_settings(None)?; - let base = runs_base(&cli_config.storage_dir()); + let cli_settings = load_cli_settings(None)?; + let base = runs_base(&cli_settings.storage_dir()); close_from(&base, args, github_app).await } diff --git a/lib/crates/fabro-cli/src/commands/pr/create.rs b/lib/crates/fabro-cli/src/commands/pr/create.rs index a2e9c43d9..39c8bcf1f 100644 --- a/lib/crates/fabro-cli/src/commands/pr/create.rs +++ b/lib/crates/fabro-cli/src/commands/pr/create.rs @@ -19,8 +19,8 @@ pub(super) async fn create_command( args: PrCreateArgs, github_app: Option, ) -> Result<()> { - let cli_config = load_cli_settings(None)?; - let base = runs_base(&cli_config.storage_dir()); + let cli_settings = load_cli_settings(None)?; + let base = runs_base(&cli_settings.storage_dir()); create_from(&base, args, github_app).await } diff --git a/lib/crates/fabro-cli/src/commands/pr/list.rs b/lib/crates/fabro-cli/src/commands/pr/list.rs index a7cf45f4c..950f36bad 100644 --- a/lib/crates/fabro-cli/src/commands/pr/list.rs +++ b/lib/crates/fabro-cli/src/commands/pr/list.rs @@ -14,8 +14,8 @@ pub(super) async fn list_command( args: PrListArgs, github_app: Option, ) -> Result<()> { - let cli_config = load_cli_settings(None)?; - let base = runs_base(&cli_config.storage_dir()); + let cli_settings = load_cli_settings(None)?; + let base = runs_base(&cli_settings.storage_dir()); list_from(&base, args, github_app).await } diff --git a/lib/crates/fabro-cli/src/commands/pr/merge.rs b/lib/crates/fabro-cli/src/commands/pr/merge.rs index 039412cdc..b68294636 100644 --- a/lib/crates/fabro-cli/src/commands/pr/merge.rs +++ b/lib/crates/fabro-cli/src/commands/pr/merge.rs @@ -13,8 +13,8 @@ pub(super) async fn merge_command( args: PrMergeArgs, github_app: Option, ) -> Result<()> { - let cli_config = load_cli_settings(None)?; - let base = runs_base(&cli_config.storage_dir()); + let cli_settings = load_cli_settings(None)?; + let base = runs_base(&cli_settings.storage_dir()); merge_from(&base, args, github_app).await } diff --git a/lib/crates/fabro-cli/src/commands/pr/mod.rs b/lib/crates/fabro-cli/src/commands/pr/mod.rs index 6b56ecab4..55cdc609d 100644 --- a/lib/crates/fabro-cli/src/commands/pr/mod.rs +++ b/lib/crates/fabro-cli/src/commands/pr/mod.rs @@ -16,8 +16,8 @@ use crate::cli_config::load_cli_settings; use crate::shared::github::build_github_app_credentials; pub(crate) async fn dispatch(ns: PrNamespace) -> Result<()> { - let cli_config = load_cli_settings(None)?; - let github_app = build_github_app_credentials(cli_config.app_id()); + let cli_settings = load_cli_settings(None)?; + let github_app = build_github_app_credentials(cli_settings.app_id()); match ns.command { PrCommand::Create(args) => create::create_command(args, github_app).await, diff --git a/lib/crates/fabro-cli/src/commands/pr/view.rs b/lib/crates/fabro-cli/src/commands/pr/view.rs index aec279782..cfda851da 100644 --- a/lib/crates/fabro-cli/src/commands/pr/view.rs +++ b/lib/crates/fabro-cli/src/commands/pr/view.rs @@ -13,8 +13,8 @@ pub(super) async fn view_command( args: PrViewArgs, github_app: Option, ) -> Result<()> { - let cli_config = load_cli_settings(None)?; - let base = runs_base(&cli_config.storage_dir()); + let cli_settings = load_cli_settings(None)?; + let base = runs_base(&cli_settings.storage_dir()); view_from(&base, args, github_app).await } diff --git a/lib/crates/fabro-cli/src/commands/preflight.rs b/lib/crates/fabro-cli/src/commands/preflight.rs index c449f51c6..bbacadbaa 100644 --- a/lib/crates/fabro-cli/src/commands/preflight.rs +++ b/lib/crates/fabro-cli/src/commands/preflight.rs @@ -24,10 +24,10 @@ use crate::shared::github::build_github_app_credentials; pub(crate) async fn execute(mut args: PreflightArgs) -> anyhow::Result<()> { let styles: &'static Styles = Box::leak(Box::new(Styles::detect_stderr())); let cli_defaults = load_cli_config(None)?; - let cli_config: FabroSettings = cli_defaults.clone().try_into()?; - args.verbose = args.verbose || cli_config.verbose_enabled(); + let cli_settings: FabroSettings = cli_defaults.clone().try_into()?; + args.verbose = args.verbose || cli_settings.verbose_enabled(); - let github_app = build_github_app_credentials(cli_config.app_id()); + let github_app = build_github_app_credentials(cli_settings.app_id()); let cli_args_config = FabroConfig::try_from(&args)?; let cwd = std::env::current_dir()?; let settings = resolve_settings(ResolveSettingsInput { diff --git a/lib/crates/fabro-cli/src/commands/repo/init.rs b/lib/crates/fabro-cli/src/commands/repo/init.rs index bc340b737..5149cf416 100644 --- a/lib/crates/fabro-cli/src/commands/repo/init.rs +++ b/lib/crates/fabro-cli/src/commands/repo/init.rs @@ -153,11 +153,11 @@ async fn check_github_app_installation() { }; // Load CLI config to get app_id and slug - let Ok(cli_config) = load_cli_settings(None) else { + let Ok(cli_settings) = load_cli_settings(None) else { return; }; - let app_id = if let Some(id) = cli_config.app_id() { + let app_id = if let Some(id) = cli_settings.app_id() { id.to_string() } else { eprintln!( @@ -170,7 +170,7 @@ async fn check_github_app_installation() { return; }; - let slug = cli_config.slug().map(String::from); + let slug = cli_settings.slug().map(String::from); // Build GitHub App credentials let Some(creds) = build_github_app_credentials(Some(&app_id)) else { diff --git a/lib/crates/fabro-cli/src/commands/run/command.rs b/lib/crates/fabro-cli/src/commands/run/command.rs index d1a1ed3d3..d6d03a522 100644 --- a/lib/crates/fabro-cli/src/commands/run/command.rs +++ b/lib/crates/fabro-cli/src/commands/run/command.rs @@ -7,11 +7,11 @@ use crate::args::{GlobalArgs, RunArgs}; pub(crate) async fn execute(mut args: RunArgs, _globals: &GlobalArgs) -> Result<()> { let styles: &'static Styles = Box::leak(Box::new(Styles::detect_stderr())); let cli_defaults = load_cli_config(None)?; - let cli_config: fabro_config::FabroSettings = cli_defaults.clone().try_into()?; - args.verbose = args.verbose || cli_config.verbose_enabled(); + let cli_settings: fabro_config::FabroSettings = cli_defaults.clone().try_into()?; + args.verbose = args.verbose || cli_settings.verbose_enabled(); let quiet = args.detach; - let prevent_idle_sleep = cli_config.prevent_idle_sleep_enabled(); + let prevent_idle_sleep = cli_settings.prevent_idle_sleep_enabled(); let (run_id, run_dir) = super::create::create_run(&args, cli_defaults, styles, quiet)?; #[cfg(feature = "sleep_inhibitor")] diff --git a/lib/crates/fabro-cli/src/commands/run/cp.rs b/lib/crates/fabro-cli/src/commands/run/cp.rs index 5d5c13c26..676d91eea 100644 --- a/lib/crates/fabro-cli/src/commands/run/cp.rs +++ b/lib/crates/fabro-cli/src/commands/run/cp.rs @@ -28,8 +28,8 @@ enum CopyDirection { pub(crate) async fn cp_command(args: CpArgs) -> Result<()> { let direction = parse_direction(&args.src, &args.dst)?; - let cli_config = load_cli_settings(None)?; - let base = runs_base(&cli_config.storage_dir()); + let cli_settings = load_cli_settings(None)?; + let base = runs_base(&cli_settings.storage_dir()); match direction { CopyDirection::Download { diff --git a/lib/crates/fabro-cli/src/commands/run/detached.rs b/lib/crates/fabro-cli/src/commands/run/detached.rs index d27282913..a9216bf99 100644 --- a/lib/crates/fabro-cli/src/commands/run/detached.rs +++ b/lib/crates/fabro-cli/src/commands/run/detached.rs @@ -12,11 +12,11 @@ use crate::cli_config; use crate::shared; pub(crate) async fn execute(run_dir: PathBuf, launcher_path: PathBuf, resume: bool) -> Result<()> { - let cli_config = cli_config::load_cli_settings(None)?; - let github_app = shared::github::build_github_app_credentials(cli_config.app_id()); + let cli_settings = cli_config::load_cli_settings(None)?; + let github_app = shared::github::build_github_app_credentials(cli_settings.app_id()); let git_author = GitAuthor::from_options( - cli_config.git_author().and_then(|a| a.name.clone()), - cli_config.git_author().and_then(|a| a.email.clone()), + cli_settings.git_author().and_then(|a| a.name.clone()), + cli_settings.git_author().and_then(|a| a.email.clone()), ); let _launcher_guard = scopeguard::guard(launcher_path.clone(), |path| { diff --git a/lib/crates/fabro-cli/src/commands/run/diff.rs b/lib/crates/fabro-cli/src/commands/run/diff.rs index 23b841bbc..93ccaaea8 100644 --- a/lib/crates/fabro-cli/src/commands/run/diff.rs +++ b/lib/crates/fabro-cli/src/commands/run/diff.rs @@ -15,8 +15,8 @@ use crate::cli_config::load_cli_settings; pub(crate) async fn run(args: DiffArgs) -> Result<()> { info!(run_id = %args.run, "Showing diff"); - let cli_config = load_cli_settings(None)?; - let base = runs_base(&cli_config.storage_dir()); + let cli_settings = load_cli_settings(None)?; + let base = runs_base(&cli_settings.storage_dir()); let run_dir = resolve_run(&base, &args.run)?.path; let patch = resolve_diff(&run_dir, &args).await?; diff --git a/lib/crates/fabro-cli/src/commands/run/logs.rs b/lib/crates/fabro-cli/src/commands/run/logs.rs index cb0108e7e..e703f3064 100644 --- a/lib/crates/fabro-cli/src/commands/run/logs.rs +++ b/lib/crates/fabro-cli/src/commands/run/logs.rs @@ -12,8 +12,8 @@ use crate::args::LogsArgs; use crate::cli_config::load_cli_settings; pub(crate) fn run(args: &LogsArgs, styles: &Styles) -> Result<()> { - let cli_config = load_cli_settings(None)?; - let base = runs_base(&cli_config.storage_dir()); + let cli_settings = load_cli_settings(None)?; + let base = runs_base(&cli_settings.storage_dir()); let run = resolve_run(&base, &args.run)?; info!(run_id = %run.run_id, "Showing logs"); diff --git a/lib/crates/fabro-cli/src/commands/run/mod.rs b/lib/crates/fabro-cli/src/commands/run/mod.rs index a59ddf92d..b2706ee7f 100644 --- a/lib/crates/fabro-cli/src/commands/run/mod.rs +++ b/lib/crates/fabro-cli/src/commands/run/mod.rs @@ -37,8 +37,8 @@ pub(crate) async fn dispatch(cmd: RunCommands, globals: &GlobalArgs) -> Result<( Ok(()) } RunCommands::Start { run } => { - let cli_config = load_cli_settings(None)?; - let base = runs_base(&cli_config.storage_dir()); + let cli_settings = load_cli_settings(None)?; + let base = runs_base(&cli_settings.storage_dir()); let run_info = resolve_run(&base, &run)?; let child = start::start_run(&run_info.path, false)?; eprintln!("Started engine process (PID {})", child.id()); @@ -46,8 +46,8 @@ pub(crate) async fn dispatch(cmd: RunCommands, globals: &GlobalArgs) -> Result<( } RunCommands::Attach { run } => { let styles: &'static Styles = Box::leak(Box::new(Styles::detect_stderr())); - let cli_config = load_cli_settings(None)?; - let base = runs_base(&cli_config.storage_dir()); + let cli_settings = load_cli_settings(None)?; + let base = runs_base(&cli_settings.storage_dir()); let run_info = resolve_run(&base, &run)?; let exit_code = attach::attach_run(&run_info.path, false, styles, None).await?; if exit_code != std::process::ExitCode::SUCCESS { @@ -72,8 +72,8 @@ pub(crate) async fn dispatch(cmd: RunCommands, globals: &GlobalArgs) -> Result<( let styles: &'static Styles = Box::leak(Box::new(Styles::detect_stderr())); #[cfg(feature = "sleep_inhibitor")] let _sleep_guard = { - let cli_config = load_cli_settings(None)?; - crate::sleep_inhibitor::guard(cli_config.prevent_idle_sleep_enabled()) + let cli_settings = load_cli_settings(None)?; + crate::sleep_inhibitor::guard(cli_settings.prevent_idle_sleep_enabled()) }; resume::resume_command(args, styles).await } diff --git a/lib/crates/fabro-cli/src/commands/run/preview.rs b/lib/crates/fabro-cli/src/commands/run/preview.rs index c1668f57b..c12033ac9 100644 --- a/lib/crates/fabro-cli/src/commands/run/preview.rs +++ b/lib/crates/fabro-cli/src/commands/run/preview.rs @@ -10,8 +10,8 @@ use crate::cli_config::load_cli_settings; use crate::shared::validate_daytona_provider; pub(crate) async fn run(args: PreviewArgs) -> Result<()> { - let cli_config = load_cli_settings(None)?; - let base = runs_base(&cli_config.storage_dir()); + let cli_settings = load_cli_settings(None)?; + let base = runs_base(&cli_settings.storage_dir()); let run_dir = resolve_run(&base, &args.run)?.path; let sandbox_json = run_dir.join("sandbox.json"); let record = fabro_sandbox::SandboxRecord::load(&sandbox_json).context( diff --git a/lib/crates/fabro-cli/src/commands/run/resume.rs b/lib/crates/fabro-cli/src/commands/run/resume.rs index f750765f7..597cc6d85 100644 --- a/lib/crates/fabro-cli/src/commands/run/resume.rs +++ b/lib/crates/fabro-cli/src/commands/run/resume.rs @@ -16,8 +16,8 @@ pub(crate) async fn resume_command( args: ResumeArgs, styles: &'static Styles, ) -> anyhow::Result<()> { - let cli_config = load_cli_settings(None)?; - let base = runs_base(&cli_config.storage_dir()); + let cli_settings = load_cli_settings(None)?; + let base = runs_base(&cli_settings.storage_dir()); let run_dir = find_run_by_prefix(&base, &args.run)?; // find_run_by_prefix can match orphan directories (no run.json). diff --git a/lib/crates/fabro-cli/src/commands/run/ssh.rs b/lib/crates/fabro-cli/src/commands/run/ssh.rs index d4b3cc9ef..1592a6f12 100644 --- a/lib/crates/fabro-cli/src/commands/run/ssh.rs +++ b/lib/crates/fabro-cli/src/commands/run/ssh.rs @@ -10,8 +10,8 @@ use crate::cli_config::load_cli_settings; use crate::shared::validate_daytona_provider; pub(crate) async fn run(args: SshArgs) -> Result<()> { - let cli_config = load_cli_settings(None)?; - let base = runs_base(&cli_config.storage_dir()); + let cli_settings = load_cli_settings(None)?; + let base = runs_base(&cli_settings.storage_dir()); let run_dir = resolve_run(&base, &args.run)?.path; let sandbox_json = run_dir.join("sandbox.json"); let record = fabro_sandbox::SandboxRecord::load(&sandbox_json).context( diff --git a/lib/crates/fabro-cli/src/commands/run/wait.rs b/lib/crates/fabro-cli/src/commands/run/wait.rs index a6d01425d..914b95a43 100644 --- a/lib/crates/fabro-cli/src/commands/run/wait.rs +++ b/lib/crates/fabro-cli/src/commands/run/wait.rs @@ -13,8 +13,8 @@ use crate::cli_config::load_cli_settings; use crate::shared::format_duration_ms; pub(crate) fn run(args: &WaitArgs, styles: &Styles) -> Result<()> { - let cli_config = load_cli_settings(None)?; - let base = runs_base(&cli_config.storage_dir()); + let cli_settings = load_cli_settings(None)?; + let base = runs_base(&cli_settings.storage_dir()); let run_info = resolve_run(&base, &args.run)?; info!(run_id = %run_info.run_id, "Waiting for run to complete"); diff --git a/lib/crates/fabro-cli/src/commands/runs/inspect.rs b/lib/crates/fabro-cli/src/commands/runs/inspect.rs index 4d0fd8cb4..dc43a3de9 100644 --- a/lib/crates/fabro-cli/src/commands/runs/inspect.rs +++ b/lib/crates/fabro-cli/src/commands/runs/inspect.rs @@ -26,8 +26,8 @@ pub(crate) struct InspectOutput { } pub(crate) fn run(args: &InspectArgs) -> Result<()> { - let cli_config = load_cli_settings(None)?; - let base = runs_base(&cli_config.storage_dir()); + let cli_settings = load_cli_settings(None)?; + let base = runs_base(&cli_settings.storage_dir()); let run = resolve_run(&base, &args.run)?; let output = inspect_run_dir(&run.run_id, &run.path, run.status); let json = serde_json::to_string_pretty(&[output])?; diff --git a/lib/crates/fabro-cli/src/commands/runs/list.rs b/lib/crates/fabro-cli/src/commands/runs/list.rs index 81cc67490..33fb74b68 100644 --- a/lib/crates/fabro-cli/src/commands/runs/list.rs +++ b/lib/crates/fabro-cli/src/commands/runs/list.rs @@ -18,8 +18,8 @@ use crate::shared::{color_if, format_duration_ms, tilde_path}; use super::short_run_id; pub(crate) fn list_command(args: &RunsListArgs, styles: &Styles) -> Result<()> { - let cli_config = load_cli_settings(None)?; - let base = runs_base(&cli_config.storage_dir()); + let cli_settings = load_cli_settings(None)?; + let base = runs_base(&cli_settings.storage_dir()); let runs = scan_runs(&base)?; let label_filters = parse_label_filters(&args.filter.label); let filtered = filter_runs( diff --git a/lib/crates/fabro-cli/src/commands/runs/rm.rs b/lib/crates/fabro-cli/src/commands/runs/rm.rs index 42e0d42d5..0bc68d059 100644 --- a/lib/crates/fabro-cli/src/commands/runs/rm.rs +++ b/lib/crates/fabro-cli/src/commands/runs/rm.rs @@ -15,8 +15,8 @@ use crate::cli_config::load_cli_settings; use super::short_run_id; pub(crate) async fn remove_command(args: &RunsRemoveArgs) -> Result<()> { - let cli_config = load_cli_settings(None)?; - let base = runs_base(&cli_config.storage_dir()); + let cli_settings = load_cli_settings(None)?; + let base = runs_base(&cli_settings.storage_dir()); remove_from(args, &base).await } diff --git a/lib/crates/fabro-cli/src/commands/system/df.rs b/lib/crates/fabro-cli/src/commands/system/df.rs index d4edd5bf9..0d0e85b14 100644 --- a/lib/crates/fabro-cli/src/commands/system/df.rs +++ b/lib/crates/fabro-cli/src/commands/system/df.rs @@ -14,8 +14,8 @@ use crate::cli_config::load_cli_settings; use crate::shared::format_size; pub(super) fn df_command(args: &DfArgs) -> Result<()> { - let cli_config = load_cli_settings(None)?; - let data_dir = cli_config.storage_dir(); + let cli_settings = load_cli_settings(None)?; + let data_dir = cli_settings.storage_dir(); let runs_base_dir = runs_base(&data_dir); let logs_base_dir = logs_base(&data_dir); df_from(args, &data_dir, &runs_base_dir, &logs_base_dir) diff --git a/lib/crates/fabro-cli/src/commands/system/prune.rs b/lib/crates/fabro-cli/src/commands/system/prune.rs index 7c54f291d..f11044de5 100644 --- a/lib/crates/fabro-cli/src/commands/system/prune.rs +++ b/lib/crates/fabro-cli/src/commands/system/prune.rs @@ -12,8 +12,8 @@ use crate::cli_config::load_cli_settings; use crate::shared::format_size; pub(super) fn prune_command(args: &RunsPruneArgs) -> Result<()> { - let cli_config = load_cli_settings(None)?; - let base = runs_base(&cli_config.storage_dir()); + let cli_settings = load_cli_settings(None)?; + let base = runs_base(&cli_settings.storage_dir()); prune_from(args, &base) } diff --git a/lib/crates/fabro-cli/src/main.rs b/lib/crates/fabro-cli/src/main.rs index 010a6b4ef..06c9e60d9 100644 --- a/lib/crates/fabro-cli/src/main.rs +++ b/lib/crates/fabro-cli/src/main.rs @@ -113,9 +113,9 @@ async fn main_inner() -> (String, Result<()>) { } } else { match cli_config::load_cli_settings(None) { - Ok(cli_config) => ( - cli_config.log.as_ref().and_then(|l| l.level.clone()), - cli_config.upgrade_check_enabled(), + Ok(cli_settings) => ( + cli_settings.log.as_ref().and_then(|l| l.level.clone()), + cli_settings.upgrade_check_enabled(), ), Err(err) => return (command_name, Err(err)), } @@ -124,9 +124,9 @@ async fn main_inner() -> (String, Result<()>) { #[cfg(not(feature = "server"))] { match cli_config::load_cli_settings(None) { - Ok(cli_config) => ( - cli_config.log.as_ref().and_then(|l| l.level.clone()), - cli_config.upgrade_check_enabled(), + Ok(cli_settings) => ( + cli_settings.log.as_ref().and_then(|l| l.level.clone()), + cli_settings.upgrade_check_enabled(), ), Err(err) => return (command_name, Err(err)), } @@ -184,8 +184,8 @@ async fn main_inner() -> (String, Result<()>) { fabro_api::serve::serve_command(args, styles).await?; } Commands::Doctor { verbose, dry_run } => { - let cli_config = cli_config::load_cli_settings(None)?; - let verbose = verbose || cli_config.verbose_enabled(); + let cli_settings = cli_config::load_cli_settings(None)?; + let verbose = verbose || cli_settings.verbose_enabled(); let exit_code = commands::doctor::run_doctor(verbose, !dry_run).await; std::process::exit(exit_code); } diff --git a/lib/crates/fabro-config/src/server.rs b/lib/crates/fabro-config/src/server.rs index 4f6b5f633..bad39f0bb 100644 --- a/lib/crates/fabro-config/src/server.rs +++ b/lib/crates/fabro-config/src/server.rs @@ -190,6 +190,6 @@ pub fn load_server_settings(path: Option<&Path>) -> anyhow::Result default `~/.fabro`. -pub fn resolve_storage_dir(config: &FabroSettings) -> PathBuf { - config.storage_dir() +pub fn resolve_storage_dir(settings: &FabroSettings) -> PathBuf { + settings.storage_dir() } diff --git a/lib/crates/fabro-workflows/src/operations/create.rs b/lib/crates/fabro-workflows/src/operations/create.rs index 4f906a7ba..40a3536cb 100644 --- a/lib/crates/fabro-workflows/src/operations/create.rs +++ b/lib/crates/fabro-workflows/src/operations/create.rs @@ -255,9 +255,9 @@ fn persist_validated( } pub(crate) fn resolve_run_settings(mut settings: FabroSettings, graph: &Graph) -> FabroSettings { - let llm_config = settings.llm.as_ref(); - let configured_model = llm_config.and_then(|l| l.model.as_deref()); - let configured_provider = llm_config.and_then(|l| l.provider.as_deref()); + let llm_settings = settings.llm.as_ref(); + let configured_model = llm_settings.and_then(|l| l.model.as_deref()); + let configured_provider = llm_settings.and_then(|l| l.provider.as_deref()); let graph_provider = graph.attrs.get("default_provider").and_then(|v| v.as_str()); let graph_model = graph.attrs.get("default_model").and_then(|v| v.as_str());