SYMBOL INDEX (90 symbols across 22 files) FILE: UnsecuredAPIKeys.CLI/Constants.cs class LiteLimits (line 7) | public static class LiteLimits class AppInfo (line 39) | public static class AppInfo FILE: UnsecuredAPIKeys.CLI/Services/DatabaseService.cs class DatabaseService (line 12) | public class DatabaseService(string dbPath = "unsecuredapikeys.db") method InitializeDatabaseAsync (line 14) | public async Task InitializeDatabaseAsync() method SeedDefaultDataAsync (line 27) | private async Task SeedDefaultDataAsync(DBContext dbContext) method GetStatisticsAsync (line 76) | public async Task GetStatisticsAsync(DBContext dbContext) method SaveGitHubTokenAsync (line 95) | public async Task SaveGitHubTokenAsync(DBContext dbContext, string token) method ResetDatabaseAsync (line 118) | public async Task ResetDatabaseAsync() method ExportKeysAsync (line 129) | public async Task ExportKeysAsync(DBContext dbContext, string filePath... method ExportAsJsonAsync (line 152) | private async Task ExportAsJsonAsync(List keys, string filePath) method ExportAsCsvAsync (line 180) | private async Task ExportAsCsvAsync(List keys, string filePath) class Statistics (line 197) | public class Statistics FILE: UnsecuredAPIKeys.CLI/Services/ScraperService.cs class ScraperService (line 18) | public class ScraperService method ScraperService (line 29) | public ScraperService(DBContext dbContext, IHttpClientFactory httpClie... method RunAsync (line 37) | public async Task RunAsync(CancellationToken cancellationToken) method RunScrapingCycleAsync (line 93) | private async Task RunScrapingCycleAsync(SearchProviderToken token) method ProcessResultAsync (line 166) | private async Task ProcessResultAsync(RepoReference repoRef, SearchPro... method FetchFileContentAsync (line 229) | private async Task FetchFileContentAsync(RepoReference repoRe... FILE: UnsecuredAPIKeys.CLI/Services/VerifierService.cs class VerifierService (line 18) | public class VerifierService( method RunAsync (line 30) | public async Task RunAsync(CancellationToken cancellationToken) method RunVerificationCycleAsync (line 77) | private async Task RunVerificationCycleAsync() method ReVerifyExistingKeysAsync (line 113) | private async Task ReVerifyExistingKeysAsync() method VerifyNewKeysAsync (line 142) | private async Task VerifyNewKeysAsync(int neededCount) method VerifyKeyAsync (line 188) | private async Task VerifyKeyAsync(APIKey key) method GetProvidersToTry (line 282) | private List GetProvidersToTry(APIKey key) FILE: UnsecuredAPIKeys.Data/Common/ApiProviderAttribute.cs class ApiProviderAttribute (line 3) | [AttributeUsage(AttributeTargets.Class)] method ApiProviderAttribute (line 19) | public ApiProviderAttribute() method ApiProviderAttribute (line 28) | public ApiProviderAttribute(bool scraperUse, bool verificationUse) FILE: UnsecuredAPIKeys.Data/Common/CommonEnums.cs type SearchProviderEnum (line 8) | public enum SearchProviderEnum type ApiStatusEnum (line 17) | public enum ApiStatusEnum type ApiTypeEnum (line 40) | public enum ApiTypeEnum FILE: UnsecuredAPIKeys.Data/DBContext.cs class DBContext (line 10) | public class DBContext : DbContext method DBContext (line 14) | public DBContext(DbContextOptions options) : base(options) method DBContext (line 19) | public DBContext(string dbPath = "unsecuredapikeys.db") method OnConfiguring (line 31) | protected override void OnConfiguring(DbContextOptionsBuilder optionsB... method OnModelCreating (line 39) | protected override void OnModelCreating(ModelBuilder modelBuilder) FILE: UnsecuredAPIKeys.Data/DesignTimeDbContextFactory.cs class DesignTimeDbContextFactory (line 10) | public class DesignTimeDbContextFactory : IDesignTimeDbContextFactory? logger) : base(lo... method ValidateKeyWithHttpClientAsync (line 58) | protected override async Task ValidateKeyWithHttpCli... method CreateValidationRequest (line 71) | private HttpRequestMessage CreateValidationRequest(string apiKey) method InterpretResponse (line 99) | private ValidationResult InterpretResponse(HttpStatusCode statusCode, ... method IsValidKeyFormat (line 153) | protected override bool IsValidKeyFormat(string apiKey) FILE: UnsecuredAPIKeys.Providers/AI Providers/GoogleProvider.cs class GoogleProvider (line 14) | [ApiProvider] method GoogleProvider (line 27) | public GoogleProvider() : base() method GoogleProvider (line 31) | public GoogleProvider(ILogger? logger) : base(logger) method ValidateKeyWithHttpClientAsync (line 35) | protected override async Task ValidateKeyWithHttpCli... method IsValidKeyFormat (line 91) | protected override bool IsValidKeyFormat(string apiKey) method ParseGoogleModels (line 98) | private List? ParseGoogleModels(string jsonResponse) FILE: UnsecuredAPIKeys.Providers/AI Providers/OpenAIProvider.cs class OpenAIProvider (line 14) | [ApiProvider] method OpenAIProvider (line 30) | public OpenAIProvider() : base() method OpenAIProvider (line 34) | public OpenAIProvider(ILogger? logger) : base(logger) method ValidateKeyWithHttpClientAsync (line 38) | protected override async Task ValidateKeyWithHttpCli... method IsValidKeyFormat (line 83) | protected override bool IsValidKeyFormat(string apiKey) method ParseOpenAIModels (line 90) | private List? ParseOpenAIModels(string jsonResponse) FILE: UnsecuredAPIKeys.Providers/ApiProviderRegistry.cs class ApiProviderRegistry (line 7) | public static class ApiProviderRegistry method GetProvidersForBot (line 70) | public static IReadOnlyList GetProvidersForBot(BotTyp... type BotType (line 84) | public enum BotType FILE: UnsecuredAPIKeys.Providers/Common/ValidationResult.cs type ValidationAttemptStatus (line 5) | public enum ValidationAttemptStatus class ModelInfo (line 14) | public class ModelInfo class ValidationResult (line 30) | public class ValidationResult method Success (line 40) | public static ValidationResult Success(HttpStatusCode statusCode, List... method IsUnauthorized (line 43) | public static ValidationResult IsUnauthorized(HttpStatusCode statusCod... method HasHttpError (line 46) | public static ValidationResult HasHttpError(HttpStatusCode statusCode,... method HasNetworkError (line 49) | public static ValidationResult HasNetworkError(string detail) => method HasProviderSpecificError (line 52) | public static ValidationResult HasProviderSpecificError(string detail) => FILE: UnsecuredAPIKeys.Providers/Search Providers/GitHubSearchProvider.cs class GitHubSearchProvider (line 13) | public class GitHubSearchProvider(DBContext dbContext, ILogger> SearchAsync(SearchQuery ... FILE: UnsecuredAPIKeys.Providers/_Base/BaseApiKeyProvider.cs class BaseApiKeyProvider (line 14) | public abstract class BaseApiKeyProvider(ILogger? logger = null) : IApiK... method ValidateKeyAsync (line 28) | public async Task ValidateKeyAsync(string apiKey, IH... method ValidateKeyWithHttpClientAsync (line 104) | protected abstract Task ValidateKeyWithHttpClientAsy... method CreateHttpClient (line 109) | protected virtual HttpClient CreateHttpClient(IHttpClientFactory httpC... method CleanApiKey (line 130) | protected virtual string CleanApiKey(string apiKey) method IsValidKeyFormat (line 150) | protected virtual bool IsValidKeyFormat(string apiKey) method GetMaxRetries (line 158) | protected virtual int GetMaxRetries() => DEFAULT_MAX_RETRIES; method GetTimeoutSeconds (line 163) | protected virtual int GetTimeoutSeconds() => DEFAULT_TIMEOUT_SECONDS; method ContainsAny (line 168) | protected static bool ContainsAny(string text, HashSet indicat... method TruncateResponse (line 176) | protected static string TruncateResponse(string response, int maxLengt... method IsSuccessStatusCode (line 189) | protected static bool IsSuccessStatusCode(HttpStatusCode statusCode) FILE: UnsecuredAPIKeys.Providers/_Interfaces/IApiKeyProvider.cs type IApiKeyProvider (line 12) | public interface IApiKeyProvider method ValidateKeyAsync (line 35) | Task ValidateKeyAsync(string apiKey, IHttpClientFact... FILE: UnsecuredAPIKeys.Providers/_Interfaces/ISearchProvider.cs type ISearchProvider (line 8) | public interface ISearchProvider method SearchAsync (line 21) | Task> SearchAsync(SearchQuery query, Search...