mirror of
https://github.com/Significant-Gravitas/AutoGPT.git
synced 2026-02-09 14:25:25 -05:00
6e253ecade57ad996ca5c2cb408ee5ddccccbb39
907 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
6e253ecade |
docs(frontend): add design system overview page (#10157)
### Changes 🏗️ <img width="800" alt="Screenshot 2025-06-13 at 18 29 27" src="https://github.com/user-attachments/assets/6a2f9c23-860f-4f92-8a7a-eeb7839940fd" /> - Add a nice overview page for the 👶🏽 baby AutoGPT design system - Customise the logo on Storybook to show AutoGPT one ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: - [x] Run Storybook - [x] You see the Overview page which looks good |
||
|
|
36d304f03f |
docs(frontend): document border radius tokens (#10158)
### Changes 🏗️ <img width="1761" alt="Screenshot 2025-06-13 at 18 40 50" src="https://github.com/user-attachments/assets/d24a0350-a371-4067-9666-c3206aacce13" /> Document border radius tokens, which follow Tailwind default theme radius scale ✅ ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: - [x] Run storybook - [x] Open the Tokens / Border Radius story - [x] Verify makes sense |
||
|
|
5dafc086fb |
docs(frontend): document spacing tokens (#10155)
### Changes 🏗️ <img width="800" alt="Screenshot 2025-06-13 at 18 42 54" src="https://github.com/user-attachments/assets/c1ddffb4-6898-4e2e-8961-49857c0ce65a" /> <img width="800" alt="Screenshot 2025-06-13 at 18 01 27" src="https://github.com/user-attachments/assets/22c5e305-a5ed-469f-916b-38e93aba7f98" /> Document spacing tokens, which follow Tailwind default theme spacing scale ✅ ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: - [x] Run storybook - [x] Open the Tokens / Spacing story - [x] Verify makes sense |
||
|
|
c109b676b8 | fix(block): Invalid block input error on falsy non-null value | ||
|
|
a259eac9ff |
feat(blocks): Add AI/ML API support to LLM blocks (#9996)
Hi! Taking over this feature from the previous author in [#9163](https://github.com/Significant-Gravitas/AutoGPT/pull/9163). This PR continues the work to integrate AI/ML API support into LLM blocks, addressing pending review comments and ensuring compatibility with the current codebase. I’ve reviewed and fixed the outstanding issues from the previous PR. Kindly recheck the previous concerns — let me know if anything still needs improvement. Previous description: > Changes 🏗️ > > - Added basic functionality to enable users to send requests to our models. > - Added instructions for users on how to use the AI/ML API in AutoGPT. > > Checklist 📋 > For code changes: > > - [x] I have clearly listed my changes in the PR description > - [x] I have made a test plan > - [x] I have tested my changes according to the test plan: > - [x] The API key has been successfully added and saved to the user's profile. > - [x] Sending requests to each model provided by us, enabling users to test them in a project with various max_tokens parameter values and other configurations. --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Ivan <waterstark97@yandex.ru> Co-authored-by: waterstark <84220220+waterstark@users.noreply.github.com> Co-authored-by: Aarushi <50577581+aarushik93@users.noreply.github.com> Co-authored-by: Reinier van der Leer <github@pwuts.nl> Co-authored-by: Nicholas Tindle <nicholas.tindle@agpt.co> Co-authored-by: snyk-bot <snyk-bot@snyk.io> Co-authored-by: Krzysztof Czerwinski <34861343+kcze@users.noreply.github.com> Co-authored-by: Zamil Majdy <zamil.majdy@agpt.co> Co-authored-by: Krzysztof Czerwinski <kpczerwinski@gmail.com> Co-authored-by: Reinier van der Leer <pwuts@agpt.co> Co-authored-by: Bently <tomnoon9@gmail.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Ayush Mittal <130590402+Ayush-Mittal10@users.noreply.github.com> Co-authored-by: Azraf Nahian <69325302+turboslapper@users.noreply.github.com> Co-authored-by: Nicholas Tindle <nicktindle@outlook.com> Co-authored-by: Swifty <craigswift13@gmail.com> Co-authored-by: Mario Sacaj <mariosacaj@gmail.com> Co-authored-by: Toran Bruce Richards <toran.richards@gmail.com> Co-authored-by: Abhimanyu Yadav <122007096+Abhi1992002@users.noreply.github.com> Co-authored-by: Ritik Dutta <ritikduttagd@gmail.com> Co-authored-by: Pratim Sadhu <pratimsadhu@icloud.com> |
||
|
|
2ab9cfdf79 |
chore(frontend/deps): Bump the production-dependencies group in /autogpt_platform/frontend with 3 updates (#10133)
Bumps the production-dependencies group in /autogpt_platform/frontend with 3 updates: [@sentry/nextjs](https://github.com/getsentry/sentry-javascript), [@supabase/supabase-js](https://github.com/supabase/supabase-js) and [zod](https://github.com/colinhacks/zod). Updates `@sentry/nextjs` from 9.26.0 to 9.27.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/getsentry/sentry-javascript/releases"><code>@sentry/nextjs</code>'s releases</a>.</em></p> <blockquote> <h2>9.27.0</h2> <ul> <li>feat(node): Expand how vercel ai input/outputs can be set (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16455">#16455</a>)</li> <li>feat(node): Switch to new semantic conventions for Vercel AI (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16476">#16476</a>)</li> <li>feat(react-router): Add component annotation plugin (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16472">#16472</a>)</li> <li>feat(react-router): Export wrappers for server loaders and actions (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16481">#16481</a>)</li> <li>fix(browser): Ignore unrealistically long INP values (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16484">#16484</a>)</li> <li>fix(react-router): Conditionally add <code>ReactRouterServer</code> integration (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16470">#16470</a>)</li> </ul> <h2>Bundle size 📦</h2> <table> <thead> <tr> <th>Path</th> <th>Size</th> </tr> </thead> <tbody> <tr> <td><code>@sentry/browser</code></td> <td>23.43 KB</td> </tr> <tr> <td><code>@sentry/browser</code> - with treeshaking flags</td> <td>23.2 KB</td> </tr> <tr> <td><code>@sentry/browser</code> (incl. Tracing)</td> <td>37.46 KB</td> </tr> <tr> <td><code>@sentry/browser</code> (incl. Tracing, Replay)</td> <td>74.68 KB</td> </tr> <tr> <td><code>@sentry/browser</code> (incl. Tracing, Replay) - with treeshaking flags</td> <td>67.94 KB</td> </tr> <tr> <td><code>@sentry/browser</code> (incl. Tracing, Replay with Canvas)</td> <td>79.33 KB</td> </tr> <tr> <td><code>@sentry/browser</code> (incl. Tracing, Replay, Feedback)</td> <td>91.13 KB</td> </tr> <tr> <td><code>@sentry/browser</code> (incl. Feedback)</td> <td>39.77 KB</td> </tr> <tr> <td><code>@sentry/browser</code> (incl. sendFeedback)</td> <td>28.03 KB</td> </tr> <tr> <td><code>@sentry/browser</code> (incl. FeedbackAsync)</td> <td>32.8 KB</td> </tr> <tr> <td><code>@sentry/react</code></td> <td>25.15 KB</td> </tr> <tr> <td><code>@sentry/react</code> (incl. Tracing)</td> <td>39.41 KB</td> </tr> <tr> <td><code>@sentry/vue</code></td> <td>27.69 KB</td> </tr> <tr> <td><code>@sentry/vue</code> (incl. Tracing)</td> <td>39.27 KB</td> </tr> <tr> <td><code>@sentry/svelte</code></td> <td>23.45 KB</td> </tr> <tr> <td>CDN Bundle</td> <td>24.88 KB</td> </tr> <tr> <td>CDN Bundle (incl. Tracing)</td> <td>37.63 KB</td> </tr> <tr> <td>CDN Bundle (incl. Tracing, Replay)</td> <td>72.66 KB</td> </tr> <tr> <td>CDN Bundle (incl. Tracing, Replay, Feedback)</td> <td>77.99 KB</td> </tr> <tr> <td>CDN Bundle - uncompressed</td> <td>72.67 KB</td> </tr> <tr> <td>CDN Bundle (incl. Tracing) - uncompressed</td> <td>111.42 KB</td> </tr> <tr> <td>CDN Bundle (incl. Tracing, Replay) - uncompressed</td> <td>222.72 KB</td> </tr> <tr> <td>CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed</td> <td>235.25 KB</td> </tr> <tr> <td><code>@sentry/nextjs</code> (client)</td> <td>41.03 KB</td> </tr> <tr> <td><code>@sentry/sveltekit</code> (client)</td> <td>37.93 KB</td> </tr> <tr> <td><code>@sentry/node</code></td> <td>146.75 KB</td> </tr> <tr> <td><code>@sentry/node</code> - without tracing</td> <td>96.03 KB</td> </tr> <tr> <td><code>@sentry/aws-serverless</code></td> <td>121.19 KB</td> </tr> </tbody> </table> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md"><code>@sentry/nextjs</code>'s changelog</a>.</em></p> <blockquote> <h2>9.27.0</h2> <ul> <li>feat(node): Expand how vercel ai input/outputs can be set (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16455">#16455</a>)</li> <li>feat(node): Switch to new semantic conventions for Vercel AI (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16476">#16476</a>)</li> <li>feat(react-router): Add component annotation plugin (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16472">#16472</a>)</li> <li>feat(react-router): Export wrappers for server loaders and actions (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16481">#16481</a>)</li> <li>fix(browser): Ignore unrealistically long INP values (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16484">#16484</a>)</li> <li>fix(react-router): Conditionally add <code>ReactRouterServer</code> integration (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16470">#16470</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
796f896042 |
fix(backend): execution UI did not receive completed / failed execution update (#10149)
<img width="1410" alt="image" src="https://github.com/user-attachments/assets/bce407a2-96a1-42e9-9772-b49b8f20886c" /> ### Changes 🏗️ Add the missing `send execution update` command on completed/update status change for the node execution. ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [x] Screenshot attached |
||
|
|
8028a766b1 |
fix(frontend): account menu still showing after logout (#10143)
### Changes 🏗️ <img width="800" alt="Screenshot 2025-06-10 at 14 21 48" src="https://github.com/user-attachments/assets/d0dba02d-049d-446c-9a25-0f7cec9108bc" /> When logging out, I'm redirected to the `/login` page but the account menu is still visible (however I'm not longer logged out). Refreshing the page fixes it. The problem was that `supabase.logOut()` is a client side action, and `<Navbar />` is a RSC who fetchs the session on the server to display the state and does not know on the client it was invalidated. `router.refresh()` solves the issue by forcing RSC on the page to refetch their state and update server side. Further reading [here](https://nextjs.org/docs/app/deep-dive/caching#invalidation-1). I also improved the UX awaiting the promise and displaying a spinner while the log out action is happening. If logout fails ( _should be very rare_ ) I'm displaying a toast to not let the user be hanging wondering what happened. ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: - [x] Login - [x] Open account menu - [x] Click `Logout` - [x] I see a spinner while the action is happening - [x] I'm redirected to `/login` and I no longer see the account menu |
||
|
|
1e89bf5c37 |
feat(blocks): add veo3 to ai video generator (#10144)
### Changes 🏗️ This simply adds "fal-ai/veo3" to the ``FalModel`` in the ``ai_video_generator.py`` file Oh i also set it so veo3 also always generates videos with audio so ``generate_audio=True`` is set to true if veo3 is selected ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [x] Test the veo3 model via Fal.ai and it should work. |
||
|
|
2e96da36c2 |
feat(blocks): Drop the price of chatgpt o3 model (#10145)
### Changes 🏗️ Today openAI dropped the prices of the o3 model so this simply drops the price from 7 to 4 ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [x] Run the platform with the new price, check the O3 model in the ai text generator block and see its cheaper to use |
||
|
|
de83c35c5f |
chore(frontend/deps-dev): Bump the development-dependencies group in /autogpt_platform/frontend with 5 updates (#10135)
Bumps the development-dependencies group in /autogpt_platform/frontend with 5 updates: | Package | From | To | | --- | --- | --- | | [@storybook/test-runner](https://github.com/storybookjs/test-runner) | `0.22.0` | `0.22.1` | | [@types/negotiator](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/negotiator) | `0.6.3` | `0.6.4` | | [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `22.15.29` | `22.15.30` | | [msw](https://github.com/mswjs/msw) | `2.9.0` | `2.10.2` | | [msw-storybook-addon](https://github.com/mswjs/msw-storybook-addon/tree/HEAD/packages/msw-addon) | `2.0.4` | `2.0.5` | Updates `@storybook/test-runner` from 0.22.0 to 0.22.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/storybookjs/test-runner/releases"><code>@storybook/test-runner</code>'s releases</a>.</em></p> <blockquote> <h2>v0.22.1</h2> <h4>🐛 Bug Fix</h4> <ul> <li>Patch: Add telemetry to test run <a href="https://redirect.github.com/storybookjs/test-runner/pull/565">#565</a> (<a href="https://github.com/yannbf"><code>@yannbf</code></a>)</li> </ul> <h4>Authors: 1</h4> <ul> <li>Yann Braga (<a href="https://github.com/yannbf"><code>@yannbf</code></a>)</li> </ul> <h2>v0.22.1-next.0</h2> <h4>🐛 Bug Fix</h4> <ul> <li>Replace <code>@storybook/csf</code> with storybook's internal csf implementation <a href="https://redirect.github.com/storybookjs/test-runner/pull/556">#556</a> (<a href="https://github.com/yannbf"><code>@yannbf</code></a>)</li> </ul> <h4>Authors: 1</h4> <ul> <li>Yann Braga (<a href="https://github.com/yannbf"><code>@yannbf</code></a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/storybookjs/test-runner/blob/v0.22.1/CHANGELOG.md"><code>@storybook/test-runner</code>'s changelog</a>.</em></p> <blockquote> <h1>v0.22.1 (Sat Jun 07 2025)</h1> <h4>🐛 Bug Fix</h4> <ul> <li>Patch: Add telemetry to test run <a href="https://redirect.github.com/storybookjs/test-runner/pull/565">#565</a> (<a href="https://github.com/yannbf"><code>@yannbf</code></a>)</li> </ul> <h4>Authors: 1</h4> <ul> <li>Yann Braga (<a href="https://github.com/yannbf"><code>@yannbf</code></a>)</li> </ul> <hr /> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
450c1ee668 |
chore(frontend/deps): Bump @hookform/resolvers from 3.10.0 to 5.1.1 in /autogpt_platform/frontend (#10134)
Bumps [@hookform/resolvers](https://github.com/react-hook-form/resolvers) from 3.10.0 to 5.1.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/react-hook-form/resolvers/releases"><code>@hookform/resolvers</code>'s releases</a>.</em></p> <blockquote> <h2>v5.1.1</h2> <h2><a href="https://github.com/react-hook-form/resolvers/compare/v5.1.0...v5.1.1">5.1.1</a> (2025-06-09)</h2> <h3>Bug Fixes</h3> <ul> <li>zod peer dep issue (<a href="https://redirect.github.com/react-hook-form/resolvers/issues/780">#780</a>) (<a href=" |
||
|
|
5385520c53 |
feat(frontend): document typography tokens + Text component (#10132)
### Changes 🏗️ <img width="700" alt="Screenshot 2025-06-09 at 17 01 59" src="https://github.com/user-attachments/assets/f2b0a3a6-fdf1-4e3e-9caa-d2bf03543dab" /> <img width="700" alt="Screenshot 2025-06-09 at 17 02 06" src="https://github.com/user-attachments/assets/36e27a0b-07f2-4074-8628-cb236d75e4c4" /> This PR introduces a comprehensive Typography System for our design system with improved documentation and developer experience [matching what we have on Figma](https://www.figma.com/design/nO9NFynNuicLtkiwvOxrbz/AutoGPT-Design-System?m=dev). #### **Typography System** - Created `<Text />` component - Enforce its usage to ensure consistent typographic styles across the app ```tsx <Text variant="h1">Heading 1</Text> <Text variant="h2">Heading 2</Text> <Text variant="body">hello world</Text> <Text variant="small">smol text</Text> ``` - Created `Typography.stories.tsx` on Storybook - Complete typography overview with font showcases and usage guidelines #### **Storybook Improvements** - **Updated TypeScript docgen** configuration for better prop extraction - **Cleaned up story rendering** to prevent MDX styling pollution - **Split large story files** into focused, maintainable components ### 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: **Test Plan:** - [x] Typography stories render correctly in Storybook - [x] All Text component variants display properly - [x] Interactive playground controls function correctly - [x] No TypeScript or linting errors --------- Co-authored-by: Swifty <craigswift13@gmail.com> |
||
|
|
210d457ecd |
feat(executor): Improve execution ordering to allow depth-first execution (#10142)
Allowing depth-first execution will unlock faster processing latency and a better sense of progress. <img width="950" alt="image" src="https://github.com/user-attachments/assets/e2a0e11a-8bc5-4a65-a10d-b5b6c6383354" /> ### Changes 🏗️ * Prioritize adding a new execution over processing execution output * Make sure to enqueue each node once when processing output instead of draining a single node and move on. ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [x] Run company follower count finder agent. --------- Co-authored-by: Swifty <craigswift13@gmail.com> |
||
|
|
f9b37d2693 |
chore(frontend/deps-dev): Bump @chromatic-com/storybook from 3.2.4 to 3.2.6 in /autogpt_platform/frontend (#10137)
Bumps [@chromatic-com/storybook](https://github.com/chromaui/addon-visual-tests) from 3.2.4 to 3.2.6. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/chromaui/addon-visual-tests/releases"><code>@chromatic-com/storybook</code>'s releases</a>.</em></p> <blockquote> <h2>v3.2.6</h2> <h4>🐛 Bug Fix</h4> <ul> <li>Fix SSO url <a href="https://redirect.github.com/chromaui/addon-visual-tests/pull/363">#363</a> (<a href="https://github.com/kasperpeulen"><code>@kasperpeulen</code></a>)</li> </ul> <h4>Authors: 1</h4> <ul> <li>Kasper Peulen (<a href="https://github.com/kasperpeulen"><code>@kasperpeulen</code></a>)</li> </ul> <h2>v3.2.6-next.0</h2> <h4>⚠️ Pushed to <code>next</code></h4> <ul> <li>cleanup (<a href="https://github.com/ndelangen"><code>@ndelangen</code></a>)</li> <li>"fix" typeissues (<a href="https://github.com/ndelangen"><code>@ndelangen</code></a>)</li> <li>ignore .js files (<a href="https://github.com/ndelangen"><code>@ndelangen</code></a>)</li> <li>ignore (<a href="https://github.com/ndelangen"><code>@ndelangen</code></a>)</li> <li>fix (<a href="https://github.com/ndelangen"><code>@ndelangen</code></a>)</li> <li>fix typing issue where the component now supports an array of arrays (<a href="https://github.com/ndelangen"><code>@ndelangen</code></a>)</li> <li>single quotes (<a href="https://github.com/ndelangen"><code>@ndelangen</code></a>)</li> <li>fix linting & upgrade (<a href="https://github.com/ndelangen"><code>@ndelangen</code></a>)</li> <li>upgrade to sb9 alpha (<a href="https://github.com/ndelangen"><code>@ndelangen</code></a>)</li> <li>add canary support (<a href="https://github.com/ndelangen"><code>@ndelangen</code></a>)</li> <li>restrict version range to 9.0.0 ONLY (<a href="https://github.com/ndelangen"><code>@ndelangen</code></a>)</li> <li>add 9.0.0-alpha compatibility (<a href="https://github.com/ndelangen"><code>@ndelangen</code></a>)</li> </ul> <h4>Authors: 1</h4> <ul> <li>Norbert de Langen (<a href="https://github.com/ndelangen"><code>@ndelangen</code></a>)</li> </ul> <h2>v3.2.5</h2> <h4>🐛 Bug Fix</h4> <ul> <li>Debug release <a href="https://redirect.github.com/chromaui/addon-visual-tests/pull/357">#357</a> (<a href="https://github.com/kasperpeulen"><code>@kasperpeulen</code></a>)</li> <li>Remove the connection timeout notification <a href="https://redirect.github.com/chromaui/addon-visual-tests/pull/351">#351</a> (<a href="https://github.com/valentinpalkovic"><code>@valentinpalkovic</code></a>)</li> <li>Set up Codecov <a href="https://redirect.github.com/chromaui/addon-visual-tests/pull/350">#350</a> (<a href="https://github.com/paulelliott"><code>@paulelliott</code></a>)</li> </ul> <h4>Authors: 3</h4> <ul> <li>Kasper Peulen (<a href="https://github.com/kasperpeulen"><code>@kasperpeulen</code></a>)</li> <li>Paul Elliott (<a href="https://github.com/paulelliott"><code>@paulelliott</code></a>)</li> <li>Valentin Palkovic (<a href="https://github.com/valentinpalkovic"><code>@valentinpalkovic</code></a>)</li> </ul> <h2>v3.2.5-next.0</h2> <h4>🐛 Bug Fix</h4> <ul> <li>Remove the connection timeout notification <a href="https://redirect.github.com/chromaui/addon-visual-tests/pull/351">#351</a> (<a href="https://github.com/valentinpalkovic"><code>@valentinpalkovic</code></a>)</li> <li>Set up Codecov <a href="https://redirect.github.com/chromaui/addon-visual-tests/pull/350">#350</a> (<a href="https://github.com/paulelliott"><code>@paulelliott</code></a>)</li> </ul> <h4>Authors: 2</h4> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/chromaui/addon-visual-tests/blob/next/CHANGELOG.md"><code>@chromatic-com/storybook</code>'s changelog</a>.</em></p> <blockquote> <h1>v3.2.6 (Fri Mar 14 2025)</h1> <h4>🐛 Bug Fix</h4> <ul> <li>Fix SSO url <a href="https://redirect.github.com/chromaui/addon-visual-tests/pull/363">#363</a> (<a href="https://github.com/kasperpeulen"><code>@kasperpeulen</code></a>)</li> </ul> <h4>Authors: 1</h4> <ul> <li>Kasper Peulen (<a href="https://github.com/kasperpeulen"><code>@kasperpeulen</code></a>)</li> </ul> <hr /> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
2f16511f24 |
fix(frontend): avoid Sentry initialisation and warnings on local dev (#10125)
## Changes 🏗️ We were getting the following warnings in the console when running the local server: ``` ⚠ ./node_modules/.pnpm/@sentry+node@9.26.0/node_modules/@sentry/node/build/cjs/sdk Package import-in-the-middle can't be external The request import-in-the-middle matches serverExternalPackages (or the default list). The request could not be resolved by Node.js from the project directory. Packages that should be external need to be installed in the project directory, so they can be resolved from the output files. Try to install it into the project directory by running npm install import-in-the-middle from the project directory. ``` ### Why were the warnings happening? The Sentry SDK for Next.js tries to hook into Node.js internals using packages like `import-in-the-middle` and `require-in-the-middle`. When Sentry is imported at the top level on a file (even if not enabled), it tries to load these dependencies... If they are not installed, then we get these warnings... ### Why does installing the packages fix it? By installing `import-in-the-middle` and `require-in-the-middle` as dev dependencies, Sentry finds them and the warnings disappear. This is a safe workaround for local/dev, and does not affect production. ### Loading Sentry conditionally One way to avoid these warnings ⚠️ is by loading Sentry conditionally. That is the approach I took in an earlier PR. However I realised that it would have to apply to any file importing Sentry: ```ts import * as Sentry from "@sentry/nextjs"; ``` which would end quite messy and affecting a lot of files. I realised installing the packages is just simpler ( _they won't in the bundle or affect page load_ ) and using `enabled` in the Sentry initialisation is also cleaner. ## Checklist 📋 ### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: - [x] There are not Sentry warnings when running the local dev server ( with or without `--turbo` ) - [x] Sentry still reports issues in production or staging ( _but not locally_ ) |
||
|
|
4a03e5cbaf |
fix(backend): improve server error handling (#10030)
## Changes - log helpful hints when metrics fail to record - clarify API key errors in v1 router - improve Postmark unsubscribe and webhook logs - surface actionable feedback across integrations and store APIs - handle Otto proxy failures with guidance ## Checklist - [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 |
||
|
|
7165958feb |
fix(frontend): Fix builder UI glitch (#10139)
There are a few UI bugs on the builder that this PR addresses. <img width="554" alt="image" src="https://github.com/user-attachments/assets/1be70197-de7e-40fe-ab11-405c145e763d" /> ### Changes 🏗️ Fix these UI issues: * (screenshot attached above) Key-value input width was unintentionally maxed out due to a stale CSS rule. * When multiple executions within the same node are running, we pick the latest status, making one running and one completed execution displayed as completed. * No balance errors were executed, only displayed while at least one node execution was triggered, while this can be done directly when the execution request is triggered. * Run & Stop button glitch: it's still showing as stopped when the graph is still running, this is due to way the UI code tracks execution in the node-level, instead of graph level. ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [x] Manual tests on the described behaviours. |
||
|
|
014b276552 |
feat(platform): allow to signin with Google (#10117)
## Changes 🏗️ <img width="500" alt="Screenshot 2025-06-05 at 16 24 35" src="https://github.com/user-attachments/assets/ccf51917-68fb-4538-bfd9-7ab8bc8ce33a" /> <br /><br /> - Allow users to sign in or sign up with Google (SSO), via Supabase - Prevent password login or signup with `@agpt.co` emails - Refactor/simplify the login/signup page logic by splitting rendering and hook logic ( [explanation](https://github.com/Significant-Gravitas/AutoGPT/pull/10117#discussion_r2128793394) ) ### Moved the `createUser` logic to the callback `api.createUser()` was being called **before** the OAuth flow completes. Here's what's happening. I moved `api.createUser()` from `providerLogin` to the **callback handler** where the session is established to make sure it happens once we get the OK from Google session wise. ## Checklist 📋 ### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [ ] I have tested my changes according to the test plan: - [ ] Run this PR on a preview - [ ] The "Login with Google" button is visible - [ ] Login/signup with Google works - [ ] You can't login or signup with password using an `@agpt.co` email |
||
|
|
6771476d01 |
fix(turnstile): Disable turnstile by default and rename its env (#10129)
### Changes 🏗️
change ``NEXT_PUBLIC_DISABLE_TURNSTILE`` to ``NEXT_PUBLIC_TURNSTILE``
and set turnstile captcha to be hidden by default
if ``NEXT_PUBLIC_TURNSTILE=enabled`` is set, captcha will work and show
on the frontend login/signup/password reset pages
if ``NEXT_PUBLIC_TURNSTILE=disabled`` is set, captcha will be hidden
from the frontend and is not needed to login/signup/password reset
if ``NEXT_PUBLIC_TURNSTILE`` is not set captcha will be hidden from the
frontend and is not needed to login/signup/password reset
This means users who setup AutoGPT locally will not need to deal with
changing the env to hide captcha
#### For code changes:
- [x] I have clearly listed my changes in the PR description
- [x] I have made a test plan
- [x] I have tested my changes according to the test plan:
<!-- Put your test plan here: -->
- [x] start the platform with ``NEXT_PUBLIC_TURNSTILE=enabled`` set to
enabled and captcha shows
- [x] start with ``NEXT_PUBLIC_TURNSTILE=disabled`` and captcha does not
show and you dont need it to login ect
- [x] start with ``NEXT_PUBLIC_TURNSTILE`` not set and the captcha does
not show and you dont need it to login ect
|
||
|
|
a3d082a5fa |
feat(backend): snapshot test responses (#10039)
This pull request introduces a comprehensive backend testing guide and adds new tests for analytics logging and various API endpoints, focusing on snapshot testing. It also includes corresponding snapshot files for these tests. Below are the most significant changes: ### Documentation Updates: * Added a detailed `TESTING.md` file to the backend, providing a guide for running tests, snapshot testing, writing API route tests, and best practices. It includes examples for mocking, fixtures, and CI/CD integration. ### Analytics Logging Tests: * Implemented tests for logging raw metrics and analytics in `analytics_test.py`, covering success scenarios, various input values, invalid requests, and complex nested data. These tests utilize snapshot testing for response validation. * Added snapshot files for analytics logging tests, including responses for success cases, various metric values, and complex analytics data. [[1]](diffhunk://#diff-654bc5aa1951008ec5c110a702279ef58709ee455ba049b9fa825fa60f7e3869R1-R3) [[2]](diffhunk://#diff-e0a434b107abc71aeffb7d7989dbfd8f466b5e53f8dea25a87937ec1b885b122R1-R3) [[3]](diffhunk://#diff-dd0bc0b72264de1a0c0d3bd0c54ad656061317f425e4de461018ca51a19171a0R1-R3) [[4]](diffhunk://#diff-63af007073db553d04988544af46930458a768544cabd08412265e0818320d11R1-R30) ### Snapshot Files for API Endpoints: * Added snapshot files for various API endpoint tests, such as: - Graph-related operations (`graphs_get_single_response`, `graphs_get_all_response`, `blocks_get_all_response`). [[1]](diffhunk://#diff-b25dba271606530cfa428c00073d7e016184a7bb22166148ab1726b3e113dda8R1-R29) [[2]](diffhunk://#diff-1054e58ec3094715660f55bfba1676d65b6833a81a91a08e90ad57922444d056R1-R31) [[3]](diffhunk://#diff-cfd403ab6f3efc89188acaf993d85e6f792108d1740c7e7149eb05efb73d918dR1-R14) - User-related operations (`auth_get_or_create_user_response`, `auth_update_email_response`). [[1]](diffhunk://#diff-49e65ab1eb6af4d0163a6c54ed10be621ce7336b2ab5d47d47679bfaefdb7059R1-R5) [[2]](diffhunk://#diff-ac1216f96878bd4356454c317473654d5d5c7c180125663b80b0b45aa5ab52cbR1-R3) - Credit-related operations (`credits_get_balance_response`, `credits_get_auto_top_up_response`, `credits_top_up_request_response`). [[1]](diffhunk://#diff-189488f8da5be74d80ac3fb7f84f1039a408573184293e9ba2e321d535c57cddR1-R3) [[2]](diffhunk://#diff-ba3c4a6853793cbed24030cdccedf966d71913451ef8eb4b2c4f426ef18ed87aR1-R4) [[3]](diffhunk://#diff-43d7daa0c82070a9b6aee88a774add8e87533e630bbccbac5a838b7a7ae56a75R1-R3) - Graph execution and deletion (`blocks_execute_response`, `graphs_delete_response`). [[1]](diffhunk://#diff-a2ade7d646ad85a2801e7ff39799a925a612548a1cdd0ed99b44dd870d1465b5R1-R12) [[2]](diffhunk://#diff-c0d1cd0a8499ee175ce3007c3a87ba5f3235ce02d38ce837560b36a44fdc4a22R1-R3)## Summary - add pytest-snapshot to backend dev requirements - snapshot server route response JSONs - mention how to update stored snapshots ## Testing - `poetry run format` - `poetry run test` ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [x] run poetry run test --------- Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Nicholas Tindle <nicholas.tindle@agpt.co> |
||
|
|
f881570325 |
fix(frontend): cookies console warnings (#10124)
### Changes 🏗️ <img width="600" alt="Screenshot_2025-06-06_at_3 00 40_PM" src="https://github.com/user-attachments/assets/2793793e-356f-47b0-8624-9d73af414ff3" /> ☝🏽 Fix the following warning that gets logged to the console when running the dev server in the Front-end. It shouldn't cause an actual auth issue, as Next.js made sure `cookies` can still be called sync; however, it is safer if we just migrate our calls to `cookies` to be async 🙏🏽 ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: - [x] There is no cookie warnings when running the FE dev server lcoally - [x] Authentication works as expected |
||
|
|
6df4dd3739 |
fix(frontend/turnstile): Reset on failed login/register (#9948)
This is to fix turnstile not resetting properly on failed login/register ### Changes 🏗️ Calling ``turnstile.reset()`` directly seems to fail some times so I have made a function ``resetCaptcha`` which forces a full reset of the turnstile widget which should prevent getting stuck when failing to login the first time ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [x] Test logging in with a wrong email/password, it should fail with "Invalid login credentials", you should see the turnstile token refresh, try login again with correct info and it should work with out getting stuck |
||
|
|
36634b7ba2 |
fix(frontend): hydration warning (#10120)
We're encountering a hydration warning on the frontend due to a mismatch in CSS module hashes. This happens because auto-generated classnames from `next/font` and `geist` differ between server-side and client-side rendering. The inconsistency triggers a warning when the client rehydrates the server-rendered HTML.  ### Changes 🏗️ Since the mismatch only affects the `<html>` tag and has no visible impact on the UI, the most straightforward workaround is to suppress the warning and still take advantage of `next/font` optimisations. ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: - [x] Run the frontend locally - [x] Page loads without hydration warnings --------- Co-authored-by: Abhimanyu Yadav <122007096+Abhi1992002@users.noreply.github.com> |
||
|
|
781f138c09 |
feat(backend): Agent Presets backend improvements (#9786)
- Part of #9307 - ❗ Blocks #9541 ### Changes 🏗️ Backend: - Fix+improve `GET /library/presets` (`list_presets`) endpoint - Fix pagination - Add `graph_id` filter parameter - Allow partial preset updates: `PUT /presets/{preset_id}` -> `PATCH /presets/{preset_id}` - Allow creating preset from graph execution through `POST /presets` - Clean up models & DB functions - Split `upsert_preset` into `create_preset` + `update_preset` - Add `LibraryAgentPresetUpdatable` - Replace `CreateLibraryAgentPresetRequest` with `LibraryAgentPresetCreatable` - Use `LibraryAgentPresetCreatable` as base class for `LibraryAgentPreset` - Remove redundant `set_is_deleted_for_library_agent(..)` - Improve log statements - Improve DB statements (e.g. by using unique keys where possible) Frontend: - Add timestamp parsing logic to library agent preset endpoints - Brand `LibraryAgentPreset.id` + references ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: - [x] CI green - Since these changes don't affect existing front-end functionality, no additional testing is needed. |
||
|
|
2647417e9f |
feat(executor;frontend): Move output processing step from node executor to graph executor & simplify input beads calculation (#10066)
**Goal**: Allow parallel runs within a single node. Currently, we prevent this to avoid unexpected ordering of the execution. ### Changes 🏗️ #### Executor changes We decoupled the node execution output processing, which is responsible for deciding the next executions from the node executor code. Currently, `execute_node` does two big things: * Runs the block’s execute(...) (which yields outputs). * immediately enqueues the next nodes based on those outputs. This PR makes: * execute_node(node_exec) -> stream of (output_name, data). That purely runs the block and yields each output as soon as it’s available. * Move _enqueue_next_nodes into the graph executor. So the next execution is handled serially by the graph executor to avoid concurrency issues. #### UI changes The change on the executor also fixes the behavior of the execution update to the UI We will report the execution output to the UI as soon as it is available, not when the node execution is fully completed. This, however, broke the bread calculation logic that assumes each execution update will never overlap. So the change in this PR makes the bead calculation take the overlap / duplicated execution update into account, and simplify the overall calculation logic. ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [x] Execute this agent and observe its concurrency ordering <img width="1424" alt="image" src="https://github.com/user-attachments/assets/0fe8259f-9091-4ecc-b824-ce8e8819c2d2" /> |
||
|
|
96df40f7b6 |
fix(frontend): Use FRONTEND_BASE_URL to make password reset link (#10102)
- Fixes #9215 - [x] ⚠️ Merge first: https://github.com/Significant-Gravitas/AutoGPT_cloud_infrastructure/pull/93 ### Changes 🏗️ - Use `FRONTEND_BASE_URL` instead of Host header to make password reset redirect link ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: - [x] Resetting password gives an e-mail with a link that points to the correct URL #### For configuration changes: - [x] `.env.example` is updated or already compatible with my changes - [x] `docker-compose.yml` is updated or already compatible with my changes - [x] I have included a list of my configuration changes in the PR description (under **Changes**) |
||
|
|
7d10dc4e7b |
fix(frontend): pin deps (#10121)
<!-- Clearly explain the need for these changes: --> ### Changes 🏗️ This PR updates the .npmrc file to improve dependency consistency across local and CI environments when using pnpm. Specifically: - `save-exact=true` ensures all dependencies are pinned to exact versions, preventing version drift ( _especially important for tools like `prettier`, where even minor changes can lead to inconsistent formatting in commits_ ). This change aims to reduce formatting discrepancies and improve reproducibility across machines and contributors. ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: - [x] formatting & lint passes on the CI |
||
|
|
5b324abc7c |
update(turnstile): Add env to hide turnstile for dev deploy (#10116)
This simply adds a env to hide turnstile for dev deploys if this env ``NEXT_PUBLIC_DISABLE_TURNSTILE`` is set to false which it is by default, it will show turnstile, if the env is set to "true" it will hide the turnstile #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [x] Login/register with ``NEXT_PUBLIC_DISABLE_TURNSTILE=false`` and you see the turnstile and that is needed to login/signup - [x] Login/register with ``NEXT_PUBLIC_DISABLE_TURNSTILE=true`` and you will see the turnstile is gone, and you can login/signup with out it |
||
|
|
b900e86c49 |
fix(profile): account menu layout and alignment (#10113)
<!-- Clearly explain the need for these changes: --> ## Changes 🏗️ ### Before <img width="200" alt="image" src="https://github.com/user-attachments/assets/8a8e1818-6b8c-4d86-a2b1-a474ba27a6de" /> ### After <img width="200" alt="Screenshot 2025-06-05 at 15 26 45" src="https://github.com/user-attachments/assets/cc28eaeb-626b-46a8-a726-c157b2471ca9" /> ### Adjustments - Adjusted the padding account the menu - Made username display on top of account name nicely - Both username and account name will be trimmed if they are too long `...` ## Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: - [x] Login - [x] Open account menu ( top-right ) - [x] The alignment of items is right - [x] Long usernames are handled nicely - [x] Username and display name don't overlap |
||
|
|
ef6ba3e84a |
fix(frontend): Resolve perpetual loading state on password reset (#10103)
- Fixes #10085 ### Changes 🏗️ - Remove redirect from `sendResetEmail` server action ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: - [x] Reset password form exits loading state after request completes |
||
|
|
95137323f7 |
chore(frontend/deps-dev): Bump eslint-plugin-storybook from 0.11.6 to 0.12.0 in /autogpt_platform/frontend (#10105)
Bumps [eslint-plugin-storybook](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/eslint-plugin) from 0.11.6 to 0.12.0. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/storybookjs/storybook/blob/next/CHANGELOG.v1-5.md">eslint-plugin-storybook's changelog</a>.</em></p> <blockquote> <h2>5.3.7 (January 20, 2020)</h2> <h3>Bug Fixes</h3> <ul> <li>Node-logger: Move <code>@types/npmlog</code> to dependencies (<a href="https://redirect.github.com/storybookjs/storybook/pull/9538">#9538</a>)</li> <li>Core: Fix legacy story URLs (<a href="https://redirect.github.com/storybookjs/storybook/pull/9545">#9545</a>)</li> <li>Addon-docs: Convert default prop value to string (<a href="https://redirect.github.com/storybookjs/storybook/pull/9525">#9525</a>)</li> <li>Addon-docs: Preserve Source indentation by default (<a href="https://redirect.github.com/storybookjs/storybook/pull/9513">#9513</a>)</li> </ul> <h2>5.3.6 (January 17, 2020)</h2> <h3>Bug Fixes</h3> <ul> <li>Source-loader: Bypass if file has no exports (<a href="https://redirect.github.com/storybookjs/storybook/pull/9505">#9505</a>)</li> <li>Core: Fix default sorting of docs-only stories (<a href="https://redirect.github.com/storybookjs/storybook/pull/9504">#9504</a>)</li> </ul> <h2>5.3.5 (January 17, 2020)</h2> <h3>Bug Fixes</h3> <ul> <li>Core: Fix typo for loading addon-notes/register-panel (<a href="https://redirect.github.com/storybookjs/storybook/pull/9497">#9497</a>)</li> <li>Source-loader: Add imports to top of file (<a href="https://redirect.github.com/storybookjs/storybook/pull/9492">#9492</a>)</li> </ul> <h2>5.3.4 (January 16, 2020)</h2> <h3>Bug Fixes</h3> <ul> <li>Core: Fix presets register panel (<a href="https://redirect.github.com/storybookjs/storybook/pull/9486">#9486</a>)</li> <li>Core: Fix addon/preset detection for local addons (<a href="https://redirect.github.com/storybookjs/storybook/pull/9485">#9485</a>)</li> <li>Core: Fix default story sort (<a href="https://redirect.github.com/storybookjs/storybook/pull/9482">#9482</a>)</li> </ul> <h2>5.3.3 (January 14, 2020)</h2> <h3>Bug Fixes</h3> <ul> <li>UI: Fix edge case where only one legacy separator is defined (<a href="https://redirect.github.com/storybookjs/storybook/pull/9425">#9425</a>)</li> <li>Core: Preserve kind load order on HMR when no sortFn is provided (<a href="https://redirect.github.com/storybookjs/storybook/pull/9424">#9424</a>)</li> <li>Angular: Fix missing architect properties (<a href="https://redirect.github.com/storybookjs/storybook/pull/9390">#9390</a>)</li> <li>Addon-knobs: Fix null knob values in select (<a href="https://redirect.github.com/storybookjs/storybook/pull/9416">#9416</a>)</li> <li>Source-loader: Disable linting altogether (<a href="https://redirect.github.com/storybookjs/storybook/pull/9417">#9417</a>)</li> </ul> <h2>5.3.2 (January 13, 2020)</h2> <h3>Bug Fixes</h3> <ul> <li>Source-loader: Disable eslint entirely for generated code (<a href="https://redirect.github.com/storybookjs/storybook/pull/9410">#9410</a>)</li> </ul> <h2>5.3.1 (January 12, 2020)</h2> <h3>Bug Fixes</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/storybookjs/storybook/commits/v0.12.0/code/lib/eslint-plugin">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
512ce6d473 | fix(frontend): Hide native file input on agent node file input | ||
|
|
da0482b54e |
fix(backend): Fix graph fetching of non-owned marketplace agent (#10110)
Currently, the get_graph function, with no graph version specifier will try to fetch the latest version, and when the graph is not owned and the latest version is not available for listing, it will return `None` instead of picking the latest graph version available on the store. ### Changes 🏗️ Instead of using the latest graph.version to fetch the store listing, don't provide any version filter at all and pick up whatever available version in the store. ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [x] CI, existing tests |
||
|
|
47adab575b |
fix(frontend): Fix login/logout actions; update credentials cache on state change (#10017)
- Resolves #10008 ### Changes 🏗️ - Update `useSupabase` hook to propagate auth state changes - Refresh `CredentialsProvider` whenever the user login state changes - Add `logOut` callback to `useSupabase` hook that handles (client-side) logout - Remove server-side `logout` action: the Supabase reference implementation does it client-side, and doing both causes a race condition Refactorings to aid implementation of the above: - Move `@/hooks/useSupabase` -> `@/lib/supabase/useSupabase` Other improvements: - Clean up `login` server action based on reference implementation - Make `BackendAPI.isAuthenticated()` more efficient and faster - Remove unused `ProfileDropdown` component - Improve logic and debug logging in `tests/pages/login.page.ts` - Improve playwright test output logging ### 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: - Log out from account (A) - Log in to other account (B) - Open builder, add a block for which account B has (multiple) credentials - [x] Credentials for account B are shown - [x] Credentials for account A are *not* shown **Note: do not reload the page** while going through these steps |
||
|
|
6629052a6b |
chore(frontend/deps-dev): Bump the development-dependencies group across 1 directory with 3 updates (#10086)
Bumps the development-dependencies group with 3 updates in the /autogpt_platform/frontend directory: [@storybook/test-runner](https://github.com/storybookjs/test-runner), [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next) and [msw](https://github.com/mswjs/msw). Updates `@storybook/test-runner` from 0.21.3 to 0.22.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/storybookjs/test-runner/releases"><code>@storybook/test-runner</code>'s releases</a>.</em></p> <blockquote> <h2>v0.22.0</h2> <h4>🚀 Enhancement</h4> <ul> <li>Release v0.22.0 <a href="https://redirect.github.com/storybookjs/test-runner/pull/553">#553</a> (<a href="https://github.com/ronakj"><code>@ronakj</code></a> <a href="https://github.com/ndelangen"><code>@ndelangen</code></a> <a href="https://github.com/kasperpeulen"><code>@kasperpeulen</code></a> <a href="https://github.com/yannbf"><code>@yannbf</code></a>)</li> <li>Dependencies: Add sb9 alpha compatibility <a href="https://redirect.github.com/storybookjs/test-runner/pull/551">#551</a> (<a href="https://github.com/ndelangen"><code>@ndelangen</code></a>)</li> </ul> <h4>🐛 Bug Fix</h4> <ul> <li>Exclude new server component error <a href="https://redirect.github.com/storybookjs/test-runner/pull/552">#552</a> (<a href="https://github.com/kasperpeulen"><code>@kasperpeulen</code></a>)</li> </ul> <h4>Authors: 4</h4> <ul> <li>Kasper Peulen (<a href="https://github.com/kasperpeulen"><code>@kasperpeulen</code></a>)</li> <li>Norbert de Langen (<a href="https://github.com/ndelangen"><code>@ndelangen</code></a>)</li> <li>Ronak Jain (<a href="https://github.com/ronakj"><code>@ronakj</code></a>)</li> <li>Yann Braga (<a href="https://github.com/yannbf"><code>@yannbf</code></a>)</li> </ul> <h2>v0.22.0-next.2</h2> <h4>🐛 Bug Fix</h4> <h4>Authors: 1</h4> <ul> <li>Ronak Jain (<a href="https://github.com/ronakj"><code>@ronakj</code></a>)</li> </ul> <h2>v0.22.0-next.0</h2> <h4>🚀 Enhancement</h4> <ul> <li>Dependencies: Add sb9 alpha compatibility <a href="https://redirect.github.com/storybookjs/test-runner/pull/551">#551</a> (<a href="https://github.com/ndelangen"><code>@ndelangen</code></a>)</li> </ul> <h4>Authors: 1</h4> <ul> <li>Norbert de Langen (<a href="https://github.com/ndelangen"><code>@ndelangen</code></a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/storybookjs/test-runner/blob/v0.22.0/CHANGELOG.md"><code>@storybook/test-runner</code>'s changelog</a>.</em></p> <blockquote> <h1>v0.22.0 (Fri Feb 28 2025)</h1> <h4>🚀 Enhancement</h4> <ul> <li>Release v0.22.0 <a href="https://redirect.github.com/storybookjs/test-runner/pull/553">#553</a> (<a href="https://github.com/ronakj"><code>@ronakj</code></a> <a href="https://github.com/ndelangen"><code>@ndelangen</code></a> <a href="https://github.com/kasperpeulen"><code>@kasperpeulen</code></a> <a href="https://github.com/yannbf"><code>@yannbf</code></a>)</li> <li>Dependencies: Add sb9 alpha compatibility <a href="https://redirect.github.com/storybookjs/test-runner/pull/551">#551</a> (<a href="https://github.com/ndelangen"><code>@ndelangen</code></a>)</li> </ul> <h4>🐛 Bug Fix</h4> <ul> <li>Exclude new server component error <a href="https://redirect.github.com/storybookjs/test-runner/pull/552">#552</a> (<a href="https://github.com/kasperpeulen"><code>@kasperpeulen</code></a>)</li> </ul> <h4>Authors: 4</h4> <ul> <li>Kasper Peulen (<a href="https://github.com/kasperpeulen"><code>@kasperpeulen</code></a>)</li> <li>Norbert de Langen (<a href="https://github.com/ndelangen"><code>@ndelangen</code></a>)</li> <li>Ronak Jain (<a href="https://github.com/ronakj"><code>@ronakj</code></a>)</li> <li>Yann Braga (<a href="https://github.com/yannbf"><code>@yannbf</code></a>)</li> </ul> <hr /> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
7abe6eb328 |
chore(frontend/deps): Bump the production-dependencies group across 1 directory with 5 updates (#10087)
Bumps the production-dependencies group with 5 updates in the /autogpt_platform/frontend directory: | Package | From | To | | --- | --- | --- | | [@sentry/nextjs](https://github.com/getsentry/sentry-javascript) | `9.24.0` | `9.26.0` | | [@supabase/supabase-js](https://github.com/supabase/supabase-js) | `2.49.9` | `2.49.10` | | [framer-motion](https://github.com/motiondivision/motion) | `12.15.0` | `12.16.0` | | [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) | `0.510.0` | `0.513.0` | | [zod](https://github.com/colinhacks/zod) | `3.25.48` | `3.25.51` | Updates `@sentry/nextjs` from 9.24.0 to 9.26.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/getsentry/sentry-javascript/releases"><code>@sentry/nextjs</code>'s releases</a>.</em></p> <blockquote> <h2>9.26.0</h2> <ul> <li>feat(react-router): Re-export functions from <code>@sentry/react</code> (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16465">#16465</a>)</li> <li>fix(nextjs): Skip re instrumentating on generate phase of experimental build mode (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16410">#16410</a>)</li> <li>fix(node): Ensure adding sentry-trace and baggage headers via SentryHttpInstrumentation doesn't crash (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16473">#16473</a>)</li> </ul> <h2>Bundle size 📦</h2> <table> <thead> <tr> <th>Path</th> <th>Size</th> </tr> </thead> <tbody> <tr> <td><code>@sentry/browser</code></td> <td>23.43 KB</td> </tr> <tr> <td><code>@sentry/browser</code> - with treeshaking flags</td> <td>23.2 KB</td> </tr> <tr> <td><code>@sentry/browser</code> (incl. Tracing)</td> <td>37.44 KB</td> </tr> <tr> <td><code>@sentry/browser</code> (incl. Tracing, Replay)</td> <td>74.69 KB</td> </tr> <tr> <td><code>@sentry/browser</code> (incl. Tracing, Replay) - with treeshaking flags</td> <td>67.96 KB</td> </tr> <tr> <td><code>@sentry/browser</code> (incl. Tracing, Replay with Canvas)</td> <td>79.33 KB</td> </tr> <tr> <td><code>@sentry/browser</code> (incl. Tracing, Replay, Feedback)</td> <td>91.13 KB</td> </tr> <tr> <td><code>@sentry/browser</code> (incl. Feedback)</td> <td>39.78 KB</td> </tr> <tr> <td><code>@sentry/browser</code> (incl. sendFeedback)</td> <td>28.03 KB</td> </tr> <tr> <td><code>@sentry/browser</code> (incl. FeedbackAsync)</td> <td>32.8 KB</td> </tr> <tr> <td><code>@sentry/react</code></td> <td>25.15 KB</td> </tr> <tr> <td><code>@sentry/react</code> (incl. Tracing)</td> <td>39.39 KB</td> </tr> <tr> <td><code>@sentry/vue</code></td> <td>27.67 KB</td> </tr> <tr> <td><code>@sentry/vue</code> (incl. Tracing)</td> <td>39.24 KB</td> </tr> <tr> <td><code>@sentry/svelte</code></td> <td>23.45 KB</td> </tr> <tr> <td>CDN Bundle</td> <td>24.88 KB</td> </tr> <tr> <td>CDN Bundle (incl. Tracing)</td> <td>37.62 KB</td> </tr> <tr> <td>CDN Bundle (incl. Tracing, Replay)</td> <td>72.64 KB</td> </tr> <tr> <td>CDN Bundle (incl. Tracing, Replay, Feedback)</td> <td>77.93 KB</td> </tr> <tr> <td>CDN Bundle - uncompressed</td> <td>72.67 KB</td> </tr> <tr> <td>CDN Bundle (incl. Tracing) - uncompressed</td> <td>111.4 KB</td> </tr> <tr> <td>CDN Bundle (incl. Tracing, Replay) - uncompressed</td> <td>222.7 KB</td> </tr> <tr> <td>CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed</td> <td>235.22 KB</td> </tr> <tr> <td><code>@sentry/nextjs</code> (client)</td> <td>41.02 KB</td> </tr> <tr> <td><code>@sentry/sveltekit</code> (client)</td> <td>37.93 KB</td> </tr> <tr> <td><code>@sentry/node</code></td> <td>146.56 KB</td> </tr> <tr> <td><code>@sentry/node</code> - without tracing</td> <td>96.03 KB</td> </tr> <tr> <td><code>@sentry/aws-serverless</code></td> <td>121.19 KB</td> </tr> </tbody> </table> <h2>9.25.1</h2> <ul> <li>fix(otel): Don't ignore child spans after the root is sent (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16416">#16416</a>)</li> </ul> <h2>Bundle size 📦</h2> <table> <thead> <tr> <th>Path</th> <th>Size</th> </tr> </thead> <tbody> <tr> <td><code>@sentry/browser</code></td> <td>23.43 KB</td> </tr> <tr> <td><code>@sentry/browser</code> - with treeshaking flags</td> <td>23.2 KB</td> </tr> <tr> <td><code>@sentry/browser</code> (incl. Tracing)</td> <td>37.44 KB</td> </tr> <tr> <td><code>@sentry/browser</code> (incl. Tracing, Replay)</td> <td>74.69 KB</td> </tr> <tr> <td><code>@sentry/browser</code> (incl. Tracing, Replay) - with treeshaking flags</td> <td>67.96 KB</td> </tr> </tbody> </table> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md"><code>@sentry/nextjs</code>'s changelog</a>.</em></p> <blockquote> <h2>9.26.0</h2> <ul> <li>feat(react-router): Re-export functions from <code>@sentry/react</code> (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16465">#16465</a>)</li> <li>fix(nextjs): Skip re instrumentating on generate phase of experimental build mode (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16410">#16410</a>)</li> <li>fix(node): Ensure adding sentry-trace and baggage headers via SentryHttpInstrumentation doesn't crash (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16473">#16473</a>)</li> </ul> <h2>9.25.1</h2> <ul> <li>fix(otel): Don't ignore child spans after the root is sent (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16416">#16416</a>)</li> </ul> <h2>9.25.0</h2> <h3>Important Changes</h3> <ul> <li><strong>feat(browser): Add option to ignore <code>mark</code> and <code>measure</code> spans (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16443">#16443</a>)</strong></li> </ul> <p>This release adds an option to <code>browserTracingIntegration</code> that lets you ignore <code>mark</code> and <code>measure</code> spans created from the <code>performance.mark(...)</code> and <code>performance.measure(...)</code> browser APIs:</p> <pre lang="js"><code>Sentry.init({ integrations: [ Sentry.browserTracingIntegration({ ignorePerformanceApiSpans: ['measure-to-ignore', /mark-to-ignore/], }), ], }); </code></pre> <h3>Other Changes</h3> <ul> <li>feat(browser): Export getTraceData from the browser sdks (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16433">#16433</a>)</li> <li>feat(node): Add <code>includeServerName</code> option (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16442">#16442</a>)</li> <li>fix(nuxt): Remove setting <code>@sentry/nuxt</code> external (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16444">#16444</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
4b70e778d2 |
feat(backend): Add nested dynamic pin-name support (#10082)
Suppose we have pint with list[list[int]] type, and we want directly insert the a new value inside the first index of the first list e.g: list[0][0] = X through a dynamic pin, this will be translated into list_$_0_$_0, and the system does not currently support this. ### Changes 🏗️ Add support for nested dynamic pins for list, object, and dict. ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [x] lots of unit tests - [x] Tried inserting the value directly on the `value` nested field on Google Sheets Write block. <img width="371" alt="image" src="https://github.com/user-attachments/assets/0a5e7213-b0e0-4fce-9e89-b39f7a583582" /> |
||
|
|
34009bc749 |
feat(frontend): Upgrade to Next.js v15 + update config (#10042)
- Resolves #10041 Upgrading to Next v15 isn't trivial, but still a good idea if not simply necessary. ### Changes 🏗️ - Upgrade Next.js from `v14.2.26` to `v15.3.2` - Fix usage of now-async APIs `params`, `searchParams`, `headers` ([docs](https://nextjs.org/docs/app/guides/upgrading/version-15#async-request-apis-breaking-change)) - Update Next+TypeScript configs - Set build target to ES2022 for better performance - Unignore TypeScript build errors - Set `hideSourceMaps: false` because OSS FTW :) - Remove obsolete `webpack.config.js` - Fix existing warnings/errors - Fix Sentry missing navigation hook warning - Fix `DYNAMIC_SERVER_USAGE` build error on `/profile` and `/marketplace` - Moved `getStoreData` to a proper server action `getMarketplaceData` - Fix breaking CSS syntax error in `customnode.css` - Use Turbopack for faster dev+test build times - Add separate build step to frontend CI workflow: this also fixes the test timing out if the build takes too long Other technical improvements: - Wrap `handleSortChange` in `MarketplaceSearchPage` in `useCallback` - Fix typing in `ProfileInfoForm` - Improve output of frontend tests > [!NOTE] > Next prints this error (in dev mode): > ``` > Error: Route "/marketplace" used `cookies().getAll()`. `cookies()` should be awaited before using its value. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis > at Object.getAll (src/lib/supabase/getServerSupabase.ts:16:31) > at getAll (../../src/cookies.ts:115:41) > ... > ``` > As far as I can see, this isn't breaking, and will become a warning in prod. See also [the Next docs about this issue](https://nextjs.org/docs/messages/sync-dynamic-apis) ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: - [x] Follow the full release QA test script #### For configuration changes: - [x] I have included a list of my configuration changes in the PR description (under **Changes**) --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
722c6bcc18 |
fix(storybook): make font load in Stories (#10081)
### Changes 🏗️ #### Before <img width="800" alt="Screenshot 2025-06-03 at 16 54 36" src="https://github.com/user-attachments/assets/2a69b69d-2b01-436e-aab3-8206485a001c" /> #### After <img width="800" alt="Screenshot 2025-06-03 at 16 58 38" src="https://github.com/user-attachments/assets/4daf41d4-42ce-4119-8e9f-b2b10b524cba" /> ### 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: - [ ] checkout this branch ( _we should have PR previews for the app and Storybook_ ) - [ ] `cd autogpt_platform/frontend` - [ ] `yarn storybook` - [ ] the stories road with the right font ( Poppins ) not a serif one 😄 #### 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**)~~ |
||
|
|
eaf6da02d1 | fix poetry.lock issue | ||
|
|
d5d613e014 |
chore(backend): Downgrade poetry to 2.1.1 for dependabot (#10079)
Co-authored-by: Reinier van der Leer <pwuts@agpt.co> |
||
|
|
73a3d980ca |
chore(frontend): move from yarn1 to pnpm (#10072)
## 🧢 Overview This PR migrates the AutoGPT Platform frontend from [yarn 1](https://classic.yarnpkg.com/lang/en/) to [pnpm](https://pnpm.io/) using **corepack** for automatic package manager management. **yarn1** is not longer maintained and a bit old, moving to **pnpm** we get: - ⚡ Significantly faster install times, - 💾 Better disk space efficiency, - 🛠️ Better community support and maintenance, - 💆🏽♂️ Config swap very easy ## 🏗️ Changes ### Package Management Migration - updated [corepack](https://github.com/nodejs/corepack) to use [pnpm](https://pnpm.io/) - Deleted `yarn.lock` and generated new `pnpm-lock.yaml` - Updated `.gitignore` ### Documentation Updates - `frontend/README.md`: - added comprehensive tech stack overview with links - updated all commands to use pnpm - added corepack setup instructions - and included migration disclaimer for yarn users - `backend/README.md`: - Updated installation instructions to use pnpm with corepack - `AGENTS.md`: - Updated testing commands from yarn to pnpm ### CI/CD & Infrastructure - **GitHub Workflows** : - updated all jobs to use pnpm with corepack enable - cleaned FE Playwright test workflow to avoid Sentry noise - **Dockerfile**: - updated to use pnpm with corepack, changed lock file reference, and updated cache mount path ### 📋 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: **Test Plan:** > assuming you are on the `frontend` folder - [x] Clean installation works: `rm -rf node_modules && corepack enable && pnpm install` - [x] Development server starts correctly: `pnpm dev` - [x] Build process works: `pnpm build` - [x] Linting and formatting work: `pnpm lint` and `pnpm format` - [x] Type checking works: `pnpm type-check` - [x] Tests run successfully: `pnpm test` - [x] Storybook starts correctly: `pnpm storybook` - [x] Docker build succeeds with new pnpm configuration - [x] GitHub Actions workflow passes with pnpm commands #### For configuration changes: - [x] `.env.example` is updated or already compatible with my changes - [x] `docker-compose.yml` is updated or already compatible with my changes - [x] I have included a list of my configuration changes in the PR description (under **Changes**) |
||
|
|
0f558876e2 |
feat(blocks;frontend): Add file multipart upload support for SendWebRequestBlock & Improve key-value input UI rendering (#10058)
Now, SendWebRequestBlock can upload files. To make this work, we also need to improve the UI rendering on the key-value pair input so that it can also render media/file upload. ### Changes 🏗️ * Add file multipart upload support for SendWebRequestBlock * Improve key-value input UI rendering to allow rendering any types as a normal input block (it was only string & number). <img width="381" alt="image" src="https://github.com/user-attachments/assets/b41d778d-8f9d-4aec-95b6-0b32bef50e89" /> ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [x] Test running http request block, othe key-value pair input block |
||
|
|
3f6585f763 |
feat(platform/blocks): add AI Image Editor Block powered by flux kontext (#10063)
<!-- Clearly explain the need for these changes: --> This PR adds a new internal block, **AI Image Editor**, which enables **text-based image editing** via BlackForest Labs’ Flux Kontext models on Replicate. This block allows users to input a prompt and optionally a reference image, and returns a transformed image URL. It supports two model variants (Pro and Max), with different cost tiers. This functionality will enhance multimedia capabilities across internal agent workflows and support richer AI-powered image manipulation. --- ### Changes 🏗️ * Added `FluxKontextBlock` in `backend/blocks/flux_kontext.py` * Uses `ReplicateClient` to call Flux Kontext Pro or Max models * Supports inputs for `prompt`, `input_image`, `aspect_ratio`, `seed`, and `model` * Outputs transformed image URL or error * Added credit pricing logic for Flux Kontext models to `block_cost_config.py`: * Pro: 10 credits * Max: 20 credits * Added documentation for the new block at `docs/content/platform/blocks/flux_kontext.md` * Updated block index at `docs/content/platform/blocks/blocks.md` to include Flux Kontext ---  ### Checklist 📋 #### For code changes: * [x] I have clearly listed my changes in the PR description * [x] I have made a test plan * [x] I have tested my changes according to the test plan: <!-- Put your test plan here: --> * [x] Prompt-only input generates an image * [x] Prompt with image applies edit correctly * [x] Image respects specified aspect ratio * [x] Invalid image URL returns helpful error * [x] Using the same seed gives consistent output * [x] Output chaining works: result URI can be used in downstream blocks * [x] Output from Max model shows higher fidelity than Pro <details> <summary>Example test plan</summary> * [x] Create from scratch and execute an agent using Flux Kontext with at least 3 blocks * [x] Import agent with Flux Kontext from file upload, and confirm execution * [x] Upload agent (with Flux Kontext block) to marketplace (internal test) * [x] Import agent from marketplace and confirm correct execution * [x] Edit agent with Flux Kontext block from monitor and confirm output </details> #### For configuration changes: * [x] `.env.example` is updated or already compatible with my changes * [x] `docker-compose.yml` is updated or already compatible with my changes * [x] I have included a list of my configuration changes in the PR description (under **Changes**) * No new environment variables or services introduced <details> <summary>Examples of configuration changes</summary> * N/A </details> --------- Co-authored-by: Zamil Majdy <zamil.majdy@agpt.co> |
||
|
|
16d6f5377c |
fix(frontend): missed a password prompt (#10065)
<!-- Clearly explain the need for these changes: --> CASA requires a length of 12 passwords, which we did update. When testing in dev, I realized I missed a few. ### Changes 🏗️ <!-- Concisely describe all of the changes made in this pull request: --> updates a missed prompt ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [x] Test manually, and read all the prompts carefully |
||
|
|
85e108a37a |
feat(frontend): require passwrods to be min length 12 (#10061)
<!-- Clearly explain the need for these changes: --> We're doing CASA and this is a requirement ### Changes 🏗️ - Requires new passwords to be min length 12 <!-- Concisely describe all of the changes made in this pull request: --> ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [x] test |
||
|
|
692f32a350 |
fix(platform): Turnstile CAPTCHA reset after failed login attempts (#10056)
Users were unable to retry login attempts after a failed authentication because the Turnstile CAPTCHA widget was not properly resetting. This forced users to refresh the entire page to attempt login again, creating a terrible user experience. Root Cause: The useTurnstile hook had several critical issues: - The reset() function only cleared state when shouldRender was true and widget existed - Widget ID tracking was unreliable due to intercepting window.turnstile.render - Token wasn't being cleared on verification failures - State wasn't being reset consistently across error scenarios Changes 🏗️ <!-- Concisely describe all of the changes made in this pull request: --> - Fixed useTurnstile hook reset logic: Modified the reset() function to always clear all state (token, verified, verifying, error) regardless of shouldRender condition - Improved widget ID synchronization: Added setWidgetId prop to the Turnstile component interface and hook for reliable widget tracking between component and hook - Enhanced error handling: Updated handleVerify, handleExpire, and handleError to properly reset tokens on failures - Updated all auth components: Added setWidgetId prop to all Turnstile component usages in login, signup, and password reset pages - Removed unreliable widget tracking: Eliminated the window.turnstile.render interception approach in favor of explicit prop-based communication Checklist 📋 For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: - <!-- Put your test plan here: --> - [x] Test failed login attempt - CAPTCHA resets properly without page refresh - [x] Test failed signup attempt - CAPTCHA resets properly without page refresh - [x] Test successful login flow - CAPTCHA works normally - [x] Test CAPTCHA expiration - State resets correctly - [x] Test CAPTCHA error scenarios - Error handling works properly |
||
|
|
9f2b9d08c9 |
feat(platform): Add Run 10 agents wallet task (#9937)
### Changes 🏗️ This PR adds `Run 10 agents` step to wallet tasks that can be done by running any agents 10 times either from Library or Builder (onboarding agent run also counts). - Merge `Finish onboarding` and `See results` steps into one in the wallet - User is redirected directly to onboarding agent runs in Library after congrats screen - Add `RUN_AGENTS` step and `agentRuns` integer to schema and related migration - Running agent from Library and Builder increments `agentRuns` - Open NPS survey popup when 10 agents are run - Fix resuming onboarding on login when unfinished - Remove no longer needed `get-results.mp4` tutorial video ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: - [x] Onboarding can be completed and proper reward is awarded - [x] `Run 10 agents` can be completed and reward is awarded - [x] When unning different agents and the same agent - [x] Running from library and builder counts - [x] Onboarding is resumed to last finished step on login |
||
|
|
b91b026164 |
fix(platform): Restore See runs button on marketplace listing page (#9970)
This makes button on the marketplace listing page show `See runs` if user has an agent in the library. ### Changes 🏗️ - Remove `/` from the related endpoint - Use `active_version_id` instead of `store_listing_version_id` to check for the library agent - Fix `get_store_agent_details` ### 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: - Log in and pick an agent that has never been in user library - [x] Button says `Add to library` - Add the agent and return to the listing page - [x] Button says `See runs` - Remove agent from library - [x] Button says `Add to library` - Add agent again - [x] Button says `See runs` --------- Co-authored-by: Zamil Majdy <zamil.majdy@agpt.co> |