supermemory 3.0.0a27__tar.gz → 3.0.0a29__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of supermemory might be problematic. Click here for more details.

Files changed (105) hide show
  1. supermemory-3.0.0a29/.release-please-manifest.json +3 -0
  2. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/CHANGELOG.md +30 -0
  3. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/PKG-INFO +1 -1
  4. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/api.md +2 -1
  5. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/pyproject.toml +2 -1
  6. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_models.py +1 -1
  7. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_version.py +1 -1
  8. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/resources/connections.py +7 -7
  9. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/resources/memories.py +38 -4
  10. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/__init__.py +1 -0
  11. supermemory-3.0.0a29/src/supermemory/types/connection_import_response.py +7 -0
  12. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/memory_add_params.py +9 -2
  13. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/memory_list_params.py +6 -0
  14. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/memory_list_response.py +3 -0
  15. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/memory_update_params.py +9 -2
  16. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/tests/api_resources/test_connections.py +8 -8
  17. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/tests/api_resources/test_memories.py +6 -0
  18. supermemory-3.0.0a27/.release-please-manifest.json +0 -3
  19. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/.gitignore +0 -0
  20. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/CONTRIBUTING.md +0 -0
  21. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/LICENSE +0 -0
  22. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/README.md +0 -0
  23. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/SECURITY.md +0 -0
  24. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/bin/check-release-environment +0 -0
  25. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/bin/publish-pypi +0 -0
  26. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/examples/.keep +0 -0
  27. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/mypy.ini +0 -0
  28. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/noxfile.py +0 -0
  29. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/release-please-config.json +0 -0
  30. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/requirements-dev.lock +0 -0
  31. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/requirements.lock +0 -0
  32. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/__init__.py +0 -0
  33. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_base_client.py +0 -0
  34. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_client.py +0 -0
  35. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_compat.py +0 -0
  36. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_constants.py +0 -0
  37. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_exceptions.py +0 -0
  38. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_files.py +0 -0
  39. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_qs.py +0 -0
  40. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_resource.py +0 -0
  41. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_response.py +0 -0
  42. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_streaming.py +0 -0
  43. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_types.py +0 -0
  44. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_utils/__init__.py +0 -0
  45. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_utils/_logs.py +0 -0
  46. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_utils/_proxy.py +0 -0
  47. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_utils/_reflection.py +0 -0
  48. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_utils/_resources_proxy.py +0 -0
  49. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_utils/_streams.py +0 -0
  50. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_utils/_sync.py +0 -0
  51. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_utils/_transform.py +0 -0
  52. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_utils/_typing.py +0 -0
  53. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_utils/_utils.py +0 -0
  54. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/lib/.keep +0 -0
  55. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/py.typed +0 -0
  56. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/resources/__init__.py +0 -0
  57. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/resources/search.py +0 -0
  58. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/resources/settings.py +0 -0
  59. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/connection_create_params.py +0 -0
  60. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/connection_create_response.py +0 -0
  61. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/connection_delete_by_id_response.py +0 -0
  62. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/connection_delete_by_provider_params.py +0 -0
  63. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/connection_delete_by_provider_response.py +0 -0
  64. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/connection_get_by_id_response.py +0 -0
  65. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/connection_get_by_tags_params.py +0 -0
  66. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/connection_get_by_tags_response.py +0 -0
  67. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/connection_import_params.py +0 -0
  68. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/connection_list_documents_params.py +0 -0
  69. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/connection_list_documents_response.py +0 -0
  70. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/connection_list_params.py +0 -0
  71. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/connection_list_response.py +0 -0
  72. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/memory_add_response.py +0 -0
  73. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/memory_get_response.py +0 -0
  74. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/memory_update_response.py +0 -0
  75. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/memory_upload_file_params.py +0 -0
  76. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/memory_upload_file_response.py +0 -0
  77. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/search_documents_params.py +0 -0
  78. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/search_documents_response.py +0 -0
  79. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/search_execute_params.py +0 -0
  80. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/search_execute_response.py +0 -0
  81. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/search_memories_params.py +0 -0
  82. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/search_memories_response.py +0 -0
  83. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/setting_get_response.py +0 -0
  84. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/setting_update_params.py +0 -0
  85. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/setting_update_response.py +0 -0
  86. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory_new/lib/.keep +0 -0
  87. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/tests/__init__.py +0 -0
  88. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/tests/api_resources/__init__.py +0 -0
  89. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/tests/api_resources/test_search.py +0 -0
  90. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/tests/api_resources/test_settings.py +0 -0
  91. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/tests/conftest.py +0 -0
  92. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/tests/sample_file.txt +0 -0
  93. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/tests/test_client.py +0 -0
  94. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/tests/test_deepcopy.py +0 -0
  95. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/tests/test_extract_files.py +0 -0
  96. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/tests/test_files.py +0 -0
  97. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/tests/test_models.py +0 -0
  98. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/tests/test_qs.py +0 -0
  99. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/tests/test_required_args.py +0 -0
  100. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/tests/test_response.py +0 -0
  101. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/tests/test_streaming.py +0 -0
  102. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/tests/test_transform.py +0 -0
  103. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/tests/test_utils/test_proxy.py +0 -0
  104. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/tests/test_utils/test_typing.py +0 -0
  105. {supermemory-3.0.0a27 → supermemory-3.0.0a29}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "3.0.0-alpha.29"
