stellar-cyber-mcp-agents
Version:
Model Context Protocol (MCP) server for Stellar Cyber security operations with specialized multi-agent analysis capabilities
94 lines • 3.1 kB
TypeScript
import { EventEmitter } from 'events';
import { AgentId, AgentType } from '../types/agent.js';
export interface IntelligenceItem {
id: string;
type: 'indicator' | 'pattern' | 'rule' | 'signature' | 'behavior' | 'correlation';
source: AgentId;
timestamp: string;
confidence: number;
data: any;
tags: string[];
ttl?: number;
priority: 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL';
metadata: {
caseId?: string;
analysisId?: string;
version: string;
format: string;
};
}
export interface IntelligenceQuery {
types?: string[];
tags?: string[];
sources?: AgentId[];
minConfidence?: number;
timeRange?: {
start: string;
end: string;
};
limit?: number;
includeExpired?: boolean;
}
export interface IntelligenceSubscription {
id: string;
agentId: AgentId;
query: IntelligenceQuery;
callback: (items: IntelligenceItem[]) => void;
active: boolean;
created: string;
}
export interface CollaborationRequest {
id: string;
requestingAgent: AgentId;
targetAgents: AgentType[];
type: 'analysis' | 'validation' | 'correlation' | 'enhancement';
priority: 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL';
parameters: any;
timeout: number;
callback?: (results: CollaborationResult[]) => void;
}
export interface CollaborationResult {
id: string;
requestId: string;
respondingAgent: AgentId;
status: 'COMPLETED' | 'FAILED' | 'TIMEOUT';
data: any;
confidence: number;
timestamp: string;
metadata?: any;
}
export declare class IntelligenceSharingService extends EventEmitter {
private readonly intelligenceStore;
private readonly subscriptions;
private readonly collaborationRequests;
private readonly agentCapabilities;
private readonly cleanupInterval;
constructor();
private initializeCapabilities;
shareIntelligence(item: IntelligenceItem): void;
private validateIntelligenceItem;
queryIntelligence(query: IntelligenceQuery): IntelligenceItem[];
subscribe(agentId: AgentId, query: IntelligenceQuery, callback: (items: IntelligenceItem[]) => void): string;
unsubscribe(subscriptionId: string): boolean;
private notifySubscribers;
requestCollaboration(request: CollaborationRequest): Promise<string>;
private findCapableAgents;
private hasRequiredCapability;
submitCollaborationResult(result: CollaborationResult): void;
enhanceIntelligence(itemId: string, enhancement: Partial<IntelligenceItem>): boolean;
private incrementVersion;
correlateIntelligence(items: IntelligenceItem[]): IntelligenceItem[];
private groupItemsByType;
private findTypeCorrelations;
private extractCorrelationKey;
private findCrossTypeCorrelations;
private findTemporalCorrelations;
private determineCorrelationPriority;
private priorityToNumber;
private numberToPriority;
private cleanupExpiredIntelligence;
private agentIdsEqual;
getStatistics(): any;
destroy(): void;
}
//# sourceMappingURL=intelligence-sharing.d.ts.map