File indexing completed on 2026-04-27 07:28:14
0001 """ePIC-specific problem configuration models."""
0002
0003 from typing import Optional
0004 from pydantic import BaseModel
0005
0006 from aid2e.utilities.configurations.problem_config import ProblemConfiguration
0007 from aid2e.utilities.epic_utils.epic_env_config import EpicConfiguration
0008 from aid2e.utilities.epic_utils.epic_design_config import EpicDesignConfig
0009
0010
0011 class EpicProblemConfiguration(ProblemConfiguration):
0012 """Specialized problem configuration for ePIC workflows.
0013
0014 Inherits from `ProblemConfiguration` and narrows the `design_config` to
0015 `EpicDesignConfig`. Keeps the same validation and path semantics as the
0016 base class while allowing ePIC-specific consumers to rely on a concrete
0017 design configuration type.
0018
0019 Notes:
0020 - This subclass avoids circular imports by sourcing `EpicConfiguration`
0021 from `epic_env_config` and `EpicDesignConfig` from `epic_design_config`.
0022 - All path validations and environment activation remain in the base
0023 `ProblemConfiguration` logic.
0024 """
0025
0026
0027 design_config: EpicDesignConfig