Skip to content

[Snyk] Fix for 11 vulnerabilities#16

Open
snyk-io[bot] wants to merge 211 commits intodevfrom
snyk-fix-eb5623137ab85fe9c620f9b0d10c7121
Open

[Snyk] Fix for 11 vulnerabilities#16
snyk-io[bot] wants to merge 211 commits intodevfrom
snyk-fix-eb5623137ab85fe9c620f9b0d10c7121

Conversation

@snyk-io
Copy link

@snyk-io snyk-io bot commented Feb 9, 2026

snyk-top-banner

Snyk has created this PR to fix 11 vulnerabilities in the pnpm dependencies of this project.

Snyk changed the following file(s):

  • autogpt_platform/frontend/package.json
⚠️ Warning
Failed to update the pnpm-lock.yaml, please update manually before merging.

Vulnerabilities that will be fixed with an upgrade:

Issue Score
critical severity Arbitrary Command Injection
SNYK-JS-ORVALCORE-15038726
  740  
critical severity Arbitrary Command Injection
SNYK-JS-ORVALCORE-15166600
  740  
critical severity Arbitrary Command Injection
SNYK-JS-ORVALMCP-14928070
  615  
high severity Arbitrary Command Injection
SNYK-JS-ORVALMOCK-15091570
  585  
high severity Exposed Dangerous Method or Function
SNYK-JS-PLAYWRIGHT-14888269
  585  
medium severity Missing Release of Resource after Effective Lifetime
SNYK-JS-INFLIGHT-6095116
  535  
medium severity Uncontrolled Recursion
SNYK-JS-ESLINT-15102420
  505  
medium severity Prototype Pollution
SNYK-JS-JSYAML-13961110
  495  
medium severity Improper Verification of Cryptographic Signature
SNYK-JS-PLAYWRIGHTCORE-13553173
  450  
low severity Insertion of Sensitive Information into Externally-Accessible File or Directory
SNYK-JS-STORYBOOK-14534871
  265  
low severity Insertion of Sensitive Information into Externally-Accessible File or Directory
SNYK-JS-STORYBOOKBUILDERWEBPACK5-14470054
  265  

Important

  • Check the changes in this PR to ensure they won't cause issues with your project.
  • Max score is 1000. Note that the real score may have changed since the PR was raised.
  • This PR was automatically created by Snyk using the credentials of a real user.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.

For more information:
🧐 View latest project report
📜 Customise PR templates
🛠 Adjust project settings
📚 Read about Snyk's upgrade logic


Learn how to fix vulnerabilities with free interactive lessons:

🦉 Prototype Pollution
🦉 Arbitrary Command Injection

ntindle and others added 30 commits July 18, 2025 16:12
…nificant-Gravitas#10411)

This PR adds a database index to improve query performance based on
Supabase query performance insights and index recommendations. These
indexes target frequently queried columns and relationships to reduce
query execution time.

### Changes 🏗️
- Added index on `AgentNodeExecutionInputOutput.agentPresetId`

### 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] Verified schema changes are valid Prisma syntax
- [x] Confirmed indexes target frequently queried columns based on
Supabase recommendations
  - [x] Ensured no duplicate indexes are created

