/** * AI Agent Manager for Collaborative Sessions * KILLER FEATURE: Orchestrates multiple AI agents in real-time collaboration * Cursor has ZERO AI agents in collaboration - massive competitive advantage! */ import { EventEmitter } from 'events'; import { AICollaborationAgent, AIAgentCapability, AIAgentPersonality, AIAgentRequest, AIMessage } from './ai-collaboration-agent'; import { CollaborationUser } from './websocket-server'; import { CodeOperation, CodeDocument } from './code-sync-engine'; export interface AIAgentConfig { name: string; personality: AIAgentPersonality; capabilities: AIAgentCapability[]; priority: number; enabled: boolean; maxSessionsPerAgent: number; } export interface AIAgentTeam { name: string; description: string; agents: string[]; specialization: string; maxConcurrentSessions: number; } export interface AISessionContext { sessionId: string; activeUsers: CollaborationUser[]; activeAgents: Map; currentDocument?: CodeDocument; recentOperations: CodeOperation[]; conversationHistory: AIMessage[]; projectContext: { language: string; framework?: string; dependencies: string[]; codeStyle: string; complexity: 'simple' | 'moderate' | 'complex'; }; preferences: { aiAggressiveness: 'passive' | 'moderate' | 'active'; reviewFrequency: 'on-demand' | 'frequent' | 'continuous'; suggestionTypes: string[]; }; } export declare class AIAgentManager extends EventEmitter { private agents; private agentConfigs; private sessionAgents; private agentTeams; private sessionContexts; private requestQueue; private responseHistory; constructor(); private initializeDefaultAgents; registerAgent(config: AIAgentConfig): AICollaborationAgent; addAgentsToSession(sessionId: string, agentNames: string[], context: AISessionContext): Promise; addTeamToSession(sessionId: string, teamName: string, context: AISessionContext): Promise; removeAgentsFromSession(sessionId: string, agentNames: string[]): Promise; processCodeChange(sessionId: string, operation: CodeOperation): Promise; processUserMessage(sessionId: string, userId: string, message: string): Promise; submitAgentRequest(sessionId: string, agentName: string, request: AIAgentRequest): Promise; createAgentTeam(team: AIAgentTeam): void; private findAgentByName; private findRelevantAgentsForOperation; private findRelevantAgentsForMessage; private buildAgentContext; private getResponseDelayFromPersonality; private setupAgentEventHandlers; getAvailableAgents(): Array<{ name: string; id: string; capabilities: string[]; enabled: boolean; }>; getAvailableTeams(): AIAgentTeam[]; getSessionAgents(sessionId: string): AICollaborationAgent[]; getAgentStatus(agentId: string): { id: string; name: string; isActive: boolean; currentSession: string | undefined; activeRequests: number; totalCapabilities: number; personality: string; userInteractions: number; } | undefined; updateAgentConfig(agentId: string, updates: Partial): void; shutdown(): Promise; } //# sourceMappingURL=ai-agent-manager.d.ts.map