From 50ccebe33a4412d9ea4f709d70bc139cede1f22e Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 25 Jul 2026 11:00:00 +0000 Subject: [PATCH] Remove re-export-only shim modules flowrs-config's auth.rs and server.rs existed solely to re-export types from flowrs-airflow, which lib.rs then re-exported again. Nothing imported through flowrs_config::auth:: or flowrs_config::server::, so the middle hop was invisible to callers; lib.rs now re-exports from flowrs_airflow directly. auth.rs also exported four types (AstronomerAuth, ComposerAuth, MwaaAuth, MwaaTokenType) that lib.rs never forwarded and nothing used. Likewise composer/auth.rs was a one-line private module re-exporting crate::auth::ComposerAuth; composer/mod.rs now does that directly. Updates CLAUDE.md, which documented the two deleted files. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_0127jzUgqqy8JVX5RydfQxh8 --- CLAUDE.md | 3 +-- .../src/managed_services/composer/auth.rs | 1 - .../src/managed_services/composer/client.rs | 2 +- .../src/managed_services/composer/mod.rs | 3 +-- crates/flowrs-config/src/auth.rs | 4 ---- crates/flowrs-config/src/lib.rs | 14 +++++++------- crates/flowrs-config/src/server.rs | 4 ---- 7 files changed, 10 insertions(+), 21 deletions(-) delete mode 100644 crates/flowrs-airflow/src/managed_services/composer/auth.rs delete mode 100644 crates/flowrs-config/src/auth.rs delete mode 100644 crates/flowrs-config/src/server.rs diff --git a/CLAUDE.md b/CLAUDE.md index f40e38f4..4271383f 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -59,8 +59,7 @@ Self-contained Airflow API client library. Has no dependencies on other workspac TUI-specific configuration management. Depends on `flowrs-airflow` for auth/server types (re-exports them). - `src/lib.rs`: `FlowrsConfig` struct (servers, managed_services, poll_interval, etc.), TOML parsing/writing - `src/paths.rs`: `ConfigPaths` for XDG-compliant config file resolution -- `src/auth.rs`: Re-exports auth types from `flowrs-airflow` -- `src/server.rs`: Re-exports server config types from `flowrs-airflow` +- Auth and server config types are owned by `flowrs-airflow` and re-exported from `src/lib.rs` ### flowrs-tui (root crate, `src/`) The TUI binary. Depends on both `flowrs-airflow` and `flowrs-config`. diff --git a/crates/flowrs-airflow/src/managed_services/composer/auth.rs b/crates/flowrs-airflow/src/managed_services/composer/auth.rs deleted file mode 100644 index e579edbf..00000000 --- a/crates/flowrs-airflow/src/managed_services/composer/auth.rs +++ /dev/null @@ -1 +0,0 @@ -pub use crate::auth::ComposerAuth; diff --git a/crates/flowrs-airflow/src/managed_services/composer/client.rs b/crates/flowrs-airflow/src/managed_services/composer/client.rs index 1d6503fa..b4685210 100644 --- a/crates/flowrs-airflow/src/managed_services/composer/client.rs +++ b/crates/flowrs-airflow/src/managed_services/composer/client.rs @@ -9,7 +9,7 @@ use std::time::Duration; use crate::auth::AirflowAuth; use crate::config::{AirflowConfig, AirflowVersion, ManagedService}; -use super::auth::ComposerAuth; +use super::ComposerAuth; const RESOURCE_MANAGER_URL: &str = "https://cloudresourcemanager.googleapis.com/v1/projects"; const COMPOSER_API_URL: &str = "https://composer.googleapis.com/v1"; diff --git a/crates/flowrs-airflow/src/managed_services/composer/mod.rs b/crates/flowrs-airflow/src/managed_services/composer/mod.rs index 35ca39d1..5162aed2 100644 --- a/crates/flowrs-airflow/src/managed_services/composer/mod.rs +++ b/crates/flowrs-airflow/src/managed_services/composer/mod.rs @@ -1,9 +1,8 @@ -mod auth; mod client; mod provider; mod regions; -pub use auth::ComposerAuth; +pub use crate::auth::ComposerAuth; pub use client::{get_composer_environment_servers, ComposerClient}; pub use provider::ComposerAuthProvider; pub use regions::{get_gcloud_default_region, GCP_REGIONS}; diff --git a/crates/flowrs-config/src/auth.rs b/crates/flowrs-config/src/auth.rs deleted file mode 100644 index 6fcc57de..00000000 --- a/crates/flowrs-config/src/auth.rs +++ /dev/null @@ -1,4 +0,0 @@ -// Auth types are owned by flowrs-airflow. Re-exported here for backward compatibility. -pub use flowrs_airflow::{ - AirflowAuth, AstronomerAuth, BasicAuth, ComposerAuth, MwaaAuth, MwaaTokenType, TokenSource, -}; diff --git a/crates/flowrs-config/src/lib.rs b/crates/flowrs-config/src/lib.rs index 1c98c5b7..5a88b9b3 100644 --- a/crates/flowrs-config/src/lib.rs +++ b/crates/flowrs-config/src/lib.rs @@ -1,12 +1,12 @@ -pub mod auth; pub mod paths; -pub mod server; pub mod theme; -// Re-export all public types at crate root for ergonomic imports -pub use auth::{AirflowAuth, BasicAuth, TokenSource}; +// Auth and server config types are owned by flowrs-airflow; re-export them at +// the crate root so callers get one ergonomic import path. +pub use flowrs_airflow::{ + AirflowAuth, AirflowConfig, AirflowVersion, BasicAuth, GccConfig, ManagedService, TokenSource, +}; pub use paths::ConfigPaths; -pub use server::{AirflowConfig, AirflowVersion, GccConfig, ManagedService}; pub use theme::Theme; use std::fs::OpenOptions; @@ -223,7 +223,7 @@ password = "airflow" #[test] fn test_write_config_conveyor() { - use server::default_timeout; + use flowrs_airflow::config::default_timeout; let config = FlowrsConfig { servers: vec![AirflowConfig { @@ -316,7 +316,7 @@ password = "airflow" }), managed, version: AirflowVersion::V2, - timeout_secs: server::default_timeout(), + timeout_secs: flowrs_airflow::config::default_timeout(), insecure: false, } } diff --git a/crates/flowrs-config/src/server.rs b/crates/flowrs-config/src/server.rs deleted file mode 100644 index dd082ea7..00000000 --- a/crates/flowrs-config/src/server.rs +++ /dev/null @@ -1,4 +0,0 @@ -// Server config types are owned by flowrs-airflow. Re-exported here for backward compatibility. -pub use flowrs_airflow::{AirflowConfig, AirflowVersion, GccConfig, ManagedService}; - -pub use flowrs_airflow::config::default_timeout;