3
+ }
@@ -1,5 +1,35 @@
1
1
  # Changelog
2
2
 
3
+ ## 3.0.0-alpha.29 (2025-08-27)
4
+
5
+ Full Changelog: [v3.0.0-alpha.28...v3.0.0-alpha.29](https://github.com/supermemoryai/python-sdk/compare/v3.0.0-alpha.28...v3.0.0-alpha.29)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([5c48767](https://github.com/supermemoryai/python-sdk/commit/5c48767f77b0daf362be422e6d2d8843c15692b3))
10
+ * **api:** api update ([8eb53ac](https://github.com/supermemoryai/python-sdk/commit/8eb53ac4b04fae2f656d82c2c36c01e6583a08e0))
11
+ * **api:** api update ([9194990](https://github.com/supermemoryai/python-sdk/commit/9194990dfbe4e8b9a3fe145095ae65c1cab1b342))
12
+ * **api:** api update ([be04a5c](https://github.com/supermemoryai/python-sdk/commit/be04a5cf50c9af30b04e43128a860a93305f401a))
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * avoid newer type syntax ([cd791b9](https://github.com/supermemoryai/python-sdk/commit/cd791b97c02fe5728e54482097c846557ab0d555))
18
+
19
+
20
+ ### Chores
21
+
22
+ * **internal:** change ci workflow machines ([002a748](https://github.com/supermemoryai/python-sdk/commit/002a748ddf690fcaeab905c622fe598ddc0f6629))
23
+ * **internal:** update pyright exclude list ([41a59ff](https://github.com/supermemoryai/python-sdk/commit/41a59ff7fb26bd419f747265c00a99ad750833d0))
24
+
25
+ ## 3.0.0-alpha.28 (2025-08-24)
26
+
27
+ Full Changelog: [v3.0.0-alpha.27...v3.0.0-alpha.28](https://github.com/supermemoryai/python-sdk/compare/v3.0.0-alpha.27...v3.0.0-alpha.28)
28
+
29
+ ### Features
30
+
31
+ * **api:** api update ([0745263](https://github.com/supermemoryai/python-sdk/commit/074526384ea43d5323feeb2101054e0515002169))
32
+
3
33
  ## 3.0.0-alpha.27 (2025-08-24)
4
34
 
5
35
  Full Changelog: [v3.0.0-alpha.26...v3.0.0-alpha.27](https://github.com/supermemoryai/python-sdk/compare/v3.0.0-alpha.26...v3.0.0-alpha.27)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: supermemory
3
- Version: 3.0.0a27
3
+ Version: 3.0.0a29
4
4
  Summary: The official Python library for the supermemory API
5
5
  Project-URL: Homepage, https://github.com/supermemoryai/python-sdk
6
6
  Project-URL: Repository, https://github.com/supermemoryai/python-sdk
@@ -60,6 +60,7 @@ from supermemory.types import (
60
60
  ConnectionDeleteByProviderResponse,
61
61
  ConnectionGetByIDResponse,
62
62
  ConnectionGetByTagsResponse,
63
+ ConnectionImportResponse,
63
64
  ConnectionListDocumentsResponse,
64
65
  )
65
66
  ```
@@ -72,5 +73,5 @@ Methods:
72
73
  - <code title="delete /v3/connections/{provider}">client.connections.<a href="./src/supermemory/resources/connections.py">delete_by_provider</a>(provider, \*\*<a href="src/supermemory/types/connection_delete_by_provider_params.py">params</a>) -> <a href="./src/supermemory/types/connection_delete_by_provider_response.py">ConnectionDeleteByProviderResponse</a></code>
73
74
  - <code title="get /v3/connections/{connectionId}">client.connections.<a href="./src/supermemory/resources/connections.py">get_by_id</a>(connection_id) -> <a href="./src/supermemory/types/connection_get_by_id_response.py">ConnectionGetByIDResponse</a></code>
74
75
  - <code title="post /v3/connections/{provider}/connection">client.connections.<a href="./src/supermemory/resources/connections.py">get_by_tags</a>(provider, \*\*<a href="src/supermemory/types/connection_get_by_tags_params.py">params</a>) -> <a href="./src/supermemory/types/connection_get_by_tags_response.py">ConnectionGetByTagsResponse</a></code>
75
- - <code title="post /v3/connections/{provider}/import">client.connections.<a href="./src/supermemory/resources/connections.py">import\_</a>(provider, \*\*<a href="src/supermemory/types/connection_import_params.py">params</a>) -> None</code>
76
+ - <code title="post /v3/connections/{provider}/import">client.connections.<a href="./src/supermemory/resources/connections.py">import\_</a>(provider, \*\*<a href="src/supermemory/types/connection_import_params.py">params</a>) -> str</code>
76
77
  - <code title="post /v3/connections/{provider}/documents">client.connections.<a href="./src/supermemory/resources/connections.py">list_documents</a>(provider, \*\*<a href="src/supermemory/types/connection_list_documents_params.py">params</a>) -> <a href="./src/supermemory/types/connection_list_documents_response.py">ConnectionListDocumentsResponse</a></code>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "supermemory"
3
- version = "3.0.0-alpha.27"
3
+ version = "3.0.0-alpha.29"
4
4
  description = "The official Python library for the supermemory API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -148,6 +148,7 @@ exclude = [
148
148
  "_dev",
149
149
  ".venv",
150
150
  ".nox",
151
+ ".git",
151
152
  ]
152
153
 
153
154
  reportImplicitOverride = true
@@ -304,7 +304,7 @@ class BaseModel(pydantic.BaseModel):
304
304
  exclude_none=exclude_none,
305
305
  )
306
306
 
307
- return cast(dict[str, Any], json_safe(dumped)) if mode == "json" else dumped
307
+ return cast("dict[str, Any]", json_safe(dumped)) if mode == "json" else dumped
308
308
 
309
309
  @override
310
310
  def model_dump_json(
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "supermemory"
4
- __version__ = "3.0.0-alpha.27" # x-release-please-version
4
+ __version__ = "3.0.0-alpha.29" # x-release-please-version
@@ -15,7 +15,7 @@ from ..types import (
15
15
  connection_list_documents_params,
16
16
  connection_delete_by_provider_params,
17
17
  )
18
- from .._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven
18
+ from .._types import NOT_GIVEN, Body, Query, Headers, NotGiven
19
19
  from .._utils import maybe_transform, async_maybe_transform
20
20
  from .._compat import cached_property
21
21
  from .._resource import SyncAPIResource, AsyncAPIResource
@@ -293,7 +293,7 @@ class ConnectionsResource(SyncAPIResource):
293
293
  extra_query: Query | None = None,
294
294
  extra_body: Body | None = None,
295
295
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
296
- ) -> None:
296
+ ) -> str:
297
297
  """
298
298
  Initiate a manual sync of connections
299
299
 
@@ -310,14 +310,14 @@ class ConnectionsResource(SyncAPIResource):
310
310
  """
311
311
  if not provider:
312
312
  raise ValueError(f"Expected a non-empty value for `provider` but received {provider!r}")
313
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
313
+ extra_headers = {"Accept": "text/plain", **(extra_headers or {})}
314
314
  return self._post(
315
315
  f"/v3/connections/{provider}/import",
316
316
  body=maybe_transform({"container_tags": container_tags}, connection_import_params.ConnectionImportParams),
317
317
  options=make_request_options(
318
318
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
319
319
  ),
320
- cast_to=NoneType,
320
+ cast_to=str,
321
321
  )
322
322
 
323
323
  def list_documents(
@@ -618,7 +618,7 @@ class AsyncConnectionsResource(AsyncAPIResource):
618
618
  extra_query: Query | None = None,
619
619
  extra_body: Body | None = None,
620
620
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
621
- ) -> None:
621
+ ) -> str:
622
622
  """
623
623
  Initiate a manual sync of connections
624
624
 
@@ -635,7 +635,7 @@ class AsyncConnectionsResource(AsyncAPIResource):
635
635
  """
636
636
  if not provider:
637
637
  raise ValueError(f"Expected a non-empty value for `provider` but received {provider!r}")
638
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
638
+ extra_headers = {"Accept": "text/plain", **(extra_headers or {})}
639
639
  return await self._post(
640
640
  f"/v3/connections/{provider}/import",
641
641
  body=await async_maybe_transform(
@@ -644,7 +644,7 @@ class AsyncConnectionsResource(AsyncAPIResource):
644
644
  options=make_request_options(
645
645
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
646
646
  ),
647
- cast_to=NoneType,
647
+ cast_to=str,
648
648
  )
649
649
 
650
650
  async def list_documents(
@@ -52,6 +52,7 @@ class MemoriesResource(SyncAPIResource):
52
52
  self,
53
53
  id: str,
54
54
  *,
55
+ container_tag: str | NotGiven = NOT_GIVEN,
55
56
  container_tags: List[str] | NotGiven = NOT_GIVEN,
56
57
  content: str | NotGiven = NOT_GIVEN,
57
58
  custom_id: str | NotGiven = NOT_GIVEN,
@@ -67,9 +68,13 @@ class MemoriesResource(SyncAPIResource):
67
68
  Update a memory with any content type (text, url, file, etc.) and metadata
68
69
 
69
70
  Args:
70
- container_tags: Optional tags this memory should be containerized by. This can be an ID for your
71
+ container_tag: Optional tag this memory should be containerized by. This can be an ID for your
71
72
  user, a project ID, or any other identifier you wish to use to group memories.
72
73
 
74
+ container_tags: (DEPRECATED: Use containerTag instead) Optional tags this memory should be
75
+ containerized by. This can be an ID for your user, a project ID, or any other
76
+ identifier you wish to use to group memories.
77
+
73
78
  content: The content to extract and process into a memory. This can be a URL to a
74
79
  website, a PDF, an image, or a video.
75
80
 
@@ -102,6 +107,7 @@ class MemoriesResource(SyncAPIResource):
102
107
  f"/v3/memories/{id}",
103
108
  body=maybe_transform(
104
109
  {
110
+ "container_tag": container_tag,
105
111
  "container_tags": container_tags,
106
112
  "content": content,
107
113
  "custom_id": custom_id,
@@ -120,6 +126,7 @@ class MemoriesResource(SyncAPIResource):
120
126
  *,
121
127
  container_tags: List[str] | NotGiven = NOT_GIVEN,
122
128
  filters: str | NotGiven = NOT_GIVEN,
129
+ include_content: bool | NotGiven = NOT_GIVEN,
123
130
  limit: Union[str, float] | NotGiven = NOT_GIVEN,
124
131
  order: Literal["asc", "desc"] | NotGiven = NOT_GIVEN,
125
132
  page: Union[str, float] | NotGiven = NOT_GIVEN,
@@ -140,6 +147,9 @@ class MemoriesResource(SyncAPIResource):
140
147
 
141
148
  filters: Optional filters to apply to the search
142
149
 
150
+ include_content: Whether to include the content field in the response. Warning: This can make
151
+ responses significantly larger.
152
+
143
153
  limit: Number of items per page
144
154
 
145
155
  order: Sort order
@@ -162,6 +172,7 @@ class MemoriesResource(SyncAPIResource):
162
172
  {
163
173
  "container_tags": container_tags,
164
174
  "filters": filters,
175
+ "include_content": include_content,
165
176
  "limit": limit,
166
177
  "order": order,
167
178
  "page": page,
@@ -212,6 +223,7 @@ class MemoriesResource(SyncAPIResource):
212
223
  def add(
213
224
  self,
214
225
  *,
226
+ container_tag: str | NotGiven = NOT_GIVEN,
215
227
  container_tags: List[str] | NotGiven = NOT_GIVEN,
216
228
  content: str | NotGiven = NOT_GIVEN,
217
229
  custom_id: str | NotGiven = NOT_GIVEN,
@@ -227,9 +239,13 @@ class MemoriesResource(SyncAPIResource):
227
239
  Add a memory with any content type (text, url, file, etc.) and metadata
228
240
 
229
241
  Args:
230
- container_tags: Optional tags this memory should be containerized by. This can be an ID for your
242
+ container_tag: Optional tag this memory should be containerized by. This can be an ID for your
231
243
  user, a project ID, or any other identifier you wish to use to group memories.
232
244
 
245
+ container_tags: (DEPRECATED: Use containerTag instead) Optional tags this memory should be
246
+ containerized by. This can be an ID for your user, a project ID, or any other
247
+ identifier you wish to use to group memories.
248
+
233
249
  content: The content to extract and process into a memory. This can be a URL to a
234
250
  website, a PDF, an image, or a video.
235
251
 
@@ -260,6 +276,7 @@ class MemoriesResource(SyncAPIResource):
260
276
  "/v3/memories",
261
277
  body=maybe_transform(
262
278
  {
279
+ "container_tag": container_tag,
263
280
  "container_tags": container_tags,
264
281
  "content": content,
265
282
  "custom_id": custom_id,
@@ -376,6 +393,7 @@ class AsyncMemoriesResource(AsyncAPIResource):
376
393
  self,
377
394
  id: str,
378
395
  *,
396
+ container_tag: str | NotGiven = NOT_GIVEN,
379
397
  container_tags: List[str] | NotGiven = NOT_GIVEN,
380
398
  content: str | NotGiven = NOT_GIVEN,
381
399
  custom_id: str | NotGiven = NOT_GIVEN,
@@ -391,9 +409,13 @@ class AsyncMemoriesResource(AsyncAPIResource):
391
409
  Update a memory with any content type (text, url, file, etc.) and metadata
392
410
 
393
411
  Args:
394
- container_tags: Optional tags this memory should be containerized by. This can be an ID for your
412
+ container_tag: Optional tag this memory should be containerized by. This can be an ID for your
395
413
  user, a project ID, or any other identifier you wish to use to group memories.
396
414
 
415
+ container_tags: (DEPRECATED: Use containerTag instead) Optional tags this memory should be
416
+ containerized by. This can be an ID for your user, a project ID, or any other
417
+ identifier you wish to use to group memories.
418
+
397
419
  content: The content to extract and process into a memory. This can be a URL to a
398
420
  website, a PDF, an image, or a video.
399
421
 
@@ -426,6 +448,7 @@ class AsyncMemoriesResource(AsyncAPIResource):
426
448
  f"/v3/memories/{id}",
427
449
  body=await async_maybe_transform(
428
450
  {
451
+ "container_tag": container_tag,
429
452
  "container_tags": container_tags,
430
453
  "content": content,
431
454
  "custom_id": custom_id,
@@ -444,6 +467,7 @@ class AsyncMemoriesResource(AsyncAPIResource):
444
467
  *,
445
468
  container_tags: List[str] | NotGiven = NOT_GIVEN,
446
469
  filters: str | NotGiven = NOT_GIVEN,
470
+ include_content: bool | NotGiven = NOT_GIVEN,
447
471
  limit: Union[str, float] | NotGiven = NOT_GIVEN,
448
472
  order: Literal["asc", "desc"] | NotGiven = NOT_GIVEN,
449
473
  page: Union[str, float] | NotGiven = NOT_GIVEN,
@@ -464,6 +488,9 @@ class AsyncMemoriesResource(AsyncAPIResource):
464
488
 
465
489
  filters: Optional filters to apply to the search
466
490
 
491
+ include_content: Whether to include the content field in the response. Warning: This can make
492
+ responses significantly larger.
493
+
467
494
  limit: Number of items per page
468
495
 
469
496
  order: Sort order
@@ -486,6 +513,7 @@ class AsyncMemoriesResource(AsyncAPIResource):
486
513
  {
487
514
  "container_tags": container_tags,
488
515
  "filters": filters,
516
+ "include_content": include_content,
489
517
  "limit": limit,
490
518
  "order": order,
491
519
  "page": page,
@@ -536,6 +564,7 @@ class AsyncMemoriesResource(AsyncAPIResource):
536
564
  async def add(
537
565
  self,
538
566
  *,
567
+ container_tag: str | NotGiven = NOT_GIVEN,
539
568
  container_tags: List[str] | NotGiven = NOT_GIVEN,
540
569
  content: str | NotGiven = NOT_GIVEN,
541
570
  custom_id: str | NotGiven = NOT_GIVEN,
@@ -551,9 +580,13 @@ class AsyncMemoriesResource(AsyncAPIResource):
551
580
  Add a memory with any content type (text, url, file, etc.) and metadata
552
581
 
553
582
  Args:
554
- container_tags: Optional tags this memory should be containerized by. This can be an ID for your
583
+ container_tag: Optional tag this memory should be containerized by. This can be an ID for your
555
584
  user, a project ID, or any other identifier you wish to use to group memories.
556
585
 
586
+ container_tags: (DEPRECATED: Use containerTag instead) Optional tags this memory should be
587
+ containerized by. This can be an ID for your user, a project ID, or any other
588
+ identifier you wish to use to group memories.
589
+
557
590
  content: The content to extract and process into a memory. This can be a URL to a
558
591
  website, a PDF, an image, or a video.
559
592
 
@@ -584,6 +617,7 @@ class AsyncMemoriesResource(AsyncAPIResource):
584
617
  "/v3/memories",
585
618
  body=await async_maybe_transform(
586
619
  {
620
+ "container_tag": container_tag,
587
621
  "container_tags": container_tags,
588
622
  "content": content,
589
623
  "custom_id": custom_id,
@@ -24,6 +24,7 @@ from .search_memories_response import SearchMemoriesResponse as SearchMemoriesRe
24
24
  from .memory_upload_file_params import MemoryUploadFileParams as MemoryUploadFileParams
25
25
  from .search_documents_response import SearchDocumentsResponse as SearchDocumentsResponse
26
26
  from .connection_create_response import ConnectionCreateResponse as ConnectionCreateResponse
27
+ from .connection_import_response import ConnectionImportResponse as ConnectionImportResponse
27
28
  from .memory_upload_file_response import MemoryUploadFileResponse as MemoryUploadFileResponse
28
29
  from .connection_get_by_id_response import ConnectionGetByIDResponse as ConnectionGetByIDResponse
29
30
  from .connection_get_by_tags_params import ConnectionGetByTagsParams as ConnectionGetByTagsParams
@@ -0,0 +1,7 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing_extensions import TypeAlias
4
+
5
+ __all__ = ["ConnectionImportResponse"]
6
+
7
+ ConnectionImportResponse: TypeAlias = str
@@ -11,13 +11,20 @@ __all__ = ["MemoryAddParams"]
11
11
 
12
12
 
13
13
  class MemoryAddParams(TypedDict, total=False):
14
- container_tags: Annotated[List[str], PropertyInfo(alias="containerTags")]
15
- """Optional tags this memory should be containerized by.
14
+ container_tag: Annotated[str, PropertyInfo(alias="containerTag")]
15
+ """Optional tag this memory should be containerized by.
16
16
 
17
17
  This can be an ID for your user, a project ID, or any other identifier you wish
18
18
  to use to group memories.
19
19
  """
20
20
 
21
+ container_tags: Annotated[List[str], PropertyInfo(alias="containerTags")]
22
+ """
23
+ (DEPRECATED: Use containerTag instead) Optional tags this memory should be
24
+ containerized by. This can be an ID for your user, a project ID, or any other
25
+ identifier you wish to use to group memories.
26
+ """
27
+
21
28
  content: str
22
29
  """The content to extract and process into a memory.
23
30
 
@@ -21,6 +21,12 @@ class MemoryListParams(TypedDict, total=False):
21
21
  filters: str
22
22
  """Optional filters to apply to the search"""
23
23
 
24
+ include_content: Annotated[bool, PropertyInfo(alias="includeContent")]
25
+ """Whether to include the content field in the response.
26
+
27
+ Warning: This can make responses significantly larger.
28
+ """
29
+
24
30
  limit: Union[str, float]
25
31
  """Number of items per page"""
26
32
 
@@ -73,6 +73,9 @@ class Memory(BaseModel):
73
73
  to use to group memories.
74
74
  """
75
75
 
76
+ content: Optional[str] = None
77
+ """Content of the memory (only included when includeContent=true)"""
78
+
76
79
 
77
80
  class Pagination(BaseModel):
78
81
  current_page: float = FieldInfo(alias="currentPage")
@@ -11,13 +11,20 @@ __all__ = ["MemoryUpdateParams"]
11
11
 
12
12
 
13
13
  class MemoryUpdateParams(TypedDict, total=False):
14
- container_tags: Annotated[List[str], PropertyInfo(alias="containerTags")]
15
- """Optional tags this memory should be containerized by.
14
+ container_tag: Annotated[str, PropertyInfo(alias="containerTag")]
15
+ """Optional tag this memory should be containerized by.
16
16
 
17
17
  This can be an ID for your user, a project ID, or any other identifier you wish
18
18
  to use to group memories.
19
19
  """
20
20
 
21
+ container_tags: Annotated[List[str], PropertyInfo(alias="containerTags")]
22
+ """
23
+ (DEPRECATED: Use containerTag instead) Optional tags this memory should be
24
+ containerized by. This can be an ID for your user, a project ID, or any other
25
+ identifier you wish to use to group memories.
26
+ """
27
+
21
28
  content: str
22
29
  """The content to extract and process into a memory.
23
30
 
@@ -271,7 +271,7 @@ class TestConnections:
271
271
  connection = client.connections.import_(
272
272
  provider="notion",
273
273
  )
274
- assert connection is None
274
+ assert_matches_type(str, connection, path=["response"])
275
275
 
276
276
  @pytest.mark.skip(reason="Prism tests are disabled")
277
277
  @parametrize
@@ -280,7 +280,7 @@ class TestConnections:
280
280
  provider="notion",
281
281
  container_tags=["user_123", "project_123"],
282
282
  )
283
- assert connection is None
283
+ assert_matches_type(str, connection, path=["response"])
284
284
 
285
285
  @pytest.mark.skip(reason="Prism tests are disabled")
286
286
  @parametrize
@@ -292,7 +292,7 @@ class TestConnections:
292
292
  assert response.is_closed is True
293
293
  assert response.http_request.headers.get("X-Stainless-Lang") == "python"
294
294
  connection = response.parse()
295
- assert connection is None
295
+ assert_matches_type(str, connection, path=["response"])
296
296
 
297
297
  @pytest.mark.skip(reason="Prism tests are disabled")
298
298
  @parametrize
@@ -304,7 +304,7 @@ class TestConnections:
304
304
  assert response.http_request.headers.get("X-Stainless-Lang") == "python"
305
305
 
306
306
  connection = response.parse()
307
- assert connection is None
307
+ assert_matches_type(str, connection, path=["response"])
308
308
 
309
309
  assert cast(Any, response.is_closed) is True
310
310
 
@@ -603,7 +603,7 @@ class TestAsyncConnections:
603
603
  connection = await async_client.connections.import_(
604
604
  provider="notion",
605
605
  )
606
- assert connection is None
606
+ assert_matches_type(str, connection, path=["response"])
607
607
 
608
608
  @pytest.mark.skip(reason="Prism tests are disabled")
609
609
  @parametrize
@@ -612,7 +612,7 @@ class TestAsyncConnections:
612
612
  provider="notion",
613
613
  container_tags=["user_123", "project_123"],
614
614
  )
615
- assert connection is None
615
+ assert_matches_type(str, connection, path=["response"])
616
616
 
617
617
  @pytest.mark.skip(reason="Prism tests are disabled")
618
618
  @parametrize
@@ -624,7 +624,7 @@ class TestAsyncConnections:
624
624
  assert response.is_closed is True
625
625
  assert response.http_request.headers.get("X-Stainless-Lang") == "python"
626
626
  connection = await response.parse()
627
- assert connection is None
627
+ assert_matches_type(str, connection, path=["response"])
628
628
 
629
629
  @pytest.mark.skip(reason="Prism tests are disabled")
630
630
  @parametrize
@@ -636,7 +636,7 @@ class TestAsyncConnections:
636
636
  assert response.http_request.headers.get("X-Stainless-Lang") == "python"
637
637
 
638
638
  connection = await response.parse()
639
- assert connection is None
639
+ assert_matches_type(str, connection, path=["response"])
640
640
 
641
641
  assert cast(Any, response.is_closed) is True
642
642
 
@@ -36,6 +36,7 @@ class TestMemories:
36
36
  def test_method_update_with_all_params(self, client: Supermemory) -> None:
37
37
  memory = client.memories.update(
38
38
  id="id",
39
+ container_tag="user_123",
39
40
  container_tags=["user_123", "project_123"],
40
41
  content="This is a detailed article about machine learning concepts...",
41
42
  custom_id="mem_abc123",
@@ -96,6 +97,7 @@ class TestMemories:
96
97
  memory = client.memories.list(
97
98
  container_tags=["user_123", "project_123"],
98
99
  filters='{"AND":[{"key":"group","negate":false,"value":"jira_users"},{"filterType":"numeric","key":"timestamp","negate":false,"numericOperator":">","value":"1742745777"}]}',
100
+ include_content=False,
99
101
  limit=10,
100
102
  order="desc",
101
103
  page=1,
@@ -177,6 +179,7 @@ class TestMemories:
177
179
  @parametrize
178
180
  def test_method_add_with_all_params(self, client: Supermemory) -> None:
179
181
  memory = client.memories.add(
182
+ container_tag="user_123",
180
183
  container_tags=["user_123", "project_123"],
181
184
  content="This is a detailed article about machine learning concepts...",
182
185
  custom_id="mem_abc123",
@@ -317,6 +320,7 @@ class TestAsyncMemories:
317
320
  async def test_method_update_with_all_params(self, async_client: AsyncSupermemory) -> None:
318
321
  memory = await async_client.memories.update(
319
322
  id="id",
323
+ container_tag="user_123",
320
324
  container_tags=["user_123", "project_123"],
321
325
  content="This is a detailed article about machine learning concepts...",
322
326
  custom_id="mem_abc123",
@@ -377,6 +381,7 @@ class TestAsyncMemories:
377
381
  memory = await async_client.memories.list(
378
382
  container_tags=["user_123", "project_123"],
379
383
  filters='{"AND":[{"key":"group","negate":false,"value":"jira_users"},{"filterType":"numeric","key":"timestamp","negate":false,"numericOperator":">","value":"1742745777"}]}',
384
+ include_content=False,
380
385
  limit=10,
381
386
  order="desc",
382
387
  page=1,
@@ -458,6 +463,7 @@ class TestAsyncMemories:
458
463
  @parametrize
459
464
  async def test_method_add_with_all_params(self, async_client: AsyncSupermemory) -> None:
460
465
  memory = await async_client.memories.add(
466
+ container_tag="user_123",
461
467
  container_tags=["user_123", "project_123"],
462
468
  content="This is a detailed article about machine learning concepts...",
463
469
  custom_id="mem_abc123",
@@ -1,3 +0,0 @@
1
- {
2
- ".": "3.0.0-alpha.27"
3
- }
File without changes
File without changes
File without changes