/** * Terminal management types */ import { Terminal, TerminalStatus } from '@latestgraviton/protocol'; import { WebSocket } from 'ws'; /** * Extended terminal information for server-side tracking */ export interface TerminalSession extends Terminal { ws: WebSocket; token: string; ipAddress: string; userAgent?: string; currentTasks: Set; performanceMetrics: TerminalPerformanceMetrics; reconnectAttempts: number; lastActivity: Date; } /** * Terminal performance metrics */ export interface TerminalPerformanceMetrics { tasksCompleted: number; tasksFailed: number; averageExecutionTime: number; totalTokensUsed: number; cpuUsage: number; memoryUsage: number; uptime: number; errorRate: number; } /** * Terminal registration request */ export interface TerminalRegistrationRequest { capabilities: string[]; specializations: string[]; maxTokens: number; metadata?: { version?: string; platform?: string; environment?: string; [key: string]: any; }; } /** * Terminal registration response */ export interface TerminalRegistrationResponse { terminalId: string; token: string; serverTime: Date; heartbeatInterval: number; config: { maxTasks: number; tokenLimit: number; timeout: number; }; } /** * Terminal heartbeat data */ export interface TerminalHeartbeat { terminalId: string; status: TerminalStatus; currentTasks: string[]; metrics: { cpuUsage: number; memoryUsage: number; tokenUsage: number; }; timestamp: Date; } /** * Terminal capability */ export interface TerminalCapability { name: string; version?: string; priority?: number; metadata?: Record; } /** * Terminal event types */ export declare enum TerminalEvent { CONNECTED = "terminal:connected", REGISTERED = "terminal:registered", DISCONNECTED = "terminal:disconnected", HEARTBEAT = "terminal:heartbeat", HEARTBEAT_MISSED = "terminal:heartbeat_missed", STATUS_CHANGED = "terminal:status_changed", TASK_ASSIGNED = "terminal:task_assigned", TASK_COMPLETED = "terminal:task_completed", ERROR = "terminal:error", METRICS_UPDATED = "terminal:metrics_updated" } /** * Terminal filter options */ export interface TerminalFilterOptions { status?: TerminalStatus; capabilities?: string[]; specializations?: string[]; minTokens?: number; maxTasks?: number; excludeTerminals?: string[]; } //# sourceMappingURL=types.d.ts.map