/** * Shared TypeScript Type Definitions */ /** * Field validation error detail */ export interface FieldValidationError { field: string; message: string; } /** * Standardized API response structure for all applications * Supports both legacy string errors and new structured errors * @template T - The type of the data payload */ export interface ApiResponse { success: boolean; data?: T; error?: string | { code: string; message: string; details?: any; stack?: string; }; message?: string; errors?: FieldValidationError[]; metadata?: { timestamp: string; version?: string; requestId?: string; pagination?: { page: number; limit: number; total: number; hasMore: boolean; }; }; timestamp?: string; } /** * Legacy simple error format (deprecated - for backward compatibility) * @deprecated Use structured error object instead */ export interface ApiResponseLegacy { success: boolean; data?: T; error?: string; message?: string; timestamp?: string; } /** * Configuration options */ export interface ConfigOptions { configPath?: string; defaultConfig?: any; watchChanges?: boolean; } /** * Network interface information */ export interface NetworkInterface { name: string; address: string; family: "IPv4" | "IPv6"; internal: boolean; mac?: string; } /** * Update check result */ export interface UpdateCheckResult { hasUpdate: boolean; currentVersion: string; latestVersion?: string; releaseUrl?: string; releaseNotes?: string; publishedAt?: string; } /** * WebSocket client information */ export interface ClientInfo { id: string; connectedAt: Date; subscriptions: Set; } /** * Logger interface */ export interface Logger { info: (...args: any[]) => void; error: (...args: any[]) => void; warn: (...args: any[]) => void; debug: (...args: any[]) => void; } /** * WebSocket message types */ export interface WebSocketMessage { type: string; data: T; } export interface SimulatorUpdateMessage extends WebSocketMessage { type: "simulator:started" | "simulator:stopped" | "simulator:data"; data: Simulator; } export interface TemplateUpdateMessage extends WebSocketMessage { type: "template:created" | "template:updated" | "template:deleted"; data: Template; } export interface DataUpdateMessage extends WebSocketMessage { type: "data:update"; data: { simulatorId: string; values: Record; }; } export interface Simulator { id: string; name: string; status: string; [key: string]: unknown; } export interface Template { id: string; name: string; [key: string]: unknown; } export interface AppConfig { [key: string]: unknown; } export interface ValidationError extends Error { details?: unknown[]; } //# sourceMappingURL=index.d.ts.map