# 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 Echo Environment. The Echo environment is a simple test environment that echoes back messages. """ from pydantic import Field # Support both in-repo and standalone imports try: # In-repo imports (when running from OpenEnv repository) from openenv.core.env_server.types import Action, Observation except ImportError: # Standalone imports (when environment is standalone with openenv from pip) from openenv.core.env_server.types import Action, Observation class EchoAction(Action): """Action for the Echo environment - just a message to echo.""" message: str = Field(..., min_length=1, description="Message to echo back") class EchoObservation(Observation): """Observation from the Echo environment - the echoed message.""" echoed_message: str = Field(..., description="The echoed message from the environment") message_length: int = Field(default=0, ge=0, description="Length of the echoed message")