Spaces:
Build error
Build error
from dataclasses import dataclass | |
from typing import ClassVar | |
from openhands.core.schema import ActionType | |
from openhands.events.action.action import ( | |
Action, | |
ActionConfirmationStatus, | |
ActionSecurityRisk, | |
) | |
class CmdRunAction(Action): | |
command: ( | |
str # When `command` is empty, it will be used to print the current tmux window | |
) | |
is_input: bool = False # if True, the command is an input to the running process | |
thought: str = '' | |
blocking: bool = False # if True, the command will be run in a blocking manner, but a timeout must be set through _set_hard_timeout | |
is_static: bool = False # if True, runs the command in a separate process | |
cwd: str | None = None # current working directory, only used if is_static is True | |
hidden: bool = False | |
action: str = ActionType.RUN | |
runnable: ClassVar[bool] = True | |
confirmation_state: ActionConfirmationStatus = ActionConfirmationStatus.CONFIRMED | |
security_risk: ActionSecurityRisk | None = None | |
def message(self) -> str: | |
return f'Running command: {self.command}' | |
def __str__(self) -> str: | |
ret = f'**CmdRunAction (source={self.source}, is_input={self.is_input})**\n' | |
if self.thought: | |
ret += f'THOUGHT: {self.thought}\n' | |
ret += f'COMMAND:\n{self.command}' | |
return ret | |
class IPythonRunCellAction(Action): | |
code: str | |
thought: str = '' | |
include_extra: bool = ( | |
True # whether to include CWD & Python interpreter in the output | |
) | |
action: str = ActionType.RUN_IPYTHON | |
runnable: ClassVar[bool] = True | |
confirmation_state: ActionConfirmationStatus = ActionConfirmationStatus.CONFIRMED | |
security_risk: ActionSecurityRisk | None = None | |
kernel_init_code: str = '' # code to run in the kernel (if the kernel is restarted) | |
def __str__(self) -> str: | |
ret = '**IPythonRunCellAction**\n' | |
if self.thought: | |
ret += f'THOUGHT: {self.thought}\n' | |
ret += f'CODE:\n{self.code}' | |
return ret | |
def message(self) -> str: | |
return f'Running Python code interactively: {self.code}' | |