diff --git a/codex-rs/keyring-store/src/json_store_full.rs b/codex-rs/keyring-store/src/json_store_full.rs index ba7dbacf2a..a9f50bf5cf 100644 --- a/codex-rs/keyring-store/src/json_store_full.rs +++ b/codex-rs/keyring-store/src/json_store_full.rs @@ -79,7 +79,8 @@ fn load_secret_from_keyring( field: &str, ) -> Result>, FullJsonKeyringError> { keyring_store - .load_secret(service, key) + .load(service, key) + .map(|value| value.map(String::into_bytes)) .map_err(|err| credential_store_error("load", field, err)) } @@ -90,8 +91,11 @@ fn save_secret_to_keyring( value: &[u8], field: &str, ) -> Result<(), FullJsonKeyringError> { + let value = std::str::from_utf8(value).map_err(|err| { + FullJsonKeyringError::new(format!("failed to encode {field} as UTF-8: {err}")) + })?; keyring_store - .save_secret(service, key, value) + .save(service, key, value) .map_err(|err| credential_store_error("write", field, err)) } @@ -145,8 +149,8 @@ mod tests { .expect("JSON should exist"); assert_eq!(loaded, expected); assert_eq!( - store.saved_secret(BASE_KEY), - Some(serde_json::to_vec(&expected).expect("JSON should serialize")), + store.saved_value(BASE_KEY), + Some(serde_json::to_string(&expected).expect("JSON should serialize")), ); } diff --git a/codex-rs/keyring-store/src/json_store_split.rs b/codex-rs/keyring-store/src/json_store_split.rs index d3de2c0977..c88b6e2ae4 100644 --- a/codex-rs/keyring-store/src/json_store_split.rs +++ b/codex-rs/keyring-store/src/json_store_split.rs @@ -395,7 +395,8 @@ fn load_secret_from_keyring( field: &str, ) -> Result>, SplitJsonKeyringError> { keyring_store - .load_secret(service, key) + .load(service, key) + .map(|value| value.map(String::into_bytes)) .map_err(|err| credential_store_error("load", field, err)) } @@ -406,8 +407,11 @@ fn save_secret_to_keyring( value: &[u8], field: &str, ) -> Result<(), SplitJsonKeyringError> { + let value = std::str::from_utf8(value).map_err(|err| { + SplitJsonKeyringError::new(format!("failed to encode {field} as UTF-8: {err}")) + })?; keyring_store - .save_secret(service, key, value) + .save(service, key, value) .map_err(|err| credential_store_error("write", field, err)) } @@ -662,7 +666,7 @@ mod tests { let root_value_key = value_key(BASE_KEY, ""); assert_eq!( - store.saved_secret_utf8(&root_value_key), + store.saved_value(&root_value_key), Some("\"value\"".to_string()) ); @@ -715,11 +719,11 @@ mod tests { assert!(!store.contains(&stale_value_key)); assert!(store.contains(&manifest_key)); assert_eq!( - store.saved_secret_utf8(&value_key(BASE_KEY, "/value")), + store.saved_value(&value_key(BASE_KEY, "/value")), Some("\"second\"".to_string()) ); assert_eq!( - store.saved_secret_utf8(&value_key(BASE_KEY, "/extra")), + store.saved_value(&value_key(BASE_KEY, "/extra")), Some("1".to_string()) );