Commit Graph

296 Commits

Author SHA1 Message Date
Muhammad Safi
64050faef6 feature(block): Add XML Parser Block (#9450)
-Updated pyproject.toml for new dependency gravitasml
-Updated poetry.lock

<!-- Clearly explain the need for these changes: -->
- Issue no #9317 stated that, the addition of an XMLParserBlock is
required.
- It was suggested that the use of gravitasml as external package to be
used for parsing.
- Changes incorporated and tested as per requirements.
### Changes 🏗️
- Added xml_parser.py
- updated pyproject.toml
- updated poetry.lock for dependency changes 
<!-- 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: -->
  - [ ] ...

<details>
  <summary>Example test plan</summary>
  
  - [ ] Create from scratch and execute an agent with at least 3 blocks
- [ ] Import an agent from file upload, and confirm it executes
correctly
  - [ ] Upload agent to marketplace
- [ ] Import an agent from marketplace and confirm it executes correctly
  - [ ] Edit an agent from monitor, and confirm it executes correctly
</details>

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

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

  - Changing ports
  - Adding new services that need to communicate with each other
  - Secrets or environment variable changes
  - New or infrastructure changes such as databases
</details>

---------

Co-authored-by: Nicholas Tindle <nicholas.tindle@agpt.co>
2025-02-10 21:00:09 +00:00
Krzysztof Czerwinski
00c312d02c feat(platform): Schedule specific agent version (#9444)
Scheduling always takes the newest version of an agent.

### Changes 🏗️

This PR allows to schedule any graph version by adding number input to
schedule popup. Number is automatically set to the newest version when
agent is chosen.

<img width="533" alt="Screenshot 2025-02-07 at 5 05 56 PM"
src="https://github.com/user-attachments/assets/357b8810-6f02-4066-b7a3-824d9bfd62af"
/>

- Update API, so it accepts graph version
- Update schedule pop up, so it lets user input version number
- Open and schedule correct agent
- Add `Version` column to the schedules table

### 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] Can schedule version between 1 and max version
  - [x] Reject incorrect version
  - [x] Table shows proper version
  - [x] Removing schedule works
2025-02-10 13:24:25 +00:00
Nicholas Tindle
610be988c4 feat(backend): attach rabbitmq to the AppService (#9438)
### Changes 🏗️
For Emailing, we need to make a new App Service (NotificationManager)
that will require us to have rabbitmq as a dependency. This is the
backing data library to make that happen + registering it with the app
service base class and connecting when we spawn up a service

<!-- Concisely describe all of the changes made in this pull request:
-->
- Adds a rabbitmq library following the existing standard for redis
- Adds rabbitmq to the service
- Adds rabbitmq mgmt library (pika) so that we can connect to rabbitmq

### 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] I tested by adding the following to the executor `@expose
add_execution` and verifying via the UI that the messages show up in the
queue as expected + the agent executes and behaves as normal!

![image](https://github.com/user-attachments/assets/3ebfb850-d482-4b11-901c-d3bf3397a346)

```diff
      diff --git a/autogpt_platform/backend/backend/executor/manager.py b/autogpt_platform/backend/backend/executor/manager.py
index 1d965e012..4cd5b403c 100644
--- a/autogpt_platform/backend/backend/executor/manager.py
+++ b/autogpt_platform/backend/backend/executor/manager.py
@@ -18,7 +18,7 @@ if TYPE_CHECKING:
 from autogpt_libs.utils.cache import thread_cached
 
 from backend.blocks.agent import AgentExecutorBlock
-from backend.data import redis
+from backend.data import rabbitmq, redis
 from backend.data.block import (
     Block,
     BlockData,
@@ -750,6 +750,19 @@ class ExecutionManager(AppService):
     def __init__(self):
         super().__init__()
         self.use_redis = True
+        self.use_rabbitmq = rabbitmq.RabbitMQConfig(
+            exchanges=[
+                rabbitmq.Exchange(name="execution", type=rabbitmq.ExchangeType.FANOUT),
+            ],
+            queues=[
+                rabbitmq.Queue(
+                    name="execution",
+                    exchange=rabbitmq.Exchange(
+                        name="execution", type=rabbitmq.ExchangeType.FANOUT
+                    ),
+                ),
+            ],
+        )
         self.use_supabase = True
         self.pool_size = settings.config.num_graph_workers
         self.queue = ExecutionQueue[GraphExecutionEntry]()
@@ -876,6 +889,12 @@ class ExecutionManager(AppService):
         )
         self.queue.add(graph_exec)
 
+        # test rabbitmq
+        self.rabbit.publish_message(
+            exchange=self.rabbit_config.exchanges[0],
+            routing_key=self.rabbit_config.exchanges[0].name,
+            message=graph_exec_id,
+        )
         return graph_exec
 
     @expose
```
2025-02-08 21:30:30 +00:00
Nicholas Tindle
1a4ba533ca feat(infra): add rabbitmq to docker compose (#9437)
<!-- Clearly explain the need for these changes: -->
We want to use RabbitMQ for email (and executor in the future) to ensure
message delivery -- something we currently lack with Redis. This PR is
adding RabbitMQ to the docker-compose and setup details with defaults so
that when we start bringing services up, they have the backing to do so.

### Changes 🏗️

<!-- Concisely describe all of the changes made in this pull request:
-->
- Adds rabbitmq container (with exposed API and mgmt ports)
- Adds .env.example config for the backend
- Adds dockercompose config for the backend, and passes the variables
around as needed

### 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] Start the container using docker compose deps subset

#### 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-02-07 15:40:17 +00:00
Krzysztof Czerwinski
1a1fe7c0b7 feat(platform): Support opening graphs with version and execution id (#9332)
Currently it's only possible to open latest graph from monitor and see
the node execution results only when manually running. This PR adds
ability to open running and finished graphs in builder.

### Changes 🏗️

Builder now handles graph version and execution ID in addition to graph
ID when opening a graph. When an execution ID is provided, node
execution results are fetched and subscribed to in real time. This makes
it possible to open a graph that is already executing and see both
existing node execution data and real-time updates (if it's still
running).

- Use graph version and execution id on the builder page and in
`useAgentGraph`
- Use graph version on the `execute_graph` endpoint
- Use graph version on the websockets to distinguish between versions
- Move `formatEdgeID` to utils; it's used in `useAgentGraph.ts` and in
`Flow.tsx`

### 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] Opening finished execution restores node results
- [x] Opening running execution restores results and continues to run
properly
  - [x] Results are separate for each graph across multiple tabs

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

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

  - Changing ports
  - Adding new services that need to communicate with each other
  - Secrets or environment variable changes
  - New or infrastructure changes such as databases
</details>

---------

Co-authored-by: Zamil Majdy <zamil.majdy@agpt.co>
2025-02-07 10:16:30 +00:00
dependabot[bot]
5d8fe1e184 chore(backend/deps): bump google-cloud-storage from 2.19.0 to 3.0.0 in /autogpt_platform/backend (#9399)
Bumps
[google-cloud-storage](https://github.com/googleapis/python-storage)
from 2.19.0 to 3.0.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/googleapis/python-storage/releases">google-cloud-storage's
releases</a>.</em></p>
<blockquote>
<h2>v3.0.0</h2>
<h2><a
href="https://github.com/googleapis/python-storage/compare/v2.19.0...v3.0.0">3.0.0</a>
(2025-01-28)</h2>
<h3>⚠ BREAKING CHANGES</h3>
<p>Please consult the README for details on this major version
release.</p>
<ul>
<li>The default checksum strategy for uploads has changed from None to
&quot;auto&quot; (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1383">#1383</a>)</li>
<li>The default checksum strategy for downloads has changed from
&quot;md5&quot; to &quot;auto&quot; (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1383">#1383</a>)</li>
<li>Deprecated positional argument &quot;num_retries&quot; has been
removed (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1377">#1377</a>)</li>
<li>Deprecated argument &quot;text_mode&quot; has been removed (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1379">#1379</a>)</li>
<li>Blob.download_to_filename() now deletes the empty destination file
on a 404 (<a
href="https://redirect.github.com/googleapis/python-storage/pull/1394">#1394</a>)</li>
<li>Media operations now use the same retry backoff, timeout and custom
predicate system as non-media operations, which may slightly impact
default retry behavior (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1385">#1385</a>)</li>
<li>Retries are now enabled by default for uploads, blob deletes and
blob metadata updates (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1400">#1400</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li>Add &quot;auto&quot; checksum option and make default (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1383">#1383</a>)
(<a
href="5375fa0738">5375fa0</a>)</li>
<li>Blob.download_to_filename() deletes the empty destination file on a
404 (<a
href="https://redirect.github.com/googleapis/python-storage/pull/1394">#1394</a>)
(<a
href="066be2db78">066be2d</a>)</li>
<li>Enable custom predicates for media operations (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1385">#1385</a>)
(<a
href="f3517bfcb9">f3517bf</a>)</li>
<li>Integrate google-resumable-media (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1283">#1283</a>)
(<a
href="bd917b49d2">bd917b4</a>)</li>
<li>Retry by default for uploads, blob deletes, metadata updates (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1400">#1400</a>)
(<a
href="0426005175">0426005</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>Cancel upload when BlobWriter exits with exception (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1243">#1243</a>)
(<a
href="df107d20a7">df107d2</a>)</li>
<li>Changed name of methods <code>Blob.from_string()</code> and
<code>Bucket.from_string()</code> to <code>from_uri()</code> (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1335">#1335</a>)
(<a
href="58c1d03819">58c1d03</a>)</li>
<li>Correctly calculate starting offset for retries of ranged reads (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1376">#1376</a>)
(<a
href="7b6c9a0fb3">7b6c9a0</a>)</li>
<li>Filter download_kwargs in BlobReader (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1411">#1411</a>)
(<a
href="0c21210450">0c21210</a>)</li>
<li>Remove deprecated num_retries argument (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1377">#1377</a>)
(<a
href="58b5040933">58b5040</a>)</li>
<li>Remove deprecated text_mode argument (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1379">#1379</a>)
(<a
href="4d20a8efa8">4d20a8e</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Correct formatting and update README.rst (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1427">#1427</a>)
(<a
href="2945853977">2945853</a>)</li>
<li>Fix issue with exceptions.py documentation (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1328">#1328</a>)
(<a
href="22b8c304af">22b8c30</a>)</li>
</ul>
<h2>v3.0.0rc1</h2>
<h2><a
href="https://github.com/googleapis/python-storage/compare/v2.19.0...v3.0.0rc1">3.0.0rc1</a>
(2024-12-12)</h2>
<h3>⚠ BREAKING CHANGES</h3>
<ul>
<li>The default checksum strategy for uploads has changed from None to
&quot;auto&quot; (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1383">#1383</a>)
(5375fa0)</li>
<li>The default checksum strategy for downloads has changed from
&quot;md5&quot; to &quot;auto&quot; (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1383">#1383</a>)
(5375fa0)</li>
<li>Deprecated positional argument &quot;num_retries&quot; has been
removed (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1377">#1377</a>)
(58b5040)</li>
<li>Deprecated argument &quot;text_mode&quot; has been removed (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1379">#1379</a>)
(4d20a8e)</li>
<li>Media operation retries now work identically to other retries, which
may impact default retry settings (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1385">#1385</a>)
(f3517bf)</li>
<li>Blob.download_to_filename() deletes the empty destination file on a
404</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/googleapis/python-storage/blob/main/CHANGELOG.md">google-cloud-storage's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/googleapis/python-storage/compare/v2.19.0...v3.0.0">3.0.0</a>
(2025-01-28)</h2>
<h3>⚠ BREAKING CHANGES</h3>
<p>Please consult the README for details on this major version
release.</p>
<ul>
<li>The default checksum strategy for uploads has changed from None to
&quot;auto&quot; (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1383">#1383</a>)</li>
<li>The default checksum strategy for downloads has changed from
&quot;md5&quot; to &quot;auto&quot; (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1383">#1383</a>)</li>
<li>Deprecated positional argument &quot;num_retries&quot; has been
removed (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1377">#1377</a>)</li>
<li>Deprecated argument &quot;text_mode&quot; has been removed (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1379">#1379</a>)</li>
<li>Blob.download_to_filename() now deletes the empty destination file
on a 404 (<a
href="https://redirect.github.com/googleapis/python-storage/pull/1394">#1394</a>)</li>
<li>Media operations now use the same retry backoff, timeout and custom
predicate system as non-media operations, which may slightly impact
default retry behavior (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1385">#1385</a>)</li>
<li>Retries are now enabled by default for uploads, blob deletes and
blob metadata updates (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1400">#1400</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li>Add &quot;auto&quot; checksum option and make default (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1383">#1383</a>)
(<a
href="5375fa0738">5375fa0</a>)</li>
<li>Blob.download_to_filename() deletes the empty destination file on a
404 (<a
href="https://redirect.github.com/googleapis/python-storage/pull/1394">#1394</a>)
(<a
href="066be2db78">066be2d</a>)</li>
<li>Enable custom predicates for media operations (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1385">#1385</a>)
(<a
href="f3517bfcb9">f3517bf</a>)</li>
<li>Integrate google-resumable-media (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1283">#1283</a>)
(<a
href="bd917b49d2">bd917b4</a>)</li>
<li>Retry by default for uploads, blob deletes, metadata updates (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1400">#1400</a>)
(<a
href="0426005175">0426005</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>Cancel upload when BlobWriter exits with exception (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1243">#1243</a>)
(<a
href="df107d20a7">df107d2</a>)</li>
<li>Changed name of methods <code>Blob.from_string()</code> and
<code>Bucket.from_string()</code> to <code>from_uri()</code> (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1335">#1335</a>)
(<a
href="58c1d03819">58c1d03</a>)</li>
<li>Correctly calculate starting offset for retries of ranged reads (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1376">#1376</a>)
(<a
href="7b6c9a0fb3">7b6c9a0</a>)</li>
<li>Filter download_kwargs in BlobReader (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1411">#1411</a>)
(<a
href="0c21210450">0c21210</a>)</li>
<li>Remove deprecated num_retries argument (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1377">#1377</a>)
(<a
href="58b5040933">58b5040</a>)</li>
<li>Remove deprecated text_mode argument (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1379">#1379</a>)
(<a
href="4d20a8efa8">4d20a8e</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Correct formatting and update README.rst (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1427">#1427</a>)
(<a
href="2945853977">2945853</a>)</li>
<li>Fix issue with exceptions.py documentation (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1328">#1328</a>)
(<a
href="22b8c304af">22b8c30</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="f2cc9c5a2b"><code>f2cc9c5</code></a>
chore(main): release 3.0.0 (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1393">#1393</a>)</li>
<li><a
href="71455bcc7f"><code>71455bc</code></a>
samples: add OTel Tracing quickstart (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1371">#1371</a>)</li>
<li><a
href="2945853977"><code>2945853</code></a>
Docs: Correct formatting and update README.rst (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1427">#1427</a>)</li>
<li><a
href="0426005175"><code>0426005</code></a>
feat: Retry by default for uploads, blob deletes, metadata updates (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1400">#1400</a>)</li>
<li><a
href="0c21210450"><code>0c21210</code></a>
fix: filter download_kwargs in BlobReader (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1411">#1411</a>)</li>
<li><a
href="c2a2ce58c7"><code>c2a2ce5</code></a>
chore(python): exclude .github/workflows/unittest.yml in renovate config
(<a
href="https://redirect.github.com/googleapis/python-storage/issues/1407">#1407</a>)</li>
<li><a
href="ffa0734708"><code>ffa0734</code></a>
chore(deps): update all dependencies (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1405">#1405</a>)</li>
<li><a
href="2e94ad0eba"><code>2e94ad0</code></a>
chore(python): Update the python version in docs presubmit to use 3.10
(<a
href="https://redirect.github.com/googleapis/python-storage/issues/1403">#1403</a>)</li>
<li><a
href="4e9a382dd9"><code>4e9a382</code></a>
feat!: Release as 3.0.0 (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1396">#1396</a>)</li>
<li><a
href="066be2db78"><code>066be2d</code></a>
feat: download_to_filename deletes the empty file on a 404 (<a
href="https://redirect.github.com/googleapis/python-storage/issues/1394">#1394</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/googleapis/python-storage/compare/v2.19.0...v3.0.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=google-cloud-storage&package-manager=pip&previous-version=2.19.0&new-version=3.0.0)](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>
Co-authored-by: Nicholas Tindle <nicholas.tindle@agpt.co>
2025-02-06 14:15:36 +00:00
Swifty
8181ee8cd1 platform(fix): Fix missing Profiles (#9424)
### What's This PR About?

This PR makes a few simple improvements to how user profiles are handled
in the app:

- **Always Have a Profile:**  
If a user doesn't already have a profile, the system now automatically
creates one with some default info (including a fun, randomly generated
username). This way, you never end up with a missing profile.

- **Better Profile Updates:**  
  Removes the creation of profiles on failed get requests
2025-02-06 11:20:32 +01:00
dependabot[bot]
4b76aae1c9 chore(libs/deps): bump the production-dependencies group across 1 directory with 4 updates (#9432)
Bumps the production-dependencies group with 4 updates in the
/autogpt_platform/autogpt_libs directory:
[google-cloud-logging](https://github.com/googleapis/python-logging),
[pydantic](https://github.com/pydantic/pydantic),
[pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) and
[supabase](https://github.com/supabase/supabase-py).

Updates `google-cloud-logging` from 3.11.3 to 3.11.4
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/googleapis/python-logging/releases">google-cloud-logging's
releases</a>.</em></p>
<blockquote>
<h2>v3.11.4</h2>
<h2><a
href="https://github.com/googleapis/python-logging/compare/v3.11.3...v3.11.4">3.11.4</a>
(2025-01-22)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>Made <code>write_entries</code> raise <code>ValueError</code> on
<code>ParseError</code>s (<a
href="https://redirect.github.com/googleapis/python-logging/issues/958">#958</a>)
(<a
href="5309478c05">5309478</a>)</li>
<li>Require proto-plus &gt;= 1.25 for Python 3.13 (<a
href="https://redirect.github.com/googleapis/python-logging/issues/955">#955</a>)
(<a
href="7baed8e968">7baed8e</a>)</li>
<li>Require proto-plus &gt;= 1.25 for Python 3.13 (<a
href="https://redirect.github.com/googleapis/python-logging/issues/955">#955</a>)
(<a
href="002b1fcb39">002b1fc</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/googleapis/python-logging/blob/main/CHANGELOG.md">google-cloud-logging's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/googleapis/python-logging/compare/v3.11.3...v3.11.4">3.11.4</a>
(2025-01-22)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>Made <code>write_entries</code> raise <code>ValueError</code> on
<code>ParseError</code>s (<a
href="https://redirect.github.com/googleapis/python-logging/issues/958">#958</a>)
(<a
href="5309478c05">5309478</a>)</li>
<li>Require proto-plus &gt;= 1.25 for Python 3.13 (<a
href="https://redirect.github.com/googleapis/python-logging/issues/955">#955</a>)
(<a
href="7baed8e968">7baed8e</a>)</li>
<li>Require proto-plus &gt;= 1.25 for Python 3.13 (<a
href="https://redirect.github.com/googleapis/python-logging/issues/955">#955</a>)
(<a
href="002b1fcb39">002b1fc</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="c47946fee0"><code>c47946f</code></a>
chore(main): release 3.11.4 (<a
href="https://redirect.github.com/googleapis/python-logging/issues/956">#956</a>)</li>
<li><a
href="5309478c05"><code>5309478</code></a>
fix: Made <code>write_entries</code> raise <code>ValueError</code> on
<code>ParseError</code>s (<a
href="https://redirect.github.com/googleapis/python-logging/issues/958">#958</a>)</li>
<li><a
href="dfcce1f5ed"><code>dfcce1f</code></a>
chore(python): exclude .github/workflows/unittest.yml in renovate config
(<a
href="https://redirect.github.com/googleapis/python-logging/issues/959">#959</a>)</li>
<li><a
href="8c2c5a798a"><code>8c2c5a7</code></a>
chore(python): update dependencies in .kokoro/docker/docs (<a
href="https://redirect.github.com/googleapis/python-logging/issues/957">#957</a>)</li>
<li><a
href="7baed8e968"><code>7baed8e</code></a>
fix: require proto-plus &gt;= 1.25 for Python 3.13 (<a
href="https://redirect.github.com/googleapis/python-logging/issues/955">#955</a>)</li>
<li><a
href="002b1fcb39"><code>002b1fc</code></a>
fix: require proto-plus &gt;= 1.25 for Python 3.13 (<a
href="https://redirect.github.com/googleapis/python-logging/issues/955">#955</a>)</li>
<li><a
href="439eaa5b2f"><code>439eaa5</code></a>
chore(python): update dependencies in .kokoro/docker/docs (<a
href="https://redirect.github.com/googleapis/python-logging/issues/954">#954</a>)</li>
<li>See full diff in <a
href="https://github.com/googleapis/python-logging/compare/v3.11.3...v3.11.4">compare
view</a></li>
</ul>
</details>
<br />

Updates `pydantic` from 2.10.5 to 2.10.6
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pydantic/pydantic/releases">pydantic's
releases</a>.</em></p>
<blockquote>
<h2>v2.10.6 2025-01-23</h2>
<h2>What's Changed</h2>
<h3>Fixes</h3>
<ul>
<li>Fix JSON Schema reference collection with <code>'examples'</code>
keys by <a href="https://github.com/Viicos"><code>@​Viicos</code></a> in
<a
href="https://redirect.github.com/pydantic/pydantic/pull/11325">#11325</a></li>
<li>Fix url python serialization by <a
href="https://github.com/sydney-runkle"><code>@​sydney-runkle</code></a>
in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11331">#11331</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/pydantic/pydantic/compare/v2.10.5...v2.10.6">https://github.com/pydantic/pydantic/compare/v2.10.5...v2.10.6</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pydantic/pydantic/blob/main/HISTORY.md">pydantic's
changelog</a>.</em></p>
<blockquote>
<h2>v2.10.6 (2025-01-23)</h2>
<p><a
href="https://github.com/pydantic/pydantic/releases/tag/v2.10.6">GitHub
release</a></p>
<h3>What's Changed</h3>
<h4>Fixes</h4>
<ul>
<li>Fix JSON Schema reference collection with <code>'examples'</code>
keys by <a href="https://github.com/Viicos"><code>@​Viicos</code></a> in
<a
href="https://redirect.github.com/pydantic/pydantic/pull/11325">#11325</a></li>
<li>Fix url python serialization by <a
href="https://github.com/sydney-runkle"><code>@​sydney-runkle</code></a>
in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11331">#11331</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="df05e69a8a"><code>df05e69</code></a>
Bump version to v2.10.6 (<a
href="https://redirect.github.com/pydantic/pydantic/issues/11334">#11334</a>)</li>
<li><a
href="416082625a"><code>4160826</code></a>
Fix url python serialization (<a
href="https://redirect.github.com/pydantic/pydantic/issues/11331">#11331</a>)</li>
<li><a
href="f94e842692"><code>f94e842</code></a>
Fix JSON Schema reference collection with
<code>&quot;examples&quot;</code> keys (<a
href="https://redirect.github.com/pydantic/pydantic/issues/11325">#11325</a>)</li>
<li>See full diff in <a
href="https://github.com/pydantic/pydantic/compare/v2.10.5...v2.10.6">compare
view</a></li>
</ul>
</details>
<br />

Updates `pytest-asyncio` from 0.25.2 to 0.25.3
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pytest-dev/pytest-asyncio/releases">pytest-asyncio's
releases</a>.</em></p>
<blockquote>
<h2>pytest-asyncio 0.25.3</h2>
<ul>
<li>Avoid errors in cleanup of async generators when event loop is
already closed <a
href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1040">#1040</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="7c501923b0"><code>7c50192</code></a>
fix: Avoid errors in cleanup of async generators when event loop is
already c...</li>
<li>See full diff in <a
href="https://github.com/pytest-dev/pytest-asyncio/compare/v0.25.2...v0.25.3">compare
view</a></li>
</ul>
</details>
<br />

Updates `supabase` from 2.11.0 to 2.13.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/supabase/supabase-py/releases">supabase's
releases</a>.</em></p>
<blockquote>
<h2>v2.13.0</h2>
<h2><a
href="https://github.com/supabase/supabase-py/compare/v2.12.0...v2.13.0">2.13.0</a>
(2025-02-04)</h2>
<h3>Features</h3>
<ul>
<li><strong>realtime:</strong> bump realtime from 2.2.0 to 2.3.0 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1049">#1049</a>)
(<a
href="2347401770">2347401</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li><strong>auth:</strong> bump gotrue from 2.11.2 to 2.11.3 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1051">#1051</a>)
(<a
href="4a2bb9e73e">4a2bb9e</a>)</li>
<li><strong>functions:</strong> bump supafunc from 0.9.2 to 0.9.3 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1052">#1052</a>)
(<a
href="29fed38015">29fed38</a>)</li>
<li><strong>storage:</strong> bump storage3 from 0.11.1 to 0.11.3 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1050">#1050</a>)
(<a
href="8c5d48f51f">8c5d48f</a>)</li>
<li>update SupabaseAuthClient to use super instead of calling base class
(<a
href="https://redirect.github.com/supabase/supabase-py/issues/1045">#1045</a>)
(<a
href="3efb4a678b">3efb4a6</a>)</li>
</ul>
<h2>v2.12.0</h2>
<h2><a
href="https://github.com/supabase/supabase-py/compare/v2.11.0...v2.12.0">2.12.0</a>
(2025-01-24)</h2>
<h3>Features</h3>
<ul>
<li><strong>realtime:</strong> bump realtime from 2.1.0 to 2.2.0 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1037">#1037</a>)
(<a
href="0e5eed6f47">0e5eed6</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li><strong>auth:</strong> bump gotrue from 2.11.1 to 2.11.2 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1036">#1036</a>)
(<a
href="f7c87b9010">f7c87b9</a>)</li>
<li><strong>functions:</strong> bump supafunc from 0.9.0 to 0.9.2 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1029">#1029</a>)
(<a
href="f53f7ff58c">f53f7ff</a>)</li>
<li><strong>postgrest:</strong> bump postgrest from 0.19.1 to 0.19.3 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1040">#1040</a>)
(<a
href="c117a57a3f">c117a57</a>)</li>
<li><strong>storage:</strong> bump storage3 from 0.11.0 to 0.11.1 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1035">#1035</a>)
(<a
href="17942a2a6a">17942a2</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/supabase/supabase-py/blob/main/CHANGELOG.md">supabase's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/supabase/supabase-py/compare/v2.12.0...v2.13.0">2.13.0</a>
(2025-02-04)</h2>
<h3>Features</h3>
<ul>
<li><strong>realtime:</strong> bump realtime from 2.2.0 to 2.3.0 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1049">#1049</a>)
(<a
href="2347401770">2347401</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li><strong>auth:</strong> bump gotrue from 2.11.2 to 2.11.3 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1051">#1051</a>)
(<a
href="4a2bb9e73e">4a2bb9e</a>)</li>
<li><strong>functions:</strong> bump supafunc from 0.9.2 to 0.9.3 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1052">#1052</a>)
(<a
href="29fed38015">29fed38</a>)</li>
<li><strong>storage:</strong> bump storage3 from 0.11.1 to 0.11.3 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1050">#1050</a>)
(<a
href="8c5d48f51f">8c5d48f</a>)</li>
<li>update SupabaseAuthClient to use super instead of calling base class
(<a
href="https://redirect.github.com/supabase/supabase-py/issues/1045">#1045</a>)
(<a
href="3efb4a678b">3efb4a6</a>)</li>
</ul>
<h2><a
href="https://github.com/supabase/supabase-py/compare/v2.11.0...v2.12.0">2.12.0</a>
(2025-01-24)</h2>
<h3>Features</h3>
<ul>
<li><strong>realtime:</strong> bump realtime from 2.1.0 to 2.2.0 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1037">#1037</a>)
(<a
href="0e5eed6f47">0e5eed6</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li><strong>auth:</strong> bump gotrue from 2.11.1 to 2.11.2 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1036">#1036</a>)
(<a
href="f7c87b9010">f7c87b9</a>)</li>
<li><strong>functions:</strong> bump supafunc from 0.9.0 to 0.9.2 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1029">#1029</a>)
(<a
href="f53f7ff58c">f53f7ff</a>)</li>
<li><strong>postgrest:</strong> bump postgrest from 0.19.1 to 0.19.3 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1040">#1040</a>)
(<a
href="c117a57a3f">c117a57</a>)</li>
<li><strong>storage:</strong> bump storage3 from 0.11.0 to 0.11.1 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1035">#1035</a>)
(<a
href="17942a2a6a">17942a2</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="c70802e55c"><code>c70802e</code></a>
chore(main): release 2.13.0 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1046">#1046</a>)</li>
<li><a
href="614cacc6a9"><code>614cacc</code></a>
chore(tests): increase coverage (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1053">#1053</a>)</li>
<li><a
href="29fed38015"><code>29fed38</code></a>
fix(functions): bump supafunc from 0.9.2 to 0.9.3 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1052">#1052</a>)</li>
<li><a
href="4a2bb9e73e"><code>4a2bb9e</code></a>
fix(auth): bump gotrue from 2.11.2 to 2.11.3 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1051">#1051</a>)</li>
<li><a
href="8c5d48f51f"><code>8c5d48f</code></a>
fix(storage): bump storage3 from 0.11.1 to 0.11.3 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1050">#1050</a>)</li>
<li><a
href="2347401770"><code>2347401</code></a>
feat(realtime): bump realtime from 2.2.0 to 2.3.0 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1049">#1049</a>)</li>
<li><a
href="4237977463"><code>4237977</code></a>
chore(deps-dev): bump black from 24.10.0 to 25.1.0 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1044">#1044</a>)</li>
<li><a
href="489043f03a"><code>489043f</code></a>
chore(deps-dev): bump pytest-asyncio from 0.25.2 to 0.25.3 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1043">#1043</a>)</li>
<li><a
href="b007da45c6"><code>b007da4</code></a>
chore(deps-dev): bump commitizen from 4.1.0 to 4.1.1 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1042">#1042</a>)</li>
<li><a
href="9a8713125e"><code>9a87131</code></a>
chore(ci): pipeline using same version of python for all tests (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1047">#1047</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/supabase/supabase-py/compare/v2.11.0...v2.13.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>
Co-authored-by: Nicholas Tindle <nicholas.tindle@agpt.co>
2025-02-05 22:39:04 +00:00
Aarushi
277a896a83 feat(platform/external-api): Enhance the output from the external API on agent output (#9430)
This PR does two main things: 

1) Fixes the nodes block to show the name of the pins, not the generic
word "output".
2) Addes an output block that shows the name and result of the agent
output blocks. This improves readability of the API.

### Changes 🏗️

1) Update nodes block to show the name of the input pin
2) Added an output block to show all the AgentOutputBlocks outputs
3) Added a status field on the agent graph


Example results:

```
{
    "execution_id": "ea6b12ac-36f5-4f19-bc94-0df36f028c29",
    "status": "COMPLETED",
    "nodes": [
        {
            "node_id": "83cd909d-ff35-43c2-bdc9-a2f5142bd145",
            "input": "what is the capital of australia?",
            "output": {
                "result": [
                    "what is the capital of australia?"
                ]
            }
        },
        {
            "node_id": "6bdf81fc-2d56-4e32-82d5-24f8c5645cb5",
            "input": {
                "model": "gpt-4o",
                "credentials": {
                    "id": "604d8e22-3e24-4451-93eb-b17a276d3b8c",
                    "title": "openai",
                    "provider": "openai",
                    "type": "api_key"
                },
                "prompt": "what is the capital of australia?"
            },
            "output": {
                "response": [
                    "The capital of Australia is Canberra."
                ],
                "prompt": [
                    "[{\"role\": \"user\", \"content\": \"what is the capital of australia?\"}]"
                ]
            }
        },
        {
            "node_id": "55aa132a-c298-4cb6-9afe-39a56e492ab6",
            "input": "The capital of Australia is Canberra.",
            "output": {
                "output": [
                    "The capital of Australia is Canberra."
                ],
                "name": [
                    "result"
                ]
            }
        }
    ],
    "output": [
        {
            "result": "The capital of Australia is Canberra."
        }
    ]
}
```

### Checklist 📋

#### For code changes:
Testing: 
Create an agent
Run it via the API
Fetch the results
2025-02-05 22:06:48 +00:00
dependabot[bot]
bd9c0d741a chore(backend/deps): bump the production-dependencies group across 1 directory with 5 updates (#9434)
Bumps the production-dependencies group with 5 updates in the
/autogpt_platform/backend directory:

| Package | From | To |
| --- | --- | --- |
| [e2b-code-interpreter](https://github.com/e2b-dev/code-interpreter) |
`1.0.4` | `1.0.5` |
| [fastapi](https://github.com/fastapi/fastapi) | `0.115.7` | `0.115.8`
|
| [groq](https://github.com/groq/groq-python) | `0.15.0` | `0.18.0` |
| [openai](https://github.com/openai/openai-python) | `1.60.2` |
`1.61.1` |
| [supabase](https://github.com/supabase/supabase-py) | `2.12.0` |
`2.13.0` |


Updates `e2b-code-interpreter` from 1.0.4 to 1.0.5
<details>
<summary>Commits</summary>
<ul>
<li><a
href="007e2e5ae1"><code>007e2e5</code></a>
Merge pull request <a
href="https://redirect.github.com/e2b-dev/code-interpreter/issues/54">#54</a>
from e2b-dev/fix-bug-in-e2b-incompability</li>
<li><a
href="54935958aa"><code>5493595</code></a>
Add changeset</li>
<li><a
href="1b76bbe059"><code>1b76bbe</code></a>
Remove init method</li>
<li><a
href="bfa11701e7"><code>bfa1170</code></a>
[skip ci]Bump package manually</li>
<li><a
href="83f08213fb"><code>83f0821</code></a>
Skip on package.json change - it's just version bump</li>
<li><a
href="f14a2a5f6f"><code>f14a2a5</code></a>
Add to_dict() method in python SDK</li>
<li><a
href="daba22b9c7"><code>daba22b</code></a>
[skip ci] Release new versions</li>
<li><a
href="f8493025c2"><code>f849302</code></a>
Merge pull request <a
href="https://redirect.github.com/e2b-dev/code-interpreter/issues/53">#53</a>
from e2b-dev/update-r-to-44-e2b-1449</li>
<li><a
href="31aabd355a"><code>31aabd3</code></a>
Update Dockerfile</li>
<li><a
href="33ff495b17"><code>33ff495</code></a>
Add changeset</li>
<li>Additional commits viewable in <a
href="https://github.com/e2b-dev/code-interpreter/compare/@e2b/code-interpreter@1.0.4...@e2b/code-interpreter-python@1.0.5">compare
view</a></li>
</ul>
</details>
<br />

Updates `fastapi` from 0.115.7 to 0.115.8
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/fastapi/fastapi/releases">fastapi's
releases</a>.</em></p>
<blockquote>
<h2>0.115.8</h2>
<h3>Fixes</h3>
<ul>
<li>🐛 Fix <code>OAuth2PasswordRequestForm</code> and
<code>OAuth2PasswordRequestFormStrict</code> fixed
<code>grant_type</code> &quot;password&quot; RegEx. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/9783">#9783</a>
by <a
href="https://github.com/skarfie123"><code>@​skarfie123</code></a>.</li>
</ul>
<h3>Refactors</h3>
<ul>
<li> Simplify tests for body_multiple_params . PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/13237">#13237</a>
by <a
href="https://github.com/alejsdev"><code>@​alejsdev</code></a>.</li>
<li>♻️ Move duplicated code portion to a static method in the
<code>APIKeyBase</code> super class. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/3142">#3142</a>
by <a
href="https://github.com/ShahriyarR"><code>@​ShahriyarR</code></a>.</li>
<li> Simplify tests for request_files. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/13182">#13182</a>
by <a
href="https://github.com/alejsdev"><code>@​alejsdev</code></a>.</li>
</ul>
<h3>Docs</h3>
<ul>
<li>📝 Change the word &quot;unwrap&quot; to &quot;unpack&quot; in
<code>docs/en/docs/tutorial/extra-models.md</code>. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/13061">#13061</a>
by <a
href="https://github.com/timothy-jeong"><code>@​timothy-jeong</code></a>.</li>
<li>📝 Update Request Body's <code>tutorial002</code> to deal with
<code>tax=0</code> case. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/13230">#13230</a>
by <a href="https://github.com/togogh"><code>@​togogh</code></a>.</li>
<li>👥 Update FastAPI People - Experts. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/13269">#13269</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
</ul>
<h3>Translations</h3>
<ul>
<li>🌐 Add Japanese translation for
<code>docs/ja/docs/environment-variables.md</code>. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/13226">#13226</a>
by <a
href="https://github.com/k94-ishi"><code>@​k94-ishi</code></a>.</li>
<li>🌐 Add Russian translation for
<code>docs/ru/docs/advanced/async-tests.md</code>. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/13227">#13227</a>
by <a
href="https://github.com/Rishat-F"><code>@​Rishat-F</code></a>.</li>
<li>🌐 Update Russian translation for
<code>docs/ru/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md</code>.
PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/13252">#13252</a>
by <a
href="https://github.com/Rishat-F"><code>@​Rishat-F</code></a>.</li>
<li>🌐 Add Russian translation for
<code>docs/ru/docs/tutorial/bigger-applications.md</code>. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/13154">#13154</a>
by <a href="https://github.com/alv2017"><code>@​alv2017</code></a>.</li>
</ul>
<h3>Internal</h3>
<ul>
<li>⬆️ Add support for Python 3.13. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/13274">#13274</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>⬆️ Upgrade AnyIO max version for tests, new range:
<code>&gt;=3.2.1,&lt;5.0.0</code>. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/13273">#13273</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🔧 Update Sponsors badges. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/13271">#13271</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>♻️ Fix <code>notify_translations.py</code> empty env var handling
for PR label events vs workflow_dispatch. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/13272">#13272</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>♻️ Refactor and move <code>scripts/notify_translations.py</code>, no
need for a custom GitHub Action. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/13270">#13270</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>🔨 Update FastAPI People Experts script, refactor and optimize data
fetching to handle rate limits. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/13267">#13267</a>
by <a
href="https://github.com/tiangolo"><code>@​tiangolo</code></a>.</li>
<li>⬆ Bump pypa/gh-action-pypi-publish from 1.12.3 to 1.12.4. PR <a
href="https://redirect.github.com/fastapi/fastapi/pull/13251">#13251</a>
by <a
href="https://github.com/apps/dependabot"><code>@​dependabot[bot]</code></a>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="7128971f1d"><code>7128971</code></a>
🔖 Release version 0.115.8</li>
<li><a
href="55f8a446c7"><code>55f8a44</code></a>
📝 Update release notes</li>
<li><a
href="83ab6ac957"><code>83ab6ac</code></a>
📝 Change the word &quot;unwrap&quot; to &quot;unpack&quot; in
`docs/en/docs/tutorial/extra-models...</li>
<li><a
href="3d02a920ab"><code>3d02a92</code></a>
📝 Update release notes</li>
<li><a
href="1b00f8ae78"><code>1b00f8a</code></a>
 Simplify tests for body_multiple_params (<a
href="https://redirect.github.com/fastapi/fastapi/issues/13237">#13237</a>)</li>
<li><a
href="d97647fd57"><code>d97647f</code></a>
📝 Update release notes</li>
<li><a
href="9667ce87a9"><code>9667ce8</code></a>
📝 Update Request Body's <code>tutorial002</code> to deal with
<code>tax=0</code> case (<a
href="https://redirect.github.com/fastapi/fastapi/issues/13230">#13230</a>)</li>
<li><a
href="0541693bc7"><code>0541693</code></a>
📝 Update release notes</li>
<li><a
href="041b2e1c46"><code>041b2e1</code></a>
📝 Update release notes</li>
<li><a
href="30b270be9a"><code>30b270b</code></a>
♻️ Move duplicated code portion to a static method in the
<code>APIKeyBase</code> super ...</li>
<li>Additional commits viewable in <a
href="https://github.com/fastapi/fastapi/compare/0.115.7...0.115.8">compare
view</a></li>
</ul>
</details>
<br />

Updates `groq` from 0.15.0 to 0.18.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/groq/groq-python/releases">groq's
releases</a>.</em></p>
<blockquote>
<h2>v0.18.0</h2>
<h2>0.18.0 (2025-02-05)</h2>
<p>Full Changelog: <a
href="https://github.com/groq/groq-python/compare/v0.17.0...v0.18.0">v0.17.0...v0.18.0</a></p>
<h3>Features</h3>
<ul>
<li><strong>api:</strong> Add batch API (<a
href="https://redirect.github.com/groq/groq-python/issues/191">#191</a>)
(<a
href="367a744f46">367a744</a>)</li>
</ul>
<h3>Chores</h3>
<ul>
<li><strong>internal:</strong> bummp ruff dependency (<a
href="https://redirect.github.com/groq/groq-python/issues/190">#190</a>)
(<a
href="61678fc5fd">61678fc</a>)</li>
<li><strong>internal:</strong> change default timeout to an int (<a
href="https://redirect.github.com/groq/groq-python/issues/188">#188</a>)
(<a
href="348e152671">348e152</a>)</li>
</ul>
<h2>v0.17.0</h2>
<h2>0.17.0 (2025-02-03)</h2>
<p>Full Changelog: <a
href="https://github.com/groq/groq-python/compare/v0.16.0...v0.17.0">v0.16.0...v0.17.0</a></p>
<h3>Features</h3>
<ul>
<li><strong>api:</strong> api update (<a
href="https://redirect.github.com/groq/groq-python/issues/185">#185</a>)
(<a
href="e2373395cf">e237339</a>)</li>
</ul>
<h2>v0.16.0</h2>
<h2>0.16.0 (2025-01-29)</h2>
<p>Full Changelog: <a
href="https://github.com/groq/groq-python/compare/v0.15.0...v0.16.0">v0.15.0...v0.16.0</a></p>
<h3>Features</h3>
<ul>
<li><strong>api:</strong> api update (<a
href="https://redirect.github.com/groq/groq-python/issues/183">#183</a>)
(<a
href="a5cdbc5af7">a5cdbc5</a>)</li>
</ul>
<h3>Chores</h3>
<ul>
<li><strong>internal:</strong> codegen related update (<a
href="https://redirect.github.com/groq/groq-python/issues/177">#177</a>)
(<a
href="01e63041c8">01e6304</a>)</li>
<li><strong>internal:</strong> codegen related update (<a
href="https://redirect.github.com/groq/groq-python/issues/180">#180</a>)
(<a
href="5c8db1a979">5c8db1a</a>)</li>
<li><strong>internal:</strong> minor formatting changes (<a
href="https://redirect.github.com/groq/groq-python/issues/182">#182</a>)
(<a
href="2c4e409fe0">2c4e409</a>)</li>
<li><strong>internal:</strong> minor style changes (<a
href="https://redirect.github.com/groq/groq-python/issues/181">#181</a>)
(<a
href="77c752ab1a">77c752a</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li><strong>raw responses:</strong> fix duplicate <code>the</code> (<a
href="https://redirect.github.com/groq/groq-python/issues/179">#179</a>)
(<a
href="a28cbd863d">a28cbd8</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/groq/groq-python/blob/main/CHANGELOG.md">groq's
changelog</a>.</em></p>
<blockquote>
<h2>0.18.0 (2025-02-05)</h2>
<p>Full Changelog: <a
href="https://github.com/groq/groq-python/compare/v0.17.0...v0.18.0">v0.17.0...v0.18.0</a></p>
<h3>Features</h3>
<ul>
<li><strong>api:</strong> Add batch API (<a
href="https://redirect.github.com/groq/groq-python/issues/191">#191</a>)
(<a
href="367a744f46">367a744</a>)</li>
</ul>
<h3>Chores</h3>
<ul>
<li><strong>internal:</strong> bummp ruff dependency (<a
href="https://redirect.github.com/groq/groq-python/issues/190">#190</a>)
(<a
href="61678fc5fd">61678fc</a>)</li>
<li><strong>internal:</strong> change default timeout to an int (<a
href="https://redirect.github.com/groq/groq-python/issues/188">#188</a>)
(<a
href="348e152671">348e152</a>)</li>
</ul>
<h2>0.17.0 (2025-02-03)</h2>
<p>Full Changelog: <a
href="https://github.com/groq/groq-python/compare/v0.16.0...v0.17.0">v0.16.0...v0.17.0</a></p>
<h3>Features</h3>
<ul>
<li><strong>api:</strong> api update (<a
href="https://redirect.github.com/groq/groq-python/issues/185">#185</a>)
(<a
href="e2373395cf">e237339</a>)</li>
</ul>
<h2>0.16.0 (2025-01-29)</h2>
<p>Full Changelog: <a
href="https://github.com/groq/groq-python/compare/v0.15.0...v0.16.0">v0.15.0...v0.16.0</a></p>
<h3>Features</h3>
<ul>
<li><strong>api:</strong> api update (<a
href="https://redirect.github.com/groq/groq-python/issues/183">#183</a>)
(<a
href="a5cdbc5af7">a5cdbc5</a>)</li>
</ul>
<h3>Chores</h3>
<ul>
<li><strong>internal:</strong> codegen related update (<a
href="https://redirect.github.com/groq/groq-python/issues/177">#177</a>)
(<a
href="01e63041c8">01e6304</a>)</li>
<li><strong>internal:</strong> codegen related update (<a
href="https://redirect.github.com/groq/groq-python/issues/180">#180</a>)
(<a
href="5c8db1a979">5c8db1a</a>)</li>
<li><strong>internal:</strong> minor formatting changes (<a
href="https://redirect.github.com/groq/groq-python/issues/182">#182</a>)
(<a
href="2c4e409fe0">2c4e409</a>)</li>
<li><strong>internal:</strong> minor style changes (<a
href="https://redirect.github.com/groq/groq-python/issues/181">#181</a>)
(<a
href="77c752ab1a">77c752a</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li><strong>raw responses:</strong> fix duplicate <code>the</code> (<a
href="https://redirect.github.com/groq/groq-python/issues/179">#179</a>)
(<a
href="a28cbd863d">a28cbd8</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="b74ce9e301"><code>b74ce9e</code></a>
release: 0.18.0 (<a
href="https://redirect.github.com/groq/groq-python/issues/189">#189</a>)</li>
<li><a
href="3cee54eece"><code>3cee54e</code></a>
release: 0.17.0 (<a
href="https://redirect.github.com/groq/groq-python/issues/186">#186</a>)</li>
<li><a
href="10566c3847"><code>10566c3</code></a>
release: 0.16.0 (<a
href="https://redirect.github.com/groq/groq-python/issues/178">#178</a>)</li>
<li>See full diff in <a
href="https://github.com/groq/groq-python/compare/v0.15.0...v0.18.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `openai` from 1.60.2 to 1.61.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/openai/openai-python/releases">openai's
releases</a>.</em></p>
<blockquote>
<h2>v1.61.1</h2>
<h2>1.61.1 (2025-02-05)</h2>
<p>Full Changelog: <a
href="https://github.com/openai/openai-python/compare/v1.61.0...v1.61.1">v1.61.0...v1.61.1</a></p>
<h3>Bug Fixes</h3>
<ul>
<li><strong>api/types:</strong> correct audio duration &amp; role types
(<a
href="https://redirect.github.com/openai/openai-python/issues/2091">#2091</a>)
(<a
href="afcea4891f">afcea48</a>)</li>
<li><strong>cli/chat:</strong> only send params when set (<a
href="https://redirect.github.com/openai/openai-python/issues/2077">#2077</a>)
(<a
href="688b223d9a">688b223</a>)</li>
</ul>
<h3>Chores</h3>
<ul>
<li><strong>internal:</strong> bummp ruff dependency (<a
href="https://redirect.github.com/openai/openai-python/issues/2080">#2080</a>)
(<a
href="b7a80b1994">b7a80b1</a>)</li>
<li><strong>internal:</strong> change default timeout to an int (<a
href="https://redirect.github.com/openai/openai-python/issues/2079">#2079</a>)
(<a
href="d3df1c6ca0">d3df1c6</a>)</li>
</ul>
<h2>v1.61.0</h2>
<h2>1.61.0 (2025-01-31)</h2>
<p>Full Changelog: <a
href="https://github.com/openai/openai-python/compare/v1.60.2...v1.61.0">v1.60.2...v1.61.0</a></p>
<h3>Features</h3>
<ul>
<li><strong>api:</strong> add o3-mini (<a
href="https://redirect.github.com/openai/openai-python/issues/2067">#2067</a>)
(<a
href="12b87a4a1e">12b87a4</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li><strong>types:</strong> correct metadata type + other fixes (<a
href="12b87a4a1e">12b87a4</a>)</li>
</ul>
<h3>Chores</h3>
<ul>
<li><strong>helpers:</strong> section links (<a
href="ef8d3cce40">ef8d3cc</a>)</li>
<li><strong>types:</strong> fix Metadata types (<a
href="82d3156e74">82d3156</a>)</li>
<li>update api.md (<a
href="https://redirect.github.com/openai/openai-python/issues/2063">#2063</a>)
(<a
href="21964f00fb">21964f0</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li><strong>readme:</strong> current section links (<a
href="https://redirect.github.com/openai/openai-python/issues/2055">#2055</a>)
(<a
href="ef8d3cce40">ef8d3cc</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/openai/openai-python/blob/main/CHANGELOG.md">openai's
changelog</a>.</em></p>
<blockquote>
<h2>1.61.1 (2025-02-05)</h2>
<p>Full Changelog: <a
href="https://github.com/openai/openai-python/compare/v1.61.0...v1.61.1">v1.61.0...v1.61.1</a></p>
<h3>Bug Fixes</h3>
<ul>
<li><strong>api/types:</strong> correct audio duration &amp; role types
(<a
href="https://redirect.github.com/openai/openai-python/issues/2091">#2091</a>)
(<a
href="afcea4891f">afcea48</a>)</li>
<li><strong>cli/chat:</strong> only send params when set (<a
href="https://redirect.github.com/openai/openai-python/issues/2077">#2077</a>)
(<a
href="688b223d9a">688b223</a>)</li>
</ul>
<h3>Chores</h3>
<ul>
<li><strong>internal:</strong> bummp ruff dependency (<a
href="https://redirect.github.com/openai/openai-python/issues/2080">#2080</a>)
(<a
href="b7a80b1994">b7a80b1</a>)</li>
<li><strong>internal:</strong> change default timeout to an int (<a
href="https://redirect.github.com/openai/openai-python/issues/2079">#2079</a>)
(<a
href="d3df1c6ca0">d3df1c6</a>)</li>
</ul>
<h2>1.61.0 (2025-01-31)</h2>
<p>Full Changelog: <a
href="https://github.com/openai/openai-python/compare/v1.60.2...v1.61.0">v1.60.2...v1.61.0</a></p>
<h3>Features</h3>
<ul>
<li><strong>api:</strong> add o3-mini (<a
href="https://redirect.github.com/openai/openai-python/issues/2067">#2067</a>)
(<a
href="12b87a4a1e">12b87a4</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li><strong>types:</strong> correct metadata type + other fixes (<a
href="12b87a4a1e">12b87a4</a>)</li>
</ul>
<h3>Chores</h3>
<ul>
<li><strong>helpers:</strong> section links (<a
href="ef8d3cce40">ef8d3cc</a>)</li>
<li><strong>types:</strong> fix Metadata types (<a
href="82d3156e74">82d3156</a>)</li>
<li>update api.md (<a
href="https://redirect.github.com/openai/openai-python/issues/2063">#2063</a>)
(<a
href="21964f00fb">21964f0</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li><strong>readme:</strong> current section links (<a
href="https://redirect.github.com/openai/openai-python/issues/2055">#2055</a>)
(<a
href="ef8d3cce40">ef8d3cc</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="7193688e36"><code>7193688</code></a>
release: 1.61.1</li>
<li><a
href="f344db250a"><code>f344db2</code></a>
fix(api/types): correct audio duration &amp; role types (<a
href="https://redirect.github.com/openai/openai-python/issues/2091">#2091</a>)</li>
<li><a
href="6afde0dc85"><code>6afde0d</code></a>
chore(internal): bummp ruff dependency (<a
href="https://redirect.github.com/openai/openai-python/issues/2080">#2080</a>)</li>
<li><a
href="5a1a412b77"><code>5a1a412</code></a>
chore(internal): change default timeout to an int (<a
href="https://redirect.github.com/openai/openai-python/issues/2079">#2079</a>)</li>
<li><a
href="c27e8cc997"><code>c27e8cc</code></a>
fix(cli/chat): only send params when set (<a
href="https://redirect.github.com/openai/openai-python/issues/2077">#2077</a>)</li>
<li><a
href="7a6517d81e"><code>7a6517d</code></a>
release: 1.61.0</li>
<li><a
href="b56b357e60"><code>b56b357</code></a>
chore(types): fix Metadata types</li>
<li><a
href="fdd52476b5"><code>fdd5247</code></a>
feat(api): add o3-mini (<a
href="https://redirect.github.com/openai/openai-python/issues/2067">#2067</a>)</li>
<li><a
href="a99096823a"><code>a990968</code></a>
Revert &quot;fix(parsing): don't validate input tools in the
asynchronous `.parse(...</li>
<li><a
href="d779e40bc9"><code>d779e40</code></a>
chore: update api.md (<a
href="https://redirect.github.com/openai/openai-python/issues/2063">#2063</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/openai/openai-python/compare/v1.60.2...v1.61.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `supabase` from 2.12.0 to 2.13.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/supabase/supabase-py/releases">supabase's
releases</a>.</em></p>
<blockquote>
<h2>v2.13.0</h2>
<h2><a
href="https://github.com/supabase/supabase-py/compare/v2.12.0...v2.13.0">2.13.0</a>
(2025-02-04)</h2>
<h3>Features</h3>
<ul>
<li><strong>realtime:</strong> bump realtime from 2.2.0 to 2.3.0 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1049">#1049</a>)
(<a
href="2347401770">2347401</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li><strong>auth:</strong> bump gotrue from 2.11.2 to 2.11.3 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1051">#1051</a>)
(<a
href="4a2bb9e73e">4a2bb9e</a>)</li>
<li><strong>functions:</strong> bump supafunc from 0.9.2 to 0.9.3 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1052">#1052</a>)
(<a
href="29fed38015">29fed38</a>)</li>
<li><strong>storage:</strong> bump storage3 from 0.11.1 to 0.11.3 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1050">#1050</a>)
(<a
href="8c5d48f51f">8c5d48f</a>)</li>
<li>update SupabaseAuthClient to use super instead of calling base class
(<a
href="https://redirect.github.com/supabase/supabase-py/issues/1045">#1045</a>)
(<a
href="3efb4a678b">3efb4a6</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/supabase/supabase-py/blob/main/CHANGELOG.md">supabase's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/supabase/supabase-py/compare/v2.12.0...v2.13.0">2.13.0</a>
(2025-02-04)</h2>
<h3>Features</h3>
<ul>
<li><strong>realtime:</strong> bump realtime from 2.2.0 to 2.3.0 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1049">#1049</a>)
(<a
href="2347401770">2347401</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li><strong>auth:</strong> bump gotrue from 2.11.2 to 2.11.3 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1051">#1051</a>)
(<a
href="4a2bb9e73e">4a2bb9e</a>)</li>
<li><strong>functions:</strong> bump supafunc from 0.9.2 to 0.9.3 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1052">#1052</a>)
(<a
href="29fed38015">29fed38</a>)</li>
<li><strong>storage:</strong> bump storage3 from 0.11.1 to 0.11.3 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1050">#1050</a>)
(<a
href="8c5d48f51f">8c5d48f</a>)</li>
<li>update SupabaseAuthClient to use super instead of calling base class
(<a
href="https://redirect.github.com/supabase/supabase-py/issues/1045">#1045</a>)
(<a
href="3efb4a678b">3efb4a6</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="c70802e55c"><code>c70802e</code></a>
chore(main): release 2.13.0 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1046">#1046</a>)</li>
<li><a
href="614cacc6a9"><code>614cacc</code></a>
chore(tests): increase coverage (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1053">#1053</a>)</li>
<li><a
href="29fed38015"><code>29fed38</code></a>
fix(functions): bump supafunc from 0.9.2 to 0.9.3 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1052">#1052</a>)</li>
<li><a
href="4a2bb9e73e"><code>4a2bb9e</code></a>
fix(auth): bump gotrue from 2.11.2 to 2.11.3 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1051">#1051</a>)</li>
<li><a
href="8c5d48f51f"><code>8c5d48f</code></a>
fix(storage): bump storage3 from 0.11.1 to 0.11.3 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1050">#1050</a>)</li>
<li><a
href="2347401770"><code>2347401</code></a>
feat(realtime): bump realtime from 2.2.0 to 2.3.0 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1049">#1049</a>)</li>
<li><a
href="4237977463"><code>4237977</code></a>
chore(deps-dev): bump black from 24.10.0 to 25.1.0 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1044">#1044</a>)</li>
<li><a
href="489043f03a"><code>489043f</code></a>
chore(deps-dev): bump pytest-asyncio from 0.25.2 to 0.25.3 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1043">#1043</a>)</li>
<li><a
href="b007da45c6"><code>b007da4</code></a>
chore(deps-dev): bump commitizen from 4.1.0 to 4.1.1 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1042">#1042</a>)</li>
<li><a
href="9a8713125e"><code>9a87131</code></a>
chore(ci): pipeline using same version of python for all tests (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1047">#1047</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/supabase/supabase-py/compare/v2.12.0...v2.13.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>
Co-authored-by: Nicholas Tindle <nicholas.tindle@agpt.co>
2025-02-05 21:52:03 +00:00
Zamil Majdy
1d30e401fe fix(backend): Charge user credits before its block execution (#9427)
### Changes 🏗️

Instead of letting the user to execution the block then break it
post-execution.
We can charge the user first and execute it afterward.
The trade-offs:
* We can't charge a block that is charged based on the execution time.
* We will also charge failed block executions.

### Checklist 📋

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

<details>
  <summary>Example test plan</summary>
  
  - [ ] Create from scratch and execute an agent with at least 3 blocks
- [ ] Import an agent from file upload, and confirm it executes
correctly
  - [ ] Upload agent to marketplace
- [ ] Import an agent from marketplace and confirm it executes correctly
  - [ ] Edit an agent from monitor, and confirm it executes correctly
</details>

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

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

  - Changing ports
  - Adding new services that need to communicate with each other
  - Secrets or environment variable changes
  - New or infrastructure changes such as databases
</details>
2025-02-05 15:39:41 +00:00
Zamil Majdy
22536de71f feat(backend): Avoid multiple auto-top-ups within the same execution (#9426)
### Changes 🏗️

This PR makes auto-top-up more reliable:
* Auto top-up will not be executed more than once within a single
execution.
* Auto top-up will always be executed even if it was previously failing.
* Auto top-up will never be called twice or triggered when the balance
is more than the threshold, even in the concurrent block executions
set-up.

### Checklist 📋

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

<details>
  <summary>Example test plan</summary>
  
  - [ ] Create from scratch and execute an agent with at least 3 blocks
- [ ] Import an agent from file upload, and confirm it executes
correctly
  - [ ] Upload agent to marketplace
- [ ] Import an agent from marketplace and confirm it executes correctly
  - [ ] Edit an agent from monitor, and confirm it executes correctly
</details>

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

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

  - Changing ports
  - Adding new services that need to communicate with each other
  - Secrets or environment variable changes
  - New or infrastructure changes such as databases
</details>
2025-02-05 15:39:23 +00:00
Zamil Majdy
0915879049 feat(backend): Allow promo coupon for credits top-up 2025-02-05 18:28:01 +07:00
Zamil Majdy
243122311c feat(frontend): Use USD value instead of cents credit value (#9423)
The use of credit points (equivalent to cents) can cause confussion, the
scope of this PR is removing the use of it in the UI and using USD value
instead.

### Changes 🏗️

Show US values on:
* credit page
* block cost
* balance button in the navbar

<img width="1440" alt="image"
src="https://github.com/user-attachments/assets/2b6a18b0-f89d-48bf-84bd-0ea6aa9182f7"
/>

<img width="1440" alt="image"
src="https://github.com/user-attachments/assets/7545b496-0e7c-49ea-afc1-a3d1fd3289fb"
/>



### Checklist 📋

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

<details>
  <summary>Example test plan</summary>
  
  - [ ] Create from scratch and execute an agent with at least 3 blocks
- [ ] Import an agent from file upload, and confirm it executes
correctly
  - [ ] Upload agent to marketplace
- [ ] Import an agent from marketplace and confirm it executes correctly
  - [ ] Edit an agent from monitor, and confirm it executes correctly
</details>

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

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

  - Changing ports
  - Adding new services that need to communicate with each other
  - Secrets or environment variable changes
  - New or infrastructure changes such as databases
</details>
2025-02-05 10:40:57 +00:00
Krzysztof Czerwinski
533d120e98 feat(backend): Update llm models (#9390)
There are some models missing and their metadata is incorrect.

### Changes 🏗️

- Add models, update metadata and pricing.
- Add `max_output_tokens` to metadata, `None` indicates that max tokes
are unspecified in provider docs
- Added models:
  - OpenAI `o3-mini` and `o1`
  - Anthropic `claude-3-5-haiku-latest`
  - Groq `llama-3.3-70b-versatile`, `deepseek-r1-distill-llama-70b`
  - Ollama `llama3.3`
- Use the max output tokens from the provider that handles the least (so
it works for all) for OpenRouter models
- Use `max_output_tokens` and 4096 if `None` as a fallback
- Removed models (no longer working):
  - `gemma-7b-it`
  - `llama-3.1-70b-versatile`
  - `llama-3.1-405b-reasoning`
-  Rename llm enum name from `GEMINI_FLASH_1_5_8B` to `GEMINI_FLASH_1_5`

### Checklist 📋

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

<details>
  <summary>Example test plan</summary>
  
  - [ ] Create from scratch and execute an agent with at least 3 blocks
- [ ] Import an agent from file upload, and confirm it executes
correctly
  - [ ] Upload agent to marketplace
- [ ] Import an agent from marketplace and confirm it executes correctly
  - [ ] Edit an agent from monitor, and confirm it executes correctly
</details>

---------

Co-authored-by: Aarushi <50577581+aarushik93@users.noreply.github.com>
2025-02-05 09:53:34 +00:00
Zamil Majdy
58cadeb3b9 feat(frontend): Fix wordings for auto top-up feature (#9419)
### Changes

Make the auto top-up wordings clearer: 

<img width="547" alt="Screenshot 2025-02-05 at 1 38 16 AM"
src="https://github.com/user-attachments/assets/9a902442-1815-4a38-af39-d7d4b0e120f0"
/>

<img width="555" alt="Screenshot 2025-02-05 at 1 40 29 AM"
src="https://github.com/user-attachments/assets/4c9c9cdc-2d73-45f2-8a8d-f7ae7f97541b"
/>
es 🏗️

### Checklist 📋

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

<details>
  <summary>Example test plan</summary>
  
  - [ ] Create from scratch and execute an agent with at least 3 blocks
- [ ] Import an agent from file upload, and confirm it executes
correctly
  - [ ] Upload agent to marketplace
- [ ] Import an agent from marketplace and confirm it executes correctly
  - [ ] Edit an agent from monitor, and confirm it executes correctly
</details>

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

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

  - Changing ports
  - Adding new services that need to communicate with each other
  - Secrets or environment variable changes
  - New or infrastructure changes such as databases
</details>
2025-02-05 10:27:10 +07:00
Zamil Majdy
9151211d2a fix(backend): Set the minimum auto top-up amount to 500 credits (#9418)
### Changes 🏗️

* Set the minimum auto top-up amount to 500.
* Add description on minimum and dollar value in the input box.

### Checklist 📋

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

<details>
  <summary>Example test plan</summary>
  
  - [ ] Create from scratch and execute an agent with at least 3 blocks
- [ ] Import an agent from file upload, and confirm it executes
correctly
  - [ ] Upload agent to marketplace
- [ ] Import an agent from marketplace and confirm it executes correctly
  - [ ] Edit an agent from monitor, and confirm it executes correctly
</details>

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

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

  - Changing ports
  - Adding new services that need to communicate with each other
  - Secrets or environment variable changes
  - New or infrastructure changes such as databases
</details>
2025-02-04 17:01:33 +00:00
Zamil Majdy
8e68e20fef fix(backend): Fix return URL of billing portal when platform_base_url != frontend_base_url (#9417)
### Changes 🏗️

Fix return URL of billing portal when platform_base_url !=
frontend_base_url.

### Checklist 📋

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

<details>
  <summary>Example test plan</summary>
  
  - [ ] Create from scratch and execute an agent with at least 3 blocks
- [ ] Import an agent from file upload, and confirm it executes
correctly
  - [ ] Upload agent to marketplace
- [ ] Import an agent from marketplace and confirm it executes correctly
  - [ ] Edit an agent from monitor, and confirm it executes correctly
</details>

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

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

  - Changing ports
  - Adding new services that need to communicate with each other
  - Secrets or environment variable changes
  - New or infrastructure changes such as databases
</details>
2025-02-04 16:15:29 +00:00
Nicholas Tindle
a7d545cd5d Merge branch 'master' into dev 2025-02-04 08:45:34 -06:00
Nicholas Tindle
0fbabe690a Merge branch 'master' into dev 2025-02-04 08:43:52 -06:00
Zamil Majdy
cdd2d5696c fix(backend): Fix doubly reported produced output (#9412)
https://github.com/Significant-Gravitas/AutoGPT/pull/9340/files#diff-1b278ebf10a9da0fb5030010222b3a6df2b05a5463cad428cd6c38a1541b0f73R210-R219
introduced a bug where the spend_credit and update_execution is called
inside the loop instead of by the end of the execution.

### Changes 🏗️

Untabbed the `spend_credit` and `update_execution` code outside the
loop.

### Checklist 📋

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

<details>
  <summary>Example test plan</summary>
  
  - [ ] Create from scratch and execute an agent with at least 3 blocks
- [ ] Import an agent from file upload, and confirm it executes
correctly
  - [ ] Upload agent to marketplace
- [ ] Import an agent from marketplace and confirm it executes correctly
  - [ ] Edit an agent from monitor, and confirm it executes correctly
</details>

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

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

  - Changing ports
  - Adding new services that need to communicate with each other
  - Secrets or environment variable changes
  - New or infrastructure changes such as databases
</details>
2025-02-04 14:42:19 +00:00
Zamil Majdy
f44453be6e fix(backend): Fix transaction history listing on older transaction with no metadata 2025-02-03 16:33:18 +01:00
Nicholas Tindle
4302c5d60a feat: add screenshotone block (#9308)
I want to be able to screenshot things

### Changes 🏗️

<!-- Concisely describe all of the changes made in this pull request:
-->
Adds ScreenshotOne blocks with the ability to screenshot stuff

### 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] Built agent with it

---------

Co-authored-by: Zamil Majdy <zamil.majdy@agpt.co>
Co-authored-by: Aarushi <50577581+aarushik93@users.noreply.github.com>
2025-02-03 14:46:26 +00:00
Nicholas Tindle
53aea8908a fix(backend): fix missing agent object requirement (#9380) 2025-02-03 07:42:54 -06:00
Zamil Majdy
7b50e9bd77 fix(backend): Fix return url post top-up (#9392)
### Changes 🏗️

Fix return URL post-top-up, when FRONT_END_BASE_URL is used.

### Checklist 📋

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

<details>
  <summary>Example test plan</summary>
  
  - [ ] Create from scratch and execute an agent with at least 3 blocks
- [ ] Import an agent from file upload, and confirm it executes
correctly
  - [ ] Upload agent to marketplace
- [ ] Import an agent from marketplace and confirm it executes correctly
  - [ ] Edit an agent from monitor, and confirm it executes correctly
</details>

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

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

  - Changing ports
  - Adding new services that need to communicate with each other
  - Secrets or environment variable changes
  - New or infrastructure changes such as databases
</details>
2025-02-03 12:31:33 +00:00
Zamil Majdy
3de982792e fix(backend): Fix broken top-up flow (#9391)
https://github.com/Significant-Gravitas/AutoGPT/pull/9296 caused these
errors:

<img width="440" alt="image"
src="https://github.com/user-attachments/assets/f100619b-1a4c-44fb-b961-e74210894a91"
/>

<img width="411" alt="image"
src="https://github.com/user-attachments/assets/0c1a8aff-b14f-4ea8-8ae9-b8928c8511cf"
/>



### Changes 🏗️

Removed customer email & return_url.

### Checklist 📋

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

<details>
  <summary>Example test plan</summary>
  
  - [ ] Create from scratch and execute an agent with at least 3 blocks
- [ ] Import an agent from file upload, and confirm it executes
correctly
  - [ ] Upload agent to marketplace
- [ ] Import an agent from marketplace and confirm it executes correctly
  - [ ] Edit an agent from monitor, and confirm it executes correctly
</details>

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

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

  - Changing ports
  - Adding new services that need to communicate with each other
  - Secrets or environment variable changes
  - New or infrastructure changes such as databases
</details>
2025-02-03 10:58:48 +00:00
Ethan Lee
24306a16bd Update README.md (#9379)
<!-- Clearly explain the need for these changes: -->

### Changes 🏗️

update backend readme to be more clear on where to run docker

<!-- 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
- [ ] I have made a test plan
- [ ] I have tested my changes according to the test plan:
  <!-- Put your test plan here: -->
  - [ ] ...

<details>
  <summary>Example test plan</summary>
  
  - [ ] Create from scratch and execute an agent with at least 3 blocks
- [ ] Import an agent from file upload, and confirm it executes
correctly
  - [ ] Upload agent to marketplace
- [ ] Import an agent from marketplace and confirm it executes correctly
  - [ ] Edit an agent from monitor, and confirm it executes correctly
</details>

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

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

  - Changing ports
  - Adding new services that need to communicate with each other
  - Secrets or environment variable changes
  - New or infrastructure changes such as databases
</details>
2025-01-30 18:04:58 +00:00
Abhimanyu Yadav
f5bf36cd97 feat(blocks) : Authentication for todoist block (#9319)
- resolves - #9303 

Implement OAuth authentication for Todoist with a basic authentication
mechanism for testing purposes. The basic authentication will be removed
in the next block pr.

> I’ve been using the official Python SDK for Todoist, called
todoist-api-python.
2025-01-30 16:09:00 +00:00
Zamil Majdy
1f83a8c61a feat(platform): Implement User Credit Transaction History (#9291)
<img width="1129" alt="image"
src="https://github.com/user-attachments/assets/94aab319-7755-413b-91e1-4ad1ba383b83"
/>


### Changes 🏗️

Add a transaction history table on the user credits page.

### Checklist 📋

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

<details>
  <summary>Example test plan</summary>
  
  - [ ] Create from scratch and execute an agent with at least 3 blocks
- [ ] Import an agent from file upload, and confirm it executes
correctly
  - [ ] Upload agent to marketplace
- [ ] Import an agent from marketplace and confirm it executes correctly
  - [ ] Edit an agent from monitor, and confirm it executes correctly
</details>

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

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

  - Changing ports
  - Adding new services that need to communicate with each other
  - Secrets or environment variable changes
  - New or infrastructure changes such as databases
</details>

---------

Co-authored-by: Krzysztof Czerwinski <kpczerwinski@gmail.com>
2025-01-30 21:15:04 +07:00
Abhimanyu Yadav
a44c9333d3 feat(block) : Todoist rest api blocks (#9369)
- Resolves - #9303 and #9304
- Depends on - https://github.com/Significant-Gravitas/AutoGPT/pull/9319

### Blocks list

Block Name | What It Does | Manually Tested
-- | -- | --
Todoist Create Label | Creates a new label in Todoist | 
Todoist List Labels | Retrieves all personal labels from Todoist | 
Todoist Get Label | Retrieves a specific label by ID | 
Todoist Create Task | Creates a new task in Todoist | 
Todoist Get Tasks | Retrieves active tasks from Todoist | 
Todoist Update Task | Updates an existing task | 
Todoist Close Task | Completes/closes a task | 
Todoist Reopen Task | Reopens a completed task | 
Todoist Delete Task | Permanently deletes a task | 
Todoist List Projects | Retrieves all projects from Todoist | 
Todoist Create Project | Creates a new project in Todoist | 
Todoist Get Project | Retrieves details for a specific project | 
Todoist Update Project | Updates an existing project | 
Todoist Delete Project | Deletes a project and its contents | 
Todoist List Collaborators | Retrieves collaborators on a project | 
Todoist List Sections | Retrieves sections from Todoist | 
Todoist Get Section | Retrieves details for a specific section | 
Todoist Delete Section | Deletes a section and its tasks | 
Todoist Create Comment | Creates a new comment on a task or project | 
Todoist Get Comments | Retrieves all comments for a task or project | 
Todoist Get Comment | Retrieves a specific comment by ID | 
Todoist Update Comment | Updates an existing comment | 
Todoist Delete Comment | Deletes a comment | 

> I’ve only created action blocks in Todoist because webhooks can only
be manually created [we can't do it programatically right now]. I’ve
already emailed Todoist for help, but they haven’t replied yet. Once I
receive a reply, I’ll create a pull request for webhook triggers in
Todoist.
2025-01-30 13:33:29 +00:00
Nicholas Tindle
b03e3e47a2 feat(blocks): add text replace block (#9366)
<!-- Clearly explain the need for these changes: -->
User in discord requested the replace text block

### Changes 🏗️
- Adds replace text block
<!-- 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] Passed unit tests

Co-authored-by: Bently <tomnoon9@gmail.com>
2025-01-30 09:33:59 +00:00
dependabot[bot]
a4b962462c chore(backend/deps): bump the production-dependencies group across 1 directory with 9 updates (#9364)
Bumps the production-dependencies group with 9 updates in the
/autogpt_platform/backend directory:

| Package | From | To |
| --- | --- | --- |
| [anthropic](https://github.com/anthropics/anthropic-sdk-python) |
`0.40.0` | `0.45.2` |
|
[google-api-python-client](https://github.com/googleapis/google-api-python-client)
| `2.159.0` | `2.160.0` |
| [groq](https://github.com/groq/groq-python) | `0.13.1` | `0.15.0` |
| [openai](https://github.com/openai/openai-python) | `1.60.0` |
`1.60.2` |
| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) |
`0.25.2` | `0.25.3` |
| [sentry-sdk](https://github.com/getsentry/sentry-python) | `2.19.2` |
`2.20.0` |
| [stripe](https://github.com/stripe/stripe-python) | `11.4.1` |
`11.5.0` |
| [supabase](https://github.com/supabase/supabase-py) | `2.11.0` |
`2.12.0` |
| [mem0ai](https://github.com/mem0ai/mem0) | `0.1.44` | `0.1.48` |


Updates `anthropic` from 0.40.0 to 0.45.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/anthropics/anthropic-sdk-python/releases">anthropic's
releases</a>.</em></p>
<blockquote>
<h2>v0.45.2</h2>
<h2>0.45.2 (2025-01-27)</h2>
<p>Full Changelog: <a
href="https://github.com/anthropics/anthropic-sdk-python/compare/v0.45.1...v0.45.2">v0.45.1...v0.45.2</a></p>
<h3>Bug Fixes</h3>
<ul>
<li><strong>streaming:</strong> avoid invalid deser type error (<a
href="https://redirect.github.com/anthropics/anthropic-sdk-python/issues/845">#845</a>)
(<a
href="72a2585680">72a2585</a>)</li>
</ul>
<h2>v0.45.1</h2>
<h2>0.45.1 (2025-01-27)</h2>
<p>Full Changelog: <a
href="https://github.com/anthropics/anthropic-sdk-python/compare/v0.45.0...v0.45.1">v0.45.0...v0.45.1</a></p>
<h3>Bug Fixes</h3>
<ul>
<li><strong>streaming:</strong> accumulate citations (<a
href="https://redirect.github.com/anthropics/anthropic-sdk-python/issues/844">#844</a>)
(<a
href="e665f2fefd">e665f2f</a>)</li>
</ul>
<h3>Chores</h3>
<ul>
<li><strong>docs:</strong> updates (<a
href="https://redirect.github.com/anthropics/anthropic-sdk-python/issues/841">#841</a>)
(<a
href="fb10a7d658">fb10a7d</a>)</li>
</ul>
<h2>v0.45.0</h2>
<h2>0.45.0 (2025-01-23)</h2>
<p>Full Changelog: <a
href="https://github.com/anthropics/anthropic-sdk-python/compare/v0.44.0...v0.45.0">v0.44.0...v0.45.0</a></p>
<h3>Features</h3>
<ul>
<li><strong>api:</strong> add citations (<a
href="https://redirect.github.com/anthropics/anthropic-sdk-python/issues/839">#839</a>)
(<a
href="2ec74b6ff1">2ec74b6</a>)</li>
<li><strong>client:</strong> support results endpoint (<a
href="https://redirect.github.com/anthropics/anthropic-sdk-python/issues/835">#835</a>)
(<a
href="5dd88bf2d2">5dd88bf</a>)</li>
</ul>
<h3>Chores</h3>
<ul>
<li><strong>internal:</strong> minor formatting changes (<a
href="https://redirect.github.com/anthropics/anthropic-sdk-python/issues/838">#838</a>)
(<a
href="31eb826deb">31eb826</a>)</li>
</ul>
<h2>v0.44.0</h2>
<h2>0.44.0 (2025-01-21)</h2>
<p>Full Changelog: <a
href="https://github.com/anthropics/anthropic-sdk-python/compare/v0.43.1...v0.44.0">v0.43.1...v0.44.0</a></p>
<h3>Features</h3>
<ul>
<li><strong>streaming:</strong> add request_id getter (<a
href="https://redirect.github.com/anthropics/anthropic-sdk-python/issues/831">#831</a>)
(<a
href="fb397e0851">fb397e0</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/anthropics/anthropic-sdk-python/blob/main/CHANGELOG.md">anthropic's
changelog</a>.</em></p>
<blockquote>
<h2>0.45.2 (2025-01-27)</h2>
<p>Full Changelog: <a
href="https://github.com/anthropics/anthropic-sdk-python/compare/v0.45.1...v0.45.2">v0.45.1...v0.45.2</a></p>
<h3>Bug Fixes</h3>
<ul>
<li><strong>streaming:</strong> avoid invalid deser type error (<a
href="https://redirect.github.com/anthropics/anthropic-sdk-python/issues/845">#845</a>)
(<a
href="72a2585680">72a2585</a>)</li>
</ul>
<h2>0.45.1 (2025-01-27)</h2>
<p>Full Changelog: <a
href="https://github.com/anthropics/anthropic-sdk-python/compare/v0.45.0...v0.45.1">v0.45.0...v0.45.1</a></p>
<h3>Bug Fixes</h3>
<ul>
<li><strong>streaming:</strong> accumulate citations (<a
href="https://redirect.github.com/anthropics/anthropic-sdk-python/issues/844">#844</a>)
(<a
href="e665f2fefd">e665f2f</a>)</li>
</ul>
<h3>Chores</h3>
<ul>
<li><strong>docs:</strong> updates (<a
href="https://redirect.github.com/anthropics/anthropic-sdk-python/issues/841">#841</a>)
(<a
href="fb10a7d658">fb10a7d</a>)</li>
</ul>
<h2>0.45.0 (2025-01-23)</h2>
<p>Full Changelog: <a
href="https://github.com/anthropics/anthropic-sdk-python/compare/v0.44.0...v0.45.0">v0.44.0...v0.45.0</a></p>
<h3>Features</h3>
<ul>
<li><strong>api:</strong> add citations (<a
href="https://redirect.github.com/anthropics/anthropic-sdk-python/issues/839">#839</a>)
(<a
href="2ec74b6ff1">2ec74b6</a>)</li>
<li><strong>client:</strong> support results endpoint (<a
href="https://redirect.github.com/anthropics/anthropic-sdk-python/issues/835">#835</a>)
(<a
href="5dd88bf2d2">5dd88bf</a>)</li>
</ul>
<h3>Chores</h3>
<ul>
<li><strong>internal:</strong> minor formatting changes (<a
href="https://redirect.github.com/anthropics/anthropic-sdk-python/issues/838">#838</a>)
(<a
href="31eb826deb">31eb826</a>)</li>
</ul>
<h2>0.44.0 (2025-01-21)</h2>
<p>Full Changelog: <a
href="https://github.com/anthropics/anthropic-sdk-python/compare/v0.43.1...v0.44.0">v0.43.1...v0.44.0</a></p>
<h3>Features</h3>
<ul>
<li><strong>streaming:</strong> add request_id getter (<a
href="https://redirect.github.com/anthropics/anthropic-sdk-python/issues/831">#831</a>)
(<a
href="fb397e0851">fb397e0</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li><strong>tests:</strong> make test_get_platform less flaky (<a
href="https://redirect.github.com/anthropics/anthropic-sdk-python/issues/830">#830</a>)
(<a
href="f2c10cae0c">f2c10ca</a>)</li>
</ul>
<h3>Chores</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="0f9ccca8e2"><code>0f9ccca</code></a>
release: 0.45.2</li>
<li><a
href="37acfbcda5"><code>37acfbc</code></a>
fix(streaming): avoid invalid deser type error (<a
href="https://redirect.github.com/anthropics/anthropic-sdk-python/issues/845">#845</a>)</li>
<li><a
href="d0f98a4e6b"><code>d0f98a4</code></a>
release: 0.45.1</li>
<li><a
href="872c614851"><code>872c614</code></a>
fix(streaming): accumulate citations (<a
href="https://redirect.github.com/anthropics/anthropic-sdk-python/issues/844">#844</a>)</li>
<li><a
href="14bf8fe88f"><code>14bf8fe</code></a>
chore(docs): updates (<a
href="https://redirect.github.com/anthropics/anthropic-sdk-python/issues/841">#841</a>)</li>
<li><a
href="c5102baffb"><code>c5102ba</code></a>
release: 0.45.0</li>
<li><a
href="67aa83e5d5"><code>67aa83e</code></a>
feat(api): add citations (<a
href="https://redirect.github.com/anthropics/anthropic-sdk-python/issues/839">#839</a>)</li>
<li><a
href="bb1f52bfba"><code>bb1f52b</code></a>
chore(internal): minor formatting changes (<a
href="https://redirect.github.com/anthropics/anthropic-sdk-python/issues/838">#838</a>)</li>
<li><a
href="4b9140284b"><code>4b91402</code></a>
feat(client): support results endpoint (<a
href="https://redirect.github.com/anthropics/anthropic-sdk-python/issues/835">#835</a>)</li>
<li><a
href="d212ec9f6d"><code>d212ec9</code></a>
release: 0.44.0</li>
<li>Additional commits viewable in <a
href="https://github.com/anthropics/anthropic-sdk-python/compare/v0.40.0...v0.45.2">compare
view</a></li>
</ul>
</details>
<br />

Updates `google-api-python-client` from 2.159.0 to 2.160.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/googleapis/google-api-python-client/releases">google-api-python-client's
releases</a>.</em></p>
<blockquote>
<h2>v2.160.0</h2>
<h2><a
href="https://github.com/googleapis/google-api-python-client/compare/v2.159.0...v2.160.0">2.160.0</a>
(2025-01-21)</h2>
<h3>Features</h3>
<ul>
<li><strong>accesscontextmanager:</strong> Update the api <a
href="8b40ee6938</a>
(<a
href="165d3b5ad0">165d3b5</a>)</li>
<li><strong>adsenseplatform:</strong> Update the api <a
href="04355c7c7c</a>
(<a
href="165d3b5ad0">165d3b5</a>)</li>
<li><strong>aiplatform:</strong> Update the api <a
href="24228d4886</a>
(<a
href="165d3b5ad0">165d3b5</a>)</li>
<li><strong>analyticsadmin:</strong> Update the api <a
href="dff2a84a82</a>
(<a
href="165d3b5ad0">165d3b5</a>)</li>
<li><strong>analyticshub:</strong> Update the api <a
href="0208b0b028</a>
(<a
href="165d3b5ad0">165d3b5</a>)</li>
<li><strong>androidenterprise:</strong> Update the api <a
href="b7865bd3ff</a>
(<a
href="165d3b5ad0">165d3b5</a>)</li>
<li><strong>classroom:</strong> Update the api <a
href="ef72b5f7f9</a>
(<a
href="165d3b5ad0">165d3b5</a>)</li>
<li><strong>cloudbuild:</strong> Update the api <a
href="41e76d1b7e</a>
(<a
href="165d3b5ad0">165d3b5</a>)</li>
<li><strong>compute:</strong> Update the api <a
href="48c508dffa</a>
(<a
href="165d3b5ad0">165d3b5</a>)</li>
<li><strong>dialogflow:</strong> Update the api <a
href="6c3ff85115</a>
(<a
href="165d3b5ad0">165d3b5</a>)</li>
<li><strong>discoveryengine:</strong> Update the api <a
href="9afd49fbbf</a>
(<a
href="165d3b5ad0">165d3b5</a>)</li>
<li><strong>displayvideo:</strong> Update the api <a
href="63b01f3147</a>
(<a
href="165d3b5ad0">165d3b5</a>)</li>
<li><strong>file:</strong> Update the api <a
href="e7bf3e1cc7</a>
(<a
href="165d3b5ad0">165d3b5</a>)</li>
<li><strong>gkehub:</strong> Update the api <a
href="aa81a39a6f</a>
(<a
href="165d3b5ad0">165d3b5</a>)</li>
<li><strong>integrations:</strong> Update the api <a
href="da21dd8beb</a>
(<a
href="165d3b5ad0">165d3b5</a>)</li>
<li><strong>merchantapi:</strong> Update the api <a
href="c66e25ffad</a>
(<a
href="165d3b5ad0">165d3b5</a>)</li>
<li><strong>migrationcenter:</strong> Update the api <a
href="06c1759266</a>
(<a
href="165d3b5ad0">165d3b5</a>)</li>
<li><strong>monitoring:</strong> Update the api <a
href="6d1dc83375</a>
(<a
href="165d3b5ad0">165d3b5</a>)</li>
<li><strong>netapp:</strong> Update the api <a
href="628b723392</a>
(<a
href="165d3b5ad0">165d3b5</a>)</li>
<li><strong>networkmanagement:</strong> Update the api <a
href="45d70c19e9</a>
(<a
href="165d3b5ad0">165d3b5</a>)</li>
<li><strong>redis:</strong> Update the api <a
href="a866933256</a>
(<a
href="165d3b5ad0">165d3b5</a>)</li>
<li><strong>spanner:</strong> Update the api <a
href="9540ac50fc</a>
(<a
href="165d3b5ad0">165d3b5</a>)</li>
<li><strong>websecurityscanner:</strong> Update the api <a
href="5eae43739b</a>
(<a
href="165d3b5ad0">165d3b5</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li><strong>secretmanager:</strong> Update the api <a
href="477de50ccc</a>
(<a
href="165d3b5ad0">165d3b5</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="6ba5c06d12"><code>6ba5c06</code></a>
chore(main): release 2.160.0 (<a
href="https://redirect.github.com/googleapis/google-api-python-client/issues/2552">#2552</a>)</li>
<li><a
href="165d3b5ad0"><code>165d3b5</code></a>
chore: Update discovery artifacts (<a
href="https://redirect.github.com/googleapis/google-api-python-client/issues/2551">#2551</a>)</li>
<li><a
href="f4b3014212"><code>f4b3014</code></a>
chore(python): exclude .github/workflows/unittest.yml in renovate config
(<a
href="https://redirect.github.com/googleapis/google-api-python-client/issues/2546">#2546</a>)</li>
<li>See full diff in <a
href="https://github.com/googleapis/google-api-python-client/compare/v2.159.0...v2.160.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `groq` from 0.13.1 to 0.15.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/groq/groq-python/releases">groq's
releases</a>.</em></p>
<blockquote>
<h2>v0.15.0</h2>
<h2>0.15.0 (2025-01-11)</h2>
<p>Full Changelog: <a
href="https://github.com/groq/groq-python/compare/v0.14.0...v0.15.0">v0.14.0...v0.15.0</a></p>
<h3>Features</h3>
<ul>
<li><strong>api:</strong> api update (<a
href="https://redirect.github.com/groq/groq-python/issues/175">#175</a>)
(<a
href="61cffbc78a">61cffbc</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>correctly handle deserialising <code>cls</code> fields (<a
href="https://redirect.github.com/groq/groq-python/issues/174">#174</a>)
(<a
href="0b2e997ce4">0b2e997</a>)</li>
</ul>
<h3>Chores</h3>
<ul>
<li><strong>internal:</strong> codegen related update (<a
href="https://redirect.github.com/groq/groq-python/issues/172">#172</a>)
(<a
href="d6ecadaa24">d6ecada</a>)</li>
</ul>
<h2>v0.14.0</h2>
<h2>0.14.0 (2025-01-09)</h2>
<p>Full Changelog: <a
href="https://github.com/groq/groq-python/compare/v0.13.1...v0.14.0">v0.13.1...v0.14.0</a></p>
<h3>Features</h3>
<ul>
<li><strong>api:</strong> api update (<a
href="https://redirect.github.com/groq/groq-python/issues/163">#163</a>)
(<a
href="43a7a5b048">43a7a5b</a>)</li>
<li><strong>api:</strong> api update (<a
href="https://redirect.github.com/groq/groq-python/issues/167">#167</a>)
(<a
href="5016206e46">5016206</a>)</li>
<li><strong>api:</strong> api update (<a
href="https://redirect.github.com/groq/groq-python/issues/170">#170</a>)
(<a
href="2b35e952e1">2b35e95</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li><strong>client:</strong> only call .close() when needed (<a
href="https://redirect.github.com/groq/groq-python/issues/169">#169</a>)
(<a
href="6a0ec576de">6a0ec57</a>)</li>
</ul>
<h3>Chores</h3>
<ul>
<li>add missing isclass check (<a
href="https://redirect.github.com/groq/groq-python/issues/166">#166</a>)
(<a
href="9cb1e72737">9cb1e72</a>)</li>
<li><strong>internal:</strong> bump httpx dependency (<a
href="https://redirect.github.com/groq/groq-python/issues/168">#168</a>)
(<a
href="c260ae969c">c260ae9</a>)</li>
<li><strong>internal:</strong> codegen related update (<a
href="https://redirect.github.com/groq/groq-python/issues/158">#158</a>)
(<a
href="85b5765b2b">85b5765</a>)</li>
<li><strong>internal:</strong> codegen related update (<a
href="https://redirect.github.com/groq/groq-python/issues/160">#160</a>)
(<a
href="8b87c4d657">8b87c4d</a>)</li>
<li><strong>internal:</strong> codegen related update (<a
href="https://redirect.github.com/groq/groq-python/issues/164">#164</a>)
(<a
href="d7b6be5f4b">d7b6be5</a>)</li>
<li><strong>internal:</strong> fix some typos (<a
href="https://redirect.github.com/groq/groq-python/issues/162">#162</a>)
(<a
href="32482ae691">32482ae</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li><strong>readme:</strong> example snippet for client context manager
(<a
href="https://redirect.github.com/groq/groq-python/issues/161">#161</a>)
(<a
href="b7bfd15768">b7bfd15</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/groq/groq-python/blob/main/CHANGELOG.md">groq's
changelog</a>.</em></p>
<blockquote>
<h2>0.15.0 (2025-01-11)</h2>
<p>Full Changelog: <a
href="https://github.com/groq/groq-python/compare/v0.14.0...v0.15.0">v0.14.0...v0.15.0</a></p>
<h3>Features</h3>
<ul>
<li><strong>api:</strong> api update (<a
href="https://redirect.github.com/groq/groq-python/issues/175">#175</a>)
(<a
href="61cffbc78a">61cffbc</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>correctly handle deserialising <code>cls</code> fields (<a
href="https://redirect.github.com/groq/groq-python/issues/174">#174</a>)
(<a
href="0b2e997ce4">0b2e997</a>)</li>
</ul>
<h3>Chores</h3>
<ul>
<li><strong>internal:</strong> codegen related update (<a
href="https://redirect.github.com/groq/groq-python/issues/172">#172</a>)
(<a
href="d6ecadaa24">d6ecada</a>)</li>
</ul>
<h2>0.14.0 (2025-01-09)</h2>
<p>Full Changelog: <a
href="https://github.com/groq/groq-python/compare/v0.13.1...v0.14.0">v0.13.1...v0.14.0</a></p>
<h3>Features</h3>
<ul>
<li><strong>api:</strong> api update (<a
href="https://redirect.github.com/groq/groq-python/issues/163">#163</a>)
(<a
href="43a7a5b048">43a7a5b</a>)</li>
<li><strong>api:</strong> api update (<a
href="https://redirect.github.com/groq/groq-python/issues/167">#167</a>)
(<a
href="5016206e46">5016206</a>)</li>
<li><strong>api:</strong> api update (<a
href="https://redirect.github.com/groq/groq-python/issues/170">#170</a>)
(<a
href="2b35e952e1">2b35e95</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li><strong>client:</strong> only call .close() when needed (<a
href="https://redirect.github.com/groq/groq-python/issues/169">#169</a>)
(<a
href="6a0ec576de">6a0ec57</a>)</li>
</ul>
<h3>Chores</h3>
<ul>
<li>add missing isclass check (<a
href="https://redirect.github.com/groq/groq-python/issues/166">#166</a>)
(<a
href="9cb1e72737">9cb1e72</a>)</li>
<li><strong>internal:</strong> bump httpx dependency (<a
href="https://redirect.github.com/groq/groq-python/issues/168">#168</a>)
(<a
href="c260ae969c">c260ae9</a>)</li>
<li><strong>internal:</strong> codegen related update (<a
href="https://redirect.github.com/groq/groq-python/issues/158">#158</a>)
(<a
href="85b5765b2b">85b5765</a>)</li>
<li><strong>internal:</strong> codegen related update (<a
href="https://redirect.github.com/groq/groq-python/issues/160">#160</a>)
(<a
href="8b87c4d657">8b87c4d</a>)</li>
<li><strong>internal:</strong> codegen related update (<a
href="https://redirect.github.com/groq/groq-python/issues/164">#164</a>)
(<a
href="d7b6be5f4b">d7b6be5</a>)</li>
<li><strong>internal:</strong> fix some typos (<a
href="https://redirect.github.com/groq/groq-python/issues/162">#162</a>)
(<a
href="32482ae691">32482ae</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li><strong>readme:</strong> example snippet for client context manager
(<a
href="https://redirect.github.com/groq/groq-python/issues/161">#161</a>)
(<a
href="b7bfd15768">b7bfd15</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="2b91340106"><code>2b91340</code></a>
release: 0.15.0 (<a
href="https://redirect.github.com/groq/groq-python/issues/173">#173</a>)</li>
<li><a
href="f6e2c46aa4"><code>f6e2c46</code></a>
release: 0.14.0 (<a
href="https://redirect.github.com/groq/groq-python/issues/159">#159</a>)</li>
<li>See full diff in <a
href="https://github.com/groq/groq-python/compare/v0.13.1...v0.15.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `openai` from 1.60.0 to 1.60.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/openai/openai-python/releases">openai's
releases</a>.</em></p>
<blockquote>
<h2>v1.60.2</h2>
<h2>1.60.2 (2025-01-27)</h2>
<p>Full Changelog: <a
href="https://github.com/openai/openai-python/compare/v1.60.1...v1.60.2">v1.60.1...v1.60.2</a></p>
<h3>Bug Fixes</h3>
<ul>
<li><strong>parsing:</strong> don't validate input tools in the
asynchronous <code>.parse()</code> method (<a
href="6fcfe73cd3">6fcfe73</a>)</li>
</ul>
<h2>v1.60.1</h2>
<h2>1.60.1 (2025-01-24)</h2>
<p>Full Changelog: <a
href="https://github.com/openai/openai-python/compare/v1.60.0...v1.60.1">v1.60.0...v1.60.1</a></p>
<h3>Chores</h3>
<ul>
<li><strong>internal:</strong> minor formatting changes (<a
href="https://redirect.github.com/openai/openai-python/issues/2050">#2050</a>)
(<a
href="9c44192be5">9c44192</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li><strong>examples/azure:</strong> add async snippet (<a
href="https://redirect.github.com/openai/openai-python/issues/1787">#1787</a>)
(<a
href="f60eda1c1e">f60eda1</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/openai/openai-python/blob/main/CHANGELOG.md">openai's
changelog</a>.</em></p>
<blockquote>
<h2>1.60.2 (2025-01-27)</h2>
<p>Full Changelog: <a
href="https://github.com/openai/openai-python/compare/v1.60.1...v1.60.2">v1.60.1...v1.60.2</a></p>
<h3>Bug Fixes</h3>
<ul>
<li><strong>parsing:</strong> don't validate input tools in the
asynchronous <code>.parse()</code> method (<a
href="6fcfe73cd3">6fcfe73</a>)</li>
</ul>
<h2>1.60.1 (2025-01-24)</h2>
<p>Full Changelog: <a
href="https://github.com/openai/openai-python/compare/v1.60.0...v1.60.1">v1.60.0...v1.60.1</a></p>
<h3>Chores</h3>
<ul>
<li><strong>internal:</strong> minor formatting changes (<a
href="https://redirect.github.com/openai/openai-python/issues/2050">#2050</a>)
(<a
href="9c44192be5">9c44192</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li><strong>examples/azure:</strong> add async snippet (<a
href="https://redirect.github.com/openai/openai-python/issues/1787">#1787</a>)
(<a
href="f60eda1c1e">f60eda1</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d16e6edde5"><code>d16e6ed</code></a>
release: 1.60.2</li>
<li><a
href="257d79e8a0"><code>257d79e</code></a>
fix(parsing): don't validate input tools in the asynchronous
<code>.parse()</code> method</li>
<li><a
href="b95be16e7c"><code>b95be16</code></a>
release: 1.60.1</li>
<li><a
href="27d0e67b1d"><code>27d0e67</code></a>
chore(internal): minor formatting changes (<a
href="https://redirect.github.com/openai/openai-python/issues/2050">#2050</a>)</li>
<li><a
href="abc5459c75"><code>abc5459</code></a>
docs(examples/azure): add async snippet (<a
href="https://redirect.github.com/openai/openai-python/issues/1787">#1787</a>)</li>
<li>See full diff in <a
href="https://github.com/openai/openai-python/compare/v1.60.0...v1.60.2">compare
view</a></li>
</ul>
</details>
<br />

Updates `pytest-asyncio` from 0.25.2 to 0.25.3
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pytest-dev/pytest-asyncio/releases">pytest-asyncio's
releases</a>.</em></p>
<blockquote>
<h2>pytest-asyncio 0.25.3</h2>
<ul>
<li>Avoid errors in cleanup of async generators when event loop is
already closed <a
href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1040">#1040</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="7c501923b0"><code>7c50192</code></a>
fix: Avoid errors in cleanup of async generators when event loop is
already c...</li>
<li>See full diff in <a
href="https://github.com/pytest-dev/pytest-asyncio/compare/v0.25.2...v0.25.3">compare
view</a></li>
</ul>
</details>
<br />

Updates `sentry-sdk` from 2.19.2 to 2.20.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/getsentry/sentry-python/releases">sentry-sdk's
releases</a>.</em></p>
<blockquote>
<h2>2.20.0</h2>
<ul>
<li>
<p><strong>New integration:</strong> Add <a
href="https://typer.tiangolo.com/">Typer</a> integration (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3869">#3869</a>)
by <a
href="https://github.com/patrick91"><code>@​patrick91</code></a></p>
<p>For more information, see the documentation for the <a
href="https://docs.sentry.io/platforms/python/integrations/typer/">TyperIntegration</a>.</p>
</li>
<li>
<p><strong>New integration:</strong> Add <a
href="https://www.getunleash.io/">Unleash</a> feature flagging
integration (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3888">#3888</a>)
by <a href="https://github.com/aliu39"><code>@​aliu39</code></a></p>
<p>For more information, see the documentation for the <a
href="https://docs.sentry.io/platforms/python/integrations/unleash/">UnleashIntegration</a>.</p>
</li>
<li>
<p>Add custom tracking of feature flag evaluations (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3860">#3860</a>)
by <a href="https://github.com/aliu39"><code>@​aliu39</code></a></p>
</li>
<li>
<p>Feature Flags: Register LD hook in setup instead of init, and don't
check for initialization (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3890">#3890</a>)
by <a href="https://github.com/aliu39"><code>@​aliu39</code></a></p>
</li>
<li>
<p>Feature Flags: Moved adding of <code>flags</code> context into Scope
(<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3917">#3917</a>)
by <a
href="https://github.com/antonpirker"><code>@​antonpirker</code></a></p>
</li>
<li>
<p>Create a separate group for feature flag test suites (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3911">#3911</a>)
by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a></p>
</li>
<li>
<p>Fix flaky LaunchDarkly tests (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3896">#3896</a>)
by <a href="https://github.com/aliu39"><code>@​aliu39</code></a></p>
</li>
<li>
<p>Fix LRU cache copying (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3883">#3883</a>)
by <a href="https://github.com/ffelixg"><code>@​ffelixg</code></a></p>
</li>
<li>
<p>Fix cache pollution from mutable reference (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3887">#3887</a>)
by <a
href="https://github.com/cmanallen"><code>@​cmanallen</code></a></p>
</li>
<li>
<p>Centralize minimum version checking (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3910">#3910</a>)
by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a></p>
</li>
<li>
<p>Support SparkIntegration activation after SparkContext created (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3411">#3411</a>)
by <a
href="https://github.com/seyoon-lim"><code>@​seyoon-lim</code></a></p>
</li>
<li>
<p>Preserve ARQ enqueue_job <strong>kwdefaults</strong> after patching
(<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3903">#3903</a>)
by <a href="https://github.com/danmr"><code>@​danmr</code></a></p>
</li>
<li>
<p>Add Github workflow to comment on issues when a fix was released (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3866">#3866</a>)
by <a
href="https://github.com/antonpirker"><code>@​antonpirker</code></a></p>
</li>
<li>
<p>Update test matrix for Sanic (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3904">#3904</a>)
by <a
href="https://github.com/antonpirker"><code>@​antonpirker</code></a></p>
</li>
<li>
<p>Rename scripts (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3885">#3885</a>)
by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a></p>
</li>
<li>
<p>Fix CI (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3878">#3878</a>)
by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a></p>
</li>
<li>
<p>Treat <code>potel-base</code> as release branch in CI (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3912">#3912</a>)
by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a></p>
</li>
<li>
<p>build(deps): bump actions/create-github-app-token from 1.11.0 to
1.11.1 (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3893">#3893</a>)
by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a></p>
</li>
<li>
<p>build(deps): bump codecov/codecov-action from 5.0.7 to 5.1.1 (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3867">#3867</a>)
by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a></p>
</li>
<li>
<p>build(deps): bump codecov/codecov-action from 5.1.1 to 5.1.2 (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3892">#3892</a>)
by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a></p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md">sentry-sdk's
changelog</a>.</em></p>
<blockquote>
<h2>2.20.0</h2>
<ul>
<li>
<p><strong>New integration:</strong> Add <a
href="https://typer.tiangolo.com/">Typer</a> integration (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3869">#3869</a>)
by <a
href="https://github.com/patrick91"><code>@​patrick91</code></a></p>
<p>For more information, see the documentation for the <a
href="https://docs.sentry.io/platforms/python/integrations/typer/">TyperIntegration</a>.</p>
</li>
<li>
<p><strong>New integration:</strong> Add <a
href="https://www.getunleash.io/">Unleash</a> feature flagging
integration (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3888">#3888</a>)
by <a href="https://github.com/aliu39"><code>@​aliu39</code></a></p>
<p>For more information, see the documentation for the <a
href="https://docs.sentry.io/platforms/python/integrations/unleash/">UnleashIntegration</a>.</p>
</li>
<li>
<p>Add custom tracking of feature flag evaluations (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3860">#3860</a>)
by <a href="https://github.com/aliu39"><code>@​aliu39</code></a></p>
</li>
<li>
<p>Feature Flags: Register LD hook in setup instead of init, and don't
check for initialization (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3890">#3890</a>)
by <a href="https://github.com/aliu39"><code>@​aliu39</code></a></p>
</li>
<li>
<p>Feature Flags: Moved adding of <code>flags</code> context into Scope
(<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3917">#3917</a>)
by <a
href="https://github.com/antonpirker"><code>@​antonpirker</code></a></p>
</li>
<li>
<p>Create a separate group for feature flag test suites (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3911">#3911</a>)
by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a></p>
</li>
<li>
<p>Fix flaky LaunchDarkly tests (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3896">#3896</a>)
by <a href="https://github.com/aliu39"><code>@​aliu39</code></a></p>
</li>
<li>
<p>Fix LRU cache copying (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3883">#3883</a>)
by <a href="https://github.com/ffelixg"><code>@​ffelixg</code></a></p>
</li>
<li>
<p>Fix cache pollution from mutable reference (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3887">#3887</a>)
by <a
href="https://github.com/cmanallen"><code>@​cmanallen</code></a></p>
</li>
<li>
<p>Centralize minimum version checking (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3910">#3910</a>)
by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a></p>
</li>
<li>
<p>Support SparkIntegration activation after SparkContext created (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3411">#3411</a>)
by <a
href="https://github.com/seyoon-lim"><code>@​seyoon-lim</code></a></p>
</li>
<li>
<p>Preserve ARQ enqueue_job <strong>kwdefaults</strong> after patching
(<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3903">#3903</a>)
by <a href="https://github.com/danmr"><code>@​danmr</code></a></p>
</li>
<li>
<p>Add Github workflow to comment on issues when a fix was released (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3866">#3866</a>)
by <a
href="https://github.com/antonpirker"><code>@​antonpirker</code></a></p>
</li>
<li>
<p>Update test matrix for Sanic (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3904">#3904</a>)
by <a
href="https://github.com/antonpirker"><code>@​antonpirker</code></a></p>
</li>
<li>
<p>Rename scripts (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3885">#3885</a>)
by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a></p>
</li>
<li>
<p>Fix CI (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3878">#3878</a>)
by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a></p>
</li>
<li>
<p>Treat <code>potel-base</code> as release branch in CI (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3912">#3912</a>)
by <a
href="https://github.com/sentrivana"><code>@​sentrivana</code></a></p>
</li>
<li>
<p>build(deps): bump actions/create-github-app-token from 1.11.0 to
1.11.1 (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3893">#3893</a>)
by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a></p>
</li>
<li>
<p>build(deps): bump codecov/codecov-action from 5.0.7 to 5.1.1 (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3867">#3867</a>)
by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a></p>
</li>
<li>
<p>build(deps): bump codecov/codecov-action from 5.1.1 to 5.1.2 (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3892">#3892</a>)
by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a></p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="4e0505ea5c"><code>4e0505e</code></a>
Updated changelog</li>
<li><a
href="ca68a7f3fb"><code>ca68a7f</code></a>
release: 2.20.0</li>
<li><a
href="2ee194c0d4"><code>2ee194c</code></a>
feat(flags): remove Unleash get_variant patching code (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3914">#3914</a>)</li>
<li><a
href="288f69a962"><code>288f69a</code></a>
Moved adding of <code>flags</code> context into Scope (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3917">#3917</a>)</li>
<li><a
href="9f9ff345c6"><code>9f9ff34</code></a>
tests: Create a separate group for feature flag suites (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3911">#3911</a>)</li>
<li><a
href="fa241c3425"><code>fa241c3</code></a>
Treat potel-base as release branch in CI (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3912">#3912</a>)</li>
<li><a
href="be5327356f"><code>be53273</code></a>
Centralize minimum version checking (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3910">#3910</a>)</li>
<li><a
href="4432e26a45"><code>4432e26</code></a>
Small contribution docs update (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3909">#3909</a>)</li>
<li><a
href="c6a89d64db"><code>c6a89d6</code></a>
feat(flags): add Unleash feature flagging integration (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3888">#3888</a>)</li>
<li><a
href="bf65ede421"><code>bf65ede</code></a>
ref(flags): Beter naming for featureflags module and identifier (<a
href="https://redirect.github.com/getsentry/sentry-python/issues/3902">#3902</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/getsentry/sentry-python/compare/2.19.2...2.20.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `stripe` from 11.4.1 to 11.5.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/stripe/stripe-python/releases">stripe's
releases</a>.</em></p>
<blockquote>
<h2>v11.5.0</h2>
<h2>11.5.0 - 2025-01-27</h2>
<ul>
<li><a
href="https://redirect.github.com/stripe/stripe-python/pull/1443">#1443</a>
Update generated code
<ul>
<li>Add support for <code>pay_by_bank_payments</code> on resource class
<code>stripe.Account.Capabilities</code> and parameter class
<code>stripe.Account.CreateParamsCapabilities</code></li>
<li>Add support for <code>directorship_declaration</code> on resource
class <code>stripe.Account.Company</code> and parameter classes
<code>stripe.Account.CreateParamsCompany</code> and
<code>stripe.Token.CreateParamsAccountCompany</code></li>
<li>Add support for <code>ownership_exemption_reason</code> on resource
class <code>stripe.Account.Company</code> and parameter classes
<code>stripe.Account.CreateParamsCompany</code> and
<code>stripe.Token.CreateParamsAccountCompany</code></li>
<li>Add support for <code>proof_of_ultimate_beneficial_ownership</code>
on parameter class
<code>stripe.Account.CreateParamsDocuments</code></li>
<li>Add support for <code>financial_account</code> on resource classes
<code>stripe.AccountSession.Components</code> and
<code>stripe.treasury.OutboundTransfer.DestinationPaymentMethodDetails</code>
and parameter class
<code>stripe.AccountSession.CreateParamsComponents</code></li>
<li>Add support for <code>issuing_card</code> on resource class
<code>stripe.AccountSession.Components</code> and parameter class
<code>stripe.AccountSession.CreateParamsComponents</code></li>
<li>Add support for <code>advice_code</code> on resource classes
<code>stripe.Charge.Outcome</code>,
<code>stripe.Invoice.LastFinalizationError</code>,
<code>stripe.PaymentIntent.LastPaymentError</code>,
<code>stripe.SetupAttempt.SetupError</code>, and
<code>stripe.SetupIntent.LastSetupError</code></li>
<li>Add support for <code>country</code> on resource classes
<code>stripe.Charge.PaymentMethodDetails.Paypal</code>,
<code>stripe.ConfirmationToken.PaymentMethodPreview.Paypal</code>, and
<code>stripe.PaymentMethod.Paypal</code></li>
<li>Add support for <code>pay_by_bank</code> on resource classes
<code>stripe.Charge.PaymentMethodDetails</code>,
<code>stripe.ConfirmationToken.PaymentMethodPreview</code>, and
<code>stripe.PaymentIntent.PaymentMethodOptions</code>, parameter
classes
<code>stripe.ConfirmationToken.CreateParamsPaymentMethodData</code>,
<code>stripe.PaymentIntent.ConfirmParamsPaymentMethodData</code>,
<code>stripe.PaymentIntent.ConfirmParamsPaymentMethodOptions</code>,
<code>stripe.PaymentIntent.CreateParamsPaymentMethodData</code>,
<code>stripe.PaymentIntent.CreateParamsPaymentMethodOptions</code>,
<code>stripe.PaymentIntent.ModifyParamsPaymentMethodData</code>,
<code>stripe.PaymentIntent.ModifyParamsPaymentMethodOptions</code>,
<code>stripe.PaymentMethod.CreateParams</code>,
<code>stripe.PaymentMethod.ModifyParams</code>,
<code>stripe.PaymentMethodConfiguration.CreateParams</code>,
<code>stripe.PaymentMethodConfiguration.ModifyParams</code>,
<code>stripe.SetupIntent.ConfirmParamsPaymentMethodData</code>,
<code>stripe.SetupIntent.CreateParamsPaymentMethodData</code>,
<code>stripe.SetupIntent.ModifyParamsPaymentMethodData</code>, and
<code>stripe.checkout.Session.CreateParamsPaymentMethodOptions</code>,
and resources <code>stripe.PaymentMethod</code> and
<code>stripe.PaymentMethodConfiguration</code></li>
<li>Add support for <code>phone_number_collection</code> on parameter
class <code>stripe.PaymentLink.ModifyParams</code></li>
<li>Add support for <code>discounts</code> on resource
<code>stripe.checkout.Session</code></li>
<li>Add support for <code>jpy</code> on parameter classes
<code>stripe.terminal.Configuration.CreateParamsTipping</code> and
<code>stripe.terminal.Configuration.ModifyParamsTipping</code> and
resource class <code>stripe.terminal.Configuration.Tipping</code></li>
<li>Add support for <code>nickname</code> on parameter classes
<code>stripe.treasury.FinancialAccount.CreateParams</code> and
<code>stripe.treasury.FinancialAccount.ModifyParams</code> and resource
<code>stripe.treasury.FinancialAccount</code></li>
<li>Add support for <code>forwarding_settings</code> on parameter class
<code>stripe.treasury.FinancialAccount.ModifyParams</code></li>
<li>Add support for <code>_cls_close</code> on resource
<code>stripe.treasury.FinancialAccount</code></li>
<li>Add support for <code>close</code> on resource
<code>stripe.treasury.FinancialAccount</code></li>
<li>Add support for <code>is_default</code> on resource
<code>stripe.treasury.FinancialAccount</code></li>
<li>Add support for <code>destination_payment_method_data</code> on
parameter class
<code>stripe.treasury.OutboundTransfer.CreateParams</code></li>
<li>Add support for <code>outbound_transfer</code> on resource class
<code>stripe.treasury.ReceivedCredit.LinkedFlows.SourceFlowDetails</code></li>
<li>Add support for <code>SD</code> on enums
<code>stripe.checkout.Session.ShippingAddressCollection.allowed_countries</code>,
<code>stripe.checkout.Session.CreateParamsShippingAddressCollection.allowed_countries</code>,
<code>stripe.PaymentLink.ShippingAddressCollection.allowed_countries</code>,
<code>stripe.PaymentLink.CreateParamsShippingAddressCollection.allowed_countries</code>,
and
<code>stripe.PaymentLink.ModifyParamsShippingAddressCollection.allowed_countries</code></li>
<li>Add support for <code>pay_by_bank</code> on enums
<code>stripe.checkout.Session.CreateParams.payment_method_types</code>,
<code>stripe.ConfirmationToken.PaymentMethodPreview.type</code>,
<code>stripe.ConfirmationToken.CreateParamsPaymentMethodData.type</code>,
<code>stripe.Customer.ListPaymentMethodsParams.type</code>,
<code>stripe.PaymentIntent.ConfirmParamsPaymentMethodData.type</code>,
<code>stripe.PaymentIntent.CreateParamsPaymentMethodData.type</code>,
<code>stripe.PaymentIntent.ModifyParamsPaymentMethodData.type</code>,
<code>stripe.PaymentLink.payment_method_types</code>,
<code>stripe.PaymentLink.CreateParams.payment_method_types</code>,
<code>stripe.PaymentLink.ModifyParams.payment_method_types</code>,
<code>stripe.PaymentMethod.type</code>,
<code>stripe.PaymentMethod.CreateParams.type</code>,
<code>stripe.PaymentMethod.ListParams.type</code>,
<code>stripe.SetupIntent.ConfirmParamsPaymentMethodData.type</code>,
<code>stripe.SetupIntent.CreateParamsPaymentMethodData.type</code>, and
<code>stripe.SetupIntent.ModifyParamsPaymentMethodData.type</code></li>
<li>Add support for <code>financial_account</code> on enum
<code>stripe.treasury.OutboundTransfer.DestinationPaymentMethodDetails.type</code></li>
<li>Add support for <code>outbound_transfer</code> on enums
<code>stripe.treasury.ReceivedCredit.LinkedFlows.SourceFlowDetails.type</code>
and
<code>stripe.treasury.ReceivedCredit.ListParamsLinkedFlows.source_flow_type</code></li>
<li>Add support for <code>2025-01-27.acacia</code> on enum
<code>stripe.WebhookEndpoint.CreateParams.api_version</code></li>
<li>Change type of <code>pretax_credit_amounts</code> on
<code>stripe.CreditNote</code> and
<code>stripe.CreditNoteLineItem</code> from
<code>Optional[List[PretaxCreditAmount]]</code> to
<code>List[PretaxCreditAmount]</code></li>
</ul>
</li>
<li><a
href="https://redirect.github.com/stripe/stripe-python/pull/1451">#1451</a>
Upgrade to download-artifact@v4</li>
<li><a
href="https://redirect.github.com/stripe/stripe-python/pull/1448">#1448</a>
Updated upload artifact ci action</li>
<li><a
href="https://redirect.github.com/stripe/stripe-python/pull/1446">#1446</a>
add just to publish CI</li>
<li><a
href="https://redirect.github.com/stripe/stripe-python/pull/1444">#1444</a>
Added CONTRIBUTING.md file</li>
<li><a
href="https://redirect.github.com/stripe/stripe-python/pull/1445">#1445</a>
minor justfile fixes &amp; pin CI version</li>
<li><a
href="https://redirect.github.com/stripe/stripe-python/pull/1440">#1440</a>
add justfile, update readme, remove coveralls</li>
<li><a
href="https://redirect.github.com/stripe/stripe-python/pull/1442">#1442</a>
Fix V2 ListObject.data type hint
<ul>
<li>Change <code>stripe.v2.ListObject.data</code> type hint from
<code>List[StripeObject]</code> to <code>List[T]</code> where T is the
specific stripe object contained within the list</li>
</ul>
</li>
</ul>
<p>See <a
href="https://github.com/stripe/stripe-python/blob/v11.5.0b3/CHANGELOG.md">the
changelog for more details</a>.</p>
<h2>v11.5.0b3</h2>
<ul>
<li><a
href="https://redirect.github.com/stripe/stripe-python/pull/1447">#1447</a>
Update generated code for beta
<ul>
<li>Remove support for <code>stripe_account</code> on resource classes
<code>stripe.terminal.Reader.Action.CollectPaymentMethod</code>,
<code>stripe.terminal.Reader.Action.ConfirmPaymentIntent</code>,
<code>stripe.terminal.Reader.Action.ProcessPaymentIntent</code>, and
<code>stripe.terminal.Reader.Action.RefundPayment</code></li>
</ul>
</li>
</ul>
<p>See <a
href="https://github.com/stripe/stripe-python/blob/v11.5.0b3/CHANGELOG.md">the
changelog for more details</a>.</p>
<h2>v11.5.0b2</h2>
<ul>
<li><a
href="https://redirect.github.com/stripe/stripe-python/pull/1439">#1439</a>
Update generated code for beta
<ul>
<li>Add support for <code>pay_by_bank_payments</code> on resource class
<code>stripe.Account.Capabilities</code> and parameter class
<code>stripe.Account.CreateParamsCapabilities</code></li>
<li>Add support for <code>directorship_declaration</code> on parameter
classes <code>stripe.Account.CreateParamsCompany</code> and
<code>stripe.Token.CreateParamsAccountCompany</code></li>
<li>Add support for <code>proof_of_ultimate_beneficial_ownership</code>
on parameter class
<code>stripe.Account.CreateParamsDocuments</code></li>
</ul>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/stripe/stripe-python/blob/master/CHANGELOG.md">stripe's
changelog</a>.</em></p>
<blockquote>
<h2>11.5.0 - 2025-01-27</h2>
<ul>
<li><a
href="https://redirect.github.com/stripe/stripe-python/pull/1443">#1443</a>
Update generated code
<ul>
<li>Add support for <code>pay_by_bank_payments</code> on resource class
<code>stripe.Account.Capabilities</code> and parameter class
<code>stripe.Account.CreateParamsCapabilities</code></li>
<li>Add support for <code>directorship_declaration</code> on resource
class <code>stripe.Account.Company</code> and parameter classes
<code>stripe.Account.CreateParamsCompany</code> and
<code>stripe.Token.CreateParamsAccountCompany</code></li>
<li>Add support for <code>ownership_exemption_reason</code> on resource
class <code>stripe.Account.Company</code> and parameter classes
<code>stripe.Account.CreateParamsCompany</code> and
<code>stripe.Token.CreateParamsAccountCompany</code></li>
<li>Add support for <code>proof_of_ultimate_beneficial_ownership</code>
on parameter class
<code>stripe.Account.CreateParamsDocuments</code></li>
<li>Add support for <code>financial_account</code> on resource classes
<code>stripe.AccountSession.Components</code> and
<code>stripe.treasury.OutboundTransfer.DestinationPaymentMethodDetails</code>
and parameter class
<code>stripe.AccountSession.CreateParamsComponents</code></li>
<li>Add support for <code>issuing_card</code> on resource class
<code>stripe.AccountSession.Components</code> and parameter class
<code>stripe.AccountSession.CreateParamsComponents</code></li>
<li>Add support for <code>advice_code</code> on resource classes
<code>stripe.Charge.Outcome</code>,
<code>stripe.Invoice.LastFinalizationError</code>,
<code>stripe.PaymentIntent.LastPaymentError</code>,
<code>stripe.SetupAttempt.SetupError</code>, and
<code>stripe.SetupIntent.LastSetupError</code></li>
<li>Add support for <code>country</code> on resource classes
<code>stripe.Charge.PaymentMethodDetails.Paypal</code>,
<code>stripe.ConfirmationToken.PaymentMethodPreview.Paypal</code>, and
<code>stripe.PaymentMethod.Paypal</code></li>
<li>Add support for <code>pay_by_bank</code> on resource classes
<code>stripe.Charge.PaymentMethodDetails</code>,
<code>stripe.ConfirmationToken.PaymentMethodPreview</code>, and
<code>stripe.PaymentIntent.PaymentMethodOptions</code>, parameter
classes
<code>stripe.ConfirmationToken.CreateParamsPaymentMethodData</code>,
<code>stripe.PaymentIntent.ConfirmParamsPaymentMethodData</code>,
<code>stripe.PaymentIntent.ConfirmParamsPaymentMethodOptions</code>,
<code>stripe.PaymentIntent.CreateParamsPaymentMethodData</code>,
<code>stripe.PaymentIntent.CreateParamsPaymentMethodOptions</code>,
<code>stripe.PaymentIntent.ModifyParamsPaymentMethodData</code>,
<code>stripe.PaymentIntent.ModifyParamsPaymentMethodOptions</code>,
<code>stripe.PaymentMethod.CreateParams</code>,
<code>stripe.PaymentMethod.ModifyParams</code>,
<code>stripe.PaymentMethodConfiguration.CreateParams</code>,
<code>stripe.PaymentMethodConfiguration.ModifyParams</code>,
<code>stripe.SetupIntent.ConfirmParamsPaymentMethodData</code>,
<code>stripe.SetupIntent.CreateParamsPaymentMethodData</code>,
<code>stripe.SetupIntent.ModifyParamsPaymentMethodData</code>, and
<code>stripe.checkout.Session.CreateParamsPaymentMethodOptions</code>,
and resources <code>stripe.PaymentMethod</code> and
<code>stripe.PaymentMethodConfiguration</code></li>
<li>Add support for <code>phone_number_collection</code> on parameter
class <code>stripe.PaymentLink.ModifyParams</code></li>
<li>Add support for <code>discounts</code> on resource
<code>stripe.checkout.Session</code></li>
<li>Add support for <code>jpy</code> on parameter classes
<code>stripe.terminal.Configuration.CreateParamsTipping</code> and
<code>stripe.terminal.Configuration.ModifyParamsTipping</code> and
resource class <code>stripe.terminal.Configuration.Tipping</code></li>
<li>Add support for <code>nickname</code> on parameter classes
<code>stripe.treasury.FinancialAccount.CreateParams</code> and
<code>stripe.treasury.FinancialAccount.ModifyParams</code> and resource
<code>stripe.treasury.FinancialAccount</code></li>
<li>Add support for <code>forwarding_settings</code> on parameter class
<code>stripe.treasury.FinancialAccount.ModifyParams</code></li>
<li>Add support for <code>_cls_close</code> on resource
<code>stripe.treasury.FinancialAccount</code></li>
<li>Add support for <code>close</code> on resource
<code>stripe.treasury.FinancialAccount</code></li>
<li>Add support for <code>is_default</code> on resource
<code>stripe.treasury.FinancialAccount</code></li>
<li>Add support for <code>destination_payment_method_data</code> on
parameter class
<code>stripe.treasury.OutboundTransfer.CreateParams</code></li>
<li>Add support for <code>outbound_transfer</code> on resource class
<code>stripe.treasury.ReceivedCredit.LinkedFlows.SourceFlowDetails</code></li>
<li>Add support for <code>SD</code> on enums
<code>stripe.checkout.Session.ShippingAddressCollection.allowed_countries</code>,
<code>stripe.checkout.Session.CreateParamsShippingAddressCollection.allowed_countries</code>,
<code>stripe.PaymentLink.ShippingAddressCollection.allowed_countries</code>,
<code>stripe.PaymentLink.CreateParamsShippingAddressCollection.allowed_countries</code>,
and
<code>stripe.PaymentLink.ModifyParamsShippingAddressCollection.allowed_countries</code></li>
<li>Add support for <code>pay_by_bank</code> on enums
<code>stripe.checkout.Session.CreateParams.payment_method_types</code>,
<code>stripe.ConfirmationToken.PaymentMethodPreview.type</code>,
<code>stripe.ConfirmationToken.CreateParamsPaymentMethodData.type</code>,
<code>stripe.Customer.ListPaymentMethodsParams.type</code>,
<code>stripe.PaymentIntent.ConfirmParamsPaymentMethodData.type</code>,
<code>stripe.PaymentIntent.CreateParamsPaymentMethodData.type</code>,
<code>stripe.PaymentIntent.ModifyParamsPaymentMethodData.type</code>,
<code>stripe.PaymentLink.payment_method_types</code>,
<code>stripe.PaymentLink.CreateParams.payment_method_types</code>,
<code>stripe.PaymentLink.ModifyParams.payment_method_types</code>,
<code>stripe.PaymentMethod.type</code>,
<code>stripe.PaymentMethod.CreateParams.type</code>,
<code>stripe.PaymentMethod.ListParams.type</code>,
<code>stripe.SetupIntent.ConfirmParamsPaymentMethodData.type</code>,
<code>stripe.SetupIntent.CreateParamsPaymentMethodData.type</code>, and
<code>stripe.SetupIntent.ModifyParamsPaymentMethodData.type</code></li>
<li>Add support for <code>financial_account</code> on enum
<code>stripe.treasury.OutboundTransfer.DestinationPaymentMethodDetails.type</code></li>
<li>Add support for <code>outbound_transfer</code> on enums
<code>stripe.treasury.ReceivedCredit.LinkedFlows.SourceFlowDetails.type</code>
and
<code>stripe.treasury.ReceivedCredit.ListParamsLinkedFlows.source_flow_type</code></li>
<li>Add support for <code>2025-01-27.acacia</code> on enum
<code>stripe.WebhookEndpoint.CreateParams.api_version</code></li>
<li>Change type of <code>pretax_credit_amounts</code> on
<code>stripe.CreditNote</code> and
<code>stripe.CreditNoteLineItem</code> from
<code>Optional[List[PretaxCreditAmount]]</code> to
<code>List[PretaxCreditAmount]</code></li>
</ul>
</li>
<li><a
href="https://redirect.github.com/stripe/stripe-python/pull/1451">#1451</a>
Upgrade to download-artifact@v4</li>
<li><a
href="https://redirect.github.com/stripe/stripe-python/pull/1448">#1448</a>
Updated upload artifact ci action</li>
<li><a
href="https://redirect.github.com/stripe/stripe-python/pull/1446">#1446</a>
add just to publish CI</li>
<li><a
href="https://redirect.github.com/stripe/stripe-python/pull/1444">#1444</a>
Added CONTRIBUTING.md file</li>
<li><a
href="https://redirect.github.com/stripe/stripe-python/pull/1445">#1445</a>
minor justfile fixes &amp; pin CI version</li>
<li><a
href="https://redirect.github.com/stripe/stripe-python/pull/1440">#1440</a>
add justfile, update readme, remove coveralls</li>
<li><a href="https://redirect...

_Description has been truncated_

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nicholas Tindle <nicholas.tindle@agpt.co>
2025-01-29 17:08:02 +00:00
Krzysztof Czerwinski
1b69bcbce2 fix(platform): PAYG system fixes (#9296)
1. Stripe is complaining about lack of return url in checkout.
2. Only frontend prevents users from topping-up amounts less than 5$.

### Changes 🏗️

- Set `return_url` and `customer_email` when creating checkout session.
- Change `amount` to `credit_amount` and use credits instead of USD for
clarity when requesting top up.
- Accept only top-ups of 500+ credits (5$) and multiples of 100 credits
*on the backend*.

### Checklist 📋

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

<details>
  <summary>Example test plan</summary>
  
  - [ ] Create from scratch and execute an agent with at least 3 blocks
- [ ] Import an agent from file upload, and confirm it executes
correctly
  - [ ] Upload agent to marketplace
- [ ] Import an agent from marketplace and confirm it executes correctly
  - [ ] Edit an agent from monitor, and confirm it executes correctly
</details>

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

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

  - Changing ports
  - Adding new services that need to communicate with each other
  - Secrets or environment variable changes
  - New or infrastructure changes such as databases
</details>

---------

Co-authored-by: Zamil Majdy <zamil.majdy@agpt.co>
2025-01-29 16:56:05 +00:00
Zamil Majdy
f67060fd8f fix(backend): Fix get balance error on user with null running balance (#9365)
### Changes 🏗️

The current state can cause this error:
```
    if (snapshot_time.year, snapshot_time.month) == (cur_time.year, cur_time.month):
        ^^^^^^^^^^^^^^^^^^
AttributeError: 'str' object has no attribute 'year'
```

Which is caused by the timestamp return value possibly a string.

### Checklist 📋

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

<details>
  <summary>Example test plan</summary>
  
  - [ ] Create from scratch and execute an agent with at least 3 blocks
- [ ] Import an agent from file upload, and confirm it executes
correctly
  - [ ] Upload agent to marketplace
- [ ] Import an agent from marketplace and confirm it executes correctly
  - [ ] Edit an agent from monitor, and confirm it executes correctly
</details>

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

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

  - Changing ports
  - Adding new services that need to communicate with each other
  - Secrets or environment variable changes
  - New or infrastructure changes such as databases
</details>
2025-01-29 14:25:50 +00:00
Zamil Majdy
c31a2ec565 fix(backend): Remove hardcoded auto-top-up config definition on set_auto_top_up (#9361)
### Changes 🏗️

Make set_auto_top_up accepts AutoTopUpConfig & eliminate hardcoding of
json value.

### Checklist 📋

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

<details>
  <summary>Example test plan</summary>
  
  - [ ] Create from scratch and execute an agent with at least 3 blocks
- [ ] Import an agent from file upload, and confirm it executes
correctly
  - [ ] Upload agent to marketplace
- [ ] Import an agent from marketplace and confirm it executes correctly
  - [ ] Edit an agent from monitor, and confirm it executes correctly
</details>

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

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

  - Changing ports
  - Adding new services that need to communicate with each other
  - Secrets or environment variable changes
  - New or infrastructure changes such as databases
</details>
2025-01-29 13:59:06 +00:00
Zamil Majdy
5e2043b774 fix(backend): Fix failing test_block_credit_reset when it's executed at the end of 31-days month (#9360)
Currently, the test is failing on Jan 29 because 29th Feb does not
exist.

### Changes 🏗️

Force use the first day of the month for getting the current time.

### Checklist 📋

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

<details>
  <summary>Example test plan</summary>
  
  - [ ] Create from scratch and execute an agent with at least 3 blocks
- [ ] Import an agent from file upload, and confirm it executes
correctly
  - [ ] Upload agent to marketplace
- [ ] Import an agent from marketplace and confirm it executes correctly
  - [ ] Edit an agent from monitor, and confirm it executes correctly
</details>

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

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

  - Changing ports
  - Adding new services that need to communicate with each other
  - Secrets or environment variable changes
  - New or infrastructure changes such as databases
</details>

Co-authored-by: Nicholas Tindle <nicholas.tindle@agpt.co>
2025-01-29 12:17:40 +00:00
Nicholas Tindle
c5747c59d7 feat: mem0 ai memory block (#9285)
We want to have some more intelligent and less user managed memory
methods, so we add mem0


### Changes 🏗️

- Adds user_id to kwargs for blocks
- Add mem0 blocks

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

### Checklist 📋

- [x] document adding user_id to kwargs for blocks
- [x] Add run and agent Id as optional checkboxes that will be passed
down to mem0

#### 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:
  <!-- Put your test plan here: -->
- [ ] Build and submit an agent to @Torantulino and the marketplace for
a personal AI tutor based on recommendations from the mem0 team

---------

Co-authored-by: Aarushi <50577581+aarushik93@users.noreply.github.com>
Co-authored-by: Zamil Majdy <zamil.majdy@agpt.co>
2025-01-28 15:15:29 +00:00
Mario Sacaj
8685df587b CodeExecutionBlock split into InstantiationBlock & StepExecutionBlock (#9158)
Especially in case of heavy sandbox customization we don't want to spawn
a new VM every time we need to execute code, especially in circumstances
when time of inactivity is negligible.

### Changes 🏗️

Added two now blocks inside
`autogpt_platform/backend/backend/blocks/code_executor.py` which split
the logic of the CodeExecutionBlock in two parts: InstantiationBlock and
StepExecutionBlock.

The overall setup shall be the done in the InstantiationBlock which then
passes as output the `sandbox_id` which identifies the sandbox instance.

At a later stage any line of code can be executed through
StepExecutionBlock inside the same instance using the e2b library
function `sandbox = Sandbox.connect(sandbox_id=sandbox_id,
api_key=api_key)`. Variables and memory form earlier executions or
instantiation are persisted.

Beware, this approach does not make use of the beta apis to pause and
resume an instance. By using the approach above the VM will likely be
killed after the timeout inactivity set at instantiation time.


### New Features:

* **InstantiationBlock Class**:
- Added a new class to instantiate an isolated sandbox environment with
internet access for code execution. This class includes input and output
schemas, methods for running and executing code, and handles sandbox
setup commands and code execution.

* **StepExecutionBlock Class**:
- Introduced a new class to execute code in a previously instantiated
sandbox environment. This class also includes input and output schemas,
methods for running and executing step code, and handles connecting to
an existing sandbox for code execution.

### Minor Changes:

* **ProgrammingLanguage Enum**:
- Added a blank line for better readability within the
`ProgrammingLanguage` enum definition.

---------

Co-authored-by: Toran Bruce Richards <toran.richards@gmail.com>
Co-authored-by: Aarushi <50577581+aarushik93@users.noreply.github.com>
2025-01-28 12:45:18 +00:00
Nicholas Tindle
7609969169 feat(blocks): Add blocks for GitHub checks & statuses (#9271)
<!-- Clearly explain the need for these changes: -->
We really want to be able to automate with our agents some behaviors
that involve blocking PRs or unblocking them based on automations.

### Changes 🏗️

<!-- Concisely describe all of the changes made in this pull request:
-->
- Adds Status Blocks for github
- Modifies the pull requests block to not have include pr changes as
advanced because that's a wild place to hide it
- Adds some disabled checks blocks that require github app
- Added IfMatches Block to make using stuff easier

### 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] Built agent using

---------

Co-authored-by: Aarushi <50577581+aarushik93@users.noreply.github.com>
2025-01-28 12:34:09 +00:00
Zamil Majdy
e0d153b284 fix(backend): Make spend credit failure as part of block execution failure (#9340)
<img width="1427" alt="image"
src="https://github.com/user-attachments/assets/de48ceb7-2a90-44e6-a687-d6759a1aa434"
/>

### Changes 🏗️

Block execution that cost credit can fail, the scope of this fix is
making this error as part of the node execution instead of a system
error.

### Checklist 📋

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

<details>
  <summary>Example test plan</summary>
  
  - [ ] Create from scratch and execute an agent with at least 3 blocks
- [ ] Import an agent from file upload, and confirm it executes
correctly
  - [ ] Upload agent to marketplace
- [ ] Import an agent from marketplace and confirm it executes correctly
  - [ ] Edit an agent from monitor, and confirm it executes correctly
</details>

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

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

  - Changing ports
  - Adding new services that need to communicate with each other
  - Secrets or environment variable changes
  - New or infrastructure changes such as databases
</details>
2025-01-28 12:21:31 +00:00
Reinier van der Leer
0811e8a990 feat(backend): Enable executing store agents without agent ownership (#9267)
This re-introduces PR #9179 with some fixes.

This PR enables the execution of store agents even if they are not owned
by the user. Key changes include handling store-listed agents in the
`get_graph` logic, improving execution flow, and ensuring
version-specific handling. These updates support more flexible agent
execution.

### Changes 🏗️
(copied from #9179)

- **Graph Retrieval:** Updated `get_graph` to check store listings for
agents not owned by the user.
- **Version Handling:** Added `graph_version` to execution methods for
consistent version-specific execution.
- **Execution Flow:** Refactored `scheduler.py`, `rest_api.py`, and
other modules for clearer logic and better maintainability.
- **Testing:** Updated `test_manager.py` and other test cases to
validate execution of store-listed agents added test for accessing graph

Out-of-scope changes:
- Add logic to pretty-print Pydantic validation error responses to
backend API client in frontend

---------

Co-authored-by: Nicholas Tindle <nicktindle@outlook.com>
Co-authored-by: Nicholas Tindle <nicholas.tindle@agpt.co>
Co-authored-by: Swifty <craigswift13@gmail.com>
Co-authored-by: Zamil Majdy <zamil.majdy@agpt.co>
2025-01-28 11:00:32 +00:00
Zamil Majdy
a7a59a26b9 feat(platform): Implement Auto-Top-Up credits capability (#9278)
<img width="1157" alt="image"
src="https://github.com/user-attachments/assets/5b70aa1e-876f-4163-b69e-c22bd21ea8d3"
/>

### Changes 🏗️

Added auto-top-up credits capability:
* Added autoTopUpConfig column on user
* Added autoTopUp form UI
* Added payment charge logic for top_up_credits 
* Added auto-top-up logic on spend_credits

### Checklist 📋

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

<details>
  <summary>Example test plan</summary>
  
  - [ ] Create from scratch and execute an agent with at least 3 blocks
- [ ] Import an agent from file upload, and confirm it executes
correctly
  - [ ] Upload agent to marketplace
- [ ] Import an agent from marketplace and confirm it executes correctly
  - [ ] Edit an agent from monitor, and confirm it executes correctly
</details>

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

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

  - Changing ports
  - Adding new services that need to communicate with each other
  - Secrets or environment variable changes
  - New or infrastructure changes such as databases
</details>

---------

Co-authored-by: Krzysztof Czerwinski <kpczerwinski@gmail.com>
2025-01-28 10:18:29 +00:00
Bently
40897ce874 fix(blocks): add ollama_host to AIConversationBlock (#9351)
<!-- Clearly explain the need for these changes: -->

### Changes 🏗️

In the AI Conversation block it uses
``AIStructuredResponseGeneratorBlock.input`` for the input but it is
missing ollama_host, this means that if i try to use ollama with this
block, ollama_host is not passed, this PR fixes that by simply adding
``ollama_host=input_data.ollama_host`` to the ``class
AIConversationBlock(AIBlockBase):``

```diff
AIStructuredResponseGeneratorBlock.Input(
    prompt="",
    credentials=input_data.credentials,
    model=input_data.model,
    conversation_history=input_data.messages,
    max_tokens=input_data.max_tokens,
    expected_format={},
++  ollama_host=input_data.ollama_host,
),
```

<!-- 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:
- [x] Run the AI Conversation block with a normal provider like GPT-4 to
see if it works like normal
- [x] Run the AI Conversation block with Ollama to make sure the changes
made work
2025-01-28 08:23:05 +00:00
Nicholas Tindle
ac8a466cda feat(platform): Add username+password credentials type; fix email and reddit blocks (#9113)
<!-- Clearly explain the need for these changes: -->
Update and adds a basic credential field for use in integrations like
reddit


### Changes 🏗️

<!-- Concisely describe all of the changes made in this pull request:
-->
- Reddit
	- Drops the Username and Password for reddit from the .env
	- Updates Reddit block with modern provider and credential system
- moves clientid and secret to reading from `Settings().secrets` rather
than input on the block
	- moves user agent to `Settings().config`

- SMTP
  - update the block to support user password and modern credentials

- Add `UserPasswordCredentials`
	- Default API key expiry to None explicitly to help type cohesion
- add `UserPasswordCredentials` with a weird form of `bearer` which we
ideally remove because `basic` is a more appropriate name. This is
dependent on `Webhook _base` allowing a subset of `Credentials`
	- Update `Credentials` and `CredentialsType`
- Fix various `OAuth2Credentials | APIKeyCredentials` -> `Credentials`
mismatches between base and derived classes
- Replace `router/@post(create_api_key_credentials)` with
`create_credentials` which now takes a credential and is discriminated
by `type` provided by the credential

- UI/Frontend
- Updated various pages to have saved credential types, icons, and text
for User Pass Credentials
- Update credential input to have an input/modals/selects for user/pass
combos
- Update the types to support having user/pass credentials too (we
should make this more centralized)
	- Update Credential Providres to support user_password
- Update `client.ts` to support the new streamlined credential creation
method and endpoint

- DX
	- Sort the provider names **again**


TODO:
- [x] Reactivate Conditionally Disabling Reddit
~~- [ ] Look into moving Webhooks base to allow subset of `Credentials`
rather than requiring all webhooks to support the input of all valid
`Credentials` types~~ Out of scope
- [x] Figure out the `singleCredential` calculator in
`credentials-input.tsx` so that it also respects User Pass credentials
and isn't a logic mess

### Checklist 📋

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

---------

Co-authored-by: Zamil Majdy <zamil.majdy@agpt.co>
2025-01-28 08:07:50 +00:00
Nicholas Tindle
97ecaf5639 fix(test): timeout is causing intermittent failures (#9341)
<!-- Clearly explain the need for these changes: -->
Tests keep failing
### Changes 🏗️

<!-- Concisely describe all of the changes made in this pull request:
-->
- changes a 20 to 30
2025-01-27 21:09:59 +00:00
Zamil Majdy
bb3be444de feat(platform): Add multimedia file support & add basic Video blocks (#9320)
Currently, there is no support for passing files in the platform, each
generated file should be hosted somewhere.
This PR adds support of passing files temporarily during the execution
to open up more block that does multimedia operations.

<img width="583" alt="image"
src="https://github.com/user-attachments/assets/c285de5a-c2a9-41a0-9be1-305a316879d6"
/>

<img width="1291" alt="image"
src="https://github.com/user-attachments/assets/d7bcaf38-80fa-4b51-91da-b4eed80a02c1"
/>


### Changes 🏗️

* Add media support for passing files (local files, base64, URL) and
`FileStoreBlock` (file version of `StoreValueBlock`)
* Add initial multimedia blocks: `LoopVideoBlock` &
`AddAudioToVideoBlock`.

### Checklist 📋

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

<details>
  <summary>Example test plan</summary>
  
  - [ ] Create from scratch and execute an agent with at least 3 blocks
- [ ] Import an agent from file upload, and confirm it executes
correctly
  - [ ] Upload agent to marketplace
- [ ] Import an agent from marketplace and confirm it executes correctly
  - [ ] Edit an agent from monitor, and confirm it executes correctly
</details>

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

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

  - Changing ports
  - Adding new services that need to communicate with each other
  - Secrets or environment variable changes
  - New or infrastructure changes such as databases
</details>

---------

Co-authored-by: Nicholas Tindle <nicholas.tindle@agpt.co>
2025-01-26 16:08:05 +00:00
Nicholas Tindle
996efaf4fc fix: check if linear is enabled before showing blocks (#9338)
<!-- Clearly explain the need for these changes: -->
Linear blocks show up even if oauth isn't configured

### Changes 🏗️
disables the linear blocks if oauth isn't configured

<!-- 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] checked block list with and without oauth configured
2025-01-26 15:06:03 +00:00
Zamil Majdy
479a8470fe fix(block): Remove TwitterUnblockUserBlock & TwitterBlockUserBlock (#9337)
Twitter API v2 Client update:
```
    .. versionadded:: 4.0

    .. versionchanged:: 4.15
        Removed ``block`` and ``unblock`` methods, as the endpoints they use
        have been removed
```

### Changes 🏗️

Remove TwitterUnblockUserBlock & TwitterBlockUserBlock.

### Checklist 📋

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

<details>
  <summary>Example test plan</summary>
  
  - [ ] Create from scratch and execute an agent with at least 3 blocks
- [ ] Import an agent from file upload, and confirm it executes
correctly
  - [ ] Upload agent to marketplace
- [ ] Import an agent from marketplace and confirm it executes correctly
  - [ ] Edit an agent from monitor, and confirm it executes correctly
</details>

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

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

  - Changing ports
  - Adding new services that need to communicate with each other
  - Secrets or environment variable changes
  - New or infrastructure changes such as databases
</details>
2025-01-26 14:06:39 +00:00
Zamil Majdy
d74e4ef1a8 feat(block): Add LLM prompt as the output pin (#9330)
### Changes 🏗️

To ease the debugging, we can expose the prompt sent to the LLM
provider.

<img width="418" alt="image"
src="https://github.com/user-attachments/assets/0c8d7502-4f87-4002-a498-331f341859bd"
/>


### Checklist 📋

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

<details>
  <summary>Example test plan</summary>
  
  - [ ] Create from scratch and execute an agent with at least 3 blocks
- [ ] Import an agent from file upload, and confirm it executes
correctly
  - [ ] Upload agent to marketplace
- [ ] Import an agent from marketplace and confirm it executes correctly
  - [ ] Edit an agent from monitor, and confirm it executes correctly
</details>

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

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

  - Changing ports
  - Adding new services that need to communicate with each other
  - Secrets or environment variable changes
  - New or infrastructure changes such as databases
</details>
2025-01-25 12:33:41 +00:00
dependabot[bot]
21337e6bc4 chore(libs/deps): bump the production-dependencies group across 1 directory with 4 updates (#9237)
Bumps the production-dependencies group with 4 updates in the
/autogpt_platform/autogpt_libs directory:
[pydantic](https://github.com/pydantic/pydantic),
[pydantic-settings](https://github.com/pydantic/pydantic-settings),
[pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) and
[supabase](https://github.com/supabase/supabase-py).

Updates `pydantic` from 2.10.3 to 2.10.5
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pydantic/pydantic/releases">pydantic's
releases</a>.</em></p>
<blockquote>
<h2>v2.10.4 2024-12-18</h2>
<h2>What's Changed</h2>
<h3>Packaging</h3>
<ul>
<li>Bump <code>pydantic-core</code> to v2.27.2 by <a
href="https://github.com/davidhewitt"><code>@​davidhewitt</code></a> in
<a
href="https://redirect.github.com/pydantic/pydantic/pull/11138">#11138</a></li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Fix for comparison of <code>AnyUrl</code> objects by <a
href="https://github.com/alexprabhat99"><code>@​alexprabhat99</code></a>
in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11082">#11082</a></li>
<li>Properly fetch PEP 695 type params for functions, do not fetch
annotations from signature by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11093">#11093</a></li>
<li>Include JSON Schema input core schema in function schemas by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11085">#11085</a></li>
<li>Add <code>len</code> to <code>_BaseUrl</code> to avoid TypeError by
<a href="https://github.com/Kharianne"><code>@​Kharianne</code></a> in
<a
href="https://redirect.github.com/pydantic/pydantic/pull/11111">#11111</a></li>
<li>Make sure the type reference is removed from the seen references by
<a href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11143">#11143</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/alexprabhat99"><code>@​alexprabhat99</code></a>
made their first contribution in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11082">#11082</a></li>
<li><a href="https://github.com/Kharianne"><code>@​Kharianne</code></a>
made their first contribution in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11111">#11111</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/pydantic/pydantic/compare/v2.10.3...v2.10.4">https://github.com/pydantic/pydantic/compare/v2.10.3...v2.10.4</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pydantic/pydantic/blob/main/HISTORY.md">pydantic's
changelog</a>.</em></p>
<blockquote>
<h2>v2.10.5 (2025-01-08)</h2>
<p><a
href="https://github.com/pydantic/pydantic/releases/tag/v2.10.5">GitHub
release</a></p>
<h3>What's Changed</h3>
<ul>
<li>Remove custom MRO implementation of Pydantic models by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11184">#11184</a></li>
<li>Fix URL serialization for unions by <a
href="https://github.com/sydney-runkle"><code>@​sydney-runkle</code></a>
in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11233">#11233</a></li>
</ul>
<h2>v2.10.4 (2024-12-18)</h2>
<p><a
href="https://github.com/pydantic/pydantic/releases/tag/v2.10.4">GitHub
release</a></p>
<h3>What's Changed</h3>
<h4>Packaging</h4>
<ul>
<li>Bump <code>pydantic-core</code> to v2.27.2 by <a
href="https://github.com/davidhewitt"><code>@​davidhewitt</code></a> in
<a
href="https://redirect.github.com/pydantic/pydantic/pull/11138">#11138</a></li>
</ul>
<h4>Fixes</h4>
<ul>
<li>Fix for comparison of <code>AnyUrl</code> objects by <a
href="https://github.com/alexprabhat99"><code>@​alexprabhat99</code></a>
in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11082">#11082</a></li>
<li>Properly fetch PEP 695 type params for functions, do not fetch
annotations from signature by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11093">#11093</a></li>
<li>Include JSON Schema input core schema in function schemas by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11085">#11085</a></li>
<li>Add <code>len</code> to <code>_BaseUrl</code> to avoid TypeError by
<a href="https://github.com/Kharianne"><code>@​Kharianne</code></a> in
<a
href="https://redirect.github.com/pydantic/pydantic/pull/11111">#11111</a></li>
<li>Make sure the type reference is removed from the seen references by
<a href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11143">#11143</a></li>
</ul>
<h3>New Contributors</h3>
<ul>
<li><a href="https://github.com/FyZzyss"><code>@​FyZzyss</code></a> made
their first contribution in <a
href="https://redirect.github.com/pydantic/pydantic/pull/10789">#10789</a></li>
<li><a href="https://github.com/tamird"><code>@​tamird</code></a> made
their first contribution in <a
href="https://redirect.github.com/pydantic/pydantic/pull/10948">#10948</a></li>
<li><a href="https://github.com/felixxm"><code>@​felixxm</code></a> made
their first contribution in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11077">#11077</a></li>
<li><a
href="https://github.com/alexprabhat99"><code>@​alexprabhat99</code></a>
made their first contribution in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11082">#11082</a></li>
<li><a href="https://github.com/Kharianne"><code>@​Kharianne</code></a>
made their first contribution in <a
href="https://redirect.github.com/pydantic/pydantic/pull/11111">#11111</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="5d34efda82"><code>5d34efd</code></a>
Prepare release v2.10.5 (<a
href="https://redirect.github.com/pydantic/pydantic/issues/11237">#11237</a>)</li>
<li><a
href="6e585f925e"><code>6e585f9</code></a>
Fix url serialization for unions (<a
href="https://redirect.github.com/pydantic/pydantic/issues/11233">#11233</a>)</li>
<li><a
href="5a22e02608"><code>5a22e02</code></a>
Remove custom MRO implementation of Pydantic models (<a
href="https://redirect.github.com/pydantic/pydantic/issues/11195">#11195</a>)</li>
<li><a
href="5bd3a6507b"><code>5bd3a65</code></a>
fix history.md</li>
<li><a
href="46f094569a"><code>46f0945</code></a>
Prepare for v2.10.4 (<a
href="https://redirect.github.com/pydantic/pydantic/issues/11144">#11144</a>)</li>
<li><a
href="ea69e695f2"><code>ea69e69</code></a>
Make sure the type reference is removed from the seen references (<a
href="https://redirect.github.com/pydantic/pydantic/issues/11145">#11145</a>)</li>
<li><a
href="a07c31e4a4"><code>a07c31e</code></a>
Include JSON Schema input core schema in function schemas (<a
href="https://redirect.github.com/pydantic/pydantic/issues/11142">#11142</a>)</li>
<li><a
href="9166d55163"><code>9166d55</code></a>
Update <code>WithJsonSchema</code> documentation, add usage
documentation for `json_sche...</li>
<li><a
href="572f57de01"><code>572f57d</code></a>
Rewrite validators documentation (<a
href="https://redirect.github.com/pydantic/pydantic/issues/11060">#11060</a>)</li>
<li><a
href="9faa8d9cbd"><code>9faa8d9</code></a>
Fix for comaparison of AnyUrl objects (<a
href="https://redirect.github.com/pydantic/pydantic/issues/11082">#11082</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pydantic/pydantic/compare/v2.10.3...v2.10.5">compare
view</a></li>
</ul>
</details>
<br />

Updates `pydantic-settings` from 2.7.0 to 2.7.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pydantic/pydantic-settings/releases">pydantic-settings's
releases</a>.</em></p>
<blockquote>
<h2>v2.7.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Move preferred alias resolution to private method by <a
href="https://github.com/kschwab"><code>@​kschwab</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/507">pydantic/pydantic-settings#507</a></li>
<li>Prepare release 2.7.1 by <a
href="https://github.com/hramezani"><code>@​hramezani</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-settings/pull/511">pydantic/pydantic-settings#511</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/pydantic/pydantic-settings/compare/v2.7.0...v2.7.1">https://github.com/pydantic/pydantic-settings/compare/v2.7.0...v2.7.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="c989335d26"><code>c989335</code></a>
Prepare release 2.7.1 (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/511">#511</a>)</li>
<li><a
href="66ecc3adec"><code>66ecc3a</code></a>
Move preferred alias resolution to private method (<a
href="https://redirect.github.com/pydantic/pydantic-settings/issues/507">#507</a>)</li>
<li>See full diff in <a
href="https://github.com/pydantic/pydantic-settings/compare/v2.7.0...v2.7.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `pytest-asyncio` from 0.25.0 to 0.25.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pytest-dev/pytest-asyncio/releases">pytest-asyncio's
releases</a>.</em></p>
<blockquote>
<h2>pytest-asyncio 0.25.2</h2>
<ul>
<li>Call <code>loop.shutdown_asyncgens()</code> before closing the event
loop to ensure async generators are closed in the same manner as
<code>asyncio.run</code> does <a
href="https://redirect.github.com/pytest-dev/pytest-asyncio/pull/1034">#1034</a></li>
</ul>
<h2>pytest-asyncio 0.25.1</h2>
<ul>
<li>Fixes an issue that caused a broken event loop when a
function-scoped test was executed in between two tests with wider loop
scope <a
href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/950">#950</a></li>
<li>Improves test collection speed in auto mode <a
href="https://redirect.github.com/pytest-dev/pytest-asyncio/pull/1020">#1020</a></li>
<li>Corrects the warning that is emitted upon redefining the event_loop
fixture</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="2188cdbbf7"><code>2188cdb</code></a>
build: Prepare release of v0.25.2.</li>
<li><a
href="c3ad6340b8"><code>c3ad634</code></a>
fix: Shutdown generators before closing event loops.</li>
<li><a
href="e8ffb10528"><code>e8ffb10</code></a>
[pre-commit.ci] pre-commit autoupdate</li>
<li><a
href="aae43d4f76"><code>aae43d4</code></a>
Build(deps): Bump hypothesis in /dependencies/default</li>
<li><a
href="941e8b5104"><code>941e8b5</code></a>
Build(deps): Bump pygments from 2.18.0 to 2.19.1 in
/dependencies/docs</li>
<li><a
href="623ab74b80"><code>623ab74</code></a>
docs: Prepare release of v0.25.1.</li>
<li><a
href="c236550e73"><code>c236550</code></a>
docs: Fix broken link to the pytest.mark.asyncio reference.</li>
<li><a
href="41c645b3b7"><code>41c645b</code></a>
fix: Correct warning message when redefining the event_loop
fixture.</li>
<li><a
href="2fd10f8243"><code>2fd10f8</code></a>
docs: Clarify deprecation of event_loop fixture.</li>
<li><a
href="a4e82ab25b"><code>a4e82ab</code></a>
docs: Added changelog entry for <a
href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1020">#1020</a>.</li>
<li>Additional commits viewable in <a
href="https://github.com/pytest-dev/pytest-asyncio/compare/v0.25.0...v0.25.2">compare
view</a></li>
</ul>
</details>
<br />

Updates `supabase` from 2.10.0 to 2.11.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/supabase/supabase-py/releases">supabase's
releases</a>.</em></p>
<blockquote>
<h2>v2.11.0</h2>
<h2><a
href="https://github.com/supabase/supabase-py/compare/v2.10.0...v2.11.0">2.11.0</a>
(2024-12-30)</h2>
<h3>Features</h3>
<ul>
<li><strong>auth:</strong> bump gotrue from 2.11.0 to 2.11.1 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1021">#1021</a>)
(<a
href="17e8a662de">17e8a66</a>)</li>
<li><strong>functions:</strong> bump supafunc from 0.8.0 to 0.9.0 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1008">#1008</a>)
(<a
href="19ab5df525">19ab5df</a>)</li>
<li><strong>postgrest:</strong> bump postgrest from 0.19.0 to 0.19.1 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1022">#1022</a>)
(<a
href="9a8b72fe3d">9a8b72f</a>)</li>
<li><strong>realtime:</strong> bump realtime from 2.0.6 to 2.1.0 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1019">#1019</a>)
(<a
href="f251d520af">f251d52</a>)</li>
<li><strong>storage:</strong> bump storage3 from 0.10.0 to 0.11.0 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1020">#1020</a>)
(<a
href="fb7a7e1257">fb7a7e1</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>remove project reference (<a
href="https://redirect.github.com/supabase/supabase-py/issues/999">#999</a>)
(<a
href="e126d04d26">e126d04</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/supabase/supabase-py/blob/main/CHANGELOG.md">supabase's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/supabase/supabase-py/compare/v2.10.0...v2.11.0">2.11.0</a>
(2024-12-30)</h2>
<h3>Features</h3>
<ul>
<li><strong>auth:</strong> bump gotrue from 2.10.0 to 2.11.0 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1005">#1005</a>)
(<a
href="721de30e5b">721de30</a>)</li>
<li><strong>auth:</strong> bump gotrue from 2.11.0 to 2.11.1 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1021">#1021</a>)
(<a
href="17e8a662de">17e8a66</a>)</li>
<li><strong>functions:</strong> bump supafunc from 0.7.0 to 0.8.0 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1006">#1006</a>)
(<a
href="bfc4a5c1e3">bfc4a5c</a>)</li>
<li><strong>functions:</strong> bump supafunc from 0.8.0 to 0.9.0 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1008">#1008</a>)
(<a
href="19ab5df525">19ab5df</a>)</li>
<li><strong>postgrest:</strong> bump postgrest from 0.18.0 to 0.19.0 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1004">#1004</a>)
(<a
href="d7861b0c4d">d7861b0</a>)</li>
<li><strong>postgrest:</strong> bump postgrest from 0.19.0 to 0.19.1 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1022">#1022</a>)
(<a
href="9a8b72fe3d">9a8b72f</a>)</li>
<li><strong>realtime:</strong> bump realtime from 2.0.6 to 2.1.0 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1019">#1019</a>)
(<a
href="f251d520af">f251d52</a>)</li>
<li><strong>storage:</strong> bump storage3 from 0.10.0 to 0.11.0 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1020">#1020</a>)
(<a
href="fb7a7e1257">fb7a7e1</a>)</li>
<li><strong>storage:</strong> bump storage3 from 0.9.0 to 0.10.0 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1003">#1003</a>)
(<a
href="718edc3892">718edc3</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>remove project reference (<a
href="https://redirect.github.com/supabase/supabase-py/issues/999">#999</a>)
(<a
href="e126d04d26">e126d04</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="6fed6d64a1"><code>6fed6d6</code></a>
chore(main): release 2.11.0 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1000">#1000</a>)</li>
<li><a
href="9a8b72fe3d"><code>9a8b72f</code></a>
feat(postgrest): bump postgrest from 0.19.0 to 0.19.1 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1022">#1022</a>)</li>
<li><a
href="17e8a662de"><code>17e8a66</code></a>
feat(auth): bump gotrue from 2.11.0 to 2.11.1 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1021">#1021</a>)</li>
<li><a
href="fb7a7e1257"><code>fb7a7e1</code></a>
feat(storage): bump storage3 from 0.10.0 to 0.11.0 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1020">#1020</a>)</li>
<li><a
href="f251d520af"><code>f251d52</code></a>
feat(realtime): bump realtime from 2.0.6 to 2.1.0 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1019">#1019</a>)</li>
<li><a
href="616bc21629"><code>616bc21</code></a>
chore(deps-dev): bump jinja2 from 3.1.4 to 3.1.5 in the pip group across
1 di...</li>
<li><a
href="4f68eee25b"><code>4f68eee</code></a>
chore: Add Coveralls to CI (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1018">#1018</a>)</li>
<li><a
href="7ecf6b62c7"><code>7ecf6b6</code></a>
chore(deps-dev): bump pytest-asyncio from 0.24.0 to 0.25.0 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1014">#1014</a>)</li>
<li><a
href="3fa4814937"><code>3fa4814</code></a>
chore: update httpx (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1013">#1013</a>)</li>
<li><a
href="c81ffbaac5"><code>c81ffba</code></a>
chore(deps-dev): bump commitizen from 4.0.0 to 4.1.0 (<a
href="https://redirect.github.com/supabase/supabase-py/issues/1012">#1012</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/supabase/supabase-py/compare/v2.10.0...v2.11.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>
Co-authored-by: Nicholas Tindle <nicholas.tindle@agpt.co>
2025-01-24 15:54:29 +00:00