from typing import Any, Required

from ldnode.calculator.schemas import (
    HyperparameterSearchConfig,
    HyperparameterSearchResult,
)

from .common import TaskBaseParameters


class HyperparameterSearchParameters(TaskBaseParameters):
    """超参数搜索参数"""

    study_id: Required[str]  # 优化ID
    method: Required[str]  # 评价方法
    config: Required[HyperparameterSearchConfig]  # 配置
    parameters: Required[dict[str, Any]]  # 参数
    history_results: list[HyperparameterSearchResult]  # 历史结果
    test_begin_date: str  # 测试开始日期