#### For configuration changes:
- [x] `.env.example` is updated or already compatible with my changes
- [x] `docker-compose.yml` is updated or already compatible with my
changes
- [x] I have included a list of my configuration changes in the PR
description (under **Changes**)
…ndexes (Significant-Gravitas#10412)

### Changes 🏗️

This PR optimizes database performance by adding missing foreign key
indexes, removing unused/redundant indexes, cleaning up all legacy
untracked indexes, and adding performance indexes for materialized views
to achieve 100% optimized database indexing.

**Foreign Key Indexes Added:**
- `AgentGraph`: `[forkedFromId, forkedFromVersion]` - For fork
relationship queries
- `AgentGraphExecution`: `[agentPresetId]` - For preset-based execution
filtering
- `AgentNodeExecution`: `[agentNodeId]` - For node execution lookups
- `AgentNodeExecutionInputOutput`: `[agentPresetId]` - For preset
input/output queries
- `AgentPreset`: `[agentGraphId, agentGraphVersion]` & `[webhookId]` -
For graph and webhook lookups
- `LibraryAgent`: `[agentGraphId, agentGraphVersion]` & `[creatorId]` -
For agent and creator queries
- `StoreListing`: `[agentGraphId, agentGraphVersion]` - For marketplace
agent lookups
- `StoreListingReview`: `[reviewByUserId]` - For user review queries

**Unused/Redundant Indexes Removed:**
- `User.email` - Unused index identified by linter
- `AnalyticsMetrics.userId` - Unused index causing write overhead
- `AnalyticsDetails.type` - Redundant (covered by composite `[userId,
type]`)
- `APIKey.key`, `APIKey.status` - Unused indexes
- Named index `"analyticsDetails"` - Converted to standard composite
index

**All Legacy Untracked Indexes Removed:**
- `idx_store_listing_version_status` - Redundant with Prisma composite
index
- `idx_slv_agent` - Redundant with Prisma-managed `[agentGraphId,
agentGraphVersion]`
- `idx_store_listing_version_approved_listing` - Redundant with unique
constraint
- `StoreListing_agentId_owningUserId_idx` - Legacy index superseded by
current strategy
- `StoreListing_isDeleted_isApproved_idx` - Replaced by optimized
composite index
- `StoreListing_isDeleted_idx` - Redundant with composite index
- `StoreListingVersion_agentId_agentVersion_isDeleted_idx` - Legacy
index replaced
- `idx_store_listing_approved` - Redundant with existing `[owningUserId,
slug]` unique constraint and `[isDeleted, hasApprovedVersion]` index
- `idx_slv_categories_gin` - Specialized array search index removed (can
be re-added if category filtering is implemented)
- `idx_profile_user` - Duplicate of Prisma-managed `Profile_userId_idx`

**Materialized View Performance Indexes Added:**
- `idx_mv_review_stats_rating` on `mv_review_stats(avg_rating DESC)` -
Optimizes sorting agents by rating
- `idx_mv_review_stats_count` on `mv_review_stats(review_count DESC)` -
Optimizes sorting agents by review count

**Result: 100% Optimized Database Indexing**
- All database indexes are now defined and managed through Prisma schema
- No more untracked indexes requiring manual SQL maintenance
- Added performance indexes for materialized views used by marketplace
views
- Improved query performance for agent sorting and filtering
- Enhanced maintainability and consistency across environments

**Schema Comments Updated:**
- Removed all references to dropped untracked indexes
- Simplified documentation to reflect Prisma-only approach for regular
tables
- Added comprehensive documentation for materialized view indexes and
their purposes
- Maintained documentation for materialized view refresh strategy

### 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] Schema changes compile successfully with Prisma
- [x] Migration adds required FK indexes and materialized view
performance indexes
- [x] Migration drops all legacy indexes and redundant untracked indexes
  - [x] All pre-commit hooks pass (linting, formatting, type checking)
  - [x] No breaking changes to existing foreign key relationships
  - [x] Verified existing Prisma indexes cover all query patterns
  - [x] Schema comments comprehensively document all indexing strategy
- [x] Materialized view performance indexes optimize marketplace sorting

🤖 Generated with [Claude Code](https://claude.ai/code)

---------

Co-authored-by: Swifty <craigswift13@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
…nificant-Gravitas#10401)

## Summary
- Introduced correct health check API for AppService
- Fixed service health check mechanism to properly handle health status
monitoring

## Changes Made
- Updated health check implementation in AppService.
- Make rest service health check checks the health of DatabaseManager
too.

## Test plan
- [x] Verify health check endpoint responds correctly
- [x] Test health check mechanism under various service states
- [x] Validate monitoring and alerting integration

🤖 Generated with [Claude Code](https://claude.ai/code)
…rder (Significant-Gravitas#10352)

### Changes 🏗️

This PR adds a new utility block to the basic blocks collection. This
block provides a simple way to reverse the order of elements in any
list.

**New Features:**
- Added  class in 
- Block accepts any list as input and returns the same list with
elements in reversed order
- Preserves the original list (creates a copy before reversing)
- Works with lists containing any type of elements

**Technical Details:**
- Block ID: 
- Category: 
- Input:  - The list to reverse (accepts )
- Output:  - The list with elements in reversed order
- Includes test input/output for validation

### 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] Created an agent with the ReverseListOrderBlock
  - [x] Tested with various list types (numbers, strings, mixed types)
  - [x] Verified the block preserves the original list
  - [x] Confirmed the block correctly reverses the order of elements
  - [x] Tested with empty lists and single-element lists
- [x] Verified the block integrates properly with other blocks in a
workflow

#### For configuration changes:
- [x]  is updated or already compatible with my changes
- [x]  is updated or already compatible with my changes
- [x] I have included a list of my configuration changes in the PR
description (under **Changes**)

**Note:** No configuration changes required - this is a pure code
addition that uses the existing block framework.

Co-authored-by: Abhimanyu Yadav <122007096+Abhi1992002@users.noreply.github.com>
…nt import (Significant-Gravitas#10409)

Currently, we only create a library entry of the top-most graph when
importing the graph from an exported file.
This can cause some complications, as there is no way to remove the
library entry of it.

### Changes 🏗️

Create the library entry for all the subgraphs during the import
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:
  <!-- Put your test plan here: -->
  - [x] Export an agent with subgraphs and import it back.
## Changes 🏗️

Launch Darkly is not being initialised in production, despite on paper
all env variables being well set 🧐

I tried doing production builds locally, and I noticed this provider
needs to be initialised on the client because Launch Darkly flags are
designed to work on the client side, where they can access user context
and browser environment.

## 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] Did production build locally and run it
- [x] See LD initialised on the console after the `use client` directive
was added


### For configuration changes:

None
… scheduler pod (Significant-Gravitas#10425)

Rest-Api service is a vital service where we should minimize the amount
of external resources impacting it.
And the NotificationManager service is running as a singleton in nature
(similar to the scheduler service), so it makes sense to put it in a
single pod.

### Changes 🏗️

Move the NotificationManager service from rest-api pod to the scheduler
pod

### Checklist 📋

#### For code changes:
- [x] I have clearly listed my changes in the PR description
- [x] I have made a test plan
- [x] I have tested my changes according to the test plan:
  <!-- Put your test plan here: -->
  - [x] Manual test
… scheduler pod (Significant-Gravitas#10425)

Rest-Api service is a vital service where we should minimize the amount
of external resources impacting it.
And the NotificationManager service is running as a singleton in nature
(similar to the scheduler service), so it makes sense to put it in a
single pod.

### Changes 🏗️

Move the NotificationManager service from rest-api pod to the scheduler
pod

### Checklist 📋

#### For code changes:
- [x] I have clearly listed my changes in the PR description
- [x] I have made a test plan
- [x] I have tested my changes according to the test plan:
  <!-- Put your test plan here: -->
  - [x] Manual test
…ling (Significant-Gravitas#10415)

## Summary
- Add thread safety to NodeExecutionProgress class to prevent race
conditions between graph executor and node executor threads
- Fixes potential data corruption and lost outputs during concurrent
access to shared output lists
- Uses single global lock per node for minimal performance impact
- Instead of blocking the node evaluation before adding another node
evaluation, we move on to the next node, in case another node completes
it.

## Changes
- Added `threading.Lock` to NodeExecutionProgress class
- Protected `add_output()` calls from node executor thread with lock
- Protected `pop_output()` calls from graph executor thread with lock
- Protected `_pop_done_task()` output checks with lock

## Problem Solved
The `NodeExecutionProgress.output` dictionary was being accessed
concurrently:
- `add_output()` called from node executor thread (asyncio thread) 
- `pop_output()` called from graph executor thread (main thread)
- Python lists are not thread-safe for concurrent append/pop operations
- This could cause data corruption, index errors, and lost outputs

## Test Plan
- [x] Existing executor tests pass
- [x] No performance regression (operations are microsecond-level)
- [x] Thread safety verified through code analysis

## Technical Details
- Single `threading.Lock()` per NodeExecutionProgress instance (~64
bytes)
- Lock acquisition time (~100-200ns) is minimal compared to list
operations
- Maintains order guarantees for same node_execution_id processing
- No GIL contention issues as operations are very brief

🤖 Generated with [Claude Code](https://claude.ai/code)

---------

Co-authored-by: Claude <noreply@anthropic.com>
…nificant-Gravitas#10422)

### Changes ️

The previous implementation of the `LaunchDarklyProvider` had a race
condition where it would only initialize after the user's authentication
state was fully resolved. This caused two primary issues:

1. A delay in evaluating any feature flags, leading to a "flash of
un-styled/un-flagged content" until the user session was loaded.
2. An unreliable transition from an un-flagged state to a flagged state,
which could cause UI flicker or incorrect flag evaluations upon login.


This pull request refactors the provider to follow a more robust,
industry-standard pattern. It now initializes immediately with an
`anonymous` context, ensuring flags are available from the very start of
the application lifecycle. When the user logs in and their session
becomes available, the provider seamlessly transitions to an
authenticated context, guaranteeing that the correct flags are evaluated
consistently.

### 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:

	**Test Plan:**
	
- [x] **Anonymous User:** Load the application in an incognito window
without logging in. Verify that feature flags are evaluated correctly
for an anonymous user. Check the browser console for the
`[LaunchDarklyProvider] Using anonymous context` message.
- [x] **Login Flow:** While on the site, log in. Verify that the UI
updates with the correct feature flags for the authenticated user. Check
the console for the `[LaunchDarklyProvider] Using authenticated context`
message and confirm the LaunchDarkly client re-initializes.
- [x] **Authenticated User (Page Refresh):** As a logged-in user,
refresh the page. Verify that the application loads directly with the
authenticated user's flags, leveraging the cached session and
bootstrapped flags from `localStorage`.
- [x] **Logout Flow:** While logged in, log out. Verify that the UI
reverts to the anonymous user's state and flags. The provider `key`
should change back to "anonymous", triggering another re-mount.





<details><summary>Summary of Code Changes</summary>

- Refactored `LaunchDarklyProvider` to handle user authentication state
changes gracefully.
- The provider now initializes immediately with an `anonymous` user
context while the Supabase user session is loading.
- Once the user is authenticated, the provider's context is updated to
reflect the logged-in user's details.
- Added a `key` prop to the `<LDProvider>` component, using the user's
ID (or "anonymous"). This forces React to re-mount the provider when the
user's identity changes, ensuring a clean re-initialization of the
LaunchDarkly SDK.
- Enabled `localStorage` bootstrapping (`options={{ bootstrap:
"localStorage" }}`) to cache flags and improve performance on subsequent
page loads.
- Added `console.debug` statements for improved observability into the
provider's state (anonymous vs. authenticated).


</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>Configuration Changes</summary>

- No configuration changes were made. This PR relies on existing
environment variables (`NEXT_PUBLIC_LAUNCHDARKLY_CLIENT_ID` and
`NEXT_PUBLIC_LAUNCHDARKLY_ENABLED`).


</details>

---------

Co-authored-by: Lluis Agusti <hi@llu.lu>
…tas#10430)

<!-- Clearly explain the need for these changes: -->
We setup launchdarkly so now we can dynamically control which blocks are
available on the UI

### Changes 🏗️
enables the google blocks + fixes the LD .env.example for the local env
<!-- 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] Deploy to test environment and verify the blocks show correctly vs
are hidden when toggling Launch darlky rules
…ng rendered (Significant-Gravitas#10431)

Some AgentInput can store empty string as the default value, this will
cause error on non string input.

Error:
```
2025-07-22 23:14:10,424 WARNING  Invalid <class 'backend.blocks.io.AgentToggleInputBlock.Input'>: {'name': 'Enriched info (including email), will double the search cost', 'value': '', 'advanced': False, 'placeholder_values': []}, 1 validation error for Input
value
  Input should be a valid boolean, unable to interpret input [type=bool_parsing, input_value='', input_type=str]
    For further information visit https://errors.pydantic.dev/2.11/v/bool_parsing
2025-07-22 23:14:10,424 WARNING  Invalid <class 'backend.blocks.io.AgentNumberInputBlock.Input'>: {'name': 'Expected New Leads Count', 'value': '', 'advanced': False, 'placeholder_values': []}, 1 validation error for Input
value
  Input should be a valid integer, unable to parse string as an integer [type=int_parsing, input_value='', input_type=str]
    For further information visit https://errors.pydantic.dev/2.11/v/int_parsing
```

### Changes 🏗️

Ignore invalid field when constructing agent input schema.

### 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] Use AgentNumberInput and AgenToggleInput with empty string value.
## Changes 🏗️


https://github.com/user-attachments/assets/42e1c896-5f3b-447c-aee9-4f5963c217d9

There is now a 🔔 icon on the Navigation bar that shows previous agent
runs and displays real-time agent running status.

If you run an agent, the bell will show on a badge how many agents are
running. If you hover over it, a hint appears. If you click on it, it
opens a dropdown and displays the executions with their status ( _which
should match what we have in library functionality, not design-wise_ ).

I leveraged the existing APIs for this purpose. Most of the run logic is
[encapsulated on this
hook](https://github.com/Significant-Gravitas/AutoGPT/compare/dev...feat/agent-notifications?expand=1#diff-a9e7f2904d6283b094aca19b64c7168e8c66be1d5e0bb454be8978cb98526617)
and is also an independent `<AgentActivityDropdown />` component.

Clicking on an agent run opens that run in the library page.

This new functionality is covered by E2E tests 💆🏽 ✔️ 

## Checklist 📋

### For code changes:
- [x] I have clearly listed my changes in the PR description
- [x] I have made a test plan
- [x] I have tested my changes according to the test plan:
  - [x] The navigation bar layout looks good when logged out
  - [x] The navigation bar layout looks good when logged in
  - [x] Open an agent in the library and click `Run`
- [x] See the real-time activity of the agent running on the navigation
bar bell icon

### For configuration changes:

_No configuration changes needed._
…/autogpt_platform/frontend with 9 updates (Significant-Gravitas#10419)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ubbe <hi@ubbe.dev>
…e sevice (Significant-Gravitas#10437)

It's hard to debug two processes running in the same pod. We need to
decouple the two processes into two services.

### Changes 🏗️

Move DatabaseManager away from RestAPI as a standalone serice

### Checklist 📋

#### For code changes:
- [x] I have clearly listed my changes in the PR description
- [x] I have made a test plan
- [x] I have tested my changes according to the test plan:
  <!-- Put your test plan here: -->
  - [x] Manual test
…Significant-Gravitas#10438)

We've been reporting agents that are stuck on the `QUEUED` status. This
change includes the one on. RUNNING status that's been stuck for more
than 24hours.

### Changes 🏗️

Report agent on RUNNING status for more than 24hours.

### Checklist 📋

#### For code changes:
- [x] I have clearly listed my changes in the PR description
- [x] I have made a test plan
- [x] I have tested my changes according to the test plan:
  <!-- Put your test plan here: -->
  - [x] Manual test
…vitas#10440)

## Changes 🏗️

Fixed WebSocket connection errors during multi-tab logout 💆🏽 

<img width="1193" height="273" alt="Screenshot 2025-07-23 at 22 23 35"
src="https://github.com/user-attachments/assets/bf6f964d-bcb0-4a2a-adff-1194defe1e61"
/>

Previously, when users logged out in one browser tab, WebSocket
connections in other open tabs would continue trying to reconnect with
invalid authentication tokens, causing console errors and potential
runtime errors.

### What was fixed
- WebSocket connections are now properly disconnected when logout occurs
in any tab
- cross-tab logout mechanism now includes WebSocket cleanup to prevent
reconnection errors
- added logic to prevent automatic reconnection after intentional
disconnection
- added E2E tests to cover this case

## 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] Manual testing: Login in multiple tabs, navigate to builder
(establishes WebSocket), logout from one tab, verify no console errors
- [x] E2E test: Added automated test covering multi-tab logout with
WebSocket cleanup verification
  - [x] Verified cross-tab logout still works correctly
- [x] Confirmed WebSocket connections reconnect properly after fresh
login

### For configuration changes:
None
…cker mode (Significant-Gravitas#10443)

Significant-Gravitas#10437 migrated
DatabaseManager away from RestApi, but this change is not yet reflected
in Docker Compose, which causes the self-hosted Docker mode to break.

### Changes 🏗️

Add DatabaseManager process in docker.

### 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] `docker compose up`
…ignificant-Gravitas#10410)

<!-- Clearly explain the need for these changes: -->

### Changes 🏗️

<!-- Concisely describe all of the changes made in this pull request:
-->

This PR contains code changes that will resolve the cursor jump issue in
the **Note** block Significant-Gravitas#9252 . The changes in code affects the
NodeTextBoxInput component to transfer the state into local state and
not mutate the `value` prop directly.

Also includes change to use store admin which is from rebase issue but
approved by maintainer @ntindle

### 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] Tested the note block allows to edit text normally
 


https://github.com/user-attachments/assets/f2800bf1-9867-4627-ac9d-44718627b263

---------

Co-authored-by: Nicholas Tindle <nicholas.tindle@agpt.co>
Co-authored-by: Abhimanyu Yadav <122007096+Abhi1992002@users.noreply.github.com>
Co-authored-by: Zamil Majdy <zamil.majdy@agpt.co>
Co-authored-by: Ubbe <hi@ubbe.dev>
…tas#10446)

## Changes 🏗️

- Make docker + deps cache actually work on the FE CI
- Run the E2E test data script before Playwright

## Checklist 📋

### For code changes:
- [x] I have clearly listed my changes in the PR description
- [x] I have made a test plan
- [x] I have tested my changes according to the test plan:
  - [x] CI is faster in repeated runs ( _uses cache_ )
  - [x] Test data script runs successfully 

### For configuration changes:
None
Bumps the production-dependencies group with 8 updates in the
/autogpt_platform/backend directory:

| Package | From | To |
| --- | --- | --- |
| [anthropic](https://github.com/anthropics/anthropic-sdk-python) |
`0.57.1` | `0.59.0` |
|
[google-api-python-client](https://github.com/googleapis/google-api-python-client)
| `2.176.0` | `2.177.0` |
| [jsonschema](https://github.com/python-jsonschema/jsonschema) |
`4.24.1` | `4.25.0` |
| [mem0ai](https://github.com/mem0ai/mem0) | `0.1.114` | `0.1.115` |
| [openai](https://github.com/openai/openai-python) | `1.97.0` |
`1.97.1` |
| [sentry-sdk](https://github.com/getsentry/sentry-python) | `2.33.0` |
`2.33.2` |
| [supabase](https://github.com/supabase/supabase-py) | `2.16.0` |
`2.17.0` |
|
[youtube-transcript-api](https://github.com/jdepoix/youtube-transcript-api)
| `1.1.1` | `1.2.1` |


Updates `anthropic` from 0.57.1 to 0.59.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/anthropics/anthropic-sdk-python/releases">anthropic's
releases</a>.</em></p>
<blockquote>
<h2>v0.59.0</h2>
<h2>0.59.0 (2025-07-23)</h2>
<p>Full Changelog: <a
href="https://github.com/anthropics/anthropic-sdk-python/compare/v0.58.2...v0.59.0">v0.58.2...v0.59.0</a></p>
<h3>Features</h3>
<ul>
<li><strong>api:</strong> removed older deprecated models (<a
href="https://github.com/anthropics/anthropic-sdk-python/commit/38998fdab79b62349481c9c49579a825a5a33761">38998fd</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li><strong>parsing:</strong> ignore empty metadata (<a
href="https://github.com/anthropics/anthropic-sdk-python/commit/7099f32a401b1f2a08b358562e325571a5fce8f6">7099f32</a>)</li>
<li><strong>parsing:</strong> parse extra field types (<a
href="https://github.com/anthropics/anthropic-sdk-python/commit/dbea8a40469c30533e30dc1762bfba83159f090d">dbea8a4</a>)</li>
</ul>
<h3>Chores</h3>
<ul>
<li><strong>internal:</strong> version bump (<a
href="https://github.com/anthropics/anthropic-sdk-python/commit/5defffa3ab4b0299759f2a45ffa3f7a49e8c2ba5">5defffa</a>)</li>
</ul>
<h2>v0.58.2</h2>
<h2>0.58.2 (2025-07-18)</h2>
<p>Full Changelog: <a
href="https://github.com/anthropics/anthropic-sdk-python/compare/v0.58.1...v0.58.2">v0.58.1...v0.58.2</a></p>
<h3>Chores</h3>
<ul>
<li><strong>internal:</strong> version bump (<a
href="https://github.com/anthropics/anthropic-sdk-python/commit/cd5d1adc34e488f1c9e3a6d2a46f69e5c168e3f6">cd5d1ad</a>)</li>
</ul>
<h2>v0.58.1</h2>
<h2>0.58.1 (2025-07-18)</h2>
<p>Full Changelog: <a
href="https://github.com/anthropics/anthropic-sdk-python/compare/v0.58.0...v0.58.1">v0.58.0...v0.58.1</a></p>
<h3>Chores</h3>
<ul>
<li><strong>internal:</strong> version bump (<a
href="https://github.com/anthropics/anthropic-sdk-python/commit/31c3b380e5ceab20789080c65cef9bd74e318a3e">31c3b38</a>)</li>
</ul>
<h2>v0.58.0</h2>
<h2>0.58.0 (2025-07-18)</h2>
<p>Full Changelog: <a
href="https://github.com/anthropics/anthropic-sdk-python/compare/v0.57.1...v0.58.0">v0.57.1...v0.58.0</a></p>
<h3>Features</h3>
<ul>
<li>clean up environment call outs (<a
href="https://github.com/anthropics/anthropic-sdk-python/commit/4f64e9c1bdb142bbcff2072baa709afdea348889">4f64e9c</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/anthropics/anthropic-sdk-python/blob/main/CHANGELOG.md">anthropic's
changelog</a>.</em></p>
<blockquote>
<h2>0.59.0 (2025-07-23)</h2>
<p>Full Changelog: <a
href="https://github.com/anthropics/anthropic-sdk-python/compare/v0.58.2...v0.59.0">v0.58.2...v0.59.0</a></p>
<h3>Features</h3>
<ul>
<li><strong>api:</strong> removed older deprecated models (<a
href="https://github.com/anthropics/anthropic-sdk-python/commit/38998fdab79b62349481c9c49579a825a5a33761">38998fd</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li><strong>parsing:</strong> ignore empty metadata (<a
href="https://github.com/anthropics/anthropic-sdk-python/commit/7099f32a401b1f2a08b358562e325571a5fce8f6">7099f32</a>)</li>
<li><strong>parsing:</strong> parse extra field types (<a
href="https://github.com/anthropics/anthropic-sdk-python/commit/dbea8a40469c30533e30dc1762bfba83159f090d">dbea8a4</a>)</li>
</ul>
<h3>Chores</h3>
<ul>
<li><strong>internal:</strong> version bump (<a
href="https://github.com/anthropics/anthropic-sdk-python/commit/5defffa3ab4b0299759f2a45ffa3f7a49e8c2ba5">5defffa</a>)</li>
</ul>
<h2>0.58.2 (2025-07-18)</h2>
<p>Full Changelog: <a
href="https://github.com/anthropics/anthropic-sdk-python/compare/v0.58.1...v0.58.2">v0.58.1...v0.58.2</a></p>
<h3>Chores</h3>
<ul>
<li><strong>internal:</strong> version bump (<a
href="https://github.com/anthropics/anthropic-sdk-python/commit/cd5d1adc34e488f1c9e3a6d2a46f69e5c168e3f6">cd5d1ad</a>)</li>
</ul>
<h2>0.58.1 (2025-07-18)</h2>
<p>Full Changelog: <a
href="https://github.com/anthropics/anthropic-sdk-python/compare/v0.58.0...v0.58.1">v0.58.0...v0.58.1</a></p>
<h3>Chores</h3>
<ul>
<li><strong>internal:</strong> version bump (<a
href="https://github.com/anthropics/anthropic-sdk-python/commit/31c3b380e5ceab20789080c65cef9bd74e318a3e">31c3b38</a>)</li>
</ul>
<h2>0.58.0 (2025-07-18)</h2>
<p>Full Changelog: <a
href="https://github.com/anthropics/anthropic-sdk-python/compare/v0.57.1...v0.58.0">v0.57.1...v0.58.0</a></p>
<h3>Features</h3>
<ul>
<li>clean up environment call outs (<a
href="https://github.com/anthropics/anthropic-sdk-python/commit/4f64e9c1bdb142bbcff2072baa709afdea348889">4f64e9c</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li><strong>client:</strong> don't send Content-Type header on GET
requests (<a
href="https://github.com/anthropics/anthropic-sdk-python/commit/727268f2bd4cb42aa1472e1f0c6a92fd6a5cb122">727268f</a>)</li>
<li><strong>parsing:</strong> correctly handle nested discriminated
unions (<a
href="https://github.com/anthropics/anthropic-sdk-python/commit/44dd47e15ed91af912eac4791421e11504c3094b">44dd47e</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/anthropics/anthropic-sdk-python/commit/28fefb7648967b9a612f3f96d4421dbaf9d8b650"><code>28fefb7</code></a>
release: 0.59.0</li>
<li><a
href="https://github.com/anthropics/anthropic-sdk-python/commit/b2d8c264f86287628a3ffb69db5a1bedd2353d71"><code>b2d8c26</code></a>
fix(parsing): parse extra field types</li>
<li><a
href="https://github.com/anthropics/anthropic-sdk-python/commit/fce21e1daf1f328eec801ae3ba3d4cd63999f6d0"><code>fce21e1</code></a>
feat(api): removed older deprecated models</li>
<li><a
href="https://github.com/anthropics/anthropic-sdk-python/commit/8d49f6091567abb5b9971b319f35b14d04c6a8c2"><code>8d49f60</code></a>
fix(parsing): ignore empty metadata</li>
<li><a
href="https://github.com/anthropics/anthropic-sdk-python/commit/e054e76c93bfc0894f192fddf78e9d504507ba88"><code>e054e76</code></a>
chore(internal): version bump</li>
<li><a
href="https://github.com/anthropics/anthropic-sdk-python/commit/79f7f10a71b859953cfadbab98069ce574706b02"><code>79f7f10</code></a>
release: 0.58.2</li>
<li><a
href="https://github.com/anthropics/anthropic-sdk-python/commit/db95cdc0ab93939b264caf62ee982c8c1ce81633"><code>db95cdc</code></a>
chore(internal): version bump</li>
<li><a
href="https://github.com/anthropics/anthropic-sdk-python/commit/16e941334b5e49c4dd73daaea1f550d53eedba26"><code>16e9413</code></a>
release: 0.58.1</li>
<li><a
href="https://github.com/anthropics/anthropic-sdk-python/commit/b69c9ff676cc5b3188b55044f99cbc49b11f6855"><code>b69c9ff</code></a>
chore(internal): version bump</li>
<li><a
href="https://github.com/anthropics/anthropic-sdk-python/commit/423601de8d2b8dcd07d57070ace9a17aa5eb447e"><code>423601d</code></a>
release: 0.58.0</li>
<li>Additional commits viewable in <a
href="https://github.com/anthropics/anthropic-sdk-python/compare/v0.57.1...v0.59.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `google-api-python-client` from 2.176.0 to 2.177.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/googleapis/google-api-python-client/releases">google-api-python-client's
releases</a>.</em></p>
<blockquote>
<h2>v2.177.0</h2>
<h2><a
href="https://github.com/googleapis/google-api-python-client/compare/v2.176.0...v2.177.0">2.177.0</a>
(2025-07-22)</h2>
<h3>Features</h3>
<ul>
<li><strong>admin:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/90d92b4dedbe4d3c562e81095832f6620af50320">https://togithub.com/googleapis/google-api-python-client/commit/90d92b4dedbe4d3c562e81095832f6620af50320</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/1a80b7e383841018c9e5e6eaa22e30b9227cd075">1a80b7e</a>)</li>
<li><strong>adsenseplatform:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/70cde9e2f6f37e4f894d61ec7560ec006c90d275">https://togithub.com/googleapis/google-api-python-client/commit/70cde9e2f6f37e4f894d61ec7560ec006c90d275</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/1a80b7e383841018c9e5e6eaa22e30b9227cd075">1a80b7e</a>)</li>
<li><strong>aiplatform:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/fef1ed967fb47272f82a7309454e477959f6272e">https://togithub.com/googleapis/google-api-python-client/commit/fef1ed967fb47272f82a7309454e477959f6272e</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/6844949fa0562840b1157e81809f05ccdb8e9940">6844949</a>)</li>
<li><strong>analyticsadmin:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/1609c8ffe2d28a36f3f128d823d7d0e499794843">https://togithub.com/googleapis/google-api-python-client/commit/1609c8ffe2d28a36f3f128d823d7d0e499794843</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/6844949fa0562840b1157e81809f05ccdb8e9940">6844949</a>)</li>
<li><strong>androidpublisher:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/f4e40100db38312ab6213c8af955d25b94ed8c87">https://togithub.com/googleapis/google-api-python-client/commit/f4e40100db38312ab6213c8af955d25b94ed8c87</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/1a80b7e383841018c9e5e6eaa22e30b9227cd075">1a80b7e</a>)</li>
<li><strong>apphub:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/d192cdf02d0e2468454bf20048c6595313b2a17f">https://togithub.com/googleapis/google-api-python-client/commit/d192cdf02d0e2468454bf20048c6595313b2a17f</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/1a80b7e383841018c9e5e6eaa22e30b9227cd075">1a80b7e</a>)</li>
<li><strong>backupdr:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/2d03602be0079c3e3aab99982f2a3f570399c567">https://togithub.com/googleapis/google-api-python-client/commit/2d03602be0079c3e3aab99982f2a3f570399c567</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/6844949fa0562840b1157e81809f05ccdb8e9940">6844949</a>)</li>
<li><strong>beyondcorp:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/992f2f231e390b30f5a42b954f2d615595385d8d">https://togithub.com/googleapis/google-api-python-client/commit/992f2f231e390b30f5a42b954f2d615595385d8d</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/6844949fa0562840b1157e81809f05ccdb8e9940">6844949</a>)</li>
<li><strong>chat:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/2bf379026a8e633e53221accbf12b51354b763b5">https://togithub.com/googleapis/google-api-python-client/commit/2bf379026a8e633e53221accbf12b51354b763b5</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/1a80b7e383841018c9e5e6eaa22e30b9227cd075">1a80b7e</a>)</li>
<li><strong>chromemanagement:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/6a2c4a5ea84185eafc96baecf93f8d05ef662bb0">https://togithub.com/googleapis/google-api-python-client/commit/6a2c4a5ea84185eafc96baecf93f8d05ef662bb0</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/1a80b7e383841018c9e5e6eaa22e30b9227cd075">1a80b7e</a>)</li>
<li><strong>civicinfo:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/38e107ad9417f213b23542c7cddeeff3aef23416">https://togithub.com/googleapis/google-api-python-client/commit/38e107ad9417f213b23542c7cddeeff3aef23416</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/1a80b7e383841018c9e5e6eaa22e30b9227cd075">1a80b7e</a>)</li>
<li><strong>cloudasset:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/0d243636fd6ccf64038513819abd5e6709f4edc7">https://togithub.com/googleapis/google-api-python-client/commit/0d243636fd6ccf64038513819abd5e6709f4edc7</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/6844949fa0562840b1157e81809f05ccdb8e9940">6844949</a>)</li>
<li><strong>cloudbilling:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/68858fd5140496a62a29ba6ac24ca86b8d5e0812">https://togithub.com/googleapis/google-api-python-client/commit/68858fd5140496a62a29ba6ac24ca86b8d5e0812</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/1a80b7e383841018c9e5e6eaa22e30b9227cd075">1a80b7e</a>)</li>
<li><strong>compute:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/0670bbe7c2f2047aea20bb902ac8d971dd4761be">https://togithub.com/googleapis/google-api-python-client/commit/0670bbe7c2f2047aea20bb902ac8d971dd4761be</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/1a80b7e383841018c9e5e6eaa22e30b9227cd075">1a80b7e</a>)</li>
<li><strong>compute:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/0a77325ff1334cbd9bdc633401995c82dcdfa4e6">https://togithub.com/googleapis/google-api-python-client/commit/0a77325ff1334cbd9bdc633401995c82dcdfa4e6</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/6844949fa0562840b1157e81809f05ccdb8e9940">6844949</a>)</li>
<li><strong>connectors:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/0a4db90998f12781fe6cf1baae2b9b1d5883ee6f">https://togithub.com/googleapis/google-api-python-client/commit/0a4db90998f12781fe6cf1baae2b9b1d5883ee6f</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/1a80b7e383841018c9e5e6eaa22e30b9227cd075">1a80b7e</a>)</li>
<li><strong>contactcenteraiplatform:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/39f0f5a371ec5ea99d530855004af028f8ac9819">https://togithub.com/googleapis/google-api-python-client/commit/39f0f5a371ec5ea99d530855004af028f8ac9819</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/1a80b7e383841018c9e5e6eaa22e30b9227cd075">1a80b7e</a>)</li>
<li><strong>contactcenterinsights:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/6cd0f3b819b900a4893a460041e31915452ec4ad">https://togithub.com/googleapis/google-api-python-client/commit/6cd0f3b819b900a4893a460041e31915452ec4ad</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/1a80b7e383841018c9e5e6eaa22e30b9227cd075">1a80b7e</a>)</li>
<li><strong>container:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/0e91158f4e8857ddf25cb79addf50d18333d9569">https://togithub.com/googleapis/google-api-python-client/commit/0e91158f4e8857ddf25cb79addf50d18333d9569</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/1a80b7e383841018c9e5e6eaa22e30b9227cd075">1a80b7e</a>)</li>
<li><strong>dataflow:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/b0faf39e2d7ceb4cc119253b8bddae8a997d02a5">https://togithub.com/googleapis/google-api-python-client/commit/b0faf39e2d7ceb4cc119253b8bddae8a997d02a5</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/6844949fa0562840b1157e81809f05ccdb8e9940">6844949</a>)</li>
<li><strong>dataform:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/d47f453ea58e07b7573ae7c975e37ad0115817c7">https://togithub.com/googleapis/google-api-python-client/commit/d47f453ea58e07b7573ae7c975e37ad0115817c7</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/1a80b7e383841018c9e5e6eaa22e30b9227cd075">1a80b7e</a>)</li>
<li><strong>dataplex:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/30d50fe41f86855c11c095ab9e4e448e85509775">https://togithub.com/googleapis/google-api-python-client/commit/30d50fe41f86855c11c095ab9e4e448e85509775</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/1a80b7e383841018c9e5e6eaa22e30b9227cd075">1a80b7e</a>)</li>
<li><strong>datastream:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/d2fb73fff76efbb483c88bd7e2726d8d370e1907">https://togithub.com/googleapis/google-api-python-client/commit/d2fb73fff76efbb483c88bd7e2726d8d370e1907</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/6844949fa0562840b1157e81809f05ccdb8e9940">6844949</a>)</li>
<li><strong>dialogflow:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/a861178e2fed467cf747ce97662ea0f8724b03e1">https://togithub.com/googleapis/google-api-python-client/commit/a861178e2fed467cf747ce97662ea0f8724b03e1</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/6844949fa0562840b1157e81809f05ccdb8e9940">6844949</a>)</li>
<li><strong>discoveryengine:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/656a393a359ce1c842614503ddc4b3891e705b97">https://togithub.com/googleapis/google-api-python-client/commit/656a393a359ce1c842614503ddc4b3891e705b97</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/6844949fa0562840b1157e81809f05ccdb8e9940">6844949</a>)</li>
<li><strong>discoveryengine:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/e32141e90de609a378f85282c0a22df2ddcd4f57">https://togithub.com/googleapis/google-api-python-client/commit/e32141e90de609a378f85282c0a22df2ddcd4f57</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/1a80b7e383841018c9e5e6eaa22e30b9227cd075">1a80b7e</a>)</li>
<li><strong>displayvideo:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/04588ff4641b9fba78b52c651a9e0a4ee8a25565">https://togithub.com/googleapis/google-api-python-client/commit/04588ff4641b9fba78b52c651a9e0a4ee8a25565</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/1a80b7e383841018c9e5e6eaa22e30b9227cd075">1a80b7e</a>)</li>
<li><strong>dlp:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/8bed23577732e3fc2ebbe1776759e837cde4a68b">https://togithub.com/googleapis/google-api-python-client/commit/8bed23577732e3fc2ebbe1776759e837cde4a68b</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/6844949fa0562840b1157e81809f05ccdb8e9940">6844949</a>)</li>
<li><strong>documentai:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/799e9acca0c16517042626caa0dfdfcaefb753cf">https://togithub.com/googleapis/google-api-python-client/commit/799e9acca0c16517042626caa0dfdfcaefb753cf</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/6844949fa0562840b1157e81809f05ccdb8e9940">6844949</a>)</li>
<li><strong>firebaseapphosting:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/faa576796737b33058886e3958642096fde8093c">https://togithub.com/googleapis/google-api-python-client/commit/faa576796737b33058886e3958642096fde8093c</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/1a80b7e383841018c9e5e6eaa22e30b9227cd075">1a80b7e</a>)</li>
<li><strong>firebasedataconnect:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/da5ae903995f13fc9bd78bd605e1ced59055241b">https://togithub.com/googleapis/google-api-python-client/commit/da5ae903995f13fc9bd78bd605e1ced59055241b</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/1a80b7e383841018c9e5e6eaa22e30b9227cd075">1a80b7e</a>)</li>
<li><strong>firebaseml:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/f658e6a1c5c12531c1aa78354fbf3df491436ca7">https://togithub.com/googleapis/google-api-python-client/commit/f658e6a1c5c12531c1aa78354fbf3df491436ca7</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/6844949fa0562840b1157e81809f05ccdb8e9940">6844949</a>)</li>
<li><strong>gkehub:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/f475ccbb03ac291b1a55ed150cc1781213abaae8">https://togithub.com/googleapis/google-api-python-client/commit/f475ccbb03ac291b1a55ed150cc1781213abaae8</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/6844949fa0562840b1157e81809f05ccdb8e9940">6844949</a>)</li>
<li><strong>healthcare:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/3652423200b34b9a3c64f1bffe94ed45127783b9">https://togithub.com/googleapis/google-api-python-client/commit/3652423200b34b9a3c64f1bffe94ed45127783b9</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/6844949fa0562840b1157e81809f05ccdb8e9940">6844949</a>)</li>
<li><strong>managedkafka:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/6db60695a4f971fcc02bf04ee68065e91b07ff4c">https://togithub.com/googleapis/google-api-python-client/commit/6db60695a4f971fcc02bf04ee68065e91b07ff4c</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/1a80b7e383841018c9e5e6eaa22e30b9227cd075">1a80b7e</a>)</li>
<li><strong>merchantapi:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/2aada479dbcab5044c994e34697854f4dee7da51">https://togithub.com/googleapis/google-api-python-client/commit/2aada479dbcab5044c994e34697854f4dee7da51</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/6844949fa0562840b1157e81809f05ccdb8e9940">6844949</a>)</li>
<li><strong>merchantapi:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/e4c81be4e22aa92ba8eb5889b8f485388cf279d5">https://togithub.com/googleapis/google-api-python-client/commit/e4c81be4e22aa92ba8eb5889b8f485388cf279d5</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/1a80b7e383841018c9e5e6eaa22e30b9227cd075">1a80b7e</a>)</li>
<li><strong>migrationcenter:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/55d8296b794d88994b164be3cac99da153a15849">https://togithub.com/googleapis/google-api-python-client/commit/55d8296b794d88994b164be3cac99da153a15849</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/6844949fa0562840b1157e81809f05ccdb8e9940">6844949</a>)</li>
<li><strong>netapp:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/30b488418dccad7b2aabfdb5766ef5f3b5a2a411">https://togithub.com/googleapis/google-api-python-client/commit/30b488418dccad7b2aabfdb5766ef5f3b5a2a411</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/1a80b7e383841018c9e5e6eaa22e30b9227cd075">1a80b7e</a>)</li>
<li><strong>networkmanagement:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/37999dc933b9b7af5cbda6083786517fbee3eddb">https://togithub.com/googleapis/google-api-python-client/commit/37999dc933b9b7af5cbda6083786517fbee3eddb</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/1a80b7e383841018c9e5e6eaa22e30b9227cd075">1a80b7e</a>)</li>
<li><strong>networksecurity:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/4171b55c7654fc2b6585722fdd48b0a2fbc1e364">https://togithub.com/googleapis/google-api-python-client/commit/4171b55c7654fc2b6585722fdd48b0a2fbc1e364</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/6844949fa0562840b1157e81809f05ccdb8e9940">6844949</a>)</li>
<li><strong>notebooks:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/42f4eac549dd9085d08b3d9e36d0b129dc32217c">https://togithub.com/googleapis/google-api-python-client/commit/42f4eac549dd9085d08b3d9e36d0b129dc32217c</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/6844949fa0562840b1157e81809f05ccdb8e9940">6844949</a>)</li>
<li><strong>oracledatabase:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/c2fbbec002b98811fd331bf7cbe1684634ada9e0">https://togithub.com/googleapis/google-api-python-client/commit/c2fbbec002b98811fd331bf7cbe1684634ada9e0</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/6844949fa0562840b1157e81809f05ccdb8e9940">6844949</a>)</li>
<li><strong>recaptchaenterprise:</strong> Update the api <a
href="https://togithub.com/googleapis/google-api-python-client/commit/33f2183b4a02cb34aa03ca0c271fed4b88d29101">https://togithub.com/googleapis/google-api-python-client/commit/33f2183b4a02cb34aa03ca0c271fed4b88d29101</a>
(<a
href="https://github.com/googleapis/google-api-python-client/commit/1a80b7e383841018c9e5e6eaa22e30b9227cd075">1a80b7e</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/googleapis/google-api-python-client/commit/2423ea179b56fe64bfbed85742ed38a717bd0856"><code>2423ea1</code></a>
chore(main): release 2.177.0 (<a
href="https://redirect.github.com/googleapis/google-api-python-client/issues/2628">#2628</a>)</li>
<li><a
href="https://github.com/googleapis/google-api-python-client/commit/6844949fa0562840b1157e81809f05ccdb8e9940"><code>6844949</code></a>
chore: Update discovery artifacts (<a
href="https://redirect.github.com/googleapis/google-api-python-client/issues/2629">#2629</a>)</li>
<li><a
href="https://github.com/googleapis/google-api-python-client/commit/1a80b7e383841018c9e5e6eaa22e30b9227cd075"><code>1a80b7e</code></a>
chore: Update discovery artifacts (<a
href="https://redirect.github.com/googleapis/google-api-python-client/issues/2627">#2627</a>)</li>
<li>See full diff in <a
href="https://github.com/googleapis/google-api-python-client/compare/v2.176.0...v2.177.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `jsonschema` from 4.24.1 to 4.25.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/python-jsonschema/jsonschema/releases">jsonschema's
releases</a>.</em></p>
<blockquote>
<h2>v4.25.0</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<ul>
<li>Add support for the <code>iri</code> and <code>iri-reference</code>
formats to the <code>format-nongpl</code> extra by <a
href="https://github.com/jkowalleck"><code>@​jkowalleck</code></a> in <a
href="https://redirect.github.com/python-jsonschema/jsonschema/pull/1388">python-jsonschema/jsonschema#1388</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/jkowalleck"><code>@​jkowalleck</code></a> made
their first contribution in <a
href="https://redirect.github.com/python-jsonschema/jsonschema/pull/1388">python-jsonschema/jsonschema#1388</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/python-jsonschema/jsonschema/compare/v4.24.1...v4.25.0">https://github.com/python-jsonschema/jsonschema/compare/v4.24.1...v4.25.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst">jsonschema's
changelog</a>.</em></p>
<blockquote>
<h1>v4.25.0</h1>
<ul>
<li>Add support for the <code>iri</code> and <code>iri-reference</code>
formats to the <code>format-nongpl</code> extra via the MIT-licensed
<code>rfc3987-syntax</code>.
They were alread supported by the <code>format</code> extra. (<a
href="https://redirect.github.com/python-jsonschema/jsonschema/issues/1388">#1388</a>).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/python-jsonschema/jsonschema/commit/9889f69eb5ccb532e2147465697f30c82b2a8bb0"><code>9889f69</code></a>
Add the new functionality to the CHANGELOG.</li>
<li><a
href="https://github.com/python-jsonschema/jsonschema/commit/18855d01f7839083efc5bad1ca67688a7177be42"><code>18855d0</code></a>
Merge pull request <a
href="https://redirect.github.com/python-jsonschema/jsonschema/issues/1388">#1388</a>
from jkowalleck/feat/validate_rfc3987_non-gpl/rfc398...</li>
<li><a
href="https://github.com/python-jsonschema/jsonschema/commit/1a6067fc441177d1911446c7325eee7c776007ae"><code>1a6067f</code></a>
adjust rfc3987-syntax min-version</li>
<li><a
href="https://github.com/python-jsonschema/jsonschema/commit/8dd4f567caffc8b7e27eeebc8f23a889a3168bbb"><code>8dd4f56</code></a>
feat: use non-GPL validator for rfc3987</li>
<li>See full diff in <a
href="https://github.com/python-jsonschema/jsonschema/compare/v4.24.1...v4.25.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `mem0ai` from 0.1.114 to 0.1.115
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/mem0ai/mem0/releases">mem0ai's
releases</a>.</em></p>
<blockquote>
<h2>0.1.115</h2>
<h2>What's Changed</h2>
<ul>
<li>Show details for query tokens by <a
href="https://github.com/Dev-Khant"><code>@​Dev-Khant</code></a> in <a
href="https://redirect.github.com/embedchain/embedchain/pull/1392">embedchain/embedchain#1392</a></li>
<li>Version bump by <a
href="https://github.com/Dev-Khant"><code>@​Dev-Khant</code></a> in <a
href="https://redirect.github.com/embedchain/embedchain/pull/1460">embedchain/embedchain#1460</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/embedchain/embedchain/compare/0.1.114...0.1.115">https://github.com/embedchain/embedchain/compare/0.1.114...0.1.115</a></p>
<h2>v0.1.115</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix: Memgraph Graph Generation Issue by <a
href="https://github.com/akshat1423"><code>@​akshat1423</code></a> in <a
href="https://redirect.github.com/mem0ai/mem0/pull/3109">mem0ai/mem0#3109</a></li>
<li>Security Link updated by <a
href="https://github.com/Itz-Antaripa"><code>@​Itz-Antaripa</code></a>
in <a
href="https://redirect.github.com/mem0ai/mem0/pull/3108">mem0ai/mem0#3108</a></li>
<li>Add metadata field to memory update schema by <a
href="https://github.com/whysosaket"><code>@​whysosaket</code></a> in <a
href="https://redirect.github.com/mem0ai/mem0/pull/3115">mem0ai/mem0#3115</a></li>
<li>Fix: Changed keyword from assisstant to secretary by <a
href="https://github.com/V-Silpin"><code>@​V-Silpin</code></a> in <a
href="https://redirect.github.com/mem0ai/mem0/pull/2937">mem0ai/mem0#2937</a></li>
<li>Abstraction for Project in MemoryClient by <a
href="https://github.com/Dev-Khant"><code>@​Dev-Khant</code></a> in <a
href="https://redirect.github.com/mem0ai/mem0/pull/3067">mem0ai/mem0#3067</a></li>
<li>feat: Memory Exports by <a
href="https://github.com/whysosaket"><code>@​whysosaket</code></a> in <a
href="https://redirect.github.com/mem0ai/mem0/pull/3117">mem0ai/mem0#3117</a></li>
<li>Add JavaScript examples for memory export API by <a
href="https://github.com/whysosaket"><code>@​whysosaket</code></a> in <a
href="https://redirect.github.com/mem0ai/mem0/pull/3119">mem0ai/mem0#3119</a></li>
<li>Add structured_data_schema to MemoryOptions interface by <a
href="https://github.com/whysosaket"><code>@​whysosaket</code></a> in <a
href="https://redirect.github.com/mem0ai/mem0/pull/3125">mem0ai/mem0#3125</a></li>
<li>AWS Bedrock Integration and spell checks by <a
href="https://github.com/Itz-Antaripa"><code>@​Itz-Antaripa</code></a>
in <a
href="https://redirect.github.com/mem0ai/mem0/pull/3124">mem0ai/mem0#3124</a></li>
<li>Update personalized deep research example with GitHub link by <a
href="https://github.com/whysosaket"><code>@​whysosaket</code></a> in <a
href="https://redirect.github.com/mem0ai/mem0/pull/3136">mem0ai/mem0#3136</a></li>
<li>Restore and update handle_post_message implementation by <a
href="https://github.com/whysosaket"><code>@​whysosaket</code></a> in <a
href="https://redirect.github.com/mem0ai/mem0/pull/3152">mem0ai/mem0#3152</a></li>
<li>Updated livekit 1.0 integration by <a
href="https://github.com/parshvadaftari"><code>@​parshvadaftari</code></a>
in <a
href="https://redirect.github.com/mem0ai/mem0/pull/3073">mem0ai/mem0#3073</a></li>
<li>docs: Add comprehensive LLM-friendly documentation by <a
href="https://github.com/askdevai-bot"><code>@​askdevai-bot</code></a>
in <a
href="https://redirect.github.com/mem0ai/mem0/pull/3154">mem0ai/mem0#3154</a></li>
<li>Multi-LLM Research Team powered by memory by <a
href="https://github.com/Itz-Antaripa"><code>@​Itz-Antaripa</code></a>
in <a
href="https://redirect.github.com/mem0ai/mem0/pull/3160">mem0ai/mem0#3160</a></li>
<li>Agno Mem0Tools update by <a
href="https://github.com/Itz-Antaripa"><code>@​Itz-Antaripa</code></a>
in <a
href="https://redirect.github.com/mem0ai/mem0/pull/3139">mem0ai/mem0#3139</a></li>
<li>Multiagent Learning System with LlamaIndex by <a
href="https://github.com/Itz-Antaripa"><code>@​Itz-Antaripa</code></a>
in <a
href="https://redirect.github.com/mem0ai/mem0/pull/3063">mem0ai/mem0#3063</a></li>
<li>Content Writing Example Rewrite by <a
href="https://github.com/Itz-Antaripa"><code>@​Itz-Antaripa</code></a>
in <a
href="https://redirect.github.com/mem0ai/mem0/pull/3142">mem0ai/mem0#3142</a></li>
<li>Update Changelog by <a
href="https://github.com/Dev-Khant"><code>@​Dev-Khant</code></a> in <a
href="https://redirect.github.com/mem0ai/mem0/pull/3211">mem0ai/mem0#3211</a></li>
<li>docs: Update for new Project API and deprecation notices by <a
href="https://github.com/whysosaket"><code>@​whysosaket</code></a> in <a
href="https://redirect.github.com/mem0ai/mem0/pull/3212">mem0ai/mem0#3212</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/V-Silpin"><code>@​V-Silpin</code></a>
made their first contribution in <a
href="https://redirect.github.com/mem0ai/mem0/pull/2937">mem0ai/mem0#2937</a></li>
<li><a
href="https://github.com/askdevai-bot"><code>@​askdevai-bot</code></a>
made their first contribution in <a
href="https://redirect.github.com/mem0ai/mem0/pull/3154">mem0ai/mem0#3154</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/mem0ai/mem0/compare/v0.1.114...v0.1.115">https://github.com/mem0ai/mem0/compare/v0.1.114...v0.1.115</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/mem0ai/mem0/blob/main/docs/changelog.mdx">mem0ai's
changelog</a>.</em></p>
<blockquote>
<hr />
<h2>title: &quot;Product Updates&quot;
mode: &quot;wide&quot;</h2>
<!-- raw HTML omitted -->
<!-- raw HTML omitted -->
<!-- raw HTML omitted -->
<p><strong>New Features &amp; Updates:</strong></p>
<ul>
<li>Enhanced project management via <code>client.project</code> and
<code>AsyncMemoryClient.project</code> interfaces</li>
<li>Full support for project CRUD operations (create, read, update,
delete)</li>
<li>Project member management: add, update, remove, and list
members</li>
<li>Manage project settings including custom instructions, categories,
retrieval criteria, and graph enablement</li>
<li>Both sync and async support for all project management
operations</li>
</ul>
<p><strong>Improvements:</strong></p>
<ul>
<li>
<p><strong>Documentation:</strong></p>
<ul>
<li>Added detailed API reference and usage examples for new project
management methods.</li>
<li>Updated all docs to use <code>client.project.get()</code> and
<code>client.project.update()</code> instead of deprecated methods.</li>
</ul>
</li>
<li>
<p><strong>Deprecation:</strong></p>
<ul>
<li>Marked <code>get_project()</code> and <code>update_project()</code>
as deprecated (these methods were already present); added warnings to
guide users to the new API.</li>
</ul>
</li>
</ul>
<p><strong>Bug Fixes:</strong></p>
<ul>
<li><strong>Tests:</strong>
<ul>
<li>Fixed Gemini embedder and LLM test mocks for correct error handling
and argument structure.</li>
</ul>
</li>
<li><strong>vLLM:</strong>
<ul>
<li>Fixed duplicate import in vLLM module.</li>
</ul>
</li>
</ul>
<!-- raw HTML omitted -->
<!-- raw HTML omitted -->
<p><strong>New Features:</strong></p>
<ul>
<li><strong>OpenAI Agents:</strong> Added OpenAI agents SDK support</li>
<li><strong>Amazon Neptune:</strong> Added Amazon Neptune Analytics
graph_store configuration and integration</li>
<li><strong>vLLM:</strong> Added vLLM support</li>
</ul>
<p><strong>Improvements:</strong></p>
<ul>
<li><strong>Documentation:</strong>
<ul>
<li>Added SOC2 and HIPAA compliance documentation</li>
<li>Enhanced group chat feature documentation for platform</li>
<li>Added Google AI ADK Integration documentation</li>
<li>Fixed documentation images and links</li>
</ul>
</li>
<li><strong>Setup:</strong> Fixed Mem0 setup, logging, and documentation
issues</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/mem0ai/mem0/commit/33500a7ce27cd37a169772202822c133faca91a0"><code>33500a7</code></a>
Version bump (<a
href="https://redirect.github.com/mem0ai/mem0/issues/1460">#1460</a>)</li>
<li><a
href="https://github.com/mem0ai/mem0/commit/4880557d5108ec6ebad40977f55cd8a80a1eda72"><code>4880557</code></a>
Show details for query tokens (<a
href="https://redirect.github.com/mem0ai/mem0/issues/1392">#1392</a>)</li>
<li>See full diff in <a
href="https://github.com/mem0ai/mem0/compare/0.1.114...0.1.115">compare
view</a></li>
</ul>
</details>
<br />

Updates `openai` from 1.97.0 to 1.97.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/openai/openai-python/releases">openai's
releases</a>.</em></p>
<blockquote>
<h2>v1.97.1</h2>
<h2>1.97.1 (2025-07-22)</h2>
<p>Full Changelog: <a
href="https://github.com/openai/openai-python/compare/v1.97.0...v1.97.1">v1.97.0...v1.97.1</a></p>
<h3>Bug Fixes</h3>
<ul>
<li><strong>parsing:</strong> ignore empty metadata (<a
href="https://github.com/openai/openai-python/commit/58c359ff67fd6103268e4405600fd58844b6f27b">58c359f</a>)</li>
<li><strong>parsing:</strong> parse extra field types (<a
href="https://github.com/openai/openai-python/commit/d524b7e201418ccc9b5c2206da06d1be011808e5">d524b7e</a>)</li>
</ul>
<h3>Chores</h3>
<ul>
<li><strong>api:</strong> event shapes more accurate (<a
href="https://github.com/openai/openai-python/commit/f3a9a9229280ecb7e0b2779dd44290df6d9824ef">f3a9a92</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/openai/openai-python/blob/main/CHANGELOG.md">openai's
changelog</a>.</em></p>
<blockquote>
<h2>1.97.1 (2025-07-22)</h2>
<p>Full Changelog: <a
href="https://github.com/openai/openai-python/compare/v1.97.0...v1.97.1">v1.97.0...v1.97.1</a></p>
<h3>Bug Fixes</h3>
<ul>
<li><strong>parsing:</strong> ignore empty metadata (<a
href="https://github.com/openai/openai-python/commit/58c359ff67fd6103268e4405600fd58844b6f27b">58c359f</a>)</li>
<li><strong>parsing:</strong> parse extra field types (<a
href="https://github.com/openai/openai-python/commit/d524b7e201418ccc9b5c2206da06d1be011808e5">d524b7e</a>)</li>
</ul>
<h3>Chores</h3>
<ul>
<li><strong>api:</strong> event shapes more accurate (<a
href="https://github.com/openai/openai-python/commit/f3a9a9229280ecb7e0b2779dd44290df6d9824ef">f3a9a92</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/openai/openai-python/commit/e6c6757553bbdb777c31d0daf5916fb9e2b47ff8"><code>e6c6757</code></a>
release: 1.97.1</li>
<li><a
href="https://github.com/openai/openai-python/commit/48df6b4c30d7e4b1f8a60cf3d34bce8dab06a30b"><code>48df6b4</code></a>
fix(parsing): parse extra field types</li>
<li><a
href="https://github.com/openai/openai-python/commit/bf4a9a422e5eaffa90863439ddfd8a82cbaaa636"><code>bf4a9a4</code></a>
chore(api): event shapes more accurate</li>
<li><a
href="https://github.com/openai/openai-python/commit/c6b933520213cddea927c4fe83c1abe2f66893d8"><code>c6b9335</code></a>
fix(parsing): ignore empty metadata</li>
<li><a
href="https://github.com/openai/openai-python/commit/fa466c099aab0213f3ce09d5adcfca5ae2bf58a4"><code>fa466c0</code></a>
codegen metadata</li>
<li>See full diff in <a
href="https://github.com/openai/openai-python/compare/v1.97.0...v1.97.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `sentry-sdk` from 2.33.0 to 2.33.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/getsentry/sentry-python/releases">sentry-sdk's
releases</a>.</em></p>
<blockquote>
<h2>2.33.2</h2>
<h3>Various fixes &amp; improvements</h3>
<ul>
<li>ref(spotlight): Do not import <code>sentry_sdk.spotlight</code>
unless enabled (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/4607">#4607</a>)
by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a></li>
<li>ref(gnu-integration): update clickhouse stacktrace parsing (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/4598">#4598</a>)
by <a
href="https://github.com/MeredithAnya"><code>@​MeredithAnya</code></a></li>
</ul>
<h2>2.33.1</h2>
<h3>Various fixes &amp; improvements</h3>
<ul>
<li>fix(integrations): allow explicit op parameter in
<code>ai_track</code> (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/4597">#4597</a>)
by <a
href="https://github.com/mshavliuk"><code>@​mshavliuk</code></a></li>
<li>fix: Fix <code>abs_path</code> bug in <code>serialize_frame</code>
(<a
href="https://redirect.github.com/getsentry/sentry-python/issues/4599">#4599</a>)
by <a
href="https://github.com/szokeasaurusrex"><code>@​szokeasaurusrex</code></a></li>
<li>Remove pyrsistent from test dependencies (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/4588">#4588</a>)
by <a
href="https://github.com/musicinmybrain"><code>@​musicinmybrain</code></a></li>
<li>Remove explicit <code>__del__</code>'s in threaded classes (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/4590">#4590</a>)
by <a
href="https://github.com/sl0thentr0py"><code>@​sl0thentr0py</code></a></li>
<li>Remove forked from test_transport, separate gevent tests and
generalize capturing_server to be module level (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/4577">#4577</a>)
by <a
href="https://github.com/sl0thentr0py"><code>@​sl0thentr0py</code></a></li>
<li>Improve token usage recording (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/4566">#4566</a>)
by <a
href="https://github.com/antonpirker"><code>@​antonpirker</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md">sentry-sdk's
changelog</a>.</em></p>
<blockquote>
<h2>2.33.2</h2>
<h3>Various fixes &amp; improvements</h3>
<ul>
<li>ref(spotlight): Do not import <code>sentry_sdk.spotlight</code>
unless enabled (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/4607">#4607</a>)
by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a></li>
<li>ref(gnu-integration): update clickhouse stacktrace parsing (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/4598">#4598</a>)
by <a
href="https://github.com/MeredithAnya"><code>@​MeredithAnya</code></a></li>
</ul>
<h2>2.33.1</h2>
<h3>Various fixes &amp; improvements</h3>
<ul>
<li>fix(integrations): allow explicit op parameter in
<code>ai_track</code> (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/4597">#4597</a>)
by <a
href="https://github.com/mshavliuk"><code>@​mshavliuk</code></a></li>
<li>fix: Fix <code>abs_path</code> bug in <code>serialize_frame</code>
(<a
href="https://redirect.github.com/getsentry/sentry-python/issues/4599">#4599</a>)
by <a
href="https://github.com/szokeasaurusrex"><code>@​szokeasaurusrex</code></a></li>
<li>Remove pyrsistent from test dependencies (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/4588">#4588</a>)
by <a
href="https://github.com/musicinmybrain"><code>@​musicinmybrain</code></a></li>
<li>Remove explicit <code>__del__</code>'s in threaded classes (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/4590">#4590</a>)
by <a
href="https://github.com/sl0thentr0py"><code>@​sl0thentr0py</code></a></li>
<li>Remove forked from test_transport, separate gevent tests and
generalize capturing_server to be module level (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/4577">#4577</a>)
by <a
href="https://github.com/sl0thentr0py"><code>@​sl0thentr0py</code></a></li>
<li>Improve token usage recording (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/4566">#4566</a>)
by <a
href="https://github.com/antonpirker"><code>@​antonpirker</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/getsentry/sentry-python/commit/f4907a9bbf8586954b4c2d651126fb5534344942"><code>f4907a9</code></a>
release: 2.33.2</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/24790ebb2728e03a2044b0a877220b4823cc6418"><code>24790eb</code></a>
ref(spotlight): Do not import <code>sentry_sdk.spotlight</code> unless
enabled (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/4607">#4607</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/0e7304989312affda1127ede95b5b4eda243ba8e"><code>0e73049</code></a>
ref(gnu-integration): update clickhouse stacktrace parsing (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/4598">#4598</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/ca3241ec64e01ff7e51ce23ef0a03bd8801b5b5b"><code>ca3241e</code></a>
Merge branch 'release/2.33.1'</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/5cd43be59611576e5bdfad28a9df50bc9652ac4c"><code>5cd43be</code></a>
meta: Update CHANGELOG.md</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/38c27dd99a7759ec02937d92738a3fecf81cfb88"><code>38c27dd</code></a>
release: 2.33.1</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/7b028b6c83c4d8ad9191864f25ef7d34ad95b111"><code>7b028b6</code></a>
fix(integrations): allow explicit op parameter in <code>ai_track</code>
(<a
href="https://redirect.github.com/getsentry/sentry-python/issues/4597">#4597</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/d32e2eed6e2db041301ba43d212ca34342efd701"><code>d32e2ee</code></a>
fix: Fix <code>abs_path</code> bug in <code>serialize_frame</code> (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/4599">#4599</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/b065719ddd91aa27098f3875e48d2d3004349b0c"><code>b065719</code></a>
Remove pyrsistent from test dependencies (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/4588">#4588</a>)</li>
<li><a
href="https://github.com/getsentry/sentry-python/commit/34dcba4acca5d1b33656e4fa5fe87d9c7816de34"><code>34dcba4</code></a>
Remove explicit <strong>del</strong>'s in threaded classes (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/4590">#4590</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/getsentry/sentry-python/compare/2.33.0...2.33.2">compare
view</a></li>
</ul>
</details>
<br />

Updates `supabase` from 2.16.0 to 2.17.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/supabase/supabase-py/releases">supabase's
releases</a>.</em></p>
<blockquote>
<h2>v2.17.0</h2>
<h2><a
href="https://github.com/supabase/supabase-py/compare/v2.16.0...v2.17.0">2.17.0</a>
(2025-07-16)</h2>
<h3>Features</h3>
<ul>
<li><strong>deps:</strong> bump realtime from 2.5.3 to 2.6.0 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1172">#1172</a>)
(<a
href="https://github.com/supabase/supabase-py/commit/89fa81a6beaba3b3f3837e055d4860999e40f664">89fa81a</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>add note about explicit client.auth.sign_out() for proper shutdown
(<a
href="https://redirect.github.com/supabase/supabase-py/issues/926">#926</a>)
(<a
href="https://redirect.github.com/supabase/supabase-py/issues/1163">#1163</a>)
(<a
href="https://github.com/supabase/supabase-py/commit/b657308e61253a70cf966b71c58e5b17a83e36a8">b657308</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/supabase/supabase-py/blob/main/CHANGELOG.md">supabase's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/supabase/supabase-py/compare/v2.16.0...v2.17.0">2.17.0</a>
(2025-07-16)</h2>
<h3>Features</h3>
<ul>
<li><strong>deps:</strong> bump realtime from 2.5.3 to 2.6.0 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1172">#1172</a>)
(<a
href="https://github.com/supabase/supabase-py/commit/89fa81a6beaba3b3f3837e055d4860999e40f664">89fa81a</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>add note about explicit client.auth.sign_out() for proper shutdown
(<a
href="https://redirect.github.com/supabase/supabase-py/issues/926">#926</a>)
(<a
href="https://redirect.github.com/supabase/supabase-py/issues/1163">#1163</a>)
(<a
href="https://github.com/supabase/supabase-py/commit/b657308e61253a70cf966b71c58e5b17a83e36a8">b657308</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/supabase/supabase-py/commit/35c1a198fbd1a56551baefb1b5eb5f81278eaf19"><code>35c1a19</code></a>
chore(main): release 2.17.0 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1164">#1164</a>)</li>
<li><a
href="https://github.com/supabase/supabase-py/commit/ea1152d9d5049470ab95738ff06c0c06fa82e952"><code>ea1152d</code></a>
chore(typo): change PyPi tp PyPI in README (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1175">#1175</a>)</li>
<li><a
href="https://github.com/supabase/supabase-py/commit/880a706454c55738682fbea40c40b315258c7e21"><code>880a706</code></a>
chore(deps-dev): bump ruff from 0.12.2 to 0.12.3 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1173">#1173</a>)</li>
<li><a
href="https://github.com/supabase/supabase-py/commit/89fa81a6beaba3b3f3837e055d4860999e40f664"><code>89fa81a</code></a>
feat(deps): bump realtime from 2.5.3 to 2.6.0 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1172">#1172</a>)</li>
<li><a
href="https://github.com/supabase/supabase-py/commit/c07e9a46fe290ac7a8f04e556d334afe647cf264"><code>c07e9a4</code></a>
chore: pin supabase dependencies versions (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1170">#1170</a>)</li>
<li><a
href="https://github.com/supabase/supabase-py/commit/4b193f5dfd1a03ed86d44bd0c2be68490a6b5589"><code>4b193f5</code></a>
chore(deps): bump gotrue from 2.12.2 to 2.12.3 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1168">#1168</a>)</li>
<li><a
href="https://github.com/supabase/supabase-py/commit/3a67df6bf0394913135cd891c80553cc56e51db5"><code>3a67df6</code></a>
chore(deps-dev): bump ruff from 0.12.1 to 0.12.2 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1167">#1167</a>)</li>
<li><a
href="https://github.com/supabase/supabase-py/commit/a1db7a724dd360304af71e07cda02dd3b8e7904b"><code>a1db7a7</code></a>
chore: replace isort, black, pyupgrade and autoflake with ruff (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1165">#1165</a>)</li>
<li><a
href="https://github.com/supabase/supabase-py/commit/b657308e61253a70cf966b71c58e5b17a83e36a8"><code>b657308</code></a>
docs: add note about explicit client.auth.sign_out() for proper shutdown
(<a
href="https://redirect.github.com/supabase/supabase-py/issues/92">#92</a>...</li>
<li><a
href="https://github.com/supabase/supabase-py/commit/aef197f3dc484df3a2b623ac2f9ae52755a84f9d"><code>aef197f</code></a>
chore(realtime): bump realtime from 2.5.1 to 2.5.3 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1162">#1162</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/supabase/supabase-py/compare/v2.16.0...v2.17.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `youtube-transcript-api` from 1.1.1 to 1.2.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/jdepoix/youtube-transcript-api/releases">youtube-transcript-api's
releases</a>.</em></p>
<blockquote>
<h2>v1.2.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Added the property <code>filter_ip_locations</code> to
<code>WebshareProxyConfig</code>. This allows for limiting the pool of
IPs that Webshare will be rotating through to those located in specific
countries. By choosing locations that are close to the machine that is
doing the requests, latency can be reduced. Also, this can be used to
work around location-based restrictions.
<pre lang="python"><code>ytt_api = YouTubeTranscriptApi(
    proxy_config=WebshareProxyConfig(
        proxy_username=&quot;&lt;proxy-username&gt;&quot;,
        proxy_password=&quot;&lt;proxy-password&gt;&quot;,
        filter_ip_locations=[&quot;de&quot;, &quot;us&quot;],
    )
)
<h1>Webshare will now only rotate through IPs located in Germany or the
United States!</h1>
<p>ytt_api.fetch(video_id)
</code></pre>
The full list of available locations (and how many IPs are available in
each location) can be found <a
href="https://www.webshare.io/features/proxy-locations?referral_code=w0xno53eb50g">here</a>.</li></p>
<li>[Fixes <a
href="https://redirect.github.com/jdepoix/youtube-transcript-api/issues/483">#483</a>]
Add <code>__all__</code> to <code>__init__.py</code> to support mypy
--strict usage by <a
href="https://github.com/Jer-Pha"><code>@​Jer-Pha</code></a> in <a
href="https://redirect.github.com/jdepoix/youtube-transcript-api/pull/486">jdepoix/youtube-transcript-api#486</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/Jer-Pha"><code>@​Jer-Pha</code></a> made
their first contribution in <a
href="https://redirect.github.com/jdepoix/youtube-transcript-api/pull/486">jdepoix/youtube-transcript-api#486</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/jdepoix/youtube-transcript-api/compare/v1.2.0...v1.2.1">https://github.com/jdepoix/youtube-transcript-api/compare/v1.2.0...v1.2.1</a></p>
<h2>v1.2.0</h2>
<h2>What's Changed</h2>
<ul>
<li><strong>[BREAKING]</strong> Removed the deprecated methods
<code>get_transcript</code>, <code>get_transcripts</code> and
<code>list_transcripts</code>. They have already been deprecated in
<code>v1.0.0</code>, but I've kept them around to allow for an easier
migration to <code>v1.0.0</code>. However, these methods have led to a
lot of issues being created due to people initializing a
<code>YouTubeTranscriptApi</code> object and passing a proxy config into
the constructor, but then calling the deprecated static methods on that
object. As these methods are static they don't/can't access the state
set in the constructor, therefore, the proxy config is ignored.</li>
</ul>
<h2>Migration Guide</h2>
<p>If you're still using <code>get_transcript</code>,
<code>get_transcripts</code> you have to change your code as
follows:</p>
<pre lang="python"><code># old API
transcript = YouTubeTranscriptApi.get_transcript(&quot;abc&quot;)
<h1>new API</h1>
<p>ytt_api = YouTubeTranscriptApi()
transcript = ytt_api.fetch(&quot;abc&quot;).to_raw_data()
</code></pre></p>
<p>If you're still using <code>list_transcripts</code> you have to
change your code as follows:</p>
<pre lang="python"><code># old API
transcript_list = YouTubeTranscriptApi.list_transcripts(&quot;abc&quot;)
<h1>new API</h1>
<p>ytt_api = YouTubeTranscriptApi()
transcript_list = ytt_api.list(&quot;abc&quot;)
</code></pre></p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/jdepoix/youtube-transcript-api/compare/v1.1.1...v1.2.0">https://github.com/jdepoix/youtube-transcript-api/compare/v1.1.1...v1.2.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/jdepoix/youtube-transcript-api/commit/aa50f3735cfc60016408b6bd7b41065489221a5f"><code>aa50f37</code></a>
v1.2.1</li>
<li><a
href="https://github.com/jdepoix/youtube-transcript-api/commit/2c88d5c261f7007606a731586a2206d9e0fbc6de"><code>2c88d5c</code></a>
Merge pull request <a
href="https://redirect.github.com/jdepoix/youtube-transcript-api/issues/486">#486</a>
from Jer-Pha/bugfix/ISSUE-483</li>
<li><a
href="https://github.com/jdepoix/youtube-transcript-api/commit/d948c984555e9cd2c0a8a5fbdf4d1bc17b15e6bc"><code>d948c98</code></a>
Merge branch 'master' into bugfix/ISSUE-483</li>
<li><a
href="https://github.com/jdepoix/youtube-transcript-api/commit/11306c2288b2309d2e3980e70ff60ae100c3e2d9"><code>11306c2</code></a>
Merge pull request <a
href="https://redirect.github.com/jdepoix/youtube-transcript-api/issues/490">#490</a>
from jdepoix/feature/filter-webshare-ip-locations</li>
<li><a
href="https://github.com/jdepoix/youtube-transcript-api/commit/4fa89a579953c107a8da7fddb0e1bd588acd9c24"><code>4fa89a5</code></a>
Merge branch 'master' into bugfix/ISSUE-483</li>
<li><a
href="https://github.com/jdepoix/youtube-transcript-api/commit/747e245703641f581fe1c5d427a0fa2c3dbd3c8d"><code>747e245</code></a>
fmt</li>
<li><a
href="https://github.com/jdepoix/youtube-transcript-api/commit/bf17e50119571a29883010a5ce9a780bd1a51c76"><code>bf17e50</code></a>
added filter_ip_locations property to WebshareProxyConfig</li>
<li><a
href="https://github.com/jdepoix/youtube-transcript-api/commit/da6920bf5dac2a061375f7170b2540294b72b891"><code>da6920b</code></a>
Merge pull request <a
href="https://redirect.github.com/jdepoix/youtube-transcript-api/issues/488">#488</a>
from jdepoix/feature/remove-depcreated-methods</li>
<li><a
href="https://github.com/jdepoix/youtube-transcript-api/commit/a951854edc0ac7b72368ec2be991ca8fec27f623"><code>a951854</code></a>
v1.2.0</li>
<li><a
href="https://github.com/jdepoix/youtube-transcript-api/commit/ed8b666608707c821716cef9c70b5ddaf57ce6af"><code>ed8b666</code></a>
removed deprecated methods: get_transcript, get_transcripts,
list_transcripts</li>
<li>Additional commits viewable in <a
href="https://github.com/jdepoix/youtube-transcript-api/compare/v1.1.1...v1.2.1">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Reinier van der Leer <pwuts@agpt.co>
## Overview

This PR adds comprehensive Airtable integration to the AutoGPT platform,
enabling users to seamlessly connect their Airtable bases with AutoGPT
workflows for powerful no-code automation capabilities.

## Why Airtable Integration?

Airtable is one of the most popular no-code databases used by teams for
project management, CRMs, inventory tracking, and countless other use
cases. This integration brings significant value:

- **Data Automation**: Automate data entry, updates, and synchronization
between Airtable and other services
- **Workflow Triggers**: React to changes in Airtable bases with
webhook-based triggers
- **Schema Management**: Programmatically create and manage Airtable
table structures
- **Bulk Operations**: Efficiently process large amounts of data with
batch create/update/delete operations

## Key Features

### 🔌 Webhook Trigger
- **AirtableWebhookTriggerBlock**: Listens for changes in Airtable bases
and triggers workflows
- Supports filtering by table, view, and specific fields
- Includes webhook signature validation for security

### 📊 Record Operations  
- **AirtableCreateRecordsBlock**: Create single or multiple records (up
to 10 at once)
- **AirtableUpdateRecordsBlock**: Update existing records with upsert
support
- **AirtableDeleteRecordsBlock**: Delete single or multiple records
- **AirtableGetRecordBlock**: Retrieve specific record details
- **AirtableListRecordsBlock**: Query records with filtering, sorting,
and pagination

### 🏗️ Schema Management
- **AirtableCreateTableBlock**: Create new tables with custom field
definitions
- **AirtableUpdateTableBlock**: Modify table properties
- **AirtableAddFieldBlock**: Add new fields to existing tables
- **AirtableUpdateFieldBlock**: Update field properties

## Technical Implementation Details

### Authentication
- Supports both API Key and OAuth authentication methods
- OAuth implementation includes proper token refresh handling
- Credentials are securely managed through the platform's credential
system

### Webhook Security
- Added `credentials` parameter to WebhooksManager interface for proper
signature validation
- HMAC-SHA256 signature verification ensures webhook authenticity
- Webhook cursor tracking prevents duplicate event processing

### API Integration
- Comprehensive API client (`_api.py`) with full type safety
- Proper error handling and response validation
- Support for all Airtable field types and operations

## Changes 🏗️ 

### Added Blocks:
- AirtableWebhookTriggerBlock
- AirtableCreateRecordsBlock
- AirtableDeleteRecordsBlock
- AirtableGetRecordBlock
- AirtableListRecordsBlock
- AirtableUpdateRecordsBlock
- AirtableAddFieldBlock
- AirtableCreateTableBlock
- AirtableUpdateFieldBlock
- AirtableUpdateTableBlock

### Modified Files:
- Updated WebhooksManager interface to support credential-based
validation
- Modified all webhook handlers to support the new interface

## Test Plan 📋

### Manual Testing Performed:
1. **Authentication Testing**
   - ✅ Verified API key authentication works correctly
   - ✅ Tested OAuth flow including token refresh
   - ✅ Confirmed credentials are properly encrypted and stored

2. **Webhook Testing**
   - ✅ Created webhook subscriptions for different table events
   - ✅ Verified signature validation prevents unauthorized requests
   - ✅ Tested cursor tracking to ensure no duplicate events
   - ✅ Confirmed webhook cleanup on block deletion

3. **Record Operations Testing**
   - ✅ Created single and batch records with various field types
   - ✅ Updated records with and without upsert functionality
   - ✅ Listed records with filtering, sorting, and pagination
   - ✅ Deleted single and multiple records
   - ✅ Retrieved individual record details

4. **Schema Management Testing**
   - ✅ Created tables with multiple field types
   - ✅ Added fields to existing tables
   - ✅ Updated table and field properties
   - ✅ Verified proper error handling for invalid field types

5. **Error Handling Testing**
   - ✅ Tested with invalid credentials
   - ✅ Verified proper error messages for API limits
   - ✅ Confirmed graceful handling of network errors

### Security Considerations 🔒

1. **API Key Management**
   - API keys are stored encrypted in the credential system
   - Keys are never logged or exposed in error messages
   - Credentials are passed securely through the execution context

2. **Webhook Security**
   - HMAC-SHA256 signature validation on all incoming webhooks
   - Webhook URLs use secure ingress endpoints
   - Proper cleanup of webhooks when blocks are deleted

3. **OAuth Security**
   - OAuth tokens are securely stored and refreshed
   - Scopes are limited to necessary permissions
   - Token refresh happens automatically before expiration

## Configuration Requirements

No additional environment variables or configuration changes are
required. The integration uses the existing credential management
system.

## Checklist 📋

#### For code changes:
- [x] I have read the [contributing
instructions](https://github.com/Significant-Gravitas/AutoGPT/blob/master/.github/CONTRIBUTING.md)
- [x] Confirmed that `make lint` passes
- [x] Confirmed that `make test` passes  
- [x] Updated documentation where needed
- [x] Added/updated tests for new functionality
- [x] Manually tested all blocks with real Airtable bases
- [x] Verified backwards compatibility of webhook interface changes

#### Security:
- [x] No hard-coded secrets or sensitive information
- [x] Proper input validation on all user inputs
- [x] Secure credential handling throughout
…ficant-Gravitas#9946)

This PR implements a comprehensive Ayrshare social media integration for
AutoGPT Platform, enabling users to post content across multiple social
media platforms through a unified interface. Ayrshare provides a single
API to manage posts across Facebook, Twitter/X, LinkedIn, Instagram,
YouTube, TikTok, Pinterest, Reddit, Telegram, Google My Business,
Bluesky, Snapchat, and Threads.

The integration addresses the need for social media automation and
content distribution workflows within AutoGPT agents, allowing users to:
- Connect their social media accounts via SSO
- Post content with platform-specific options and constraints
- Schedule posts across multiple platforms simultaneously
- Handle platform-specific media requirements and validation

⚠️ To simplify the review process all except the twitter post block has
been commented out, future pr's will uncomment other platfroms so we can
test them in isolation.

### Changes 🏗️

#### Backend Integration (`backend/integrations/ayrshare.py`)
- **AyrshareClient**: Complete API client implementation with post
creation, profile management, and JWT generation
- **SocialPlatform enum**: Comprehensive platform definitions for all
supported social networks
- **Response models**: PostResponse, ProfileResponse, JWTResponse for
type-safe API interactions
- **Error handling**: Custom AyrshareAPIException with proper HTTP
status code handling

#### Social Media Posting Blocks (`backend/blocks/ayrshare/post.py`)
- **BaseAyrshareInput**: Shared input schema with common fields (post
text, media URLs, scheduling, etc.)
- **Platform-specific blocks**: 13 dedicated posting blocks, each with
platform-specific validation and options:
  - PostToFacebookBlock: Carousel, Reels, Stories, targeting, alt text
- PostToXBlock: Threads, polls, long posts, premium features, subtitles
- PostToLinkedInBlock: Document support, visibility controls, audience
targeting
  - PostToInstagramBlock: Stories, Reels, user tags, collaborators
- PostToYouTubeBlock: Video uploads, playlists, visibility, country
targeting
  - PostToPinterestBlock: Pins, carousels, board management
  - PostToTikTokBlock: Video/image posts, AI labeling, brand content
  - PostToRedditBlock: Basic posting functionality
  - PostToTelegramBlock: GIF handling, mentions
  - PostToGMBBlock: Event/offer posts, call-to-action buttons
  - PostToBlueskyBlock: Character limit validation, alt text
  - PostToSnapchatBlock: Story types, video thumbnails
  - PostToThreadsBlock: Hashtag restrictions, carousel support

#### Helper Models
- **CarouselItem**: Facebook carousel configuration
- **CallToAction, EventDetails, OfferDetails**: Google My Business post
types
- **InstagramUserTag**: Instagram user tagging with coordinates
- **LinkedInTargeting**: LinkedIn audience targeting options
- **PinterestCarouselOption**: Pinterest carousel image options
- **YouTubeTargeting**: YouTube country blocking/allowing

#### Authentication & SSO (`backend/server/integrations/router.py`)
- **SSO endpoint**: `/integrations/ayrshare/sso_url` for account linking
- **Profile management**: Automatic profile creation and key management
- **JWT generation**: Secure token generation for social media account
linking
- **Platform allowlist**: Configured access to all supported social
platforms

#### Frontend Integration (`frontend/src/components/CustomNode.tsx`)
- **AYRSHARE block type**: New BlockUIType.AYRSHARE for
Ayrshare-specific nodes
- **SSO button**: "Connect Social Media Accounts" with loading states
- **Handle generation**: Special handling for Ayrshare blocks with SSO
integration

#### Configuration
- **Environment variables**: Added AYRSHARE_API_KEY and AYRSHARE_JWT_KEY
to .env.example
- **Block registration**: All Ayrshare blocks registered in
AYRSHARE_NODE_IDS array

#### Type Safety & Error Handling
- **Modern typing**: Updated to use `list`, `dict`, `Any` instead of
legacy typing
- **Comprehensive validation**: Platform-specific constraints (character
limits, media counts, file types)
- **User-friendly errors**: Clear error messages for validation failures
and API errors

### Checklist 📋

#### For code changes:
- [x] I have clearly listed my changes in the PR description
- [x] I have made a test plan
- [x] I have tested my changes according to the test plan:

  **Test Plan:**
  
  **Backend API Testing:**
  - [x] Verify AyrshareClient initializes correctly with API key
  - [x] Test JWT generation for SSO authentication
  - [x] Test profile creation and management
  - [x] Verify all 13 posting blocks are properly registered
  - [x] Test platform-specific validation rules for each block
  - [x] Verify error handling for missing credentials and API failures
  
  **Frontend Integration Testing:**
  - [x] Verify AYRSHARE block type renders correctly in flow editor
  - [x] Test SSO button functionality and popup window behavior
  - [x] Confirm loading states work properly during authentication
  - [x] Verify input handles generate correctly for Ayrshare blocks
  - [x] Test platform-specific input fields and validation
  
  **End-to-End Workflow Testing:**
  - [x] Create agent with Ayrshare posting blocks
  - [x] Test SSO flow: click "Connect Social Media Accounts" button
  - [x] Verify popup opens with Ayrshare authentication page
  - [x] Test social media account linking process
  - [x] Create posts with various platform-specific options:
      - [ X ] X (Twitter) - tested basic posting with image
  - [] Test scheduling functionality across platforms
  - [x] Verify media upload constraints and validation
  - [] Test error handling for invalid inputs and failed posts
  
  **Error Case Testing:**
  - [] Test behavior with missing AYRSHARE_API_KEY configuration
  - [] Test invalid social media credentials handling
  - [] Test network failure scenarios
  - [] Verify platform-specific validation error messages
  - [] Test character limit enforcement per platform
  - [] Test media file type and size restrictions
  
  **Security Testing:**
  - [ x ] Verify JWT tokens are properly generated and validated
  - [x] Test profile key isolation between users
  - [x] Confirm sensitive credentials are not logged
  - [x] Verify SSO popup prevents XSS attacks

#### For configuration changes:
- [x] `.env.example` is updated or already compatible with my changes
- [x] `docker-compose.yml` is updated or already compatible with my
changes
- [x] I have included a list of my configuration changes in the PR
description (under **Changes**)

**Configuration Changes:**
- Added `AYRSHARE_API_KEY` environment variable for Ayrshare API
authentication
- Added `AYRSHARE_JWT_KEY` environment variable for SSO token generation
- No docker-compose.yml changes required (uses existing backend
services)

---------

Co-authored-by: Reinier van der Leer <pwuts@agpt.co>
## Changes 🏗️

- Close websocket connections gracefully during logout ( _whether from
another tab or not_ )
- Also fixed an error on `HeroSection` that shows when the onboarding is
disabled locally ( `null` )
- Uncomment legit tests about connecting/saving agents
- Centralise local storage usage through a single service with typed
keys

## Checklist 📋

### For code changes:
- [x] I have clearly listed my changes in the PR description
- [x] I have made a test plan
- [x] I have tested my changes according to the test plan:
  - [x] Login in 3 tabs ( 1 builder, 1 marketplace, 1 agent run view )
  - [x] Logout from the marketplace tab
- [x] The other tabs show logout state gracefully without toasts or
errors
- [x] Websocket connections are closed ( _devtools console shows that_ )

### For configuration changes:

None
ntindle and others added 24 commits August 24, 2025 21:13
…cant-Gravitas#10725)

<!-- Clearly explain the need for these changes: -->
We're showing invalid credential types on the selections  across the app
### Changes 🏗️
We go from (incorrect)
<img width="2551" height="1202" alt="image"
src="https://github.com/user-attachments/assets/e566ed6c-b6c9-4047-80fd-0f2c8cef0bf9"
/>
to this with the fix
<img width="2551" height="1202" alt="image"
src="https://github.com/user-attachments/assets/c720a3d4-9c03-48c5-82a3-d30752bce13c"
/>

<!-- 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 broken agent and upload images proving its no longer
broken
…ravitas#10706)

This simply removes the schedule "every minute" option from the schedule
tasks UI, Its still possible to set a every minute schedule via the
custom option

### 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] Check the Schedule Tasks UI to see there is no more "Every Minute"
option
- [x] Check you can still set a schedule a agent to run every minute
using the custom option
<!-- Clearly explain the need for these changes: -->
This PR implements blocks that enable users to interact with the AutoGPT
store and library programmatically. This addresses the need for agents
to be able to add other agents from the store to their library and
manage agent collections automatically, as requested in Linear issue
OPEN-2602. These are locked behind LaunchDarkly for now.


https://github.com/user-attachments/assets/b8518961-abbf-4e9d-a31e-2f3d13fa6b0d


### Changes 🏗️

<!-- Concisely describe all of the changes made in this pull request:
-->

- **Added new store operations blocks**
(`backend/blocks/system/store_operations.py`):
- `GetStoreAgentDetailsBlock`: Retrieves detailed information about an
agent from the store
- `SearchStoreAgentsBlock`: Searches for agents in the store with
various filters

  
- **Added new library operations blocks**
(`backend/blocks/system/library_operations.py`):
  - `ListLibraryAgentsBlock`: Lists all agents in the user's library
- `AddToLibraryFromStoreBlock`: Adds an agent from the store to user's
library

- **Updated block exports** in `backend/blocks/system/__init__.py` to
include new blocks

- **Added comprehensive tests** for store operations in
`backend/blocks/test/test_store_operations.py`

- **Enhanced executor database utilities** in
`backend/executor/database.py` with new helper methods for agent
management

- **Updated frontend marketplace page** to properly handle the new store
operations

### 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] Created unit tests for all new store operation blocks
- [x] Tested GetStoreAgentDetailsBlock retrieves correct agent
information
- [x] Tested SearchStoreAgentsBlock filters and returns agents correctly
- [x] Tested AddToLibraryFromStoreBlock successfully adds agents to
library
  - [x] Tested error handling for non-existent agents and invalid inputs
  - [x] Verified all blocks integrate properly with the database manager
  - [x] Confirmed blocks appear in the block registry and are accessible

---------

Co-authored-by: Lluis Agusti <hi@llu.lu>
Co-authored-by: Swifty <craigswift13@gmail.com>
## Changes 🏗️

Add components needed for the new **Agent Run Modal** ( _splitting PRs
in this way the modal PR will be smaller_ 💆🏽 ).
[Design
reference](https://www.figma.com/design/14jjs3hH3Hmkq4hGqxZWco/agent-runs-unification?node-id=188-15511&t=6fVja182TuoluMwc-1).

### `<Breadcrumbs />`

<img width="248" height="72" alt="Screenshot 2025-08-25 at 17 52 36"
src="https://github.com/user-attachments/assets/6191aa03-bb6b-47fe-af8c-20dbdb1b9d06"
/>

Before the project was using Breadcrumbs from Shadcn directly, it now
uses new ones styled following the AutoGPT Design System.

### `<MultiToggle />` 

<img width="350" height="148" alt="Screenshot 2025-08-25 at 17 52 07"
src="https://github.com/user-attachments/assets/e1bbb735-62e5-4c73-929a-52ec0109f274"
/>

### `<Collapisble />`

<img width="350" height="135" alt="Screenshot 2025-08-25 at 17 52 50"
src="https://github.com/user-attachments/assets/e4ee4026-8bd5-4d08-8875-3ecb573bd6bb"
/>

### `<ShowMoreText />`

<img width="500" height="60" alt="Screenshot 2025-08-25 at 17 52 17"
src="https://github.com/user-attachments/assets/2e85a192-b7ab-4f5f-b35d-5ed9d3ef6132"
/>

This is very similar to `<Collapsible />`, the difference is designed to
work specifically with text. The `more/less` trigger is displayed next
to the text in a simple way. `<Collapsible />` might used with other
elements, for example like FAQ or hiding/expanding forms.

### `<LLMItem />`

<img width="300" height="78" alt="Screenshot 2025-08-25 at 17 52 26"
src="https://github.com/user-attachments/assets/7b904e15-75d3-4f11-9863-2d0db072e884"
/>

### Checklist 📋

#### For code changes:
- [x] I have clearly listed my changes in the PR description
- [x] I have made a test plan
- [x] I have tested my changes according to the test plan:
  - [x] Run Storybook
  - [x] Stories look good and make sense 

#### For configuration changes:

None
At the bottom of the library page is an alert directing people to the
old monitoring page. This PR removes this link, as the old monitoring
page no longer works.

### Changes 🏗️

Remove Alert directing users to the old monitoring page. 

### 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] Check alert no longer shows on the library page
…PI (Significant-Gravitas#10719)

<!-- Clearly explain the need for these changes: -->

### Need for these changes 💥

This PR resolves Linear issue `SECRT-1290`, addressing a critical bug
where the scheduler API fails with a "Wrong number of fields" error when
empty or invalid cron expressions are submitted from the frontend. This
was causing production errors and a poor user experience. It was an off
by one error

### Changes 🏗️


Fix off by one error + add additional logging / error messaging when
someone makes an invalid cron


https://github.com/user-attachments/assets/775881a9-707b-4c4f-b23a-bd7118a358ee



### 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] Attempt to schedule an agent with an empty cron expression from
the UI and confirm a frontend toast error.
- [x] Attempt to schedule an agent with an incomplete yearly cron (no
months selected) from the UI and confirm a frontend toast error and UI
warning.
- [x] Attempt to schedule an agent with an incomplete monthly cron (no
days selected) from the UI and confirm a frontend toast error and UI
warning.
- [x] Attempt to schedule an agent with an incomplete weekly cron (no
days selected) from the UI and confirm a frontend toast error and UI
warning.
- [x] Verify that valid cron expressions can still be scheduled
successfully.
  - [x] Run backend unit tests for scheduler cron validation.
  - [x] Run frontend unit tests for cron expression utility.


---
Linear Issue: [SECRT-1290](https://linear.app/autogpt/issue/SECRT-1290)

<a
href="https://cursor.com/background-agent?bcId=bc-8bc10502-9498-4dbd-afa2-93e15990fa8c">
  <picture>
<source media="(prefers-color-scheme: dark)"
srcset="https://cursor.com/open-in-cursor-dark.svg">
<source media="(prefers-color-scheme: light)"
srcset="https://cursor.com/open-in-cursor-light.svg">
<img alt="Open in Cursor" src="https://cursor.com/open-in-cursor.svg">
  </picture>
</a>
<a
href="https://cursor.com/agents?id=bc-8bc10502-9498-4dbd-afa2-93e15990fa8c">
  <picture>
<source media="(prefers-color-scheme: dark)"
srcset="https://cursor.com/open-in-web-dark.svg">
<source media="(prefers-color-scheme: light)"
srcset="https://cursor.com/open-in-web-light.svg">
    <img alt="Open in Web" src="https://cursor.com/open-in-web.svg">
  </picture>
</a>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Swifty <craigswift13@gmail.com>
…nt-Gravitas#10728)

AutoModManager now captures and propagates the content_id from the
moderation API for both input and output moderation. AutoModResponse and
ModerationError are updated to include content_id, allowing better
traceability of moderation actions and error reporting, with this the
error message will now show ``Failed due to content moderation
(Moderation ID: uuid-here)``

This is good for if a user is having a issue with automod and its
falsely flagging there runs we can use the moderation ID to look at
automod to see whats going on

<!-- Clearly explain the need for these changes: -->

### Changes 🏗️

Just some updates to receive the content_id from AutoMod and then show
it in the "Failed due to content moderation" message

### 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 autogpt with AM and trigger it and it will show the content_id
in the error message
…ificant-Gravitas#10718)

### Changes 🏗️

This PR implements email notifications for agent creators when their
agent submissions are approved or rejected by an admin in the
marketplace.

Specifically, the changes include:
- Added `AGENT_APPROVED` and `AGENT_REJECTED` notification types to
`schema.prisma`.
- Created `AgentApprovalData` and `AgentRejectionData` Pydantic models
for notification data.
- Configured the notification system to use immediate queues and new
Jinja2 templates for these types.
- Designed two new email templates: `agent_approved.html.jinja2` and
`agent_rejected.html.jinja2`, with dynamic content for agent details,
reviewer feedback, and relevant action links.
- Modified the `review_store_submission` function to:
    - Include `User` and `Reviewer` data in the database query.
- Construct and queue the appropriate email notification based on the
approval/rejection status.
- Ensure email sending failures do not block the agent review 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] Approve an agent via the admin dashboard.
- [x] Verify the agent creator receives an "Agent Approved" email with
correct details and a link to the store.
  - [x] Reject an agent via the admin dashboard (providing a reason).
- [x] Verify the agent creator receives an "Agent Rejected" email with
correct details, the rejection reason, and a link to resubmit.
- [x] Verify that if email sending fails (e.g., misconfigured SMTP), the
agent approval/rejection process still completes successfully without
error.

<img width="664" height="975" alt="image"
src="https://github.com/user-attachments/assets/d397f2dc-56eb-45ab-877e-b17f1fc234d1"
/>
<img width="664" height="975" alt="image"
src="https://github.com/user-attachments/assets/25597752-f68c-46fe-8888-6c32f5dada01"
/>


---
Linear Issue: [SECRT-1168](https://linear.app/autogpt/issue/SECRT-1168)

<a
href="https://cursor.com/background-agent?bcId=bc-7394906c-0341-4bd0-8842-6d9d6f83c56c">
  <picture>
<source media="(prefers-color-scheme: dark)"
srcset="https://cursor.com/open-in-cursor-dark.svg">
<source media="(prefers-color-scheme: light)"
srcset="https://cursor.com/open-in-cursor-light.svg">
<img alt="Open in Cursor" src="https://cursor.com/open-in-cursor.svg">
  </picture>
</a>
<a
href="https://cursor.com/agents?id=bc-7394906c-0341-4bd0-8842-6d9d6f83c56c">
  <picture>
<source media="(prefers-color-scheme: dark)"
srcset="https://cursor.com/open-in-web-dark.svg">
<source media="(prefers-color-scheme: light)"
srcset="https://cursor.com/open-in-web-light.svg">
    <img alt="Open in Web" src="https://cursor.com/open-in-web.svg">
  </picture>
</a>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
…itas#10707)

Co-authored-by: Swifty <craigswift13@gmail.com>
resolve issue Significant-Gravitas#10692 where scheduled time and actual run
…ions (Significant-Gravitas#10656)

Co-authored-by: SwiftyOS <craigswift13@gmail.com>
Co-authored-by: Claude <claude@users.noreply.github.com>
Co-authored-by: majdyz <zamil@agpt.co>
this fixes and makes the moderation message properly show the moderation
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:
  <!-- Put your test plan here: -->
- [x] try trigger moderation and have it shows the moderation id in the
error message
…gnificant-Gravitas#10533)

Handle invalid or empty response from MusicGen model


Fixes: Significant-Gravitas#9145
> ⚠️ Note: This PR does not directly fix issue Significant-Gravitas#9145 (failed run marked
as success), but improves the validation of the URL to reduce the
chances of invalid states entering the system. This is a related
improvement, but not the root cause fix.


### Description
During execution of the meta/musicgen model via Replicate API, the
application failed
with an error indicating the model returned an empty or invalid
response.
Although some API calls succeeded, this error showed the logic was not
checking the
structure and content of the result properly before processing it.

PROBLEM:
CONTEXT:
API: Replicate
MODEL: meta/musicgen:671ac645
STATUS: Failed after 3 attempts
ERROR_MESSAGE: "Unexpected error: Model returned empty or invalid
response"
CAUSE:
- The original logic did not validate result structure.
- It assumed any non-null output was valid, including strings like "No
output received".
- This led to invalid/malformed results being passed to the frontend.


### Changes 🏗️

- Added `AIMusicGeneratorBlock` to support music generation using Meta’s
MusicGen models via Replicate API.
- Supports configurable inputs like prompt, model version, duration,
temperature, top_k/p, and normalization.
- Uses robust retry logic for reliability.
- Output returns audio URL; errors return user-friendly message.

BEFORE_CODE: |
```
if result and result != "No output received":
     yield "result", result
     return
```

AFTER_CODE: |

```
if result and isinstance(result, str) and result.startswith("http"):
      yield "result", result
      return
```

### Checklist 📋

#### For code changes:
- [x] Clearly listed changes in the PR description
- [x] Added test plan and mock outputs
- [x] Tested with various prompts and confirmed working output

### Test Plan

- [x] Ran locally with valid Replicate API key
- [x] Generated audio with different prompts
- [x] Simulated failure to verify retry and error message

---------

Co-authored-by: Abhimanyu Yadav <122007096+Abhi1992002@users.noreply.github.com>
Co-authored-by: Nicholas Tindle <nicholas.tindle@agpt.co>
…eeded for their contexts (Significant-Gravitas#10717)

The database manager had both sync and async clients that contained
overlapping methods, including some that weren't actually used in their
respective contexts. This violated the principle that each client should
only expose the methods it needs.

## Problem

The `DatabaseManagerClient` (sync) included
`get_user_execution_summary_data`, but this method was only ever used in
async contexts like the notifications system. This created unnecessary
coupling and violated the design goal of having focused,
context-specific clients.

## Solution

After comprehensive analysis of actual method usage across the codebase:

- **Removed** `get_user_execution_summary_data` from
`DatabaseManagerClient` since it's only used in async contexts
(notifications)
- **Verified** all remaining methods on both clients are actively used
in their respective contexts:
- Sync client (11 methods): Used in monitoring and main execution thread
- Async client (26 methods): Used in node execution, blocks, and
notifications
- **Maintained** the base `DatabaseManager` class with the union of all
methods needed by either client

## Impact

Each client now contains exactly the methods it needs for its specific
usage patterns:

- `DatabaseManagerClient` handles synchronous operations like monitoring
and credit management
- `DatabaseManagerAsyncClient` handles asynchronous operations like node
execution, persistence, and notifications

The change is minimal and surgical - only removing one unused method
while preserving all actually-used functionality.

Fixes Significant-Gravitas#10658.

<!-- START COPILOT CODING AGENT TIPS -->
---

✨ Let Copilot coding agent [set things up for
you](https://github.com/Significant-Gravitas/AutoGPT/issues/new?title=✨+Set+up+Copilot+instructions&body=Configure%20instructions%20for%20this%20repository%20as%20documented%20in%20%5BBest%20practices%20for%20Copilot%20coding%20agent%20in%20your%20repository%5D%28https://gh.io/copilot-coding-agent-tips%29%2E%0A%0A%3COnboard%20this%20repo%3E&assignees=copilot)
— coding agent works faster and does higher quality work when set up for
your repo.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Nicholas Tindle <nicholas.tindle@agpt.co>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Swifty <craigswift13@gmail.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: ntindle <8845353+ntindle@users.noreply.github.com>
Co-authored-by: Abhimanyu Yadav <122007096+Abhi1992002@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Reinier van der Leer <pwuts@agpt.co>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Nicholas Tindle <nicktindle@outlook.com>
Co-authored-by: Bently <Github@bentlybro.com>
…ficant-Gravitas#10716)

- Resolves Significant-Gravitas#10713

### Changes 🏗️

- Remove early exit in API proxy that suppresses auth errors
- Remove unused `proxy-action.ts`

### 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] Publish Agent dialog works when logged out
  - [x] Publish Agent dialog works when logged in

---------

Co-authored-by: Nicholas Tindle <nicholas.tindle@agpt.co>
Backend for the Blocks Menu Redesign.

### Changes 🏗️

- Add optional `agent_name` to the `AgentExecutorBlock` - displayed as
the block name in the Builder
- Include `output_schema` in the `LibraryAgent` model
- Make `v2.store.db.py:get_store_agents` accept multiple creators filter
- Add `api/builder` router with endpoints (and accompanying logic in
`v2/builder/db` and models in `v2/builder/models`)
  - `/suggestions`: elements for the suggestions tab
  - `/categories`: categories with a number of blocks per each
  - `/blocks`: blocks based on category, type or provider
  - `/providers`: integration providers with their block counts
- `/serach`: search blocks (including integrations), marketplace agents
and user library agents
  - `/counts`: element counts for each category in the Blocks Menu.

### 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] Modified function `get_store_agents` works in existing code paths
  - [x] Agent executor block works
  - [x] New endpoints work
  - [x] Existing Builder menu is unaffected

---------

Co-authored-by: Abhimanyu Yadav <abhimanyu1992002@gmail.com>
Co-authored-by: Abhimanyu Yadav <122007096+Abhi1992002@users.noreply.github.com>
…ges (Significant-Gravitas#10746)

### Changes 🏗️

This PR fixes an infinite loop issue in the execution manager where
malformed or unparseable messages would be continuously requeued,
causing high CPU usage and preventing the system from processing
legitimate messages.

**Key changes:**
- Modified `_ack_message()` function to accept explicit `requeue`
parameter
- Set `requeue=False` for malformed/unparseable messages that cannot be
fixed by retrying
- Set `requeue=False` for duplicate execution attempts (graph already
running)
- Kept `requeue=True` for legitimate failures that may succeed on retry
(e.g., temporary resource constraints, network issues)

**Technical details:**
The previous implementation always set `requeue=True` when rejecting
messages with `basic_nack()`. This caused problematic messages to be
immediately re-delivered to the consumer, creating an infinite loop for:
1. Messages with invalid JSON that cannot be parsed
2. Messages for executions that are already running (duplicates)

These scenarios will never succeed regardless of how many times they're
retried, so they should be rejected without requeueing to prevent
resource exhaustion.

### 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] Verified malformed messages are rejected without requeue
- [x] Confirmed duplicate execution messages are rejected without
requeue
- [x] Ensured legitimate failures (shutdown, pool full) still requeue
properly
- [x] Tested that normal message processing continues to work correctly
…t-Gravitas#10750)

- Fixes Significant-Gravitas#10749

### Changes 🏗️

- Fix implementation of `useAgentRunsInfinite.upsertAgentRun(..)`

### 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] New runs appear in runs list
…ficant-Gravitas#10731)

- resolves -
Significant-Gravitas#10618

When we have a dropdown with a large description, the actions button is
moved out of the dialog box. To fix this, I’ve added a temporary
solution, but in the future, we need to change the entire layout.


### Checklist 📋
- [x] I have clearly listed my changes in the PR description
- [x] I have made a test plan
- [x] I have tested my changes according to the test plan:
  - [x] Everything works perfectly locally.
…ignificant-Gravitas#10737)

### Changes 🏗️
- Updated the creator page to utilize React Query for data fetching,
improving performance and reliability.
- Removed legacy API calls and integrated prefetching for creator
details and agents.
- Introduced a new MainCreatorPage component for better separation of
concerns.
- Added a hydration boundary for managing server state.

### Checklist 📋

### Checklist 📋
- [x] I have clearly listed my changes in the PR description
- [x] I have made a test plan
- [x] I have tested my changes according to the test plan:
  - [x] All marketplace E2E tests are working.
- [x] I’ve tested all the links and checked if everything renders
perfectly on the marketplace page.
…tas#10751)

Added basic stagehand integration:

<img width="667" height="609" alt="Screenshot 2025-08-27 at 09 20 18"
src="https://github.com/user-attachments/assets/11ab2941-0913-4346-a1d4-45980711e0f9"
/>


[stagehand_v35.json](https://github.com/user-attachments/files/22002924/stagehand_v35.json)

### Changes 🏗️

- Act Block
- Extract Block
- Observe 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:
- [x] I have added a sample agent
- [x] I have created an agent that uses these blocks and ensured it runs
Adds support for Ideogram V3 model while maintaining backward
compatibility with existing models (V1,
V1_TURBO, V2, V2_TURBO). Updates default model to V3 and implements
smart API routing to handle
Ideogram's new V3 endpoint requirements.

Changes Made

- Added V3 model support: Added V_3 to IdeogramModelName enum and set as
default
- Dual API endpoint handling:
- V3 models route to new /v1/ideogram-v3/generate endpoint with updated
payload format
- Legacy models (V1, V2, Turbo variants) continue using /generate
endpoint
- Model-specific feature filtering:
- V1 models: Basic parameters only (no style_type or color_palette
support)
- V2/V2_TURBO: Full legacy feature support including style_type and
color_palette
- V3: New endpoint with aspect ratio mapping and updated parameter
structure
- Aspect ratio compatibility: Added mapping between internal enum values
and V3's expected format
(ASPECT_1_1 → 1x1)
- Updated pricing: V3 model costs 18 credits (vs 16 for other models)
- Updated default usage: Store image generation now uses V3 by default

Technical Details

Ideogram updated their API with a separate V3 endpoint that has
different requirements:
- Different URL path (/v1/ideogram-v3/generate)
- Different aspect ratio format (e.g., 1x1 instead of ASPECT_1_1)
- Model-specific feature support (V1 models don't support style_type,
etc.)

The implementation intelligently routes requests to the appropriate
endpoint based on the selected model
while maintaining a single unified interface.

I tested all the models and they are working here
<img width="1804" height="887" alt="image"
src="https://github.com/user-attachments/assets/9f2e44ca-50a4-487f-987c-3230dd72fb5e"
/>


### 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 Ideogram model block and watch as they all work!
@github-actions
Copy link

github-actions bot commented Feb 9, 2026

This PR targets the master branch but does not come from dev or a hotfix/* branch.

Automatically setting the base branch to dev.

@github-actions github-actions bot changed the base branch from master to dev February 9, 2026 06:04
@snyk-io
Copy link
Author

snyk-io bot commented Feb 9, 2026

Snyk checks have passed. No issues have been found so far.

Status Scanner Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@snyk-io
Copy link
Author

snyk-io bot commented Feb 9, 2026

Snyk checks have passed. No issues have been found so far.

Status Scanner Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.