from dataclasses import dataclass

from synthegrator.memory_fs import ProjectDir
from synthegrator.sandboxing import DockerExecutionContext


@dataclass(frozen=True)
class ProjectWorkingDirectory:
    files: ProjectDir


@dataclass(frozen=True)
class CodeExecutionEnvironment:
    docker_env: DockerExecutionContext = None
    """A docker environment to use when executing the code"""