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