Restore api_key.rs to origin/main

Richard Feldman created

Change summary

crates/language_model/src/api_key.rs | 14 ++++++++++++++
1 file changed, 14 insertions(+)

Detailed changes

crates/language_model/src/api_key.rs 🔗

@@ -228,6 +228,10 @@ impl ApiKeyState {
 }
 
 impl ApiKey {
+    pub fn key(&self) -> &str {
+        &self.key
+    }
+
     pub fn from_env(env_var_name: SharedString, key: &str) -> Self {
         Self {
             source: ApiKeySource::EnvVar(env_var_name),
@@ -235,6 +239,16 @@ impl ApiKey {
         }
     }
 
+    pub async fn load_from_system_keychain(
+        url: &str,
+        credentials_provider: &dyn CredentialsProvider,
+        cx: &AsyncApp,
+    ) -> Result<Self, AuthenticateError> {
+        Self::load_from_system_keychain_impl(url, credentials_provider, cx)
+            .await
+            .into_authenticate_result()
+    }
+
     async fn load_from_system_keychain_impl(
         url: &str,
         credentials_provider: &dyn CredentialsProvider,