@proug/mcp-cve-intelligence-server-lite
Version:
Lite Model Context Protocol server for comprehensive CVE intelligence gathering with multi-source exploit discovery, designed for security professionals and cybersecurity researchers
44 lines • 2.19 kB
TypeScript
import type { CVESource } from '../types/cve.js';
import { BaseCVESourceImplementation } from './base.js';
interface SourceValidationDetails {
isValid: boolean;
errors: string[];
warnings: string[];
enabled: boolean;
hasApiKey: boolean;
}
export { BaseCVESourceImplementation };
export declare class SourceFactory {
private static sourceImplementations;
static registerSourceImplementation(type: string, implementationClass: new (config: CVESource, apiKey?: string) => BaseCVESourceImplementation): void;
static createSourceImplementation(sourceName: string, config: CVESource, apiKey?: string): BaseCVESourceImplementation;
static createSourceImplementations(sources: Record<string, CVESource>, apiKeys?: Record<string, string>): Record<string, BaseCVESourceImplementation>;
/**
* Validates all source configurations and returns aggregated results
*/
static validateAllSources(sources: Record<string, CVESource>, apiKeys?: Record<string, string>): {
isValid: boolean;
errors: string[];
warnings: string[];
sourceResults: Record<string, SourceValidationDetails>;
};
/**
* Validates a specific source configuration
*/
static validateSource(name: string, config: CVESource, apiKey?: string): {
isValid: boolean;
errors: string[];
warnings: string[];
};
static getEnabledImplementations(implementations: Record<string, BaseCVESourceImplementation>): BaseCVESourceImplementation[];
static getImplementationsByFeature(implementations: Record<string, BaseCVESourceImplementation>, feature: string): BaseCVESourceImplementation[];
static getAvailableSourceTypes(): string[];
private static determineSourceType;
private static getApiKeyForSource;
/**
* Resolves API keys for all sources using distributed logic
*/
static resolveApiKeysForSources(sources: Record<string, CVESource>, providedApiKeys?: Record<string, string>): Record<string, string | undefined>;
static testAllConnections(implementations: Record<string, BaseCVESourceImplementation>): Promise<Record<string, boolean>>;
}
//# sourceMappingURL=factory.d.ts.map