From 901a43c0c06fb8ed2ee2cfc3c56d44002b108a06 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Sat, 28 Jun 2025 08:58:33 +0000
Subject: [PATCH 1/8] chore(ci): only run for pushes and fork pull requests
---
.github/workflows/ci.yml | 3 +++
1 file changed, 3 insertions(+)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 6e203f87..c07d942b 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -17,6 +17,7 @@ jobs:
timeout-minutes: 10
name: lint
runs-on: ${{ github.repository == 'stainless-sdks/supermemory-new-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
+ if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
steps:
- uses: actions/checkout@v4
@@ -42,6 +43,7 @@ jobs:
contents: read
id-token: write
runs-on: depot-ubuntu-24.04
+ if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
steps:
- uses: actions/checkout@v4
@@ -62,6 +64,7 @@ jobs:
timeout-minutes: 10
name: test
runs-on: ${{ github.repository == 'stainless-sdks/supermemory-new-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
+ if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
steps:
- uses: actions/checkout@v4
From 7b7eda703a9d3dcf9b235a5045829c69147240c6 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Sun, 29 Jun 2025 06:14:02 +0000
Subject: [PATCH 2/8] feat(api): api update
---
.github/workflows/ci.yml | 3 ---
1 file changed, 3 deletions(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index c07d942b..6e203f87 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -17,7 +17,6 @@ jobs:
timeout-minutes: 10
name: lint
runs-on: ${{ github.repository == 'stainless-sdks/supermemory-new-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
- if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
steps:
- uses: actions/checkout@v4
@@ -43,7 +42,6 @@ jobs:
contents: read
id-token: write
runs-on: depot-ubuntu-24.04
- if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
steps:
- uses: actions/checkout@v4
@@ -64,7 +62,6 @@ jobs:
timeout-minutes: 10
name: test
runs-on: ${{ github.repository == 'stainless-sdks/supermemory-new-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
- if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
steps:
- uses: actions/checkout@v4
From 8b94b9e043564f8daf605289683270dba97ca323 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Sun, 29 Jun 2025 22:14:01 +0000
Subject: [PATCH 3/8] feat(api): api update
---
.stats.yml | 4 ++--
src/supermemory_new/resources/settings.py | 4 ----
src/supermemory_new/types/setting_get_response.py | 4 ----
src/supermemory_new/types/setting_update_params.py | 4 ----
src/supermemory_new/types/setting_update_response.py | 4 ----
tests/api_resources/test_settings.py | 2 --
6 files changed, 2 insertions(+), 20 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index 5f5ec9ce..09dbde1d 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 15
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/supermemory--inc%2Fsupermemory-new-f259b18e66afb10f009640c303c9a2b829114ac52f968780c24a99655405d5f0.yml
-openapi_spec_hash: a65d5f45b4d666a1caf6a22525690c8c
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/supermemory--inc%2Fsupermemory-new-1a2a84a9cc99c25a9d726bc9300a72871f9469e3ceacebd5e71fd37e87891318.yml
+openapi_spec_hash: e71e86a645bc47a86664080c8697b8db
config_hash: 98555becb03f89d0fcf2e35a0fa6a41b
diff --git a/src/supermemory_new/resources/settings.py b/src/supermemory_new/resources/settings.py
index 1ae36b65..26db07d7 100644
--- a/src/supermemory_new/resources/settings.py
+++ b/src/supermemory_new/resources/settings.py
@@ -49,7 +49,6 @@ def update(
*,
exclude_items: Union[str, float, bool, Dict[str, object], Iterable[object], None] | NotGiven = NOT_GIVEN,
filter_prompt: Optional[str] | NotGiven = NOT_GIVEN,
- filter_tags: Union[str, float, bool, Dict[str, object], Iterable[object], None] | NotGiven = NOT_GIVEN,
google_drive_client_id: Optional[str] | NotGiven = NOT_GIVEN,
google_drive_client_secret: Optional[str] | NotGiven = NOT_GIVEN,
google_drive_custom_key_enabled: Optional[bool] | NotGiven = NOT_GIVEN,
@@ -86,7 +85,6 @@ def update(
{
"exclude_items": exclude_items,
"filter_prompt": filter_prompt,
- "filter_tags": filter_tags,
"google_drive_client_id": google_drive_client_id,
"google_drive_client_secret": google_drive_client_secret,
"google_drive_custom_key_enabled": google_drive_custom_key_enabled,
@@ -152,7 +150,6 @@ async def update(
*,
exclude_items: Union[str, float, bool, Dict[str, object], Iterable[object], None] | NotGiven = NOT_GIVEN,
filter_prompt: Optional[str] | NotGiven = NOT_GIVEN,
- filter_tags: Union[str, float, bool, Dict[str, object], Iterable[object], None] | NotGiven = NOT_GIVEN,
google_drive_client_id: Optional[str] | NotGiven = NOT_GIVEN,
google_drive_client_secret: Optional[str] | NotGiven = NOT_GIVEN,
google_drive_custom_key_enabled: Optional[bool] | NotGiven = NOT_GIVEN,
@@ -189,7 +186,6 @@ async def update(
{
"exclude_items": exclude_items,
"filter_prompt": filter_prompt,
- "filter_tags": filter_tags,
"google_drive_client_id": google_drive_client_id,
"google_drive_client_secret": google_drive_client_secret,
"google_drive_custom_key_enabled": google_drive_custom_key_enabled,
diff --git a/src/supermemory_new/types/setting_get_response.py b/src/supermemory_new/types/setting_get_response.py
index 32bdbe57..3b0c466a 100644
--- a/src/supermemory_new/types/setting_get_response.py
+++ b/src/supermemory_new/types/setting_get_response.py
@@ -16,10 +16,6 @@ class SettingGetResponse(BaseModel):
filter_prompt: Optional[str] = FieldInfo(alias="filterPrompt", default=None)
- filter_tags: Union[str, float, bool, Dict[str, object], List[object], None] = FieldInfo(
- alias="filterTags", default=None
- )
-
google_drive_client_id: Optional[str] = FieldInfo(alias="googleDriveClientId", default=None)
google_drive_client_secret: Optional[str] = FieldInfo(alias="googleDriveClientSecret", default=None)
diff --git a/src/supermemory_new/types/setting_update_params.py b/src/supermemory_new/types/setting_update_params.py
index 16263ee7..4bfbf1e7 100644
--- a/src/supermemory_new/types/setting_update_params.py
+++ b/src/supermemory_new/types/setting_update_params.py
@@ -17,10 +17,6 @@ class SettingUpdateParams(TypedDict, total=False):
filter_prompt: Annotated[Optional[str], PropertyInfo(alias="filterPrompt")]
- filter_tags: Annotated[
- Union[str, float, bool, Dict[str, object], Iterable[object], None], PropertyInfo(alias="filterTags")
- ]
-
google_drive_client_id: Annotated[Optional[str], PropertyInfo(alias="googleDriveClientId")]
google_drive_client_secret: Annotated[Optional[str], PropertyInfo(alias="googleDriveClientSecret")]
diff --git a/src/supermemory_new/types/setting_update_response.py b/src/supermemory_new/types/setting_update_response.py
index 3770b38a..8b4bdb48 100644
--- a/src/supermemory_new/types/setting_update_response.py
+++ b/src/supermemory_new/types/setting_update_response.py
@@ -16,10 +16,6 @@ class Updated(BaseModel):
filter_prompt: Optional[str] = FieldInfo(alias="filterPrompt", default=None)
- filter_tags: Union[str, float, bool, Dict[str, object], List[object], None] = FieldInfo(
- alias="filterTags", default=None
- )
-
google_drive_client_id: Optional[str] = FieldInfo(alias="googleDriveClientId", default=None)
google_drive_client_secret: Optional[str] = FieldInfo(alias="googleDriveClientSecret", default=None)
diff --git a/tests/api_resources/test_settings.py b/tests/api_resources/test_settings.py
index 278abf9d..de333dc0 100644
--- a/tests/api_resources/test_settings.py
+++ b/tests/api_resources/test_settings.py
@@ -29,7 +29,6 @@ def test_method_update_with_all_params(self, client: Supermemory) -> None:
setting = client.settings.update(
exclude_items="string",
filter_prompt="filterPrompt",
- filter_tags="string",
google_drive_client_id="googleDriveClientId",
google_drive_client_secret="googleDriveClientSecret",
google_drive_custom_key_enabled=True,
@@ -112,7 +111,6 @@ async def test_method_update_with_all_params(self, async_client: AsyncSupermemor
setting = await async_client.settings.update(
exclude_items="string",
filter_prompt="filterPrompt",
- filter_tags="string",
google_drive_client_id="googleDriveClientId",
google_drive_client_secret="googleDriveClientSecret",
google_drive_custom_key_enabled=True,
From 9c82bc7c2fff3e85ec8a8d3278b04741bedaf7d3 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Mon, 30 Jun 2025 02:03:01 +0000
Subject: [PATCH 4/8] chore(internal): codegen related update
---
.github/workflows/ci.yml | 3 +++
1 file changed, 3 insertions(+)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 6e203f87..c07d942b 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -17,6 +17,7 @@ jobs:
timeout-minutes: 10
name: lint
runs-on: ${{ github.repository == 'stainless-sdks/supermemory-new-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
+ if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
steps:
- uses: actions/checkout@v4
@@ -42,6 +43,7 @@ jobs:
contents: read
id-token: write
runs-on: depot-ubuntu-24.04
+ if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
steps:
- uses: actions/checkout@v4
@@ -62,6 +64,7 @@ jobs:
timeout-minutes: 10
name: test
runs-on: ${{ github.repository == 'stainless-sdks/supermemory-new-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
+ if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
steps:
- uses: actions/checkout@v4
From 0b20719ce022a872dd7334587317235b7a5562c3 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Mon, 30 Jun 2025 02:21:26 +0000
Subject: [PATCH 5/8] fix(ci): correct conditional
---
.github/workflows/ci.yml | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index c07d942b..b5d0fb11 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -36,14 +36,13 @@ jobs:
run: ./scripts/lint
upload:
- if: github.repository == 'stainless-sdks/supermemory-new-python'
+ if: github.repository == 'stainless-sdks/supermemory-new-python' && (github.event_name == 'push' || github.event.pull_request.head.repo.fork)
timeout-minutes: 10
name: upload
permissions:
contents: read
id-token: write
runs-on: depot-ubuntu-24.04
- if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
steps:
- uses: actions/checkout@v4
From 38f5701dff0cc09b4a42d1c86e6250ed4695783d Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Wed, 2 Jul 2025 04:57:06 +0000
Subject: [PATCH 6/8] chore(ci): change upload type
---
.github/workflows/ci.yml | 18 ++++++++++++++++--
scripts/utils/upload-artifact.sh | 12 +++++++-----
2 files changed, 23 insertions(+), 7 deletions(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index b5d0fb11..1c03ca75 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -35,10 +35,10 @@ jobs:
- name: Run lints
run: ./scripts/lint
- upload:
+ build:
if: github.repository == 'stainless-sdks/supermemory-new-python' && (github.event_name == 'push' || github.event.pull_request.head.repo.fork)
timeout-minutes: 10
- name: upload
+ name: build
permissions:
contents: read
id-token: write
@@ -46,6 +46,20 @@ jobs:
steps:
- uses: actions/checkout@v4
+ - name: Install Rye
+ run: |
+ curl -sSf https://rye.astral.sh/get | bash
+ echo "$HOME/.rye/shims" >> $GITHUB_PATH
+ env:
+ RYE_VERSION: '0.44.0'
+ RYE_INSTALL_OPTION: '--yes'
+
+ - name: Install dependencies
+ run: rye sync --all-features
+
+ - name: Run build
+ run: rye build
+
- name: Get GitHub OIDC Token
id: github-oidc
uses: actions/github-script@v6
diff --git a/scripts/utils/upload-artifact.sh b/scripts/utils/upload-artifact.sh
index 0772bc81..203177fc 100755
--- a/scripts/utils/upload-artifact.sh
+++ b/scripts/utils/upload-artifact.sh
@@ -1,7 +1,9 @@
#!/usr/bin/env bash
set -exuo pipefail
-RESPONSE=$(curl -X POST "$URL" \
+FILENAME=$(basename dist/*.whl)
+
+RESPONSE=$(curl -X POST "$URL?filename=$FILENAME" \
-H "Authorization: Bearer $AUTH" \
-H "Content-Type: application/json")
@@ -12,13 +14,13 @@ if [[ "$SIGNED_URL" == "null" ]]; then
exit 1
fi
-UPLOAD_RESPONSE=$(tar -cz . | curl -v -X PUT \
- -H "Content-Type: application/gzip" \
- --data-binary @- "$SIGNED_URL" 2>&1)
+UPLOAD_RESPONSE=$(curl -v -X PUT \
+ -H "Content-Type: binary/octet-stream" \
+ --data-binary "@dist/$FILENAME" "$SIGNED_URL" 2>&1)
if echo "$UPLOAD_RESPONSE" | grep -q "HTTP/[0-9.]* 200"; then
echo -e "\033[32mUploaded build to Stainless storage.\033[0m"
- echo -e "\033[32mInstallation: pip install --pre 'https://pkg.stainless.com/s/supermemory-new-python/$SHA'\033[0m"
+ echo -e "\033[32mInstallation: pip install 'https://pkg.stainless.com/s/supermemory-new-python/$SHA/$FILENAME'\033[0m"
else
echo -e "\033[31mFailed to upload artifact.\033[0m"
exit 1
From e7bfa6ef5804b758d3da98206ee643f9ae44ce0a Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Thu, 3 Jul 2025 16:16:54 +0000
Subject: [PATCH 7/8] feat(api): manual updates
---
.stats.yml | 4 +-
api.md | 2 +
src/supermemory_new/resources/connections.py | 79 +++++++++++++++++
src/supermemory_new/types/__init__.py | 1 +
.../types/connection_delete_by_id_response.py | 11 +++
tests/api_resources/test_connections.py | 85 +++++++++++++++++++
6 files changed, 180 insertions(+), 2 deletions(-)
create mode 100644 src/supermemory_new/types/connection_delete_by_id_response.py
diff --git a/.stats.yml b/.stats.yml
index 09dbde1d..3667d419 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
-configured_endpoints: 15
+configured_endpoints: 16
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/supermemory--inc%2Fsupermemory-new-1a2a84a9cc99c25a9d726bc9300a72871f9469e3ceacebd5e71fd37e87891318.yml
openapi_spec_hash: e71e86a645bc47a86664080c8697b8db
-config_hash: 98555becb03f89d0fcf2e35a0fa6a41b
+config_hash: b560219f71fa815fec30fe25ca5a71f5
diff --git a/api.md b/api.md
index b49df9c3..d7034d2e 100644
--- a/api.md
+++ b/api.md
@@ -52,6 +52,7 @@ Types:
from supermemory_new.types import (
ConnectionCreateResponse,
ConnectionListResponse,
+ ConnectionDeleteByIDResponse,
ConnectionDeleteByProviderResponse,
ConnectionGetByIDResponse,
ConnectionGetByTagsResponse,
@@ -63,6 +64,7 @@ Methods:
- client.connections.create(provider, \*\*params) -> ConnectionCreateResponse
- client.connections.list(\*\*params) -> ConnectionListResponse
+- client.connections.delete_by_id(connection_id) -> ConnectionDeleteByIDResponse
- client.connections.delete_by_provider(provider, \*\*params) -> ConnectionDeleteByProviderResponse
- client.connections.get_by_id(connection_id) -> ConnectionGetByIDResponse
- client.connections.get_by_tags(provider, \*\*params) -> ConnectionGetByTagsResponse
diff --git a/src/supermemory_new/resources/connections.py b/src/supermemory_new/resources/connections.py
index 27fdda8a..45c96034 100644
--- a/src/supermemory_new/resources/connections.py
+++ b/src/supermemory_new/resources/connections.py
@@ -30,6 +30,7 @@
from ..types.connection_create_response import ConnectionCreateResponse
from ..types.connection_get_by_id_response import ConnectionGetByIDResponse
from ..types.connection_get_by_tags_response import ConnectionGetByTagsResponse
+from ..types.connection_delete_by_id_response import ConnectionDeleteByIDResponse
from ..types.connection_list_documents_response import ConnectionListDocumentsResponse
from ..types.connection_delete_by_provider_response import ConnectionDeleteByProviderResponse
@@ -136,6 +137,39 @@ def list(
cast_to=ConnectionListResponse,
)
+ def delete_by_id(
+ self,
+ connection_id: str,
+ *,
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
+ # The extra values given here take precedence over values defined on the client or passed to this method.
+ extra_headers: Headers | None = None,
+ extra_query: Query | None = None,
+ extra_body: Body | None = None,
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
+ ) -> ConnectionDeleteByIDResponse:
+ """
+ Delete a specific connection by ID
+
+ Args:
+ extra_headers: Send extra headers
+
+ extra_query: Add additional query parameters to the request
+
+ extra_body: Add additional JSON properties to the request
+
+ timeout: Override the client-level default timeout for this request, in seconds
+ """
+ if not connection_id:
+ raise ValueError(f"Expected a non-empty value for `connection_id` but received {connection_id!r}")
+ return self._delete(
+ f"/v3/connections/{connection_id}",
+ options=make_request_options(
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
+ ),
+ cast_to=ConnectionDeleteByIDResponse,
+ )
+
def delete_by_provider(
self,
provider: Literal["notion", "google-drive", "onedrive"],
@@ -428,6 +462,39 @@ async def list(
cast_to=ConnectionListResponse,
)
+ async def delete_by_id(
+ self,
+ connection_id: str,
+ *,
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
+ # The extra values given here take precedence over values defined on the client or passed to this method.
+ extra_headers: Headers | None = None,
+ extra_query: Query | None = None,
+ extra_body: Body | None = None,
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
+ ) -> ConnectionDeleteByIDResponse:
+ """
+ Delete a specific connection by ID
+
+ Args:
+ extra_headers: Send extra headers
+
+ extra_query: Add additional query parameters to the request
+
+ extra_body: Add additional JSON properties to the request
+
+ timeout: Override the client-level default timeout for this request, in seconds
+ """
+ if not connection_id:
+ raise ValueError(f"Expected a non-empty value for `connection_id` but received {connection_id!r}")
+ return await self._delete(
+ f"/v3/connections/{connection_id}",
+ options=make_request_options(
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
+ ),
+ cast_to=ConnectionDeleteByIDResponse,
+ )
+
async def delete_by_provider(
self,
provider: Literal["notion", "google-drive", "onedrive"],
@@ -630,6 +697,9 @@ def __init__(self, connections: ConnectionsResource) -> None:
self.list = to_raw_response_wrapper(
connections.list,
)
+ self.delete_by_id = to_raw_response_wrapper(
+ connections.delete_by_id,
+ )
self.delete_by_provider = to_raw_response_wrapper(
connections.delete_by_provider,
)
@@ -657,6 +727,9 @@ def __init__(self, connections: AsyncConnectionsResource) -> None:
self.list = async_to_raw_response_wrapper(
connections.list,
)
+ self.delete_by_id = async_to_raw_response_wrapper(
+ connections.delete_by_id,
+ )
self.delete_by_provider = async_to_raw_response_wrapper(
connections.delete_by_provider,
)
@@ -684,6 +757,9 @@ def __init__(self, connections: ConnectionsResource) -> None:
self.list = to_streamed_response_wrapper(
connections.list,
)
+ self.delete_by_id = to_streamed_response_wrapper(
+ connections.delete_by_id,
+ )
self.delete_by_provider = to_streamed_response_wrapper(
connections.delete_by_provider,
)
@@ -711,6 +787,9 @@ def __init__(self, connections: AsyncConnectionsResource) -> None:
self.list = async_to_streamed_response_wrapper(
connections.list,
)
+ self.delete_by_id = async_to_streamed_response_wrapper(
+ connections.delete_by_id,
+ )
self.delete_by_provider = async_to_streamed_response_wrapper(
connections.delete_by_provider,
)
diff --git a/src/supermemory_new/types/__init__.py b/src/supermemory_new/types/__init__.py
index 9fe804d2..03f53719 100644
--- a/src/supermemory_new/types/__init__.py
+++ b/src/supermemory_new/types/__init__.py
@@ -22,6 +22,7 @@
from .connection_get_by_id_response import ConnectionGetByIDResponse as ConnectionGetByIDResponse
from .connection_get_by_tags_params import ConnectionGetByTagsParams as ConnectionGetByTagsParams
from .connection_get_by_tags_response import ConnectionGetByTagsResponse as ConnectionGetByTagsResponse
+from .connection_delete_by_id_response import ConnectionDeleteByIDResponse as ConnectionDeleteByIDResponse
from .connection_list_documents_params import ConnectionListDocumentsParams as ConnectionListDocumentsParams
from .connection_list_documents_response import ConnectionListDocumentsResponse as ConnectionListDocumentsResponse
from .connection_delete_by_provider_params import ConnectionDeleteByProviderParams as ConnectionDeleteByProviderParams
diff --git a/src/supermemory_new/types/connection_delete_by_id_response.py b/src/supermemory_new/types/connection_delete_by_id_response.py
new file mode 100644
index 00000000..4da42f4e
--- /dev/null
+++ b/src/supermemory_new/types/connection_delete_by_id_response.py
@@ -0,0 +1,11 @@
+# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+from .._models import BaseModel
+
+__all__ = ["ConnectionDeleteByIDResponse"]
+
+
+class ConnectionDeleteByIDResponse(BaseModel):
+ id: str
+
+ provider: str
diff --git a/tests/api_resources/test_connections.py b/tests/api_resources/test_connections.py
index e3d7a7a1..a220bcb4 100644
--- a/tests/api_resources/test_connections.py
+++ b/tests/api_resources/test_connections.py
@@ -14,6 +14,7 @@
ConnectionCreateResponse,
ConnectionGetByIDResponse,
ConnectionGetByTagsResponse,
+ ConnectionDeleteByIDResponse,
ConnectionListDocumentsResponse,
ConnectionDeleteByProviderResponse,
)
@@ -106,6 +107,48 @@ def test_streaming_response_list(self, client: Supermemory) -> None:
assert cast(Any, response.is_closed) is True
+ @pytest.mark.skip()
+ @parametrize
+ def test_method_delete_by_id(self, client: Supermemory) -> None:
+ connection = client.connections.delete_by_id(
+ "connectionId",
+ )
+ assert_matches_type(ConnectionDeleteByIDResponse, connection, path=["response"])
+
+ @pytest.mark.skip()
+ @parametrize
+ def test_raw_response_delete_by_id(self, client: Supermemory) -> None:
+ response = client.connections.with_raw_response.delete_by_id(
+ "connectionId",
+ )
+
+ assert response.is_closed is True
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ connection = response.parse()
+ assert_matches_type(ConnectionDeleteByIDResponse, connection, path=["response"])
+
+ @pytest.mark.skip()
+ @parametrize
+ def test_streaming_response_delete_by_id(self, client: Supermemory) -> None:
+ with client.connections.with_streaming_response.delete_by_id(
+ "connectionId",
+ ) as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+
+ connection = response.parse()
+ assert_matches_type(ConnectionDeleteByIDResponse, connection, path=["response"])
+
+ assert cast(Any, response.is_closed) is True
+
+ @pytest.mark.skip()
+ @parametrize
+ def test_path_params_delete_by_id(self, client: Supermemory) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `connection_id` but received ''"):
+ client.connections.with_raw_response.delete_by_id(
+ "",
+ )
+
@pytest.mark.skip()
@parametrize
def test_method_delete_by_provider(self, client: Supermemory) -> None:
@@ -396,6 +439,48 @@ async def test_streaming_response_list(self, async_client: AsyncSupermemory) ->
assert cast(Any, response.is_closed) is True
+ @pytest.mark.skip()
+ @parametrize
+ async def test_method_delete_by_id(self, async_client: AsyncSupermemory) -> None:
+ connection = await async_client.connections.delete_by_id(
+ "connectionId",
+ )
+ assert_matches_type(ConnectionDeleteByIDResponse, connection, path=["response"])
+
+ @pytest.mark.skip()
+ @parametrize
+ async def test_raw_response_delete_by_id(self, async_client: AsyncSupermemory) -> None:
+ response = await async_client.connections.with_raw_response.delete_by_id(
+ "connectionId",
+ )
+
+ assert response.is_closed is True
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ connection = await response.parse()
+ assert_matches_type(ConnectionDeleteByIDResponse, connection, path=["response"])
+
+ @pytest.mark.skip()
+ @parametrize
+ async def test_streaming_response_delete_by_id(self, async_client: AsyncSupermemory) -> None:
+ async with async_client.connections.with_streaming_response.delete_by_id(
+ "connectionId",
+ ) as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+
+ connection = await response.parse()
+ assert_matches_type(ConnectionDeleteByIDResponse, connection, path=["response"])
+
+ assert cast(Any, response.is_closed) is True
+
+ @pytest.mark.skip()
+ @parametrize
+ async def test_path_params_delete_by_id(self, async_client: AsyncSupermemory) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `connection_id` but received ''"):
+ await async_client.connections.with_raw_response.delete_by_id(
+ "",
+ )
+
@pytest.mark.skip()
@parametrize
async def test_method_delete_by_provider(self, async_client: AsyncSupermemory) -> None:
From 23e20a2679f3358f32ee1b1a225987cb8a0b218c Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Thu, 3 Jul 2025 16:17:12 +0000
Subject: [PATCH 8/8] release: 3.0.0-alpha.21
---
.release-please-manifest.json | 2 +-
CHANGELOG.md | 22 ++++++++++++++++++++++
pyproject.toml | 2 +-
src/supermemory_new/_version.py | 2 +-
4 files changed, 25 insertions(+), 3 deletions(-)
diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index df6e9c55..6e1a4864 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,3 +1,3 @@
{
- ".": "3.0.0-alpha.20"
+ ".": "3.0.0-alpha.21"
}
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
index c8881eaa..ea4431f9 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,27 @@
# Changelog
+## 3.0.0-alpha.21 (2025-07-03)
+
+Full Changelog: [v3.0.0-alpha.20...v3.0.0-alpha.21](https://github.com/supermemoryai/python-sdk/compare/v3.0.0-alpha.20...v3.0.0-alpha.21)
+
+### Features
+
+* **api:** api update ([8b94b9e](https://github.com/supermemoryai/python-sdk/commit/8b94b9e043564f8daf605289683270dba97ca323))
+* **api:** api update ([7b7eda7](https://github.com/supermemoryai/python-sdk/commit/7b7eda703a9d3dcf9b235a5045829c69147240c6))
+* **api:** manual updates ([e7bfa6e](https://github.com/supermemoryai/python-sdk/commit/e7bfa6ef5804b758d3da98206ee643f9ae44ce0a))
+
+
+### Bug Fixes
+
+* **ci:** correct conditional ([0b20719](https://github.com/supermemoryai/python-sdk/commit/0b20719ce022a872dd7334587317235b7a5562c3))
+
+
+### Chores
+
+* **ci:** change upload type ([38f5701](https://github.com/supermemoryai/python-sdk/commit/38f5701dff0cc09b4a42d1c86e6250ed4695783d))
+* **ci:** only run for pushes and fork pull requests ([901a43c](https://github.com/supermemoryai/python-sdk/commit/901a43c0c06fb8ed2ee2cfc3c56d44002b108a06))
+* **internal:** codegen related update ([9c82bc7](https://github.com/supermemoryai/python-sdk/commit/9c82bc7c2fff3e85ec8a8d3278b04741bedaf7d3))
+
## 3.0.0-alpha.20 (2025-06-27)
Full Changelog: [v3.0.0-alpha.19...v3.0.0-alpha.20](https://github.com/supermemoryai/python-sdk/compare/v3.0.0-alpha.19...v3.0.0-alpha.20)
diff --git a/pyproject.toml b/pyproject.toml
index 618b735f..4318d690 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[project]
name = "supermemory"
-version = "3.0.0-alpha.20"
+version = "3.0.0-alpha.21"
description = "The official Python library for the supermemory API"
dynamic = ["readme"]
license = "Apache-2.0"
diff --git a/src/supermemory_new/_version.py b/src/supermemory_new/_version.py
index 4482b497..48f3cfd5 100644
--- a/src/supermemory_new/_version.py
+++ b/src/supermemory_new/_version.py
@@ -1,4 +1,4 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
__title__ = "supermemory_new"
-__version__ = "3.0.0-alpha.20" # x-release-please-version
+__version__ = "3.0.0-alpha.21" # x-release-please-version