stellar-cyber-mcp-agents
Version:
Model Context Protocol (MCP) server for Stellar Cyber security operations with specialized multi-agent analysis capabilities
46 lines • 2.31 kB
TypeScript
import { EventEmitter } from 'eventemitter3';
import { AgentId, AgentMetadata, AgentRegistry, AgentCommunicationChannel, AgentLogger, AgentMetrics, AgentState, AgentHealth, AgentRequest, AgentResponse, AgentContext, AgentEventType, AgentStatus, RequestPriority, AgentLifecycle } from '../types/agent.js';
export declare abstract class BaseAgent extends EventEmitter implements AgentLifecycle {
protected readonly metadata: AgentMetadata;
protected readonly registry: AgentRegistry;
protected readonly channel: AgentCommunicationChannel;
protected readonly logger: AgentLogger;
protected readonly metrics: AgentMetrics;
protected state: AgentState;
protected health: AgentHealth;
protected startTime: Date;
protected activeRequests: number;
protected totalRequests: number;
protected errors: number;
protected heartbeatInterval?: NodeJS.Timeout;
protected healthCheckInterval?: NodeJS.Timeout;
constructor(metadata: AgentMetadata, registry: AgentRegistry, channel: AgentCommunicationChannel, logger: AgentLogger, metrics: AgentMetrics);
initialize(): Promise<void>;
start(): Promise<void>;
stop(): Promise<void>;
destroy(): Promise<void>;
healthCheck(): Promise<AgentHealth>;
protected abstract onInitialize(): Promise<void>;
protected abstract onStart(): Promise<void>;
protected abstract onStop(): Promise<void>;
protected abstract onDestroy(): Promise<void>;
protected abstract onHealthCheck(): Promise<AgentHealth>;
protected abstract handleRequest(request: AgentRequest, context: AgentContext): Promise<any>;
getId(): AgentId;
getMetadata(): AgentMetadata;
getState(): AgentState;
getHealth(): AgentHealth;
getUptime(): number;
getStatus(): AgentStatus;
protected setState(state: AgentState): void;
protected setHealth(health: AgentHealth): void;
protected emitEvent(type: AgentEventType, data: any): void;
sendRequest(targetAgentId: AgentId, capability: string, payload: any, priority?: RequestPriority, timeout?: number): Promise<AgentResponse>;
private handleIncomingRequest;
private handleAgentEvent;
private startHeartbeat;
private startHealthChecks;
private getStateValue;
private getHealthValue;
}
//# sourceMappingURL=base-agent.d.ts.map