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 retrieve_credentials(&self, cx: &AppContext) -> ProviderCredential;
12}
13
14#[derive(Clone)]
15pub struct NullCredentialProvider;
16impl CredentialProvider for NullCredentialProvider {
17 fn retrieve_credentials(&self, _cx: &AppContext) -> ProviderCredential {
18 ProviderCredential::NotNeeded
19 }
20}