auth.rs

 1use gpui::AppContext;
 2
 3#[derive(Clone, Debug)]
 4pub enum ProviderCredential {
 5    Credentials { api_key: String },
 6    NoCredentials,
 7    NotNeeded,
 8}
 9
10pub trait CredentialProvider: Send + Sync {
11    fn has_credentials(&self) -> bool;
12    fn retrieve_credentials(&self, cx: &AppContext) -> ProviderCredential;
13    fn save_credentials(&self, cx: &AppContext, credential: ProviderCredential);
14    fn delete_credentials(&self, cx: &AppContext);
15}