| 12345678910111213141516171819202122232425262728293031323334353637 |
- from abc import ABC, abstractmethod
- from typing import Dict, Tuple
- from opendevin.runtime.docker.process import Process
- from opendevin.runtime.plugins.mixin import PluginMixin
- class Sandbox(ABC, PluginMixin):
- background_commands: Dict[int, Process] = {}
- @abstractmethod
- def execute(self, cmd: str) -> Tuple[int, str]:
- pass
- @abstractmethod
- def execute_in_background(self, cmd: str) -> Process:
- pass
- @abstractmethod
- def kill_background(self, id: int) -> Process:
- pass
- @abstractmethod
- def read_logs(self, id: int) -> str:
- pass
- @abstractmethod
- def close(self):
- pass
- @abstractmethod
- def copy_to(self, host_src: str, sandbox_dest: str, recursive: bool = False):
- pass
- @abstractmethod
- def get_working_directory(self):
- pass
|