* 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>
* added retry
* filtered API errors
* fixed decorator
* used litellm retries
* added custom backoff too
* Apply suggestions from code review
Co-authored-by: Engel Nyst <enyst@users.noreply.github.com>
* added custom backoff too
* retried only if certain Exceptions
---------
Co-authored-by: Engel Nyst <enyst@users.noreply.github.com>
Co-authored-by: Robert Brennan <accounts@rbren.io>
* refactor: Added docstrings to BackgroundCommand(#1083)
* refactor: Added Docstring with example for BackgroundCommand
* fixed typo
Co-authored-by: Graham Neubig <neubig@gmail.com>
---------
Co-authored-by: Graham Neubig <neubig@gmail.com>
* Fix pre-commit and linter versions to avoid surprise
To avoid surprising results on GitHub Actions, e.g. a new release of pre-commit starts to
reject all PRs, fix it to the latest version, 3.7.0. This PR also fixes ruff and mypy
versions in pyproject.toml since we very likely don't really need latest upgrades from
linters, and upgrades can always bring surprise.
* pre-commit-config: Use v0.3.7 for Ruff as in pyproject.toml
* CI: Add autopep8 linter
Currently, we have autopep8 as part of pre-commit-hook. To ensure
consistent behaviour, we should have it in CI as well.
Moreover, pre-commit-hook contains a double-quote-string-fixer hook
which changes all double quotes to single quotes, but I do observe
some PRs with massive changes that do the opposite way. I suspect
that these authors 1) disable or circumvent the pre-commit-hook,
and 2) have other linters such as black in their IDE, which
automatically change all single quotes to double quotes. This
has caused a lot of unnecessary diff, made review really hard,
and led to a lot of conflicts.
* Use -diff for autopep8
* autopep8: Freeze version in CI
* Ultimate fix
* Remove pep8 long line disable workaround
* Fix lint.yml
* Fix all files under opendevin and agenthub
* Tweak for weak llms
* Update to the latest commits
* Update to the latest commits
* Fix lint errors
* Remove merge artifact
---------
Co-authored-by: Jim Su <jimsu@protonmail.com>
* feat: add agent manager to manage all agents;
* extract the host ssh port to prevent conflict.
* clean all containers with prefix is sandbox-
* merge from upstream/main
* merge from upstream/main
* Update frontend/src/state/settingsSlice.ts
* Update opendevin/sandbox/ssh_box.py
* Update opendevin/sandbox/exec_box.py
---------
Co-authored-by: Robert Brennan <accounts@rbren.io>
* Fix: local files in the browser (at least for Windows)
The Browser works for screenshoting websites, but when the LLM tries to display a local file that he created, it can't access the full directory on Windows.
* Update browse.py
---------
Co-authored-by: Robert Brennan <accounts@rbren.io>