From ee0425d8ce50d6995e45e50d75b004e5defb876e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 17 Oct 2025 21:51:46 +0000 Subject: [PATCH 1/3] Initial plan From fa46f66ed9d5cd209c1b5e79007a584166c544f4 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 17 Oct 2025 22:01:00 +0000 Subject: [PATCH 2/3] Rename models.py to types.py and update all imports and documentation Co-authored-by: Darktex <890615+Darktex@users.noreply.github.com> --- README.md | 2 +- src/core/env_server/http_server.py | 2 +- src/core/http_env_client.py | 2 +- src/envs/README.md | 12 ++++++------ src/envs/atari_env/__init__.py | 2 +- src/envs/atari_env/client.py | 2 +- src/envs/atari_env/server/app.py | 2 +- src/envs/atari_env/server/atari_environment.py | 2 +- src/envs/atari_env/{models.py => types.py} | 0 src/envs/chat_env/README.md | 2 +- src/envs/chat_env/__init__.py | 2 +- src/envs/chat_env/client.py | 2 +- src/envs/chat_env/server/app.py | 2 +- src/envs/chat_env/server/chat_environment.py | 2 +- src/envs/chat_env/server/test_chat_env.py | 2 +- src/envs/chat_env/{models.py => types.py} | 0 src/envs/coding_env/README.md | 2 +- src/envs/coding_env/__init__.py | 2 +- src/envs/coding_env/coding_env_client.py | 2 +- src/envs/coding_env/server/app.py | 2 +- src/envs/coding_env/server/python_codeact_env.py | 2 +- src/envs/coding_env/server/transforms.py | 2 +- src/envs/coding_env/{models.py => types.py} | 2 +- src/envs/echo_env/README.md | 2 +- src/envs/echo_env/__init__.py | 2 +- src/envs/echo_env/client.py | 2 +- src/envs/echo_env/server/app.py | 2 +- src/envs/echo_env/server/echo_environment.py | 2 +- src/envs/echo_env/{models.py => types.py} | 0 src/envs/openspiel_env/__init__.py | 2 +- src/envs/openspiel_env/client.py | 2 +- src/envs/openspiel_env/server/app.py | 2 +- .../openspiel_env/server/openspiel_environment.py | 2 +- src/envs/openspiel_env/{models.py => types.py} | 0 34 files changed, 35 insertions(+), 35 deletions(-) rename src/envs/atari_env/{models.py => types.py} (100%) rename src/envs/chat_env/{models.py => types.py} (100%) rename src/envs/coding_env/{models.py => types.py} (96%) rename src/envs/echo_env/{models.py => types.py} (100%) rename src/envs/openspiel_env/{models.py => types.py} (100%) diff --git a/README.md b/README.md index 395e754..37cc119 100644 --- a/README.md +++ b/README.md @@ -80,7 +80,7 @@ When building a new environment, create the following structure: ``` src/envs/your_env/ ├── __init__.py # Export YourAction, YourObservation, YourEnv -├── models.py # Define Action, Observation, State dataclasses +├── types.py # Define Action, Observation, State dataclasses ├── client.py # Implement YourEnv(HTTPEnvClient) ├── README.md # Document your environment └── server/ diff --git a/src/core/env_server/http_server.py b/src/core/env_server/http_server.py index e1c48e9..ca07e06 100644 --- a/src/core/env_server/http_server.py +++ b/src/core/env_server/http_server.py @@ -177,7 +177,7 @@ def create_fastapi_app( Example: >>> from envs.coding_env.server import CodeExecutionEnvironment - >>> from envs.coding_env.models import CodeAction, CodeObservation + >>> from envs.coding_env.types import CodeAction, CodeObservation >>> >>> env = CodeExecutionEnvironment() >>> app = create_fastapi_app(env, CodeAction, CodeObservation) diff --git a/src/core/http_env_client.py b/src/core/http_env_client.py index 1f50428..22a9511 100644 --- a/src/core/http_env_client.py +++ b/src/core/http_env_client.py @@ -66,7 +66,7 @@ def from_docker_image( Example: >>> from envs.coding_env.client import CodingEnv - >>> from envs.coding_env.models import CodeAction + >>> from envs.coding_env.types import CodeAction >>> >>> # Create environment from image >>> env = CodingEnv.from_docker_image("coding-env:latest") diff --git a/src/envs/README.md b/src/envs/README.md index e45c181..49dff3b 100644 --- a/src/envs/README.md +++ b/src/envs/README.md @@ -18,7 +18,7 @@ Creating an environment involves five main steps: Create your action, observation, and state models using Python dataclasses: ```python -# models.py +# types.py from dataclasses import dataclass from core.env_server import Action, Observation, State @@ -48,7 +48,7 @@ Implement the three core methods: `reset()`, `step()`, and `state`: # server/my_environment.py import uuid from core.env_server import Environment -from ..models import MyAction, MyObservation, MyState +from ..types import MyAction, MyObservation, MyState class MyEnvironment(Environment): def __init__(self): @@ -77,7 +77,7 @@ Use the `create_fastapi_app` helper to create your HTTP server: ```python # server/app.py from core.env_server import create_fastapi_app -from ..models import MyAction, MyObservation +from ..types import MyAction, MyObservation from .my_environment import MyEnvironment env = MyEnvironment() @@ -140,7 +140,7 @@ Create a client that extends `HTTPEnvClient`: # client.py from core.http_env_client import HTTPEnvClient from core.types import StepResult -from .models import MyAction, MyObservation, MyState +from .types import MyAction, MyObservation, MyState class MyEnv(HTTPEnvClient[MyAction, MyObservation]): def _step_payload(self, action: MyAction) -> dict: @@ -203,7 +203,7 @@ Organize your environment following this structure: ``` src/envs/my_env/ ├── __init__.py # Export MyAction, MyObservation, MyState, MyEnv -├── models.py # Action, Observation, State definitions +├── types.py # Action, Observation, State definitions ├── client.py # MyEnv client implementation ├── README.md # Environment documentation └── server/ @@ -282,7 +282,7 @@ Test your environment before containerization: ```python # test_my_environment.py from envs.my_env.server.my_environment import MyEnvironment -from envs.my_env.models import MyAction +from envs.my_env.types import MyAction def test_environment(): env = MyEnvironment() diff --git a/src/envs/atari_env/__init__.py b/src/envs/atari_env/__init__.py index 5ea6843..6fa4b6f 100644 --- a/src/envs/atari_env/__init__.py +++ b/src/envs/atari_env/__init__.py @@ -26,6 +26,6 @@ """ from .client import AtariEnv -from .models import AtariAction, AtariObservation, AtariState +from .types import AtariAction, AtariObservation, AtariState __all__ = ["AtariEnv", "AtariAction", "AtariObservation", "AtariState"] diff --git a/src/envs/atari_env/client.py b/src/envs/atari_env/client.py index 60eab10..6657892 100644 --- a/src/envs/atari_env/client.py +++ b/src/envs/atari_env/client.py @@ -18,7 +18,7 @@ from core.http_env_client import HTTPEnvClient from core.types import StepResult -from .models import AtariAction, AtariObservation, AtariState +from .types import AtariAction, AtariObservation, AtariState if TYPE_CHECKING: from core.containers.runtime import ContainerProvider diff --git a/src/envs/atari_env/server/app.py b/src/envs/atari_env/server/app.py index 8b586df..eb7baa7 100644 --- a/src/envs/atari_env/server/app.py +++ b/src/envs/atari_env/server/app.py @@ -34,7 +34,7 @@ from core.env_server import create_fastapi_app -from ..models import AtariAction, AtariObservation +from ..types import AtariAction, AtariObservation from .atari_environment import AtariEnvironment # Get configuration from environment variables diff --git a/src/envs/atari_env/server/atari_environment.py b/src/envs/atari_env/server/atari_environment.py index 6d6b536..8c22083 100644 --- a/src/envs/atari_env/server/atari_environment.py +++ b/src/envs/atari_env/server/atari_environment.py @@ -16,7 +16,7 @@ from core.env_server import Action, Environment, Observation -from ..models import AtariAction, AtariObservation, AtariState +from ..types import AtariAction, AtariObservation, AtariState # Import ALE try: diff --git a/src/envs/atari_env/models.py b/src/envs/atari_env/types.py similarity index 100% rename from src/envs/atari_env/models.py rename to src/envs/atari_env/types.py diff --git a/src/envs/chat_env/README.md b/src/envs/chat_env/README.md index abc873d..2af5097 100644 --- a/src/envs/chat_env/README.md +++ b/src/envs/chat_env/README.md @@ -245,7 +245,7 @@ chat_env/ ├── __init__.py # Module exports (ChatEnv, ChatAction, etc.) ├── README.md # This file ├── client.py # ChatEnv HTTP client -├── models.py # ChatAction, ChatObservation, ChatState +├── types.py # ChatAction, ChatObservation, ChatState └── server/ ├── __init__.py # Server module exports ├── chat_environment.py # Core ChatEnvironment implementation diff --git a/src/envs/chat_env/__init__.py b/src/envs/chat_env/__init__.py index 0697761..f3e59e4 100644 --- a/src/envs/chat_env/__init__.py +++ b/src/envs/chat_env/__init__.py @@ -7,6 +7,6 @@ """Chat Environment - A chat-based environment for LLMs with tokenization support.""" from .client import ChatEnv -from .models import ChatAction, ChatObservation, ChatState +from .types import ChatAction, ChatObservation, ChatState __all__ = ["ChatAction", "ChatObservation", "ChatState", "ChatEnv"] diff --git a/src/envs/chat_env/client.py b/src/envs/chat_env/client.py index 87126fc..ad1f52c 100644 --- a/src/envs/chat_env/client.py +++ b/src/envs/chat_env/client.py @@ -20,7 +20,7 @@ from core.http_env_client import HTTPEnvClient from core.types import StepResult -from .models import ChatAction, ChatObservation, ChatState +from .types import ChatAction, ChatObservation, ChatState class ChatEnv(HTTPEnvClient[ChatAction, ChatObservation]): diff --git a/src/envs/chat_env/server/app.py b/src/envs/chat_env/server/app.py index b50d9b6..2d34526 100644 --- a/src/envs/chat_env/server/app.py +++ b/src/envs/chat_env/server/app.py @@ -28,7 +28,7 @@ from core.env_server import create_fastapi_app -from ..models import ChatAction, ChatObservation +from ..types import ChatAction, ChatObservation from .chat_environment import ChatEnvironment diff --git a/src/envs/chat_env/server/chat_environment.py b/src/envs/chat_env/server/chat_environment.py index 80aa5a7..c56339c 100644 --- a/src/envs/chat_env/server/chat_environment.py +++ b/src/envs/chat_env/server/chat_environment.py @@ -14,7 +14,7 @@ from core.env_server.interfaces import Environment, Message, ModelTokenizer, Transform -from ..models import ChatAction, ChatObservation, ChatState +from ..types import ChatAction, ChatObservation, ChatState class ChatEnvironment(Environment): diff --git a/src/envs/chat_env/server/test_chat_env.py b/src/envs/chat_env/server/test_chat_env.py index 92a67d0..a1da438 100644 --- a/src/envs/chat_env/server/test_chat_env.py +++ b/src/envs/chat_env/server/test_chat_env.py @@ -14,7 +14,7 @@ from core.env_server.interfaces import Message -from ..models import ChatAction +from ..types import ChatAction from .chat_environment import ChatEnvironment diff --git a/src/envs/chat_env/models.py b/src/envs/chat_env/types.py similarity index 100% rename from src/envs/chat_env/models.py rename to src/envs/chat_env/types.py diff --git a/src/envs/coding_env/README.md b/src/envs/coding_env/README.md index 10b6c82..70e844f 100644 --- a/src/envs/coding_env/README.md +++ b/src/envs/coding_env/README.md @@ -107,7 +107,7 @@ This example shows: ``` coding_env/ ├── README.md # This file -├── models.py # Action, Observation, and State models +├── types.py # Action, Observation, and State types ├── client/ │ ├── coding_env_client.py # CodingEnv client implementation │ └── example_usage.py # Usage examples diff --git a/src/envs/coding_env/__init__.py b/src/envs/coding_env/__init__.py index 9fd16ea..aa3434e 100644 --- a/src/envs/coding_env/__init__.py +++ b/src/envs/coding_env/__init__.py @@ -7,6 +7,6 @@ """Coding Environment - A Python code execution environment.""" from .coding_env_client import CodingEnv -from .models import CodeAction, CodeObservation, CodeState +from .types import CodeAction, CodeObservation, CodeState __all__ = ["CodeAction", "CodeObservation", "CodeState", "CodingEnv"] diff --git a/src/envs/coding_env/coding_env_client.py b/src/envs/coding_env/coding_env_client.py index 02667f5..b3b52a7 100644 --- a/src/envs/coding_env/coding_env_client.py +++ b/src/envs/coding_env/coding_env_client.py @@ -18,7 +18,7 @@ from core.http_env_client import HTTPEnvClient from core.types import StepResult -from .models import CodeAction, CodeObservation, CodeState +from .types import CodeAction, CodeObservation, CodeState if TYPE_CHECKING: from core.containers.runtime import ContainerProvider diff --git a/src/envs/coding_env/server/app.py b/src/envs/coding_env/server/app.py index 40f3114..9bdefc6 100644 --- a/src/envs/coding_env/server/app.py +++ b/src/envs/coding_env/server/app.py @@ -23,7 +23,7 @@ from core.env_server import create_fastapi_app -from ..models import CodeAction, CodeObservation +from ..types import CodeAction, CodeObservation from .python_codeact_env import PythonCodeActEnv # Create the environment instance diff --git a/src/envs/coding_env/server/python_codeact_env.py b/src/envs/coding_env/server/python_codeact_env.py index 195cd01..7a26326 100644 --- a/src/envs/coding_env/server/python_codeact_env.py +++ b/src/envs/coding_env/server/python_codeact_env.py @@ -16,7 +16,7 @@ from core.env_server import Action, Environment, Observation, Transform from core.tools import PyExecutor -from ..models import CodeAction, CodeObservation, CodeState +from ..types import CodeAction, CodeObservation, CodeState from .transforms import create_safe_coding_transform class PythonCodeActEnv(Environment): diff --git a/src/envs/coding_env/server/transforms.py b/src/envs/coding_env/server/transforms.py index 38ce952..ff5908a 100644 --- a/src/envs/coding_env/server/transforms.py +++ b/src/envs/coding_env/server/transforms.py @@ -13,7 +13,7 @@ from core.env_server.interfaces import Transform from core.env_server.types import Observation -from ..models import CodeObservation +from ..types import CodeObservation class CodeSafetyTransform(Transform): diff --git a/src/envs/coding_env/models.py b/src/envs/coding_env/types.py similarity index 96% rename from src/envs/coding_env/models.py rename to src/envs/coding_env/types.py index 92436ba..a8da355 100644 --- a/src/envs/coding_env/models.py +++ b/src/envs/coding_env/types.py @@ -1,5 +1,5 @@ """ -envs/coding_env/models.py +envs/coding_env/types.py -------------------------------- Action/Observation types for the Coding environment. """ diff --git a/src/envs/echo_env/README.md b/src/envs/echo_env/README.md index 2daa625..cf20e2c 100644 --- a/src/envs/echo_env/README.md +++ b/src/envs/echo_env/README.md @@ -123,7 +123,7 @@ echo_env/ ├── __init__.py # Module exports ├── README.md # This file ├── client.py # EchoEnv client implementation -├── models.py # Action and Observation models +├── types.py # Action and Observation types └── server/ ├── __init__.py # Server module exports ├── echo_environment.py # Core environment logic diff --git a/src/envs/echo_env/__init__.py b/src/envs/echo_env/__init__.py index 6da62ba..4ba4163 100644 --- a/src/envs/echo_env/__init__.py +++ b/src/envs/echo_env/__init__.py @@ -7,6 +7,6 @@ """Echo Environment - A simple test environment for HTTP server.""" from .client import EchoEnv -from .models import EchoAction, EchoObservation +from .types import EchoAction, EchoObservation __all__ = ["EchoAction", "EchoObservation", "EchoEnv"] diff --git a/src/envs/echo_env/client.py b/src/envs/echo_env/client.py index 7ad73b2..01e87ee 100644 --- a/src/envs/echo_env/client.py +++ b/src/envs/echo_env/client.py @@ -17,7 +17,7 @@ from core.http_env_client import HTTPEnvClient from core.types import StepResult -from .models import EchoAction, EchoObservation +from .types import EchoAction, EchoObservation class EchoEnv(HTTPEnvClient[EchoAction, EchoObservation]): diff --git a/src/envs/echo_env/server/app.py b/src/envs/echo_env/server/app.py index b56bb6d..d3d1972 100644 --- a/src/envs/echo_env/server/app.py +++ b/src/envs/echo_env/server/app.py @@ -23,7 +23,7 @@ from core.env_server import create_fastapi_app -from ..models import EchoAction, EchoObservation +from ..types import EchoAction, EchoObservation from .echo_environment import EchoEnvironment # Create the environment instance diff --git a/src/envs/echo_env/server/echo_environment.py b/src/envs/echo_env/server/echo_environment.py index 5033a9c..43d6c7d 100644 --- a/src/envs/echo_env/server/echo_environment.py +++ b/src/envs/echo_env/server/echo_environment.py @@ -16,7 +16,7 @@ from core.env_server.interfaces import Environment from core.env_server.types import State -from ..models import EchoAction, EchoObservation +from ..types import EchoAction, EchoObservation class EchoEnvironment(Environment): diff --git a/src/envs/echo_env/models.py b/src/envs/echo_env/types.py similarity index 100% rename from src/envs/echo_env/models.py rename to src/envs/echo_env/types.py diff --git a/src/envs/openspiel_env/__init__.py b/src/envs/openspiel_env/__init__.py index b72cd4b..b012e62 100644 --- a/src/envs/openspiel_env/__init__.py +++ b/src/envs/openspiel_env/__init__.py @@ -21,6 +21,6 @@ """ from .client import OpenSpielEnv -from .models import OpenSpielAction, OpenSpielObservation, OpenSpielState +from .types import OpenSpielAction, OpenSpielObservation, OpenSpielState __all__ = ["OpenSpielEnv", "OpenSpielAction", "OpenSpielObservation", "OpenSpielState"] diff --git a/src/envs/openspiel_env/client.py b/src/envs/openspiel_env/client.py index 43b8c8c..d0cec91 100644 --- a/src/envs/openspiel_env/client.py +++ b/src/envs/openspiel_env/client.py @@ -18,7 +18,7 @@ from core.http_env_client import HTTPEnvClient from core.types import StepResult -from .models import OpenSpielAction, OpenSpielObservation, OpenSpielState +from .types import OpenSpielAction, OpenSpielObservation, OpenSpielState if TYPE_CHECKING: from core.containers.runtime import ContainerProvider diff --git a/src/envs/openspiel_env/server/app.py b/src/envs/openspiel_env/server/app.py index 07e2742..60bbfbc 100644 --- a/src/envs/openspiel_env/server/app.py +++ b/src/envs/openspiel_env/server/app.py @@ -30,7 +30,7 @@ from core.env_server import create_fastapi_app -from ..models import OpenSpielAction, OpenSpielObservation +from ..types import OpenSpielAction, OpenSpielObservation from .openspiel_environment import OpenSpielEnvironment # Get game configuration from environment variables diff --git a/src/envs/openspiel_env/server/openspiel_environment.py b/src/envs/openspiel_env/server/openspiel_environment.py index 3a3e617..65f9c9e 100644 --- a/src/envs/openspiel_env/server/openspiel_environment.py +++ b/src/envs/openspiel_env/server/openspiel_environment.py @@ -16,7 +16,7 @@ from core.env_server import Action, Environment, Observation -from ..models import OpenSpielAction, OpenSpielObservation, OpenSpielState +from ..types import OpenSpielAction, OpenSpielObservation, OpenSpielState from .opponent_policies import get_opponent_policy, OpponentPolicy # Import OpenSpiel diff --git a/src/envs/openspiel_env/models.py b/src/envs/openspiel_env/types.py similarity index 100% rename from src/envs/openspiel_env/models.py rename to src/envs/openspiel_env/types.py From d4b9e377d92031971ef1ac1ed6ee3932901e3130 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 17 Oct 2025 22:06:00 +0000 Subject: [PATCH 3/3] Update docstrings from "Data models" to "Data types" Co-authored-by: Darktex <890615+Darktex@users.noreply.github.com> --- src/envs/atari_env/types.py | 2 +- src/envs/chat_env/types.py | 2 +- src/envs/echo_env/types.py | 2 +- src/envs/openspiel_env/types.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/envs/atari_env/types.py b/src/envs/atari_env/types.py index 1938172..41ea11c 100644 --- a/src/envs/atari_env/types.py +++ b/src/envs/atari_env/types.py @@ -5,7 +5,7 @@ # LICENSE file in the root directory of this source tree. """ -Data models for Atari Environment. +Data types for Atari Environment. This module defines the Action, Observation, and State types for Atari games via the Arcade Learning Environment (ALE). diff --git a/src/envs/chat_env/types.py b/src/envs/chat_env/types.py index 321565e..1584390 100644 --- a/src/envs/chat_env/types.py +++ b/src/envs/chat_env/types.py @@ -5,7 +5,7 @@ # LICENSE file in the root directory of this source tree. """ -Data models for the Chat Environment. +Data types for the Chat Environment. The Chat environment provides a chat-based interface for LLMs with support for tokenization and message history management. diff --git a/src/envs/echo_env/types.py b/src/envs/echo_env/types.py index d73134b..1629c53 100644 --- a/src/envs/echo_env/types.py +++ b/src/envs/echo_env/types.py @@ -5,7 +5,7 @@ # LICENSE file in the root directory of this source tree. """ -Data models for the Echo Environment. +Data types for the Echo Environment. The Echo environment is a simple test environment that echoes back messages. """ diff --git a/src/envs/openspiel_env/types.py b/src/envs/openspiel_env/types.py index 93fa81c..0696e7b 100644 --- a/src/envs/openspiel_env/types.py +++ b/src/envs/openspiel_env/types.py @@ -5,7 +5,7 @@ # LICENSE file in the root directory of this source tree. """ -Data models for OpenSpiel Environment. +Data types for OpenSpiel Environment. This module defines the Action, Observation, and State types for OpenSpiel games. """