Restructuring the Repo to make it clear the difference between classic autogpt and the autogpt platform:
* Move the "classic" projects `autogpt`, `forge`, `frontend`, and `benchmark` into a `classic` folder
* Also rename `autogpt` to `original_autogpt` for absolute clarity
* Rename `rnd/` to `autogpt_platform/`
* `rnd/autogpt_builder` -> `autogpt_platform/frontend`
* `rnd/autogpt_server` -> `autogpt_platform/backend`
* Adjust any paths accordingly
* update pr template wording
* add what and how
* Update .github/PULL_REQUEST_TEMPLATE.md
---------
Co-authored-by: Toran Bruce Richards <toran.richards@gmail.com>
- Add two endpoints to OAuth `integrations.py`:
- `GET /integrations/{provider}/credentials` - list all credentials for a provider, without secrets (metadata only)
- `GET /integrations/{provider}/credentials/{cred_id}` - retrieve a set of credentials (including secrets)
- Add `username` property to `Credentials` types
- Add logic to populate `username` in OAuth handlers
- Expand `CredentialsMetaResponse` and remove `credentials_` prefix from properties
- Fix `autogpt_libs` dependency caching issue
- Remove accidentally duplicated OAuth handler files in `autogpt_server/integrations`
* Feat(Builder): Add Runner input and ouput screens
* Fix run button not working
* prettier
* prettier again -- forgot flow
* fix input scaling + auto close on run
* removed "Runner Input" button to make it auto open runner input if input block is + Fixed issue with output not showing in output UI
* replaced runner output icon and added a new icon for it
* replaced IconOutput icon with LogOut from lucide-react
* prettier
* fix type safety issue + add error handling for formatOutput
* Updates based on comments
* prettier for utils
### Background
We need a way to set an execution quota per user for each block execution.
### Changes 🏗️
* Introduced a `UserBlockCredit`, a transaction table tracking the block usage along with it cost/quota.
* The tracking is toggled by `ENABLE_CREDIT` config, default = false.
* Introduced `BLOCK_COSTS` | `GET /blocks/costs` as a source of information for the cost on each block depending on the input configuration.
Improvements:
* Refactor logging in manager.py to always print a prefix and pass the metadata.
* Make executionStatus on AgentNodeExecution prisma enum. And add executionStatus on AgentGraphExecution.
* Use executionStatus from AgentGraphExecution to improve waiting logic on test_manager.py.
- feat(server): Initial draft of OAuth init and exchange endpoints
- Add `supabase` dependency
- Add Supabase credentials to `Secrets`
- Add `get_supabase` utility to `.server.utils`
- Add `.server.integrations` API segment with initial implementations for OAuth init and exchange endpoints
- Move integration OAuth handlers to `autogpt_server.integrations.oauth`
- Change constructor of `SupabaseIntegrationCredentialsStore` to take a Supabase client
- Fix type issues in `GoogleOAuthHandler`