/** * Agentic QE v3 - Chaos Resilience MCP Tool * * qe/chaos/inject - Chaos engineering fault injection * * This tool wraps the chaos-resilience domain service: * - ChaosEngineerService for fault injection and experiment execution */ import { MCPToolBase, MCPToolConfig, MCPToolContext } from '../base.js'; import { ToolResult } from '../../types.js'; export interface ChaosInjectParams { faultType: FaultType; target: string; duration?: number; intensity?: number; dryRun?: boolean; hypothesis?: string; rollbackOnFailure?: boolean; [key: string]: unknown; } export type FaultType = 'latency' | 'error' | 'timeout' | 'cpu-stress' | 'memory-stress' | 'network-partition' | 'packet-loss' | 'dns-failure' | 'process-kill'; export interface ChaosInjectResult { experimentId: string; status: ExperimentStatus; faultInjected: boolean; hypothesisValidated?: boolean; steadyStateVerified: boolean; metrics: ExperimentMetrics; incidents: Incident[]; recommendations: string[]; } export type ExperimentStatus = 'pending' | 'running' | 'completed' | 'failed' | 'rolled-back' | 'aborted'; export interface ExperimentMetrics { faultDuration: number; targetAffected: boolean; recoveryTime?: number; errorRate?: number; latencyP99?: number; } export interface Incident { type: 'alert' | 'error' | 'degradation'; severity: 'critical' | 'high' | 'medium' | 'low'; message: string; timestamp: string; resolved: boolean; } export declare class ChaosInjectTool extends MCPToolBase { readonly config: MCPToolConfig; private chaosEngineer; private getService; execute(params: ChaosInjectParams, context: MCPToolContext): Promise>; private buildExperiment; private buildFaultParameters; private simulateMetrics; private extractMetrics; private convertIncident; private collectIntensityIncidents; private validateHypothesisText; private generateRecommendations; } //# sourceMappingURL=inject.d.ts.map