| # Copyright (c) Meta Platforms, Inc. and affiliates. | |
| # All rights reserved. | |
| # | |
| # This source code is licensed under the BSD-style license found in the | |
| # LICENSE file in the root directory of this source tree. | |
| """ | |
| Data models for the My Env Environment. | |
| The my_env environment is a simple test environment that echoes back messages. | |
| """ | |
| from typing import Optional | |
| from pydantic import Field | |
| from openenv.core.env_server.types import Action, Observation | |
| class MyAction(Action): | |
| """Action for the My Env environment - just a message to echo.""" | |
| move: int = Field(..., description="0 = left, 1 = right") | |
| class MyObservation(Observation): | |
| """Observation from the My Env environment - the echoed message.""" | |
| state: int = Field(..., description="Current position (0–4)") | |
| reward: Optional[float] = None | |
| done: bool = Field(...) |