Removing because the new filetree implementation is fast enough as is and fetching partial trees adds a lot of complexity that we probably don't need. For example, if we still want to automatically open the tree location of a changed file, we need to make sure all the parent folders are fetched first.
* initial commit
* separate tests and add new prop
* initial commit
* initial commit - file explorer
* update test and code
* adjustments and replacements
* update folder name
* fix import
* refactor for better readability and extending
* replace TreeNode type with existing WorkspaceFile
* refactor to have workspace support only one root node
---------
Co-authored-by: Robert Brennan <accounts@rbren.io>
* Add /api/list-files endpoint
Returns files at the path specified by query parameter relpath, relative to base path, with a depth of 1
* Add method in services
* feat: support controlling agent task state.
* feat: add agent task state to agent status bar.
* feat: add agent task control bar to FE.
* Remove stop agent task action.
* Merge pause and resume buttons into one button; Add loading and disabled status for action buttons.
* Apply suggestions from code review
---------
Co-authored-by: Robert Brennan <accounts@rbren.io>
* Merge branch 'main' of https://github.com/JayQuimby/OpenDevin
* Using commands.sh for ACI
* parsing, prompting, and actions modifications
* added start and end index to read and write
* bug fixes and test updates
* Lint code changes to ensure code is proper
* State management, bugs, prompts
* Prompt Engineering
* exception handling
* big fixes
* more bug fixes
* merge conflicts
* Renamed SWEAgent, basic tests, bug fixes
* prompt changes, bug fixes
* merge conflicts
* merge conflict
* start and end line for read and write
* more merge conflicts
* env error
* linter error
* read fixed, prompt change, example added
* added x_line:end read operation
---------
Co-authored-by: Robert Brennan <accounts@rbren.io>
* feat: modify all api response to JSONResponse with status_code and content.
* refactor: make status-code 200 response more concise.
---------
Co-authored-by: aaren.xzh <aaren.xzh@antfin.com>
* This has been a headache for a long time, and we had #1071 and #1100 with the hope to fix the inconsistent behaviour across linters and environments. However, we recently found out that double-quote-string-fixer plugin in pre-commit-hook has inconsistent behaviour on python 3.11 and 3.12. See discussion here. This is sad because while this plugin enforces single quote behaviour with 3.11, it doesn't always enforce so with 3.12. Specifically, with fstr syntax, this plugin allows both single quotes and double quotes with python 3.12.
The problem is, some developers have black linter installed/integrated with their IDE, which is probably the most popular linter in python world (ranked by GitHub stars). This linter insists on always using double quotes. Now we have black and double-quote-string-fixer fight each other (iff the developer uses python 3.12) for some quotes (fstr syntax).
After a lot of research, I couldn't find a way to enforce single quote behaviour without introducing a new dependency, flake8, together with a plugin for it to enforce quotes' behavior. I believe it's better off introducing the more popular black if we have to introduce a new linter. Since black and autopep8 sometimes fight each other, and they mostly overlap, I further remove autopep8.
The unfortunate consequence of this PR is that I had to revert all single quotes back to double quotes. This might cause some inconvenience to existing PRs as they have to resolve conflicts, but I believe the headache will be gone soon. That being said, I am open to abandon this PR if anyone has a better idea to solve the headache.
* Remove black
* Prevent black from changing quotes
* Use flake8 to enforce single quotes
* Fix quotes in config.py
* Add back autopep8
* Add make lint to run linters
* Refactor print_to_color into a color formatter
misc fixes
catch ValueErrors and others from Router initialization
add default methods
* Tweak console log formatting, clean up after rebasing exceptions out
* Fix prompts/responses
* clean up
* keep regular colors when no msg_type
* fix filename
* handle file log first
* happy mypy
* ok, mypy
---------
Co-authored-by: Robert Brennan <accounts@rbren.io>
* test(frontend): add unit tests for getCachedConfig
* test(frontend): add unit tests for getCachedConfig
* add unit test for the useTypingEffect hook
* add unit test for the useInputComposition hook
* create unit test for auth service
* remove outdated and failing component test
* create unit test for session service
* break down saveSettings into smaller functions for testability and create unit test for new mergeAndUpdateSettings
---------
Co-authored-by: Robert Brennan <accounts@rbren.io>