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.
- supermemory-3.0.0a29/.release-please-manifest.json +3 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/CHANGELOG.md +30 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/PKG-INFO +1 -1
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/api.md +2 -1
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/pyproject.toml +2 -1
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_models.py +1 -1
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_version.py +1 -1
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/resources/connections.py +7 -7
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/resources/memories.py +38 -4
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/__init__.py +1 -0
- supermemory-3.0.0a29/src/supermemory/types/connection_import_response.py +7 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/memory_add_params.py +9 -2
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/memory_list_params.py +6 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/memory_list_response.py +3 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/memory_update_params.py +9 -2
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/tests/api_resources/test_connections.py +8 -8
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/tests/api_resources/test_memories.py +6 -0
- supermemory-3.0.0a27/.release-please-manifest.json +0 -3
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/.gitignore +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/CONTRIBUTING.md +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/LICENSE +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/README.md +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/SECURITY.md +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/bin/check-release-environment +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/bin/publish-pypi +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/examples/.keep +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/mypy.ini +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/noxfile.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/release-please-config.json +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/requirements-dev.lock +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/requirements.lock +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/__init__.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_base_client.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_client.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_compat.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_constants.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_exceptions.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_files.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_qs.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_resource.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_response.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_streaming.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_types.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_utils/__init__.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_utils/_logs.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_utils/_proxy.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_utils/_reflection.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_utils/_resources_proxy.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_utils/_streams.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_utils/_sync.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_utils/_transform.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_utils/_typing.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/_utils/_utils.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/lib/.keep +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/py.typed +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/resources/__init__.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/resources/search.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/resources/settings.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/connection_create_params.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/connection_create_response.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/connection_delete_by_id_response.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/connection_delete_by_provider_params.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/connection_delete_by_provider_response.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/connection_get_by_id_response.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/connection_get_by_tags_params.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/connection_get_by_tags_response.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/connection_import_params.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/connection_list_documents_params.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/connection_list_documents_response.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/connection_list_params.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/connection_list_response.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/memory_add_response.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/memory_get_response.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/memory_update_response.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/memory_upload_file_params.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/memory_upload_file_response.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/search_documents_params.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/search_documents_response.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/search_execute_params.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/search_execute_response.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/search_memories_params.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/search_memories_response.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/setting_get_response.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/setting_update_params.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/setting_update_response.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory_new/lib/.keep +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/tests/__init__.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/tests/api_resources/__init__.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/tests/api_resources/test_search.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/tests/api_resources/test_settings.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/tests/conftest.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/tests/sample_file.txt +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/tests/test_client.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/tests/test_deepcopy.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/tests/test_extract_files.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/tests/test_files.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/tests/test_models.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/tests/test_qs.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/tests/test_required_args.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/tests/test_response.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/tests/test_streaming.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/tests/test_transform.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/tests/test_utils/test_proxy.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/tests/test_utils/test_typing.py +0 -0
- {supermemory-3.0.0a27 → supermemory-3.0.0a29}/tests/utils.py +0 -0
|
@@ -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.
|
|
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>) ->
|
|
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.
|
|
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(
|
|
@@ -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,
|
|
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
|
-
) ->
|
|
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": "
|
|
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=
|
|
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
|
-
) ->
|
|
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": "
|
|
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=
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
@@ -11,13 +11,20 @@ __all__ = ["MemoryAddParams"]
|
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
class MemoryAddParams(TypedDict, total=False):
|
|
14
|
-
|
|
15
|
-
"""Optional
|
|
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
|
-
|
|
15
|
-
"""Optional
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/connection_create_params.py
RENAMED
|
File without changes
|
{supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/connection_create_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/connection_get_by_id_response.py
RENAMED
|
File without changes
|
{supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/connection_get_by_tags_params.py
RENAMED
|
File without changes
|
|
File without changes
|
{supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/connection_import_params.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/connection_list_params.py
RENAMED
|
File without changes
|
{supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/connection_list_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/memory_update_response.py
RENAMED
|
File without changes
|
{supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/memory_upload_file_params.py
RENAMED
|
File without changes
|
{supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/memory_upload_file_response.py
RENAMED
|
File without changes
|
{supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/search_documents_params.py
RENAMED
|
File without changes
|
{supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/search_documents_response.py
RENAMED
|
File without changes
|
{supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/search_execute_params.py
RENAMED
|
File without changes
|
{supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/search_execute_response.py
RENAMED
|
File without changes
|
{supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/search_memories_params.py
RENAMED
|
File without changes
|
{supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/search_memories_response.py
RENAMED
|
File without changes
|
|
File without changes
|
{supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/setting_update_params.py
RENAMED
|
File without changes
|
{supermemory-3.0.0a27 → supermemory-3.0.0a29}/src/supermemory/types/setting_update_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|