forked from Significant-Gravitas/AutoGPT
6289 Commits (master)
Author | SHA1 | Message | Date |
---|---|---|---|
|
fe84cbe566
|
Revert "feature(backend): Add ability to execute store agents without agent ownership" (#9263)
Reverts Significant-Gravitas/AutoGPT#9179 This PR is preventing the running of agents in dev. |
|
|
5618072375
|
fix(blocks/Exa): Fix exa contents block advanced toggle (#9255)
Toggling the advanced option on Exa Contents Block isn't working. It throws a frontend error. ### Changes 🏗️ Remove Optional from ContentRetrievalSettings in exa/contents.py ### Checklist 📋 #### For code changes: - [x ] I have clearly listed my changes in the PR description - [ x] I have made a test plan - [ x] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - Add an ExaContentsBlock - Hit advanced #### For configuration changes: N/A |
|
|
95b79abcfe
|
Revert broken Library v2 DB stuff of #9218, #9211 (#9256)
- **Revert "feature(platform): Implement library add, update, remove, archive functionality (#9218)"** - **Revert "feat(backend): Add Support for Managing Agent Presets with Pagination and Soft Delete (#9211)"** These PRs contain untested changes to DB functions and cause issues in production. |
|
|
fd6f28fa57
|
feature(platform): Implement library add, update, remove, archive functionality (#9218)
### Changes 🏗️ 1. **Core Features**: - Add agents to the user's library. - Update library agents (auto-update, favorite, archive, delete). - Paginate library agents and presets. - Execute graphs using presets. 2. **Refactoring**: - Replaced `UserAgent` with `LibraryAgent`. - Separated routes for agents and presets. 3. **Schema Changes**: - Added `LibraryAgent` table with fields like `isArchived`, `isDeleted`, etc. - Soft delete functionality for `AgentPreset`. 4. **Testing**: - Updated tests for `LibraryAgent` operations. - Added edge case tests for deletion, archiving, and pagination. 5. **Database Migrations**: - Migration to drop `UserAgent` and add `LibraryAgent`. - Added fields for soft deletion and auto-update. Note this includes the changes from the following PR's to avoid merge conflicts with them: #9179 #9211 --------- Co-authored-by: Reinier van der Leer <pwuts@agpt.co> |
|
|
4b17cc9963
|
feat(backend): Add Support for Managing Agent Presets with Pagination and Soft Delete (#9211)
#### Summary - **New Models**: Added `LibraryAgentPreset`, `LibraryAgentPresetResponse`, `Pagination`, and `CreateLibraryAgentPresetRequest`. - **Database Changes**: - Added `isDeleted` column in `AgentPreset` for soft delete. - CRUD operations for `AgentPreset`: - `get_presets` with pagination. - `get_preset` by ID. - `create_or_update_preset` for upsert. - `delete_preset` to soft delete. - **API Routes**: - `GET /presets`: Fetch paginated presets. - `GET /presets/{preset_id}`: Fetch a single preset. - `POST /presets`: Create a preset. - `PUT /presets/{preset_id}`: Update a preset. - `DELETE /presets/{preset_id}`: Soft delete a preset. - **Tests**: - Coverage for models, CRUD operations, and pagination. - **Migration**: - Added `isDeleted` field to support soft delete. #### Review Notes - Validate migration scripts and test coverage. - Ensure API aligns with project standards. --------- Co-authored-by: Reinier van der Leer <pwuts@agpt.co> |
|
|
00bb7c67b3
|
feature(backend): Add ability to execute store agents without agent ownership (#9179)
### Description
This PR enables the execution of store agents even if they are not owned
by the user. Key changes include handling store-listed agents in the
`get_graph` logic, improving execution flow, and ensuring
version-specific handling. These updates support more flexible agent
execution.
### Changes 🏗️
- **Graph Retrieval:** Updated `get_graph` to check store listings for
agents not owned by the user.
- **Version Handling:** Added `graph_version` to execution methods for
consistent version-specific execution.
- **Execution Flow:** Refactored `scheduler.py`, `rest_api.py`, and
other modules for clearer logic and better maintainability.
- **Testing:** Updated `test_manager.py` and other test cases to
validate execution of store-listed agents added test for accessing graph
---------
Co-authored-by: Reinier van der Leer <pwuts@agpt.co>
Co-authored-by: Zamil Majdy <zamil.majdy@agpt.co>
|
|
|
9d1bc25ffa
|
hotfix(backend): Increase statement timeout for the double brace migration (#9245)
### Changes 🏗️ https://github.com/Significant-Gravitas/AutoGPT/actions/runs/12696734339/job/35391431786 ### Checklist 📋 #### For code changes: - [ ] I have clearly listed my changes in the PR description - [ ] I have made a test plan - [ ] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [ ] ... <details> <summary>Example test plan</summary> - [ ] Create from scratch and execute an agent with at least 3 blocks - [ ] Import an agent from file upload, and confirm it executes correctly - [ ] Upload agent to marketplace - [ ] Import an agent from marketplace and confirm it executes correctly - [ ] Edit an agent from monitor, and confirm it executes correctly </details> #### For configuration changes: - [ ] `.env.example` is updated or already compatible with my changes - [ ] `docker-compose.yml` is updated or already compatible with my changes - [ ] I have included a list of my configuration changes in the PR description (under **Changes**) <details> <summary>Examples of configuration changes</summary> - Changing ports - Adding new services that need to communicate with each other - Secrets or environment variable changes - New or infrastructure changes such as databases </details> |
|
|
3a3ee994c2
|
hotfix(backend): Increase statement timeout for the double brace migration (#9244)
### Changes 🏗️ https://github.com/Significant-Gravitas/AutoGPT/actions/runs/12696734339/job/35391431786 ### Checklist 📋 #### For code changes: - [ ] I have clearly listed my changes in the PR description - [ ] I have made a test plan - [ ] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [ ] ... <details> <summary>Example test plan</summary> - [ ] Create from scratch and execute an agent with at least 3 blocks - [ ] Import an agent from file upload, and confirm it executes correctly - [ ] Upload agent to marketplace - [ ] Import an agent from marketplace and confirm it executes correctly - [ ] Edit an agent from monitor, and confirm it executes correctly </details> #### For configuration changes: - [ ] `.env.example` is updated or already compatible with my changes - [ ] `docker-compose.yml` is updated or already compatible with my changes - [ ] I have included a list of my configuration changes in the PR description (under **Changes**) <details> <summary>Examples of configuration changes</summary> - Changing ports - Adding new services that need to communicate with each other - Secrets or environment variable changes - New or infrastructure changes such as databases </details> |
|
|
0d44f5be13
|
feat(backend/blocks/nvidia): Provide Nvidia by default (#9235)
We want to allow users to use Nvidia without their own keys ### Changes 🏗️ Added nvidia api key to credentials store. ### Checklist 📋 #### For code changes: - [ ] I have clearly listed my changes in the PR description - [ ] I have made a test plan - [ ] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [ ] ... <details> <summary>Example test plan</summary> - [ ] Create from scratch and execute an agent with at least 3 blocks - [ ] Import an agent from file upload, and confirm it executes correctly - [ ] Upload agent to marketplace - [ ] Import an agent from marketplace and confirm it executes correctly - [ ] Edit an agent from monitor, and confirm it executes correctly </details> #### For configuration changes: - [x] `.env.example` is updated or already compatible with my changes <details> <summary>Examples of configuration changes</summary> - Changing ports - Adding new services that need to communicate with each other - Secrets or environment variable changes - New or infrastructure changes such as databases </details> |
|
|
1670579a61
|
fix(block): Remove Python.format & Jinja templating format backward compatibility (#9229)
Python format uses `{Variable}` as the variable placeholder, while Jinja uses `{{Variable}}` as its default. Jinja is used as the main templating engine on the system, but the Python format version is still maintained for backward compatibility. However, the backward compatibility support can cause a side effect while passing JSON string value into the block that uses it: https://github.com/Significant-Gravitas/AutoGPT/issues/9194 ### Changes 🏗️ * Use `{{Variable}}` place holder format and removed `{Variable}` support in these blocks: - '363ae599-353e-4804-937e-b2ee3cef3da4', -- AgentOutputBlock - 'db7d8f02-2f44-4c55-ab7a-eae0941f0c30', -- FillTextTemplateBlock - '1f292d4a-41a4-4977-9684-7c8d560b9f91', -- AITextGeneratorBlock - 'ed55ac19-356e-4243-a6cb-bc599e9b716f' -- AIStructuredResponseGeneratorBlock * Add Jinja templating support on `AITextGeneratorBlock` & `AIStructuredResponseGeneratorBlock` * Migrated the existing database content to prevent breaking changes. ### Checklist 📋 #### For code changes: - [ ] I have clearly listed my changes in the PR description - [ ] I have made a test plan - [ ] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [ ] ... <details> <summary>Example test plan</summary> - [ ] Create from scratch and execute an agent with at least 3 blocks - [ ] Import an agent from file upload, and confirm it executes correctly - [ ] Upload agent to marketplace - [ ] Import an agent from marketplace and confirm it executes correctly - [ ] Edit an agent from monitor, and confirm it executes correctly </details> #### For configuration changes: - [ ] `.env.example` is updated or already compatible with my changes - [ ] `docker-compose.yml` is updated or already compatible with my changes - [ ] I have included a list of my configuration changes in the PR description (under **Changes**) <details> <summary>Examples of configuration changes</summary> - Changing ports - Adding new services that need to communicate with each other - Secrets or environment variable changes - New or infrastructure changes such as databases </details> |
|
|
a1889e6212
|
docs(Ollama): Update Ollama docs (#9234)
The Ollama docs where very out of date and needed updating so I have updated them and added some screenshots so its easier to follow. I have also added a new Ollama model to the platform, "llama3.2" as that is what i based the tutorial off and its name is easy to find in the list of models I also added a new folder in the "imgs" dir to store the Ollama related photo just to keep things tidy |
|
|
9c702516fd
|
feat(platform): fix carousel on store page (#9230)
- resolves #8973 Adding smooth scrolling and solving some weird interaction on carousal ### Changes - Update `CarouselPrevious`, `CarouselPrevious` and add `CarouselIndicator` in `carousel.tsx` - Add `CarouselPrevious`, `CarouselPrevious` and `CarouselIndicator` support in `FeaturedSection.tsx` ### Demo https://github.com/user-attachments/assets/ba9a22fa-ddf2-469f-ba8a-aee1a7fc5f78 |
|
|
32c908ae13
|
fix(backend): Add default credentials for Fal, Exa, E2B (#9233)
We want to provide certain providers by default on our platform. These three were not added previously, so fixing that. ### Changes 🏗️ If api keys for Fal Exa or E2B exist in environment variables, load them by default as credentials that are usable by our users. ### Checklist 📋 #### For code changes: - [ ] I have clearly listed my changes in the PR description - [ ] I have made a test plan - [ ] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [ ] ... <details> <summary>Example test plan</summary> - [ ] Create from scratch and execute an agent with at least 3 blocks - [ ] Import an agent from file upload, and confirm it executes correctly - [ ] Upload agent to marketplace - [ ] Import an agent from marketplace and confirm it executes correctly - [ ] Edit an agent from monitor, and confirm it executes correctly </details> #### For configuration changes: - [x] `.env.example` is updated or already compatible with my changes <details> <summary>Examples of configuration changes</summary> - Changing ports - Adding new services that need to communicate with each other - Secrets or environment variable changes - New or infrastructure changes such as databases </details> |
|
|
b4a0100c22
|
feat(platform): Add Twitter integration (#8754)
- Resolves #8326 Create a Twitter integration with some small frontend changes. ### Changes 1. Add Twitter OAuth 2.0 with PKCE support for authentication. 2. Add a way to multi-select from a list of enums by creating a multi-select on the frontend. 3. Add blocks for Twitter integration. 4. `_types.py` for repetitive enums and input types. 5. `_builders.py` for creating parameters without repeating the same logic. 6. `_serializer.py` to serialize the Tweepy enums into dictionaries so they can travel easily from Pyro5. 7. `_mappers.py` to map the frontend values to the correct request values. > I have added a new multi-select feature because my list contains many items, and selecting all of them makes the block cluttered. This new block displays only the first two items and then show something like "2 more" . It works only for list of enums. ### Blocks Block Name | What It Does | Error Reason | Manual Testing -- | -- | -- | -- `TwitterBookmarkTweetBlock` | Bookmark a tweet on Twitter | No error | ✅ `TwitterGetBookmarkedTweetsBlock` | Get all your bookmarked tweets from Twitter | No error | ✅ `TwitterRemoveBookmarkTweetBlock` | Remove a bookmark for a tweet on Twitter | No error | ✅ `TwitterHideReplyBlock` | Hides a reply of one of your tweets | No error | ✅ `TwitterUnhideReplyBlock` | Unhides a reply to a tweet | No error | ✅ `TwitterLikeTweetBlock` | Likes a tweet | No error | ✅ `TwitterGetLikingUsersBlock` | Gets information about users who liked one of your tweets | No error | ✅ `TwitterGetLikedTweetsBlock` | Gets information about tweets liked by you | No error | ✅ `TwitterUnlikeTweetBlock` | Unlikes a tweet that was previously liked | No error | ✅ `TwitterPostTweetBlock` | Create a tweet on Twitter with the option to include one additional element such as media, quote, or deep link. | No error | ✅ `TwitterDeleteTweetBlock` | Deletes a tweet on Twitter using Twitter ID | No error | ✅ `TwitterSearchRecentTweetsBlock` | Searches all public Tweets in Twitter history | No error | ✅ `TwitterGetQuoteTweetsBlock` | Gets quote tweets for a specified tweet ID | No error | ✅ `TwitterRetweetBlock` | Retweets a tweet on Twitter | No error | ✅ `TwitterRemoveRetweetBlock` | Removes a retweet on Twitter | No error | ✅ `TwitterGetRetweetersBlock` | Gets information about who has retweeted a tweet | No error | ✅ `TwitterGetUserMentionsBlock` | Returns Tweets where a single user is mentioned, just put that user ID | No error | ✅ `TwitterGetHomeTimelineBlock` | Returns a collection of the most recent Tweets and Retweets posted by you and users you follow | No error | ✅ `TwitterGetUserTweetsBlock` | Returns Tweets composed by a single user, specified by the requested user ID | No error | ✅ `TwitterGetTweetBlock` | Returns information about a single Tweet specified by the requested ID | No error | ✅ `TwitterGetTweetsBlock` | Returns information about multiple Tweets specified by the requested IDs | No error | ✅ `TwitterUnblockUserBlock` | Unblock a specific user on Twitter | No error | ✅ `TwitterGetBlockedUsersBlock` | Get a list of users who are blocked by the authenticating user | No error | ✅ `TwitterBlockUserBlock` | Block a specific user on Twitter | No error | ✅ `TwitterUnfollowUserBlock` | Allows a user to unfollow another user specified by target user ID | No error | ✅ `TwitterFollowUserBlock` | Allows a user to follow another user specified by target user ID | No error | ✅ `TwitterGetFollowersBlock` | Retrieves a list of followers for a specified Twitter user ID | Need Enterprise level access | ❌ `TwitterGetFollowingBlock` | Retrieves a list of users that a specified Twitter user ID is following | Need Enterprise level access | ❌ `TwitterUnmuteUserBlock` | Allows a user to unmute another user specified by target user ID | No error | ✅ `TwitterGetMutedUsersBlock` | Returns a list of users who are muted by the authenticating user | No error | ✅ `TwitterMuteUserBlock` | Allows a user to mute another user specified by target user ID | No error | ✅ `TwitterGetUserBlock` | Gets information about a single Twitter user specified by ID or username | No error | ✅ `TwitterGetUsersBlock` | Gets information about multiple Twitter users specified by IDs or usernames | No error | ✅ `TwitterSearchSpacesBlock` | Returns live or scheduled Spaces matching specified search terms [for a week only] | No error | ✅ `TwitterGetSpacesBlock` | Gets information about multiple Twitter Spaces specified by Space IDs or creator user IDs | No error | ✅ `TwitterGetSpaceByIdBlock` | Gets information about a single Twitter Space specified by Space ID | No error | ✅ `TwitterGetSpaceBuyersBlock` | Gets list of users who purchased a ticket to the requested Space | I do not have a monetized account for this | ✅ `TwitterGetSpaceTweetsBlock` | Gets list of Tweets shared in the requested Space | No error | ✅ `TwitterUnfollowListBlock` | Unfollows a Twitter list for the authenticated user | No error | ✅ `TwitterFollowListBlock` | Follows a Twitter list for the authenticated user | No error | ✅ `TwitterListGetFollowersBlock` | Gets followers of a specified Twitter list | Enterprise level access | ❌ `TwitterGetFollowedListsBlock` | Gets lists followed by a specified Twitter user | Enterprise level access | ❌ `TwitterGetListBlock` | Gets information about a Twitter List specified by ID | No error | ✅ `TwitterGetOwnedListsBlock` | Gets all Lists owned by the specified user | No error | ✅ `TwitterRemoveListMemberBlock` | Removes a member from a Twitter List that the authenticated user owns | No error | ✅ `TwitterAddListMemberBlock` | Adds a member to a Twitter List that the authenticated user owns | No error | ✅ `TwitterGetListMembersBlock` | Gets the members of a specified Twitter List | No error | ✅ `TwitterGetListMembershipsBlock` | Gets all Lists that a specified user is a member of | No error | ✅ `TwitterGetListTweetsBlock` | Gets tweets from a specified Twitter list | No error | ✅ `TwitterDeleteListBlock` | Deletes a Twitter List owned by the authenticated user | No error | ✅ `TwitterUpdateListBlock` | Updates a Twitter List owned by the authenticated user | No error | ✅ `TwitterCreateListBlock` | Creates a Twitter List owned by the authenticated user | No error | ✅ `TwitterUnpinListBlock` | Enables the authenticated user to unpin a List. | No error | ✅ `TwitterPinListBlock` | Enables the authenticated user to pin a List. | No error | ✅ `TwitterGetPinnedListsBlock` | Returns the Lists pinned by the authenticated user. | No error | ✅ `TwitterGetDMEventsBlock` | Gets a list of Direct Message events for the authenticated user | Need Enterprise level access | ❌ `TwitterSendDirectMessageBlock` | Sends a direct message to a Twitter user | Need Enterprise level access | ❌ `TwitterCreateDMConversationBlock` | Creates a new group direct message | Need Enterprise level access | ❌ ### Need to add more stuff 1. A normal input to select date and time. 2. Some more enterprise-level blocks, especially webhook triggers. Supported triggers Event Name | Description -- | -- Posts (by user) | User creates a new post. Post deletes (by user) | User deletes an existing post. @mentions (of user) | User is mentioned in a post. Replies (to or from user) | User replies to a post or receives a reply from another user. Retweets (by user or of user) | User retweets a post or someone retweets the user's post. Quote Tweets (by user or of user) | User quote tweets a post or someone quote tweets the user's post. Retweets of Quoted Tweets (by user or of user) | Retweets of quote tweets by the user or of the user. Likes (by user or of user) | User likes a post or someone likes the user's post. Follows (by user or of user) | User follows another user or another user follows the user. Unfollows (by user) | User unfollows another user. Blocks (by user) | User blocks another user. Unblocks (by user) | User unblocks a previously blocked user. Mutes (by user) | User mutes another user. Unmutes (by user) | User unmutes a previously muted user. Direct Messages sent (by user) | User sends direct messages to other users. Direct Messages received (by user) | User receives direct messages from other users. Typing indicators (to user) | Indicators showing when someone is typing a message to the user. Read receipts (to user) | Indicators showing when the user has read a message. Subscription revokes (by user) | User revokes a subscription to a service or content. --------- Co-authored-by: Nicholas Tindle <nicholas.tindle@agpt.co> Co-authored-by: Nicholas Tindle <nicktindle@outlook.com> |
|
|
e4d8502729
|
fix(blocks): improve handling of plain text in send web request block (#9219)
### Changes 🏗️
This is to improve how we deal with plain text in the send web request
block.
- Plain text stays as plain text (regardless of JSON toggle)
- Valid JSON with JSON toggle enabled sends as JSON
- JSON-like data with JSON toggle disabled sends as form data
|
|
|
43a79d063f
|
feat(platform) : Add api key generation frontend (#9212)
Allow users to create API keys for the AutoGPT platform. The backend is already set up, and here I’ve added the frontend for it. ### Changes 1. Fix the `response-model` of the API keys endpoints. 2. Add a new page `/store/api_keys`. 3. Add an `APIKeySection` component to create, delete, and view all your API keys. <img width="1512" alt="Screenshot 2025-01-07 at 3 59 25 PM" src="https://github.com/user-attachments/assets/ea4e9d35-eb92-4e10-a4fb-1fc51dfe11bb" /> |
|
|
7ec9830b02
|
fix(platform): Add custom fonts and update layout styles (#9195)
- resolve #9187 ### Changes 🏗️ Add support for `Inter`, `Poppins`, `Geist-Mono`, `Geist-Neue`, and `Neue` in `layout.tsx` and `tailwind.config.ts`. <img width="844" alt="Screenshot 2025-01-06 at 10 59 35 AM" src="https://github.com/user-attachments/assets/5e93e8a3-cda1-4d01-ba5d-7027a8c1dea7" /> --------- Co-authored-by: Aarushi <50577581+aarushik93@users.noreply.github.com> |
|
|
b558ccae0b
|
feat(blocks/nvidia): Add Nvidia deepfake detection block (#9213)
Adding a block to allow users to detect deepfakes in their workflows. This block takes in an image as input and returns the probability of it being a deepfake as well as the bounding boxes around the image. ### Changes 🏗️ - Added NvidiaDeepfakeDetectBlock - Added the ability to upload images on the frontend - Added the ability to render base64 encoded images on the frontend <img width="1001" alt="Screenshot 2025-01-07 at 2 16 42 PM" src="https://github.com/user-attachments/assets/c3d090f3-3981-4235-a66b-f8e2a3920a4d" /> ### Checklist 📋 #### For code changes: - [ ] I have clearly listed my changes in the PR description - [ ] I have made a test plan - [ ] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [ ] ... <details> <summary>Example test plan</summary> - [ ] Create from scratch and execute an agent with at least 3 blocks - [ ] Import an agent from file upload, and confirm it executes correctly - [ ] Upload agent to marketplace - [ ] Import an agent from marketplace and confirm it executes correctly - [ ] Edit an agent from monitor, and confirm it executes correctly </details> #### For configuration changes: - [ ] `.env.example` is updated or already compatible with my changes - [ ] `docker-compose.yml` is updated or already compatible with my changes - [ ] I have included a list of my configuration changes in the PR description (under **Changes**) <details> <summary>Examples of configuration changes</summary> - Changing ports - Adding new services that need to communicate with each other - Secrets or environment variable changes - New or infrastructure changes such as databases </details> --------- Co-authored-by: Nicholas Tindle <nicholas.tindle@agpt.co> |
|
|
4115f65223
|
Fix Provider name enum being used instead of value (#9216)
<!-- Clearly explain the need for these changes: --> Webhooks are broken ### Changes 🏗️ Swaps the way we fill webhooks into strings <!-- Concisely describe all of the changes made in this pull request: --> ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [x] Manually test creating a webhook with Github and Compass |
|
|
7defba8d24
|
chore(frontend/deps-dev): bump the development-dependencies group in /autogpt_platform/frontend with 4 updates (#9207)
Bumps the development-dependencies group in /autogpt_platform/frontend with 4 updates: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node), [chromatic](https://github.com/chromaui/chromatic-cli), [concurrently](https://github.com/open-cli-tools/concurrently) and [eslint-plugin-storybook](https://github.com/storybookjs/eslint-plugin-storybook). Updates `@types/node` from 22.10.2 to 22.10.5 <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node">compare view</a></li> </ul> </details> <br /> Updates `chromatic` from 11.20.2 to 11.22.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/chromaui/chromatic-cli/releases">chromatic's releases</a>.</em></p> <blockquote> <h2>v11.22.0</h2> <h4>🚀 Enhancement</h4> <ul> <li>Bail on preview file changes <a href="https://redirect.github.com/chromaui/chromatic-cli/pull/1133">#1133</a> (<a href="https://github.com/codykaup"><code>@codykaup</code></a>)</li> </ul> <h4>Authors: 1</h4> <ul> <li>Cody Kaup (<a href="https://github.com/codykaup"><code>@codykaup</code></a>)</li> </ul> <h2>v11.21.0</h2> <h4>🚀 Enhancement</h4> <ul> <li>Set <code>storybookUrl</code> action output on rebuild early exit <a href="https://redirect.github.com/chromaui/chromatic-cli/pull/1134">#1134</a> (<a href="https://github.com/jmhobbs"><code>@jmhobbs</code></a>)</li> <li>Upload coverage reports to codecov <a href="https://redirect.github.com/chromaui/chromatic-cli/pull/1132">#1132</a> (<a href="https://github.com/paulelliott"><code>@paulelliott</code></a>)</li> </ul> <h4>Authors: 2</h4> <ul> <li>John Hobbs (<a href="https://github.com/jmhobbs"><code>@jmhobbs</code></a>)</li> <li>Paul Elliott (<a href="https://github.com/paulelliott"><code>@paulelliott</code></a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/chromaui/chromatic-cli/blob/main/CHANGELOG.md">chromatic's changelog</a>.</em></p> <blockquote> <h1>v11.22.0 (Fri Jan 03 2025)</h1> <h4>🚀 Enhancement</h4> <ul> <li>Bail on preview file changes <a href="https://redirect.github.com/chromaui/chromatic-cli/pull/1133">#1133</a> (<a href="https://github.com/codykaup"><code>@codykaup</code></a>)</li> </ul> <h4>Authors: 1</h4> <ul> <li>Cody Kaup (<a href="https://github.com/codykaup"><code>@codykaup</code></a>)</li> </ul> <hr /> <h1>v11.21.0 (Fri Jan 03 2025)</h1> <h4>🚀 Enhancement</h4> <ul> <li>Set <code>storybookUrl</code> action output on rebuild early exit <a href="https://redirect.github.com/chromaui/chromatic-cli/pull/1134">#1134</a> (<a href="https://github.com/jmhobbs"><code>@jmhobbs</code></a>)</li> <li>Upload coverage reports to codecov <a href="https://redirect.github.com/chromaui/chromatic-cli/pull/1132">#1132</a> (<a href="https://github.com/paulelliott"><code>@paulelliott</code></a>)</li> </ul> <h4>Authors: 2</h4> <ul> <li>John Hobbs (<a href="https://github.com/jmhobbs"><code>@jmhobbs</code></a>)</li> <li>Paul Elliott (<a href="https://github.com/paulelliott"><code>@paulelliott</code></a>)</li> </ul> <hr /> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
|
|
f5afdcc650
|
chore(frontend/deps): bump the production-dependencies group across 1 directory with 11 updates (#9214)
Bumps the production-dependencies group with 11 updates in the /autogpt_platform/frontend directory: | Package | From | To | | --- | --- | --- | | [@hookform/resolvers](https://github.com/react-hook-form/resolvers) | `3.9.1` | `3.10.0` | | [@next/third-parties](https://github.com/vercel/next.js/tree/HEAD/packages/third-parties) | `15.1.0` | `15.1.3` | | [@sentry/nextjs](https://github.com/getsentry/sentry-javascript) | `8.45.1` | `8.48.0` | | [framer-motion](https://github.com/motiondivision/motion) | `11.15.0` | `11.16.0` | | [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) | `0.468.0` | `0.469.0` | | [react-day-picker](https://github.com/gpbl/react-day-picker) | `9.4.4` | `9.5.0` | | [react-hook-form](https://github.com/react-hook-form/react-hook-form) | `7.54.1` | `7.54.2` | | [react-markdown](https://github.com/remarkjs/react-markdown) | `9.0.1` | `9.0.3` | | [react-modal](https://github.com/reactjs/react-modal) | `3.16.1` | `3.16.3` | | [tailwind-merge](https://github.com/dcastil/tailwind-merge) | `2.5.5` | `2.6.0` | | [uuid](https://github.com/uuidjs/uuid) | `11.0.3` | `11.0.4` | Updates `@hookform/resolvers` from 3.9.1 to 3.10.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/react-hook-form/resolvers/releases"><code>@hookform/resolvers</code>'s releases</a>.</em></p> <blockquote> <h2>v3.10.0</h2> <h1><a href="https://github.com/react-hook-form/resolvers/compare/v3.9.1...v3.10.0">3.10.0</a> (2025-01-06)</h1> <h3>Features</h3> <ul> <li>update to effect 3.10 (<a href="https://redirect.github.com/react-hook-form/resolvers/issues/729">#729</a>) (<a href=" |
|
|
0b9c0c9f12
|
refactor(marketplace): Delete Old marketplace code (#9164)
Needs to be coordinated with Infra PR https://github.com/Significant-Gravitas/AutoGPT_cloud_infrastructure/pull/20 DO NOT MERGE WITHOUT SYNCING BOTH CHANGES ### Changes 🏗️ - Delete marketplace |
|
|
7e80401083
|
chore(libs/deps-dev): bump ruff from 0.8.3 to 0.8.6 in /autogpt_platform/autogpt_libs in the development-dependencies group across 1 directory (#9202)
Bumps the development-dependencies group with 1 update in the /autogpt_platform/autogpt_libs directory: [ruff](https://github.com/astral-sh/ruff). Updates `ruff` from 0.8.3 to 0.8.6 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/astral-sh/ruff/releases">ruff's releases</a>.</em></p> <blockquote> <h2>0.8.6</h2> <h2>Release Notes</h2> <h3>Preview features</h3> <ul> <li>[<code>format</code>]: Preserve multiline implicit concatenated strings in docstring positions (<a href="https://redirect.github.com/astral-sh/ruff/pull/15126">#15126</a>)</li> <li>[<code>ruff</code>] Add rule to detect empty literal in deque call (<code>RUF025</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/15104">#15104</a>)</li> <li>[<code>ruff</code>] Avoid reporting when <code>ndigits</code> is possibly negative (<code>RUF057</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/15234">#15234</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>[<code>flake8-todos</code>] remove issue code length restriction (<code>TD003</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/15175">#15175</a>)</li> <li>[<code>pyflakes</code>] Ignore errors in <code>@no_type_check</code> string annotations (<code>F722</code>, <code>F821</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/15215">#15215</a>)</li> </ul> <h3>CLI</h3> <ul> <li>Show errors for attempted fixes only when passed <code>--verbose</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/15237">#15237</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>[<code>ruff</code>] Avoid syntax error when removing int over multiple lines (<code>RUF046</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/15230">#15230</a>)</li> <li>[<code>pyupgrade</code>] Revert "Add all PEP-585 names to <code>UP006</code> rule" (<a href="https://redirect.github.com/astral-sh/ruff/pull/15250">#15250</a>)</li> </ul> <h2>Contributors</h2> <ul> <li><a href="https://github.com/AlexWaygood"><code>@AlexWaygood</code></a></li> <li><a href="https://github.com/InSyncWithFoo"><code>@InSyncWithFoo</code></a></li> <li><a href="https://github.com/Lee-W"><code>@Lee-W</code></a></li> <li><a href="https://github.com/MichaReiser"><code>@MichaReiser</code></a></li> <li><a href="https://github.com/augustelalande"><code>@augustelalande</code></a></li> <li><a href="https://github.com/charliermarsh"><code>@charliermarsh</code></a></li> <li><a href="https://github.com/dcreager"><code>@dcreager</code></a></li> <li><a href="https://github.com/dylwil3"><code>@dylwil3</code></a></li> <li><a href="https://github.com/mdbernard"><code>@mdbernard</code></a></li> <li><a href="https://github.com/sharkdp"><code>@sharkdp</code></a></li> <li><a href="https://github.com/w0nder1ng"><code>@w0nder1ng</code></a></li> </ul> <h2>Install ruff 0.8.6</h2> <h3>Install prebuilt binaries via shell script</h3> <pre lang="sh"><code>curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ruff/releases/download/0.8.6/ruff-installer.sh | sh </code></pre> <h3>Install prebuilt binaries via powershell script</h3> <pre lang="sh"><code>powershell -ExecutionPolicy ByPass -c "irm https://github.com/astral-sh/ruff/releases/download/0.8.6/ruff-installer.ps1 | iex" </code></pre> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md">ruff's changelog</a>.</em></p> <blockquote> <h2>0.8.6</h2> <h3>Preview features</h3> <ul> <li>[<code>format</code>]: Preserve multiline implicit concatenated strings in docstring positions (<a href="https://redirect.github.com/astral-sh/ruff/pull/15126">#15126</a>)</li> <li>[<code>ruff</code>] Add rule to detect empty literal in deque call (<code>RUF025</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/15104">#15104</a>)</li> <li>[<code>ruff</code>] Avoid reporting when <code>ndigits</code> is possibly negative (<code>RUF057</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/15234">#15234</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>[<code>flake8-todos</code>] remove issue code length restriction (<code>TD003</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/15175">#15175</a>)</li> <li>[<code>pyflakes</code>] Ignore errors in <code>@no_type_check</code> string annotations (<code>F722</code>, <code>F821</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/15215">#15215</a>)</li> </ul> <h3>CLI</h3> <ul> <li>Show errors for attempted fixes only when passed <code>--verbose</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/15237">#15237</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>[<code>ruff</code>] Avoid syntax error when removing int over multiple lines (<code>RUF046</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/15230">#15230</a>)</li> <li>[<code>pyupgrade</code>] Revert "Add all PEP-585 names to <code>UP006</code> rule" (<a href="https://redirect.github.com/astral-sh/ruff/pull/15250">#15250</a>)</li> </ul> <h2>0.8.5</h2> <h3>Preview features</h3> <ul> <li>[<code>airflow</code>] Extend names moved from core to provider (<code>AIR303</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/15145">#15145</a>, <a href="https://redirect.github.com/astral-sh/ruff/pull/15159">#15159</a>, <a href="https://redirect.github.com/astral-sh/ruff/pull/15196">#15196</a>, <a href="https://redirect.github.com/astral-sh/ruff/pull/15216">#15216</a>)</li> <li>[<code>airflow</code>] Extend rule to check class attributes, methods, arguments (<code>AIR302</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/15054">#15054</a>, <a href="https://redirect.github.com/astral-sh/ruff/pull/15083">#15083</a>)</li> <li>[<code>fastapi</code>] Update <code>FAST002</code> to check keyword-only arguments (<a href="https://redirect.github.com/astral-sh/ruff/pull/15119">#15119</a>)</li> <li>[<code>flake8-type-checking</code>] Disable <code>TC006</code> and <code>TC007</code> in stub files (<a href="https://redirect.github.com/astral-sh/ruff/pull/15179">#15179</a>)</li> <li>[<code>pylint</code>] Detect nested methods correctly (<code>PLW1641</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/15032">#15032</a>)</li> <li>[<code>ruff</code>] Detect more strict-integer expressions (<code>RUF046</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14833">#14833</a>)</li> <li>[<code>ruff</code>] Implement <code>falsy-dict-get-fallback</code> (<code>RUF056</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/15160">#15160</a>)</li> <li>[<code>ruff</code>] Implement <code>unnecessary-round</code> (<code>RUF057</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14828">#14828</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>Visit PEP 764 inline <code>TypedDict</code> keys as non-type-expressions (<a href="https://redirect.github.com/astral-sh/ruff/pull/15073">#15073</a>)</li> <li>[<code>flake8-comprehensions</code>] Skip <code>C416</code> if comprehension contains unpacking (<a href="https://redirect.github.com/astral-sh/ruff/pull/14909">#14909</a>)</li> <li>[<code>flake8-pie</code>] Allow <code>cast(SomeType, ...)</code> (<code>PIE796</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/15141">#15141</a>)</li> <li>[<code>flake8-simplify</code>] More precise inference for dictionaries (<code>SIM300</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/15164">#15164</a>)</li> <li>[<code>flake8-use-pathlib</code>] Catch redundant joins in <code>PTH201</code> and avoid syntax errors (<a href="https://redirect.github.com/astral-sh/ruff/pull/15177">#15177</a>)</li> <li>[<code>pycodestyle</code>] Preserve original value format (<code>E731</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/15097">#15097</a>)</li> <li>[<code>pydocstyle</code>] Split on first whitespace character (<code>D403</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/15082">#15082</a>)</li> <li>[<code>pyupgrade</code>] Add all PEP-585 names to <code>UP006</code> rule (<a href="https://redirect.github.com/astral-sh/ruff/pull/5454">#5454</a>)</li> </ul> <h3>Configuration</h3> <ul> <li>[<code>flake8-type-checking</code>] Improve flexibility of <code>runtime-evaluated-decorators</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/15204">#15204</a>)</li> <li>[<code>pydocstyle</code>] Add setting to ignore missing documentation for <code>*args</code> and <code>**kwargs</code> parameters (<code>D417</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/15210">#15210</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
|
|
96fae5a5c8
|
fix(backend): Fix intermittent failure of `test_agent_execution` (#9210)
- Fixed race condition in `create_graph` to preserve node order - Resolves #9123 |
|
|
7a9a771718
|
fix(backend): Fix webhook ingress URL generation (#9209)
The enum's string *representation* was being inserted in the URL instead of its string *value*. Before: `/api/integrations/ProviderName.GITHUB/webhooks/686db48c-e70d-4340-acf9-ccd0338fddc4/ingress` After: `/api/integrations/github/webhooks/686db48c-e70d-4340-acf9-ccd0338fddc4/ingress` --------- Co-authored-by: Nicholas Tindle <nicholas.tindle@agpt.co> |
|
|
c3caa111e4
|
feat(backend/executor): Add `TERMINATED` execution status (#9185)
- Resolves #9182 Formerly known as `FAILED` with error message `TERMINATED`. ### Changes 🏗️ - Add `TERMINATED` to `AgentExecutionStatus` enum in DB schema (and its mirror in the front end) - Update executor to give terminated node and graph executions status `TERMINATED` instead of `FAILED`/`COMPLETED` - Add `TERMINATED` case to status checks referencing `AgentExecutionStatus` ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: - Start and forcefully stop a graph execution --------- Co-authored-by: Zamil Majdy <zamil.majdy@agpt.co> |
|
|
081c4a6df2
|
dx: Fix `isort` pre-commit hooks
Since upgrading to Poetry v2.0.0 the -C flag has been renamed to -P |
|
|
d638c1f484
|
Fix Poetry v2.0.0 compatibility (#9197)
Make all changes necessary to make everything work with Poetry v2.0.0. - Resolves #9196 ## Changes - Removed `--no-update` flag from `poetry lock` command in codebase - Removed extra path arguments from `poetry -C [path] run [command]` occurrences - Regenerated all lock files in hierarchical order - Added workaround for Poetry bug where `packages.[i].format` is now suddenly required Additionally: - Fixed up .dockerignore - Fixes .venv being erroneously copied over from local - Fixes build context bloat (300MB -> 2.5MB) - Fixed warnings about entrypoint script not being installed in docker builds ### Relevant (breaking) changes in v2.0.0 - `--no-update` flag no longer exists for `poetry lock` as it has become default behavior - The `-C` option now actually changes the directory, so any path arguments in `poetry run` commands can/must be removed - Poetry v2.0.0 uses the new v2.1 lock file spec, so all lock files have to be regenerated to avoid false-positive lock file updates and checks on future PRs - **BUG:** when specifying `poetry.tool.packages`, `format` is required now - python-poetry/poetry#9961 Full Poetry v2.0.0 release notes and change log: https://python-poetry.org/blog/announcing-poetry-2.0.0 |
|
|
0872da1969
|
fix(store) : Download agent from store if user is not logged in (#9121)
- resolves - #9120 ### Changes - Added a new endpoint to download agent files as JSON, allowing users to retrieve agent data by store listing version ID and version number. - Introduced a new `get_agent` function in the database module to fetch agent details and prepare the graph data for download. - Enhanced the frontend `AgentInfo` component to include a download button, which triggers the download of the agent file. - Integrated loading state and user feedback via toast notifications during the download process. - Updated the API client to support the new download functionality. ### Demo video https://github.com/user-attachments/assets/6744a753-297f-4ccc-abde-f56ca24ed2d5 ### Example Json ```json { "id": "14378095-4cc5-41ea-975e-bd0bce010bea", "version": 1, "is_active": true, "is_template": false, "name": "something", "description": "1", "nodes": [ { "id": "6914efa0-e4fa-4ce8-802c-d5577cf061b6", "block_id": "aeb08fc1-2fc1-4141-bc8e-f758f183a822", "input_default": {}, "metadata": { "position": { "x": 756, "y": 452.5 } }, "input_links": [], "output_links": [], "webhook_id": null, "graph_id": "14378095-4cc5-41ea-975e-bd0bce010bea", "graph_version": 1, "webhook": null } ], "links": [], "input_schema": { "type": "object", "properties": {}, "required": [] }, "output_schema": { "type": "object", "properties": {}, "required": [] } } ``` --------- Co-authored-by: SwiftyOS <craigswift13@gmail.com> |
|
|
1375a0fdbc
|
feat(platform): Support multiple credentials inputs on blocks (#8932)
- Resolves #8930 - Depends on #8725 ### Changes 🏗️ - feat(platform): Support multiple credentials inputs on blocks Aside from `credentials`, fields within the name pattern `*_credentials` are now also supported! - Update docs with info on multi credentials support ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: - [x] Ask @aarushik93 to test |
|
|
84af37a27a
|
refactor(blocks): Move some GitHub blocks to correct file (#9180)
This moves my recently added blocks: ``GithubCreateFileBlock``, ``GithubUpdateFileBlock``, ``GithubCreateRepositoryBlock`` and ``GithubListStargazersBlock`` to the correct file ``github/repo.py`` as i placed them in the wrong file originally |
|
|
8f1a065976
|
fix(frontend): Make input layout & padding consistent (#9170)
There are a few hardcoded margins and padding in the block input layout, causing the input to sometimes overflow or be used inconsistently.  ### Changes 🏗️ * Make padding consistent between left & right, top & bottom. * Remove hard-coded margins. * Match the hardcode negative margin for the right node handle to the left node handle. * Make the input box take the full width. ### Checklist 📋 #### For code changes: - [ ] I have clearly listed my changes in the PR description - [ ] I have made a test plan - [ ] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [ ] ... <details> <summary>Example test plan</summary> - [ ] Create from scratch and execute an agent with at least 3 blocks - [ ] Import an agent from file upload, and confirm it executes correctly - [ ] Upload agent to marketplace - [ ] Import an agent from marketplace and confirm it executes correctly - [ ] Edit an agent from monitor, and confirm it executes correctly </details> #### For configuration changes: - [ ] `.env.example` is updated or already compatible with my changes - [ ] `docker-compose.yml` is updated or already compatible with my changes - [ ] I have included a list of my configuration changes in the PR description (under **Changes**) <details> <summary>Examples of configuration changes</summary> - Changing ports - Adding new services that need to communicate with each other - Secrets or environment variable changes - New or infrastructure changes such as databases </details> |
|
|
e7689a1eb7
|
chore(market/deps-dev): bump the development-dependencies group across 1 directory with 3 updates (#9165)
Bumps the development-dependencies group with 3 updates in the /autogpt_platform/market directory: [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio), [ruff](https://github.com/astral-sh/ruff) and [pyright](https://github.com/RobertCraigie/pyright-python). Updates `pytest-asyncio` from 0.25.0 to 0.25.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest-asyncio/releases">pytest-asyncio's releases</a>.</em></p> <blockquote> <h2>pytest-asyncio 0.25.1</h2> <ul> <li>Fixes an issue that caused a broken event loop when a function-scoped test was executed in between two tests with wider loop scope <a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/950">#950</a></li> <li>Improves test collection speed in auto mode <a href="https://redirect.github.com/pytest-dev/pytest-asyncio/pull/1020">#1020</a></li> <li>Corrects the warning that is emitted upon redefining the event_loop fixture</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
|
|
fe8393a82f
|
feat(blocks): Add github list stargazers block (#9172)
This adds a list stargazers block, its using https://docs.github.com/en/rest/activity/starring?apiVersion=2022-11-28#list-stargazers  |
|
|
fa98827fd1
|
fix(backend): Fix validation of hostname-less URLs (#9171)
Previously, `http://` would be converted to `http://http` and pass the no-hostname check that way. It eventually fails validation, but only at hostname lookup which times out -> takes very long. ### Changes 🏗️ - Fix URL canonicalization logic - Merge `_canonicalize_url` into `validate_url` ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [x] CI |
|
|
d7d69f397f
|
chore(frontend/deps-dev): bump the development-dependencies group across 1 directory with 5 updates (#9150)
Bumps the development-dependencies group with 5 updates in the /autogpt_platform/frontend directory: | Package | From | To | | --- | --- | --- | | [@chromatic-com/storybook](https://github.com/chromaui/addon-visual-tests) | `3.2.2` | `3.2.3` | | [@storybook/test-runner](https://github.com/storybookjs/test-runner) | `0.20.1` | `0.21.0` | | [concurrently](https://github.com/open-cli-tools/concurrently) | `9.1.0` | `9.1.1` | | [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next) | `15.1.0` | `15.1.3` | | [tailwindcss](https://github.com/tailwindlabs/tailwindcss) | `3.4.16` | `3.4.17` | Updates `@chromatic-com/storybook` from 3.2.2 to 3.2.3 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/chromaui/addon-visual-tests/releases"><code>@chromatic-com/storybook</code>'s releases</a>.</em></p> <blockquote> <h2>v3.2.3</h2> <h4>🐛 Bug Fix</h4> <ul> <li>Fix reading <code>status</code> of <code>undefined</code> in urql's <code>didAuthError</code> handler <a href="https://redirect.github.com/chromaui/addon-visual-tests/pull/349">#349</a> (<a href="https://github.com/ghengeveld"><code>@ghengeveld</code></a>)</li> <li>Add steps to link for local testing <a href="https://redirect.github.com/chromaui/addon-visual-tests/pull/347">#347</a> (<a href="https://github.com/codykaup"><code>@codykaup</code></a>)</li> </ul> <h4>Authors: 2</h4> <ul> <li>Cody Kaup (<a href="https://github.com/codykaup"><code>@codykaup</code></a>)</li> <li>Gert Hengeveld (<a href="https://github.com/ghengeveld"><code>@ghengeveld</code></a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/chromaui/addon-visual-tests/blob/main/CHANGELOG.md"><code>@chromatic-com/storybook</code>'s changelog</a>.</em></p> <blockquote> <h1>v3.2.3 (Thu Dec 19 2024)</h1> <h4>🐛 Bug Fix</h4> <ul> <li>Fix reading <code>status</code> of <code>undefined</code> in urql's <code>didAuthError</code> handler <a href="https://redirect.github.com/chromaui/addon-visual-tests/pull/349">#349</a> (<a href="https://github.com/ghengeveld"><code>@ghengeveld</code></a>)</li> <li>Add steps to link for local testing <a href="https://redirect.github.com/chromaui/addon-visual-tests/pull/347">#347</a> (<a href="https://github.com/codykaup"><code>@codykaup</code></a>)</li> </ul> <h4>Authors: 2</h4> <ul> <li>Cody Kaup (<a href="https://github.com/codykaup"><code>@codykaup</code></a>)</li> <li>Gert Hengeveld (<a href="https://github.com/ghengeveld"><code>@ghengeveld</code></a>)</li> </ul> <hr /> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
|
|
858dc7adc3
|
feat(blocks): Add github create repo block (#9169)
This adds a new block, Github Create Repository Block (GithubCreateRepositoryBlock) which lets you create a new github repo. i have used this to make these repos so i know it works https://github.com/Bentlybro/discord-whisper-transcriber https://github.com/Bentlybro/PyAGI-Framework https://github.com/Bentlybro/FlaskNotes  |
|
|
745aae4aec
|
feat(blocks): Add github create file block (#9144)
This adds 2 blocks, a Github Create File Block (GithubCreateFileBlock) and Github Update File Block (GithubUpdateFileBlock) These allow you to create files and update files on github, i used it to make all the files that are on my repo here https://github.com/Bentlybro/AGPT-Testing/commits/main/   --------- Co-authored-by: Swifty <craigswift13@gmail.com> |
|
|
5959c0d303 |
Revert "remove marketplace"
This reverts commit
|
|
|
480c4773bf | remove marketplace | |
|
1ce1918967
|
fix(platform): Fields with default value are not set to advanced by default (#9128)
https://github.com/Significant-Gravitas/AutoGPT/issues/8739 causes input fields that are supposed to be an advanced field end up being a mandatory field:  *See the retry count field here. ### Changes 🏗️ Set the `advanced` field on each input field, and set the default value using this logic: * If it has a default value, set it to True. * otherwise, False. ### Checklist 📋 #### For code changes: - [ ] I have clearly listed my changes in the PR description - [ ] I have made a test plan - [ ] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [ ] ... <details> <summary>Example test plan</summary> - [ ] Create from scratch and execute an agent with at least 3 blocks - [ ] Import an agent from file upload, and confirm it executes correctly - [ ] Upload agent to marketplace - [ ] Import an agent from marketplace and confirm it executes correctly - [ ] Edit an agent from monitor, and confirm it executes correctly </details> #### For configuration changes: - [ ] `.env.example` is updated or already compatible with my changes - [ ] `docker-compose.yml` is updated or already compatible with my changes - [ ] I have included a list of my configuration changes in the PR description (under **Changes**) <details> <summary>Examples of configuration changes</summary> - Changing ports - Adding new services that need to communicate with each other - Secrets or environment variable changes - New or infrastructure changes such as databases </details> --------- Co-authored-by: Swifty <craigswift13@gmail.com> |
|
|
314b04eaba
|
feat(backend): Make scheduler DB connection pool configurable & prevent connection overflow (#9149)
max_overflow parameter description: ``` :param max_overflow=10: the number of connections to allow in connection pool "overflow", that is connections that can be opened above and beyond the pool_size setting, which defaults to five. this is only used with :class:`~sqlalchemy.pool.QueuePool`. ``` ### Changes 🏗️ * Prevent additional db connections from being created in addition to the pool size for the scheduler. * Make the pool size configurable. ### Checklist 📋 #### For code changes: - [ ] I have clearly listed my changes in the PR description - [ ] I have made a test plan - [ ] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [ ] ... <details> <summary>Example test plan</summary> - [ ] Create from scratch and execute an agent with at least 3 blocks - [ ] Import an agent from file upload, and confirm it executes correctly - [ ] Upload agent to marketplace - [ ] Import an agent from marketplace and confirm it executes correctly - [ ] Edit an agent from monitor, and confirm it executes correctly </details> #### For configuration changes: - [ ] `.env.example` is updated or already compatible with my changes - [ ] `docker-compose.yml` is updated or already compatible with my changes - [ ] I have included a list of my configuration changes in the PR description (under **Changes**) <details> <summary>Examples of configuration changes</summary> - Changing ports - Adding new services that need to communicate with each other - Secrets or environment variable changes - New or infrastructure changes such as databases </details> Co-authored-by: Swifty <craigswift13@gmail.com> |
|
|
26214e1b2c
|
fix(backend): Prevent HTTP requests access to internal IPV6 addresses for Agent Blocks (#9157)
Addresses: https://github.com/Significant-Gravitas/AutoGPT/security/advisories/GHSA-4c8v-hwxc-2356 Currently, no IPv6 is used by default on this system. However, the lack of block HTTP access prevention to internal systems with IPv6 could be a potential SSRF. ### Changes 🏗️ Prevent internal IPv6 address access on HTTP request blocks. ### Checklist 📋 #### For code changes: - [ ] I have clearly listed my changes in the PR description - [ ] I have made a test plan - [ ] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [ ] ... <details> <summary>Example test plan</summary> - [ ] Create from scratch and execute an agent with at least 3 blocks - [ ] Import an agent from file upload, and confirm it executes correctly - [ ] Upload agent to marketplace - [ ] Import an agent from marketplace and confirm it executes correctly - [ ] Edit an agent from monitor, and confirm it executes correctly </details> #### For configuration changes: - [ ] `.env.example` is updated or already compatible with my changes - [ ] `docker-compose.yml` is updated or already compatible with my changes - [ ] I have included a list of my configuration changes in the PR description (under **Changes**) <details> <summary>Examples of configuration changes</summary> - Changing ports - Adding new services that need to communicate with each other - Secrets or environment variable changes - New or infrastructure changes such as databases </details> |
|
|
10fc7d2114
|
fix(backend): Remove croniter (#9130)
Croniter is unused, and it will be deprecated soon. ### Changes 🏗️ Remove croniter. ### Checklist 📋 #### For code changes: - [ ] I have clearly listed my changes in the PR description - [ ] I have made a test plan - [ ] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [ ] ... <details> <summary>Example test plan</summary> - [ ] Create from scratch and execute an agent with at least 3 blocks - [ ] Import an agent from file upload, and confirm it executes correctly - [ ] Upload agent to marketplace - [ ] Import an agent from marketplace and confirm it executes correctly - [ ] Edit an agent from monitor, and confirm it executes correctly </details> #### For configuration changes: - [ ] `.env.example` is updated or already compatible with my changes - [ ] `docker-compose.yml` is updated or already compatible with my changes - [ ] I have included a list of my configuration changes in the PR description (under **Changes**) <details> <summary>Examples of configuration changes</summary> - Changing ports - Adding new services that need to communicate with each other - Secrets or environment variable changes - New or infrastructure changes such as databases </details> Co-authored-by: Swifty <craigswift13@gmail.com> |
|
|
ea01c8038b
|
fix(frontend): Fix broken block UI layout (#9132)
https://github.com/Significant-Gravitas/AutoGPT/pull/9097/files#diff-ef176e50a6a65af5df2182626ea868ce77b76de447c816fb4f80fb4d376c3049R7-R41 introduced styling changes to block UI layout which causes the block layout broken:  This PR minimally reverts the styling change. ### Changes 🏗️ Minimal CSS revert to make the block UI layout back to normal. ### Checklist 📋 #### For code changes: - [ ] I have clearly listed my changes in the PR description - [ ] I have made a test plan - [ ] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [ ] ... <details> <summary>Example test plan</summary> - [ ] Create from scratch and execute an agent with at least 3 blocks - [ ] Import an agent from file upload, and confirm it executes correctly - [ ] Upload agent to marketplace - [ ] Import an agent from marketplace and confirm it executes correctly - [ ] Edit an agent from monitor, and confirm it executes correctly </details> #### For configuration changes: - [ ] `.env.example` is updated or already compatible with my changes - [ ] `docker-compose.yml` is updated or already compatible with my changes - [ ] I have included a list of my configuration changes in the PR description (under **Changes**) <details> <summary>Examples of configuration changes</summary> - Changing ports - Adding new services that need to communicate with each other - Secrets or environment variable changes - New or infrastructure changes such as databases </details> |
|
|
a646e60d2f
|
fix(backend): Added locking status check before releasing to avoid releasing timing out lock (#9135)
Exception: ``` nid:ce829f66-14b0-4bd3-b748-791e46666cb6|-] Failed node execution ce829f66-14b0-4bd3-b748-791e46666cb6: Cannot release an unlocked lock {}\u001b[0m", Traceback (most recent call last):\n File \"/app/autogpt_platform/backend/backend/integrations/creds_manager.py\", line 145, in _locked\n yield\n File \"/app/autogpt_platform/backend/backend/integrations/creds_manager.py\", line 115, in acquire\n lock = self._acquire_lock(user_id, credentials_id)", ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^", File \"/app/autogpt_platform/backend/backend/integrations/creds_manager.py\", line 139, in _acquire_lock", return self._locks.acquire(key)", ^^^^^^^^^^^^^^^^^^^^^^^^", File \"/app/autogpt_platform/autogpt_libs/autogpt_libs/utils/synchronize.py\", line 44, in acquire", lock.acquire()", File \"/usr/local/lib/python3.11/site-packages/redis/lock.py\", line 218, in acquire", mod_time.sleep(sleep)", File \"/app/autogpt_platform/backend/backend/executor/manager.py\", line 471, in <lambda>", signal.SIGTERM, lambda _, __: cls.on_node_executor_sigterm()", ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^", File \"/app/autogpt_platform/backend/backend/executor/manager.py\", line 498, in on_node_executor_sigterm", sys.exit(0)", SystemExit: 0", During handling of the above exception, another exception occurred:", Traceback (most recent call last):\n File \"/app/autogpt_platform/backend/backend/executor/manager.py\", line 539, in _on_node_execution\n for execution in execute_node(\n File \"/app/autogpt_platform/backend/backend/executor/manager.py\", line 175, in execute_node\n credentials, creds_lock = creds_manager.acquire(user_id, credentials_meta.id)", ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^", File \"/app/autogpt_platform/backend/backend/integrations/creds_manager.py\", line 114, in acquire", with self._locked(user_id, credentials_id, \"!time_sensitive\"):", File \"/usr/local/lib/python3.11/contextlib.py\", line 158, in __exit__", self.gen.throw(typ, value, traceback)", File \"/app/autogpt_platform/backend/backend/integrations/creds_manager.py\", line 147, in _locked", lock.release()", File \"/usr/local/lib/python3.11/site-packages/redis/lock.py\", line 254, in release", raise LockError(\"Cannot release an unlocked lock\", lock_name=self.name)", redis.exceptions.LockError: Cannot release an unlocked lock", ``` ### Changes 🏗️ ``` try: lock.acquire() ... finally: lock.release() ``` pattern can cause an error where the lock is already released due to timeout. The scope of the change is to manually check the lock status before releasing. ### Checklist 📋 #### For code changes: - [ ] I have clearly listed my changes in the PR description - [ ] I have made a test plan - [ ] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [ ] ... <details> <summary>Example test plan</summary> - [ ] Create from scratch and execute an agent with at least 3 blocks - [ ] Import an agent from file upload, and confirm it executes correctly - [ ] Upload agent to marketplace - [ ] Import an agent from marketplace and confirm it executes correctly - [ ] Edit an agent from monitor, and confirm it executes correctly </details> #### For configuration changes: - [ ] `.env.example` is updated or already compatible with my changes - [ ] `docker-compose.yml` is updated or already compatible with my changes - [ ] I have included a list of my configuration changes in the PR description (under **Changes**) <details> <summary>Examples of configuration changes</summary> - Changing ports - Adding new services that need to communicate with each other - Secrets or environment variable changes - New or infrastructure changes such as databases </details> |
|
|
15af2f410b
|
refactor(frontend): Auth pages update (#9124)
There are UX and design issues with current auth pages; `login`, `signup` and `reset_password` (including change password). ### Changes 🏗️  *Missing `s` on the login's password error is fixed. Important changes in bold. #### All auth pages - **Split `/login` into `/signup`** - UI Redesign that adheres to Figma designs - General code cleanup and improvements - Fix feedback: it's now shown when needed and clear (e.g. "~~String~~ Password must be...") - All action functions use `Sentry.withServerActionInstrumentation` - `PasswordInput` "eye button" shows password only when mouse button is hold and doesn't capture tab #### Login page - **Removed agree to terms checkbox** (it's only on signup now) - Move provider login function to `actions.ts` #### Signup page - **Requires to type password twice** - Shows waitlist information on *any* database error #### Reset password page - **Password update requires to type password twice** - **When request to send email is processed then the feedback is: Password reset email sent if user exists. Please check your email.** - Email sent feedback is black, error is red - Move send email and update password functions to `actions.ts` - Disable button when email is sent #### Other - Update zod schema objects and move them to `types/auth` - Move `components/PasswordInput.tsx` to `/components/auth` - Make common UI elements separate components in `components/auth` - Update `yarn.lock` (supabase packages) - Remove redundant letter in `client.ts` - Don't log error when user auth is missing in `useSupabase`; user is simply not logged in ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: - [x] Form feedback: - [x] Login works - [x] Signup works - [x] Reset email works - [x] Change password works - [x] Login works - [x] Signup works - [x] Reset email is sent - [x] Reset email logs user in and redirects to `/reset_password` - [x] Change password works - [x] Logout works - [x] All links across auth pages work Note: OAuth login providers are disabled and so untested. <details> <summary>Example test plan</summary> - [ ] Create from scratch and execute an agent with at least 3 blocks - [ ] Import an agent from file upload, and confirm it executes correctly - [ ] Upload agent to marketplace - [ ] Import an agent from marketplace and confirm it executes correctly - [ ] Edit an agent from monitor, and confirm it executes correctly </details> #### For configuration changes: - [ ] `.env.example` is updated or already compatible with my changes - [ ] `docker-compose.yml` is updated or already compatible with my changes - [ ] I have included a list of my configuration changes in the PR description (under **Changes**) <details> <summary>Examples of configuration changes</summary> - Changing ports - Adding new services that need to communicate with each other - Secrets or environment variable changes - New or infrastructure changes such as databases </details> --------- Co-authored-by: Zamil Majdy <zamil.majdy@agpt.co> |
|
|
763284e3a3
|
fix(platform): minor fixes (#9147)
### Changes 🏗️ - Redirect to the marketplace. - Ensure that the store agent uses agent graph data instead of store listing data. - Don’t export agent input values. - URL sanitization: We can’t open an agent if it has a colon in its name. - Show all top agents. ### Checklist 📋 #### For code changes: - [ ] I have clearly listed my changes in the PR description - [ ] I have made a test plan - [ ] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [ ] ... <details> <summary>Example test plan</summary> - [ ] Create from scratch and execute an agent with at least 3 blocks - [ ] Import an agent from file upload, and confirm it executes correctly - [ ] Upload agent to marketplace - [ ] Import an agent from marketplace and confirm it executes correctly - [ ] Edit an agent from monitor, and confirm it executes correctly </details> #### For configuration changes: - [ ] `.env.example` is updated or already compatible with my changes - [ ] `docker-compose.yml` is updated or already compatible with my changes - [ ] I have included a list of my configuration changes in the PR description (under **Changes**) <details> <summary>Examples of configuration changes</summary> - Changing ports - Adding new services that need to communicate with each other - Secrets or environment variable changes - New or infrastructure changes such as databases </details> --------- Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> |
|
|
10865cd736
|
[Platform] Creator profile description no longer ignores new lines (#9114)
Fixes #9086 ### Changes 🏗️ Added styling to the div that encapsulates the description that takes white space into account ### Checklist 📋 #### Code changes: - [ x] I have clearly listed my changes in the PR description - [ x] I have made a test plan - [ x] I have tested my changes according to the test plan: <summary>The test plan was to just make changes to profile bio and check the creator page to see if new lines were generated properly</summary> Below is what the new change looks like: <img width="882" alt="Screenshot 2024-12-20 at 12 21 09 pm" src="https://github.com/user-attachments/assets/6d396ec7-96f8-4c9c-9d1f-a5bd75c6dc86" /> becomes... <img width="468" alt="Screenshot 2024-12-20 at 12 21 15 pm" src="https://github.com/user-attachments/assets/9dbe256b-5800-4f17-91c2-4ecffcffbc0b" /> |
|
|
1663d4273b
|
fix(store): username not lowered when its updated (#9112)
fix(store): username not lowered when its updated breaking access to any of there users pages in the store |