mirror of
https://github.com/Significant-Gravitas/AutoGPT.git
synced 2026-01-09 15:17:59 -05:00
master
95 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
21337e6bc4 |
chore(libs/deps): bump the production-dependencies group across 1 directory with 4 updates (#9237)
Bumps the production-dependencies group with 4 updates in the /autogpt_platform/autogpt_libs directory: [pydantic](https://github.com/pydantic/pydantic), [pydantic-settings](https://github.com/pydantic/pydantic-settings), [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) and [supabase](https://github.com/supabase/supabase-py). Updates `pydantic` from 2.10.3 to 2.10.5 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pydantic/pydantic/releases">pydantic's releases</a>.</em></p> <blockquote> <h2>v2.10.4 2024-12-18</h2> <h2>What's Changed</h2> <h3>Packaging</h3> <ul> <li>Bump <code>pydantic-core</code> to v2.27.2 by <a href="https://github.com/davidhewitt"><code>@davidhewitt</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/11138">#11138</a></li> </ul> <h3>Fixes</h3> <ul> <li>Fix for comparison of <code>AnyUrl</code> objects by <a href="https://github.com/alexprabhat99"><code>@alexprabhat99</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/11082">#11082</a></li> <li>Properly fetch PEP 695 type params for functions, do not fetch annotations from signature by <a href="https://github.com/Viicos"><code>@Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/11093">#11093</a></li> <li>Include JSON Schema input core schema in function schemas by <a href="https://github.com/Viicos"><code>@Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/11085">#11085</a></li> <li>Add <code>len</code> to <code>_BaseUrl</code> to avoid TypeError by <a href="https://github.com/Kharianne"><code>@Kharianne</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/11111">#11111</a></li> <li>Make sure the type reference is removed from the seen references by <a href="https://github.com/Viicos"><code>@Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/11143">#11143</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/alexprabhat99"><code>@alexprabhat99</code></a> made their first contribution in <a href="https://redirect.github.com/pydantic/pydantic/pull/11082">#11082</a></li> <li><a href="https://github.com/Kharianne"><code>@Kharianne</code></a> made their first contribution in <a href="https://redirect.github.com/pydantic/pydantic/pull/11111">#11111</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/pydantic/pydantic/compare/v2.10.3...v2.10.4">https://github.com/pydantic/pydantic/compare/v2.10.3...v2.10.4</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pydantic/pydantic/blob/main/HISTORY.md">pydantic's changelog</a>.</em></p> <blockquote> <h2>v2.10.5 (2025-01-08)</h2> <p><a href="https://github.com/pydantic/pydantic/releases/tag/v2.10.5">GitHub release</a></p> <h3>What's Changed</h3> <ul> <li>Remove custom MRO implementation of Pydantic models by <a href="https://github.com/Viicos"><code>@Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/11184">#11184</a></li> <li>Fix URL serialization for unions by <a href="https://github.com/sydney-runkle"><code>@sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/11233">#11233</a></li> </ul> <h2>v2.10.4 (2024-12-18)</h2> <p><a href="https://github.com/pydantic/pydantic/releases/tag/v2.10.4">GitHub release</a></p> <h3>What's Changed</h3> <h4>Packaging</h4> <ul> <li>Bump <code>pydantic-core</code> to v2.27.2 by <a href="https://github.com/davidhewitt"><code>@davidhewitt</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/11138">#11138</a></li> </ul> <h4>Fixes</h4> <ul> <li>Fix for comparison of <code>AnyUrl</code> objects by <a href="https://github.com/alexprabhat99"><code>@alexprabhat99</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/11082">#11082</a></li> <li>Properly fetch PEP 695 type params for functions, do not fetch annotations from signature by <a href="https://github.com/Viicos"><code>@Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/11093">#11093</a></li> <li>Include JSON Schema input core schema in function schemas by <a href="https://github.com/Viicos"><code>@Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/11085">#11085</a></li> <li>Add <code>len</code> to <code>_BaseUrl</code> to avoid TypeError by <a href="https://github.com/Kharianne"><code>@Kharianne</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/11111">#11111</a></li> <li>Make sure the type reference is removed from the seen references by <a href="https://github.com/Viicos"><code>@Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/11143">#11143</a></li> </ul> <h3>New Contributors</h3> <ul> <li><a href="https://github.com/FyZzyss"><code>@FyZzyss</code></a> made their first contribution in <a href="https://redirect.github.com/pydantic/pydantic/pull/10789">#10789</a></li> <li><a href="https://github.com/tamird"><code>@tamird</code></a> made their first contribution in <a href="https://redirect.github.com/pydantic/pydantic/pull/10948">#10948</a></li> <li><a href="https://github.com/felixxm"><code>@felixxm</code></a> made their first contribution in <a href="https://redirect.github.com/pydantic/pydantic/pull/11077">#11077</a></li> <li><a href="https://github.com/alexprabhat99"><code>@alexprabhat99</code></a> made their first contribution in <a href="https://redirect.github.com/pydantic/pydantic/pull/11082">#11082</a></li> <li><a href="https://github.com/Kharianne"><code>@Kharianne</code></a> made their first contribution in <a href="https://redirect.github.com/pydantic/pydantic/pull/11111">#11111</a></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
56330b1dd3 |
chore(backend/deps-dev): bump the development-dependencies group across 1 directory with 5 updates (#9300)
Bumps the development-dependencies group with 5 updates in the /autogpt_platform/backend directory: | Package | From | To | | --- | --- | --- | | [poethepoet](https://github.com/nat-n/poethepoet) | `0.31.0` | `0.32.1` | | [ruff](https://github.com/astral-sh/ruff) | `0.8.3` | `0.9.2` | | [pyright](https://github.com/RobertCraigie/pyright-python) | `1.1.389` | `1.1.392.post0` | | [aiohappyeyeballs](https://github.com/aio-libs/aiohappyeyeballs) | `2.4.3` | `2.4.4` | | [faker](https://github.com/joke2k/faker) | `33.1.0` | `33.3.1` | Updates `poethepoet` from 0.31.0 to 0.32.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/nat-n/poethepoet/releases">poethepoet's releases</a>.</em></p> <blockquote> <h2>v0.32.1</h2> <h2>Enhancements</h2> <ul> <li>feat: Upgrade poetry dependency to make the poetry plugin work with poetry 2.0 by <a href="https://github.com/nat-n"><code>@nat-n</code></a> in <a href="https://redirect.github.com/nat-n/poethepoet/pull/269">nat-n/poethepoet#269</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/nat-n/poethepoet/compare/v0.32.0...v0.32.1">https://github.com/nat-n/poethepoet/compare/v0.32.0...v0.32.1</a></p> <h2>0.32.0</h2> <h2>Enhancements</h2> <ul> <li> <p>Make command parsing support <em>default value</em> and <em>alternate value</em> operations on param expansions by <a href="https://github.com/nat-n"><code>@nat-n</code></a> in <a href="https://redirect.github.com/nat-n/poethepoet/pull/266">nat-n/poethepoet#266</a></p> <ul> <li>See feature <a href="https://poethepoet.natn.io/tasks/task_types/cmd.html#parameter-expansion-operators">📖 documentation</a> for more details</li> </ul> </li> <li> <p>Explicitly disallow <code>capture_stdout</code> option on sequence tasks by <a href="https://github.com/nat-n"><code>@nat-n</code></a> in <a href="https://redirect.github.com/nat-n/poethepoet/pull/265">nat-n/poethepoet#265</a></p> </li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/nat-n/poethepoet/compare/v0.31.1...v0.32.0">https://github.com/nat-n/poethepoet/compare/v0.31.1...v0.32.0</a></p> <h2>0.31.1</h2> <h2>Fixes</h2> <ul> <li>fix: Explicitly disallow capture_stdout option on sequence tasks by <a href="https://github.com/nat-n"><code>@nat-n</code></a> in <a href="https://redirect.github.com/nat-n/poethepoet/pull/261">nat-n/poethepoet#261</a></li> <li>fix: Allow env var defaults in included task files by <a href="https://github.com/nat-n"><code>@nat-n</code></a> in <a href="https://redirect.github.com/nat-n/poethepoet/pull/263">nat-n/poethepoet#263</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/nat-n/poethepoet/compare/v0.31.0...v0.31.1">https://github.com/nat-n/poethepoet/compare/v0.31.0...v0.31.1</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
5383e8ba27 |
chore(libs/deps-dev): bump ruff from 0.8.6 to 0.9.2 in /autogpt_platform/autogpt_libs in the development-dependencies group across 1 directory (#9299)
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.6 to 0.9.2 <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.9.2</h2> <h2>Release Notes</h2> <h3>Preview features</h3> <ul> <li>[<code>airflow</code>] Fix typo "security_managr" to "security_manager" (<code>AIR303</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/15463">#15463</a>)</li> <li>[<code>airflow</code>] extend and fix AIR302 rules (<a href="https://redirect.github.com/astral-sh/ruff/pull/15525">#15525</a>)</li> <li>[<code>fastapi</code>] Handle parameters with <code>Depends</code> correctly (<code>FAST003</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/15364">#15364</a>)</li> <li>[<code>flake8-pytest-style</code>] Implement pytest.warns diagnostics (<code>PT029</code>, <code>PT030</code>, <code>PT031</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/15444">#15444</a>)</li> <li>[<code>flake8-pytest-style</code>] Test function parameters with default arguments (<code>PT028</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/15449">#15449</a>)</li> <li>[<code>flake8-type-checking</code>] Avoid false positives for <code>|</code> in <code>TC008</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/15201">#15201</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>[<code>flake8-todos</code>] Allow VSCode GitHub PR extension style links in <code>missing-todo-link</code> (<code>TD003</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/15519">#15519</a>)</li> <li>[<code>pyflakes</code>] Show syntax error message for <code>F722</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/15523">#15523</a>)</li> </ul> <h3>Formatter</h3> <ul> <li>Fix curly bracket spacing around f-string expressions containing curly braces (<a href="https://redirect.github.com/astral-sh/ruff/pull/15471">#15471</a>)</li> <li>Fix joining of f-strings with different quotes when using quote style <code>Preserve</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/15524">#15524</a>)</li> </ul> <h3>Server</h3> <ul> <li>Avoid indexing the same workspace multiple times (<a href="https://redirect.github.com/astral-sh/ruff/pull/15495">#15495</a>)</li> <li>Display context for <code>ruff.configuration</code> errors (<a href="https://redirect.github.com/astral-sh/ruff/pull/15452">#15452</a>)</li> </ul> <h3>Configuration</h3> <ul> <li>Remove <code>flatten</code> to improve deserialization error messages (<a href="https://redirect.github.com/astral-sh/ruff/pull/15414">#15414</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>Parse triple-quoted string annotations as if parenthesized (<a href="https://redirect.github.com/astral-sh/ruff/pull/15387">#15387</a>)</li> <li>[<code>fastapi</code>] Update <code>Annotated</code> fixes (<code>FAST002</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/15462">#15462</a>)</li> <li>[<code>flake8-bandit</code>] Check for <code>builtins</code> instead of <code>builtin</code> (<code>S102</code>, <code>PTH123</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/15443">#15443</a>)</li> <li>[<code>flake8-pathlib</code>] Fix <code>--select</code> for <code>os-path-dirname</code> (<code>PTH120</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/15446">#15446</a>)</li> <li>[<code>ruff</code>] Fix false positive on global keyword (<code>RUF052</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/15235">#15235</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/BurntSushi"><code>@BurntSushi</code></a></li> <li><a href="https://github.com/Daverball"><code>@Daverball</code></a></li> <li><a href="https://github.com/Garrett-R"><code>@Garrett-R</code></a></li> <li><a href="https://github.com/Glyphack"><code>@Glyphack</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/cake-monotone"><code>@cake-monotone</code></a></li> </ul> <!-- 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.9.2</h2> <h3>Preview features</h3> <ul> <li>[<code>airflow</code>] Fix typo "security_managr" to "security_manager" (<code>AIR303</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/15463">#15463</a>)</li> <li>[<code>airflow</code>] extend and fix AIR302 rules (<a href="https://redirect.github.com/astral-sh/ruff/pull/15525">#15525</a>)</li> <li>[<code>fastapi</code>] Handle parameters with <code>Depends</code> correctly (<code>FAST003</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/15364">#15364</a>)</li> <li>[<code>flake8-pytest-style</code>] Implement pytest.warns diagnostics (<code>PT029</code>, <code>PT030</code>, <code>PT031</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/15444">#15444</a>)</li> <li>[<code>flake8-pytest-style</code>] Test function parameters with default arguments (<code>PT028</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/15449">#15449</a>)</li> <li>[<code>flake8-type-checking</code>] Avoid false positives for <code>|</code> in <code>TC008</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/15201">#15201</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>[<code>flake8-todos</code>] Allow VSCode GitHub PR extension style links in <code>missing-todo-link</code> (<code>TD003</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/15519">#15519</a>)</li> <li>[<code>pyflakes</code>] Show syntax error message for <code>F722</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/15523">#15523</a>)</li> </ul> <h3>Formatter</h3> <ul> <li>Fix curly bracket spacing around f-string expressions containing curly braces (<a href="https://redirect.github.com/astral-sh/ruff/pull/15471">#15471</a>)</li> <li>Fix joining of f-strings with different quotes when using quote style <code>Preserve</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/15524">#15524</a>)</li> </ul> <h3>Server</h3> <ul> <li>Avoid indexing the same workspace multiple times (<a href="https://redirect.github.com/astral-sh/ruff/pull/15495">#15495</a>)</li> <li>Display context for <code>ruff.configuration</code> errors (<a href="https://redirect.github.com/astral-sh/ruff/pull/15452">#15452</a>)</li> </ul> <h3>Configuration</h3> <ul> <li>Remove <code>flatten</code> to improve deserialization error messages (<a href="https://redirect.github.com/astral-sh/ruff/pull/15414">#15414</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>Parse triple-quoted string annotations as if parenthesized (<a href="https://redirect.github.com/astral-sh/ruff/pull/15387">#15387</a>)</li> <li>[<code>fastapi</code>] Update <code>Annotated</code> fixes (<code>FAST002</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/15462">#15462</a>)</li> <li>[<code>flake8-bandit</code>] Check for <code>builtins</code> instead of <code>builtin</code> (<code>S102</code>, <code>PTH123</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/15443">#15443</a>)</li> <li>[<code>flake8-pathlib</code>] Fix <code>--select</code> for <code>os-path-dirname</code> (<code>PTH120</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/15446">#15446</a>)</li> <li>[<code>ruff</code>] Fix false positive on global keyword (<code>RUF052</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/15235">#15235</a>)</li> </ul> <h2>0.9.1</h2> <h3>Preview features</h3> <ul> <li>[<code>pycodestyle</code>] Run <code>too-many-newlines-at-end-of-file</code> on each cell in notebooks (<code>W391</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/15308">#15308</a>)</li> <li>[<code>ruff</code>] Omit diagnostic for shadowed private function parameters in <code>used-dummy-variable</code> (<code>RUF052</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/15376">#15376</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>[<code>flake8-bugbear</code>] Improve <code>assert-raises-exception</code> message (<code>B017</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/15389">#15389</a>)</li> </ul> <h3>Formatter</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
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> |
||
|
|
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=" |
||
|
|
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 |
||
|
|
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>
|
||
|
|
41be88f0bf | Update dependencies | ||
|
|
59f52fb656 |
build(deps-dev): bump ruff from 0.8.2 to 0.8.3 in /autogpt_platform/autogpt_libs in the development-dependencies group (#9008)
Bumps the development-dependencies group in /autogpt_platform/autogpt_libs with 1 update: [ruff](https://github.com/astral-sh/ruff). Updates `ruff` from 0.8.2 to 0.8.3 <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.3</h2> <h2>Release Notes</h2> <h3>Preview features</h3> <ul> <li>Fix fstring formatting removing overlong implicit concatenated string in expression part (<a href="https://redirect.github.com/astral-sh/ruff/pull/14811">#14811</a>)</li> <li>[<code>airflow</code>] Add fix to remove deprecated keyword arguments (<code>AIR302</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14887">#14887</a>)</li> <li>[<code>airflow</code>]: Extend rule to include deprecated names for Airflow 3.0 (<code>AIR302</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14765">#14765</a> and <a href="https://redirect.github.com/astral-sh/ruff/pull/14804">#14804</a>)</li> <li>[<code>flake8-bugbear</code>] Improve error messages for <code>except*</code> (<code>B025</code>, <code>B029</code>, <code>B030</code>, <code>B904</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14815">#14815</a>)</li> <li>[<code>flake8-bugbear</code>] <code>itertools.batched()</code> without explicit <code>strict</code> (<code>B911</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14408">#14408</a>)</li> <li>[<code>flake8-use-pathlib</code>] Dotless suffix passed to <code>Path.with_suffix()</code> (<code>PTH210</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14779">#14779</a>)</li> <li>[<code>pylint</code>] Include parentheses and multiple comparators in check for <code>boolean-chained-comparison</code> (<code>PLR1716</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14781">#14781</a>)</li> <li>[<code>ruff</code>] Do not simplify <code>round()</code> calls (<code>RUF046</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14832">#14832</a>)</li> <li>[<code>ruff</code>] Don't emit <code>used-dummy-variable</code> on function parameters (<code>RUF052</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14818">#14818</a>)</li> <li>[<code>ruff</code>] Implement <code>if-key-in-dict-del</code> (<code>RUF051</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14553">#14553</a>)</li> <li>[<code>ruff</code>] Mark autofix for <code>RUF052</code> as always unsafe (<a href="https://redirect.github.com/astral-sh/ruff/pull/14824">#14824</a>)</li> <li>[<code>ruff</code>] Teach autofix for <code>used-dummy-variable</code> about TypeVars etc. (<code>RUF052</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14819">#14819</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>[<code>flake8-bugbear</code>] Offer unsafe autofix for <code>no-explicit-stacklevel</code> (<code>B028</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14829">#14829</a>)</li> <li>[<code>flake8-pyi</code>] Skip all type definitions in <code>string-or-bytes-too-long</code> (<code>PYI053</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14797">#14797</a>)</li> <li>[<code>pyupgrade</code>] Do not report when a UTF-8 comment is followed by a non-UTF-8 one (<code>UP009</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14728">#14728</a>)</li> <li>[<code>pyupgrade</code>] Mark fixes for <code>convert-typed-dict-functional-to-class</code> and <code>convert-named-tuple-functional-to-class</code> as unsafe if they will remove comments (<code>UP013</code>, <code>UP014</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14842">#14842</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>Raise syntax error for mixing <code>except</code> and <code>except*</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/14895">#14895</a>)</li> <li>[<code>flake8-bugbear</code>] Fix <code>B028</code> to allow <code>stacklevel</code> to be explicitly assigned as a positional argument (<a href="https://redirect.github.com/astral-sh/ruff/pull/14868">#14868</a>)</li> <li>[<code>flake8-bugbear</code>] Skip <code>B028</code> if <code>warnings.warn</code> is called with <code>*args</code> or <code>**kwargs</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/14870">#14870</a>)</li> <li>[<code>flake8-comprehensions</code>] Skip iterables with named expressions in <code>unnecessary-map</code> (<code>C417</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14827">#14827</a>)</li> <li>[<code>flake8-pyi</code>] Also remove <code>self</code> and <code>cls</code>'s annotation (<code>PYI034</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14801">#14801</a>)</li> <li>[<code>flake8-pytest-style</code>] Fix <code>pytest-parametrize-names-wrong-type</code> (<code>PT006</code>) to edit both <code>argnames</code> and <code>argvalues</code> if both of them are single-element tuples/lists (<a href="https://redirect.github.com/astral-sh/ruff/pull/14699">#14699</a>)</li> <li>[<code>perflint</code>] Improve autofix for <code>PERF401</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/14369">#14369</a>)</li> <li>[<code>pylint</code>] Fix <code>PLW1508</code> false positive for default string created via a mult operation (<a href="https://redirect.github.com/astral-sh/ruff/pull/14841">#14841</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/BurntSushi"><code>@BurntSushi</code></a></li> <li><a href="https://github.com/DimitriPapadopoulos"><code>@DimitriPapadopoulos</code></a></li> <li><a href="https://github.com/Glyphack"><code>@Glyphack</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/UnknownPlatypus"><code>@UnknownPlatypus</code></a></li> <li><a href="https://github.com/carljm"><code>@carljm</code></a></li> <li><a href="https://github.com/cclauss"><code>@cclauss</code></a></li> <li><a href="https://github.com/dcreager"><code>@dcreager</code></a></li> <li><a href="https://github.com/dhruvmanila"><code>@dhruvmanila</code></a></li> <li><a href="https://github.com/dylwil3"><code>@dylwil3</code></a></li> </ul> <!-- 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.3</h2> <h3>Preview features</h3> <ul> <li>Fix fstring formatting removing overlong implicit concatenated string in expression part (<a href="https://redirect.github.com/astral-sh/ruff/pull/14811">#14811</a>)</li> <li>[<code>airflow</code>] Add fix to remove deprecated keyword arguments (<code>AIR302</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14887">#14887</a>)</li> <li>[<code>airflow</code>]: Extend rule to include deprecated names for Airflow 3.0 (<code>AIR302</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14765">#14765</a> and <a href="https://redirect.github.com/astral-sh/ruff/pull/14804">#14804</a>)</li> <li>[<code>flake8-bugbear</code>] Improve error messages for <code>except*</code> (<code>B025</code>, <code>B029</code>, <code>B030</code>, <code>B904</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14815">#14815</a>)</li> <li>[<code>flake8-bugbear</code>] <code>itertools.batched()</code> without explicit <code>strict</code> (<code>B911</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14408">#14408</a>)</li> <li>[<code>flake8-use-pathlib</code>] Dotless suffix passed to <code>Path.with_suffix()</code> (<code>PTH210</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14779">#14779</a>)</li> <li>[<code>pylint</code>] Include parentheses and multiple comparators in check for <code>boolean-chained-comparison</code> (<code>PLR1716</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14781">#14781</a>)</li> <li>[<code>ruff</code>] Do not simplify <code>round()</code> calls (<code>RUF046</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14832">#14832</a>)</li> <li>[<code>ruff</code>] Don't emit <code>used-dummy-variable</code> on function parameters (<code>RUF052</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14818">#14818</a>)</li> <li>[<code>ruff</code>] Implement <code>if-key-in-dict-del</code> (<code>RUF051</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14553">#14553</a>)</li> <li>[<code>ruff</code>] Mark autofix for <code>RUF052</code> as always unsafe (<a href="https://redirect.github.com/astral-sh/ruff/pull/14824">#14824</a>)</li> <li>[<code>ruff</code>] Teach autofix for <code>used-dummy-variable</code> about TypeVars etc. (<code>RUF052</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14819">#14819</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>[<code>flake8-bugbear</code>] Offer unsafe autofix for <code>no-explicit-stacklevel</code> (<code>B028</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14829">#14829</a>)</li> <li>[<code>flake8-pyi</code>] Skip all type definitions in <code>string-or-bytes-too-long</code> (<code>PYI053</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14797">#14797</a>)</li> <li>[<code>pyupgrade</code>] Do not report when a UTF-8 comment is followed by a non-UTF-8 one (<code>UP009</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14728">#14728</a>)</li> <li>[<code>pyupgrade</code>] Mark fixes for <code>convert-typed-dict-functional-to-class</code> and <code>convert-named-tuple-functional-to-class</code> as unsafe if they will remove comments (<code>UP013</code>, <code>UP014</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14842">#14842</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>Raise syntax error for mixing <code>except</code> and <code>except*</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/14895">#14895</a>)</li> <li>[<code>flake8-bugbear</code>] Fix <code>B028</code> to allow <code>stacklevel</code> to be explicitly assigned as a positional argument (<a href="https://redirect.github.com/astral-sh/ruff/pull/14868">#14868</a>)</li> <li>[<code>flake8-bugbear</code>] Skip <code>B028</code> if <code>warnings.warn</code> is called with <code>*args</code> or <code>**kwargs</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/14870">#14870</a>)</li> <li>[<code>flake8-comprehensions</code>] Skip iterables with named expressions in <code>unnecessary-map</code> (<code>C417</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14827">#14827</a>)</li> <li>[<code>flake8-pyi</code>] Also remove <code>self</code> and <code>cls</code>'s annotation (<code>PYI034</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14801">#14801</a>)</li> <li>[<code>flake8-pytest-style</code>] Fix <code>pytest-parametrize-names-wrong-type</code> (<code>PT006</code>) to edit both <code>argnames</code> and <code>argvalues</code> if both of them are single-element tuples/lists (<a href="https://redirect.github.com/astral-sh/ruff/pull/14699">#14699</a>)</li> <li>[<code>perflint</code>] Improve autofix for <code>PERF401</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/14369">#14369</a>)</li> <li>[<code>pylint</code>] Fix <code>PLW1508</code> false positive for default string created via a mult operation (<a href="https://redirect.github.com/astral-sh/ruff/pull/14841">#14841</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
2de5e3dd83 |
feat(platform): Agent Store V2 (#8874)
# 🌎 Overview AutoGPT Store Version 2 expands on the Pre-Store by enhancing agent discovery, providing richer content presentation, and introducing new user engagement features. The focus is on creating a visually appealing and interactive marketplace that allows users to explore and evaluate agents through images, videos, and detailed descriptions. ### Vision To create a visually compelling and interactive open-source marketplace for autonomous AI agents, where users can easily discover, evaluate, and interact with agents through media-rich listings, ratings, and version history. ### Objectives 📊 Incorporate visuals (icons, images, videos) into agent listings. ⭐ Introduce a rating system and agent run count. 🔄 Provide version history and update logs from creators. 🔍 Improve user experience with advanced search and filtering features. ### Changes 🏗️ <!-- Concisely describe all of the changes made in this pull request: --> ### 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: Bently <tomnoon9@gmail.com> Co-authored-by: Aarushi <aarushik93@gmail.com> |
||
|
|
e6d728b081 |
build(deps-dev): bump the development-dependencies group in /autogpt_platform/autogpt_libs with 2 updates (#8924)
Bumps the development-dependencies group in /autogpt_platform/autogpt_libs with 2 updates: [redis](https://github.com/redis/redis-py) and [ruff](https://github.com/astral-sh/ruff). Updates `redis` from 5.2.0 to 5.2.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/redis/redis-py/releases">redis's releases</a>.</em></p> <blockquote> <h2>5.2.1</h2> <h1>Changes</h1> <h2>🐛 Bug Fixes</h2> <ul> <li>Fixed unsecured tempfile.mktemp() command usage (<a href="https://redirect.github.com/redis/redis-py/issues/3446">#3446</a>)</li> <li>Fixed bug with SLOWLOG GET response parsing on Redis Software (<a href="https://redirect.github.com/redis/redis-py/issues/3441">#3441</a>)</li> <li>Fixed issue with invoking _close() on closed event loop (<a href="https://redirect.github.com/redis/redis-py/issues/3438">#3438</a>)</li> </ul> <h2>🧰 Maintenance</h2> <ul> <li>Migrate test infrastructure to new custom docker images (<a href="https://redirect.github.com/redis/redis-py/issues/3415">#3415</a>)</li> <li>Fixed flacky test with HEXPIREAT command (<a href="https://redirect.github.com/redis/redis-py/issues/3437">#3437</a>)</li> </ul> <h2>Contributors</h2> <p>We'd like to thank all the contributors who worked on this release!</p> <p><a href="https://github.com/IlianIliev"><code>@IlianIliev</code></a> <a href="https://github.com/uglide"><code>@uglide</code></a> <a href="https://github.com/vladvildanov"><code>@vladvildanov</code></a> <a href="https://github.com/teodorfn"><code>@teodorfn</code></a> <a href="https://github.com/akx"><code>@akx</code></a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
0272d87af3 |
ci(backend): Add poetry.lock check (#8885)
- Resolves #8884 We need to prevent breaking updates to dependency version requirements of `autogpt_libs`. `autogpt_libs/pytroject.toml` and `backend/poetry.lock` are loosely coupled, and to ensure they stay in sync we need an extra check. For now I'm also reverting the breaking update of #8787, otherwise this added CI check will immediately fail. ### Changes - ci(backend): Add `poetry.lock` check - Revert "build(deps): bump pydantic from 2.9.2 to 2.10.2 in /autogpt_platform/autogpt_libs in the production-dependencies group across 1 directory (#8787)" |
||
|
|
0a604a5746 |
build(deps-dev): bump ruff from 0.8.0 to 0.8.1 in /autogpt_platform/autogpt_libs in the development-dependencies group (#8864)
Bumps the development-dependencies group in /autogpt_platform/autogpt_libs with 1 update: [ruff](https://github.com/astral-sh/ruff). Updates `ruff` from 0.8.0 to 0.8.1 <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.1</h2> <h2>Release Notes</h2> <h3>Preview features</h3> <ul> <li>Formatter: Avoid invalid syntax for format-spec with quotes for all Python versions (<a href="https://redirect.github.com/astral-sh/ruff/pull/14625">#14625</a>)</li> <li>Formatter: Consider quotes inside format-specs when choosing the quotes for an f-string (<a href="https://redirect.github.com/astral-sh/ruff/pull/14493">#14493</a>)</li> <li>Formatter: Do not consider f-strings with escaped newlines as multiline (<a href="https://redirect.github.com/astral-sh/ruff/pull/14624">#14624</a>)</li> <li>Formatter: Fix f-string formatting in assignment statement (<a href="https://redirect.github.com/astral-sh/ruff/pull/14454">#14454</a>)</li> <li>Formatter: Fix unnecessary space around power operator (<code>**</code>) in overlong f-string expressions (<a href="https://redirect.github.com/astral-sh/ruff/pull/14489">#14489</a>)</li> <li>[<code>airflow</code>] Avoid implicit <code>schedule</code> argument to <code>DAG</code> and <code>@dag</code> (<code>AIR301</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14581">#14581</a>)</li> <li>[<code>flake8-builtins</code>] Exempt private built-in modules (<code>A005</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14505">#14505</a>)</li> <li>[<code>flake8-pytest-style</code>] Fix <code>pytest.mark.parametrize</code> rules to check calls instead of decorators (<a href="https://redirect.github.com/astral-sh/ruff/pull/14515">#14515</a>)</li> <li>[<code>flake8-type-checking</code>] Implement <code>runtime-cast-value</code> (<code>TC006</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14511">#14511</a>)</li> <li>[<code>flake8-type-checking</code>] Implement <code>unquoted-type-alias</code> (<code>TC007</code>) and <code>quoted-type-alias</code> (<code>TC008</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12927">#12927</a>)</li> <li>[<code>flake8-use-pathlib</code>] Recommend <code>Path.iterdir()</code> over <code>os.listdir()</code> (<code>PTH208</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14509">#14509</a>)</li> <li>[<code>pylint</code>] Extend <code>invalid-envvar-default</code> to detect <code>os.environ.get</code> (<code>PLW1508</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14512">#14512</a>)</li> <li>[<code>pylint</code>] Implement <code>len-test</code> (<code>PLC1802</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14309">#14309</a>)</li> <li>[<code>refurb</code>] Fix bug where methods defined using lambdas were flagged by <code>FURB118</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/14639">#14639</a>)</li> <li>[<code>ruff</code>] Auto-add <code>r</code> prefix when string has no backslashes for <code>unraw-re-pattern</code> (<code>RUF039</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14536">#14536</a>)</li> <li>[<code>ruff</code>] Implement <code>invalid-assert-message-literal-argument</code> (<code>RUF040</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14488">#14488</a>)</li> <li>[<code>ruff</code>] Implement <code>unnecessary-nested-literal</code> (<code>RUF041</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14323">#14323</a>)</li> <li>[<code>ruff</code>] Implement <code>unnecessary-regular-expression</code> (<code>RUF055</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14659">#14659</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>Ignore more rules for stub files (<a href="https://redirect.github.com/astral-sh/ruff/pull/14541">#14541</a>)</li> <li>[<code>pep8-naming</code>] Eliminate false positives for single-letter names (<code>N811</code>, <code>N814</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14584">#14584</a>)</li> <li>[<code>pyflakes</code>] Avoid false positives in <code>@no_type_check</code> contexts (<code>F821</code>, <code>F722</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14615">#14615</a>)</li> <li>[<code>ruff</code>] Detect redirected-noqa in file-level comments (<code>RUF101</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14635">#14635</a>)</li> <li>[<code>ruff</code>] Mark fixes for <code>unsorted-dunder-all</code> and <code>unsorted-dunder-slots</code> as unsafe when there are complex comments in the sequence (<code>RUF022</code>, <code>RUF023</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14560">#14560</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>Avoid fixing code to <code>None | None</code> for <code>redundant-none-literal</code> (<code>PYI061</code>) and <code>never-union</code> (<code>RUF020</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14583">#14583</a>, <a href="https://redirect.github.com/astral-sh/ruff/pull/14589">#14589</a>)</li> <li>[<code>flake8-bugbear</code>] Fix <code>mutable-contextvar-default</code> to resolve annotated function calls properly (<code>B039</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14532">#14532</a>)</li> <li>[<code>flake8-pyi</code>, <code>ruff</code>] Fix traversal of nested literals and unions (<code>PYI016</code>, <code>PYI051</code>, <code>PYI055</code>, <code>PYI062</code>, <code>RUF041</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14641">#14641</a>)</li> <li>[<code>flake8-pyi</code>] Avoid rewriting invalid type expressions in <code>unnecessary-type-union</code> (<code>PYI055</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14660">#14660</a>)</li> <li>[<code>flake8-type-checking</code>] Avoid syntax errors and type checking problem for quoted annotations autofix (<code>TC003</code>, <code>TC006</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14634">#14634</a>)</li> <li>[<code>pylint</code>] Do not wrap function calls in parentheses in the fix for unnecessary-dunder-call (<code>PLC2801</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14601">#14601</a>)</li> <li>[<code>ruff</code>] Handle <code>attrs</code>'s <code>auto_attribs</code> correctly (<code>RUF009</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14520">#14520</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/Daverball"><code>@Daverball</code></a></li> <li><a href="https://github.com/Glyphack"><code>@Glyphack</code></a></li> <li><a href="https://github.com/InSyncWithFoo"><code>@InSyncWithFoo</code></a></li> <li><a href="https://github.com/Lokejoke"><code>@Lokejoke</code></a></li> <li><a href="https://github.com/MichaReiser"><code>@MichaReiser</code></a></li> <li><a href="https://github.com/cake-monotone"><code>@cake-monotone</code></a></li> </ul> <!-- 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.1</h2> <h3>Preview features</h3> <ul> <li>Formatter: Avoid invalid syntax for format-spec with quotes for all Python versions (<a href="https://redirect.github.com/astral-sh/ruff/pull/14625">#14625</a>)</li> <li>Formatter: Consider quotes inside format-specs when choosing the quotes for an f-string (<a href="https://redirect.github.com/astral-sh/ruff/pull/14493">#14493</a>)</li> <li>Formatter: Do not consider f-strings with escaped newlines as multiline (<a href="https://redirect.github.com/astral-sh/ruff/pull/14624">#14624</a>)</li> <li>Formatter: Fix f-string formatting in assignment statement (<a href="https://redirect.github.com/astral-sh/ruff/pull/14454">#14454</a>)</li> <li>Formatter: Fix unnecessary space around power operator (<code>**</code>) in overlong f-string expressions (<a href="https://redirect.github.com/astral-sh/ruff/pull/14489">#14489</a>)</li> <li>[<code>airflow</code>] Avoid implicit <code>schedule</code> argument to <code>DAG</code> and <code>@dag</code> (<code>AIR301</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14581">#14581</a>)</li> <li>[<code>flake8-builtins</code>] Exempt private built-in modules (<code>A005</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14505">#14505</a>)</li> <li>[<code>flake8-pytest-style</code>] Fix <code>pytest.mark.parametrize</code> rules to check calls instead of decorators (<a href="https://redirect.github.com/astral-sh/ruff/pull/14515">#14515</a>)</li> <li>[<code>flake8-type-checking</code>] Implement <code>runtime-cast-value</code> (<code>TC006</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14511">#14511</a>)</li> <li>[<code>flake8-type-checking</code>] Implement <code>unquoted-type-alias</code> (<code>TC007</code>) and <code>quoted-type-alias</code> (<code>TC008</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/12927">#12927</a>)</li> <li>[<code>flake8-use-pathlib</code>] Recommend <code>Path.iterdir()</code> over <code>os.listdir()</code> (<code>PTH208</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14509">#14509</a>)</li> <li>[<code>pylint</code>] Extend <code>invalid-envvar-default</code> to detect <code>os.environ.get</code> (<code>PLW1508</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14512">#14512</a>)</li> <li>[<code>pylint</code>] Implement <code>len-test</code> (<code>PLC1802</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14309">#14309</a>)</li> <li>[<code>refurb</code>] Fix bug where methods defined using lambdas were flagged by <code>FURB118</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/14639">#14639</a>)</li> <li>[<code>ruff</code>] Auto-add <code>r</code> prefix when string has no backslashes for <code>unraw-re-pattern</code> (<code>RUF039</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14536">#14536</a>)</li> <li>[<code>ruff</code>] Implement <code>invalid-assert-message-literal-argument</code> (<code>RUF040</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14488">#14488</a>)</li> <li>[<code>ruff</code>] Implement <code>unnecessary-nested-literal</code> (<code>RUF041</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14323">#14323</a>)</li> <li>[<code>ruff</code>] Implement <code>unnecessary-regular-expression</code> (<code>RUF055</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14659">#14659</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>Ignore more rules for stub files (<a href="https://redirect.github.com/astral-sh/ruff/pull/14541">#14541</a>)</li> <li>[<code>pep8-naming</code>] Eliminate false positives for single-letter names (<code>N811</code>, <code>N814</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14584">#14584</a>)</li> <li>[<code>pyflakes</code>] Avoid false positives in <code>@no_type_check</code> contexts (<code>F821</code>, <code>F722</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14615">#14615</a>)</li> <li>[<code>ruff</code>] Detect redirected-noqa in file-level comments (<code>RUF101</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14635">#14635</a>)</li> <li>[<code>ruff</code>] Mark fixes for <code>unsorted-dunder-all</code> and <code>unsorted-dunder-slots</code> as unsafe when there are complex comments in the sequence (<code>RUF022</code>, <code>RUF023</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14560">#14560</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>Avoid fixing code to <code>None | None</code> for <code>redundant-none-literal</code> (<code>PYI061</code>) and <code>never-union</code> (<code>RUF020</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14583">#14583</a>, <a href="https://redirect.github.com/astral-sh/ruff/pull/14589">#14589</a>)</li> <li>[<code>flake8-bugbear</code>] Fix <code>mutable-contextvar-default</code> to resolve annotated function calls properly (<code>B039</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14532">#14532</a>)</li> <li>[<code>flake8-pyi</code>, <code>ruff</code>] Fix traversal of nested literals and unions (<code>PYI016</code>, <code>PYI051</code>, <code>PYI055</code>, <code>PYI062</code>, <code>RUF041</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14641">#14641</a>)</li> <li>[<code>flake8-pyi</code>] Avoid rewriting invalid type expressions in <code>unnecessary-type-union</code> (<code>PYI055</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14660">#14660</a>)</li> <li>[<code>flake8-type-checking</code>] Avoid syntax errors and type checking problem for quoted annotations autofix (<code>TC003</code>, <code>TC006</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14634">#14634</a>)</li> <li>[<code>pylint</code>] Do not wrap function calls in parentheses in the fix for unnecessary-dunder-call (<code>PLC2801</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14601">#14601</a>)</li> <li>[<code>ruff</code>] Handle <code>attrs</code>'s <code>auto_attribs</code> correctly (<code>RUF009</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/14520">#14520</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
de1cd6c295 |
chore(blocks/fal): Use dict instead of Dict (#8855)
Replace Dict with dict ### Changes 🏗️ Replace Dict with dict ### 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> |
||
|
|
3bca279b35 |
feat(libs): Add API key rate limit middleware (#8850)
Once we release api key feature, we will want to be able to rate limit as well. This is the foundation for that. For now it is a blanket rate limit, later we will be able to add tiered rate limits ### Changes 🏗️ Added new middleware libary in autogpt_libs which contains the logic for getting the api key, storing it's details in redis and checking how many requests it's done, how many are left and what the reset time is. --------- Co-authored-by: Zamil Majdy <zamil.majdy@agpt.co> Co-authored-by: Reinier van der Leer <pwuts@agpt.co> |
||
|
|
5c49fc87fd |
refactor(backend): Apply lint on autogpt_lib folder on backend/linter.py (#8751)
linter.py, only applies in the `backend` module, not `autogpt_libs`. The scope of this PR is to clear this out. ### Changes 🏗️ * Add a linting scope to both the `backend` & `autogpt_libs` modules, and apply the linter. ### 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: Reinier van der Leer <pwuts@agpt.co> |
||
|
|
7d48eebc78 |
build(deps): bump pydantic from 2.9.2 to 2.10.2 in /autogpt_platform/autogpt_libs in the production-dependencies group across 1 directory (#8787)
Bumps the production-dependencies group with 1 update in the /autogpt_platform/autogpt_libs directory: [pydantic](https://github.com/pydantic/pydantic). Updates `pydantic` from 2.9.2 to 2.10.2 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pydantic/pydantic/releases">pydantic's releases</a>.</em></p> <blockquote> <h2>v2.10.2 2024-11-26</h2> <h2>What's Changed</h2> <h3>Fixes</h3> <ul> <li>Only evaluate <code>FieldInfo</code> annotations if required during schema building by <a href="https://github.com/Viicos"><code>@Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10769">#10769</a></li> <li>Do not evaluate annotations for private fields by <a href="https://github.com/Viicos"><code>@Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10962">#10962</a></li> <li>Support serialization as any for <code>Secret</code> types and <code>Url</code> types by <a href="https://github.com/sydney-runkle"><code>@sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10947">#10947</a></li> <li>Fix type hint of <code>Field.default</code> to be compatible with Python 3.8 and 3.9 by <a href="https://github.com/Viicos"><code>@Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10972">#10972</a></li> <li>Add hashing support for URL types by <a href="https://github.com/sydney-runkle"><code>@sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10975">#10975</a></li> <li>Hide <code>BaseModel.__replace__</code> definition from type checkers by <a href="https://github.com/Viicos"><code>@Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10979">10979</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/pydantic/pydantic/compare/v2.10.1...v2.10.2">https://github.com/pydantic/pydantic/compare/v2.10.1...v2.10.2</a></p> <h2>v2.10.1 2024-11-21</h2> <h2>What's Changed</h2> <h3>Packaging</h3> <ul> <li>Bump <code>pydantic-core</code> version to <code>v2.27.1</code> by <a href="https://github.com/sydney-runkle"><code>@sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10938">#10938</a></li> </ul> <h3>Fixes</h3> <ul> <li>Use the correct frame when instantiating a parametrized <code>TypeAdapter</code> by <a href="https://github.com/Viicos"><code>@Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10893">#10893</a></li> <li>Relax check for validated data in <code>default_factory</code> utils by <a href="https://github.com/sydney-runkle"><code>@sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10909">#10909</a></li> <li>Fix type checking issue with <code>model_fields</code> and <code>model_computed_fields</code> by <a href="https://github.com/sydney-runkle"><code>@sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10911">#10911</a></li> <li>Use the parent configuration during schema generation for stdlib <code>dataclass</code>es by <a href="https://github.com/sydney-runkle"><code>@sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10928">#10928</a></li> <li>Use the <code>globals</code> of the function when evaluating the return type of serializers and <code>computed_field</code>s by <a href="https://github.com/Viicos"><code>@Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10929">#10929</a></li> <li>Fix URL constraint application by <a href="https://github.com/sydney-runkle"><code>@sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10922">#10922</a></li> <li>Fix URL equality with different validation methods by <a href="https://github.com/sydney-runkle"><code>@sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10934">#10934</a></li> <li>Fix JSON schema title when specified as <code>''</code> by <a href="https://github.com/sydney-runkle"><code>@sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10936">#10936</a></li> <li>Fix <code>python</code> mode serialization for <code>complex</code> inference by <a href="https://github.com/sydney-runkle"><code>@sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-core/pull/1549">pydantic-core#1549</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/pydantic/pydantic/compare/v2.10.0...v2.10.1">https://github.com/pydantic/pydantic/compare/v2.10.0...v2.10.1</a></p> <h2>v2.10.0 2024-11-20</h2> <p>The code released in v2.10.0 is practically identical to that of v2.10.0b2. See the <a href="https://pydantic.dev/articles/pydantic-v2-10-release">v2.10 release blog post</a> for the highlights!</p> <h2>What's Changed</h2> <h3>Packaging</h3> <ul> <li>Bump <code>pydantic-core</code> to <code>v2.27.0</code> by <a href="https://github.com/sydney-runkle"><code>@sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10825">#10825</a></li> <li>Replaced pdm with uv by <a href="https://github.com/frfahim"><code>@frfahim</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10727">#10727</a></li> </ul> <h3>New Features</h3> <ul> <li>Support <code>fractions.Fraction</code> by <a href="https://github.com/sydney-runkle"><code>@sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10318">#10318</a></li> <li>Support <code>Hashable</code> for json validation by <a href="https://github.com/sydney-runkle"><code>@sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10324">#10324</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pydantic/pydantic/blob/main/HISTORY.md">pydantic's changelog</a>.</em></p> <blockquote> <h2>v2.10.2 (2024-11-25)</h2> <p><a href="https://github.com/pydantic/pydantic/releases/tag/v2.10.2">GitHub release</a></p> <h3>What's Changed</h3> <h4>Fixes</h4> <ul> <li>Only evaluate FieldInfo annotations if required during schema building by <a href="https://github.com/Viicos"><code>@Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10769">#10769</a></li> <li>Do not evaluate annotations for private fields by <a href="https://github.com/Viicos"><code>@Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10962">#10962</a></li> <li>Support serialization as any for <code>Secret</code> types and <code>Url</code> types by <a href="https://github.com/sydney-runkle"><code>@sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10947">#10947</a></li> <li>Fix type hint of <code>Field.default</code> to be compatible with Python 3.8 and 3.9 by <a href="https://github.com/Viicos"><code>@Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10972">#10972</a></li> <li>Add hashing support for URL types by <a href="https://github.com/sydney-runkle"><code>@sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10975">#10975</a></li> <li>Hide <code>BaseModel.__replace__</code> definition from type checkers by <a href="https://github.com/Viicos"><code>@Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10979">10979</a></li> </ul> <h2>v2.10.1 (2024-11-21)</h2> <p><a href="https://github.com/pydantic/pydantic/releases/tag/v2.10.1">GitHub release</a></p> <h3>What's Changed</h3> <h4>Packaging</h4> <ul> <li>Bump <code>pydantic-core</code> version to <code>v2.27.1</code> by <a href="https://github.com/sydney-runkle"><code>@sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10938">#10938</a></li> </ul> <h4>Fixes</h4> <ul> <li>Use the correct frame when instantiating a parametrized <code>TypeAdapter</code> by <a href="https://github.com/Viicos"><code>@Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10893">#10893</a></li> <li>Relax check for validated data in <code>default_factory</code> utils by <a href="https://github.com/sydney-runkle"><code>@sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10909">#10909</a></li> <li>Fix type checking issue with <code>model_fields</code> and <code>model_computed_fields</code> by <a href="https://github.com/sydney-runkle"><code>@sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10911">#10911</a></li> <li>Use the parent configuration during schema generation for stdlib <code>dataclass</code>es by <a href="https://github.com/sydney-runkle"><code>@sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10928">#10928</a></li> <li>Use the <code>globals</code> of the function when evaluating the return type of serializers and <code>computed_field</code>s by <a href="https://github.com/Viicos"><code>@Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10929">#10929</a></li> <li>Fix URL constraint application by <a href="https://github.com/sydney-runkle"><code>@sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10922">#10922</a></li> <li>Fix URL equality with different validation methods by <a href="https://github.com/sydney-runkle"><code>@sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10934">#10934</a></li> <li>Fix JSON schema title when specified as <code>''</code> by <a href="https://github.com/sydney-runkle"><code>@sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10936">#10936</a></li> <li>Fix <code>python</code> mode serialization for <code>complex</code> inference by <a href="https://github.com/sydney-runkle"><code>@sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-core/pull/1549">pydantic-core#1549</a></li> </ul> <h3>New Contributors</h3> <h2>v2.10.0 (2024-11-20)</h2> <p>The code released in v2.10.0 is practically identical to that of v2.10.0b2.</p> <p><a href="https://github.com/pydantic/pydantic/releases/tag/v2.10.0">GitHub release</a></p> <p>See the <a href="https://pydantic.dev/articles/pydantic-v2-10-release">v2.10 release blog post</a> for the highlights!</p> <h3>What's Changed</h3> <h4>Packaging</h4> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
75f9b072a6 |
refactor(backend): Rename & move IntegrationCredentialsStore to backend (#8648)
- Move `autogpt_libs.supabase_integration_credentials_store` into `backend` - `.store` -> `backend.integrations.credentials_store` - `.types` -> added to `backend.data.model` - Rename `SupabaseIntegrationCredentialsStore` to `IntegrationCredentialsStore` We wanted to get a few security things in quickly in #8403 and had to make some compromises to do so. This picks those up and fixes them. - Resolves #8540 ### 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: --> --------- Co-authored-by: Reinier van der Leer <pwuts@agpt.co> Co-authored-by: Aarushi <50577581+aarushik93@users.noreply.github.com> |
||
|
|
4b8087c067 |
feat(platform/featureflags): Setting up feature flagging (#8718)
* feature flag formatting and linting * add tests * update poetry lock * remove unneeded changes * fix pyproject * fix formatting and linting * pydantic settings * address comments and format * alphabetize * fix lockfile * fix conflicts |
||
|
|
ae9bd87161 | fix(backend): Spin-up Database manager on rest.py (#8832) | ||
|
|
effd1e35a3 |
chore(libs): Update dev dependency Ruff from 0.7.4 to 0.8.0 (#8760)
build(deps-dev): bump ruff Bumps the development-dependencies group in /autogpt_platform/autogpt_libs with 1 update: [ruff](https://github.com/astral-sh/ruff). Updates `ruff` from 0.7.4 to 0.8.0 - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md) - [Commits](https://github.com/astral-sh/ruff/compare/0.7.4...0.8.0) --- updated-dependencies: - dependency-name: ruff dependency-type: direct:development update-type: version-update:semver-minor dependency-group: development-dependencies ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
c1c3345bc0 |
build(deps-dev): bump ruff from 0.7.3 to 0.7.4 in /autogpt_platform/autogpt_libs in the development-dependencies group (#8701)
build(deps-dev): bump ruff Bumps the development-dependencies group in /autogpt_platform/autogpt_libs with 1 update: [ruff](https://github.com/astral-sh/ruff). Updates `ruff` from 0.7.3 to 0.7.4 - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md) - [Commits](https://github.com/astral-sh/ruff/compare/0.7.3...0.7.4) --- updated-dependencies: - dependency-name: ruff dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
fb9a543e35 |
build(deps): bump pyjwt from 2.9.0 to 2.10.0 in /autogpt_platform/autogpt_libs in the production-dependencies group (#8700)
build(deps): bump pyjwt Bumps the production-dependencies group in /autogpt_platform/autogpt_libs with 1 update: [pyjwt](https://github.com/jpadilla/pyjwt). Updates `pyjwt` from 2.9.0 to 2.10.0 - [Release notes](https://github.com/jpadilla/pyjwt/releases) - [Changelog](https://github.com/jpadilla/pyjwt/blob/master/CHANGELOG.rst) - [Commits](https://github.com/jpadilla/pyjwt/compare/2.9.0...2.10.0) --- updated-dependencies: - dependency-name: pyjwt dependency-type: direct:production update-type: version-update:semver-minor dependency-group: production-dependencies ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
29cff1bb4e |
feat(blocks): Add Open Router integration with a large selection of new models (#8653)
* feat: Add Open Router integration credentials - Added support for Open Router integration credentials in the Supabase integration credentials store. - Updated the LLM provider field to include "open_router" as a valid provider option. - Added Open Router API key field to the backend settings. - Updated the profile page to display the Open Router integration credentials. - Updated the credentials input and provider components to include Open Router as a provider option. - Updated the autogpt-server-api types to include "open_router" as a provider name. - Updated the LLM provider schema to include "open_router" as a valid provider name. - Added GEMINI_FLASH_1_5_8B as the first Open Router LLM * Add type ignore to new llm prompt to match the rest of them. * Update LlmModel with a selection of new OpenRouter models * format |
||
|
|
f36d95aaa8 | fix(backend): Avoid falling back to default user unless ENABLED_AUTH is set to False (#8691) | ||
|
|
bbbdb5665b |
feat(platform): Add api generator functions and endpoints (#8597)
* add: api generator functions and endpoints * Rebase onto dev, refactor API manager location, remove suspended key revoke, and update API code for Prisma compatibility * add: key_manager * reversing changes og poetry.lock * add: changing hash mexhansim in API Manager * add: changing hash mexhansim in API Manager * fixing some simple bugs * fix linting and adding better error handling --------- Co-authored-by: Aarushi <50577581+aarushik93@users.noreply.github.com> |
||
|
|
aafc101224 |
tweak(backend): Update all block costs (#8639)
* Add support for default credentials to unreal block * Refactor block cost configuration and add new blocks This commit refactors the block cost configuration file and adds support for new blocks. The changes include: - Importing the `AIMusicGeneratorBlock`, `JinaEmbeddingBlock`, and `UnrealTextToSpeechBlock` classes - Updating the `BLOCK_COSTS` dictionary to include costs for the new blocks These changes enable the usage of the newly introduced blocks. |
||
|
|
e907ffda6e |
feat(platform): Simplify Credentials UX (#8524)
- Change `provider` of default credentials to actual provider names (e.g. `anthropic`), remove `llm` provider - Add `discriminator` and `discriminator_mapping` to `CredentialsField` that allows to filter credentials input to only allow providers for matching models in `useCredentials` hook (thanks @ntindle for the idea!); e.g. user chooses `GPT4_TURBO` so then only OpenAI credentials are allowed - Choose credentials automatically and hide credentials input on the node completely if there's only one possible option - Move `getValue` and `parseKeys` to utils - Add `ANTHROPIC`, `GROQ` and `OLLAMA` to providers in frontend `types.ts` - Add `hidden` field to credentials that is used for default system keys to hide them in user profile - Now `provider` field in `CredentialsField` can accept multiple providers as a list ----------------- Co-authored-by: Nicholas Tindle <nicholas.tindle@agpt.co> Co-authored-by: Reinier van der Leer <pwuts@agpt.co> |
||
|
|
ce3539ff16 |
build(deps-dev): bump ruff from 0.7.2 to 0.7.3 in /autogpt_platform/autogpt_libs in the development-dependencies group (#8618)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
ea8f164b93 |
build(deps): bump supabase from 2.9.1 to 2.10.0 in /autogpt_platform/autogpt_libs in the production-dependencies group (#8617)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
e6e47373ac |
feat(blocks/jina): Add default credentials for Jina (#8603)
add jina defaults |
||
|
|
dfb7cf19f7 |
dx: Fix pre-commit config (#8584)
- fix naming of hooks - fix `pyright` hooks (b0rked by repo restructure) - fix `forge` path (b0rked by faulty replace-all when the repo was restructured) - fix `black` hook to work on all Python versions - add `poetry install` hooks - add `ruff`, `isort`, `pyright`, `pytest`, and `prisma generate` hooks for `backend/` - add `ruff` and `pyright` hooks for `autogpt_libs/` |
||
|
|
ab0aaf55a9 |
build(deps-dev): bump redis from 5.1.1 to 5.2.0 in /autogpt_platform/autogpt_libs in the development-dependencies group (#8433)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Nicholas Tindle <nicholas.tindle@agpt.co> |
||
|
|
57eb7db93c |
build(deps): bump pydantic-settings from 2.6.0 to 2.6.1 in /autogpt_platform/autogpt_libs in the production-dependencies group (#8542)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
3aebed61d2 |
feat(backend): credential swap to api keys in cred store (#8403)
* feat(backend): credential swap * ci: formatting * fix: importing is hard okay * fix: spelln' is hard * feat: better credential provider handling * docs: update the imports locations * fix: test credentials + formatting * feat: drop continuous read mode * fix: lint * feat: fallback credentials * feat: charge for credential useage and have a bad backup mechnism * fix: don't save default credentials + add d_id * fix: formatting * feat: basic encryption/decryption * ref: move files around * ref: sign all blocks out of their credentials * ref: update target to match a new, and encrypted future * wip: llm provider merger * don't delete `credentials` input on nodes * fix llm block ci issues * updated get AICredentials * fix fix * insert migration to move integration credentials from `auth.user` metadata to `platform.User.metadata` * fixed migration * add migration for existing user integration credentials * disabled reddit and email block * fix credential handling in LLM blocks * add other secret fields to credential scrubber migration * add other secret fields to credential scrubber migration (vol. 2) * fix: pr fixes * fix: mock funciton * add encrypted values --------- Co-authored-by: Reinier van der Leer <pwuts@agpt.co> Co-authored-by: SwiftyOS <craigswift13@gmail.com> Co-authored-by: Aarushi <50577581+aarushik93@users.noreply.github.com> Co-authored-by: Aarushi <aarushik93@gmail.com> |
||
|
|
8938209d0d | fix(backend): Avoid long synchronous call to block FastAPI event-loop (#8429) | ||
|
|
8a68516f0b |
build(deps): bump the production-dependencies group in /autogpt_platform/autogpt_libs with 4 updates (#8432)
build(deps): bump the production-dependencies group Bumps the production-dependencies group in /autogpt_platform/autogpt_libs with 4 updates: [google-cloud-logging](https://github.com/googleapis/python-logging), [pydantic](https://github.com/pydantic/pydantic), [pydantic-settings](https://github.com/pydantic/pydantic-settings) and [supabase](https://github.com/supabase/supabase-py). Updates `google-cloud-logging` from 3.11.2 to 3.11.3 - [Release notes](https://github.com/googleapis/python-logging/releases) - [Changelog](https://github.com/googleapis/python-logging/blob/main/CHANGELOG.md) - [Commits](https://github.com/googleapis/python-logging/compare/v3.11.2...v3.11.3) Updates `pydantic` from 2.9.1 to 2.9.2 - [Release notes](https://github.com/pydantic/pydantic/releases) - [Changelog](https://github.com/pydantic/pydantic/blob/main/HISTORY.md) - [Commits](https://github.com/pydantic/pydantic/compare/v2.9.1...v2.9.2) Updates `pydantic-settings` from 2.5.2 to 2.6.0 - [Release notes](https://github.com/pydantic/pydantic-settings/releases) - [Commits](https://github.com/pydantic/pydantic-settings/compare/v2.5.2...v2.6.0) Updates `supabase` from 2.7.4 to 2.9.1 - [Release notes](https://github.com/supabase/supabase-py/releases) - [Changelog](https://github.com/supabase/supabase-py/blob/main/CHANGELOG.md) - [Commits](https://github.com/supabase/supabase-py/compare/v2.7.4...v2.9.1) --- updated-dependencies: - dependency-name: google-cloud-logging dependency-type: direct:production update-type: version-update:semver-patch dependency-group: production-dependencies - dependency-name: pydantic dependency-type: direct:production update-type: version-update:semver-patch dependency-group: production-dependencies - dependency-name: pydantic-settings dependency-type: direct:production update-type: version-update:semver-minor dependency-group: production-dependencies - dependency-name: supabase dependency-type: direct:production update-type: version-update:semver-minor dependency-group: production-dependencies ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
17e79ad88d | fix(backend): Fix DatabaseManager usage by calling it on-demand (#8404) | ||
|
|
7f318685af |
Revert "fix(backend): Fix DatabaseManager usage by calling it on-demand"
This reverts commit
|
||
|
|
e5f5005ab8 | fix(backend): Fix DatabaseManager usage by calling it on-demand | ||
|
|
1622a4aaa8 |
refactor(backend): Move credentials storage to prisma user (#8283)
* feat(frontend,backend): testing * feat: testing * feat(backend): it works for reading email * feat(backend): more docs on google * fix(frontend,backend): formatting * feat(backend): more logigin (i know this should be debug) * feat(backend): make real the default scopes * feat(backend): tests and linting * fix: code review prep * feat: sheets block * feat: liniting * Update route.ts * Update autogpt_platform/backend/backend/integrations/oauth/google.py Co-authored-by: Reinier van der Leer <pwuts@agpt.co> * Update autogpt_platform/backend/backend/server/routers/integrations.py Co-authored-by: Reinier van der Leer <pwuts@agpt.co> * fix: revert opener change * feat(frontend): add back opener required to work on mac edge * feat(frontend): drop typing list import from gmail * fix: code review comments * feat: code review changes * feat: code review changes * fix(backend): move from asserts to checks so they don't get optimized away in the future * fix(backend): code review changes * fix(backend): remove google specific check * fix: add typing * fix: only enable google blocks when oauth is configured for google * fix: errors are real and valid outputs always when output * fix(backend): add provider detail for debuging scope declines * Update autogpt_platform/frontend/src/components/integrations/credentials-input.tsx Co-authored-by: Reinier van der Leer <pwuts@agpt.co> * fix(frontend): enhance with comment, typeof error isn't known so this is best way to ensure the stringifyication will work * feat: code review change requests * fix: linting * fix: reduce error catching * fix: doc messages in code * fix: check the correct scopes object 😄 * fix: remove double (and not needed) try catch * fix: lint * fix: scopes * feat: handle the default scopes better * feat: better email objectification * feat: process attachements turns out an email doesn't need a body * fix: lint * Update google.py * Update autogpt_platform/backend/backend/data/block.py Co-authored-by: Reinier van der Leer <pwuts@agpt.co> * fix: quit trying and except failure * Update autogpt_platform/backend/backend/server/routers/integrations.py Co-authored-by: Reinier van der Leer <pwuts@agpt.co> * feat: don't allow expired states * fix: clarify function name and purpose * feat: code links updates * feat: additional docs on adding a block * fix: type hint missing which means the block won't work * fix: linting * fix: docs formatting * Update issues.py * fix: improve the naming * fix: formatting * Update new_blocks.md * Update new_blocks.md * feat: better docs on what the args mean * feat: more details on yield * Update new_blocks.md * fix: remove ignore from docs build * feat: initial migration * feat: migration tested with supabase-> prisma data location * add custom migrations and script * update migration command * formatting and linting * updated migration script * add direct db url * add find files * rename * use binary instead of source * temp adding supabase * remove unused functions * adding missed merge * fix: commit hash for lock * ci: fix lint * fix: minor bugs that prevented connecting and migrating to dbs and auth * fix: linting * fix: missed await * fix(backend): phase one pr updates * fix: handle error with returning user object from database_manager * fix: linting * Address comments * Make the migration safe * Update migration doc * Move misplaced model functions * Grammar * Revert lock * Remove irrelevant changes * Remove irrelevant changes * Avoid adding trigger on public schema --------- Co-authored-by: Reinier van der Leer <pwuts@agpt.co> Co-authored-by: Zamil Majdy <zamil.majdy@agpt.co> Co-authored-by: Aarushi <aarushik93@gmail.com> Co-authored-by: Aarushi <50577581+aarushik93@users.noreply.github.com> |
||
|
|
992989ee71 |
feat(backend): Ensure validity of OAuth credentials during graph execution (#8191)
- feat(backend/executor): Change credential injection mechanism to acquire credentials from `AgentServer` just before execution - Also locks the credentials for the duration of the execution - feat(backend/server): Add thread-safe `IntegrationCredentialsManager` to handle and synchronize credentials-related operations - feat(libs): Add mutexes to `SupabaseIntegrationCredentialsStore` to ensure thread-safety Also: - feat(backend): Added Pydantic model (de)serialization support to `@expose` decorator Refactorings: - refactor(backend, libs): Move `KeyedMutex` to `autogpt_libs.utils.synchronize` - refactor(backend/server): Make `backend.server.integrations` module with `router`, `creds_manager`, and `utils` in it |
||
|
|
6dbc0f7270 |
feat(frontend,backend): fix google auth and add gmail, sheets (#8236)
Co-authored-by: Reinier van der Leer <pwuts@agpt.co> |
||
|
|
5e2874c315 |
feat(platform): OAuth support + API key management + GitHub blocks (#8044)
## Config
- For Supabase, the back end needs `SUPABASE_URL`, `SUPABASE_SERVICE_ROLE_KEY`, and `SUPABASE_JWT_SECRET`
- For the GitHub integration to work, the back end needs `GITHUB_CLIENT_ID` and `GITHUB_CLIENT_SECRET`
- For integrations OAuth flows to work in local development, the back end needs `FRONTEND_BASE_URL` to generate login URLs with accurate redirect URLs
## REST API
- Tweak output of OAuth `/login` endpoint: add `state_token` separately in response
- Add `POST /integrations/{provider}/credentials` (for API keys)
- Add `DELETE /integrations/{provider}/credentials/{cred_id}`
## Back end
- Add Supabase support to `AppService`
- Add `FRONTEND_BASE_URL` config option, mainly for local development use
### `autogpt_libs.supabase_integration_credentials_store`
- Add `CredentialsType` alias
- Add `.bearer()` helper methods to `APIKeyCredentials` and `OAuth2Credentials`
### Blocks
- Add `CredentialsField(..) -> CredentialsMetaInput`
## Front end
### UI components
- `CredentialsInput` for use on `CustomNode`: allows user to add/select credentials for a service.
- `APIKeyCredentialsModal`: a dialog for creating API keys
- `OAuth2FlowWaitingModal`: a dialog to indicate that the application is waiting for the user to log in to the 3rd party service in the provided pop-up window
- `NodeCredentialsInput`: wrapper for `CredentialsInput` with the "usual" interface of node input components
- New icons: `IconKey`, `IconKeyPlus`, `IconUser`, `IconUserPlus`
### Data model
- `CredentialsProvider`: introduces the app-level `CredentialsProvidersContext`, which acts as an application-wide store and cache for credentials metadata.
- `useCredentials` for use on `CustomNode`: uses `CredentialsProvidersContext` and provides node-specific credential data and provider-specific data/functions
- `/auth/integrations/oauth_callback` route to close the loop to the `CredentialsInput` after a user completes sign-in to the external service
- Add `BlockIOCredentialsSubSchema`
### API client
- Add `isAuthenticated` method
- Add methods for integration OAuth flow: `oAuthLogin`, `oAuthCallback`
- Add CRD methods for credentials: `createAPIKeyCredentials`, `listCredentials`, `getCredentials`, `deleteCredentials`
- Add mirrored types `CredentialsMetaResponse`, `CredentialsMetaInput`, `OAuth2Credentials`, `APIKeyCredentials`
- Add GitHub blocks + "DEVELOPER_TOOLS" category
- Add `**kwargs` to `Block.run(..)` signature to support additional kwargs
- Add support for loading blocks from nested modules (e.g. `blocks/github/issues.py`)
#### Executor
- Add strict support for `credentials` fields on blocks
- Fetch credentials for graph execution and pass them down through to the node execution
|
||
|
|
ef7cfbb860 |
refactor: AutoGPT Platform Stealth Launch Repo Re-Org (#8113)
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 |