from __future__ import annotations from dataclasses import dataclass, field from typing import Any @dataclass class StimulusCandidate: prompt: str score: float image: Any | None = None video: Any | None = None metadata: dict[str, Any] = field(default_factory=dict) @dataclass class StimulusSynthesisOutput: candidates: list[StimulusCandidate] best_prompt: str best_score: float history_best: list[float] metadata: dict[str, Any] = field(default_factory=dict) @property def best(self) -> StimulusCandidate: return self.candidates[0]