mirror of
https://github.com/Significant-Gravitas/AutoGPT.git
synced 2026-01-31 09:58:19 -05:00
52ad474df3787fb94de14c29f263f092a27b9bce
7791 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
a187e87741 |
feat(frontend/library): Make agent input fields expandable (#9650)
- Resolves #9622 ### Changes 🏗️ - Add pop-out button + modal to input fields in Agent Run Draft view on `/library/agents/[id]` - Fix `icon`-variant button styling   ### 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: - Go to an agent's page -> click "+ New run" - [x] -> pop-out button should show on all input fields - Enter a value in one of the inputs; click the pop-out button on that input - [x] -> input modal with large text field should open - [x] -> the value you just entered should be present in the modal's text field - Edit the value & click "Save" - [x] -> the modal should close - [x] -> the value in the corresponding input field should be updated |
||
|
|
067983eb80 | fix(block): Revert custom get_missing_links method on AddToListBlock | ||
|
|
e6de8b98f7 |
fix(block): Avoid infinite loop execution on AddToListBlock self-loop (#9629)
### Changes 🏗️ <img width="757" alt="image" src="https://github.com/user-attachments/assets/909aab58-24c7-42ec-9580-ac3e9f32057e" /> Since a self-loop is now allowed for AddToListBlock, providing an entry pin using a static output will cause infinite execution. This PR change avoid such scenario to be allowed. ### 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] Described above |
||
|
|
607641c574 |
fix(platform): Fix possible db-config permission denied when running two different Supabase versions (#9652)
The change in https://github.com/Significant-Gravitas/AutoGPT/pull/9620 introduces a breaking change in the database volume content; however, the database's volume location does not change, making switching between two versions clash. ### Changes 🏗️ Renamed db-config named volume to supabase-config. ### 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 |
||
|
|
18dfbf191c |
feat(platform/library): Add icons to primary agent run action buttons (#9651)
- Resolves #9612 ### Changes 🏗️ - Add icon to "Run" button in run draft view - Add icons "Stop run" and "Run again" buttons in run view    ### 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: - Purely visual changes, no functional test needed. Technical changes are covered by the type checker. |
||
|
|
841679216c |
feat(frontend): break out the sidebar into a reusable component + use it for admin page (#9618)
<!-- Clearly explain the need for these changes: --> We need a sidebar for the admin page, might as well reuse the reusable component to do so! ### Changes 🏗️ - Extracts the agptui sidebar to a more reusable component - Update the usage of that sidebar in the settings page - Use that same sidebar for the admin page <!-- 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 the old sidebar - [x] Test the new sidebar for admin |
||
|
|
50eac43e1a |
feat(backend): Support sub-agent on export/import agent feature (#9640)
Agents using Agent blocks should be seamlessly downloaded from the marketplace to a file and imported from a file. Requirements: * A recursive export process that exports all the required agents to a single file, no matter how many layers deep (taking care of potential loops). * An import process that expects and extracts several agents from a single file into your library at once. Considerations: We need to ensure the reference IDs in the Agent Blocks match/are updated to match the imported sub-agent ids to prevent broken references. ### Changes 🏗️ * Add sub_graphs field on Graph model * Improve graph creation query to support inserting graph + subgraphs in batch * Deprecate graph template & remove its column * Update on marketplace download agent (unified the used method, with more secure cleanup & proper ownership check). * Fix failing test cases ### 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] Export graph with sub agents. - [x] Import the exported graph with sub agents. |
||
|
|
91445e4760 |
feat(platform/library): Add "Export agent to file" action (#9627)
- Resolves #9609 ### Changes 🏗️ - feat(frontend/library): Add "Export agent to file" button - fix(frontend/library): Put "Open in builder" button behind access check - feat(backend): Improve & move graph export stripping logic - Add logic to strip `SecretField` values - Move node stripping logic to `NodeModel` from `GraphModel` - Add `NodeModel.stripped_for_export()` method - Add `NodeModel.block` property ### 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: - Create and configure an agent with the Publish To Medium block and a block that uses credentials - Go to `/library/agents/[id]` for the agent you just created - [x] -> "Open in builder" button should show - [x] -> "Open in builder" button should work - [x] -> "Export agent to file" button should show - [x] -> "Export agent to file" button should work - [x] -> Exported file contains no credentials or secrets - [ ] -> ~~Exported file contains no user IDs~~ - Go to `/library/agents/[id]` for an agent from the marketplace - [x] -> "Open in builder" button should not show - [x] -> "Export agent to file" button should not show |
||
|
|
6127727aeb |
chore(libs/deps-dev): bump ruff from 0.9.6 to 0.9.9 in /autogpt_platform/autogpt_libs in the development-dependencies group (#9559)
Bumps the development-dependencies group in /autogpt_platform/autogpt_libs with 1 update: [ruff](https://github.com/astral-sh/ruff). Updates `ruff` from 0.9.6 to 0.9.9 <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.9</h2> <h2>Release Notes</h2> <h3>Preview features</h3> <ul> <li>Fix caching of unsupported-syntax errors (<a href="https://redirect.github.com/astral-sh/ruff/pull/16425">#16425</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>Only show unsupported-syntax errors in editors when preview mode is enabled (<a href="https://redirect.github.com/astral-sh/ruff/pull/16429">#16429</a>)</li> </ul> <h2>Contributors</h2> <ul> <li><a href="https://github.com/InSyncWithFoo"><code>@InSyncWithFoo</code></a></li> <li><a href="https://github.com/MichaReiser"><code>@MichaReiser</code></a></li> <li><a href="https://github.com/dhruvmanila"><code>@dhruvmanila</code></a></li> <li><a href="https://github.com/ntBre"><code>@ntBre</code></a></li> </ul> <h2>Install ruff 0.9.9</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.9.9/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.9.9/ruff-installer.ps1 | iex" </code></pre> <h2>Download ruff 0.9.9</h2> <table> <thead> <tr> <th>File</th> <th>Platform</th> <th>Checksum</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-aarch64-apple-darwin.tar.gz">ruff-aarch64-apple-darwin.tar.gz</a></td> <td>Apple Silicon macOS</td> <td><a href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-aarch64-apple-darwin.tar.gz.sha256">checksum</a></td> </tr> <tr> <td><a href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-x86_64-apple-darwin.tar.gz">ruff-x86_64-apple-darwin.tar.gz</a></td> <td>Intel macOS</td> <td><a href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-x86_64-apple-darwin.tar.gz.sha256">checksum</a></td> </tr> <tr> <td><a href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-aarch64-pc-windows-msvc.zip">ruff-aarch64-pc-windows-msvc.zip</a></td> <td>ARM64 Windows</td> <td><a href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-aarch64-pc-windows-msvc.zip.sha256">checksum</a></td> </tr> <tr> <td><a href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-i686-pc-windows-msvc.zip">ruff-i686-pc-windows-msvc.zip</a></td> <td>x86 Windows</td> <td><a href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-i686-pc-windows-msvc.zip.sha256">checksum</a></td> </tr> <tr> <td><a href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-x86_64-pc-windows-msvc.zip">ruff-x86_64-pc-windows-msvc.zip</a></td> <td>x64 Windows</td> <td><a href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-x86_64-pc-windows-msvc.zip.sha256">checksum</a></td> </tr> <tr> <td><a href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-aarch64-unknown-linux-gnu.tar.gz">ruff-aarch64-unknown-linux-gnu.tar.gz</a></td> <td>ARM64 Linux</td> <td><a href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-aarch64-unknown-linux-gnu.tar.gz.sha256">checksum</a></td> </tr> <tr> <td><a href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-i686-unknown-linux-gnu.tar.gz">ruff-i686-unknown-linux-gnu.tar.gz</a></td> <td>x86 Linux</td> <td><a href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-i686-unknown-linux-gnu.tar.gz.sha256">checksum</a></td> </tr> <tr> <td><a href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-powerpc64-unknown-linux-gnu.tar.gz">ruff-powerpc64-unknown-linux-gnu.tar.gz</a></td> <td>PPC64 Linux</td> <td><a href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-powerpc64-unknown-linux-gnu.tar.gz.sha256">checksum</a></td> </tr> <tr> <td><a href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-powerpc64le-unknown-linux-gnu.tar.gz">ruff-powerpc64le-unknown-linux-gnu.tar.gz</a></td> <td>PPC64LE Linux</td> <td><a href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-powerpc64le-unknown-linux-gnu.tar.gz.sha256">checksum</a></td> </tr> <tr> <td><a href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-s390x-unknown-linux-gnu.tar.gz">ruff-s390x-unknown-linux-gnu.tar.gz</a></td> <td>S390x Linux</td> <td><a href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-s390x-unknown-linux-gnu.tar.gz.sha256">checksum</a></td> </tr> <tr> <td><a href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-x86_64-unknown-linux-gnu.tar.gz">ruff-x86_64-unknown-linux-gnu.tar.gz</a></td> <td>x64 Linux</td> <td><a href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-x86_64-unknown-linux-gnu.tar.gz.sha256">checksum</a></td> </tr> <tr> <td><a href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-armv7-unknown-linux-gnueabihf.tar.gz">ruff-armv7-unknown-linux-gnueabihf.tar.gz</a></td> <td>ARMv7 Linux</td> <td><a href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-armv7-unknown-linux-gnueabihf.tar.gz.sha256">checksum</a></td> </tr> <tr> <td><a href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-aarch64-unknown-linux-musl.tar.gz">ruff-aarch64-unknown-linux-musl.tar.gz</a></td> <td>ARM64 MUSL Linux</td> <td><a href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-aarch64-unknown-linux-musl.tar.gz.sha256">checksum</a></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/astral-sh/ruff/blob/main/CHANGELOG.md">ruff's changelog</a>.</em></p> <blockquote> <h2>0.9.9</h2> <h3>Preview features</h3> <ul> <li>Fix caching of unsupported-syntax errors (<a href="https://redirect.github.com/astral-sh/ruff/pull/16425">#16425</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>Only show unsupported-syntax errors in editors when preview mode is enabled (<a href="https://redirect.github.com/astral-sh/ruff/pull/16429">#16429</a>)</li> </ul> <h2>0.9.8</h2> <h3>Preview features</h3> <ul> <li>Start detecting version-related syntax errors in the parser (<a href="https://redirect.github.com/astral-sh/ruff/pull/16090">#16090</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>[<code>pylint</code>] Mark fix unsafe (<code>PLW1507</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/16343">#16343</a>)</li> <li>[<code>pylint</code>] Catch <code>case np.nan</code>/<code>case math.nan</code> in <code>match</code> statements (<code>PLW0177</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/16378">#16378</a>)</li> <li>[<code>ruff</code>] Add more Pydantic models variants to the list of default copy semantics (<code>RUF012</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/16291">#16291</a>)</li> </ul> <h3>Server</h3> <ul> <li>Avoid indexing the project if <code>configurationPreference</code> is <code>editorOnly</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/16381">#16381</a>)</li> <li>Avoid unnecessary info at non-trace server log level (<a href="https://redirect.github.com/astral-sh/ruff/pull/16389">#16389</a>)</li> <li>Expand <code>ruff.configuration</code> to allow inline config (<a href="https://redirect.github.com/astral-sh/ruff/pull/16296">#16296</a>)</li> <li>Notify users for invalid client settings (<a href="https://redirect.github.com/astral-sh/ruff/pull/16361">#16361</a>)</li> </ul> <h3>Configuration</h3> <ul> <li>Add <code>per-file-target-version</code> option (<a href="https://redirect.github.com/astral-sh/ruff/pull/16257">#16257</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>[<code>refurb</code>] Do not consider docstring(s) (<code>FURB156</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/16391">#16391</a>)</li> <li>[<code>flake8-self</code>] Ignore attribute accesses on instance-like variables (<code>SLF001</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/16149">#16149</a>)</li> <li>[<code>pylint</code>] Fix false positives, add missing methods, and support positional-only parameters (<code>PLE0302</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/16263">#16263</a>)</li> <li>[<code>flake8-pyi</code>] Mark <code>PYI030</code> fix unsafe when comments are deleted (<a href="https://redirect.github.com/astral-sh/ruff/pull/16322">#16322</a>)</li> </ul> <h3>Documentation</h3> <ul> <li>Fix example for <code>S611</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/16316">#16316</a>)</li> <li>Normalize inconsistent markdown headings in docstrings (<a href="https://redirect.github.com/astral-sh/ruff/pull/16364">#16364</a>)</li> <li>Document MSRV policy (<a href="https://redirect.github.com/astral-sh/ruff/pull/16384">#16384</a>)</li> </ul> <h2>0.9.7</h2> <h3>Preview features</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
1bc3041615 |
feat(platform)!: Lock Supabase docker-compose code (#9620)
We have been submoduling Supabase for provisioning local Supabase instances using docker-compose. Aside from the huge size of unrelated code being pulled, there is also the risk of pulling unintentional breaking change from the upstream to the platform. The latest Supabase changes hide the 5432 port from the supabase-db container and shift it to the supavisor, the instance that we are currently not using. This causes an error in the existing setup. ## BREAKING CHANGES This change will introduce different volume locations for the database content, pulling this change will make the data content fresh from the start. To keep your old data with this change, execute this command: ``` cp -r supabase/docker/volumes/db/data db/docker/volumes/db/data ``` ### Changes 🏗️ The scope of this PR is snapshotting the current docker-compose code obtained from the Supabase repository and embedding it into our repository. This will eliminate the need for submodule / recursive cloning and bringing the entire Supabase repository into the platform. ### 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] Existing CI |
||
|
|
9c84dbddca |
fix: backend admin page logic was broken (#9616)
<!-- Clearly explain the need for these changes: --> We're building out admin utilities so we need to bring back the `/admin` route with RBAC. This PR goes through re-enabling that to work with the latest changes ### Changes 🏗️ - Adds back removed logic - Refactors the role checks to fix minor bug for admin page and more importantly clarify - Updates routes to the latest <!-- 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 with admin and authenticated user roles - [x] Test with logged out user role - [x] For the above check the all the existing routes + new ones in the `middleware.ts` |
||
|
|
b67c2e166b | fix(platform): Fallback front-end-url to platform-url for billing page | ||
|
|
aa17872667 |
feat(backend): Fix failed RPC on Notification Service
(cherry picked from commit
|
||
|
|
801f3a3a24 | feat(backend): Fix failed RPC on Notification Service | ||
|
|
b0fed43971 |
feat(backend): Fix failed RPC on Notification Service (#9630)
Although returning a Prisma object on an RPC is a bad practice, we have
instances where we do so and the type contains a `prisma.Json` field.
This Json field can't be seamlessly serialized and then converted back
into the Prisma object.
### Changes 🏗️
Replacing prisma object as return type on notification service with a
plain pydantic object as DTO.
### 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] Calling notification APIs through the RPC client.
(cherry picked from commit
|
||
|
|
b9f31a9c44 |
feat(backend): Fix failed RPC on Notification Service (#9630)
Although returning a Prisma object on an RPC is a bad practice, we have instances where we do so and the type contains a `prisma.Json` field. This Json field can't be seamlessly serialized and then converted back into the Prisma object. ### Changes 🏗️ Replacing prisma object as return type on notification service with a plain pydantic object as DTO. ### 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] Calling notification APIs through the RPC client. |
||
|
|
90f9e4e94a |
fix(backend): Move Notification service to DB manager (#9626)
DatabaseManager is already provisioned in RestApiService, and
NotificationService lives within the same instance as the Rest Server.
### Changes 🏗️
Moving the DB calls of NotificationService to DatabaseManager.
### 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>
(cherry picked from commit
|
||
|
|
f4d4bb83b0 |
fix(backend): Move Notification service to DB manager (#9626)
DatabaseManager is already provisioned in RestApiService, and NotificationService lives within the same instance as the Rest Server. ### Changes 🏗️ Moving the DB calls of NotificationService to DatabaseManager. ### 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> |
||
|
|
02618e1a52 |
chore(frontend/deps): bump the production-dependencies group across 1 directory with 13 updates (#9611)
Bumps the production-dependencies group with 13 updates in the /autogpt_platform/frontend directory: | Package | From | To | | --- | --- | --- | | [@faker-js/faker](https://github.com/faker-js/faker) | `9.4.0` | `9.6.0` | | [@next/third-parties](https://github.com/vercel/next.js/tree/HEAD/packages/third-parties) | `15.1.6` | `15.2.1` | | [@supabase/supabase-js](https://github.com/supabase/supabase-js) | `2.48.1` | `2.49.1` | | [@tanstack/react-table](https://github.com/TanStack/table/tree/HEAD/packages/react-table) | `8.20.6` | `8.21.2` | | [@xyflow/react](https://github.com/xyflow/xyflow/tree/HEAD/packages/react) | `12.4.2` | `12.4.4` | | [framer-motion](https://github.com/motiondivision/motion) | `12.3.1` | `12.4.11` | | [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) | `0.474.0` | `0.479.0` | | [next-themes](https://github.com/pacocoursey/next-themes) | `0.4.4` | `0.4.5` | | [react-day-picker](https://github.com/gpbl/react-day-picker) | `9.5.1` | `9.6.1` | | [react-icons](https://github.com/react-icons/react-icons) | `5.4.0` | `5.5.0` | | [react-shepherd](https://github.com/shepherd-pro/shepherd) | `6.1.7` | `6.1.8` | | [uuid](https://github.com/uuidjs/uuid) | `11.0.5` | `11.1.0` | | [zod](https://github.com/colinhacks/zod) | `3.24.1` | `3.24.2` | Updates `@faker-js/faker` from 9.4.0 to 9.6.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/faker-js/faker/releases"><code>@faker-js/faker</code>'s releases</a>.</em></p> <blockquote> <h2>v9.6.0</h2> <h2>What's Changed</h2> <ul> <li>chore(deps): update dependency typescript to v5.8.2 by <a href="https://github.com/renovate"><code>@renovate</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3424">faker-js/faker#3424</a></li> <li>chore(deps): update dependency ts-morph to v25.0.1 by <a href="https://github.com/renovate"><code>@renovate</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3418">faker-js/faker#3418</a></li> <li>chore(deps): update devdependencies by <a href="https://github.com/renovate"><code>@renovate</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3419">faker-js/faker#3419</a></li> <li>chore(deps): update eslint by <a href="https://github.com/renovate"><code>@renovate</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3420">faker-js/faker#3420</a></li> <li>chore(deps): update vitest by <a href="https://github.com/renovate"><code>@renovate</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3421">faker-js/faker#3421</a></li> <li>chore(deps): update all non-major dependencies by <a href="https://github.com/renovate"><code>@renovate</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3422">faker-js/faker#3422</a></li> <li>chore(deps): remove obsolete dependency <code>@types/eslint</code>__js by <a href="https://github.com/renovate"><code>@renovate</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3425">faker-js/faker#3425</a></li> <li>chore(deps): update dependency prettier to v3.5.2 by <a href="https://github.com/renovate"><code>@renovate</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3423">faker-js/faker#3423</a></li> <li>chore(deps): update pnpm to v10 by <a href="https://github.com/renovate"><code>@renovate</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3427">faker-js/faker#3427</a></li> <li>chore(deps): update eslint (major) by <a href="https://github.com/renovate"><code>@renovate</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3426">faker-js/faker#3426</a></li> <li>chore(deps): update devdependencies by <a href="https://github.com/renovate"><code>@renovate</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3428">faker-js/faker#3428</a></li> <li>chore(deps): lock file maintenance by <a href="https://github.com/renovate"><code>@renovate</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3431">faker-js/faker#3431</a></li> <li>docs: revert npm download badge by <a href="https://github.com/LitoMore"><code>@LitoMore</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3433">faker-js/faker#3433</a></li> <li>feat(finance): add ISO 4217 numerical codes to Currency object by <a href="https://github.com/Nfloc"><code>@Nfloc</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3404">faker-js/faker#3404</a></li> <li>feat(number): bigint multipleOf by <a href="https://github.com/soc221b"><code>@soc221b</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3402">faker-js/faker#3402</a></li> <li>refactor(internet): deprecate color method for removal by <a href="https://github.com/ST-DDT"><code>@ST-DDT</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3401">faker-js/faker#3401</a></li> <li>test: add snapshot test for all locales' character sets by <a href="https://github.com/ST-DDT"><code>@ST-DDT</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3276">faker-js/faker#3276</a></li> <li>chore(release): 9.6.0 by <a href="https://github.com/fakerjs-bot"><code>@fakerjs-bot</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3435">faker-js/faker#3435</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/LitoMore"><code>@LitoMore</code></a> made their first contribution in <a href="https://redirect.github.com/faker-js/faker/pull/3433">faker-js/faker#3433</a></li> <li><a href="https://github.com/Nfloc"><code>@Nfloc</code></a> made their first contribution in <a href="https://redirect.github.com/faker-js/faker/pull/3404">faker-js/faker#3404</a></li> <li><a href="https://github.com/soc221b"><code>@soc221b</code></a> made their first contribution in <a href="https://redirect.github.com/faker-js/faker/pull/3402">faker-js/faker#3402</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/faker-js/faker/compare/v9.5.1...v9.6.0">https://github.com/faker-js/faker/compare/v9.5.1...v9.6.0</a></p> <h2>v9.5.1</h2> <h2>What's Changed</h2> <ul> <li>test: retry verify tag 3 times by <a href="https://github.com/Shinigami92"><code>@Shinigami92</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3395">faker-js/faker#3395</a></li> <li>test: disable summary for local by <a href="https://github.com/Shinigami92"><code>@Shinigami92</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3394">faker-js/faker#3394</a></li> <li>chore: add usage trend by <a href="https://github.com/cwtuan"><code>@cwtuan</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3374">faker-js/faker#3374</a></li> <li>chore(deps): lock file maintenance by <a href="https://github.com/renovate"><code>@renovate</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3403">faker-js/faker#3403</a></li> <li>fix: test before using Buffers by <a href="https://github.com/ST-DDT"><code>@ST-DDT</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3400">faker-js/faker#3400</a></li> <li>revert(chore): update LICENSE file (<a href="https://redirect.github.com/faker-js/faker/issues/3350">#3350</a>) by <a href="https://github.com/Shinigami92"><code>@Shinigami92</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3410">faker-js/faker#3410</a></li> <li>chore(deps): lock file maintenance by <a href="https://github.com/renovate"><code>@renovate</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3411">faker-js/faker#3411</a></li> <li>docs: change ejcheng by <a href="https://github.com/Shinigami92"><code>@Shinigami92</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3408">faker-js/faker#3408</a></li> <li>docs: improve missing data error by <a href="https://github.com/ST-DDT"><code>@ST-DDT</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3406">faker-js/faker#3406</a></li> <li>chore(release): 9.5.1 by <a href="https://github.com/fakerjs-bot"><code>@fakerjs-bot</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3415">faker-js/faker#3415</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/cwtuan"><code>@cwtuan</code></a> made their first contribution in <a href="https://redirect.github.com/faker-js/faker/pull/3374">faker-js/faker#3374</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/faker-js/faker/compare/v9.5.0...v9.5.1">https://github.com/faker-js/faker/compare/v9.5.0...v9.5.1</a></p> <h2>v9.5.0</h2> <h2>What's Changed</h2> <ul> <li>chore(deps): lock file maintenance by <a href="https://github.com/renovate"><code>@renovate</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3377">faker-js/faker#3377</a></li> <li>docs: faker.seed examples are not consistent after refresh by <a href="https://github.com/matthewmayer"><code>@matthewmayer</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3378">faker-js/faker#3378</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/faker-js/faker/blob/next/CHANGELOG.md"><code>@faker-js/faker</code>'s changelog</a>.</em></p> <blockquote> <h2><a href="https://github.com/faker-js/faker/compare/v9.5.1...v9.6.0">9.6.0</a> (2025-03-06)</h2> <h3>Features</h3> <ul> <li><strong>finance:</strong> add ISO 4217 numerical codes to Currency (<a href="https://redirect.github.com/faker-js/faker/issues/3404">#3404</a>) (<a href=" |
||
|
|
c1e329497c |
fix(otto): prevent breaking when failing to make api call (#9613)
These are some tweaks for Otto to try prevent the frontend from breaking when/if it fails to make the otto api call. ### Changes 🏗️ Removed unused reference to ``OTTO_API_URL`` in [backend/server/v2/otto/routes.py](https://github.com/Significant-Gravitas/AutoGPT/compare/dev...otto-fixes?expand=1#diff-6545b2ed01d619cc095b8d0ca6d5baa86d1448dc970cff508669ec3430675d28) Removed un-needed ``revalidatePath("/build");`` from [frontend/src/app/build/actions.ts](https://github.com/Significant-Gravitas/AutoGPT/compare/dev...otto-fixes?expand=1#diff-6861f6b90ce91138b3821c0a82abfffbc09f425c26b7335fac60f54894e353e9) Added a 60 second timeout to the api call in [backend/server/v2/otto/service.py](https://github.com/Significant-Gravitas/AutoGPT/compare/dev...otto-fixes?expand=1#diff-63c9a1a5337cd5e4ddec7544a258916d4998a6cb5c4181f621d7e24f654bd5c8) Added a better error handler in [frontend/src/components/OttoChatWidget.tsx](https://github.com/Significant-Gravitas/AutoGPT/compare/dev...otto-fixes?expand=1#diff-7351568d5c588b77f35d80994ca6800a7faa1b3b0ca229970cfa491eab4b4b33) Made it so errors return a structured error response for better handling in [frontend/src/app/build/actions.ts](https://github.com/Significant-Gravitas/AutoGPT/compare/dev...otto-fixes?expand=1#diff-6861f6b90ce91138b3821c0a82abfffbc09f425c26b7335fac60f54894e353e9) ### 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] do not set the ENV var for ``otto_api_url`` - [x] Set the ENV var for ``NEXT_PUBLIC_BEHAVE_AS`` to ``CLOUD`` to have the chat ui show in the build page - [x] Send otto a message from the build page frontend, it should fail and not break the frontend - [x] Send otto a message that contains graph data to see if the sending graph data works, this should also fail and not break the frontend - [x] now we set the ENV for ``otto_api_url`` - [x] Send otto a message from the build page frontend, it should work - [x] Send otto a message that contains graph data to see if the sending graph data works, it should workautogpt-platform-beta-v0.5.1 |
||
|
|
c179a49218 |
fix(platform): Make LibraryAgent image as initial StoreListing image - Followup (#9617)
### Changes 🏗️ This is a follow-up of https://github.com/Significant-Gravitas/AutoGPT/pull/9610 * Addressing the PR comments described in the mentioned PR * Removed debug logging * Fix image state loading logic on agent upload process ### 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] Create an library agent and try to create a store listing. <img width="1409" alt="image" src="https://github.com/user-attachments/assets/dc86dc97-a33f-4336-ab90-19a53c6f7e0f" /> |
||
|
|
942ac0bae4 |
feat(backend): baseline summary processing (#9596)
<!-- Clearly explain the need for these changes: --> We want to be able to process emails on a scheduled basis for summaries. This adds the baselines for that ### Changes 🏗️ - Adds new tooling to Scheduluer to handle the in-memory schedule for the weekly processing - Adds new exposes to notification manager to handle the different data models for scheduled emails - adds new models to the notification data models to handle the different requirements for scheduled emails, closely paralleling the existing notification ones - Adds new email template Note: After testing, email sending was disabled until the template and data filling are done later down the line. We don't want to email people random stuff, ya know? <!-- 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 sending an email on the scheduled basis - [x] Make sure you get the email, ignoring the fact that all the data isn't real inside it --------- Co-authored-by: Zamil Majdy <zamil.majdy@agpt.co> |
||
|
|
af65058bb7 |
fix(platform): Make LibraryAgent image as initial StoreListing image (#9610)
### Changes 🏗️ We've been auto-generating the thumbnail image for the agent in the library, this PR is propagating that image as an initial image for the store listing. This PR also removes the fetch all query for getting the count for paginating library agent. ### 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] Create an library agent and try to create a store listing. <img width="1409" alt="image" src="https://github.com/user-attachments/assets/dc86dc97-a33f-4336-ab90-19a53c6f7e0f" /> |
||
|
|
f37d4c2659 |
fix(platform): Set Supabase CLI version (#9619)
<!-- Clearly explain the need for these changes: --> ### 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> |
||
|
|
f9d88d2981 |
fix(backend): Remove useless agent marketplace indices (#9608)
### Changes 🏗️ Removed some indices in the marketplace table that were useless. ### 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> |
||
|
|
3458b94fcc | fix(backend): Fix failing websocket service due to not requiring DB connection | ||
|
|
08cd935a47 |
feat(backend): batching operations for queues + agent run become batched (#9586)
<!-- Clearly explain the need for these changes: --> We don't want to spam the user with similar notification types so we want to group them up over a timespan and handle that as a group of notifications. ### Changes 🏗️ - Adds a batch queue - Moves the ExecutionScheduleur to a generic Scheduler - Makes the Agent run a batch operation - Fixes various bugs in how we originally made the batch db models and queries <!-- 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] Run 10 agents back to back - [x] Notice how many emails you get - [x] Wait a bit and you should after an hour (change the cron rule to speed up testing this) you'll get an email and see all the batches in your db are empty --------- Co-authored-by: Zamil Majdy <zamil.majdy@agpt.co> |
||
|
|
b2e94611e8 |
feat(backend): be more defensive about how we load list data from db (#9592)
<!-- Clearly explain the need for these changes: --> When swapping branches back and forth, I often hit stuff in my db that is incompatible with other branches. This protects against it a bit more. ### Changes 🏗️ - Adds filtering around converting data out of the db <!-- 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 with weird and broken agents in db - [x] Go to the library page - [x] Notice in the server console that it warns of bad agents and the page still loads |
||
|
|
020bf02e48 |
feat(backend): Reduce excessive application log, Make DB configurable, Set DB connection limit & timeout (#9605)
It's hard to configure the DB parameter at the moment, this PR gives an option to provide URL parameter on the Prisma DATABASE_URL. ### Changes 🏗️ Changes: * Reduce excessive application log * Make DB configurable * Set DB connection limit & timeout ### 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: |
||
|
|
aa6f91039c |
feat(block): Allow undefined self-loop link to list input pin on AddToListBlock (#9599)
### Changes 🏗️ Creating a self-loop of the AddToListBlock requires a boilerplate of adding a dummy block to trigger its execution.  If the only inbound link on an input pin comes from the same block, we don't wait for that pin on the first execution (as it's never going to come). ### 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> |
||
|
|
fa97632eae |
docs(online/offline): #8887 Move to a single source of truth for docs — Remove duplicate info from backend readme[.advanced].md (#9580)
addresses the changes requested here [Move to a single source of truth for docs — Remove duplicate info from readme #8887](https://github.com/Significant-Gravitas/AutoGPT/issues/8887) ### Changes 🏗️ <!-- Concisely describe all of the changes made in this pull request: --> changed readme files |
||
|
|
fe927c8345 |
fix(block): Add missing error pin to Exa Contents Block (#9604)
<!-- Clearly explain the need for these changes: -->
### Changes 🏗️
The Exa Block has a missing error pin which prevents error handling,
this adds that.
|
||
|
|
fdd6a5d847 |
feat(backend): one click unsub for emails (#9564)
<!-- Clearly explain the need for these changes: --> Per chat with toran, we want one click unsubscribe to work in things like gmail to reduce spam. This implements the one click unsubscribe feature, but it is difficult to test due to not being able to control when it is shown. ### Changes 🏗️ - Adds one click unsub - Casually fix google reauth by checking the correct variables (approved to be in pr by Toran) <!-- 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] Send an email - [x] Open headers on email and pull the link out - [x] `curl -X POST <link>` and ensure unsubscribed from all messages. Note that we can't control when the box is shown on various providers so we just verify it works on our side for now by checking the headers #### Configuration changes Infra pr coming separately, but we did add the secret default to the .env.example and the docker compose --------- Co-authored-by: Zamil Majdy <zamil.majdy@agpt.co> |
||
|
|
f60bd07e15 | fix(blocks): Fix Invalid input on SmartDecisionMakerBlock, add enchancement CountdownTimerBlock & | ||
|
|
9210d448ee |
fix(backend): Unbreak add_store_agent_to_library
autogpt-platform-beta-v0.5.0
|
||
|
|
a0ecb96958 |
Feat(Otto) Add Initial Otto Chat Bot code (#9266)
### Changes 🏗️ This is to add the Otto chat bot to the frontend UI. The changes i have made for this goes as follows: - I have made and added a basic chat UI widget to the build page, this will become the main UI for Otto, this will be getting updates in the future. - I have made an API route ``/api/otto/ask`` that will receive the message from the frontend and pass it to the Otto API that we have setup on GCP. I already have plans for how we can improve the UI and make it more modular, this way we can add more features to Otto down the line! ### Config Changes When we merge this, we will need to add the ENV var for ``otto_api_url`` that will be the URL from GCP where the API is being hosted! This is now ready for a review as the backend API is up and running, to who ever does test this, if you want the API url please DM me 😄  ### 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] Set the ENV var for ``otto_api_url`` - ask @Bentlybro for this - [x] Set the ENV var for ``NEXT_PUBLIC_BEHAVE_AS`` to ``CLOUD`` - [x] Send otto a message from the build page frontend - [x] Send otto a message that contains graph data to see if the sending graph data works |
||
|
|
7eb04663ed |
fix(frontend/library): Use correct graph version to render I/O (#9591)
- Fixes #9579 ### Changes 🏗️ - Fetch & use specific graph version to render graph run I/O on `/library/agents/[id]` ### 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: - Run an Agent that yields an output - [x] -> should render normally without errors - Rename the Agent Output name - Save the modified Agent - Open the Agent in the Agent library and attempt to view the output from step 1 - [x] -> should render normally without errors --------- Co-authored-by: Nicholas Tindle <nicholas.tindle@agpt.co> |
||
|
|
da2aa34e3e |
docs(security): Update disclosure timeline (#9581)
<!-- Clearly explain the need for these changes: -->
Update the security.md based on some advice we got :)
### Changes 🏗️
- Adds an update time window and clarifies time spans
<!-- Concisely describe all of the changes made in this pull request:
-->
|
||
|
|
bc71eac0ec | Change agent cover Image gen aspect ratio to 16:9 | ||
|
|
3cf198eea1 |
feat(platform): Onboarding flow backend (#9511)
This PR adds backend to make Onboarding UI added in https://github.com/Significant-Gravitas/AutoGPT/pull/9485 functional and adds missing confetti screen at the end of Onboarding. *Make sure to have at least any 2 agents in store when testing locally.* Otherwise the onboarding will finish without showing agents. Visit `/onboarding/reset` to reset onboarding state, otherwise it'll always redirect to `/library` once finished. ### Changes 🏗️ - Onboarding opens automatically on sign up and login (if unfinished) for all users - Update db schema to add `UserOnboarding` and add migration - Add GET and PATCH `/onboarding` endpoints and logic to retrieve and update data Onboarding for a user - Update `POST /library/agents` endpoint (`addMarketplaceAgentToLibrary`), so it includes input and output nodes; these are needed to know input schema for the Onboarding - Use new endpoints during onboarding to fetch and update data - Use agents from the marketplace and their input schema for the onboarding - Add algorithm to choose store agents based on user answers and related endpoint `GET /onboarding/agents` - Redirect outside onboarding if finished and resume on proper page - Add `canvas-confetti` and `@types/canvas-confetti` frontend packages - Add and show congrats confetti screen when user runs and agent and before opening library - Minor design updates and onboarding fixes ### 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] Redirect to `/onboarding/*` on sign up and sign in (if onboarding unfinished) - [x] Onboarding works and can be finished - [x] Agent runs on finish - [x] Onboarding state is saved and logging out or refreshing page restores correct state (user choices) - [x] When onboarding finished, trying to go into `/onboarding` redirects to `/library` --------- Co-authored-by: Nicholas Tindle <nicholas.tindle@agpt.co> Co-authored-by: Reinier van der Leer <pwuts@agpt.co> |
||
|
|
e5eadeace4 |
feat(backend): Improve SmartDecisionMaker Agent-loop capability & add Anthropics support (#9585)
### Changes 🏗️ There are a few agent-loop issues that this PR is addressing: * There is a lack of support for agent-loop in Anthropic. * Duplicated system & user prompt as the main objective prompt in the agent loop. * A long rendered text of conversation history by SmartDecisionMakerBlock agent-loop in the UI. * A lack of execution input being rendered in the execution list making it harder to debug. https://github.com/user-attachments/assets/be430000-bde0-40c6-8f2e-c97ce45b5ed1 ### 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] Create from scratch and execute an agent with at least 3 blocks using SmartDecisionMaker Block. |
||
|
|
231775f4d4 |
fix(backend): Unbreak add_marketplace_agent_to_library (#9578)
- Fixes #9577 ### Changes 🏗️ - Add the required include statements to `LibraryAgent` queries - Make a `library_agent_include(user_id)` utility in `backend.data.includes` ### 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: - Go to an agent in the Marketplace; click "Add To Library" - [ ] -> should work, not return an error - [ ] -> should redirect to `/library/agents/[id]` -> should load normally |
||
|
|
498b3ea882 |
feat(blocks): add list comments and update comment blocks (#9583)
<!-- Clearly explain the need for these changes: --> As part of the code review agent, I found these blocks would be useful, but not required. Adds the ability to list comments on an issue and PR as well as update comments on an issue, pr and discussion ### Changes 🏗️ <!-- Concisely describe all of the changes made in this pull request: --> - Adds Listing comments block - Adds updating comment block ### 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] Tested all of the new blocks on #9582 . Review it for context --------- Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Co-authored-by: Bentlybro <tomnoon9@gmail.com> |
||
|
|
5b8947ed93 |
fix(backend): serialize the pydantic objects correctly for github checks and statuses (#9582)
<!-- Clearly explain the need for these changes: --> Trying to run the GitHub Status blocks results in a serialization error ### Changes 🏗️ - Serializes the checks and blocks data objects correctly <!-- 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] make a one block agent, test it and make sure it works |
||
|
|
3b53c6953a |
feat(platform): Agent Run "Stop" + "Delete" functionality (#9547)
- Resolves #9542 ### Changes 🏗️ - feat(platform): Add "Delete run" button on `/library/agents/[id]` w/ confirm dialog - Add `AgentGraphExecution.isDeleted` column for soft delete - Add `DELETE /api/executions/{graph_exec_id}` endpoint - feat(frontend): Add "Stop run" button on `/library/agents/[id]` Technical improvements: - refactor(frontend): Generalize `AgentDeleteConfirmDialog` -> `DeleteConfirmDialog` - refactor(frontend): Brand `GraphExecution.execution_id` and `Schedule.id` to prevent mixing ### 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: - Click "Delete run" under "Run actions" in the right sidebar - [x] -> Confirmation dialog should show - Click "Delete" - [x] -> run should disappear from list - [x] -> view should switch to "Draft new run" view - [x] -> refresh page -> run should not be in list - Click "Delete" in the menu on a run in the list - [x] -> Confirmation dialog should show - Click "Delete" - [x] -> run should disappear from list - [x] -> refresh page -> run should not be in list --------- Co-authored-by: Krzysztof Czerwinski <34861343+kcze@users.noreply.github.com> |
||
|
|
37331d09e4 |
Revert "fix(frontend): Consolidate Application Buttons to ShadcN Base Button Component" (#9575)
Reverts Significant-Gravitas/AutoGPT#9570 Some of the styling changes cause issues with existing parts of the application, and I don't know if partially reverting would cause issues with the other refactored components/elements. Co-authored-by: Nicholas Tindle <nicholas.tindle@agpt.co> |
||
|
|
595d2020c9 |
feat(frontend): Loading indicator for button click handlers (#9573)
Show that something is happening when a click handler doesn't return immediately. ### Changes 🏗️ - Show a loading indicator on buttons while their click handler is running https://github.com/user-attachments/assets/5878c5a4-cba2-4125-a101-21220d713232 ### 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: - Go to `/library/agents/[id]`; click "Run again" on an existing run - [x] -> loading indicator should show - [x] -> button state should reset once the API request completes - [x] Check that existing `Button` elements aren't adversely affected by the styling changes, especially `overflow-hidden` |
||
|
|
c091a7be62 |
feat(backend): Integrate Ideogram for auto-generating created agent thumbnail (#9568)
### Changes 🏗️ Integrate Ideogram for auto-generating created agent thumbnail  **Note:** switching back to the "old" Replicate-based image generator is possible by setting `USE_AGENT_IMAGE_GENERATION_V2=false`. ### Checklist 📋 #### For code changes: - [ ] I have clearly listed my changes in the PR description - [ ] I have made a test plan - [ ] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [ ] ... <details> <summary>Example test plan</summary> - [ ] Create from scratch and execute an agent with at least 3 blocks - [ ] Import an agent from file upload, and confirm it executes correctly - [ ] Upload agent to marketplace - [ ] Import an agent from marketplace and confirm it executes correctly - [ ] Edit an agent from monitor, and confirm it executes correctly </details> --------- Co-authored-by: Reinier van der Leer <pwuts@agpt.co> |
||
|
|
b50ecbf7e9 |
fix(frontend): Featured agents cards layout+sizing (#9482)
### Changes 🏗️ right now the featured agents cards dont have a set width/height, so they change depending on the content, and the description is duplicated. also, the "by {creator username}" was removed. currently it looks like this:  with my changes, i set a fixed width and height so they dont change, the description now only shows on hover and is truncated to 11 lines, and i added back the "by {creator username}"  --------- Co-authored-by: Andy Hooker <58448663+andrewhooker2@users.noreply.github.com> |
||
|
|
900a661266 | fix(backend): Filter out empty object from conversation_history pin on SmartDecisionMakerBlock |