UNPKG

stellar-cyber-mcp-agents

Version:

Model Context Protocol (MCP) server for Stellar Cyber security operations with specialized multi-agent analysis capabilities

132 lines 3.88 kB
import { EventEmitter } from 'events'; import { AgentId, AgentType, AgentHealth, AgentMetrics } from '../types/agent.js'; export interface PerformanceMetrics { agentId: AgentId; timestamp: string; cpu: { usage: number; loadAverage: number[]; }; memory: { used: number; total: number; percentage: number; heapUsed: number; heapTotal: number; }; network: { bytesIn: number; bytesOut: number; requestsPerSecond: number; avgResponseTime: number; }; operations: { completed: number; failed: number; pending: number; avgDuration: number; successRate: number; }; health: AgentHealth; customMetrics?: Record<string, number>; } export interface AgentLoad { agentId: AgentId; currentLoad: number; capacity: number; queueDepth: number; averageResponseTime: number; errorRate: number; lastUpdate: string; } export interface ScalingDecision { agentType: AgentType; action: 'scale_up' | 'scale_down' | 'redistribute' | 'none'; reason: string; targetInstances: number; currentInstances: number; confidence: number; timestamp: string; } export interface PerformanceAlert { id: string; type: 'cpu_high' | 'memory_high' | 'error_rate_high' | 'response_time_high' | 'agent_unresponsive'; severity: 'WARNING' | 'CRITICAL'; agentId: AgentId; message: string; metrics: PerformanceMetrics; threshold: number; actualValue: number; timestamp: string; acknowledged: boolean; } export declare class PerformanceMonitor extends EventEmitter { private readonly metrics; private readonly agentLoads; private readonly alerts; private readonly thresholds; private readonly retentionPeriod; private readonly monitoringInterval; private readonly scalingCooldown; private lastScalingDecision; constructor(); recordMetrics(metrics: PerformanceMetrics): void; private updateAgentLoad; private checkThresholds; private createAlert; private generateAlertMessage; private processAlert; private performMonitoringCycle; private checkUnresponsiveAgents; private performScalingAnalysis; private groupAgentsByType; private analyzeScalingNeed; private processScalingDecision; private considerScaling; private cleanupOldData; getAgentMetrics(agentId: AgentId, timeRange?: { start: string; end: string; }): PerformanceMetrics[]; getSystemOverview(): any; private getRecentMetrics; acknowledgeAlert(alertId: string): boolean; getActiveAlerts(): PerformanceAlert[]; private getAgentKey; updateThresholds(newThresholds: Partial<typeof this.thresholds>): void; getThresholds(): typeof this.thresholds; destroy(): void; /** * Get performance monitor metrics */ getMetrics(): { totalMetrics: number; activeAgents: number; alertsCount: number; systemLoad: { avgCpuUsage: number; avgMemoryUsage: number; totalOperations: number; totalErrors: number; }; }; } /** * Basic AgentMetrics implementation */ export declare class SimpleAgentMetrics implements AgentMetrics { private counters; private gauges; private histograms; private timers; incrementCounter(name: string, value?: number): void; recordGauge(name: string, value: number): void; recordHistogram(name: string, value: number): void; recordTimer(name: string, duration: number): void; getCounters(): Map<string, number>; getGauges(): Map<string, number>; getHistograms(): Map<string, number[]>; getTimers(): Map<string, number[]>; clear(): void; } //# sourceMappingURL=performance-monitor.d.ts.map