Commit Graph

6770 Commits

Author SHA1 Message Date
Zamil Majdy
da0482b54e fix(backend): Fix graph fetching of non-owned marketplace agent (#10110)
Currently, the get_graph function, with no graph version specifier will
try to fetch the latest version, and when the graph is not owned and the
latest version is not available for listing, it will return `None`
instead of picking the latest graph version available on the store.

### Changes 🏗️

Instead of using the latest graph.version to fetch the store listing,
don't provide any version filter at all and pick up whatever available
version in the store.

### Checklist 📋

#### For code changes:
- [x] I have clearly listed my changes in the PR description
- [x] I have made a test plan
- [x] I have tested my changes according to the test plan:
  <!-- Put your test plan here: -->
  - [x] CI, existing tests
autogpt-platform-beta-v0.6.12
2025-06-05 06:05:31 +00:00
Zamil Majdy
d710d14339 Merge branch 'master' of github.com:Significant-Gravitas/AutoGPT into dev 2025-06-05 11:46:49 +07:00
Reinier van der Leer
47adab575b fix(frontend): Fix login/logout actions; update credentials cache on state change (#10017)
- Resolves #10008

### Changes 🏗️

- Update `useSupabase` hook to propagate auth state changes
- Refresh `CredentialsProvider` whenever the user login state changes
- Add `logOut` callback to `useSupabase` hook that handles (client-side)
logout
- Remove server-side `logout` action: the Supabase reference
implementation does it client-side, and doing both causes a race
condition

Refactorings to aid implementation of the above:
- Move `@/hooks/useSupabase` -> `@/lib/supabase/useSupabase`

Other improvements:
- Clean up `login` server action based on reference implementation
- Make `BackendAPI.isAuthenticated()` more efficient and faster
- Remove unused `ProfileDropdown` component
- Improve logic and debug logging in `tests/pages/login.page.ts`
- Improve playwright test output logging

### 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:
  - Log out from account (A)
  - Log in to other account (B)
- Open builder, add a block for which account B has (multiple)
credentials
  - [x] Credentials for account B are shown
  - [x] Credentials for account A are *not* shown

  **Note: do not reload the page** while going through these steps
2025-06-04 22:42:31 +00:00
Nicholas Tindle
fa7fcb3dd4 chore(backend): Tell Dependabot not to update Poetry (#10101)
<!-- Clearly explain the need for these changes: -->
fixed #10098


### Changes 🏗️
tells dependabot to ignore poetry

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

### Checklist 📋
N/A
2025-06-04 22:32:17 +00:00
dependabot[bot]
6629052a6b chore(frontend/deps-dev): Bump the development-dependencies group across 1 directory with 3 updates (#10086)
Bumps the development-dependencies group with 3 updates in the
/autogpt_platform/frontend directory:
[@storybook/test-runner](https://github.com/storybookjs/test-runner),
[eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next)
and [msw](https://github.com/mswjs/msw).

Updates `@storybook/test-runner` from 0.21.3 to 0.22.0
<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.0</h2>
<h4>🚀 Enhancement</h4>
<ul>
<li>Release v0.22.0 <a
href="https://redirect.github.com/storybookjs/test-runner/pull/553">#553</a>
(<a href="https://github.com/ronakj"><code>@​ronakj</code></a> <a
href="https://github.com/ndelangen"><code>@​ndelangen</code></a> <a
href="https://github.com/kasperpeulen"><code>@​kasperpeulen</code></a>
<a href="https://github.com/yannbf"><code>@​yannbf</code></a>)</li>
<li>Dependencies: Add sb9 alpha compatibility <a
href="https://redirect.github.com/storybookjs/test-runner/pull/551">#551</a>
(<a
href="https://github.com/ndelangen"><code>@​ndelangen</code></a>)</li>
</ul>
<h4>🐛 Bug Fix</h4>
<ul>
<li>Exclude new server component error <a
href="https://redirect.github.com/storybookjs/test-runner/pull/552">#552</a>
(<a
href="https://github.com/kasperpeulen"><code>@​kasperpeulen</code></a>)</li>
</ul>
<h4>Authors: 4</h4>
<ul>
<li>Kasper Peulen (<a
href="https://github.com/kasperpeulen"><code>@​kasperpeulen</code></a>)</li>
<li>Norbert de Langen (<a
href="https://github.com/ndelangen"><code>@​ndelangen</code></a>)</li>
<li>Ronak Jain (<a
href="https://github.com/ronakj"><code>@​ronakj</code></a>)</li>
<li>Yann Braga (<a
href="https://github.com/yannbf"><code>@​yannbf</code></a>)</li>
</ul>
<h2>v0.22.0-next.2</h2>
<h4>🐛 Bug Fix</h4>
<h4>Authors: 1</h4>
<ul>
<li>Ronak Jain (<a
href="https://github.com/ronakj"><code>@​ronakj</code></a>)</li>
</ul>
<h2>v0.22.0-next.0</h2>
<h4>🚀 Enhancement</h4>
<ul>
<li>Dependencies: Add sb9 alpha compatibility <a
href="https://redirect.github.com/storybookjs/test-runner/pull/551">#551</a>
(<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>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/storybookjs/test-runner/blob/v0.22.0/CHANGELOG.md"><code>@​storybook/test-runner</code>'s
changelog</a>.</em></p>
<blockquote>
<h1>v0.22.0 (Fri Feb 28 2025)</h1>
<h4>🚀 Enhancement</h4>
<ul>
<li>Release v0.22.0 <a
href="https://redirect.github.com/storybookjs/test-runner/pull/553">#553</a>
(<a href="https://github.com/ronakj"><code>@​ronakj</code></a> <a
href="https://github.com/ndelangen"><code>@​ndelangen</code></a> <a
href="https://github.com/kasperpeulen"><code>@​kasperpeulen</code></a>
<a href="https://github.com/yannbf"><code>@​yannbf</code></a>)</li>
<li>Dependencies: Add sb9 alpha compatibility <a
href="https://redirect.github.com/storybookjs/test-runner/pull/551">#551</a>
(<a
href="https://github.com/ndelangen"><code>@​ndelangen</code></a>)</li>
</ul>
<h4>🐛 Bug Fix</h4>
<ul>
<li>Exclude new server component error <a
href="https://redirect.github.com/storybookjs/test-runner/pull/552">#552</a>
(<a
href="https://github.com/kasperpeulen"><code>@​kasperpeulen</code></a>)</li>
</ul>
<h4>Authors: 4</h4>
<ul>
<li>Kasper Peulen (<a
href="https://github.com/kasperpeulen"><code>@​kasperpeulen</code></a>)</li>
<li>Norbert de Langen (<a
href="https://github.com/ndelangen"><code>@​ndelangen</code></a>)</li>
<li>Ronak Jain (<a
href="https://github.com/ronakj"><code>@​ronakj</code></a>)</li>
<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="d56dba2c40"><code>d56dba2</code></a>
Bump version to: 0.22.0 [skip ci]</li>
<li><a
href="3b1a12284f"><code>3b1a122</code></a>
Update CHANGELOG.md [skip ci]</li>
<li><a
href="a595bb8cf5"><code>a595bb8</code></a>
Merge pull request <a
href="https://redirect.github.com/storybookjs/test-runner/issues/553">#553</a>
from storybookjs/release/v0.22.0</li>
<li><a
href="16a7aa8f02"><code>16a7aa8</code></a>
Merge branch 'main' into release/v0.22.0</li>
<li><a
href="b24a54faa4"><code>b24a54f</code></a>
Merge pull request <a
href="https://redirect.github.com/storybookjs/test-runner/issues/539">#539</a>
from ronakj/next</li>
<li><a
href="7b78185656"><code>7b78185</code></a>
Merge pull request <a
href="https://redirect.github.com/storybookjs/test-runner/issues/552">#552</a>
from storybookjs/kasper/fix-next-error</li>
<li><a
href="91cf68d17c"><code>91cf68d</code></a>
Exclude new server component error</li>
<li><a
href="2d485ce6bf"><code>2d485ce</code></a>
Merge pull request <a
href="https://redirect.github.com/storybookjs/test-runner/issues/551">#551</a>
from storybookjs/norbert/sb-9-compatibility</li>
<li><a
href="dfe563067c"><code>dfe5630</code></a>
dedupe</li>
<li><a
href="859c52b4df"><code>859c52b</code></a>
upgrade playwright</li>
<li>Additional commits viewable in <a
href="https://github.com/storybookjs/test-runner/compare/v0.21.3...v0.22.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `eslint-config-next` from 15.1.6 to 15.3.3
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vercel/next.js/releases">eslint-config-next's
releases</a>.</em></p>
<blockquote>
<h2>v15.3.3</h2>
<blockquote>
<p>[!NOTE]<br />
This release is backporting bug fixes. It does <strong>not</strong>
include all pending features/changes on canary.</p>
</blockquote>
<h3>Core Changes</h3>
<ul>
<li>Reinstate <code>vary</code> (<a
href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/79939">#79939</a>)</li>
<li>fix(next-swc): Fix interestingness detection for React Compiler (<a
href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/79558">#79558</a>)</li>
<li>fix(next-swc): Fix react compiler usefulness detector (<a
href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/79480">#79480</a>)</li>
<li>fix(dev-overlay): Better handle edge-case file paths in launchEditor
(<a
href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/79526">#79526</a>)</li>
<li>Client router should discard stale prefetch entries for static pages
(<a
href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/79362">#79362</a>)</li>
</ul>
<h3>Credits</h3>
<p>Huge thanks to <a
href="https://github.com/gaojude"><code>@​gaojude</code></a>, <a
href="https://github.com/kdy1"><code>@​kdy1</code></a>, <a
href="https://github.com/bgw"><code>@​bgw</code></a>, and <a
href="https://github.com/unstubbable"><code>@​unstubbable</code></a> for
helping!</p>
<h2>v15.3.2</h2>
<blockquote>
<p>[!NOTE]<br />
This release is backporting bug fixes. It does <strong>not</strong>
include all pending features/changes on canary.</p>
</blockquote>
<h3>Core Changes</h3>
<ul>
<li>backport: fix(turbopack): Store persistence of wrapped task on
RawVc::LocalOutput (<a
href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/78488">#78488</a>)
(<a
href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/78883">#78883</a>)</li>
<li><code>@​next/mdx</code>: Use stable turbopack config options (<a
href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/78880">#78880</a>)</li>
<li>Fix react-compiler: Fix detection of interest (<a
href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/78879">#78879</a>)</li>
<li>Fix turbopack: Backport sourcemap bugfix (<a
href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/78881">#78881</a>)</li>
<li>[next-server] preserve rsc query for rsc redirects (<a
href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/78876">#78876</a>)</li>
<li>Update middleware public/static matching (<a
href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/78875">#78875</a>)</li>
</ul>
<h3>Credits</h3>
<p>Huge thanks to <a
href="https://github.com/ijjk"><code>@​ijjk</code></a>, <a
href="https://github.com/huozhi"><code>@​huozhi</code></a>, <a
href="https://github.com/kdy1"><code>@​kdy1</code></a>, <a
href="https://github.com/wbinnssmith"><code>@​wbinnssmith</code></a>,
and <a href="https://github.com/bgw"><code>@​bgw</code></a> for
helping!</p>
<h2>v15.3.1</h2>
<blockquote>
<p>[!NOTE]<br />
This release is backporting bug fixes. It does <strong>not</strong>
include all pending features/changes on canary.</p>
</blockquote>
<h3>Core Changes</h3>
<ul>
<li>chore: Backport SWC-based RC optimization (<a
href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/78260">#78260</a>)</li>
<li>fix: bump image-size@1.2.1 (<a
href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/78164">#78164</a>)</li>
</ul>
<h3>Credits</h3>
<p>Huge thanks to <a
href="https://github.com/kdy1"><code>@​kdy1</code></a> and <a
href="https://github.com/styfle"><code>@​styfle</code></a> for
helping!</p>
<h2>v15.3.1-canary.15</h2>
<h3>Core Changes</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="3ab8db7383"><code>3ab8db7</code></a>
v15.3.3</li>
<li><a
href="d9ec4a4b57"><code>d9ec4a4</code></a>
v15.3.2</li>
<li><a
href="fa536cf2c9"><code>fa536cf</code></a>
v15.3.1</li>
<li><a
href="b2ff04995b"><code>b2ff049</code></a>
v15.3.0</li>
<li><a
href="60bfe64295"><code>60bfe64</code></a>
v15.3.0-canary.46</li>
<li><a
href="f71c4a1582"><code>f71c4a1</code></a>
v15.3.0-canary.45</li>
<li><a
href="4451bae75d"><code>4451bae</code></a>
v15.3.0-canary.44</li>
<li><a
href="87d7d8eb7a"><code>87d7d8e</code></a>
v15.3.0-canary.43</li>
<li><a
href="82ab39f801"><code>82ab39f</code></a>
v15.3.0-canary.42</li>
<li><a
href="8f1409d6ce"><code>8f1409d</code></a>
v15.3.0-canary.41</li>
<li>Additional commits viewable in <a
href="https://github.com/vercel/next.js/commits/v15.3.3/packages/eslint-config-next">compare
view</a></li>
</ul>
</details>
<br />

Updates `msw` from 2.8.7 to 2.9.0
<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.9.0 (2025-06-03)</h2>
<h3>Features</h3>
<ul>
<li>send <code>request</code> reference within the <code>RESPONSE</code>
event (<a
href="https://redirect.github.com/mswjs/msw/issues/2510">#2510</a>)
(425635161dddb3457eea37b996b41b7c731fc69f) <a
href="https://github.com/kettanaito"><code>@​kettanaito</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="4fbc90a5ef"><code>4fbc90a</code></a>
chore(release): v2.9.0</li>
<li><a
href="425635161d"><code>4256351</code></a>
feat: send <code>request</code> reference within the
<code>RESPONSE</code> event (<a
href="https://redirect.github.com/mswjs/msw/issues/2510">#2510</a>)</li>
<li>See full diff in <a
href="https://github.com/mswjs/msw/compare/v2.8.7...v2.9.0">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>
2025-06-04 18:10:56 +00:00
Ubbe
d8cf62c8be fix(github): dependabot config (#10088)
### Changes 🏗️

The changes on my recent PR,
https://github.com/Significant-Gravitas/AutoGPT/pull/10072 , moving from
`yarn1` to `pnpm` in the FE [made dependabot break
](https://github.com/Significant-Gravitas/AutoGPT/runs/43465590584)😭

I forgot, dependabot implicitly supports pnpm:
https://github.com/Significant-Gravitas/AutoGPT/pull/10087/files ( _you
can see it updated the `pnpm-lock.yml` file correctly_ ) but you need to
set the `dependabot.yml` config with `npm` as the package ecosystem.

### 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:
2025-06-04 17:21:25 +00:00
dependabot[bot]
7abe6eb328 chore(frontend/deps): Bump the production-dependencies group across 1 directory with 5 updates (#10087)
Bumps the production-dependencies group with 5 updates in the
/autogpt_platform/frontend directory:

| Package | From | To |
| --- | --- | --- |
| [@sentry/nextjs](https://github.com/getsentry/sentry-javascript) |
`9.24.0` | `9.26.0` |
| [@supabase/supabase-js](https://github.com/supabase/supabase-js) |
`2.49.9` | `2.49.10` |
| [framer-motion](https://github.com/motiondivision/motion) | `12.15.0`
| `12.16.0` |
|
[lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)
| `0.510.0` | `0.513.0` |
| [zod](https://github.com/colinhacks/zod) | `3.25.48` | `3.25.51` |


Updates `@sentry/nextjs` from 9.24.0 to 9.26.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.26.0</h2>
<ul>
<li>feat(react-router): Re-export functions from
<code>@sentry/react</code> (<a
href="https://redirect.github.com/getsentry/sentry-javascript/pull/16465">#16465</a>)</li>
<li>fix(nextjs): Skip re instrumentating on generate phase of
experimental build mode (<a
href="https://redirect.github.com/getsentry/sentry-javascript/pull/16410">#16410</a>)</li>
<li>fix(node): Ensure adding sentry-trace and baggage headers via
SentryHttpInstrumentation doesn't crash (<a
href="https://redirect.github.com/getsentry/sentry-javascript/pull/16473">#16473</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.44 KB</td>
</tr>
<tr>
<td><code>@​sentry/browser</code> (incl. Tracing, Replay)</td>
<td>74.69 KB</td>
</tr>
<tr>
<td><code>@​sentry/browser</code> (incl. Tracing, Replay) - with
treeshaking flags</td>
<td>67.96 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.78 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.39 KB</td>
</tr>
<tr>
<td><code>@​sentry/vue</code></td>
<td>27.67 KB</td>
</tr>
<tr>
<td><code>@​sentry/vue</code> (incl. Tracing)</td>
<td>39.24 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.62 KB</td>
</tr>
<tr>
<td>CDN Bundle (incl. Tracing, Replay)</td>
<td>72.64 KB</td>
</tr>
<tr>
<td>CDN Bundle (incl. Tracing, Replay, Feedback)</td>
<td>77.93 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.4 KB</td>
</tr>
<tr>
<td>CDN Bundle (incl. Tracing, Replay) - uncompressed</td>
<td>222.7 KB</td>
</tr>
<tr>
<td>CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed</td>
<td>235.22 KB</td>
</tr>
<tr>
<td><code>@​sentry/nextjs</code> (client)</td>
<td>41.02 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.56 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>
<h2>9.25.1</h2>
<ul>
<li>fix(otel): Don't ignore child spans after the root is sent (<a
href="https://redirect.github.com/getsentry/sentry-javascript/pull/16416">#16416</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.44 KB</td>
</tr>
<tr>
<td><code>@​sentry/browser</code> (incl. Tracing, Replay)</td>
<td>74.69 KB</td>
</tr>
<tr>
<td><code>@​sentry/browser</code> (incl. Tracing, Replay) - with
treeshaking flags</td>
<td>67.96 KB</td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md"><code>@​sentry/nextjs</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>9.26.0</h2>
<ul>
<li>feat(react-router): Re-export functions from
<code>@sentry/react</code> (<a
href="https://redirect.github.com/getsentry/sentry-javascript/pull/16465">#16465</a>)</li>
<li>fix(nextjs): Skip re instrumentating on generate phase of
experimental build mode (<a
href="https://redirect.github.com/getsentry/sentry-javascript/pull/16410">#16410</a>)</li>
<li>fix(node): Ensure adding sentry-trace and baggage headers via
SentryHttpInstrumentation doesn't crash (<a
href="https://redirect.github.com/getsentry/sentry-javascript/pull/16473">#16473</a>)</li>
</ul>
<h2>9.25.1</h2>
<ul>
<li>fix(otel): Don't ignore child spans after the root is sent (<a
href="https://redirect.github.com/getsentry/sentry-javascript/pull/16416">#16416</a>)</li>
</ul>
<h2>9.25.0</h2>
<h3>Important Changes</h3>
<ul>
<li><strong>feat(browser): Add option to ignore <code>mark</code> and
<code>measure</code> spans (<a
href="https://redirect.github.com/getsentry/sentry-javascript/pull/16443">#16443</a>)</strong></li>
</ul>
<p>This release adds an option to <code>browserTracingIntegration</code>
that lets you ignore
<code>mark</code> and <code>measure</code> spans created from the
<code>performance.mark(...)</code> and
<code>performance.measure(...)</code> browser APIs:</p>
<pre lang="js"><code>Sentry.init({
  integrations: [
    Sentry.browserTracingIntegration({
ignorePerformanceApiSpans: ['measure-to-ignore', /mark-to-ignore/],
    }),
  ],
});
</code></pre>
<h3>Other Changes</h3>
<ul>
<li>feat(browser): Export getTraceData from the browser sdks (<a
href="https://redirect.github.com/getsentry/sentry-javascript/pull/16433">#16433</a>)</li>
<li>feat(node): Add <code>includeServerName</code> option (<a
href="https://redirect.github.com/getsentry/sentry-javascript/pull/16442">#16442</a>)</li>
<li>fix(nuxt): Remove setting <code>@sentry/nuxt</code> external (<a
href="https://redirect.github.com/getsentry/sentry-javascript/pull/16444">#16444</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="94398daaae"><code>94398da</code></a>
release: 9.26.0</li>
<li><a
href="89b00f650d"><code>89b00f6</code></a>
Merge pull request <a
href="https://redirect.github.com/getsentry/sentry-javascript/issues/16480">#16480</a>
from getsentry/prepare-release/9.26.0</li>
<li><a
href="f2e28a3a40"><code>f2e28a3</code></a>
meta(changelog): Update changelog for 9.26.0</li>
<li><a
href="57268c14c9"><code>57268c1</code></a>
deps(react-router): Bump react-router version (<a
href="https://redirect.github.com/getsentry/sentry-javascript/issues/16478">#16478</a>)</li>
<li><a
href="a08cae29e4"><code>a08cae2</code></a>
fix(node): Ensure adding sentry-trace and baggage headers via
SentryHttpInstr...</li>
<li><a
href="ac22be2f5c"><code>ac22be2</code></a>
feat(react-router): Re-export functions from <code>@sentry/react</code>
(<a
href="https://redirect.github.com/getsentry/sentry-javascript/issues/16465">#16465</a>)</li>
<li><a
href="4806b8ab7f"><code>4806b8a</code></a>
fix(nextjs): Skip re instrumentating on generate phase of experimental
build ...</li>
<li><a
href="dcdf07485e"><code>dcdf074</code></a>
Merge pull request <a
href="https://redirect.github.com/getsentry/sentry-javascript/issues/16468">#16468</a>
from getsentry/master</li>
<li><a
href="f43737fcf6"><code>f43737f</code></a>
Merge branch 'release/9.25.1'</li>
<li><a
href="8047770d5b"><code>8047770</code></a>
release: 9.25.1</li>
<li>Additional commits viewable in <a
href="https://github.com/getsentry/sentry-javascript/compare/9.24.0...9.26.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `@supabase/supabase-js` from 2.49.9 to 2.49.10
<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.49.10</h2>
<h2><a
href="https://github.com/supabase/supabase-js/compare/v2.49.9...v2.49.10">2.49.10</a>
(2025-06-04)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>bump up realtime (<a
href="https://redirect.github.com/supabase/supabase-js/issues/1446">#1446</a>)
(<a
href="51a42c25a0">51a42c2</a>)</li>
</ul>
<h2>v2.49.10-next.2</h2>
<h2><a
href="https://github.com/supabase/supabase-js/compare/v2.49.10-next.1...v2.49.10-next.2">2.49.10-next.2</a>
(2025-06-04)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>bump up realtime (<a
href="https://redirect.github.com/supabase/supabase-js/issues/1443">#1443</a>)
(<a
href="ed21283ee4">ed21283</a>)</li>
</ul>
<h2>v2.49.10-next.1</h2>
<h2><a
href="https://github.com/supabase/supabase-js/compare/v2.49.9...v2.49.10-next.1">2.49.10-next.1</a>
(2025-06-03)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>bump realtime-js (<a
href="3083f9772c">3083f97</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="51a42c25a0"><code>51a42c2</code></a>
fix: bump up realtime (<a
href="https://redirect.github.com/supabase/supabase-js/issues/1446">#1446</a>)</li>
<li><a
href="79b33ea18e"><code>79b33ea</code></a>
Next (<a
href="https://redirect.github.com/supabase/supabase-js/issues/1444">#1444</a>)</li>
<li><a
href="d4b854e7e8"><code>d4b854e</code></a>
merge next into master (<a
href="https://redirect.github.com/supabase/supabase-js/issues/1438">#1438</a>)</li>
<li>See full diff in <a
href="https://github.com/supabase/supabase-js/compare/v2.49.9...v2.49.10">compare
view</a></li>
</ul>
</details>
<br />

Updates `framer-motion` from 12.15.0 to 12.16.0
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/motiondivision/motion/blob/main/CHANGELOG.md">framer-motion's
changelog</a>.</em></p>
<blockquote>
<h2>[12.16.0] 2025-06-03</h2>
<h3>Added</h3>
<ul>
<li><code>resize()</code>.</li>
</ul>
<h2>[12.15.1] 2025-05-30</h2>
<h3>Fixed</h3>
<ul>
<li>Explicitly set layout animation velocity to zero to prevent
persistent <code>MotionValue</code> carrying through velocity.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="99ab6a15b8"><code>99ab6a1</code></a>
v12.16.0</li>
<li><a
href="318d693b95"><code>318d693</code></a>
Updating window syntax</li>
<li><a
href="bd7dbd5335"><code>bd7dbd5</code></a>
Debouncing listeners</li>
<li><a
href="892d7462ee"><code>892d746</code></a>
Removing window resize event listener</li>
<li><a
href="2f2d8dec54"><code>2f2d8de</code></a>
Updating changelog</li>
<li><a
href="156cc56ca9"><code>156cc56</code></a>
Merge pull request <a
href="https://redirect.github.com/motiondivision/motion/issues/3242">#3242</a>
from motiondivision/feature/resize</li>
<li><a
href="c57f859e6c"><code>c57f859</code></a>
resize()</li>
<li><a
href="81417b20d1"><code>81417b2</code></a>
v12.15.1</li>
<li><a
href="41daff1691"><code>41daff1</code></a>
Updating changelog</li>
<li><a
href="92a1634105"><code>92a1634</code></a>
Merge pull request <a
href="https://redirect.github.com/motiondivision/motion/issues/3235">#3235</a>
from motiondivision/feature/reset-layout-velocity</li>
<li>Additional commits viewable in <a
href="https://github.com/motiondivision/motion/compare/v12.15.0...v12.16.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `lucide-react` from 0.510.0 to 0.513.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/lucide-icons/lucide/releases">lucide-react's
releases</a>.</em></p>
<blockquote>
<h2>Version 0.513.0</h2>
<h2>What's Changed</h2>
<ul>
<li>feat(icons): Add sim card icon from lab by <a
href="https://github.com/ericfennis"><code>@​ericfennis</code></a> in <a
href="https://redirect.github.com/lucide-icons/lucide/pull/3275">lucide-icons/lucide#3275</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/lucide-icons/lucide/compare/0.512.0...0.513.0">https://github.com/lucide-icons/lucide/compare/0.512.0...0.513.0</a></p>
<h2>Version 0.512.0</h2>
<h2>What's Changed</h2>
<ul>
<li>feat(icons): added <code>circle-pound-sterling</code> icon by <a
href="https://github.com/lieonlion"><code>@​lieonlion</code></a> in <a
href="https://redirect.github.com/lucide-icons/lucide/pull/2822">lucide-icons/lucide#2822</a></li>
<li>build(deps-dev): bump vite from 6.3.2 to 6.3.4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/lucide-icons/lucide/pull/3181">lucide-icons/lucide#3181</a></li>
<li>docs(docs): added testing website locally instructions by <a
href="https://github.com/briz123"><code>@​briz123</code></a> in <a
href="https://redirect.github.com/lucide-icons/lucide/pull/3124">lucide-icons/lucide#3124</a></li>
<li>build(deps-dev): bump vite from 6.0.7 to 6.1.6 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/lucide-icons/lucide/pull/3236">lucide-icons/lucide#3236</a></li>
<li>fix(icons): changed <code>square-check-big</code> icon by <a
href="https://github.com/jguddas"><code>@​jguddas</code></a> in <a
href="https://redirect.github.com/lucide-icons/lucide/pull/3156">lucide-icons/lucide#3156</a></li>
<li>fix(icons): changed <code>list-collapse</code> icon by <a
href="https://github.com/jguddas"><code>@​jguddas</code></a> in <a
href="https://redirect.github.com/lucide-icons/lucide/pull/3081">lucide-icons/lucide#3081</a></li>
<li>fix(icons): changed <code>battery-*</code> icons by <a
href="https://github.com/jguddas"><code>@​jguddas</code></a> in <a
href="https://redirect.github.com/lucide-icons/lucide/pull/3083">lucide-icons/lucide#3083</a></li>
<li>fix(icons): changed <code>paperclip</code> icon by <a
href="https://github.com/jguddas"><code>@​jguddas</code></a> in <a
href="https://redirect.github.com/lucide-icons/lucide/pull/2956">lucide-icons/lucide#2956</a></li>
<li>fix(icons): changed <code>eraser</code> icon by <a
href="https://github.com/jguddas"><code>@​jguddas</code></a> in <a
href="https://redirect.github.com/lucide-icons/lucide/pull/3076">lucide-icons/lucide#3076</a></li>
<li>feat(icons): Add <code>cloud-check</code> icon by <a
href="https://github.com/lscheibel"><code>@​lscheibel</code></a> in <a
href="https://redirect.github.com/lucide-icons/lucide/pull/2612">lucide-icons/lucide#2612</a></li>
<li>feat(icon): add <code>id-card-lanyard</code> icon by <a
href="https://github.com/python2911"><code>@​python2911</code></a> in <a
href="https://redirect.github.com/lucide-icons/lucide/pull/2898">lucide-icons/lucide#2898</a></li>
<li>feat(angular): update peer dependencies for Angular to support
version 20.x by <a
href="https://github.com/JeevanMahesha"><code>@​JeevanMahesha</code></a>
in <a
href="https://redirect.github.com/lucide-icons/lucide/pull/3273">lucide-icons/lucide#3273</a></li>
<li>fix(icons): changed <code>file-badge</code> icon by <a
href="https://github.com/jguddas"><code>@​jguddas</code></a> in <a
href="https://redirect.github.com/lucide-icons/lucide/pull/2934">lucide-icons/lucide#2934</a></li>
<li>feat(icons): added <code>grid-3x2</code> icon by <a
href="https://github.com/qubrat"><code>@​qubrat</code></a> in <a
href="https://redirect.github.com/lucide-icons/lucide/pull/3216">lucide-icons/lucide#3216</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/lieonlion"><code>@​lieonlion</code></a>
made their first contribution in <a
href="https://redirect.github.com/lucide-icons/lucide/pull/2822">lucide-icons/lucide#2822</a></li>
<li><a
href="https://github.com/python2911"><code>@​python2911</code></a> made
their first contribution in <a
href="https://redirect.github.com/lucide-icons/lucide/pull/2898">lucide-icons/lucide#2898</a></li>
<li><a
href="https://github.com/JeevanMahesha"><code>@​JeevanMahesha</code></a>
made their first contribution in <a
href="https://redirect.github.com/lucide-icons/lucide/pull/3273">lucide-icons/lucide#3273</a></li>
<li><a href="https://github.com/qubrat"><code>@​qubrat</code></a> made
their first contribution in <a
href="https://redirect.github.com/lucide-icons/lucide/pull/3216">lucide-icons/lucide#3216</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/lucide-icons/lucide/compare/0.511.0...0.512.0">https://github.com/lucide-icons/lucide/compare/0.511.0...0.512.0</a></p>
<h2>Version 0.511.0</h2>
<h2>What's Changed</h2>
<ul>
<li>fix(icons): Optimise a number of icons using
<code>&lt;line&gt;</code> and <code>&lt;polyline&gt;</code> by <a
href="https://github.com/jamiemlaw"><code>@​jamiemlaw</code></a> in <a
href="https://redirect.github.com/lucide-icons/lucide/pull/3168">lucide-icons/lucide#3168</a></li>
<li>fix(icons): changed <code>clock-6</code> icon by <a
href="https://github.com/jguddas"><code>@​jguddas</code></a> in <a
href="https://redirect.github.com/lucide-icons/lucide/pull/3209">lucide-icons/lucide#3209</a></li>
<li>fix(icons): changed <code>axis-3d</code> icon by <a
href="https://github.com/jguddas"><code>@​jguddas</code></a> in <a
href="https://redirect.github.com/lucide-icons/lucide/pull/3199">lucide-icons/lucide#3199</a></li>
<li>fix(icons): changed <code>chevrons-left-right-ellipsis</code> icon
by <a href="https://github.com/jguddas"><code>@​jguddas</code></a> in <a
href="https://redirect.github.com/lucide-icons/lucide/pull/3189">lucide-icons/lucide#3189</a></li>
<li>fix(icons): changed <code>square-code</code> icon by <a
href="https://github.com/jguddas"><code>@​jguddas</code></a> in <a
href="https://redirect.github.com/lucide-icons/lucide/pull/3173">lucide-icons/lucide#3173</a></li>
<li>fix(icons): changed <code>satellite</code> icon by <a
href="https://github.com/karsa-mistmere"><code>@​karsa-mistmere</code></a>
in <a
href="https://redirect.github.com/lucide-icons/lucide/pull/3180">lucide-icons/lucide#3180</a></li>
<li>fix(lucide-react-native): support react 19 (<a
href="https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react/issues/2951">#2951</a>)
by <a href="https://github.com/jvliwanag"><code>@​jvliwanag</code></a>
in <a
href="https://redirect.github.com/lucide-icons/lucide/pull/3126">lucide-icons/lucide#3126</a></li>
<li>fix(icons): changed <code>factory</code> icon by <a
href="https://github.com/karsa-mistmere"><code>@​karsa-mistmere</code></a>
in <a
href="https://redirect.github.com/lucide-icons/lucide/pull/2970">lucide-icons/lucide#2970</a></li>
<li>fix(icons): changed <code>university</code> icon by <a
href="https://github.com/karsa-mistmere"><code>@​karsa-mistmere</code></a>
in <a
href="https://redirect.github.com/lucide-icons/lucide/pull/2965">lucide-icons/lucide#2965</a></li>
<li>fix(icons): changed <code>warehouse</code> icon by <a
href="https://github.com/karsa-mistmere"><code>@​karsa-mistmere</code></a>
in <a
href="https://redirect.github.com/lucide-icons/lucide/pull/2966">lucide-icons/lucide#2966</a></li>
<li>fix(icons): changed <code>landmark</code> icon by <a
href="https://github.com/karsa-mistmere"><code>@​karsa-mistmere</code></a>
in <a
href="https://redirect.github.com/lucide-icons/lucide/pull/2967">lucide-icons/lucide#2967</a></li>
<li>chore(cspell): remove duplicate 'pilcrow' from
<code>custom-words.txt</code> by <a
href="https://github.com/Abdalrhman-Almarakeby"><code>@​Abdalrhman-Almarakeby</code></a>
in <a
href="https://redirect.github.com/lucide-icons/lucide/pull/3193">lucide-icons/lucide#3193</a></li>
<li>feat(icons): added <code>square-dashed-top-solid</code> icon by <a
href="https://github.com/juanpablofernandez"><code>@​juanpablofernandez</code></a>
in <a
href="https://redirect.github.com/lucide-icons/lucide/pull/3204">lucide-icons/lucide#3204</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/jvliwanag"><code>@​jvliwanag</code></a>
made their first contribution in <a
href="https://redirect.github.com/lucide-icons/lucide/pull/3126">lucide-icons/lucide#3126</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="19fa01b5fc"><code>19fa01b</code></a>
build(deps-dev): bump vite from 6.3.2 to 6.3.4 (<a
href="https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react/issues/3181">#3181</a>)</li>
<li>See full diff in <a
href="https://github.com/lucide-icons/lucide/commits/0.513.0/packages/lucide-react">compare
view</a></li>
</ul>
</details>
<br />

Updates `zod` from 3.25.48 to 3.25.51
<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.51</h2>
<h2>Commits:</h2>
<ul>
<li>d7ffdfa73a800ea810218431d1dd751f15d0fba4 Remove _</li>
<li>50ef910565a14c127942442b7e09596afcfdca5f Add output type generic
test</li>
<li>eb14475c3ca14562c4bf11c2111a1fbfa3d114b6 Improve docs</li>
<li>32104c2801f01edac3fb3168017b09b6c43f3cef Improve extend docs</li>
<li>f67332f9fbcae13ce59dbb1eeb67f9c4c60bdcd9 Docs</li>
<li>8230237b3453b02bf34b81d0bc11b40d9868cd09 Standardize string format
continuability</li>
<li>c58bd9b0125881caee03a408eae88ec1dc5eb18b 3.25.51</li>
</ul>
<h2>v3.25.50</h2>
<h2>Commits:</h2>
<ul>
<li>5fdece94bf1ada76e5742f2755d45d3711a8e962 fix(v4): reflect inclusive
boundaries in minLength/maxLength issue objects (<a
href="https://redirect.github.com/colinhacks/zod/issues/4591">#4591</a>)</li>
<li>4897269451f0b0afeb2313389d20ffa1f22ce8b1 Restructure: mitigate
excessively deep errors (<a
href="https://redirect.github.com/colinhacks/zod/issues/4599">#4599</a>)</li>
<li>a88a080f0b9782a87b5732cb9cd96fc2b1a71794 Improve prototype
tests</li>
<li>c7833356a3211d32ae322739a7a6f66dce52ed5f 3.25.50</li>
</ul>
<h2>v3.25.49</h2>
<h2>Commits:</h2>
<ul>
<li>74458e9ccec6d0d4a7af02f66e463a07ee5cad91 docs: updated name and link
of <code>regle</code> library (<a
href="https://redirect.github.com/colinhacks/zod/issues/4601">#4601</a>)</li>
<li>5cc04f3685903c0e66a65b91f758115cfcead83d docs: fix some typos on the
&quot;Defining schemas&quot; page (<a
href="https://redirect.github.com/colinhacks/zod/issues/4595">#4595</a>)</li>
<li>9a81173ba28d70d856d8db2e5fe6daedc9241fa4 Add includes position regex
(<a
href="https://redirect.github.com/colinhacks/zod/issues/4602">#4602</a>)</li>
<li>fa7bee41ae5330aeb90b70a2b5aab228b2faa8ae fix(docs): remove
z.literal(Symbol) (<a
href="https://redirect.github.com/colinhacks/zod/issues/4587">#4587</a>)</li>
<li>df73cb08bc3362cd298be0873cec7c42310a89a1 Make z.custom issues
fatal</li>
<li>78e0eae30181cd75c987bcee98cceaf51dc62979 fix: add type to literal
enum (<a
href="https://redirect.github.com/colinhacks/zod/issues/4590">#4590</a>)</li>
<li>a73a3b3009735c6f82531393e65a82cad6b62e05 3.25.49</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="c58bd9b012"><code>c58bd9b</code></a>
3.25.51</li>
<li><a
href="8230237b34"><code>8230237</code></a>
Standardize string format continuability</li>
<li><a
href="f67332f9fb"><code>f67332f</code></a>
Docs</li>
<li><a
href="32104c2801"><code>32104c2</code></a>
Improve extend docs</li>
<li><a
href="eb14475c3c"><code>eb14475</code></a>
Improve docs</li>
<li><a
href="50ef910565"><code>50ef910</code></a>
Add output type generic test</li>
<li><a
href="d7ffdfa73a"><code>d7ffdfa</code></a>
Remove _</li>
<li><a
href="c7833356a3"><code>c783335</code></a>
3.25.50</li>
<li><a
href="a88a080f0b"><code>a88a080</code></a>
Improve prototype tests</li>
<li><a
href="4897269451"><code>4897269</code></a>
Restructure: mitigate excessively deep errors (<a
href="https://redirect.github.com/colinhacks/zod/issues/4599">#4599</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/colinhacks/zod/compare/v3.25.48...v3.25.51">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>
2025-06-04 17:07:19 +00:00
Zamil Majdy
4b70e778d2 feat(backend): Add nested dynamic pin-name support (#10082)
Suppose we have pint with list[list[int]] type, and we want directly
insert the a new value inside the first index of the first list e.g:
list[0][0] = X through a dynamic pin, this will be translated into
list_$_0_$_0, and the system does not currently support this.

### Changes 🏗️

Add support for nested dynamic pins for list, object, and dict.

### 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] lots of unit tests
- [x] Tried inserting the value directly on the `value` nested field on
Google Sheets Write block.
<img width="371" alt="image"
src="https://github.com/user-attachments/assets/0a5e7213-b0e0-4fce-9e89-b39f7a583582"
/>
2025-06-04 16:32:32 +00:00
Reinier van der Leer
34009bc749 feat(frontend): Upgrade to Next.js v15 + update config (#10042)
- Resolves #10041

Upgrading to Next v15 isn't trivial, but still a good idea if not simply
necessary.

### Changes 🏗️

- Upgrade Next.js from `v14.2.26` to `v15.3.2`
- Fix usage of now-async APIs `params`, `searchParams`, `headers`
([docs](https://nextjs.org/docs/app/guides/upgrading/version-15#async-request-apis-breaking-change))

- Update Next+TypeScript configs
  - Set build target to ES2022 for better performance
  - Unignore TypeScript build errors
  - Set `hideSourceMaps: false` because OSS FTW :)
  - Remove obsolete `webpack.config.js`

- Fix existing warnings/errors
  - Fix Sentry missing navigation hook warning
- Fix `DYNAMIC_SERVER_USAGE` build error on `/profile` and
`/marketplace`
- Moved `getStoreData` to a proper server action `getMarketplaceData`
  - Fix breaking CSS syntax error in `customnode.css`

- Use Turbopack for faster dev+test build times
- Add separate build step to frontend CI workflow: this also fixes the
test timing out if the build takes too long

Other technical improvements:
- Wrap `handleSortChange` in `MarketplaceSearchPage` in `useCallback`
- Fix typing in `ProfileInfoForm`
- Improve output of frontend tests

> [!NOTE]
> Next prints this error (in dev mode):
> ```
> Error: Route "/marketplace" used `cookies().getAll()`. `cookies()`
should be awaited before using its value. Learn more:
https://nextjs.org/docs/messages/sync-dynamic-apis
>     at Object.getAll (src/lib/supabase/getServerSupabase.ts:16:31)
>     at getAll (../../src/cookies.ts:115:41)
> ...
> ```
> As far as I can see, this isn't breaking, and will become a warning in
prod. See also [the Next docs about this
issue](https://nextjs.org/docs/messages/sync-dynamic-apis)

### 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] Follow the full release QA test script

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

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-04 15:38:08 +00:00
Ubbe
722c6bcc18 fix(storybook): make font load in Stories (#10081)
### Changes 🏗️

#### Before

<img width="800" alt="Screenshot 2025-06-03 at 16 54 36"
src="https://github.com/user-attachments/assets/2a69b69d-2b01-436e-aab3-8206485a001c"
/>

#### After

<img width="800" alt="Screenshot 2025-06-03 at 16 58 38"
src="https://github.com/user-attachments/assets/4daf41d4-42ce-4119-8e9f-b2b10b524cba"
/>



### 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:
- [ ] checkout this branch ( _we should have PR previews for the app and
Storybook_ )
  - [ ] `cd autogpt_platform/frontend`
  - [ ] `yarn storybook`
- [ ] the stories road with the right font ( Poppins ) not a serif one 😄

#### For configuration changes:
- [ ] ~~`.env.example` is updated or already compatible with my
changes~~
- [ ] ~~`docker-compose.yml` is updated or already compatible with my
changes~~
- [ ] ~~I have included a list of my configuration changes in the PR
description (under **Changes**)~~
2025-06-04 15:26:09 +00:00
Reinier van der Leer
eaf6da02d1 fix poetry.lock issue 2025-06-04 18:17:59 +02:00
Bently
d5d613e014 chore(backend): Downgrade poetry to 2.1.1 for dependabot (#10079)
Co-authored-by: Reinier van der Leer <pwuts@agpt.co>
2025-06-04 17:37:21 +02:00
Ubbe
73a3d980ca chore(frontend): move from yarn1 to pnpm (#10072)
## 🧢 Overview
This PR migrates the AutoGPT Platform frontend from [yarn
1](https://classic.yarnpkg.com/lang/en/) to [pnpm](https://pnpm.io/)
using **corepack** for automatic package manager management.

**yarn1** is not longer maintained and a bit old, moving to **pnpm** we
get:
-  Significantly faster install times,
- 💾 Better disk space efficiency,
- 🛠️ Better community support and maintenance,
- 💆🏽‍♂️  Config swap very easy

##  🏗️ Changes

### Package Management Migration

- updated [corepack](https://github.com/nodejs/corepack) to use
[pnpm](https://pnpm.io/)
- Deleted `yarn.lock` and generated new `pnpm-lock.yaml`
- Updated `.gitignore`

### Documentation Updates

- `frontend/README.md`: 
  - added comprehensive tech stack overview with links
  - updated all commands to use pnpm
  - added corepack setup instructions
  - and included migration disclaimer for yarn users
- `backend/README.md`: 
  - Updated installation instructions to use pnpm with corepack
- `AGENTS.md`: 
  - Updated testing commands from yarn to pnpm

### CI/CD & Infrastructure

- **GitHub Workflows** : 
  - updated all jobs to use pnpm with corepack enable
  - cleaned FE Playwright test workflow to avoid Sentry noise
- **Dockerfile**:
- updated to use pnpm with corepack, changed lock file reference, and
updated cache mount path

###  📋 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:**
  > assuming you are on the `frontend` folder 
- [x] Clean installation works: `rm -rf node_modules && corepack enable
&& pnpm install`
  - [x] Development server starts correctly: `pnpm dev`
  - [x] Build process works: `pnpm build`
  - [x] Linting and formatting work: `pnpm lint` and `pnpm format`
  - [x] Type checking works: `pnpm type-check`
  - [x] Tests run successfully: `pnpm test`
  - [x] Storybook starts correctly: `pnpm storybook`
  - [x] Docker build succeeds with new pnpm configuration
  - [x] GitHub Actions workflow passes with pnpm commands

#### 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**)
2025-06-04 17:07:29 +04:00
Swifty
bac07b79e9 ci: Adds a GitHub Actions workflow to handle PR deployments based on comments and PR state (#10083)
This hotfix adds a GitHub Actions workflow to automate deployment and
undeployment of platform PRs to the development environment through
repository dispatch events.

### Changes 🏗️

- **Added new GitHub Actions workflow**:
`.github/workflows/platform-dev-deploy-event-dispatcher.yml`
  - Handles `\!deploy` and `\!undeploy` comment commands on PRs
- Implements permission checks (only owners, members, and collaborators
can deploy)
  - Automatically undeploys when PRs are closed with active deployments
- Dispatches events to the cloud infrastructure repository for actual
deployment/undeployment
  - Provides user feedback through GitHub comments

### 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] Verify workflow triggers on PR comment creation
  - [x] Test permission validation for unauthorized users
  - [x] Confirm `\!deploy` command dispatches correct event payload
  - [x] Confirm `\!undeploy` command dispatches correct event payload  
  - [x] Test auto-undeploy on PR closure with active deployment
  - [x] Verify appropriate GitHub comments are posted for each action

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

**Configuration changes:**
- Requires `DISPATCH_TOKEN` secret to be configured for repository
dispatch to cloud infrastructure repo
- Workflow uses `issues: write` and `pull-requests: write` permissions
2025-06-04 12:49:15 +02:00
SwiftyOS
c8f2c7bc88 update event dispatcher 2025-06-04 12:40:29 +02:00
Zamil Majdy
0f558876e2 feat(blocks;frontend): Add file multipart upload support for SendWebRequestBlock & Improve key-value input UI rendering (#10058)
Now, SendWebRequestBlock can upload files. To make this work, we also
need to improve the UI rendering on the key-value pair input so that it
can also render media/file upload.

### Changes 🏗️

* Add file multipart upload support for SendWebRequestBlock 
* Improve key-value input UI rendering to allow rendering any types as a
normal input block (it was only string & number).

<img width="381" alt="image"
src="https://github.com/user-attachments/assets/b41d778d-8f9d-4aec-95b6-0b32bef50e89"
/>


### 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 running http request block, othe key-value pair input block
2025-06-03 07:55:12 +00:00
Toran Bruce Richards
3f6585f763 feat(platform/blocks): add AI Image Editor Block powered by flux kontext (#10063)
<!-- Clearly explain the need for these changes: -->

This PR adds a new internal block, **AI Image Editor**, which enables
**text-based image editing** via BlackForest Labs’ Flux Kontext models
on Replicate. This block allows users to input a prompt and optionally a
reference image, and returns a transformed image URL. It supports two
model variants (Pro and Max), with different cost tiers. This
functionality will enhance multimedia capabilities across internal agent
workflows and support richer AI-powered image manipulation.

---

### Changes 🏗️

* Added `FluxKontextBlock` in `backend/blocks/flux_kontext.py`

  * Uses `ReplicateClient` to call Flux Kontext Pro or Max models
* Supports inputs for `prompt`, `input_image`, `aspect_ratio`, `seed`,
and `model`
  * Outputs transformed image URL or error
* Added credit pricing logic for Flux Kontext models to
`block_cost_config.py`:

  * Pro: 10 credits
  * Max: 20 credits
* Added documentation for the new block at
`docs/content/platform/blocks/flux_kontext.md`
* Updated block index at `docs/content/platform/blocks/blocks.md` to
include Flux Kontext

---


![image](https://github.com/user-attachments/assets/0edb2b30-4c37-4184-bcc8-9d733658f620)


### 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] Prompt-only input generates an image
  * [x] Prompt with image applies edit correctly
  * [x] Image respects specified aspect ratio
  * [x] Invalid image URL returns helpful error
  * [x] Using the same seed gives consistent output
* [x] Output chaining works: result URI can be used in downstream blocks
  * [x] Output from Max model shows higher fidelity than Pro

<details>
  <summary>Example test plan</summary>

* [x] Create from scratch and execute an agent using Flux Kontext with
at least 3 blocks
* [x] Import agent with Flux Kontext from file upload, and confirm
execution
* [x] Upload agent (with Flux Kontext block) to marketplace (internal
test)
* [x] Import agent from marketplace and confirm correct execution
* [x] Edit agent with Flux Kontext block from monitor and confirm output

</details>

#### 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**)

  * No new environment variables or services introduced

<details>
  <summary>Examples of configuration changes</summary>

* N/A

</details>

---------

Co-authored-by: Zamil Majdy <zamil.majdy@agpt.co>
2025-06-02 20:46:48 +00:00
JU-NINE NGU CHO
0ec557b942 docs: add system requirements section to README (#10054)
This PR adds a comprehensive system requirements section to the
README.md file. Currently, users don't have clear guidance on the
hardware, software, and network requirements needed to run AutoGPT. This
addition will help users determine if their system is capable of running
AutoGPT before attempting installation.

- Resolves #10050

### Changes 🏗️

- Added new "System Requirements" section under "How to Setup for
Self-Hosting" with:
  - Hardware Requirements
    - CPU specifications (4+ cores)
    - RAM requirements (8GB min, 16GB recommended)
    - Storage requirements (10GB minimum)
  - Software Requirements
    - Supported Operating Systems
    - Required software with minimum versions
    - Development tools requirements
  - Network Requirements
    - Internet connectivity requirements
    - Port access information
    - HTTPS connection requirements

### 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 README.md renders correctly on GitHub
  - [x] Confirmed all formatting is consistent
  - [x] Validated all requirements are accurate
  - [x] Checked section placement is logical
  - [x] Ensured no other files are modified

#### For configuration changes:
- [x] Not applicable - This PR only contains documentation changes to
README.md
- [x] No configuration files are modified in this update

Co-authored-by: Bently <Github@bentlybro.com>
2025-06-02 14:46:37 +00:00
Nicholas Tindle
453834f475 fix(docs): comment out segment about video because we removed video (#10073)
<!-- Clearly explain the need for these changes: -->
We removed the linked video because out of date so unlink it


### Changes 🏗️

<!-- Concisely describe all of the changes made in this pull request:
-->
Comment out video segment until new one posted

### Checklist 📋

#### For code changes:
- [x] no code changes made
2025-06-02 14:33:15 +00:00
SwiftyOS
768c6b1c97 fixed auto deploy script 2025-05-31 11:24:56 +02:00
SwiftyOS
eeb1764779 remove back tick on workflow 2025-05-31 10:51:22 +02:00
SwiftyOS
7c65e53d51 rename workflow 2025-05-31 10:43:47 +02:00
Swifty
56ddffeaa0 feat(ci): Add cross-repository dev deployment workflow (#10059)
### Description 📝

This PR introduces a GitHub Actions workflow that enables
cross-repository event dispatching for development environment
deployments. The workflow listens for specific PR events and dispatches
corresponding deployment/undeployment actions to our cloud
infrastructure repository.

**How it works:**
- The workflow triggers on PR events (opened, synchronized, closed) and
PR target events (labeled, unlabeled)
- When a PR comment containing `!deploy` is detected from authorized
users (PR author, repo owners, members, or collaborators), it dispatches
a deployment event
- When a PR with existing deployments is closed, it automatically
dispatches an undeployment event to clean up resources

**Interaction with target repository:**
The workflow dispatches events to
`Significant-Gravitas/AutoGPT_cloud_infrastructure` with a payload
containing:
- `action`: Either "deploy" or "undeploy"
- `pr_number`: The PR number for tracking
- `pr_title`: Human-readable identifier
- `pr_state`: Current PR state
- `repo`: Source repository name

This enables the infrastructure repository to spin up isolated
development environments for each PR on demand.

### Changes 🏗️
- Added `.github/workflows/dev-deploy-pr-dispatcher.yml` workflow file
- Implements secure cross-repository communication using repository
dispatch events
- Includes authorization checks to ensure only authorized users can
trigger deployments

### Checklist 📋

#### For code changes:
- [x] No code changes - this is a workflow addition only

#### For configuration changes:
- [x] New workflow file added that requires testing
- [x] Requires `DISPATCH_TOKEN` secret to be configured with appropriate
permissions for cross-repository dispatch
- [x] No environment variable changes needed
- [ ] Workflow will be tested after initial merge to verify proper event
dispatching
2025-05-31 10:39:57 +02:00
Nicholas Tindle
16d6f5377c fix(frontend): missed a password prompt (#10065)
<!-- Clearly explain the need for these changes: -->
CASA requires a length of 12 passwords, which we did update. When
testing in dev, I realized I missed a few.

### Changes 🏗️

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

### 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 manually, and read all the prompts carefully
2025-05-30 16:31:00 +00:00
Nicholas Tindle
85e108a37a feat(frontend): require passwrods to be min length 12 (#10061)
<!-- Clearly explain the need for these changes: -->
We're doing CASA and this is a requirement

### Changes 🏗️
- Requires new passwords to be min length 12
<!-- Concisely describe all of the changes made in this pull request:
-->

### Checklist 📋

#### For code changes:
- [x] I have clearly listed my changes in the PR description
- [x] I have made a test plan
- [x] I have tested my changes according to the test plan:
  <!-- Put your test plan here: -->
  - [x] test
2025-05-30 15:23:32 +00:00
Bently
692f32a350 fix(platform): Turnstile CAPTCHA reset after failed login attempts (#10056)
Users were unable to retry login attempts after a failed authentication
because the Turnstile CAPTCHA widget was not properly resetting. This
forced users to refresh the entire page to attempt login again, creating
a terrible user experience.

Root Cause: The useTurnstile hook had several critical issues:

- The reset() function only cleared state when shouldRender was true and
widget existed
- Widget ID tracking was unreliable due to intercepting
window.turnstile.render
- Token wasn't being cleared on verification failures
- State wasn't being reset consistently across error scenarios

Changes 🏗️

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

- Fixed useTurnstile hook reset logic: Modified the reset() function to
always clear all state (token, verified, verifying, error) regardless of
shouldRender condition
- Improved widget ID synchronization: Added setWidgetId prop to the
Turnstile component interface and hook for reliable widget tracking
between component and hook
- Enhanced error handling: Updated handleVerify, handleExpire, and
handleError to properly reset tokens on failures
- Updated all auth components: Added setWidgetId prop to all Turnstile
component usages in login, signup, and password reset pages
- Removed unreliable widget tracking: Eliminated the
window.turnstile.render interception approach in favor of explicit
prop-based communication

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 failed login attempt - CAPTCHA resets properly without page
refresh
- [x] Test failed signup attempt - CAPTCHA resets properly without page
refresh
	- [x] Test successful login flow - CAPTCHA works normally
	- [x] Test CAPTCHA expiration - State resets correctly
	- [x] Test CAPTCHA error scenarios - Error handling works properly
2025-05-28 15:21:27 +00:00
Krzysztof Czerwinski
9f2b9d08c9 feat(platform): Add Run 10 agents wallet task (#9937)
### Changes 🏗️

This PR adds `Run 10 agents` step to wallet tasks that can be done by
running any agents 10 times either from Library or Builder (onboarding
agent run also counts).

- Merge `Finish onboarding` and `See results` steps into one in the
wallet
- User is redirected directly to onboarding agent runs in Library after
congrats screen
- Add `RUN_AGENTS` step and `agentRuns` integer to schema and related
migration
- Running agent from Library and Builder increments `agentRuns`
- Open NPS survey popup when 10 agents are run
- Fix resuming onboarding on login when unfinished
- Remove no longer needed `get-results.mp4` tutorial video

### 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] Onboarding can be completed and proper reward is awarded
  - [x] `Run 10 agents` can be completed and reward is awarded
    - [x] When unning different agents and the same agent
    - [x] Running from library and builder counts
  - [x] Onboarding is resumed to last finished step on login
autogpt-platform-beta-v0.6.11
2025-05-28 07:40:52 +00:00
Krzysztof Czerwinski
b91b026164 fix(platform): Restore See runs button on marketplace listing page (#9970)
This makes button on the marketplace listing page show `See runs` if
user has an agent in the library.

### Changes 🏗️

- Remove `/` from the related endpoint
- Use `active_version_id` instead of `store_listing_version_id` to check
for the library agent
- Fix `get_store_agent_details`

### 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:
  - Log in and pick an agent that has never been in user library
  - [x] Button says `Add to library`
  - Add the agent and return to the listing page
  - [x] Button says `See runs`
  - Remove agent from library
  - [x] Button says `Add to library`
  - Add agent again
  - [x] Button says `See runs`

---------

Co-authored-by: Zamil Majdy <zamil.majdy@agpt.co>
2025-05-28 07:15:42 +00:00
Zamil Majdy
35a5755958 Merge branch 'master' of github.com:Significant-Gravitas/AutoGPT into dev 2025-05-28 14:06:25 +07:00
Reinier van der Leer
b244726b20 fix(backend): Include webhook block executions in GraphExecution queries (#9984)
- Resolves #9752
- Follow-up fix to #9940

### Changes 🏗️

- `GRAPH_EXECUTION_INCLUDE` ->
`graph_execution_include(include_block_ids)`
- Add `get_io_block_ids()` and `get_webhook_block_ids()` to
`backend.data.blocks`

### 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:
- [ ] Payload for webhook-triggered runs is shown on
`/library/agents/[id]`
2025-05-27 17:43:56 +00:00
itsababseh
3471781b98 fix(frontend/marketplace): require category selection (#10031)
## Summary
- require categories to be selected in PublishAgent popout

### Changes 🏗️
Makes it require the categories to be set before allowing an agent to be
uploaded
added popup notification to say its missing categories 

### Checklist 📋

#### For code changes:
- [x] I have clearly listed my changes in the PR description
- [x] I have made a test plan
- [x] I have tested my changes according to the test plan:
  <!-- Put your test plan here: -->
- [x] Try to upload a agent with out setting categories and it will
error and show message saying "Missing Required Fields, Please fill in:
Categories"
- [x] Now try to upload a agent with the categories set and it will work

Co-authored-by: Bently <Github@bentlybro.com>
2025-05-27 14:57:56 +00:00
Swifty
17e973a8cb fix(platform): Optimise Query Indexes (#10038)
# Query Optimization for AgentNodeExecution Tables

## Overview
This PR describes the database index optimizations applied to improve
the performance of slow queries in the AutoGPT platform backend.

## Problem Analysis
The following queries were identified as consuming significant database
resources:

### 1. Complex Filtering Query (19.3% of total time)
```sql
SELECT ... FROM "AgentNodeExecution" 
WHERE "agentNodeId" = $1 
  AND "agentGraphExecutionId" = $2 
  AND "executionStatus" = $3 
  AND "id" NOT IN (
    SELECT "referencedByInputExecId" 
    FROM "AgentNodeExecutionInputOutput" 
    WHERE "name" = $4 AND "referencedByInputExecId" IS NOT NULL
  )
ORDER BY "addedTime" ASC
```

### 2. Multi-table JOIN Query (8.9% of total time)
```sql
SELECT ... FROM "AgentNodeExecution" 
LEFT JOIN "AgentNode" ON ...
LEFT JOIN "AgentBlock" ON ...
WHERE "AgentBlock"."id" IN (...) 
  AND "executionStatus" != $11
  AND "agentGraphExecutionId" IN (...)
ORDER BY "queuedTime" DESC, "addedTime" DESC
```

### 3. Bulk Graph Execution Queries (multiple variations, ~10% combined)
Multiple queries filtering by `agentGraphExecutionId` with various
ordering requirements.

## Optimization Strategy

### 1. Composite Indexes for AgentNodeExecution

Set the following composite indexes to the `AgentNodeExecution` model:

```prisma
@@index([agentGraphExecutionId, agentNodeId, executionStatus])
@@index([addedTime, queuedTime])
```

#### Benefits:
- **Index 1**: Covers the exact WHERE clause of the complex filtering
query, allowing index-only scans
- **Index 2**: Optimizes queries filtering by graph execution and status
- **Index 3**: Supports efficient sorting when filtering by graph
execution
- **Index 4**: Optimizes ORDER BY operations on time fields

### 2. Composite Index for AgentNodeExecutionInputOutput

Added the following composite index:

```prisma
  // Input and Output pin names are unique for each AgentNodeExecution.
  @@unique([referencedByInputExecId, referencedByOutputExecId, name])
  @@index([referencedByOutputExecId])
  // Composite index for `upsert_execution_input`.
  @@index([name, time])
```

#### Benefits:
- Dramatically improves the NOT IN subquery performance in Query 1
- Allows the database to use an index scan instead of a full table scan
- Reduces the subquery execution time from O(n) to O(log n)

## Expected Performance Improvements

1. **Query 1 (19.3% of total time)**: 
   - Expected improvement: 80-90% reduction in execution time
- The composite index on `[agentNodeId, agentGraphExecutionId,
executionStatus]` will allow index-only scans
- The subquery will benefit from the new index on
`AgentNodeExecutionInputOutput`

2. **Query 2 (8.9% of total time)**:
   - Expected improvement: 50-70% reduction in execution time
- The `[agentGraphExecutionId, executionStatus]` index will reduce the
initial filtering cost

3. **Bulk Queries (10% combined)**:
   - Expected improvement: 60-80% reduction in execution time
- Composite indexes including time fields will optimize sorting
operations

## Migration Considerations

1. **Index Creation Time**: Creating these indexes on existing large
tables may take time
2. **Storage Impact**: Each index requires additional storage space
3. **Write Performance**: Slight decrease in INSERT/UPDATE performance
due to index maintenance


## Additional Optimizations

### NotificationEvent Table Index

Added index for notification batch queries:

```prisma
@@index([userNotificationBatchId])
```

This optimizes the query:
```sql
SELECT ... FROM "NotificationEvent" 
WHERE "userNotificationBatchId" IN (...)
```

#### Benefits:
- Eliminates full table scans when filtering by batch ID
- Improves query performance from O(n) to O(log n)
- Particularly beneficial for users with many notification events

## Future Optimizations

Consider these additional optimizations if needed:
1. Partitioning `AgentNodeExecution` table by `createdAt` or
`agentGraphExecutionId`
2. Implementing materialized views for frequently accessed aggregate
data
3. Adding covering indexes for specific query patterns
4. Implementing query result caching at the application level

---------

Co-authored-by: Zamil Majdy <zamil.majdy@agpt.co>
2025-05-27 09:20:36 +00:00
Reinier van der Leer
8e2fb2daa4 feat(backend): Speed up graph create/update (#10025)
- Resolves #10024

Caching the repeated DB calls by the graph lifecycle hooks significantly
speeds up graph update/create calls with many authenticated blocks
(~300ms saved per authenticated block)

### Changes 🏗️

- Add and use `IntegrationCredentialsManager.cached_getter(user_id)` in
lifecycle hooks
- Split `refresh_if_needed(..)` method out of
`IntegrationCredentialsManager.get(..)`
- Simplify interface of lifecycle hooks: change `get_credentials`
parameter to `user_id`

### Checklist 📋

#### For code changes:
- [x] I have clearly listed my changes in the PR description
- [x] I have made a test plan
- [x] I have tested my changes according to the test plan:
  - [x] Save a graph with nodes with credentials
2025-05-26 09:59:27 +00:00
Reinier van der Leer
767d2f2c1e dx(backend): Disable pre-commit pytest hooks (#10003)
Running the tests locally takes a lot of time and leaves test data
behind in the DB, making it impractical to actually run locally.
I'm disabling the `pytest` hooks in the pre-commit config so the
pre-commit checks can reasonably be used without significant negative
impact to DX.

This doesn't impact UX and there is nothing to test.
2025-05-25 12:40:59 +00:00
Reinier van der Leer
45578136e3 feat(frontend): Page-specific titles (#9995)
- Resolves #8656

Instead of "NextGen AutoGPT", make page titles like "My Test Agent -
Library - AutoGPT Platform", "Settings - AutoGPT Platform", "Builder -
AutoGPT Platform".

### Changes 🏗️

- Add specific page titles to `/library`, `/library/agents/[id]`,
`/build`, `/profile`, `/profile/api_keys`
- Fix page titles on `/marketplace`, `/profile/settings`

### 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] Go to `/marketplace` and check the page title
  - [x] Go to `/library` and check the page title
  - [x] Go to `/library/agents/[id]` and check the page title
  - [x] Go to `/build` and check the page title
  - [x] Go to `/profile` and check the page title
  - [x] Go to `/profile/settings` and check the page title
  - [x] Go to `/profile/api_keys` and check the page title
  - [ ] ~~Go to `/profile/dashboard` and check the page title~~
  - [ ] ~~Go to `/profile/integrations` and check the page title~~
  - [ ] ~~Go to `/profile/credits` and check the page title~~
2025-05-25 05:52:51 +00:00
Reinier van der Leer
a51af36296 feat(blocks/exa): Fix Exa blocks error reporting (#10020)
Exa blocks currently just return an empty list when they fail.

## Changes
- Add `error` output field where missing on Exa blocks
- Don't yield empty results when a request fails

## Testing
- `ruff check autogpt_platform/backend/backend/blocks/exa/search.py
autogpt_platform/backend/backend/blocks/exa/contents.py
autogpt_platform/backend/backend/blocks/exa/similar.py --fix`
- `black autogpt_platform/backend/backend/blocks/exa/search.py
autogpt_platform/backend/backend/blocks/exa/contents.py
autogpt_platform/backend/backend/blocks/exa/similar.py`
- `isort autogpt_platform/backend/backend/blocks/exa/search.py
autogpt_platform/backend/backend/blocks/exa/contents.py
autogpt_platform/backend/backend/blocks/exa/similar.py`
- `pre-commit run --files
autogpt_platform/backend/backend/blocks/exa/search.py
autogpt_platform/backend/backend/blocks/exa/contents.py
autogpt_platform/backend/backend/blocks/exa/similar.py` *(fails: redis
connection errors)*
2025-05-24 16:17:03 +00:00
Reinier van der Leer
5518c2e9a2 fix(frontend): Fix global <body> styling and base fonts (#9574)
Base styling currently being fragmented between `layout.tsx` and
`globals.css` is causing some styling (e.g. application background
color) to be incorrectly overridden.

### Changes 🏗️

- Remove background color override from `<body>`
- Move `<body>` classes from `layout.tsx` to `globals.css`
- Remove background color from elements that shouldn't have their own
background color
- Remove `font-neue`, `font-inter`; replace by Geist (`font-sans`) where
necessary

### 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] Effective background color of application is `#FAFAFA` like before
  - [x] Default font is Geist
  - [x] Everything looks okay
2025-05-24 15:25:26 +00:00
Bently
dc981b52a3 feat(Platform): add claude 4 sonnet and opus models to platform (#10018)
This adds the latest claude 4 opus and sonnet to the platform

https://www.anthropic.com/news/claude-4
2025-05-22 19:16:25 +00:00
ograce1421
61643e6a47 fix(frontend): Top Agents header spacing (#10002)
Changed the section header for "Top Agents" to include a 24px margin. 
I have not tested this, an eng needs to test / look at this

## Summary
- set `margin` default to 24px in `AgentsSection`
- apply the bottom margin via an inline style

## Testing
- `npm test` *(fails: playwright not found)*
- `npm run lint` *(fails: next not found)*


### 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] Test via deployment to the dev branch and verify by designer

---------

Co-authored-by: Zamil Majdy <zamil.majdy@agpt.co>
Co-authored-by: Nicholas Tindle <nicholas.tindle@agpt.co>
2025-05-22 16:12:08 +00:00
Reinier van der Leer
21b4d272ce feat(frontend/library): Replace "Loading..." by loading spinners (#9993)
- Resolves #9992

### Changes 🏗️

- Use `<LoadingBox>` instead of "Loading..." on `/library/agents/[id]`

![2025-05-20 23 26
vivaldi](https://github.com/user-attachments/assets/6fe8ce60-c249-4e4c-b3f1-eea925b003d3)


### 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] Designer approves based on screencapture
2025-05-22 15:58:32 +00:00
Toran Bruce Richards
b8ba572629 Fix AddMemoryBlock JSON serialization error (#10013)
This pull request refines the handling of `input_data.content` and
improves error message formatting in the `run` method of `mem0.py`. The
changes enhance robustness and clarity in the code.

### Handling `input_data.content`:

* Updated the `run` method to handle `Content` objects explicitly,
ensuring proper formatting of messages when `input_data.content` is of
type `Content`. Additionally, non-standard types are now converted to
strings for consistent handling.
(`[autogpt_platform/backend/backend/blocks/mem0.pyR127-R130](diffhunk://#diff-d7abf8c3299388129480b6a9be78438fe7e0fbe239da630ebb486ad99c80dd24R127-R130)`)

### Error message formatting:

* Simplified the error message formatting by removing the unnecessary
`object=` keyword in the `str()` conversion of exceptions.
(`[autogpt_platform/backend/backend/blocks/mem0.pyL155-R157](diffhunk://#diff-d7abf8c3299388129480b6a9be78438fe7e0fbe239da630ebb486ad99c80dd24L155-R157)`)

## Summary
- fix AddMemoryBlock so `Content` input uses the underlying string
- improve error handling in Mem0 AddMemoryBlock

## Testing
- `ruff check autogpt_platform/backend/backend/blocks/mem0.py`
- `pre-commit run --files
autogpt_platform/backend/backend/blocks/mem0.py` *(fails: unable to
fetch remote hooks)*
- `poetry run pytest -k AddMemoryBlock -q` *(fails: Error 111 connecting
to localhost:6379)*

Checklist 📋
For code changes:
 I have clearly listed my changes in the PR description
 I have made a test plan
 I have tested my changes according to the test plan:
 Payload for webhook-triggered runs is shown on /library/agents/[id]
2025-05-22 15:54:18 +00:00
Nicholas Tindle
47deeb53c3 docs(platform): update AGENTS instructions (#10016)
## Summary
- refine contribution instructions in `autogpt_platform/AGENTS.md`

## Testing
- `pre-commit` *(fails to fetch hooks due to no network access)*

#### 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] Docs only hcnage

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-05-22 15:54:02 +00:00
Zamil Majdy
1b81a7c755 fix(blocks): Error messages from SendWebRequestBlock use the requested translated IP instead of the orignal URL (#10009)
### Changes 🏗️

Keep the original URL when an HTTP error occurs in
`SendWebRequestBlock`.

### 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] Test sending POST request on a web that doesn't support POST
request using `SendWebRequestBlock`.
2025-05-22 15:46:01 +00:00
Zamil Majdy
793d056d81 fix(backend/executor): Make executor continuously running and retrying message consumption (#9999)
The executor can sometimes become dangling due to the executor stopping
executing messages but the process is not fully killed. This PR avoids
such a scenario by simply keeping retrying it.

### Changes 🏗️

Introduced continuous_retry decorator and use it to executor message
consumption/

### 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 executor service and execute some agents.
2025-05-22 13:40:41 +01:00
Zamil Majdy
8f1b3eb8ba fix(backend/executor): Make executor continuously running and retrying message consumption (#9999)
The executor can sometimes become dangling due to the executor stopping
executing messages but the process is not fully killed. This PR avoids
such a scenario by simply keeping retrying it.

### Changes 🏗️

Introduced continuous_retry decorator and use it to executor message
consumption/

### 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 executor service and execute some agents.
2025-05-22 12:11:08 +00:00
Reinier van der Leer
73ee6e272a fix(backend): Unbreak UserIntegrations parsing for missing None values (#9994)
Makes all optional fields on `Credentials` models actually optional, and
sets `exclude_none=True` on the corresponding `model_dump`.

This is a hotfix: after running the `aryshare-revid` branch on the dev
deployment, there is some data in the DB that isn't valid for the
`UserIntegrations` model on the `dev` branch (see
[here](https://github.com/Significant-Gravitas/AutoGPT/pull/9946#discussion_r2098428575)).

### 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] This fix worked on the `aryshare-revid` branch:
52b6d9696b
2025-05-20 23:50:19 +00:00
Reinier van der Leer
f466b010e4 fix(backend): Unbreak URL handling for GitHub blocks (#9989)
- Resolves #9987

### Changes 🏗️

- Split `pin_url(..)` out of `validate_url(..)` and call
`extra_url_validator` in between

### 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] GitHub Read Pull Request Block works with "Include PR Changes"
enabled
2025-05-20 22:54:39 +00:00
Nicholas Tindle
f8965e530f ref(frontend/admin): fix location of spending page (#9991)
### Changes 🏗️
Moves the route path for spending
drops min

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

### Checklist 📋

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

---------

Co-authored-by: Bently <Github@bentlybro.com>
2025-05-20 21:43:38 +00:00
Zamil Majdy
5e7b66da90 fix(backend): Disable health check for scheduler service from the api server 2025-05-20 18:04:33 +01:00
Zamil Majdy
701d283f69 fix(backend): Disable health check for scheduler service from the api server 2025-05-20 18:04:10 +01:00