mirror of
https://github.com/Significant-Gravitas/AutoGPT.git
synced 2026-02-11 07:15:08 -05:00
2fda8dfd32dcff7db445704d03da719bbcc73ddb
6928 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
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 | ||
|
|
55d6495155 |
fix(backend): Increase logging level threshold of RPC service to WARNING (#9576)
Increase the logging threshold to WARNING to avoid chatty RPC service request logs. Before:  |
||
|
|
b5c100748f |
fix(library): Anchor message to bottom of page (#9572)
This PR fixes the layout of the Library page. It properly anchors the 'old experience' message to the bottom of the viewport and improves the overall page structure using semantic HTML and Tailwind best practices. Resolves: #9524 ### Changes 🏗️ - Restructured the LibraryPage component to use proper semantic HTML with a `<main>` element - Added a fixed Alert component at the bottom of the viewport with 8px margin - Used ShadcN Alert component for the 'old experience' message for UI consistency - Implemented responsive behavior to hide the alert on mobile screens - Optimized Tailwind classes by using the `container` utility and removing redundant styles - Improved accessibility and UX by using appropriate semantic elements ### Screenshot <img width="926" alt="image" src="https://github.com/user-attachments/assets/e393007c-639e-4383-922c-41fa67133da8" /> ### 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: <details> <summary>Alert Message at Bottom of Library Page</summary> - [ ] Visit the Library page and verify the alert appears fixed at the bottom with 8px margin - [ ] Resize browser window to various desktop sizes and confirm alert remains centered - [ ] Scroll through Library page content and verify the alert stays fixed at the bottom - [ ] Open developer tools and toggle to mobile view (width < 640px) to confirm alert is hidden - [ ] Test in both light and dark mode to ensure alert styling is consistent with theme - [ ] Click the "here" link in the alert and verify it navigates to the monitoring page - [ ] Verify that QuestionMarkCircled icon in the alert is properly styled and visible </details> --------- Co-authored-by: Bentlybro <tomnoon9@gmail.com> |
||
|
|
09494809c1 |
Enhance process management with error handling and lifecycle improvements (#9565)
Enhance process management with error handling, lifecycle improvements, and better resource management - Added robust error handling for process startup failures. - Implemented proper cleanup of processes during failure scenarios. - Added detailed error logging for process failures and cleanup operations. - Enhanced process lifecycle with health checks. - Added success logging for process terminations. These updates enhance the reliability and maintainability of the system. --------- Co-authored-by: Zamil Majdy <zamil.majdy@agpt.co> |
||
|
|
122be761b6 |
fix(frontend): Consolidate Application Buttons to ShadcN Base Button Component (#9570)
Our application currently uses multiple inconsistent button implementations across the codebase. This PR standardizes buttons to use our base Button component that leverages ShadcN, improving UI consistency, maintainability, and accessibility. Resolves: #9567 ### Changes 🏗️ - Replaced custom button implementations in various components with our base Button component and greatly reduced redundant overlapping styles. - Paired with our designer to streamline our `globals.css` to match the desired approach. - Added button variant documentation in Storybook - Deprecated the obsolete 'primary' class and marked it. ### Screenshots 📷 #### Variants <img width="466" alt="image" src="https://github.com/user-attachments/assets/9e4f6360-57ec-4f28-b702-e57252d67def" /> <img width="418" alt="image" src="https://github.com/user-attachments/assets/a9af17dc-e8bc-429d-a9ac-8380e34b9089" /> <img width="129" alt="image" src="https://github.com/user-attachments/assets/2df5d184-bb49-4640-bfb4-879360ca35e6" /> ### 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: <details> <summary>Button Consolidation Test Plan</summary> Visual Verification - [ ] Verify all button variants (default, destructive, outline, secondary, ghost, link) render correctly - [ ] Confirm button styling is consistent across all themes (light, dark, etc.) - [ ] Validate that the rounded-full style is applied to appropriate variants Functional Testing - [ ] Test click handlers continue to work on all migrated buttons - [ ] Verify hover, focus, and active states display correctly on all buttons - [ ] Confirm disabled states are working properly - [ ] Test loading state animations and behavior Responsive Testing - [ ] Verify button layouts on mobile devices (< 640px) - [ ] Confirm button layouts on tablet devices (640px - 1024px) - [ ] Test button layouts on desktop screens (> 1024px) </details> --------- Co-authored-by: Nicholas Tindle <nicholas.tindle@agpt.co> |
||
|
|
3adc9724fe |
fix(backend): Error out execution when no starting node is available (#9566)
### Changes 🏗️ Prevent a graph being executed and do nothing by erroring out when no starting node is available. ### 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> |
||
|
|
e7888ddb9f |
feat(backend): Enable safe URL redirect on web requests for blocks (#9555)
We've disabled the request for security reasons, and the current request library breaks on the 301 web response. ### Changes 🏗️ Add manually safe URL redirect on our web request layer. ### 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> |
||
|
|
265a9265f7 |
feat(backend): low balance notiifcation (#9534)
<!-- Clearly explain the need for these changes: --> For emailing, we want the user to know when an agent stopped because their balance was too low. This is the first step of that. ### Changes 🏗️ - Raise InsufficientBalanceError from credit system rather than value error when user runs out of money - Handle when an agent output isn't hooked up well - Fix the contents of the email for low balance to be a bit more aligned with the PRD - expose the topup intent from the db manager - objectify the execution stats so we can pass it around a bit more type safe - extract the notification stuff in manager into a function <!-- 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] Set balance to $0.01 - [x] Run an agent that costs something more than $0.01 - [x] Check you get an email - [x] Check your top up link works --------- Co-authored-by: Zamil Majdy <zamil.majdy@agpt.co> |
||
|
|
27a5635607 |
feat(platform): Library Agent "Delete" functionality (#9546)
- Resolves #9545 ### Changes 🏗️ - fix(platform): Make "Delete" button on `/monitoring` soft-delete the `LibraryAgent` instead of hard-deleting the corresponding `AgentGraph` - feat(frontend): Add "Delete agent" button on `/library/agents/[id]` Technical: - fix(backend): Accept partial input on `update_library_agent` endpoint - feat(backend): Add `GET /api/library/agents/{library_agent_id}` endpoint - refactor(frontend): Replace use of `GraphMeta` by `LibraryAgent` where possible on `/library/agents/[id]` Also, out of scope but important: - fix(frontend): Hide buttons that require direct graph access depending on `agent.can_access_graph` ### 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 the Library and select an agent - [x] -> `/library/agents/[id]` should load normally - Save this URL for later (especially the ID)! - Click "Delete agent" on `/library/agents/[id]` - [x] -> should show a confirmation dialog - Click "Delete" to confirm - [x] -> should redirect back to `/library` - [x] -> deleted agent should no longer be listed in the Library - Click "Delete agent" on `/monitoring` - [x] -> should show a confirmation dialog - Click "Delete" to confirm - [x] -> agent should disappear from agent list - [x] -> views should reset / deselect the deleted agent where applicable |
||
|
|
ef00ab51e0 | fix(backend): Cleanup on validation logic for AgentExecutorBlock & SmartDecisionMakerBlock | ||
|
|
36447a0c58 |
feat(backend): Add tool execution response on Smart Decision Block (#9552)
**Proposal / Request For Comments** The tool calling provided by the LLM provider requires an output generated by the tool to be looped back as part of the conversation history. The scope of this PR is trying to address the need to fulfill the feature expectation. ### Changes 🏗️ * `Last Tool Output` is introduced to loop back the output of the tool back to Smart Decision Block. * Smart Decision Block execution will be pending unless the `Last Tool Output` us provided where a pending tool call is present in the conversation history. * **Known hack**: The last tool output will prefill all the pending tool calls from the conversation history. * A few tweaks were required to allow a blocking loop to be executed without awaiting on all the inbound links. <img width="1395" alt="image" src="https://github.com/user-attachments/assets/fdad4407-621b-45d0-a457-76b2d4c853b9" /> ### 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> |
||
|
|
1e31136358 |
fix(backend): Fix json to_dict method on string value
|
||
|
|
a024b9a398 | fix(backend): Fix conversation history propagation on SmartDecisionBlock & AIBlock | ||
|
|
83d879ea65 |
fix(backend): Use raw content from the LLM as conversation history (#9551)
### Changes 🏗️ Instead of parsing an LlmMessage by ourselves, we use raw content from the LLM as conversation history and accept any format it introduces. Example output: ``` [ { "role": "system", "content": "Thinking carefully step by step decide which function to call. Always choose a function call from the list of function signatures. The test graph is basically an all knowing answer machine you can use it to get an answer" }, { "role": "user", "content": "Hey how's the weather today" }, { "role": "assistant", "audio": null, "content": null, "refusal": null, "tool_calls": [ { "id": "call_Z7CKKIkldylmfWJdE6ZnDxjr", "type": "function", "function": { "name": "storevalueblock", "arguments": "{\"input\":\"I don't have context for your location. Could you provide one?\"}" } } ], "function_call": null } ] ``` ### 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> |