Commit Graph

7791 Commits

Author SHA1 Message Date
Zamil Majdy
1c6b829925 fix(blocks): Fix Image input on AIImageEditorBlock to accept relative path file media (#10210)
AIImageEditorBlock was not able to accept an image from AgentFileInput
or FileStore block.

### Changes 🏗️

* Add support for image loading for the image editor block:
<img width="1081" alt="Screenshot 2025-06-23 at 10 28 45 AM"
src="https://github.com/user-attachments/assets/ac3fea91-9503-4894-bbe3-2dc3c5649a39"
/>

* Avoid rendering a relative path image file.

### 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 AiImageEditor block using AgentFileInput or FileStore block.
2025-06-24 20:36:02 +00:00
Reinier van der Leer
efa4b6d2a0 feat(platform/library): Triggered-agent support (#10167)
This pull request adds support for setting up (webhook-)triggered agents
in the Library. It contains changes throughout the entire stack to make
everything work in the various phases of a triggered agent's lifecycle:
setup, execution, updates, deletion.

Setting up agents with webhook triggers was previously only possible in
the Builder, limiting their use to the agent's creator only. To make it
work in the Library, this change uses the previously introduced
`AgentPreset` to store information on, instead of on the graph's nodes
to which only a graph's creator has access.

- Initial ticket: #10111
- Builds on #9786

![screenshot of trigger setup screen in the
library](https://github.com/user-attachments/assets/525b4e94-d799-4328-b5fa-f05d6a3a206a)
![screenshot of trigger edit screen in the
library](https://github.com/user-attachments/assets/e67eb0bc-df70-4a75-bf95-1c31263ef0c9)

### Changes 🏗️

Frontend:
- Amend the Library's `AgentRunDraftView` to handle creating and editing
Presets
- Add `hideIfSingleCredentialAvailable` parameter to `CredentialsInput`
  - Add multi-select support to `TypeBasedInput`
- Add Presets section to `AgentRunsSelectorList`
  - Amend `AgentRunSummaryCard` for use for Presets
- Add `AgentStatusChip` to display general agent status (for now: Active
/ Inactive / Error)
- Add Preset loading logic and create/update/delete handlers logic to
`AgentRunsPage`
- Rename `IconClose` to `IconCross`

API:
- Add `LibraryAgent` properties `has_external_trigger`,
`trigger_setup_info`, `credentials_input_schema`
- Add `POST /library/agents/{library_agent_id}/setup_trigger` endpoint
- Remove redundant parameters from `POST
/library/presets/{preset_id}/execute` endpoint

Backend:
- Add `POST /library/agents/{library_agent_id}/setup_trigger` endpoint
- Extract non-node-related logic from `on_node_activate` into
`setup_webhook_for_block`
- Add webhook-related logic to `update_preset` and `delete_preset`
endpoints
- Amend webhook infrastructure to work with AgentPresets
  - Add preset trigger support to webhook ingress endpoint
- Amend executor stack to work with passed-in node input
(`nodes_input_masks`, generalized from `node_credentials_input_map`)
    - Amend graph validation to work with passed-in node input
  - Add `AgentPreset`->`IntegrationWebhook` relation
    - Add `WebhookWithRelations` model
- Change behavior of `BaseWebhooksManager.get_manual_webhook(..)` to
avoid unnecessary changes of the webhook URL: ignore `events` to find
matching webhook, and update `events` if necessary.
- Fix & improve `AgentPreset` API, models, and DB logic
  - Add `isDeleted` filter to get/list queries
  - Add `user_id` attribute to `LibraryAgentPreset` model
  - Add separate `credentials` property to `LibraryAgentPreset` model
- Fix `library_db.update_preset(..)` replacement of existing
`InputPresets`
- Make `library_db.update_preset(..)` more usage-friendly with separate
parameters for updateable properties
- Add `user_id` checks to various DB functions
- Fix error handling in various endpoints
- Fix cache race condition on `load_webhook_managers()`

### 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 existing functionality
- [x] Auto-setup and -teardown of webhooks on save in the builder still
works
    - [x] Running an agent normally from the Library still works
  - Test new functionality
    - [x] Setting up a trigger in the Library
    - [x] Updating a trigger in the Library
    - [x] Disabling and re-enabling a trigger in the Library
    - [x] Deleting a trigger in the Library
- [x] Triggers set up in the Library result in a new run when the
webhook receives a payload
2025-06-24 20:28:20 +00:00
Abhimanyu Yadav
94aed94113 feat(platform): setup and configure orval (#10209)
This pull request sets up and configures Orval for API client
generation. It automates the process of creating TypeScript clients from
the backend's OpenAPI specification, improving development efficiency
and reducing manual code maintenance.

### Changes 🏗️

- Configures Orval with a new configuration file (`orval.config.ts`).
- Adds scripts to `package.json` for fetching the OpenAPI spec and
generating the API client.
- Implements a custom mutator for handling authentication.
- Adds API client generation as a step in the CI workflow.
- Adds `.gitignore` entry for generated API client files.
- Adds a security middleware to prevent caching of sensitive data.

### 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 that the API client is generated correctly.
- [x] Confirmed that the custom mutator is functioning as expected for
authentication.
- [x] Ensured that the new CI workflow step for API client generation is
successful.
  - [x] Tested generated API calls

#### For configuration changes:
- [x] `.env.example` is updated or already compatible with my changes
- [ ] `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**)
2025-06-24 14:00:19 +00:00
Zamil Majdy
e701f41e66 feat(blocks): Enabling auto type conversion on block input schema mismatch for nested input (#10203)
Since auto conversion is applied before merging nested input in the
block, it breaks the auto conversion break.

### Changes 🏗️

* Enabling auto-type conversion on block input schema mismatch for
nested input
* Add batching feature for `CreateListBlock`
* Increase default max_token size for LLM call

### 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 `AIStructuredResponseGeneratorBlock` with non-string prompt
value (should be auto-converted).
2025-06-21 03:56:53 +07:00
Zamil Majdy
a2d54c5fb4 feat(block): Enable cloud Apollo integration cost (#10199)
### Changes 🏗️

Add cost calculation for Apollo integration.

### 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 Apollo block Search People & Organizations Block.
2025-06-20 15:17:58 +00:00
Nicholas Tindle
568f5a449e feat(backend): cache control headers (#10160)
### Why? 🤔
  <!-- Clearly explain the need for these changes: -->
  We need to prevent sensitive data (authentication tokens, API
  keys, user credentials, personal information) from being cached by
   browsers and proxies. Following the principle of "secure by
  default", we're switching from a deny list to an allow list
  approach for cache control.

  ### Changes 🛠️
  <!-- Concisely describe all of the changes made in this pull
  request: -->
  - **Refactored cache control middleware from deny list to allow 
  list approach**
    - By default, ALL endpoints now have `Cache-Control: no-store,
  no-cache, must-revalidate, private` headers
    - Only explicitly allowed paths (static assets, health checks,
  public store pages) can be cached
    - This ensures new endpoints are automatically protected without
   developers having to remember to add them to a list

  - **Updated `SecurityHeadersMiddleware` in 
  `/backend/backend/server/middleware/security.py`**
    - Renamed `SENSITIVE_PATHS` to `CACHEABLE_PATHS`
    - Inverted the logic in `is_cacheable_path()` method
    - Cache control headers are now applied to all paths NOT in the
  allow list

  - **Updated test suite to match new behavior**
    - Tests now verify that most endpoints have cache control
  headers by default
    - Tests verify that only allowed paths (static assets, health
  endpoints, etc.) can be cached

  - **Updated documentation in `CLAUDE.md`**
    - Documented the new allow list approach
    - Added instructions for developers on how to allow caching for
  new endpoints


### 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 modified endpoints work still
  - [x] Test modified endpoints correctly have no cache rules

---------

Co-authored-by: Swifty <craigswift13@gmail.com>
2025-06-20 14:19:52 +00:00
Zamil Majdy
3df6dcd26b feat(blocks): Improve SmartDecisionBlock & AIStructuredResponseGeneratorBlock (#10198)
Main issues:
* `AIStructuredResponseGeneratorBlock` is not able to produce a list of
objects.
* `SmartDecisionBlock` is not able to call tools with some optional
inputs.

### Changes 🏗️

* Allow persisting `null` / `None` value as execution output.
* Provide `multiple_tool_calls` option for `SmartDecisionBlock`.
* Provide `list_result` option for `AIStructuredResponseGeneratorBlock`

### 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 `SmartDecisionBlock` & `AIStructuredResponseGeneratorBlock`
2025-06-20 14:14:02 +00:00
Abhimanyu Yadav
aab40fe225 feat(backend): add custom openapi generator (#10200)
This PR introduces a custom function for generating unique operation IDs
for OpenAPI specifications to improve auto-generated client code
quality.

## Why This Change?
**Better Auto-Generated Clients**: Default FastAPI operation IDs create
unclear method names in generated clients. Our custom generator produces
clean, readable operation IDs that translate to intuitive method names.

- **Before**: `get_items_api_v1_items_get` → unclear generated methods
- **After**: `get_users_list` → clean, descriptive method names

## Changes
-  **Added**: `custom_generate_unique_id` utility function
  - Generates IDs using pattern: `{method}_{tag}_{summary}`
  - Ensures uniqueness and readability
- 🔧 **Updated**: FastAPI app configuration to use custom generator

## 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] OpenAPI docs reflect new operation ID format
   - [x] Tested various HTTP methods, tags, and summaries
   - [x] Verified app startup functionality 
   - [x] Validated improved client generation output
2025-06-20 13:32:39 +00:00
Zamil Majdy
91ea322887 fix(blocks): Fix broken Apollo Blocks (#10197)
Current Apollo blocks only work with keywords; the huge number of list
filter fields doesn't work because it's passing the wrong GET parameter
(missing `[]`).

### Changes 🏗️

Change the GET request to a POST request for Apollo.

### 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 SearchPeopleBlock with title filter
2025-06-20 05:15:46 +00:00
Ubbe
e183be08bd feat(frontend): Add cool Input component (#10196)
## Changes 🏗️

<img width="400" alt="Screenshot 2025-06-19 at 18 17 53"
src="https://github.com/user-attachments/assets/ad690d75-4ce0-4f50-9774-1f9d07cd5934"
/>

<img width="400" alt="Screenshot 2025-06-19 at 18 17 56"
src="https://github.com/user-attachments/assets/97d59e18-76c8-46d1-9b8f-87058bc1ab86"
/>

### 📙 Overview

- New Input component (`components/atoms/Input/`)
- Multiple input types with smart formatting:
  - `type="text"` → Basic text input with no filtering
  - `type="email"` → Email input (no character filtering)  
  - `type="password"` → Password input with masking
- `type="number"` → Number input with character filtering (digits,
decimal, minus)
- `type="amount"` → Formatted number input with comma separators and
decimal limiting
  - `type="tel"` → Phone input allowing only `+()[] ` and digits
  - `type="url"` → URL input (no character filtering)

### 📙 Smart formatting features

- Amount type: `1000` → `1,000`, `1234.567` → `1,234.56` (with
`decimalCount={2}`)
- Number type: `abc123def` → `123`, `12.34.56` → `12.3456`
- Phone type: `abc+1(555)def` → `+1(555)`

### 📙 Other

- Error state with `error` prop - shows red border and error message
below input
- Label control with `hideLabel` prop for accessibility
- Decimal precision control via `decimalCount` prop (amount type only,
default: 4)

### 📙 Architecture

- **Clean separation**: `Input.tsx` (render), `useInput.ts` (logic),
`helpers.ts` (utilities)
- **Comprehensive Storybook stories** with usage examples and
documentation

### 📙 Examples
```tsx
// Basic inputs
<Input type="text" label="Full Name" />
<Input type="email" label="Email" error="Invalid email" />

// Formatted inputs  
<Input type="amount" label="Price" decimalCount={2} />
<Input type="tel" label="Phone" placeholder="+1 (555) 123-4567" />

// Number input (unlimited decimals)
<Input type="number" label="Score" />
```

## Checklist 📋

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

**Test Plan:**
- [x] **Basic functionality**: Text input, label visibility, disabled
state, error display
- [x] **Number validation**: Character filtering (`abc123` → `123`),
decimal handling, negative numbers
- [x] **Amount formatting**: Comma insertion (`1000` → `1,000`), decimal
limiting with `decimalCount`
- [x] **Phone filtering**: Only allows `+()[] ` and digits (`abc555def`
→ `555`)
- [x] **Email/Password/URL**: No character filtering, proper input types
- [x] **Edge cases**: Starting with `.` or `-`, multiple decimals,
accessibility with hidden labels
- [x] **Storybook stories**: All variants documented with interactive
examples
```
2025-06-19 16:06:23 +00:00
Abhimanyu Yadav
a541a3edd7 feat(frontend): Add React Query DevTools and ESLint Rules (#10194)
This PR integrates React Query DevTools and ESLint rules to improve the
development workflow and enforce best practices for data fetching.

### Changes:
- **React Query DevTools:**
  - Added the `@tanstack/react-query-devtools` package.
  - DevTools are enabled by default in the development environment.
- They can be disabled by setting
`NEXT_PUBLIC_REACT_QUERY_DEVTOOL=false` in your environment variables.

- **ESLint Rules:**
- Integrated `@tanstack/eslint-plugin-query` to enforce best practices
and catch common errors in React Query usage.

- **Configuration:**
- Added the `NEXT_PUBLIC_REACT_QUERY_DEVTOOL` variable to the
`.env.example` file so other developers are aware of this option.

- **Documentation:**
- Updated the `README.md` with instructions on how to toggle the
DevTools using the environment variable.

Configuration Changes Checklist
 - `.env.example` has been updated with the new environment variable.

### Checklist
For code changes:
- [x] I have clearly listed my changes in the PR description
- [x] I have made a test plan
- [x] I have tested my changes according to the test plan:
    - [x] Run the app in development with pnpm dev.
    - [x]  Verified DevTools toggle with environment variables
    - [x] Run pnpm lint in the frontend directory.
    - [x] Confirm that linting passes on the current codebase.

### Screenshot

<img width="1512" alt="Screenshot 2025-06-19 at 6 32 22 PM"
src="https://github.com/user-attachments/assets/a3defd23-2c3d-4d20-b152-037d85e04503"
/>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-19 15:52:31 +00:00
dependabot[bot]
f3731afaf2 chore(frontend/deps-dev): Bump the development-dependencies group across 1 directory with 12 updates (#10193)
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>
2025-06-19 12:51:21 +00:00
Abhimanyu Yadav
29395665c3 feat(frontend): Add React Query for Data Fetching (#10190)
Issue -
https://linear.app/autogpt/issue/OPEN-2534/set-up-react-query-for-both-client-side-and-server-side-operations

This update adds react-query to the frontend, enabling efficient data
fetching and caching. It uses a singleton QueryClient on the client for
shared cache, creates a new QueryClient for each server request to
prevent data leaks, and supports server-side prefetching for faster
data.

### Changes
- Add @tanstack/react-query dependency  
- Set up QueryClient with default config (except 1m staleTime)  
- Wrap app with QueryClientProvider for global access  
- Ensure safe client/server QueryClient instantiation

> I only changed the staleTime in the default config because the other
settings work well for general use. For specific cases—like when you
want data to stay fresh unless manually invalidated—you can set
staleTime: Infinity in that query.

### 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] Ran frontend locally – it’s working fine
2025-06-19 12:09:51 +00:00
Ubbe
fc4d0d4bb8 docs(frontend): new Button component + stories (#10192)
### Changes 🏗️

![Screenshot 2025-06-19 at 13 38
21](https://github.com/user-attachments/assets/8c3f8d27-6f4d-4d95-8d78-0b160ce51091)

- Adds a new `<Button>` component that mirrors 1:1 what we have in the
design system
- Documented the new component via stories
- Re-arranged the stories in the Storybook sidebar to show the legacy
ones at the end

Once this is merged, we can start updating buttons on the app to only
use this one, so we have a consistent UX 💆🏽

### 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 locally
  - [x] Button stories look good ( _in all variants_ )
2025-06-19 10:43:23 +00:00
Bently
d0beebcbff fix(frontend): Update Schedule Task's default value to "daily" (#10191)
### Changes 🏗️

Fixes: [Make the default scheduler frequency to daily instead of every
minute
#9985](https://github.com/Significant-Gravitas/AutoGPT/issues/9985)

This simply updates the Schedule Task's default from minute to daily at
09:00 as default time


![image](https://github.com/user-attachments/assets/673f5e75-a970-41d9-a7b6-531bce4a6d7b)


### 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] Open the Schedule Task UI and see the default is now daily at
09:00
2025-06-19 07:15:12 +00:00
Ubbe
93e611d609 docs(frontend): document new color tokens (#10186)
### Changes 🏗️

<img width="800" alt="Screenshot 2025-06-18 at 19 55 24"
src="https://github.com/user-attachments/assets/f3bd662e-cc64-4a32-a030-973b7cf89d8b"
/>

Document the new colour tokens agreed with the design team, and update
the Tailwind theme with them.

### 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 locally
  - [x] Verify the colors story renders well and make sense
2025-06-19 05:36:59 +00:00
Abhimanyu Yadav
c29b5e3f0f fix(backend): Add graph_id path parameter to fix automatic client generation from OpenAPI spec (#10189)
## Description
Added the `graph_id` parameter to the stop execution endpoint path
(`/graphs/{graph_id}/executions/{graph_exec_id}/stop`) to fix client
generation from Openapi spec error.

## Problem
The client generation was failing due to missing path parameter
definition for `graph_id` in the stop execution endpoint.

<img width="1412" alt="Screenshot 2025-06-19 at 9 20 17 AM"
src="https://github.com/user-attachments/assets/aa1667d3-05be-48c6-975b-84473830ac03"
/>


## Solution
Added `graph_id` as a path parameter while maintaining the existing
functionality.

## Testing
- [x] Verified OpenAPI client generation works without errors
- [x] Confirmed endpoint functionality remains unchanged
- [x] Tested API calls maintain backward compatibility
2025-06-19 05:35:28 +00:00
Bentlybro
753a2bf200 Merge branch 'master' into dev autogpt-platform-beta-v0.6.13 2025-06-18 16:53:01 +01:00
Ubbe
375777fe3c refactor(frontend): upgrade to Storybook 9 (#10179)
## Changes 🏗️

Migrate to [Storybook 9](https://storybook.js.org/docs/migration-guide),
changes are mostly from the migration tool:
``` basg
pnpm storybook@latest upgrade
```

On top of that:
- removed stories for [shadcn](https://ui.shadcn.com/) components
- to avoid confusion, shadcn in our base for the component library, and
is already documented on their website
- removed example stories
- regrouped existing `agpt-ui` stories under `Legacy`
- I need to review them and see if they still fit the expected designs
of the platform or not

<img width="600" alt="Screenshot 2025-06-17 at 13 43 57"
src="https://github.com/user-attachments/assets/ca3d9c1b-9dc4-4684-ac77-6259beeb3e1d"
/>


## 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 `pn storybook` locally
  - [x] It works well, and the stories look good

---------

Co-authored-by: Abhimanyu Yadav <122007096+Abhi1992002@users.noreply.github.com>
2025-06-18 10:36:00 +00:00
Zamil Majdy
1e0a3d3c1b feat(backend): Add request retry on block execution and RPC (#10183)
Request on block execution can be throttled, and requests between
services can sometimes break. The scope of this PR is to add an
appropriate retry on those.

### Changes 🏗️

* Block request retry: Retry on throttled status code only (504, 429,
etc).
* RPC request retry: Retry connection issues (ConnectError, Timeout,
etc).
* Truncate logging on executor/utils.

### 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 graph execution
2025-06-17 21:03:46 +00:00
Zamil Majdy
c4797a5f84 fix(backend): Fix scheduler broken late execution message 2025-06-17 10:25:25 -07:00
Zamil Majdy
4923318cfe fix(backend): Fix scheduler ayncio loop issue & update late execution message report 2025-06-17 10:20:17 -07:00
Ubbe
86361fc1ae fix(frontend): fix all lint errors and add next/typescript (#10182)
## Changes 🏗️

### ESLint Config
1. **Disabled `react-hooks/exhaustive-deps`:** 
- to prevent unnecessary dependency proliferation and rely on code
review instead
2. **Added
[`next/typescript`](https://nextjs.org/docs/app/api-reference/config/eslint#with-typescript):**
- to the ESLint config to make sure we also have TS linting rules
3. **Added custom rule for `@typescript-eslint/no-unused-vars`:** 
- to allow underscore-prefixed variables (convention for intentionally
unused), in some cases helpful

From now on, whenever we have unused variables or imports, the `lint` CI
will fail 🔴 , thanks to `next/typescript` that adds
`typescript-eslint/no-unused-vars` 💆🏽

### Minor Fixes
- Replaced empty interfaces with type aliases to resolve
`@typescript-eslint/no-empty-object-type` warnings
- Fixed unsafe non-null assertions with proper null checks
- Removed `@ts-ignore` comments in favour of proper type casting ( _when
possible_ 🙏🏽 )

### Google Analytics Component
- Changed Next.js Script strategy from `beforeInteractive` to
`afterInteractive` to resolve Next.js warnings
- this make sure loading analytics does not block page render 🙏🏽 (
_better page load time_ )

### Are these changes safe?

As long as the Typescript compiler does not complain ( check the
`type-check` job ) we should be save. Most changes are removing unused
code, if that code would be used somewhere else the compiler should
catch it and tell us 🫶

I also typed some code when possible, or bypassed the linter when I
thought it was fair for now. I disabled a couple ESLint rules. Most
importantly the `no-explicity-any` one as we have loads of stuff untyped
yet ( _this should be improved once API types are generated for us_ ).

### DX

Added some settings on `.vscode` folder 📁 so that files will be
formatted on save and also ESLint will fix errors on save when able 💯

### 📈 **Result:**

-  All linting errors resolved
-  Improved TypeScript strict mode compliance  
-  Better developer experience with cleaner code

## 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] Lint CI job passes
- [x] There is not type errors ( _TS will catch issue related to these
changes_ )
2025-06-17 14:29:21 +00:00
Reinier van der Leer
b477d31641 fix(backend): Unbreak add_store_agent_to_library (#10166)
- Follow-up fix for #9786

A change to a DB statement introduced in #9786 turns out to be breaking.
Apparently `connect` can't just be used for *some* relations: if it is
used, it must be used for *all* relations created by the statement.

### Changes 🏗️

- Fix broken DB statement in `add_store_agent_to_library(..)`

### 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] Add store agent to library

Co-authored-by: Swifty <craigswift13@gmail.com>
2025-06-17 13:11:40 +02:00
Ubbe
2269e3593a chore(frontend): document icons on storybook (#10181)
## Changes 🏗️

### Checklist 📋

<img width="800" alt="Screenshot 2025-06-17 at 14 11 55"
src="https://github.com/user-attachments/assets/61d5a6b9-57f7-4117-bbc6-e78c2cdc5778"
/>

Document the icons for the new design system. With the design team, it
was agreed we will settle on [phosphor
icons](https://phosphoricons.com/), so we will need to migrate
progressively out of `lucide-react`.

### 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 locally
  - [x] Check the icons story and displays well
2025-06-17 10:39:28 +00:00
Zamil Majdy
97e72cb485 feat(backend): Make execution engine async-first (#10138)
This change introduced async execution for blocks and the execution
engine. Paralellism will be achieved through a single process
asynchronous execution instead of process concurrency.

### Changes 🏗️

* Support async execution for the graph executor
* Removed process creation for node execution
* Update all blocks to support async executions

### 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 graph executions, tested many of the impacted blocks.
2025-06-17 09:38:24 +00:00
Nicholas Tindle
81d3eb7c34 feat(backend, frontend): make changes to use our security modules more effectively (#10123)
<!-- Clearly explain the need for these changes: -->
Doing the CASA Audit and this is something to check
### Changes 🏗️
- limits APIs to use their specific endpoints
- use expected trusted sources for each block and requests call
- Use cryptographically valid string comparisons
- Don't log secrets

<!-- 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] Testing in dev branch once merged

---------

Co-authored-by: Swifty <craigswift13@gmail.com>
2025-06-16 15:22:08 +00:00
Nicholas Tindle
f950f35af8 [Snyk] Security upgrade requests from 2.31.0 to 2.32.4 (#10148)
![snyk-top-banner](https://res.cloudinary.com/snyk/image/upload/r-d/scm-platform/snyk-pull-requests/pr-banner-default.svg)

### Snyk has created this PR to fix 1 vulnerabilities in the pip
dependencies of this project.

#### Snyk changed the following file(s):

- `docs/requirements.txt`



<details>
<summary>⚠️ <b>Warning</b></summary>

```
mkdocs-material 9.2.8 requires requests, which is not installed.
mkdocs-material 9.2.8 has requirement pymdown-extensions~=10.3, but you have pymdown-extensions 10.2.1.
```

</details>





---

> [!IMPORTANT]
>
> - Check the changes in this PR to ensure they won't cause issues with
your project.
> - Max score is 1000. Note that the real score may have changed since
the PR was raised.
> - This PR was automatically created by Snyk using the credentials of a
real user.
> - Some vulnerabilities couldn't be fully fixed and so Snyk will still
find them when the project is tested again. This may be because the
vulnerability existed within more than one direct dependency, but not
all of the affected dependencies could be upgraded.

---

**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: <img
src="https://api.segment.io/v1/pixel/track?data=eyJ3cml0ZUtleSI6InJyWmxZcEdHY2RyTHZsb0lYd0dUcVg4WkFRTnNCOUEwIiwiYW5vbnltb3VzSWQiOiIxYjFlMDQ4NS1jMzZlLTRjYjgtYTAzYy00MjIwNTdjYzViMjEiLCJldmVudCI6IlBSIHZpZXdlZCIsInByb3BlcnRpZXMiOnsicHJJZCI6IjFiMWUwNDg1LWMzNmUtNGNiOC1hMDNjLTQyMjA1N2NjNWIyMSJ9fQ=="
width="0" height="0"/>
🧐 [View latest project
report](https://app.snyk.io/org/significant-gravitas/project/7c1b6d4c-2625-44c8-8403-42505b3997f8?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;fix-pr)
📜 [Customise PR
templates](https://docs.snyk.io/scan-using-snyk/pull-requests/snyk-fix-pull-or-merge-requests/customize-pr-templates?utm_source=github&utm_content=fix-pr-template)
🛠 [Adjust project
settings](https://app.snyk.io/org/significant-gravitas/project/7c1b6d4c-2625-44c8-8403-42505b3997f8?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;fix-pr/settings)
📚 [Read about Snyk's upgrade
logic](https://docs.snyk.io/scan-with-snyk/snyk-open-source/manage-vulnerabilities/upgrade-package-versions-to-fix-vulnerabilities?utm_source=github&utm_content=fix-pr-template)

---

**Learn how to fix vulnerabilities with free interactive lessons:**

🦉 [Learn about vulnerability in an interactive lesson of Snyk
Learn.](https://learn.snyk.io/?loc&#x3D;fix-pr)

[//]: #
'snyk:metadata:{"customTemplate":{"variablesUsed":[],"fieldsUsed":[]},"dependencies":[{"name":"requests","from":"2.31.0","to":"2.32.4"}],"env":"prod","issuesToFix":["SNYK-PYTHON-REQUESTS-10305723"],"prId":"1b1e0485-c36e-4cb8-a03c-422057cc5b21","prPublicId":"1b1e0485-c36e-4cb8-a03c-422057cc5b21","packageManager":"pip","priorityScoreList":[678],"projectPublicId":"7c1b6d4c-2625-44c8-8403-42505b3997f8","projectUrl":"https://app.snyk.io/org/significant-gravitas/project/7c1b6d4c-2625-44c8-8403-42505b3997f8?utm_source=github&utm_medium=referral&page=fix-pr","prType":"fix","templateFieldSources":{"branchName":"default","commitMessage":"default","description":"default","title":"default"},"templateVariants":["updated-fix-title","pr-warning-shown","priorityScore"],"type":"auto","upgrade":[],"vulns":["SNYK-PYTHON-REQUESTS-10305723"],"patch":[],"isBreakingChange":false,"remediationStrategy":"vuln"}'

---------

Co-authored-by: Swifty <craigswift13@gmail.com>
Co-authored-by: snyk-bot <snyk-bot@snyk.io>
2025-06-16 15:02:12 +00:00
Toran Bruce Richards
e05c34e76a fix(platform/backend): skip invalid graphs when listing in block menu (#10159)
<!-- Clearly explain the need for these changes: -->
## Background & Summary of Changes
If a user has a single invalid Agent in their Library (i.e one with a
Block which doesn't exist) currently the Blocks menu does not return any
Agent results.

Valid agents should still load even when some stored graphs are
malformed.
Graphs which are malformed should just be skipped rather than breaking
the entire process, this PR implements that fix, unblocking users with a
malformed Agent in their Library (me!).

## Testing
I have tested this PR in the dev deployment (where I have this issue on
my account) and have confirmed that Agents now show up in the list:

| Before this Change | After this Change |
| ------------------ | ----------------- |
| ![Before change
screenshot](https://github.com/user-attachments/assets/9263da25-ff4a-4dfa-bd96-19dfd689ddac)
| ![After change
screenshot](https://github.com/user-attachments/assets/86219055-b97b-456c-a270-80d729c909da)
|


## Changes 🏗️
- Validate each graph’s serialization in get_graphs and skip any that
raise an exception
- Added error logging for invalid graphs

## 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] poetry run format
    - [ ] poetry run test
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)

Fixes [OPEN-2461: Loading a Library Agent with an invalid block causes
all Library Agent Loading to fail in Builder Blocks
Menu](https://linear.app/autogpt/issue/OPEN-2461/loading-a-library-agent-with-an-invalid-block-causes-all-library-agent)
2025-06-16 08:01:10 +00:00
Toran Bruce Richards
1ff924e260 Fix(frontend): Update StoreCard component to use bg-background instead of hardcoded bg-white (#9963)
Fixes #9868

This pull request updates the `StoreCard` component in
`autogpt_platform/frontend/src/components/agptui/StoreCard.tsx` to
replace the hardcoded Tailwind CSS class `bg-white` with the more
flexible `bg-background` utility class. This change ensures better
consistency with the application's theming and makes it easier to adapt
to different color schemes, such as light and dark modes.

#### Changes:
- **Before:**  
  `className="... bg-white ... dark:bg-transparent ..."`
 

![image](https://github.com/user-attachments/assets/9eb2b595-8712-405b-ba7d-babd2361e344)

- **After:**  
  `className="... bg-background ... dark:bg-transparent ..."`
  

![image](https://github.com/user-attachments/assets/58affa1b-7160-4961-b9f2-5fdc15c2439e)


#### Motivation:
- Removes the white background on the cards, which weren't part of the
designs.

No functional or visual changes are expected except for improved support
for custom themes.

---
This PR was entirely generated by an AI Agent.
**Please review and let me know if additional changes are needed!**

Co-authored-by: itsababseh <36419647+itsababseh@users.noreply.github.com>
2025-06-16 08:00:16 +00:00
Ubbe
fb18ddf95d feat(frontend): handle cross-tab login/logout + auth architecture refactor (#10150)
## 🏗️ Changes 

### 🧢 Authentication improvements
- Updates for [CASA compliance](https://appdefensealliance.dev/casa)
  - implemented cross-tab login/logout
  - logout now triggers cross-device logout 
  - forgot password triggers cross-device logout
- we are already able to revoke sessions given Supabase stores sessions
🙌🏽

### 📙 Cross-tab login/logout implementation

I implemented some session validation debouncing ( _2-second cooldown_ )
to prevent excessive API calls when switching tabs fast ( _more of an
edge-case but could happen_ ). Cross tab implementation is done via
`localStorage` and `window.visibility` events.

### Refactor and cleanup

Smol things to improve our auth logic on the Frontend:
- created `helpers.ts` with utilities for protected page detection,
admin page routing, and cross-tab communication
- added `STORAGE_KEYS`, `PROTECTED_PAGES`, and `ADMIN_PAGES` constants
for better organization
- refactored server-side Supabase utilities and middleware
- updated import paths to use named exports

## 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] Cross-tab logout synchronization works correctly
  - [x] Session validation debouncing prevents excessive API calls
  - [x] Protected page redirects function properly
  - [x] Authentication state persists correctly across tabs
  - [x] Role-based access controls work as expected
  - [x] Cross-device logout is performed after forgot password change

### Cross-tab login/logout 


https://github.com/user-attachments/assets/5dbdd204-faa2-419f-b989-e31f69ddabd6

### Cross-device logout


https://github.com/user-attachments/assets/aac9c97a-beec-4519-a391-f94f988dc7c8
2025-06-13 15:28:03 +00:00
Ubbe
6e253ecade docs(frontend): add design system overview page (#10157)
### Changes 🏗️

<img width="800" alt="Screenshot 2025-06-13 at 18 29 27"
src="https://github.com/user-attachments/assets/6a2f9c23-860f-4f92-8a7a-eeb7839940fd"
/>

- Add a nice overview page for the 👶🏽 baby AutoGPT design system
- Customise the logo on Storybook to show AutoGPT one

### Checklist 📋

#### For code changes:

- [x] I have clearly listed my changes in the PR description
- [x] I have made a test plan
- [x] I have tested my changes according to the test plan:
  - [x] Run Storybook
  - [x] You see the Overview page which looks good
2025-06-13 15:10:32 +00:00
Ubbe
36d304f03f docs(frontend): document border radius tokens (#10158)
### Changes 🏗️

<img width="1761" alt="Screenshot 2025-06-13 at 18 40 50"
src="https://github.com/user-attachments/assets/d24a0350-a371-4067-9666-c3206aacce13"
/>

Document border radius tokens, which follow Tailwind default theme
radius scale 

### Checklist 📋

#### For code changes:
- [x] I have clearly listed my changes in the PR description
- [x] I have made a test plan
- [x] I have tested my changes according to the test plan:
  - [x] Run storybook
  - [x] Open the Tokens / Border Radius story
  - [x] Verify makes sense
2025-06-13 15:08:54 +00:00
Ubbe
5dafc086fb docs(frontend): document spacing tokens (#10155)
### Changes 🏗️

<img width="800" alt="Screenshot 2025-06-13 at 18 42 54"
src="https://github.com/user-attachments/assets/c1ddffb4-6898-4e2e-8961-49857c0ce65a"
/>

<img width="800" alt="Screenshot 2025-06-13 at 18 01 27"
src="https://github.com/user-attachments/assets/22c5e305-a5ed-469f-916b-38e93aba7f98"
/>

Document spacing tokens, which follow Tailwind default theme spacing
scale 

### Checklist 📋

#### For code changes:
- [x] I have clearly listed my changes in the PR description
- [x] I have made a test plan
- [x] I have tested my changes according to the test plan:
  - [x] Run storybook
  - [x] Open the Tokens / Spacing story
  - [x] Verify makes sense
2025-06-13 15:08:28 +00:00
Zamil Majdy
c109b676b8 fix(block): Invalid block input error on falsy non-null value 2025-06-13 00:39:55 -07:00
Dmitry
a259eac9ff feat(blocks): Add AI/ML API support to LLM blocks (#9996)
Hi! Taking over this feature from the previous author in
[#9163](https://github.com/Significant-Gravitas/AutoGPT/pull/9163).
This PR continues the work to integrate AI/ML API support into LLM
blocks, addressing pending review comments and ensuring compatibility
with the current codebase.

I’ve reviewed and fixed the outstanding issues from the previous PR.
Kindly recheck the previous concerns — let me know if anything still
needs improvement.

Previous description:

> Changes 🏗️
> 
> - Added basic functionality to enable users to send requests to our
models.
> - Added instructions for users on how to use the AI/ML API in AutoGPT.
> 
> Checklist 📋
> For code changes:
> 
> - [x] I have clearly listed my changes in the PR description
> - [x] I have made a test plan
> - [x] I have tested my changes according to the test plan:
> - [x] The API key has been successfully added and saved to the user's
profile.
> - [x] Sending requests to each model provided by us, enabling users to
test them in a project with various max_tokens parameter values and
other configurations.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Ivan <waterstark97@yandex.ru>
Co-authored-by: waterstark <84220220+waterstark@users.noreply.github.com>
Co-authored-by: Aarushi <50577581+aarushik93@users.noreply.github.com>
Co-authored-by: Reinier van der Leer <github@pwuts.nl>
Co-authored-by: Nicholas Tindle <nicholas.tindle@agpt.co>
Co-authored-by: snyk-bot <snyk-bot@snyk.io>
Co-authored-by: Krzysztof Czerwinski <34861343+kcze@users.noreply.github.com>
Co-authored-by: Zamil Majdy <zamil.majdy@agpt.co>
Co-authored-by: Krzysztof Czerwinski <kpczerwinski@gmail.com>
Co-authored-by: Reinier van der Leer <pwuts@agpt.co>
Co-authored-by: Bently <tomnoon9@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ayush Mittal <130590402+Ayush-Mittal10@users.noreply.github.com>
Co-authored-by: Azraf Nahian <69325302+turboslapper@users.noreply.github.com>
Co-authored-by: Nicholas Tindle <nicktindle@outlook.com>
Co-authored-by: Swifty <craigswift13@gmail.com>
Co-authored-by: Mario Sacaj <mariosacaj@gmail.com>
Co-authored-by: Toran Bruce Richards <toran.richards@gmail.com>
Co-authored-by: Abhimanyu Yadav <122007096+Abhi1992002@users.noreply.github.com>
Co-authored-by: Ritik Dutta <ritikduttagd@gmail.com>
Co-authored-by: Pratim Sadhu <pratimsadhu@icloud.com>
2025-06-11 17:46:44 +00:00
dependabot[bot]
2ab9cfdf79 chore(frontend/deps): Bump the production-dependencies group in /autogpt_platform/frontend with 3 updates (#10133)
Bumps the production-dependencies group in /autogpt_platform/frontend
with 3 updates:
[@sentry/nextjs](https://github.com/getsentry/sentry-javascript),
[@supabase/supabase-js](https://github.com/supabase/supabase-js) and
[zod](https://github.com/colinhacks/zod).

Updates `@sentry/nextjs` from 9.26.0 to 9.27.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/getsentry/sentry-javascript/releases"><code>@​sentry/nextjs</code>'s
releases</a>.</em></p>
<blockquote>
<h2>9.27.0</h2>
<ul>
<li>feat(node): Expand how vercel ai input/outputs can be set (<a
href="https://redirect.github.com/getsentry/sentry-javascript/pull/16455">#16455</a>)</li>
<li>feat(node): Switch to new semantic conventions for Vercel AI (<a
href="https://redirect.github.com/getsentry/sentry-javascript/pull/16476">#16476</a>)</li>
<li>feat(react-router): Add component annotation plugin (<a
href="https://redirect.github.com/getsentry/sentry-javascript/pull/16472">#16472</a>)</li>
<li>feat(react-router): Export wrappers for server loaders and actions
(<a
href="https://redirect.github.com/getsentry/sentry-javascript/pull/16481">#16481</a>)</li>
<li>fix(browser): Ignore unrealistically long INP values (<a
href="https://redirect.github.com/getsentry/sentry-javascript/pull/16484">#16484</a>)</li>
<li>fix(react-router): Conditionally add <code>ReactRouterServer</code>
integration (<a
href="https://redirect.github.com/getsentry/sentry-javascript/pull/16470">#16470</a>)</li>
</ul>
<h2>Bundle size 📦</h2>
<table>
<thead>
<tr>
<th>Path</th>
<th>Size</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>@​sentry/browser</code></td>
<td>23.43 KB</td>
</tr>
<tr>
<td><code>@​sentry/browser</code> - with treeshaking flags</td>
<td>23.2 KB</td>
</tr>
<tr>
<td><code>@​sentry/browser</code> (incl. Tracing)</td>
<td>37.46 KB</td>
</tr>
<tr>
<td><code>@​sentry/browser</code> (incl. Tracing, Replay)</td>
<td>74.68 KB</td>
</tr>
<tr>
<td><code>@​sentry/browser</code> (incl. Tracing, Replay) - with
treeshaking flags</td>
<td>67.94 KB</td>
</tr>
<tr>
<td><code>@​sentry/browser</code> (incl. Tracing, Replay with
Canvas)</td>
<td>79.33 KB</td>
</tr>
<tr>
<td><code>@​sentry/browser</code> (incl. Tracing, Replay, Feedback)</td>
<td>91.13 KB</td>
</tr>
<tr>
<td><code>@​sentry/browser</code> (incl. Feedback)</td>
<td>39.77 KB</td>
</tr>
<tr>
<td><code>@​sentry/browser</code> (incl. sendFeedback)</td>
<td>28.03 KB</td>
</tr>
<tr>
<td><code>@​sentry/browser</code> (incl. FeedbackAsync)</td>
<td>32.8 KB</td>
</tr>
<tr>
<td><code>@​sentry/react</code></td>
<td>25.15 KB</td>
</tr>
<tr>
<td><code>@​sentry/react</code> (incl. Tracing)</td>
<td>39.41 KB</td>
</tr>
<tr>
<td><code>@​sentry/vue</code></td>
<td>27.69 KB</td>
</tr>
<tr>
<td><code>@​sentry/vue</code> (incl. Tracing)</td>
<td>39.27 KB</td>
</tr>
<tr>
<td><code>@​sentry/svelte</code></td>
<td>23.45 KB</td>
</tr>
<tr>
<td>CDN Bundle</td>
<td>24.88 KB</td>
</tr>
<tr>
<td>CDN Bundle (incl. Tracing)</td>
<td>37.63 KB</td>
</tr>
<tr>
<td>CDN Bundle (incl. Tracing, Replay)</td>
<td>72.66 KB</td>
</tr>
<tr>
<td>CDN Bundle (incl. Tracing, Replay, Feedback)</td>
<td>77.99 KB</td>
</tr>
<tr>
<td>CDN Bundle - uncompressed</td>
<td>72.67 KB</td>
</tr>
<tr>
<td>CDN Bundle (incl. Tracing) - uncompressed</td>
<td>111.42 KB</td>
</tr>
<tr>
<td>CDN Bundle (incl. Tracing, Replay) - uncompressed</td>
<td>222.72 KB</td>
</tr>
<tr>
<td>CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed</td>
<td>235.25 KB</td>
</tr>
<tr>
<td><code>@​sentry/nextjs</code> (client)</td>
<td>41.03 KB</td>
</tr>
<tr>
<td><code>@​sentry/sveltekit</code> (client)</td>
<td>37.93 KB</td>
</tr>
<tr>
<td><code>@​sentry/node</code></td>
<td>146.75 KB</td>
</tr>
<tr>
<td><code>@​sentry/node</code> - without tracing</td>
<td>96.03 KB</td>
</tr>
<tr>
<td><code>@​sentry/aws-serverless</code></td>
<td>121.19 KB</td>
</tr>
</tbody>
</table>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md"><code>@​sentry/nextjs</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>9.27.0</h2>
<ul>
<li>feat(node): Expand how vercel ai input/outputs can be set (<a
href="https://redirect.github.com/getsentry/sentry-javascript/pull/16455">#16455</a>)</li>
<li>feat(node): Switch to new semantic conventions for Vercel AI (<a
href="https://redirect.github.com/getsentry/sentry-javascript/pull/16476">#16476</a>)</li>
<li>feat(react-router): Add component annotation plugin (<a
href="https://redirect.github.com/getsentry/sentry-javascript/pull/16472">#16472</a>)</li>
<li>feat(react-router): Export wrappers for server loaders and actions
(<a
href="https://redirect.github.com/getsentry/sentry-javascript/pull/16481">#16481</a>)</li>
<li>fix(browser): Ignore unrealistically long INP values (<a
href="https://redirect.github.com/getsentry/sentry-javascript/pull/16484">#16484</a>)</li>
<li>fix(react-router): Conditionally add <code>ReactRouterServer</code>
integration (<a
href="https://redirect.github.com/getsentry/sentry-javascript/pull/16470">#16470</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="650abf323b"><code>650abf3</code></a>
release: 9.27.0</li>
<li><a
href="5a672c90ea"><code>5a672c9</code></a>
Merge pull request <a
href="https://redirect.github.com/getsentry/sentry-javascript/issues/16489">#16489</a>
from getsentry/prepare-release/9.27.0</li>
<li><a
href="9d1c05ecf3"><code>9d1c05e</code></a>
meta(changelog): Update changelog for 9.27.0</li>
<li><a
href="6d61be0337"><code>6d61be0</code></a>
fix(browser): Ignore unrealistically long INP values (<a
href="https://redirect.github.com/getsentry/sentry-javascript/issues/16484">#16484</a>)</li>
<li><a
href="0a7b915fd7"><code>0a7b915</code></a>
ref(vue): Clarify Vue tracing (<a
href="https://redirect.github.com/getsentry/sentry-javascript/issues/16487">#16487</a>)</li>
<li><a
href="b1fd4a1d47"><code>b1fd4a1</code></a>
test(vue): Add tests for Vue tracing mixins (<a
href="https://redirect.github.com/getsentry/sentry-javascript/issues/16486">#16486</a>)</li>
<li><a
href="497b76e23a"><code>497b76e</code></a>
feat(react-router): Add component annotation plugin (<a
href="https://redirect.github.com/getsentry/sentry-javascript/issues/16472">#16472</a>)</li>
<li><a
href="cfa8d41aa2"><code>cfa8d41</code></a>
feat(react-router): Export wrappers for server loaders and actions (<a
href="https://redirect.github.com/getsentry/sentry-javascript/issues/16481">#16481</a>)</li>
<li><a
href="bfe5e888b1"><code>bfe5e88</code></a>
feat(node): Expand how vercel ai input/outputs can be set (<a
href="https://redirect.github.com/getsentry/sentry-javascript/issues/16455">#16455</a>)</li>
<li><a
href="45088a2ab7"><code>45088a2</code></a>
feat(node): Switch to new semantic conventions for Vercel AI (<a
href="https://redirect.github.com/getsentry/sentry-javascript/issues/16476">#16476</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/getsentry/sentry-javascript/compare/9.26.0...9.27.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `@supabase/supabase-js` from 2.49.10 to 2.50.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/supabase/supabase-js/releases"><code>@​supabase/supabase-js</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v2.50.0</h2>
<h1><a
href="https://github.com/supabase/supabase-js/compare/v2.49.10...v2.50.0">2.50.0</a>
(2025-06-06)</h1>
<h3>Bug Fixes</h3>
<ul>
<li>add <code>@​solana/wallet-standard-features</code> as dev dependency
(<a
href="https://redirect.github.com/supabase/supabase-js/issues/1454">#1454</a>)
(<a
href="146c822768">146c822</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li>bump auth-js to v2.70.0 (<a
href="https://redirect.github.com/supabase/supabase-js/issues/1449">#1449</a>)
(<a
href="217473f6b4">217473f</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="146c822768"><code>146c822</code></a>
fix: add <code>@​solana/wallet-standard-features</code> as dev
dependency (<a
href="https://redirect.github.com/supabase/supabase-js/issues/1454">#1454</a>)</li>
<li><a
href="217473f6b4"><code>217473f</code></a>
feat: bump auth-js to v2.70.0 (<a
href="https://redirect.github.com/supabase/supabase-js/issues/1449">#1449</a>)</li>
<li>See full diff in <a
href="https://github.com/supabase/supabase-js/compare/v2.49.10...v2.50.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `zod` from 3.25.51 to 3.25.56
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/colinhacks/zod/releases">zod's
releases</a>.</em></p>
<blockquote>
<h2>v3.25.56</h2>
<h2>Commits:</h2>
<ul>
<li>64bfb7001cf6f2575bf38b5e6130bc73b4b0e371 3.25.56</li>
</ul>
<h2>v3.25.55</h2>
<h2>Commits:</h2>
<ul>
<li>44141ea1dbd48403f14704386119884aeda5cb27 3.25.55</li>
</ul>
<h2>v3.25.54</h2>
<h2>Commits:</h2>
<ul>
<li>8ab237423cd8fdca58dc9e18f45d48d56ca2a24d fix(util): cross realm
IsPlainObject check (<a
href="https://redirect.github.com/colinhacks/zod/issues/4627">#4627</a>)</li>
<li>2be1c6ad909a9d0598d9f45fedc9038213130529 Fix generic assignability
issue. 3.25.54</li>
</ul>
<h2>v3.25.53</h2>
<h2>Commits:</h2>
<ul>
<li>a6adb148012f59d734245c637a577ed413a484e7 zod mini internals (<a
href="https://redirect.github.com/colinhacks/zod/issues/4631">#4631</a>)</li>
<li>da4f92170ac838029178c4622015dbdae4a1de7c 3.25.53</li>
</ul>
<h2>v3.25.52</h2>
<h2>Commits:</h2>
<ul>
<li>2954f40a4e41f61e835ba211ff084467dca1f41e Fix json (<a
href="https://redirect.github.com/colinhacks/zod/issues/4630">#4630</a>)</li>
<li>51dc6f9361851e64a925c3f4ee9364ce4da4c4e7 3.25.52</li>
<li>e479ea76ae1571064c3dade621b3af0ea2dff942 Add test cast for deferred
self-recursion</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="64bfb7001c"><code>64bfb70</code></a>
3.25.56</li>
<li><a
href="44141ea1db"><code>44141ea</code></a>
3.25.55</li>
<li><a
href="2be1c6ad90"><code>2be1c6a</code></a>
Fix generic assignability issue. 3.25.54</li>
<li><a
href="8ab237423c"><code>8ab2374</code></a>
fix(util): cross realm IsPlainObject check (<a
href="https://redirect.github.com/colinhacks/zod/issues/4627">#4627</a>)</li>
<li><a
href="da4f92170a"><code>da4f921</code></a>
3.25.53</li>
<li><a
href="a6adb14801"><code>a6adb14</code></a>
zod mini internals (<a
href="https://redirect.github.com/colinhacks/zod/issues/4631">#4631</a>)</li>
<li><a
href="e479ea76ae"><code>e479ea7</code></a>
Add test cast for deferred self-recursion</li>
<li><a
href="51dc6f9361"><code>51dc6f9</code></a>
3.25.52</li>
<li><a
href="2954f40a4e"><code>2954f40</code></a>
Fix json (<a
href="https://redirect.github.com/colinhacks/zod/issues/4630">#4630</a>)</li>
<li>See full diff in <a
href="https://github.com/colinhacks/zod/compare/v3.25.51...v3.25.56">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: Ubbe <hi@ubbe.dev>
Co-authored-by: Swifty <craigswift13@gmail.com>
2025-06-11 11:10:06 +00:00
Zamil Majdy
796f896042 fix(backend): execution UI did not receive completed / failed execution update (#10149)
<img width="1410" alt="image"
src="https://github.com/user-attachments/assets/bce407a2-96a1-42e9-9772-b49b8f20886c"
/>


### Changes 🏗️

Add the missing `send execution update` command on completed/update
status change for the node execution.

### Checklist 📋

#### For code changes:
- [x] I have clearly listed my changes in the PR description
- [x] I have made a test plan
- [x] I have tested my changes according to the test plan:
  <!-- Put your test plan here: -->
  - [x] Screenshot attached
2025-06-11 07:35:51 +00:00
Ubbe
8028a766b1 fix(frontend): account menu still showing after logout (#10143)
### Changes 🏗️

<img width="800" alt="Screenshot 2025-06-10 at 14 21 48"
src="https://github.com/user-attachments/assets/d0dba02d-049d-446c-9a25-0f7cec9108bc"
/>

When logging out, I'm redirected to the `/login` page but the account
menu is still visible (however I'm not longer logged out). Refreshing
the page fixes it.

The problem was that `supabase.logOut()` is a client side action, and
`<Navbar />` is a RSC who fetchs the session on the server to display
the state and does not know on the client it was invalidated.
`router.refresh()` solves the issue by forcing RSC on the page to
refetch their state and update server side. Further reading
[here](https://nextjs.org/docs/app/deep-dive/caching#invalidation-1).

I also improved the UX awaiting the promise and displaying a spinner
while the log out action is happening. If logout fails ( _should be very
rare_ ) I'm displaying a toast to not let the user be hanging wondering
what happened.

### Checklist 📋

#### For code changes:
- [x] I have clearly listed my changes in the PR description
- [x] I have made a test plan
- [x] I have tested my changes according to the test plan:
  - [x] Login
  - [x] Open account menu
  - [x] Click `Logout`
  - [x] I see a spinner while the action is happening
- [x] I'm redirected to `/login` and I no longer see the account menu
2025-06-11 04:49:56 +00:00
Bently
1e89bf5c37 feat(blocks): add veo3 to ai video generator (#10144)
### Changes 🏗️

This simply adds "fal-ai/veo3" to the ``FalModel`` in the
``ai_video_generator.py`` file
Oh i also set it so veo3 also always generates videos with audio so
``generate_audio=True`` is set to true if veo3 is selected

### Checklist 📋

#### For code changes:
- [x] I have clearly listed my changes in the PR description
- [x] I have made a test plan
- [x] I have tested my changes according to the test plan:
  <!-- Put your test plan here: -->
  - [x] Test the veo3 model via Fal.ai and it should work.
2025-06-10 23:31:50 +00:00
Bently
2e96da36c2 feat(blocks): Drop the price of chatgpt o3 model (#10145)
### Changes 🏗️

Today openAI dropped the prices of the o3 model so this simply drops the
price from 7 to 4

### Checklist 📋

#### For code changes:
- [x] I have clearly listed my changes in the PR description
- [x] I have made a test plan
- [x] I have tested my changes according to the test plan:
  <!-- Put your test plan here: -->
- [x] Run the platform with the new price, check the O3 model in the ai
text generator block and see its cheaper to use
2025-06-10 23:31:01 +00:00
dependabot[bot]
de83c35c5f chore(frontend/deps-dev): Bump the development-dependencies group in /autogpt_platform/frontend with 5 updates (#10135)
Bumps the development-dependencies group in /autogpt_platform/frontend
with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [@storybook/test-runner](https://github.com/storybookjs/test-runner) |
`0.22.0` | `0.22.1` |
|
[@types/negotiator](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/negotiator)
| `0.6.3` | `0.6.4` |
|
[@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)
| `22.15.29` | `22.15.30` |
| [msw](https://github.com/mswjs/msw) | `2.9.0` | `2.10.2` |
|
[msw-storybook-addon](https://github.com/mswjs/msw-storybook-addon/tree/HEAD/packages/msw-addon)
| `2.0.4` | `2.0.5` |

Updates `@storybook/test-runner` from 0.22.0 to 0.22.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/storybookjs/test-runner/releases"><code>@​storybook/test-runner</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v0.22.1</h2>
<h4>🐛 Bug Fix</h4>
<ul>
<li>Patch: Add telemetry to test run <a
href="https://redirect.github.com/storybookjs/test-runner/pull/565">#565</a>
(<a href="https://github.com/yannbf"><code>@​yannbf</code></a>)</li>
</ul>
<h4>Authors: 1</h4>
<ul>
<li>Yann Braga (<a
href="https://github.com/yannbf"><code>@​yannbf</code></a>)</li>
</ul>
<h2>v0.22.1-next.0</h2>
<h4>🐛 Bug Fix</h4>
<ul>
<li>Replace <code>@​storybook/csf</code> with storybook's internal csf
implementation <a
href="https://redirect.github.com/storybookjs/test-runner/pull/556">#556</a>
(<a href="https://github.com/yannbf"><code>@​yannbf</code></a>)</li>
</ul>
<h4>Authors: 1</h4>
<ul>
<li>Yann Braga (<a
href="https://github.com/yannbf"><code>@​yannbf</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/storybookjs/test-runner/blob/v0.22.1/CHANGELOG.md"><code>@​storybook/test-runner</code>'s
changelog</a>.</em></p>
<blockquote>
<h1>v0.22.1 (Sat Jun 07 2025)</h1>
<h4>🐛 Bug Fix</h4>
<ul>
<li>Patch: Add telemetry to test run <a
href="https://redirect.github.com/storybookjs/test-runner/pull/565">#565</a>
(<a href="https://github.com/yannbf"><code>@​yannbf</code></a>)</li>
</ul>
<h4>Authors: 1</h4>
<ul>
<li>Yann Braga (<a
href="https://github.com/yannbf"><code>@​yannbf</code></a>)</li>
</ul>
<hr />
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ed37196132"><code>ed37196</code></a>
Bump version to: 0.22.1 [skip ci]</li>
<li><a
href="df34390ef7"><code>df34390</code></a>
Update CHANGELOG.md [skip ci]</li>
<li><a
href="0b60c084fe"><code>0b60c08</code></a>
Merge pull request <a
href="https://redirect.github.com/storybookjs/test-runner/issues/565">#565</a>
from storybookjs/telemetry-main</li>
<li><a
href="4baeaf3d3d"><code>4baeaf3</code></a>
Add telemetry to test run</li>
<li>See full diff in <a
href="https://github.com/storybookjs/test-runner/compare/v0.22.0...v0.22.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `@types/negotiator` from 0.6.3 to 0.6.4
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/negotiator">compare
view</a></li>
</ul>
</details>
<br />

Updates `@types/node` from 22.15.29 to 22.15.30
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node">compare
view</a></li>
</ul>
</details>
<br />

Updates `msw` from 2.9.0 to 2.10.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/mswjs/msw/releases">msw's
releases</a>.</em></p>
<blockquote>
<h2>v2.10.2 (2025-06-09)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>TypeScript:</strong> support <code>Response.error()</code>
and <code>HttpResponse.error()</code> as mocked responses (<a
href="https://redirect.github.com/mswjs/msw/issues/2132">#2132</a>)
(72cc8ddac8f030f747b674148b03e5a025e412d2) <a
href="https://github.com/jacquesg"><code>@​jacquesg</code></a> <a
href="https://github.com/kettanaito"><code>@​kettanaito</code></a></li>
</ul>
<h2>v2.10.1 (2025-06-07)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>update <code>@mswjs/interceptors</code> to support WebSocket server
protocol (<a
href="https://redirect.github.com/mswjs/msw/issues/2528">#2528</a>)
(6704fa042a3eaa71b68eb7b9028a7464b2b30cef) <a
href="https://github.com/kettanaito"><code>@​kettanaito</code></a></li>
</ul>
<h2>v2.10.0 (2025-06-07)</h2>
<h3>Features</h3>
<ul>
<li><strong>WebSocketHandler:</strong> add <code>run</code> method (<a
href="https://redirect.github.com/mswjs/msw/issues/2527">#2527</a>)
(94fc78ea50bd8c3334945d3047650c8b82c2f754) <a
href="https://github.com/kettanaito"><code>@​kettanaito</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="a30cdf591e"><code>a30cdf5</code></a>
chore(release): v2.10.2</li>
<li><a
href="72cc8ddac8"><code>72cc8dd</code></a>
fix(TypeScript): support <code>Response.error()</code> and
<code>HttpResponse.error()</code> as moc...</li>
<li><a
href="d38097f162"><code>d38097f</code></a>
chore(release): v2.10.1</li>
<li><a
href="6704fa042a"><code>6704fa0</code></a>
fix: update <code>@mswjs/interceptors</code> to support WebSocket server
protocol (<a
href="https://redirect.github.com/mswjs/msw/issues/2528">#2528</a>)</li>
<li><a
href="dce459e32c"><code>dce459e</code></a>
chore(release): v2.10.0</li>
<li><a
href="94fc78ea50"><code>94fc78e</code></a>
feat(WebSocketHandler): add <code>run</code> method (<a
href="https://redirect.github.com/mswjs/msw/issues/2527">#2527</a>)</li>
<li><a
href="ca9d87768e"><code>ca9d877</code></a>
chore: run preview release on all pull requests (<a
href="https://redirect.github.com/mswjs/msw/issues/2526">#2526</a>)</li>
<li>See full diff in <a
href="https://github.com/mswjs/msw/compare/v2.9.0...v2.10.2">compare
view</a></li>
</ul>
</details>
<br />

Updates `msw-storybook-addon` from 2.0.4 to 2.0.5
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/mswjs/msw-storybook-addon/releases">msw-storybook-addon's
releases</a>.</em></p>
<blockquote>
<h2>v2.0.5</h2>
<h4>🐛 Bug Fix</h4>
<ul>
<li>fix: updates types to increase compatibility with storybook types <a
href="https://redirect.github.com/mswjs/msw-storybook-addon/pull/169">#169</a>
(<a
href="https://github.com/rhuanbarreto"><code>@​rhuanbarreto</code></a>)</li>
</ul>
<h4>Authors: 1</h4>
<ul>
<li>Rhuan Barreto (<a
href="https://github.com/rhuanbarreto"><code>@​rhuanbarreto</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/mswjs/msw-storybook-addon/blob/main/packages/msw-addon/CHANGELOG.md">msw-storybook-addon's
changelog</a>.</em></p>
<blockquote>
<h1>v2.0.5 (Thu Jun 05 2025)</h1>
<h4>🐛 Bug Fix</h4>
<ul>
<li>fix: updates types to increase compatibility with storybook types <a
href="https://redirect.github.com/mswjs/msw-storybook-addon/pull/169">#169</a>
(<a
href="https://github.com/rhuanbarreto"><code>@​rhuanbarreto</code></a>)</li>
</ul>
<h4>Authors: 1</h4>
<ul>
<li>Rhuan Barreto (<a
href="https://github.com/rhuanbarreto"><code>@​rhuanbarreto</code></a>)</li>
</ul>
<hr />
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ec35e9371f"><code>ec35e93</code></a>
Update CHANGELOG.md [skip ci]</li>
<li><a
href="d67ffc6b26"><code>d67ffc6</code></a>
fix: updates types to increase compatibility with storybook types (<a
href="https://github.com/mswjs/msw-storybook-addon/tree/HEAD/packages/msw-addon/issues/169">#169</a>)</li>
<li>See full diff in <a
href="https://github.com/mswjs/msw-storybook-addon/commits/v2.0.5/packages/msw-addon">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: Swifty <craigswift13@gmail.com>
Co-authored-by: Lluis Agusti <hi@llu.lu>
Co-authored-by: Ubbe <hi@ubbe.dev>
2025-06-10 15:52:49 +00:00
dependabot[bot]
450c1ee668 chore(frontend/deps): Bump @hookform/resolvers from 3.10.0 to 5.1.1 in /autogpt_platform/frontend (#10134)
Bumps
[@hookform/resolvers](https://github.com/react-hook-form/resolvers) from
3.10.0 to 5.1.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/react-hook-form/resolvers/releases"><code>@​hookform/resolvers</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v5.1.1</h2>
<h2><a
href="https://github.com/react-hook-form/resolvers/compare/v5.1.0...v5.1.1">5.1.1</a>
(2025-06-09)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>zod peer dep issue (<a
href="https://redirect.github.com/react-hook-form/resolvers/issues/780">#780</a>)
(<a
href="79cd8b284d">79cd8b2</a>)</li>
</ul>
<h2>v5.1.0</h2>
<h1><a
href="https://github.com/react-hook-form/resolvers/compare/v5.0.1...v5.1.0">5.1.0</a>
(2025-06-07)</h1>
<h3>Features</h3>
<ul>
<li>support Zod 4, Zod v4 mini, and retains compatibility with Zod v3.
(<a
href="https://redirect.github.com/react-hook-form/resolvers/issues/777">#777</a>)
(<a
href="8d083bd5f5">8d083bd</a>)</li>
</ul>
<h2>v5.0.1</h2>
<h2><a
href="https://github.com/react-hook-form/resolvers/compare/v5.0.0...v5.0.1">5.0.1</a>
(2025-04-02)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>relax version constraint for react-hook-form 7.55.0 → ^7.55.0 (<a
href="https://redirect.github.com/react-hook-form/resolvers/issues/758">#758</a>)
(<a
href="6e8839343d">6e88393</a>)</li>
</ul>
<h2>v5.0.0</h2>
<h1><a
href="https://github.com/react-hook-form/resolvers/compare/v4.1.3...v5.0.0">5.0.0</a>
(2025-04-01)</h1>
<h3>Features</h3>
<ul>
<li>infer input/output types from schema (<a
href="https://redirect.github.com/react-hook-form/resolvers/issues/753">#753</a>)
(<a
href="6124c59a99">6124c59</a>)</li>
</ul>
<h3>BREAKING CHANGES</h3>
<ul>
<li>Requires react-hook-form@7.55.0 or higher</li>
</ul>
<p><strong>Before</strong>
Prior to V5, some projects used manual types like</p>
<pre lang="tsx"><code>useForm&lt;FormValues&gt;();
</code></pre>
<p><strong>After</strong>
With V5, the correct approach is:</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="79cd8b284d"><code>79cd8b2</code></a>
fix: zod peer dep issue (<a
href="https://redirect.github.com/react-hook-form/resolvers/issues/780">#780</a>)</li>
<li><a
href="8d083bd5f5"><code>8d083bd</code></a>
feat: support Zod 4 (<a
href="https://redirect.github.com/react-hook-form/resolvers/issues/777">#777</a>)</li>
<li><a
href="3bc2ad50a6"><code>3bc2ad5</code></a>
docs: fix table formatting (<a
href="https://redirect.github.com/react-hook-form/resolvers/issues/774">#774</a>)</li>
<li><a
href="6e8839343d"><code>6e88393</code></a>
fix: relax version constraint for react-hook-form 7.55.0 → ^7.55.0 (<a
href="https://redirect.github.com/react-hook-form/resolvers/issues/758">#758</a>)</li>
<li><a
href="a54d05a9a2"><code>a54d05a</code></a>
Merge branch 'dev'</li>
<li><a
href="6124c59a99"><code>6124c59</code></a>
feat: infer input/output types from schema (<a
href="https://redirect.github.com/react-hook-form/resolvers/issues/753">#753</a>)</li>
<li><a
href="50dd4add92"><code>50dd4ad</code></a>
fix: escape square brackets in field name regex pattern (<a
href="https://redirect.github.com/react-hook-form/resolvers/issues/752">#752</a>)</li>
<li><a
href="ded1746ee8"><code>ded1746</code></a>
fix(standard-schema): move <code>@​standard-schema/utils</code> to
dependencies (<a
href="https://redirect.github.com/react-hook-form/resolvers/issues/748">#748</a>)</li>
<li><a
href="8ffada0c7a"><code>8ffada0</code></a>
fix(standard-schema): Propertly handle object path segments (<a
href="https://redirect.github.com/react-hook-form/resolvers/issues/746">#746</a>)</li>
<li><a
href="8ea953c84d"><code>8ea953c</code></a>
update README.md</li>
<li>Additional commits viewable in <a
href="https://github.com/react-hook-form/resolvers/compare/v3.10.0...v5.1.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@hookform/resolvers&package-manager=npm_and_yarn&previous-version=3.10.0&new-version=5.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-10 15:51:19 +00:00
Ubbe
5385520c53 feat(frontend): document typography tokens + Text component (#10132)
### Changes 🏗️

<img width="700" alt="Screenshot 2025-06-09 at 17 01 59"
src="https://github.com/user-attachments/assets/f2b0a3a6-fdf1-4e3e-9caa-d2bf03543dab"
/>

<img width="700" alt="Screenshot 2025-06-09 at 17 02 06"
src="https://github.com/user-attachments/assets/36e27a0b-07f2-4074-8628-cb236d75e4c4"
/>

This PR introduces a comprehensive Typography System for our design
system with improved documentation and developer experience [matching
what we have on
Figma](https://www.figma.com/design/nO9NFynNuicLtkiwvOxrbz/AutoGPT-Design-System?m=dev).

#### **Typography System**

- Created `<Text />` component
- Enforce its usage to ensure consistent typographic styles across the
app
```tsx
<Text variant="h1">Heading 1</Text>
<Text variant="h2">Heading 2</Text>
<Text variant="body">hello world</Text>
<Text variant="small">smol text</Text>
```
- Created `Typography.stories.tsx` on Storybook
- Complete typography overview with font showcases and usage guidelines

#### **Storybook Improvements**
- **Updated TypeScript docgen** configuration for better prop extraction
- **Cleaned up story rendering** to prevent MDX styling pollution
- **Split large story files** into focused, maintainable components

### Checklist 📋

#### For code changes:

- [x] I have clearly listed my changes in the PR description
- [x] I have made a test plan
- [x] I have tested my changes according to the test plan:
  
**Test Plan:**
- [x] Typography stories render correctly in Storybook
- [x] All Text component variants display properly
- [x] Interactive playground controls function correctly
- [x] No TypeScript or linting errors

---------

Co-authored-by: Swifty <craigswift13@gmail.com>
2025-06-10 14:57:13 +00:00
Zamil Majdy
210d457ecd feat(executor): Improve execution ordering to allow depth-first execution (#10142)
Allowing depth-first execution will unlock faster processing latency and
a better sense of progress.

<img width="950" alt="image"
src="https://github.com/user-attachments/assets/e2a0e11a-8bc5-4a65-a10d-b5b6c6383354"
/>


### Changes 🏗️

* Prioritize adding a new execution over processing execution output
* Make sure to enqueue each node once when processing output instead of
draining a single node and move on.

### Checklist 📋

#### For code changes:
- [x] I have clearly listed my changes in the PR description
- [x] I have made a test plan
- [x] I have tested my changes according to the test plan:
  <!-- Put your test plan here: -->
  - [x] Run company follower count finder agent.

---------

Co-authored-by: Swifty <craigswift13@gmail.com>
2025-06-10 12:41:31 +00:00
dependabot[bot]
f9b37d2693 chore(frontend/deps-dev): Bump @chromatic-com/storybook from 3.2.4 to 3.2.6 in /autogpt_platform/frontend (#10137)
Bumps
[@chromatic-com/storybook](https://github.com/chromaui/addon-visual-tests)
from 3.2.4 to 3.2.6.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/chromaui/addon-visual-tests/releases"><code>@​chromatic-com/storybook</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v3.2.6</h2>
<h4>🐛 Bug Fix</h4>
<ul>
<li>Fix SSO url <a
href="https://redirect.github.com/chromaui/addon-visual-tests/pull/363">#363</a>
(<a
href="https://github.com/kasperpeulen"><code>@​kasperpeulen</code></a>)</li>
</ul>
<h4>Authors: 1</h4>
<ul>
<li>Kasper Peulen (<a
href="https://github.com/kasperpeulen"><code>@​kasperpeulen</code></a>)</li>
</ul>
<h2>v3.2.6-next.0</h2>
<h4>⚠️ Pushed to <code>next</code></h4>
<ul>
<li>cleanup (<a
href="https://github.com/ndelangen"><code>@​ndelangen</code></a>)</li>
<li>&quot;fix&quot; typeissues (<a
href="https://github.com/ndelangen"><code>@​ndelangen</code></a>)</li>
<li>ignore .js files (<a
href="https://github.com/ndelangen"><code>@​ndelangen</code></a>)</li>
<li>ignore (<a
href="https://github.com/ndelangen"><code>@​ndelangen</code></a>)</li>
<li>fix (<a
href="https://github.com/ndelangen"><code>@​ndelangen</code></a>)</li>
<li>fix typing issue where the component now supports an array of arrays
(<a
href="https://github.com/ndelangen"><code>@​ndelangen</code></a>)</li>
<li>single quotes (<a
href="https://github.com/ndelangen"><code>@​ndelangen</code></a>)</li>
<li>fix linting &amp; upgrade (<a
href="https://github.com/ndelangen"><code>@​ndelangen</code></a>)</li>
<li>upgrade to sb9 alpha (<a
href="https://github.com/ndelangen"><code>@​ndelangen</code></a>)</li>
<li>add canary support (<a
href="https://github.com/ndelangen"><code>@​ndelangen</code></a>)</li>
<li>restrict version range to 9.0.0 ONLY (<a
href="https://github.com/ndelangen"><code>@​ndelangen</code></a>)</li>
<li>add 9.0.0-alpha compatibility (<a
href="https://github.com/ndelangen"><code>@​ndelangen</code></a>)</li>
</ul>
<h4>Authors: 1</h4>
<ul>
<li>Norbert de Langen (<a
href="https://github.com/ndelangen"><code>@​ndelangen</code></a>)</li>
</ul>
<h2>v3.2.5</h2>
<h4>🐛 Bug Fix</h4>
<ul>
<li>Debug release <a
href="https://redirect.github.com/chromaui/addon-visual-tests/pull/357">#357</a>
(<a
href="https://github.com/kasperpeulen"><code>@​kasperpeulen</code></a>)</li>
<li>Remove the connection timeout notification <a
href="https://redirect.github.com/chromaui/addon-visual-tests/pull/351">#351</a>
(<a
href="https://github.com/valentinpalkovic"><code>@​valentinpalkovic</code></a>)</li>
<li>Set up Codecov <a
href="https://redirect.github.com/chromaui/addon-visual-tests/pull/350">#350</a>
(<a
href="https://github.com/paulelliott"><code>@​paulelliott</code></a>)</li>
</ul>
<h4>Authors: 3</h4>
<ul>
<li>Kasper Peulen (<a
href="https://github.com/kasperpeulen"><code>@​kasperpeulen</code></a>)</li>
<li>Paul Elliott (<a
href="https://github.com/paulelliott"><code>@​paulelliott</code></a>)</li>
<li>Valentin Palkovic (<a
href="https://github.com/valentinpalkovic"><code>@​valentinpalkovic</code></a>)</li>
</ul>
<h2>v3.2.5-next.0</h2>
<h4>🐛 Bug Fix</h4>
<ul>
<li>Remove the connection timeout notification <a
href="https://redirect.github.com/chromaui/addon-visual-tests/pull/351">#351</a>
(<a
href="https://github.com/valentinpalkovic"><code>@​valentinpalkovic</code></a>)</li>
<li>Set up Codecov <a
href="https://redirect.github.com/chromaui/addon-visual-tests/pull/350">#350</a>
(<a
href="https://github.com/paulelliott"><code>@​paulelliott</code></a>)</li>
</ul>
<h4>Authors: 2</h4>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/chromaui/addon-visual-tests/blob/next/CHANGELOG.md"><code>@​chromatic-com/storybook</code>'s
changelog</a>.</em></p>
<blockquote>
<h1>v3.2.6 (Fri Mar 14 2025)</h1>
<h4>🐛 Bug Fix</h4>
<ul>
<li>Fix SSO url <a
href="https://redirect.github.com/chromaui/addon-visual-tests/pull/363">#363</a>
(<a
href="https://github.com/kasperpeulen"><code>@​kasperpeulen</code></a>)</li>
</ul>
<h4>Authors: 1</h4>
<ul>
<li>Kasper Peulen (<a
href="https://github.com/kasperpeulen"><code>@​kasperpeulen</code></a>)</li>
</ul>
<hr />
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="296009e652"><code>296009e</code></a>
Bump version to: 3.2.6 [skip ci]</li>
<li><a
href="0feb10807f"><code>0feb108</code></a>
Update CHANGELOG.md [skip ci]</li>
<li><a
href="ffb7b7dbe7"><code>ffb7b7d</code></a>
Merge pull request <a
href="https://redirect.github.com/chromaui/addon-visual-tests/issues/363">#363</a>
from chromaui/kasper/fix-url</li>
<li><a
href="76f5a62b58"><code>76f5a62</code></a>
Fix eslint</li>
<li><a
href="ad737b588d"><code>ad737b5</code></a>
Fix storybook</li>
<li><a
href="4719d54d43"><code>4719d54</code></a>
Fix subdomain for SSO</li>
<li><a
href="a1c2d2249b"><code>a1c2d22</code></a>
Bump version to: 3.2.5 [skip ci]</li>
<li><a
href="f2a5ec59f0"><code>f2a5ec5</code></a>
Update CHANGELOG.md [skip ci]</li>
<li><a
href="bf4292c8da"><code>bf4292c</code></a>
Merge pull request <a
href="https://redirect.github.com/chromaui/addon-visual-tests/issues/357">#357</a>
from chromaui/kasper/fix-release</li>
<li><a
href="abdd57a2b3"><code>abdd57a</code></a>
Debug release</li>
<li>See full diff in <a
href="https://github.com/chromaui/addon-visual-tests/compare/v3.2.4...v3.2.6">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@chromatic-com/storybook&package-manager=npm_and_yarn&previous-version=3.2.4&new-version=3.2.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-10 11:48:17 +00:00
Ubbe
2f16511f24 fix(frontend): avoid Sentry initialisation and warnings on local dev (#10125)
## Changes 🏗️

We were getting the following warnings in the console when running the
local server:

```
 ⚠ ./node_modules/.pnpm/@sentry+node@9.26.0/node_modules/@sentry/node/build/cjs/sdk
Package import-in-the-middle can't be external
The request import-in-the-middle matches serverExternalPackages (or the default list).
The request could not be resolved by Node.js from the project directory.
Packages that should be external need to be installed in the project directory, so they can be resolved from the output files.
Try to install it into the project directory by running npm install import-in-the-middle from the project directory.
```

### Why were the warnings happening?

The Sentry SDK for Next.js tries to hook into Node.js internals using
packages like `import-in-the-middle` and `require-in-the-middle`. When
Sentry is imported at the top level on a file (even if not enabled), it
tries to load these dependencies... If they are not installed, then we
get these warnings...

### Why does installing the packages fix it?

By installing `import-in-the-middle` and `require-in-the-middle` as dev
dependencies, Sentry finds them and the warnings disappear. This is a
safe workaround for local/dev, and does not affect production.

### Loading Sentry conditionally

One way to avoid these warnings ⚠️ is by loading Sentry conditionally.
That is the approach I took in an earlier PR. However I realised that it
would have to apply to any file importing Sentry:
```ts
import * as Sentry from "@sentry/nextjs";
```
which would end quite messy and affecting a lot of files. I realised
installing the packages is just simpler ( _they won't in the bundle or
affect page load_ ) and using `enabled` in the Sentry initialisation is
also cleaner.

## Checklist 📋

### For code changes:
- [x] I have clearly listed my changes in the PR description
- [x] I have made a test plan
- [x] I have tested my changes according to the test plan:
- [x] There are not Sentry warnings when running the local dev server (
with or without `--turbo` )
- [x] Sentry still reports issues in production or staging ( _but not
locally_ )
2025-06-10 10:20:32 +00:00
Swifty
4a03e5cbaf fix(backend): improve server error handling (#10030)
## Changes
- log helpful hints when metrics fail to record
- clarify API key errors in v1 router
- improve Postmark unsubscribe and webhook logs
- surface actionable feedback across integrations and store APIs
- handle Otto proxy failures with guidance

## Checklist
- [x] I have clearly listed my changes in the PR description
- [x] I have made a test plan
- [x] I have tested my changes according to the test plan
2025-06-10 10:09:57 +00:00
Zamil Majdy
7165958feb fix(frontend): Fix builder UI glitch (#10139)
There are a few UI bugs on the builder that this PR addresses.

<img width="554" alt="image"
src="https://github.com/user-attachments/assets/1be70197-de7e-40fe-ab11-405c145e763d"
/>

### Changes 🏗️

Fix these UI issues:
* (screenshot attached above) Key-value input width was unintentionally
maxed out due to a stale CSS rule.
* When multiple executions within the same node are running, we pick the
latest status, making one running and one completed execution displayed
as completed.
* No balance errors were executed, only displayed while at least one
node execution was triggered, while this can be done directly when the
execution request is triggered.
* Run & Stop button glitch: it's still showing as stopped when the graph
is still running, this is due to way the UI code tracks execution in the
node-level, instead of graph level.

### Checklist 📋

#### For code changes:
- [x] I have clearly listed my changes in the PR description
- [x] I have made a test plan
- [x] I have tested my changes according to the test plan:
  <!-- Put your test plan here: -->
  - [x] Manual tests on the described behaviours.
2025-06-10 05:46:18 +00:00
Ubbe
014b276552 feat(platform): allow to signin with Google (#10117)
## Changes 🏗️

<img width="500" alt="Screenshot 2025-06-05 at 16 24 35"
src="https://github.com/user-attachments/assets/ccf51917-68fb-4538-bfd9-7ab8bc8ce33a"
/>
<br /><br />

- Allow users to sign in or sign up with Google (SSO), via Supabase
- Prevent password login or signup with `@agpt.co` emails
- Refactor/simplify the login/signup page logic by splitting rendering
and hook logic (
[explanation](https://github.com/Significant-Gravitas/AutoGPT/pull/10117#discussion_r2128793394)
)

### Moved the `createUser` logic to the callback 

`api.createUser()` was being called **before** the OAuth flow completes.
Here's what's happening. I moved `api.createUser()` from `providerLogin`
to the **callback handler** where the session is established to make
sure it happens once we get the OK from Google session wise.

## Checklist 📋

### For code changes:
- [x] I have clearly listed my changes in the PR description
- [x] I have made a test plan
- [ ] I have tested my changes according to the test plan:
  - [ ] Run this PR on a preview
  - [ ] The "Login with Google" button is visible
  - [ ] Login/signup with Google works
- [ ] You can't login or signup with password using an `@agpt.co` email
2025-06-09 14:23:12 +00:00