Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "3.52.0"
".": "3.53.0"
}
4 changes: 2 additions & 2 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 26
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/supermemory--inc/supermemory-new-c891498aa1f63de961e1b30d81ab6b0491f95e54e4019cbe23a026acef537de0.yml
openapi_spec_hash: c58db94b33108879f8b96e56ff893974
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/supermemory--inc/supermemory-new-cf7d69026df2cbada6513c26d504ea6e80ca02f898db76d1380f70132fcfb51b.yml
openapi_spec_hash: 8572004105e03a670954ef78b900663d
config_hash: cde97ef3188581c5f4924c633ec33ddb
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# Changelog

## 3.53.0 (2026-07-23)

Full Changelog: [v3.52.0...v3.53.0](https://github.com/supermemoryai/python-sdk/compare/v3.52.0...v3.53.0)

### Features

* **api:** api update ([d2ba42d](https://github.com/supermemoryai/python-sdk/commit/d2ba42d4d58bbc3b0eb9d8e03297a61f823eacca))
* **api:** api update ([570a8dc](https://github.com/supermemoryai/python-sdk/commit/570a8dc4904654a3ee1aa26c76fc5fe410ac51f8))

## 3.52.0 (2026-07-21)

Full Changelog: [v3.51.0...v3.52.0](https://github.com/supermemoryai/python-sdk/compare/v3.51.0...v3.52.0)
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "supermemory"
version = "3.52.0"
version = "3.53.0"
description = "The official Python library for the supermemory API"
dynamic = ["readme"]
license = "Apache-2.0"
Expand Down
2 changes: 1 addition & 1 deletion src/supermemory/_version.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

__title__ = "supermemory"
__version__ = "3.52.0" # x-release-please-version
__version__ = "3.53.0" # x-release-please-version
123 changes: 121 additions & 2 deletions src/supermemory/resources/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
from __future__ import annotations

from typing import Dict, Union, Iterable, Optional
from typing_extensions import overload

import httpx

Expand Down Expand Up @@ -46,6 +47,33 @@ def with_streaming_response(self) -> SettingsResourceWithStreamingResponse:
"""
return SettingsResourceWithStreamingResponse(self)

@overload
def update(
self,
*,
workspace_prompt: Optional[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,
) -> SettingUpdateResponse:
"""
Update settings for an organization

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
"""
...

@overload
def update(
self,
*,
Expand All @@ -65,7 +93,7 @@ def update(
onedrive_client_id: Optional[str] | Omit = omit,
onedrive_client_secret: Optional[str] | Omit = omit,
onedrive_custom_key_enabled: Optional[bool] | Omit = omit,
profile_buckets: Iterable[setting_update_params.ProfileBucket] | Omit = omit,
profile_buckets: Iterable[setting_update_params.Variant1ProfileBucket] | Omit = omit,
should_llm_filter: Optional[bool] | Omit = omit,
# 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.
Expand All @@ -88,10 +116,42 @@ def update(

timeout: Override the client-level default timeout for this request, in seconds
"""
...

def update(
self,
*,
workspace_prompt: Optional[str] | Omit = omit,
chunk_size: Optional[int] | Omit = omit,
exclude_items: Union[str, float, bool, Dict[str, object], Iterable[object], None] | Omit = omit,
filter_prompt: Optional[str] | Omit = omit,
github_client_id: Optional[str] | Omit = omit,
github_client_secret: Optional[str] | Omit = omit,
github_custom_key_enabled: Optional[bool] | Omit = omit,
google_drive_client_id: Optional[str] | Omit = omit,
google_drive_client_secret: Optional[str] | Omit = omit,
google_drive_custom_key_enabled: Optional[bool] | Omit = omit,
include_items: Union[str, float, bool, Dict[str, object], Iterable[object], None] | Omit = omit,
notion_client_id: Optional[str] | Omit = omit,
notion_client_secret: Optional[str] | Omit = omit,
notion_custom_key_enabled: Optional[bool] | Omit = omit,
onedrive_client_id: Optional[str] | Omit = omit,
onedrive_client_secret: Optional[str] | Omit = omit,
onedrive_custom_key_enabled: Optional[bool] | Omit = omit,
profile_buckets: Iterable[setting_update_params.Variant1ProfileBucket] | Omit = omit,
should_llm_filter: Optional[bool] | Omit = omit,
# 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,
) -> SettingUpdateResponse:
return self._patch(
"/v3/settings",
body=maybe_transform(
{
"workspace_prompt": workspace_prompt,
"chunk_size": chunk_size,
"exclude_items": exclude_items,
"filter_prompt": filter_prompt,
Expand Down Expand Up @@ -161,6 +221,33 @@ def with_streaming_response(self) -> AsyncSettingsResourceWithStreamingResponse:
"""
return AsyncSettingsResourceWithStreamingResponse(self)

@overload
async def update(
self,
*,
workspace_prompt: Optional[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,
) -> SettingUpdateResponse:
"""
Update settings for an organization

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
"""
...

@overload
async def update(
self,
*,
Expand All @@ -180,7 +267,7 @@ async def update(
onedrive_client_id: Optional[str] | Omit = omit,
onedrive_client_secret: Optional[str] | Omit = omit,
onedrive_custom_key_enabled: Optional[bool] | Omit = omit,
profile_buckets: Iterable[setting_update_params.ProfileBucket] | Omit = omit,
profile_buckets: Iterable[setting_update_params.Variant1ProfileBucket] | Omit = omit,
should_llm_filter: Optional[bool] | Omit = omit,
# 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.
Expand All @@ -203,10 +290,42 @@ async def update(

timeout: Override the client-level default timeout for this request, in seconds
"""
...

async def update(
self,
*,
workspace_prompt: Optional[str] | Omit = omit,
chunk_size: Optional[int] | Omit = omit,
exclude_items: Union[str, float, bool, Dict[str, object], Iterable[object], None] | Omit = omit,
filter_prompt: Optional[str] | Omit = omit,
github_client_id: Optional[str] | Omit = omit,
github_client_secret: Optional[str] | Omit = omit,
github_custom_key_enabled: Optional[bool] | Omit = omit,
google_drive_client_id: Optional[str] | Omit = omit,
google_drive_client_secret: Optional[str] | Omit = omit,
google_drive_custom_key_enabled: Optional[bool] | Omit = omit,
include_items: Union[str, float, bool, Dict[str, object], Iterable[object], None] | Omit = omit,
notion_client_id: Optional[str] | Omit = omit,
notion_client_secret: Optional[str] | Omit = omit,
notion_custom_key_enabled: Optional[bool] | Omit = omit,
onedrive_client_id: Optional[str] | Omit = omit,
onedrive_client_secret: Optional[str] | Omit = omit,
onedrive_custom_key_enabled: Optional[bool] | Omit = omit,
profile_buckets: Iterable[setting_update_params.Variant1ProfileBucket] | Omit = omit,
should_llm_filter: Optional[bool] | Omit = omit,
# 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,
) -> SettingUpdateResponse:
return await self._patch(
"/v3/settings",
body=await async_maybe_transform(
{
"workspace_prompt": workspace_prompt,
"chunk_size": chunk_size,
"exclude_items": exclude_items,
"filter_prompt": filter_prompt,
Expand Down
5 changes: 5 additions & 0 deletions src/supermemory/types/connection_get_by_id_response.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from typing import Dict, List, Optional
from typing_extensions import Literal

from pydantic import Field as FieldInfo

Expand All @@ -16,6 +17,10 @@ class LastSyncRun(BaseModel):

error: Optional[str] = None

error_code: Optional[
Literal["auth_expired", "rate_limited", "plan_required", "provider_unavailable", "internal"]
] = FieldInfo(alias="errorCode", default=None)

started_at: Optional[str] = FieldInfo(alias="startedAt", default=None)


Expand Down
5 changes: 5 additions & 0 deletions src/supermemory/types/connection_get_by_tag_response.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from typing import Dict, List, Optional
from typing_extensions import Literal

from pydantic import Field as FieldInfo

Expand All @@ -16,6 +17,10 @@ class LastSyncRun(BaseModel):

error: Optional[str] = None

error_code: Optional[
Literal["auth_expired", "rate_limited", "plan_required", "provider_unavailable", "internal"]
] = FieldInfo(alias="errorCode", default=None)

started_at: Optional[str] = FieldInfo(alias="startedAt", default=None)


Expand Down
6 changes: 5 additions & 1 deletion src/supermemory/types/connection_list_response.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from typing import Dict, List, Optional
from typing_extensions import TypeAlias
from typing_extensions import Literal, TypeAlias

from pydantic import Field as FieldInfo

Expand All @@ -17,6 +17,10 @@ class ConnectionListResponseItemLastSyncRun(BaseModel):

error: Optional[str] = None

error_code: Optional[
Literal["auth_expired", "rate_limited", "plan_required", "provider_unavailable", "internal"]
] = FieldInfo(alias="errorCode", default=None)

started_at: Optional[str] = FieldInfo(alias="startedAt", default=None)


Expand Down
2 changes: 2 additions & 0 deletions src/supermemory/types/setting_get_response.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,3 +60,5 @@ class SettingGetResponse(BaseModel):
"""Profile bucket definitions"""

should_llm_filter: Optional[bool] = FieldInfo(alias="shouldLLMFilter", default=None)

workspace_prompt: Optional[str] = FieldInfo(alias="workspacePrompt", default=None)
17 changes: 12 additions & 5 deletions src/supermemory/types/setting_update_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,18 @@
from __future__ import annotations

from typing import Dict, Union, Iterable, Optional
from typing_extensions import Required, Annotated, TypedDict
from typing_extensions import Required, Annotated, TypeAlias, TypedDict

from .._utils import PropertyInfo

__all__ = ["SettingUpdateParams", "ProfileBucket"]
__all__ = ["SettingUpdateParams", "Variant0", "Variant1", "Variant1ProfileBucket"]


class SettingUpdateParams(TypedDict, total=False):
class Variant0(TypedDict, total=False):
workspace_prompt: Required[Annotated[Optional[str], PropertyInfo(alias="workspacePrompt")]]


class Variant1(TypedDict, total=False):
chunk_size: Annotated[Optional[int], PropertyInfo(alias="chunkSize")]

exclude_items: Annotated[
Expand Down Expand Up @@ -47,17 +51,20 @@ class SettingUpdateParams(TypedDict, total=False):

onedrive_custom_key_enabled: Annotated[Optional[bool], PropertyInfo(alias="onedriveCustomKeyEnabled")]

profile_buckets: Annotated[Iterable[ProfileBucket], PropertyInfo(alias="profileBuckets")]
profile_buckets: Annotated[Iterable[Variant1ProfileBucket], PropertyInfo(alias="profileBuckets")]
"""Profile bucket definitions"""

should_llm_filter: Annotated[Optional[bool], PropertyInfo(alias="shouldLLMFilter")]


class ProfileBucket(TypedDict, total=False):
class Variant1ProfileBucket(TypedDict, total=False):
"""Definition of a single profile bucket"""

key: Required[str]
"""Stable slug for the bucket, stored on each memory"""

description: str
"""What belongs in this bucket — used to guide the ingestion classifier."""


SettingUpdateParams: TypeAlias = Union[Variant0, Variant1]
2 changes: 2 additions & 0 deletions src/supermemory/types/setting_update_response.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,8 @@ class Updated(BaseModel):

should_llm_filter: Optional[bool] = FieldInfo(alias="shouldLLMFilter", default=None)

workspace_prompt: Optional[str] = FieldInfo(alias="workspacePrompt", default=None)


class SettingUpdateResponse(BaseModel):
org_id: str = FieldInfo(alias="orgId")
Expand Down
Loading