* rearrange workspace_dir and max_step as arguments to controller
* remove unused output
* abstract each action into dataclass
* move actions
* fix action import
* move cmd manager and change method to private
* move controller
* rename action folder
* add state
* a draft of Controller & new agent abstraction
* add agent actions
* remove controller file
* add observation to perform a refractor on langchains agent
* revert to make this compatible via translation
* fix typo and translate error
* add error to observation
* index thought as dict
* refractor controller
* fix circular dependency caused by type hint
* add runnable attribute to agent
* add mixin to denote executable
* change baseclass
* make file read/write action compatible w/ docker directory
* remove event
* fix some merge issue
* fix sandbox w/ permission issue
* cleanup history abstraction since langchains agent is not really using it
* tweak to make langchains agent working
* make all actions return observation
* fix missing import
* add echo action for agent
* add error code to cmd output obs
* make cmd manager returns cmd output obs
* fix codeact agent to make it work
* fix all ruff issue
* fix mypy
* add import agenthub back
* add message for Action attribute (migrate from previous event)
* fix typo
* fix instruction setting
* fix instruction setting
* attempt to fix session
* ruff fix
* add .to_dict method for base and observation
* add message for recall
* try to simplify the state_updated_info with tuple of action and obs
* update_info to Tuple[Action, Observation]
* make codeact agent and langchains compatible with Tuple[Action, Observation]
* fix ruff
* fix ruff
* change to base path to fix minimal langchains agent
* add NullAction to potentially handle for chat scenario
* Update opendevin/controller/command_manager.py
Co-authored-by: Robert Brennan <accounts@rbren.io>
* fix event args
* set the default workspace to "workspace"
* make directory relative (so it does not show up to agent in File*Action)
* fix typo
* await to yield for sending observation
* fix message format
---------
Co-authored-by: Robert Brennan <accounts@rbren.io>
* server working with agent library
* update readme
* add messages to events
* factor out steps
* fix websocket messages
* allow user to run arbitrary actions
* allow user to run commands before a task is started
* fix main.py
* check JSON
* handle errors in controller better
* fix memory issue
* better error handling and task cancellation
* fix monologue len
* fix imports
* remove server from lint check
* fix lint issues
* fix lint errors
* don't modify directories
* oops typo
* dev_config/python
* add config to CI
* bump CI python to 3.10
* 3.11?
* del actions/
* add suggestions
* delete unused code
* missed some
* oops missed another one
* remove a file
* Move regression tests to evaluation/
* use pythnon instead of docker in the script
* add model para
* change python to python3
* bug fix
* add python path
* add readme
* use model name from main.py arguments instead of env var
* set default model to gpt-4-0125-preview for langchains agent to work;
print model, dir, and task when started
* a starting point for SWE-Bench evaluation with docker
* fix the swe-bench uid issue
* typo fixed
* fix conda missing issue
* move files based on new PR
* Update doc and gitignore using devin prediction file from #81
* fix typo
* add a sentence
* fix typo in path
* fix path
---------
Co-authored-by: Binyuan Hui <binyuan.hby@alibaba-inc.com>
* adding code to fetch and convert devin's output for evaluation
* update README.md
* update code for fetching and processing devin's outputs
* update code for fetching and processing devin's outputs
* minimal docker sandbox
* make container_image as an argument (fall back to ubuntu);
increase timeout to avoid return too early for long running commands;
* add a minimal working (imperfect) example
* fix typo
* change default container name
* attempt to fix "Bad file descriptor" error
* handle ctrl+D
* add Python gitignore
* push sandbox to shared dockerhub for ease of use
* move codeact example into research folder
* add README for opendevin
* change container image name to opendevin dockerhub
* move folder; change example to a more general agent
* update Message and Role
* update docker sandbox to support mounting folder and switch to user with correct permission
* make network as host
* handle erorrs when attrs are not set yet
* convert codeact agent into a compatible agent
* add workspace to gitignore
* make sure the agent interface adjustment works for langchain_agent
* move agent to langchains_agent
* remove old .env
* remove the old agent folder
* add preliminary version of Agent abstraction
* add preliminary version of the main.py
* merge controlloop and main into a Agent class
* add init
* fix json import
* fix missing arg
* get langchains_agent working after abstraction
* rename `research` to `agenthub`
* rename: rename research to agenthub
---------
Co-authored-by: huybery <huybery@gmail.com>
* Creating the folder for experiments, adding initial analysis of Devin's outputs on SWE-bench
* typo fixed
* update devin's evaluation outputs analysis
* remove data files from commit
* add logistics for managing the experiment folder in README
* Change folder naming and update logistics.
---------
Co-authored-by: Bowen Li <libowen.ne@gmail.com>
* initialize control loop
* add todo
* more todo
* add dockerignore
* add notes to prompt
* encourage llm to finish
* add debug env
* update prompts a bit
* fix task prompts
* add basic regression framework
* add hello-world regression case
* add hello-name test case
* fix workspace ignore
* document regression script
* add python-cli test case
* add default git config
* add help regression test
* add node rewrite test case
* add react-todo test case
* fix dockerfile
* add ability to run background commands
* add client-server test case
* update regression readme
* better support for background commands
* update tests
* fix bug in command removal