import WebSocket from 'ws'; /** * WebSocket Server Configuration */ export interface ServerConfig { port?: number; heartbeatInterval?: number; connectionTimeout?: number; maxConnections?: number; } /** * Router Configuration */ export interface RouterConfig { defaultTimeout?: number; maxRetries?: number; retryDelay?: number; } /** * IDE Context Sync Configuration */ export interface IdeSyncConfig { enabled: boolean; exportPath?: string; mode: 'smart' | 'raw'; } /** * Agent Connection Information */ export interface AgentConnection { id: string; ws: WebSocket; agentId: string | null; capabilities: string[]; isAlive: boolean; connectedAt: number; lastPing: number; metadata: { ip?: string; userAgent?: string; [key: string]: any; }; } /** * Connection Statistics */ export interface ConnectionStats { totalConnections: number; activeConnections: number; messagesReceived: number; messagesSent: number; reconnections: number; } /** * Agent Status Enum */ export declare enum AgentStatus { ONLINE = "online", OFFLINE = "offline", BUSY = "busy", ERROR = "error" } /** * Agent Capability Definition */ export interface AgentCapability { name: string; description?: string; version?: string; parameters?: Record; } /** * Agent Metrics */ export interface AgentMetrics { tasksCompleted: number; tasksInProgress: number; tasksFailed: number; averageResponseTime: number; totalResponseTime: number; uptime: number; } /** * Agent Information */ export interface AgentInfo { agentId: string; connectionId: string; capabilities: AgentCapability[]; status: AgentStatus; registeredAt: number; lastSeen: number; metadata: Record; metrics: AgentMetrics; } /** * Inter-Agent Protocol (I.A.P.) Message Types */ export declare enum IAPMessageType { HANDSHAKE = "handshake", HANDSHAKE_ACK = "handshake_ack", HEARTBEAT = "heartbeat", HEARTBEAT_ACK = "heartbeat_ack", PING = "ping", PONG = "pong", TASK_REQUEST = "task_request", TASK_RESPONSE = "task_response", TASK_CANCEL = "task_cancel", TASK_ASSIGN = "task_assign", CAPABILITY_QUERY = "capability_query", CAPABILITY_RESPONSE = "capability_response", DISCOVER = "discover", DISCOVER_RESPONSE = "discover_response", ERROR = "error" } /** * Base I.A.P. Message Structure */ export interface IAPMessage { type: IAPMessageType; id?: string; messageId?: string; timestamp: number; payload: T; } /** * Task Request Payload */ export interface TaskRequest { taskId?: string; taskType: string; description?: string; requiredCapabilities: string[]; parameters: Record; context?: Record; priority?: number; timeout?: number; } /** * Task Response Payload */ export interface TaskResponse { taskId: string; success: boolean; result?: R; error?: string; executionTime?: number; tokensUsed?: number; metadata?: Record; } /** * Routing Decision */ export interface RoutingDecision { success: boolean; selectedAgent?: AgentInfo; reason: string; selectionTime: number; alternativeAgents?: AgentInfo[]; } /** * Handshake Payload */ export interface HandshakePayload { agentId: string; agentName?: string; capabilities: AgentCapability[]; metadata?: Record; version?: string; } /** * Error Payload */ export interface ErrorPayload { error: string; code?: string; taskId?: string; details?: any; } /** * Cache Entry for Semantic Cache */ export interface CacheEntry { id: string; query: string; embedding: number[]; response: T; metadata: { agentId: string; timestamp: number; executionTime?: number; tokensUsed?: number; [key: string]: any; }; } /** * Semantic Cache Entry */ export interface SemanticCacheEntry { id: string; taskRequest: TaskRequest; taskResponse: TaskResponse; embedding: number[]; timestamp: number; accessCount: number; } /** * Agent Handshake (alias for HandshakePayload) */ export interface AgentHandshake { agentId: string; name: string; version: string; framework?: string; capabilities: AgentCapability[]; maxConcurrentTasks?: number; currentLoad?: number; metadata?: Record; protocolVersion: string; } /** * Task Bid */ export interface TaskBid { taskId: string; agentId: string; bidAmount: number; estimatedTime?: number; confidence?: number; metadata?: Record; } /** * Orchestration Metrics */ export interface OrchestrationMetrics { totalRequests: number; cacheHits: number; cacheMisses: number; averageLatency: number; tokensSaved: number; costSaved: number; } /** * Message Type Enum (alias for compatibility) */ export declare const MessageType: typeof IAPMessageType; /** * Semantic Match Result */ export interface SemanticMatch { id: string; similarity: number; response: T; metadata: { agentId: string; timestamp: number; executionTime?: number; tokensUsed?: number; [key: string]: any; }; } /** * Environment Configuration */ export interface EnvironmentConfig { wsPort: number; PORT: number; NODE_ENV: string; chromaUrl: string; CHROMA_HOST: string; CHROMA_PORT: number; CHROMA_COLLECTION: string; ollamaUrl: string; OLLAMA_HOST: string; OLLAMA_MODEL: string; similarityThreshold: number; SEMANTIC_THRESHOLD: number; MAX_CACHE_SIZE: number; ENABLE_CACHING: boolean; logLevel: string; LOG_LEVEL: string; AUTH_ENABLED: boolean; AUTH_REQUIRE_API_KEY: boolean; AUTH_ALLOWED_ORIGINS: string[]; LEMMA_BIND_HOST: string; RATE_LIMIT_ENABLED: boolean; RATE_LIMIT_REQUESTS_PER_MINUTE: number; RATE_LIMIT_REQUESTS_PER_HOUR: number; RATE_LIMIT_BLOCK_DURATION: number; SANITIZATION_ENABLED: boolean; SANITIZATION_MAX_STRING_LENGTH: number; SANITIZATION_MAX_ARRAY_LENGTH: number; SANITIZATION_MAX_OBJECT_DEPTH: number; IDE_SYNC_ENABLED: boolean; IDE_SYNC_EXPORT_PATH: string; IDE_SYNC_MODE: string; } //# sourceMappingURL=index.d.ts.map