From 295abf3e511895bfe860382d4f84a15bbca2ef8c Mon Sep 17 00:00:00 2001 From: Michael Bolin Date: Thu, 7 Aug 2025 16:55:33 -0700 Subject: [PATCH] chore: change CodexAuth::from_api_key() to take &str instead of String (#1970) Good practice and simplifies some of the call sites. --- [//]: # (BEGIN SAPLING FOOTER) Stack created with [Sapling](https://sapling-scm.com). Best reviewed with [ReviewStack](https://reviewstack.dev/openai/codex/pull/1970). * #1971 * __->__ #1970 * #1966 * #1965 * #1962 --- codex-rs/core/src/model_provider_info.rs | 2 +- codex-rs/core/tests/client.rs | 8 ++++---- codex-rs/core/tests/compact.rs | 2 +- codex-rs/core/tests/stream_no_completed.rs | 2 +- codex-rs/login/src/lib.rs | 4 ++-- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/codex-rs/core/src/model_provider_info.rs b/codex-rs/core/src/model_provider_info.rs index 887917f4..98f07deb 100644 --- a/codex-rs/core/src/model_provider_info.rs +++ b/codex-rs/core/src/model_provider_info.rs @@ -96,7 +96,7 @@ impl ModelProviderInfo { auth: &Option, ) -> crate::error::Result { let effective_auth = match self.api_key() { - Ok(Some(key)) => Some(CodexAuth::from_api_key(key)), + Ok(Some(key)) => Some(CodexAuth::from_api_key(&key)), Ok(None) => auth.clone(), Err(err) => { if auth.is_some() { diff --git a/codex-rs/core/tests/client.rs b/codex-rs/core/tests/client.rs index 2ea772e3..bd7ad2fe 100644 --- a/codex-rs/core/tests/client.rs +++ b/codex-rs/core/tests/client.rs @@ -93,7 +93,7 @@ async fn includes_session_id_and_model_headers_in_request() { let ctrl_c = std::sync::Arc::new(tokio::sync::Notify::new()); let CodexSpawnOk { codex, .. } = Codex::spawn( config, - Some(CodexAuth::from_api_key("Test API Key".to_string())), + Some(CodexAuth::from_api_key("Test API Key")), ctrl_c.clone(), ) .await @@ -167,7 +167,7 @@ async fn includes_base_instructions_override_in_request() { let ctrl_c = std::sync::Arc::new(tokio::sync::Notify::new()); let CodexSpawnOk { codex, .. } = Codex::spawn( config, - Some(CodexAuth::from_api_key("Test API Key".to_string())), + Some(CodexAuth::from_api_key("Test API Key")), ctrl_c.clone(), ) .await @@ -226,7 +226,7 @@ async fn originator_config_override_is_used() { let ctrl_c = std::sync::Arc::new(tokio::sync::Notify::new()); let CodexSpawnOk { codex, .. } = Codex::spawn( config, - Some(CodexAuth::from_api_key("Test API Key".to_string())), + Some(CodexAuth::from_api_key("Test API Key")), ctrl_c.clone(), ) .await @@ -364,7 +364,7 @@ async fn includes_user_instructions_message_in_request() { let ctrl_c = std::sync::Arc::new(tokio::sync::Notify::new()); let CodexSpawnOk { codex, .. } = Codex::spawn( config, - Some(CodexAuth::from_api_key("Test API Key".to_string())), + Some(CodexAuth::from_api_key("Test API Key")), ctrl_c.clone(), ) .await diff --git a/codex-rs/core/tests/compact.rs b/codex-rs/core/tests/compact.rs index bf47feed..fa5c81d8 100644 --- a/codex-rs/core/tests/compact.rs +++ b/codex-rs/core/tests/compact.rs @@ -145,7 +145,7 @@ async fn summarize_context_three_requests_and_instructions() { let ctrl_c = std::sync::Arc::new(tokio::sync::Notify::new()); let CodexSpawnOk { codex, .. } = Codex::spawn( config, - Some(CodexAuth::from_api_key("dummy".to_string())), + Some(CodexAuth::from_api_key("dummy")), ctrl_c.clone(), ) .await diff --git a/codex-rs/core/tests/stream_no_completed.rs b/codex-rs/core/tests/stream_no_completed.rs index 8a4216b1..0ded3337 100644 --- a/codex-rs/core/tests/stream_no_completed.rs +++ b/codex-rs/core/tests/stream_no_completed.rs @@ -99,7 +99,7 @@ async fn retries_on_early_close() { config.model_provider = model_provider; let CodexSpawnOk { codex, .. } = Codex::spawn( config, - Some(CodexAuth::from_api_key("Test API Key".to_string())), + Some(CodexAuth::from_api_key("Test API Key")), ctrl_c, ) .await diff --git a/codex-rs/login/src/lib.rs b/codex-rs/login/src/lib.rs index 8c8ad75b..8571abcf 100644 --- a/codex-rs/login/src/lib.rs +++ b/codex-rs/login/src/lib.rs @@ -52,9 +52,9 @@ impl PartialEq for CodexAuth { } impl CodexAuth { - pub fn from_api_key(api_key: String) -> Self { + pub fn from_api_key(api_key: &str) -> Self { Self { - api_key: Some(api_key), + api_key: Some(api_key.to_owned()), mode: AuthMode::ApiKey, auth_file: PathBuf::new(), auth_dot_json: Arc::new(Mutex::new(None)),