UNPKG

endpoint-sentinel

Version:

User-friendly security scanner with interactive setup that scales from beginner to expert

86 lines 2.08 kB
/** * Configuration Management System * Handles domain-specific configurations for easy scanning setup */ import { ScanConfig, AuthScheme } from '../types/scanner.js'; export interface DomainConfig { domain: string; name?: string; authType: AuthScheme; token?: string; cookie?: string; defaultKeywords?: string[]; rateLimit?: number; customHeaders?: Record<string, string>; notes?: string; createdAt: Date; updatedAt: Date; } export interface ConfigStore { version: string; configs: Record<string, DomainConfig>; globalDefaults: Partial<ScanConfig>; } export declare class ConfigManager { private configDir; private configFile; private store; constructor(); /** * Normalizes URL by adding protocol if missing */ private normalizeUrl; /** * Get domain from URL */ private extractDomain; /** * Load existing config store or create new one */ private loadOrCreateStore; /** * Save config store to disk */ private saveStore; /** * Validate domain config */ private validateDomainConfig; /** * Check if config exists for domain */ hasConfig(url: string): boolean; /** * Get config for domain */ getConfig(url: string): DomainConfig | null; /** * Save config for domain */ saveConfig(url: string, config: Partial<DomainConfig>): DomainConfig; /** * Delete config for domain */ deleteConfig(url: string): boolean; /** * List all saved configs */ listConfigs(): DomainConfig[]; /** * Convert domain config to scan config */ buildScanConfig(url: string, overrides?: Partial<ScanConfig>): ScanConfig; /** * Update global defaults */ updateGlobalDefaults(defaults: Partial<ScanConfig>): void; /** * Get config file path for manual editing */ getConfigPath(): string; /** * Reset all configurations */ reset(): void; } //# sourceMappingURL=config-manager.d.ts.map