process.py 651 B

123456789101112131415161718192021222324252627
  1. from e2b import Process as E2BSandboxProcess
  2. from opendevin.runtime.docker.process import Process
  3. class E2BProcess(Process):
  4. def __init__(self, process: E2BSandboxProcess, cmd: str):
  5. self._process = process
  6. self._command = cmd
  7. def kill(self):
  8. self._process.kill()
  9. def read_logs(self):
  10. return '\n'.join([m.line for m in self._process.output_messages])
  11. @property
  12. def pid(self) -> int:
  13. return int(self._process.process_id)
  14. @property
  15. def command(self) -> str:
  16. return self._command
  17. @property
  18. def output_messages(self):
  19. return self._process.output_messages