Frank Xu a84d19f03c
Enable CodeAct agents with browsing, and also enable arbitrary BrowserGym action support (#1807)
* enable browsing in codeact, and  arbitrary browsergym DSL support

* fix

* fix unit test case

* update frontend for the new interactive browsing action

* bump ver

* Fix integration tests

---------

Co-authored-by: OpenDevinBot <bot@opendevin.com>
2024-05-15 11:59:58 -04:00

95 lines
2.2 KiB
Python

from pydantic import BaseModel, Field
__all__ = ['ActionType']
class ActionTypeSchema(BaseModel):
INIT: str = Field(default='initialize')
"""Initializes the agent. Only sent by client.
"""
MESSAGE: str = Field(default='message')
"""Represents a message.
"""
START: str = Field(default='start')
"""Starts a new development task OR send chat from the user. Only sent by the client.
"""
READ: str = Field(default='read')
"""Reads the content of a file.
"""
WRITE: str = Field(default='write')
"""Writes the content to a file.
"""
RUN: str = Field(default='run')
"""Runs a command.
"""
RUN_IPYTHON: str = Field(default='run_ipython')
"""Runs a IPython cell.
"""
KILL: str = Field(default='kill')
"""Kills a background command.
"""
BROWSE: str = Field(default='browse')
"""Opens a web page.
"""
BROWSE_INTERACTIVE: str = Field(default='browse_interactive')
"""Interact with the browser instance.
"""
RECALL: str = Field(default='recall')
"""Searches long-term memory
"""
DELEGATE: str = Field(default='delegate')
"""Delegates a task to another agent.
"""
FINISH: str = Field(default='finish')
"""If you're absolutely certain that you've completed your task and have tested your work,
use the finish action to stop working.
"""
REJECT: str = Field(default='reject')
"""If you're absolutely certain that you cannot complete the task with given requirements,
use the reject action to stop working.
"""
NULL: str = Field(default='null')
SUMMARIZE: str = Field(default='summarize')
ADD_TASK: str = Field(default='add_task')
MODIFY_TASK: str = Field(default='modify_task')
PAUSE: str = Field(default='pause')
"""Pauses the task.
"""
RESUME: str = Field(default='resume')
"""Resumes the task.
"""
STOP: str = Field(default='stop')
"""Stops the task. Must send a start action to restart a new task.
"""
CHANGE_AGENT_STATE: str = Field(default='change_agent_state')
PUSH: str = Field(default='push')
"""Push a branch to github."""
SEND_PR: str = Field(default='send_pr')
"""Send a PR to github."""
ActionType = ActionTypeSchema()