/// Models that represent ComfyUI API responses /// Represents queue information from ComfyUI class QueueInfo { final int queueRunning; final List> queue; final Map queuePending; QueueInfo({ required this.queueRunning, required this.queue, required this.queuePending, }); factory QueueInfo.fromJson(Map json) { return QueueInfo( queueRunning: json['queue_running'] as int, queue: List>.from(json['queue'] ?? []), queuePending: Map.from(json['queue_pending'] ?? {}), ); } } /// Represents a prompt execution status class PromptExecutionStatus { final String? promptId; final int? number; final String? status; final dynamic error; PromptExecutionStatus({ this.promptId, this.number, this.status, this.error, }); factory PromptExecutionStatus.fromJson(Map json) { return PromptExecutionStatus( promptId: json['prompt_id'] as String?, number: json['number'] as int?, status: json['status'] as String?, error: json['error'], ); } } /// Represents history data class HistoryItem { final String promptId; final Map prompt; final Map? outputs; HistoryItem({ required this.promptId, required this.prompt, this.outputs, }); factory HistoryItem.fromJson(Map json) { return HistoryItem( promptId: json['prompt_id'] as String, prompt: Map.from(json['prompt'] ?? {}), outputs: json['outputs'] != null ? Map.from(json['outputs']) : null, ); } } /// Represents a progress update received via WebSocket class ProgressUpdate { final String type; final Map data; ProgressUpdate({ required this.type, required this.data, }); factory ProgressUpdate.fromJson(Map json) { return ProgressUpdate( type: json['type'] as String, data: Map.from(json['data'] ?? {}), ); } }