[Snyk] Security upgrade eslint from 8.57.1 to 10.0.0#18
Open
snyk-io[bot] wants to merge 211 commits intodevfrom
Open
[Snyk] Security upgrade eslint from 8.57.1 to 10.0.0#18snyk-io[bot] wants to merge 211 commits intodevfrom
snyk-io[bot] wants to merge 211 commits intodevfrom
Conversation
…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: "Product Updates"
mode: "wide"</h2>
<!-- raw HTML omitted -->
<!-- raw HTML omitted -->
<!-- raw HTML omitted -->
<p><strong>New Features & 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 & 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 & 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 & 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 & 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="<proxy-username>",
proxy_password="<proxy-password>",
filter_ip_locations=["de", "us"],
)
)
<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("abc")
<h1>new API</h1>
<p>ytt_api = YouTubeTranscriptApi()
transcript = ytt_api.fetch("abc").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("abc")
<h1>new API</h1>
<p>ytt_api = YouTubeTranscriptApi()
transcript_list = ytt_api.list("abc")
</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
…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!
The following vulnerabilities are fixed with an upgrade: - https://snyk.io/vuln/SNYK-JS-AJV-15274295
|
This PR targets the Automatically setting the base branch to |
Author
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
Author
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Snyk has created this PR to fix 1 vulnerabilities in the pnpm dependencies of this project.
Snyk changed the following file(s):
autogpt_platform/frontend/package.jsonVulnerabilities that will be fixed with an upgrade:
SNYK-JS-AJV-15274295
Important
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:
🦉 Regular Expression Denial of Service (ReDoS)