Skip to content

Commit 3d367ee

Browse files
MaheshtheDevgithub-actions[bot]
authored andcommitted
chore: regenerate SDK from v5 OpenAPI spec (5.0.1)
1 parent 67c1031 commit 3d367ee

29 files changed

Lines changed: 2053 additions & 674 deletions

‎fern/openapi.json‎

Lines changed: 1058 additions & 641 deletions
Large diffs are not rendered by default.

‎pyproject.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "supermemory"
3-
version = "5.0.0"
3+
version = "5.0.1"
44
description = "The official Python library for the Supermemory API"
55
readme = "README.md"
66
license = "Apache-2.0"

‎reference.md‎

Lines changed: 145 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -476,7 +476,7 @@ client.list(
476476
<dl>
477477
<dd>
478478

479-
**include:** `typing.Optional[ListRequestInclude]` — Optional extras, matching search's include
479+
**include:** `typing.Optional[ListRequestInclude]` — Optional extras
480480

481481
</dd>
482482
</dl>
@@ -1797,7 +1797,7 @@ client.memories.forget_matching(
17971797
<dl>
17981798
<dd>
17991799

1800-
Retrieve one memory by ID. Optionally include its version history and connected memories (each list walks outward up to relatedLimit, nearest first) and its source document.
1800+
Retrieve one memory by ID. Optionally include its versions (up to three steps away, nearest first), its direct extends and derives links, up to relatedLimit each, and its source document.
18011801
</dd>
18021802
</dl>
18031803
</dd>
@@ -1863,7 +1863,7 @@ client.memories.get(
18631863
<dl>
18641864
<dd>
18651865

1866-
**related_limit:** `typing.Optional[int]` — Maximum parents, children and siblings to return, applied to each list separately. Each list walks outward from the memory, nearest first, until it reaches this many.
1866+
**related_limit:** `typing.Optional[int]` — Maximum parents, children and siblings to return, applied to each list separately. Parents and children are earlier and later versions up to three steps away, nearest first; siblings are direct extends or derives links.
18671867

18681868
</dd>
18691869
</dl>
@@ -2973,3 +2973,145 @@ client.organization.update(
29732973
</dl>
29742974
</details>
29752975

2976+
## Feedback
2977+
<details><summary><code>client.feedback.<a href="src/supermemory/feedback/client.py">post_feedback</a>(...) -> PostFeedbackResponse</code></summary>
2978+
<dl>
2979+
<dd>
2980+
2981+
#### 📝 Description
2982+
2983+
<dl>
2984+
<dd>
2985+
2986+
<dl>
2987+
<dd>
2988+
2989+
Report a bug, request a feature or flag a docs problem to the Supermemory team. Built for AI agents: send structured JSON and an engineer picks it up.
2990+
2991+
Authentication is optional for requests with a usable client IP. Cross-zone Cloudflare Worker requests and requests without a client IP must provide an API key. With an API key the limit is 3 submissions per organization per UTC day; without one it is 3 per IPv4 address or IPv6 /64, shared with everyone behind that address. Authenticated submissions have a separate 200/day pool; anonymous submissions share a 20/day pool. Pass your API key to get your own quota.
2992+
</dd>
2993+
</dl>
2994+
</dd>
2995+
</dl>
2996+
2997+
#### 🔌 Usage
2998+
2999+
<dl>
3000+
<dd>
3001+
3002+
<dl>
3003+
<dd>
3004+
3005+
```python
3006+
from supermemory import Supermemory
3007+
from supermemory.environment import SupermemoryEnvironment
3008+
3009+
client = Supermemory(
3010+
api_key="<token>",
3011+
environment=SupermemoryEnvironment.DEFAULT,
3012+
)
3013+
3014+
client.feedback.post_feedback(
3015+
type="bug",
3016+
title="Search returns no results for documents still in indexing",
3017+
description="Documents added less than a minute ago are missing from /v4/search results even though GET /v3/documents/{id} reports status done.",
3018+
)
3019+
3020+
```
3021+
</dd>
3022+
</dl>
3023+
</dd>
3024+
</dl>
3025+
3026+
#### ⚙️ Parameters
3027+
3028+
<dl>
3029+
<dd>
3030+
3031+
<dl>
3032+
<dd>
3033+
3034+
**type:** `PostFeedbackRequestType` — Kind of feedback
3035+
3036+
</dd>
3037+
</dl>
3038+
3039+
<dl>
3040+
<dd>
3041+
3042+
**title:** `str` — One-line summary
3043+
3044+
</dd>
3045+
</dl>
3046+
3047+
<dl>
3048+
<dd>
3049+
3050+
**description:** `str` — What happened, with enough detail for an engineer to act on it
3051+
3052+
</dd>
3053+
</dl>
3054+
3055+
<dl>
3056+
<dd>
3057+
3058+
**endpoint:** `typing.Optional[str]` — API operation the feedback is about
3059+
3060+
</dd>
3061+
</dl>
3062+
3063+
<dl>
3064+
<dd>
3065+
3066+
**request_id:** `typing.Optional[str]` — Request ID of a failing call, if there is one
3067+
3068+
</dd>
3069+
</dl>
3070+
3071+
<dl>
3072+
<dd>
3073+
3074+
**expected:** `typing.Optional[str]` — What you expected to happen
3075+
3076+
</dd>
3077+
</dl>
3078+
3079+
<dl>
3080+
<dd>
3081+
3082+
**actual:** `typing.Optional[str]` — What actually happened
3083+
3084+
</dd>
3085+
</dl>
3086+
3087+
<dl>
3088+
<dd>
3089+
3090+
**client:** `typing.Optional[str]` — Agent, tool or SDK sending the feedback
3091+
3092+
</dd>
3093+
</dl>
3094+
3095+
<dl>
3096+
<dd>
3097+
3098+
**contact_email:** `typing.Optional[str]` — Where to reach you about this feedback
3099+
3100+
</dd>
3101+
</dl>
3102+
3103+
<dl>
3104+
<dd>
3105+
3106+
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
3107+
3108+
</dd>
3109+
</dl>
3110+
</dd>
3111+
</dl>
3112+
3113+
3114+
</dd>
3115+
</dl>
3116+
</details>
3117+

‎src/supermemory/__init__.py‎

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,14 +150,17 @@
150150
WebCrawlerConfig,
151151
)
152152
from .errors import (
153+
BadGatewayError,
153154
ForbiddenError,
154155
PaymentRequiredError,
155156
ServiceUnavailableError,
157+
TooManyRequestsError,
156158
UnauthorizedError,
157159
)
158-
from . import connectors, documents, memories, namespaces, organization, profiles
160+
from . import connectors, documents, feedback, memories, namespaces, organization, profiles
159161
from ._default_clients import DefaultAioHttpClient, DefaultAsyncHttpxClient
160162
from .environment import SupermemoryEnvironment
163+
from .feedback import PostFeedbackRequestType, PostFeedbackResponse, PostFeedbackResponseParams
161164
from .requests import (
162165
BadRequestErrorBodyParams,
163166
BatchAddItemResultParams,
@@ -276,6 +279,7 @@
276279
WebCrawlerConfigParams,
277280
)
278281
_dynamic_imports: typing.Dict[str, str] = {
282+
"BadGatewayError": ".errors",
279283
"BadRequestErrorBody": ".types",
280284
"BadRequestErrorBodyParams": ".requests",
281285
"BatchAddItemResult": ".types",
@@ -494,6 +498,9 @@
494498
"Pagination": ".types",
495499
"PaginationParams": ".requests",
496500
"PaymentRequiredError": ".errors",
501+
"PostFeedbackRequestType": ".feedback",
502+
"PostFeedbackResponse": ".feedback",
503+
"PostFeedbackResponseParams": ".feedback",
497504
"Profile": ".types",
498505
"ProfileBuckets": ".types",
499506
"ProfileBucketsParams": ".requests",
@@ -530,6 +537,7 @@
530537
"SortOrder": ".types",
531538
"SupermemoryEnvironment": ".environment",
532539
"TaskType": ".types",
540+
"TooManyRequestsError": ".errors",
533541
"UnauthorizedError": ".errors",
534542
"ValidationErrorResponse": ".types",
535543
"ValidationErrorResponseErrorItem": ".types",
@@ -541,6 +549,7 @@
541549
"WebCrawlerConfigParams": ".requests",
542550
"connectors": ".connectors",
543551
"documents": ".documents",
552+
"feedback": ".feedback",
544553
"memories": ".memories",
545554
"namespaces": ".namespaces",
546555
"organization": ".organization",
@@ -571,6 +580,7 @@ def __dir__():
571580

572581
__all__ = [
573582
"AsyncSupermemory",
583+
"BadGatewayError",
574584
"BadRequestError",
575585
"BadRequestErrorBody",
576586
"BadRequestErrorBodyParams",
@@ -793,6 +803,9 @@ def __dir__():
793803
"Pagination",
794804
"PaginationParams",
795805
"PaymentRequiredError",
806+
"PostFeedbackRequestType",
807+
"PostFeedbackResponse",
808+
"PostFeedbackResponseParams",
796809
"Profile",
797810
"ProfileBuckets",
798811
"ProfileBucketsParams",
@@ -830,6 +843,7 @@ def __dir__():
830843
"Supermemory",
831844
"SupermemoryEnvironment",
832845
"TaskType",
846+
"TooManyRequestsError",
833847
"UnauthorizedError",
834848
"ValidationErrorResponse",
835849
"ValidationErrorResponseErrorItem",
@@ -841,6 +855,7 @@ def __dir__():
841855
"WebCrawlerConfigParams",
842856
"connectors",
843857
"documents",
858+
"feedback",
844859
"memories",
845860
"namespaces",
846861
"organization",

‎src/supermemory/client.py‎

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
if typing.TYPE_CHECKING:
3434
from .connectors.client import AsyncConnectorsClient, ConnectorsClient
3535
from .documents.client import AsyncDocumentsClient, DocumentsClient
36+
from .feedback.client import AsyncFeedbackClient, FeedbackClient
3637
from .memories.client import AsyncMemoriesClient, MemoriesClient
3738
from .namespaces.client import AsyncNamespacesClient, NamespacesClient
3839
from .organization.client import AsyncOrganizationClient, OrganizationClient
@@ -136,6 +137,7 @@ def __init__(
136137
self._connectors: typing.Optional[ConnectorsClient] = None
137138
self._namespaces: typing.Optional[NamespacesClient] = None
138139
self._organization: typing.Optional[OrganizationClient] = None
140+
self._feedback: typing.Optional[FeedbackClient] = None
139141

140142
@property
141143
def with_raw_response(self) -> RawSupermemory:
@@ -408,7 +410,7 @@ def list(
408410
Type-safe metadata conditions applied before pagination
409411
410412
include : typing.Optional[ListRequestIncludeParams]
411-
Optional extras, matching search's include
413+
Optional extras
412414
413415
request_options : typing.Optional[RequestOptions]
414416
Request-specific configuration.
@@ -493,6 +495,14 @@ def organization(self):
493495
self._organization = OrganizationClient(client_wrapper=self._client_wrapper)
494496
return self._organization
495497

498+
@property
499+
def feedback(self):
500+
if self._feedback is None:
501+
from .feedback.client import FeedbackClient # noqa: E402
502+
503+
self._feedback = FeedbackClient(client_wrapper=self._client_wrapper)
504+
return self._feedback
505+
496506

497507
def _make_default_async_client(
498508
timeout: typing.Optional[float],
@@ -610,6 +620,7 @@ def __init__(
610620
self._connectors: typing.Optional[AsyncConnectorsClient] = None
611621
self._namespaces: typing.Optional[AsyncNamespacesClient] = None
612622
self._organization: typing.Optional[AsyncOrganizationClient] = None
623+
self._feedback: typing.Optional[AsyncFeedbackClient] = None
613624

614625
@property
615626
def with_raw_response(self) -> AsyncRawSupermemory:
@@ -908,7 +919,7 @@ async def list(
908919
Type-safe metadata conditions applied before pagination
909920
910921
include : typing.Optional[ListRequestIncludeParams]
911-
Optional extras, matching search's include
922+
Optional extras
912923
913924
request_options : typing.Optional[RequestOptions]
914925
Request-specific configuration.
@@ -1001,6 +1012,14 @@ def organization(self):
10011012
self._organization = AsyncOrganizationClient(client_wrapper=self._client_wrapper)
10021013
return self._organization
10031014

1015+
@property
1016+
def feedback(self):
1017+
if self._feedback is None:
1018+
from .feedback.client import AsyncFeedbackClient # noqa: E402
1019+
1020+
self._feedback = AsyncFeedbackClient(client_wrapper=self._client_wrapper)
1021+
return self._feedback
1022+
10041023

10051024
def _get_base_url(*, base_url: typing.Optional[str] = None, environment: SupermemoryEnvironment) -> str:
10061025
if base_url is not None:

‎src/supermemory/core/client_wrapper.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ def get_headers(self) -> typing.Dict[str, str]:
3333
import platform
3434

3535
headers: typing.Dict[str, str] = {
36-
"User-Agent": "supermemory/5.0.0",
36+
"User-Agent": "supermemory/5.0.1",
3737
"X-Fern-Language": "Python",
3838
"X-Fern-Runtime": f"python/{platform.python_version()}",
3939
"X-Fern-Platform": f"{platform.system().lower()}/{platform.release()}",

‎src/supermemory/errors/__init__.py‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,26 @@
66
from importlib import import_module
77

88
if typing.TYPE_CHECKING:
9+
from .bad_gateway_error import BadGatewayError
910
from .bad_request_error import BadRequestError
1011
from .conflict_error import ConflictError
1112
from .forbidden_error import ForbiddenError
1213
from .internal_server_error import InternalServerError
1314
from .not_found_error import NotFoundError
1415
from .payment_required_error import PaymentRequiredError
1516
from .service_unavailable_error import ServiceUnavailableError
17+
from .too_many_requests_error import TooManyRequestsError
1618
from .unauthorized_error import UnauthorizedError
1719
_dynamic_imports: typing.Dict[str, str] = {
20+
"BadGatewayError": ".bad_gateway_error",
1821
"BadRequestError": ".bad_request_error",
1922
"ConflictError": ".conflict_error",
2023
"ForbiddenError": ".forbidden_error",
2124
"InternalServerError": ".internal_server_error",
2225
"NotFoundError": ".not_found_error",
2326
"PaymentRequiredError": ".payment_required_error",
2427
"ServiceUnavailableError": ".service_unavailable_error",
28+
"TooManyRequestsError": ".too_many_requests_error",
2529
"UnauthorizedError": ".unauthorized_error",
2630
}
2731

@@ -48,12 +52,14 @@ def __dir__():
4852

4953

5054
__all__ = [
55+
"BadGatewayError",
5156
"BadRequestError",
5257
"ConflictError",
5358
"ForbiddenError",
5459
"InternalServerError",
5560
"NotFoundError",
5661
"PaymentRequiredError",
5762
"ServiceUnavailableError",
63+
"TooManyRequestsError",
5864
"UnauthorizedError",
5965
]

0 commit comments

Comments
 (0)