getProviderCredential function

Future<String?> getProviderCredential(
  1. Ref<Object?> ref,
  2. AiProvider provider
)

Read the user's credential for the given provider. API key for Claude, OAuth access token for OpenAI/Gemini, active model ID for local (functions as the "credential" the proxy/datasource needs to load the correct GGUF — though local never goes through the proxy).

Implementation

Future<String?> getProviderCredential(Ref ref, AiProvider provider) async {
  switch (provider) {
    case AiProvider.claude:
      final storage = ref.read(secureStorageProvider);
      return storage.read(key: provider.credentialStorageKey);
    case AiProvider.openai:
      return ref.read(openAiAuthServiceProvider).getAccessToken();
    case AiProvider.gemini:
      return ref.read(googleAuthServiceProvider).getAccessToken();
    case AiProvider.local:
      final storage = ref.read(secureStorageProvider);
      return storage.read(key: provider.credentialStorageKey);
  }
}