from __future__ import annotations from dataclasses import dataclass, field from typing import Any, Dict, List, Literal, Optional WorkerCommandKind = Literal["preload", "forecast", "shutdown"] WorkerResponseKind = Literal["preload", "forecast", "shutdown", "status", "exit"] @dataclass(frozen=True) class ForecastWorkerCommand: kind: WorkerCommandKind job_id: str model_key: str df_records: List[Dict[str, Any]] = field(default_factory=list) horizon: int = 0 interval: str = "" step_seconds: int = 0 symbol: str = "" @dataclass(frozen=True) class ForecastWorkerResponse: kind: WorkerResponseKind job_id: str model_key: str success: bool payload: Optional[Dict[str, Any]] = None error: Optional[str] = None device: str = "not_loaded" loaded: bool = False pid: int = 0