Spaces:
Running
Running
| # 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. | |
| """OpenCode environment for OpenEnv. | |
| Two layers in this package: | |
| 1. **Harness primitive** — :class:`OpenCodeSessionFactory` / | |
| :class:`OpenCodeSession` / :class:`OpenCodeConfig` / | |
| :class:`E2BSandboxBackend`. Used in-process to drive one rollout | |
| inside an E2B sandbox. See ``harness.py``. | |
| 2. **Deployable env** — :class:`OpenCodeEnv` (MCP client) talks to the | |
| FastAPI server at ``server/app.py`` over HTTP. Use this when the | |
| sandbox + agent live behind an HTTP boundary (e.g. an HF Space). | |
| See ``client.py`` and ``server/``. | |
| """ | |
| from openenv.core.env_server.mcp_types import CallToolAction, ListToolsAction | |
| from .client import OpenCodeEnv | |
| from .config import OpenCodeConfig, Provider | |
| from .harness import OpenCodeSession, OpenCodeSessionFactory | |
| from .models import ( | |
| CommandResult, | |
| OpenCodeState, | |
| RolloutResult, | |
| RolloutTurn, | |
| ) | |
| from .sandbox import E2BSandboxBackend, SandboxBackend, SandboxHandle | |
| from .task import OpenCodeTask | |
| __all__ = [ | |
| # Deployed-env client | |
| "OpenCodeEnv", | |
| "CallToolAction", | |
| "ListToolsAction", | |
| # HTTP API models | |
| "CommandResult", | |
| "OpenCodeState", | |
| "RolloutResult", | |
| "RolloutTurn", | |
| # Harness primitive | |
| "OpenCodeConfig", | |
| "OpenCodeSession", | |
| "OpenCodeSessionFactory", | |
| "OpenCodeTask", | |
| "Provider", | |
| # Sandbox backend | |
| "E2BSandboxBackend", | |
| "SandboxBackend", | |
| "SandboxHandle", | |
| ] | |