from typing import Any from openenv.core.env_server.types import Action, Observation, State from pydantic import Field class CareerPlanningAction(Action): type: str = Field(..., description="Action type: choose_career, learn_skill, or work") target: str | None = Field(default=None, description="Optional action target, such as a career or skill") class CareerPlanningObservation(Observation): skills: list[str] = Field(default_factory=list, description="Current skill inventory") career: str | None = Field(default=None, description="Current chosen career") salary: float = Field(default=0.0, description="Current simulated salary") step: int = Field(default=0, description="Current episode step") class CareerPlanningState(State): skills: list[str] = Field(default_factory=list, description="Current skill inventory") career: str | None = Field(default=None, description="Current chosen career") salary: float = Field(default=0.0, description="Current simulated salary")