export interface NodeMonitorReport { machineId: string; reportedAtUs: number; seq: number; host: HostMetrics; containers: ContainerMetrics[]; capacity: CapacitySummary; events: NodeEvent[]; reportIntervalSeconds: number; } export interface HostMetrics { cpu: CpuMetrics; memory: MemoryMetrics; disks: DiskMetrics[]; networkInterfaces: NetworkInterfaceMetrics[]; system: SystemInfo; } export interface CpuMetrics { usagePercent: number; coreUsagePercent: number[]; loadAvg1: number; loadAvg5: number; loadAvg15: number; coreCount: number; } export interface MemoryMetrics { totalBytes: number; usedBytes: number; availableBytes: number; cachedBytes: number; buffersBytes: number; swapTotalBytes: number; swapUsedBytes: number; usagePercent: number; } export interface DiskMetrics { mountPoint: string; device: string; fsType: string; totalBytes: number; usedBytes: number; availableBytes: number; usagePercent: number; inodesTotal: number; inodesUsed: number; readBytesDelta: number; writeBytesDelta: number; readOpsDelta: number; writeOpsDelta: number; } export interface NetworkInterfaceMetrics { name: string; rxBytesDelta: number; txBytesDelta: number; rxPacketsDelta: number; txPacketsDelta: number; rxErrorsDelta: number; txErrorsDelta: number; rxDropsDelta: number; txDropsDelta: number; linkState: string; speedMbps: number; } export interface SystemInfo { hostname: string; kernelVersion: string; os: string; arch: string; uptimeSeconds: number; cpuCount: number; totalMemoryBytes: number; } export interface ContainerMetrics { deploymentId: string; containerId: string; image: string; state: string; cpuUsagePercent: number; cpuThrottledPeriods: number; cpuTotalPeriods: number; cpuLimitMillicores: number; memoryUsageBytes: number; memoryLimitBytes: number; memoryRssBytes: number; memoryCacheBytes: number; memorySwapBytes: number; oomKillCount: number; netRxBytesDelta: number; netTxBytesDelta: number; netRxPacketsDelta: number; netTxPacketsDelta: number; blkioReadBytesDelta: number; blkioWriteBytesDelta: number; pidCount: number; healthy: boolean; inflightRequests: number; startedAtUs: number; lastUpdatedUs: number; ipv4Address: string; ipv6Address: string; } export interface CapacitySummary { cpuPressure: number; memoryPressure: number; diskPressure: number; networkPressure: number; compositeScore: number; totalContainers: number; runningContainers: number; } export type NodeEventLevel = 'UNSPECIFIED' | 'INFO' | 'WARN' | 'ERROR' | 'CRITICAL'; export type NodeEventType = 'UNSPECIFIED' | 'CONTAINER_START' | 'CONTAINER_STOP' | 'CONTAINER_OOM' | 'CONTAINER_HEALTH_CHANGE' | 'PRESSURE_THRESHOLD' | 'DISK_NEARLY_FULL' | 'COLLECTOR_ERROR' | 'PRESSURE_ALERT' | 'HEALTH_ALERT'; export interface NodeEvent { timestampUs: number; level: NodeEventLevel; type: NodeEventType; message: string; metadata: Record; } export type StreamHealth = 'CONNECTED' | 'STALE' | 'DISCONNECTED'; export interface MachineMonitorState { machineId: string; orgId: string; report: NodeMonitorReport; compositeScore: number; health: StreamHealth; reportedAt: string; updatedAt: string; gravity: string; } export interface MonitorSnapshot { type: 'snapshot'; machines: MachineMonitorState[]; } export interface MonitorUpdate { type: 'update'; machineId: string; health: StreamHealth; report: NodeMonitorReport; } export interface MonitorStateChange { type: 'state_change'; machineId: string; health: StreamHealth; previousHealth: StreamHealth; } export type MonitorMessage = MonitorSnapshot | MonitorUpdate | MonitorStateChange; export interface MonitorScope { scope: 'org' | 'machine' | 'deployment'; machineId?: string; deploymentId?: string; } export type MonitorWebSocketState = 'connecting' | 'authenticating' | 'subscribing' | 'connected' | 'reconnecting' | 'closed'; export interface MonitorWebSocketCallbacks { onOpen?: () => void; onClose?: (code: number, reason: string) => void; onError?: (error: Error) => void; onMessage?: (message: MonitorMessage) => void; onSnapshot?: (snapshot: MonitorSnapshot) => void; onUpdate?: (update: MonitorUpdate) => void; onStateChange?: (stateChange: MonitorStateChange) => void; } export interface MonitorWebSocketOptions extends MonitorWebSocketCallbacks { baseUrl: string; token: string; scope?: MonitorScope; orgId?: string; autoReconnect?: boolean; maxReconnectAttempts?: number; reconnectDelayMs?: number; maxReconnectDelayMs?: number; } //# sourceMappingURL=types.d.ts.map