Spaces:
Build error
Build error
| from openhands.runtime.base import Runtime | |
| from openhands.runtime.impl.cli.cli_runtime import CLIRuntime | |
| from openhands.runtime.impl.daytona.daytona_runtime import DaytonaRuntime | |
| from openhands.runtime.impl.docker.docker_runtime import ( | |
| DockerRuntime, | |
| ) | |
| from openhands.runtime.impl.e2b.e2b_runtime import E2BRuntime | |
| from openhands.runtime.impl.local.local_runtime import LocalRuntime | |
| from openhands.runtime.impl.modal.modal_runtime import ModalRuntime | |
| from openhands.runtime.impl.remote.remote_runtime import RemoteRuntime | |
| from openhands.runtime.impl.runloop.runloop_runtime import RunloopRuntime | |
| from openhands.utils.import_utils import get_impl | |
| # mypy: disable-error-code="type-abstract" | |
| _DEFAULT_RUNTIME_CLASSES: dict[str, type[Runtime]] = { | |
| 'eventstream': DockerRuntime, | |
| 'docker': DockerRuntime, | |
| 'e2b': E2BRuntime, | |
| 'remote': RemoteRuntime, | |
| 'modal': ModalRuntime, | |
| 'runloop': RunloopRuntime, | |
| 'local': LocalRuntime, | |
| 'daytona': DaytonaRuntime, | |
| 'cli': CLIRuntime, | |
| } | |
| def get_runtime_cls(name: str) -> type[Runtime]: | |
| """ | |
| If name is one of the predefined runtime names (e.g. 'docker'), return its class. | |
| Otherwise attempt to resolve name as subclass of Runtime and return it. | |
| Raise on invalid selections. | |
| """ | |
| if name in _DEFAULT_RUNTIME_CLASSES: | |
| return _DEFAULT_RUNTIME_CLASSES[name] | |
| try: | |
| return get_impl(Runtime, name) | |
| except Exception as e: | |
| known_keys = _DEFAULT_RUNTIME_CLASSES.keys() | |
| raise ValueError( | |
| f'Runtime {name} not supported, known are: {known_keys}' | |
| ) from e | |
| __all__ = [ | |
| 'Runtime', | |
| 'E2BRuntime', | |
| 'RemoteRuntime', | |
| 'ModalRuntime', | |
| 'RunloopRuntime', | |
| 'DockerRuntime', | |
| 'DaytonaRuntime', | |
| 'CLIRuntime', | |
| 'get_runtime_cls', | |
| ] | |