UNPKG

agentic-qe

Version:

Agentic Quality Engineering Fleet System - AI-driven quality management platform

132 lines 2.94 kB
/** * Config - Configuration management for the AQE Fleet * * Handles loading and validation of fleet configuration from multiple sources * including environment variables, config files, and defaults. */ export interface AgentConfig { type: string; count: number; config: any; } export interface DatabaseConfig { type: 'sqlite' | 'postgres' | 'mysql'; host?: string; port?: number; database: string; username?: string; password?: string; filename?: string; } export interface FleetConfig { fleet: { id: string; name: string; maxAgents: number; heartbeatInterval: number; taskTimeout: number; }; agents: AgentConfig[]; database: DatabaseConfig; logging: { level: string; format: string; outputs: string[]; }; api: { port: number; host: string; cors: boolean; rateLimit: { windowMs: number; max: number; }; }; security: { apiKey?: string; jwtSecret?: string; encryption: { algorithm: string; keyLength: number; }; }; } export declare class Config { private static instance; private config; private constructor(); /** * Load configuration from multiple sources */ static load(configPath?: string): Promise<FleetConfig>; /** * Get configuration instance */ static getInstance(): Config; /** * Get full configuration */ getConfig(): FleetConfig; /** * Get fleet configuration */ getFleetConfig(): { id: string; name: string; maxAgents: number; heartbeatInterval: number; taskTimeout: number; }; /** * Get agents configuration */ getAgentsConfig(): AgentConfig[]; /** * Get database configuration */ getDatabaseConfig(): DatabaseConfig; /** * Get logging configuration */ getLoggingConfig(): { level: string; format: string; outputs: string[]; }; /** * Get API configuration */ getApiConfig(): { port: number; host: string; cors: boolean; rateLimit: { windowMs: number; max: number; }; }; /** * Get security configuration */ getSecurityConfig(): { apiKey?: string | undefined; jwtSecret?: string | undefined; encryption: { algorithm: string; keyLength: number; }; }; /** * Deep merge configurations */ private static mergeConfigs; /** * Save configuration to file */ static save(config: Partial<FleetConfig>, filePath: string): Promise<void>; /** * Validate configuration */ private static validateConfig; } //# sourceMappingURL=Config.d.ts.map