supermemory 3.53.0__tar.gz → 3.55.0__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.
- supermemory-3.55.0/.release-please-manifest.json +3 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/CHANGELOG.md +16 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/PKG-INFO +1 -1
- {supermemory-3.53.0 → supermemory-3.55.0}/pyproject.toml +1 -1
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/_version.py +1 -1
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/resources/search.py +10 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/resources/settings.py +2 -121
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/search_memories_params.py +7 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/setting_get_response.py +0 -2
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/setting_update_params.py +5 -12
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/setting_update_response.py +0 -2
- {supermemory-3.53.0 → supermemory-3.55.0}/tests/api_resources/test_search.py +2 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/tests/api_resources/test_settings.py +8 -76
- supermemory-3.53.0/.release-please-manifest.json +0 -3
- {supermemory-3.53.0 → supermemory-3.55.0}/.gitignore +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/CONTRIBUTING.md +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/LICENSE +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/README.md +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/SECURITY.md +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/api.md +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/bin/check-release-environment +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/bin/publish-pypi +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/examples/.keep +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/noxfile.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/release-please-config.json +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/requirements-dev.lock +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/requirements.lock +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/__init__.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/_base_client.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/_client.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/_compat.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/_constants.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/_exceptions.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/_files.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/_models.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/_qs.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/_resource.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/_response.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/_streaming.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/_types.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/_utils/__init__.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/_utils/_compat.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/_utils/_datetime_parse.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/_utils/_json.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/_utils/_logs.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/_utils/_path.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/_utils/_proxy.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/_utils/_reflection.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/_utils/_resources_proxy.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/_utils/_streams.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/_utils/_sync.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/_utils/_transform.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/_utils/_typing.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/_utils/_utils.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/lib/.keep +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/py.typed +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/resources/__init__.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/resources/connections.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/resources/documents.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/resources/memories.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/__init__.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/add_response.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/client_add_params.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/client_profile_params.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/connection_configure_params.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/connection_configure_response.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/connection_create_params.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/connection_create_response.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/connection_delete_by_id_params.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/connection_delete_by_id_response.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/connection_delete_by_provider_params.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/connection_delete_by_provider_response.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/connection_get_by_id_response.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/connection_get_by_tag_params.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/connection_get_by_tag_response.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/connection_import_params.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/connection_import_response.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/connection_list_documents_params.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/connection_list_documents_response.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/connection_list_params.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/connection_list_response.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/connection_resources_params.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/connection_resources_response.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/document_add_params.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/document_add_response.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/document_batch_add_params.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/document_batch_add_response.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/document_delete_bulk_params.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/document_delete_bulk_response.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/document_get_response.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/document_list_params.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/document_list_processing_response.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/document_list_response.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/document_update_params.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/document_update_response.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/document_upload_file_params.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/document_upload_file_response.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/memory_forget_params.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/memory_forget_response.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/memory_update_memory_params.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/memory_update_memory_response.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/profile_response.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/search_documents_params.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/search_documents_response.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/search_execute_params.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/search_execute_response.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/search_memories_response.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory_new/lib/.keep +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/tests/__init__.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/tests/api_resources/__init__.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/tests/api_resources/test_client.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/tests/api_resources/test_connections.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/tests/api_resources/test_documents.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/tests/api_resources/test_memories.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/tests/conftest.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/tests/sample_file.txt +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/tests/test_client.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/tests/test_extract_files.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/tests/test_files.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/tests/test_models.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/tests/test_qs.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/tests/test_required_args.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/tests/test_response.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/tests/test_streaming.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/tests/test_transform.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/tests/test_utils/test_datetime_parse.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/tests/test_utils/test_json.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/tests/test_utils/test_path.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/tests/test_utils/test_proxy.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/tests/test_utils/test_typing.py +0 -0
- {supermemory-3.53.0 → supermemory-3.55.0}/tests/utils.py +0 -0
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 3.55.0 (2026-07-24)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v3.54.0...v3.55.0](https://github.com/supermemoryai/python-sdk/compare/v3.54.0...v3.55.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **api:** api update ([6dbb312](https://github.com/supermemoryai/python-sdk/commit/6dbb312223bc4ff25ed95dd4fa570a363e9aaff7))
|
|
10
|
+
|
|
11
|
+
## 3.54.0 (2026-07-23)
|
|
12
|
+
|
|
13
|
+
Full Changelog: [v3.53.0...v3.54.0](https://github.com/supermemoryai/python-sdk/compare/v3.53.0...v3.54.0)
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
* **api:** api update ([0686a84](https://github.com/supermemoryai/python-sdk/commit/0686a840dfb7e4a41a09dc296d3407d95681a086))
|
|
18
|
+
|
|
3
19
|
## 3.53.0 (2026-07-23)
|
|
4
20
|
|
|
5
21
|
Full Changelog: [v3.52.0...v3.53.0](https://github.com/supermemoryai/python-sdk/compare/v3.52.0...v3.53.0)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: supermemory
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.55.0
|
|
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
|
|
@@ -265,6 +265,7 @@ class SearchResource(SyncAPIResource):
|
|
|
265
265
|
q: str,
|
|
266
266
|
aggregate: bool | Omit = omit,
|
|
267
267
|
container_tag: str | Omit = omit,
|
|
268
|
+
container_tags: SequenceNotStr[str] | Omit = omit,
|
|
268
269
|
filepath: str | Omit = omit,
|
|
269
270
|
filters: search_memories_params.Filters | Omit = omit,
|
|
270
271
|
include: search_memories_params.Include | Omit = omit,
|
|
@@ -293,6 +294,9 @@ class SearchResource(SyncAPIResource):
|
|
|
293
294
|
container_tag: Optional tag this search should be containerized by. This can be an ID for your
|
|
294
295
|
user, a project ID, or any other identifier you wish to use to filter memories.
|
|
295
296
|
|
|
297
|
+
container_tags: Optional tags this search should be containerized by. Search is scoped to
|
|
298
|
+
memories under these tags.
|
|
299
|
+
|
|
296
300
|
filepath: Filter search results by filepath. Exact match for full paths, prefix match if
|
|
297
301
|
ending with /
|
|
298
302
|
|
|
@@ -329,6 +333,7 @@ class SearchResource(SyncAPIResource):
|
|
|
329
333
|
"q": q,
|
|
330
334
|
"aggregate": aggregate,
|
|
331
335
|
"container_tag": container_tag,
|
|
336
|
+
"container_tags": container_tags,
|
|
332
337
|
"filepath": filepath,
|
|
333
338
|
"filters": filters,
|
|
334
339
|
"include": include,
|
|
@@ -587,6 +592,7 @@ class AsyncSearchResource(AsyncAPIResource):
|
|
|
587
592
|
q: str,
|
|
588
593
|
aggregate: bool | Omit = omit,
|
|
589
594
|
container_tag: str | Omit = omit,
|
|
595
|
+
container_tags: SequenceNotStr[str] | Omit = omit,
|
|
590
596
|
filepath: str | Omit = omit,
|
|
591
597
|
filters: search_memories_params.Filters | Omit = omit,
|
|
592
598
|
include: search_memories_params.Include | Omit = omit,
|
|
@@ -615,6 +621,9 @@ class AsyncSearchResource(AsyncAPIResource):
|
|
|
615
621
|
container_tag: Optional tag this search should be containerized by. This can be an ID for your
|
|
616
622
|
user, a project ID, or any other identifier you wish to use to filter memories.
|
|
617
623
|
|
|
624
|
+
container_tags: Optional tags this search should be containerized by. Search is scoped to
|
|
625
|
+
memories under these tags.
|
|
626
|
+
|
|
618
627
|
filepath: Filter search results by filepath. Exact match for full paths, prefix match if
|
|
619
628
|
ending with /
|
|
620
629
|
|
|
@@ -651,6 +660,7 @@ class AsyncSearchResource(AsyncAPIResource):
|
|
|
651
660
|
"q": q,
|
|
652
661
|
"aggregate": aggregate,
|
|
653
662
|
"container_tag": container_tag,
|
|
663
|
+
"container_tags": container_tags,
|
|
654
664
|
"filepath": filepath,
|
|
655
665
|
"filters": filters,
|
|
656
666
|
"include": include,
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
5
|
from typing import Dict, Union, Iterable, Optional
|
|
6
|
-
from typing_extensions import overload
|
|
7
6
|
|
|
8
7
|
import httpx
|
|
9
8
|
|
|
@@ -47,33 +46,6 @@ class SettingsResource(SyncAPIResource):
|
|
|
47
46
|
"""
|
|
48
47
|
return SettingsResourceWithStreamingResponse(self)
|
|
49
48
|
|
|
50
|
-
@overload
|
|
51
|
-
def update(
|
|
52
|
-
self,
|
|
53
|
-
*,
|
|
54
|
-
workspace_prompt: Optional[str],
|
|
55
|
-
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
56
|
-
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
57
|
-
extra_headers: Headers | None = None,
|
|
58
|
-
extra_query: Query | None = None,
|
|
59
|
-
extra_body: Body | None = None,
|
|
60
|
-
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
61
|
-
) -> SettingUpdateResponse:
|
|
62
|
-
"""
|
|
63
|
-
Update settings for an organization
|
|
64
|
-
|
|
65
|
-
Args:
|
|
66
|
-
extra_headers: Send extra headers
|
|
67
|
-
|
|
68
|
-
extra_query: Add additional query parameters to the request
|
|
69
|
-
|
|
70
|
-
extra_body: Add additional JSON properties to the request
|
|
71
|
-
|
|
72
|
-
timeout: Override the client-level default timeout for this request, in seconds
|
|
73
|
-
"""
|
|
74
|
-
...
|
|
75
|
-
|
|
76
|
-
@overload
|
|
77
49
|
def update(
|
|
78
50
|
self,
|
|
79
51
|
*,
|
|
@@ -93,7 +65,7 @@ class SettingsResource(SyncAPIResource):
|
|
|
93
65
|
onedrive_client_id: Optional[str] | Omit = omit,
|
|
94
66
|
onedrive_client_secret: Optional[str] | Omit = omit,
|
|
95
67
|
onedrive_custom_key_enabled: Optional[bool] | Omit = omit,
|
|
96
|
-
profile_buckets: Iterable[setting_update_params.
|
|
68
|
+
profile_buckets: Iterable[setting_update_params.ProfileBucket] | Omit = omit,
|
|
97
69
|
should_llm_filter: Optional[bool] | Omit = omit,
|
|
98
70
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
99
71
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
@@ -116,42 +88,10 @@ class SettingsResource(SyncAPIResource):
|
|
|
116
88
|
|
|
117
89
|
timeout: Override the client-level default timeout for this request, in seconds
|
|
118
90
|
"""
|
|
119
|
-
...
|
|
120
|
-
|
|
121
|
-
def update(
|
|
122
|
-
self,
|
|
123
|
-
*,
|
|
124
|
-
workspace_prompt: Optional[str] | Omit = omit,
|
|
125
|
-
chunk_size: Optional[int] | Omit = omit,
|
|
126
|
-
exclude_items: Union[str, float, bool, Dict[str, object], Iterable[object], None] | Omit = omit,
|
|
127
|
-
filter_prompt: Optional[str] | Omit = omit,
|
|
128
|
-
github_client_id: Optional[str] | Omit = omit,
|
|
129
|
-
github_client_secret: Optional[str] | Omit = omit,
|
|
130
|
-
github_custom_key_enabled: Optional[bool] | Omit = omit,
|
|
131
|
-
google_drive_client_id: Optional[str] | Omit = omit,
|
|
132
|
-
google_drive_client_secret: Optional[str] | Omit = omit,
|
|
133
|
-
google_drive_custom_key_enabled: Optional[bool] | Omit = omit,
|
|
134
|
-
include_items: Union[str, float, bool, Dict[str, object], Iterable[object], None] | Omit = omit,
|
|
135
|
-
notion_client_id: Optional[str] | Omit = omit,
|
|
136
|
-
notion_client_secret: Optional[str] | Omit = omit,
|
|
137
|
-
notion_custom_key_enabled: Optional[bool] | Omit = omit,
|
|
138
|
-
onedrive_client_id: Optional[str] | Omit = omit,
|
|
139
|
-
onedrive_client_secret: Optional[str] | Omit = omit,
|
|
140
|
-
onedrive_custom_key_enabled: Optional[bool] | Omit = omit,
|
|
141
|
-
profile_buckets: Iterable[setting_update_params.Variant1ProfileBucket] | Omit = omit,
|
|
142
|
-
should_llm_filter: Optional[bool] | Omit = omit,
|
|
143
|
-
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
144
|
-
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
145
|
-
extra_headers: Headers | None = None,
|
|
146
|
-
extra_query: Query | None = None,
|
|
147
|
-
extra_body: Body | None = None,
|
|
148
|
-
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
149
|
-
) -> SettingUpdateResponse:
|
|
150
91
|
return self._patch(
|
|
151
92
|
"/v3/settings",
|
|
152
93
|
body=maybe_transform(
|
|
153
94
|
{
|
|
154
|
-
"workspace_prompt": workspace_prompt,
|
|
155
95
|
"chunk_size": chunk_size,
|
|
156
96
|
"exclude_items": exclude_items,
|
|
157
97
|
"filter_prompt": filter_prompt,
|
|
@@ -221,33 +161,6 @@ class AsyncSettingsResource(AsyncAPIResource):
|
|
|
221
161
|
"""
|
|
222
162
|
return AsyncSettingsResourceWithStreamingResponse(self)
|
|
223
163
|
|
|
224
|
-
@overload
|
|
225
|
-
async def update(
|
|
226
|
-
self,
|
|
227
|
-
*,
|
|
228
|
-
workspace_prompt: Optional[str],
|
|
229
|
-
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
230
|
-
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
231
|
-
extra_headers: Headers | None = None,
|
|
232
|
-
extra_query: Query | None = None,
|
|
233
|
-
extra_body: Body | None = None,
|
|
234
|
-
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
235
|
-
) -> SettingUpdateResponse:
|
|
236
|
-
"""
|
|
237
|
-
Update settings for an organization
|
|
238
|
-
|
|
239
|
-
Args:
|
|
240
|
-
extra_headers: Send extra headers
|
|
241
|
-
|
|
242
|
-
extra_query: Add additional query parameters to the request
|
|
243
|
-
|
|
244
|
-
extra_body: Add additional JSON properties to the request
|
|
245
|
-
|
|
246
|
-
timeout: Override the client-level default timeout for this request, in seconds
|
|
247
|
-
"""
|
|
248
|
-
...
|
|
249
|
-
|
|
250
|
-
@overload
|
|
251
164
|
async def update(
|
|
252
165
|
self,
|
|
253
166
|
*,
|
|
@@ -267,7 +180,7 @@ class AsyncSettingsResource(AsyncAPIResource):
|
|
|
267
180
|
onedrive_client_id: Optional[str] | Omit = omit,
|
|
268
181
|
onedrive_client_secret: Optional[str] | Omit = omit,
|
|
269
182
|
onedrive_custom_key_enabled: Optional[bool] | Omit = omit,
|
|
270
|
-
profile_buckets: Iterable[setting_update_params.
|
|
183
|
+
profile_buckets: Iterable[setting_update_params.ProfileBucket] | Omit = omit,
|
|
271
184
|
should_llm_filter: Optional[bool] | Omit = omit,
|
|
272
185
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
273
186
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
@@ -290,42 +203,10 @@ class AsyncSettingsResource(AsyncAPIResource):
|
|
|
290
203
|
|
|
291
204
|
timeout: Override the client-level default timeout for this request, in seconds
|
|
292
205
|
"""
|
|
293
|
-
...
|
|
294
|
-
|
|
295
|
-
async def update(
|
|
296
|
-
self,
|
|
297
|
-
*,
|
|
298
|
-
workspace_prompt: Optional[str] | Omit = omit,
|
|
299
|
-
chunk_size: Optional[int] | Omit = omit,
|
|
300
|
-
exclude_items: Union[str, float, bool, Dict[str, object], Iterable[object], None] | Omit = omit,
|
|
301
|
-
filter_prompt: Optional[str] | Omit = omit,
|
|
302
|
-
github_client_id: Optional[str] | Omit = omit,
|
|
303
|
-
github_client_secret: Optional[str] | Omit = omit,
|
|
304
|
-
github_custom_key_enabled: Optional[bool] | Omit = omit,
|
|
305
|
-
google_drive_client_id: Optional[str] | Omit = omit,
|
|
306
|
-
google_drive_client_secret: Optional[str] | Omit = omit,
|
|
307
|
-
google_drive_custom_key_enabled: Optional[bool] | Omit = omit,
|
|
308
|
-
include_items: Union[str, float, bool, Dict[str, object], Iterable[object], None] | Omit = omit,
|
|
309
|
-
notion_client_id: Optional[str] | Omit = omit,
|
|
310
|
-
notion_client_secret: Optional[str] | Omit = omit,
|
|
311
|
-
notion_custom_key_enabled: Optional[bool] | Omit = omit,
|
|
312
|
-
onedrive_client_id: Optional[str] | Omit = omit,
|
|
313
|
-
onedrive_client_secret: Optional[str] | Omit = omit,
|
|
314
|
-
onedrive_custom_key_enabled: Optional[bool] | Omit = omit,
|
|
315
|
-
profile_buckets: Iterable[setting_update_params.Variant1ProfileBucket] | Omit = omit,
|
|
316
|
-
should_llm_filter: Optional[bool] | Omit = omit,
|
|
317
|
-
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
318
|
-
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
319
|
-
extra_headers: Headers | None = None,
|
|
320
|
-
extra_query: Query | None = None,
|
|
321
|
-
extra_body: Body | None = None,
|
|
322
|
-
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
323
|
-
) -> SettingUpdateResponse:
|
|
324
206
|
return await self._patch(
|
|
325
207
|
"/v3/settings",
|
|
326
208
|
body=await async_maybe_transform(
|
|
327
209
|
{
|
|
328
|
-
"workspace_prompt": workspace_prompt,
|
|
329
210
|
"chunk_size": chunk_size,
|
|
330
211
|
"exclude_items": exclude_items,
|
|
331
212
|
"filter_prompt": filter_prompt,
|
|
@@ -5,6 +5,7 @@ from __future__ import annotations
|
|
|
5
5
|
from typing import Union, Iterable
|
|
6
6
|
from typing_extensions import Literal, Required, Annotated, TypeAlias, TypedDict
|
|
7
7
|
|
|
8
|
+
from .._types import SequenceNotStr
|
|
8
9
|
from .._utils import PropertyInfo
|
|
9
10
|
|
|
10
11
|
__all__ = [
|
|
@@ -346,6 +347,12 @@ class SearchMemoriesParams(TypedDict, total=False):
|
|
|
346
347
|
to use to filter memories.
|
|
347
348
|
"""
|
|
348
349
|
|
|
350
|
+
container_tags: Annotated[SequenceNotStr[str], PropertyInfo(alias="containerTags")]
|
|
351
|
+
"""Optional tags this search should be containerized by.
|
|
352
|
+
|
|
353
|
+
Search is scoped to memories under these tags.
|
|
354
|
+
"""
|
|
355
|
+
|
|
349
356
|
filepath: str
|
|
350
357
|
"""Filter search results by filepath.
|
|
351
358
|
|
|
@@ -3,18 +3,14 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
5
|
from typing import Dict, Union, Iterable, Optional
|
|
6
|
-
from typing_extensions import Required, Annotated,
|
|
6
|
+
from typing_extensions import Required, Annotated, TypedDict
|
|
7
7
|
|
|
8
8
|
from .._utils import PropertyInfo
|
|
9
9
|
|
|
10
|
-
__all__ = ["SettingUpdateParams", "
|
|
10
|
+
__all__ = ["SettingUpdateParams", "ProfileBucket"]
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
class
|
|
14
|
-
workspace_prompt: Required[Annotated[Optional[str], PropertyInfo(alias="workspacePrompt")]]
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
class Variant1(TypedDict, total=False):
|
|
13
|
+
class SettingUpdateParams(TypedDict, total=False):
|
|
18
14
|
chunk_size: Annotated[Optional[int], PropertyInfo(alias="chunkSize")]
|
|
19
15
|
|
|
20
16
|
exclude_items: Annotated[
|
|
@@ -51,13 +47,13 @@ class Variant1(TypedDict, total=False):
|
|
|
51
47
|
|
|
52
48
|
onedrive_custom_key_enabled: Annotated[Optional[bool], PropertyInfo(alias="onedriveCustomKeyEnabled")]
|
|
53
49
|
|
|
54
|
-
profile_buckets: Annotated[Iterable[
|
|
50
|
+
profile_buckets: Annotated[Iterable[ProfileBucket], PropertyInfo(alias="profileBuckets")]
|
|
55
51
|
"""Profile bucket definitions"""
|
|
56
52
|
|
|
57
53
|
should_llm_filter: Annotated[Optional[bool], PropertyInfo(alias="shouldLLMFilter")]
|
|
58
54
|
|
|
59
55
|
|
|
60
|
-
class
|
|
56
|
+
class ProfileBucket(TypedDict, total=False):
|
|
61
57
|
"""Definition of a single profile bucket"""
|
|
62
58
|
|
|
63
59
|
key: Required[str]
|
|
@@ -65,6 +61,3 @@ class Variant1ProfileBucket(TypedDict, total=False):
|
|
|
65
61
|
|
|
66
62
|
description: str
|
|
67
63
|
"""What belongs in this bucket — used to guide the ingestion classifier."""
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
SettingUpdateParams: TypeAlias = Union[Variant0, Variant1]
|
|
@@ -61,8 +61,6 @@ class Updated(BaseModel):
|
|
|
61
61
|
|
|
62
62
|
should_llm_filter: Optional[bool] = FieldInfo(alias="shouldLLMFilter", default=None)
|
|
63
63
|
|
|
64
|
-
workspace_prompt: Optional[str] = FieldInfo(alias="workspacePrompt", default=None)
|
|
65
|
-
|
|
66
64
|
|
|
67
65
|
class SettingUpdateResponse(BaseModel):
|
|
68
66
|
org_id: str = FieldInfo(alias="orgId")
|
|
@@ -170,6 +170,7 @@ class TestSearch:
|
|
|
170
170
|
q="what are the API rate limits",
|
|
171
171
|
aggregate=False,
|
|
172
172
|
container_tag="user_alex",
|
|
173
|
+
container_tags=["user_alex"],
|
|
173
174
|
filepath="filepath",
|
|
174
175
|
filters={
|
|
175
176
|
"or_": [
|
|
@@ -379,6 +380,7 @@ class TestAsyncSearch:
|
|
|
379
380
|
q="what are the API rate limits",
|
|
380
381
|
aggregate=False,
|
|
381
382
|
container_tag="user_alex",
|
|
383
|
+
container_tags=["user_alex"],
|
|
382
384
|
filepath="filepath",
|
|
383
385
|
filters={
|
|
384
386
|
"or_": [
|
|
@@ -19,47 +19,13 @@ class TestSettings:
|
|
|
19
19
|
|
|
20
20
|
@pytest.mark.skip(reason="Mock server tests are disabled")
|
|
21
21
|
@parametrize
|
|
22
|
-
def
|
|
23
|
-
setting = client.settings.update(
|
|
24
|
-
workspace_prompt="workspacePrompt",
|
|
25
|
-
)
|
|
26
|
-
assert_matches_type(SettingUpdateResponse, setting, path=["response"])
|
|
27
|
-
|
|
28
|
-
@pytest.mark.skip(reason="Mock server tests are disabled")
|
|
29
|
-
@parametrize
|
|
30
|
-
def test_raw_response_update_overload_1(self, client: Supermemory) -> None:
|
|
31
|
-
response = client.settings.with_raw_response.update(
|
|
32
|
-
workspace_prompt="workspacePrompt",
|
|
33
|
-
)
|
|
34
|
-
|
|
35
|
-
assert response.is_closed is True
|
|
36
|
-
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
|
37
|
-
setting = response.parse()
|
|
38
|
-
assert_matches_type(SettingUpdateResponse, setting, path=["response"])
|
|
39
|
-
|
|
40
|
-
@pytest.mark.skip(reason="Mock server tests are disabled")
|
|
41
|
-
@parametrize
|
|
42
|
-
def test_streaming_response_update_overload_1(self, client: Supermemory) -> None:
|
|
43
|
-
with client.settings.with_streaming_response.update(
|
|
44
|
-
workspace_prompt="workspacePrompt",
|
|
45
|
-
) as response:
|
|
46
|
-
assert not response.is_closed
|
|
47
|
-
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
|
48
|
-
|
|
49
|
-
setting = response.parse()
|
|
50
|
-
assert_matches_type(SettingUpdateResponse, setting, path=["response"])
|
|
51
|
-
|
|
52
|
-
assert cast(Any, response.is_closed) is True
|
|
53
|
-
|
|
54
|
-
@pytest.mark.skip(reason="Mock server tests are disabled")
|
|
55
|
-
@parametrize
|
|
56
|
-
def test_method_update_overload_2(self, client: Supermemory) -> None:
|
|
22
|
+
def test_method_update(self, client: Supermemory) -> None:
|
|
57
23
|
setting = client.settings.update()
|
|
58
24
|
assert_matches_type(SettingUpdateResponse, setting, path=["response"])
|
|
59
25
|
|
|
60
26
|
@pytest.mark.skip(reason="Mock server tests are disabled")
|
|
61
27
|
@parametrize
|
|
62
|
-
def
|
|
28
|
+
def test_method_update_with_all_params(self, client: Supermemory) -> None:
|
|
63
29
|
setting = client.settings.update(
|
|
64
30
|
chunk_size=-2147483648,
|
|
65
31
|
exclude_items="string",
|
|
@@ -89,7 +55,7 @@ class TestSettings:
|
|
|
89
55
|
|
|
90
56
|
@pytest.mark.skip(reason="Mock server tests are disabled")
|
|
91
57
|
@parametrize
|
|
92
|
-
def
|
|
58
|
+
def test_raw_response_update(self, client: Supermemory) -> None:
|
|
93
59
|
response = client.settings.with_raw_response.update()
|
|
94
60
|
|
|
95
61
|
assert response.is_closed is True
|
|
@@ -99,7 +65,7 @@ class TestSettings:
|
|
|
99
65
|
|
|
100
66
|
@pytest.mark.skip(reason="Mock server tests are disabled")
|
|
101
67
|
@parametrize
|
|
102
|
-
def
|
|
68
|
+
def test_streaming_response_update(self, client: Supermemory) -> None:
|
|
103
69
|
with client.settings.with_streaming_response.update() as response:
|
|
104
70
|
assert not response.is_closed
|
|
105
71
|
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
|
@@ -145,47 +111,13 @@ class TestAsyncSettings:
|
|
|
145
111
|
|
|
146
112
|
@pytest.mark.skip(reason="Mock server tests are disabled")
|
|
147
113
|
@parametrize
|
|
148
|
-
async def
|
|
149
|
-
setting = await async_client.settings.update(
|
|
150
|
-
workspace_prompt="workspacePrompt",
|
|
151
|
-
)
|
|
152
|
-
assert_matches_type(SettingUpdateResponse, setting, path=["response"])
|
|
153
|
-
|
|
154
|
-
@pytest.mark.skip(reason="Mock server tests are disabled")
|
|
155
|
-
@parametrize
|
|
156
|
-
async def test_raw_response_update_overload_1(self, async_client: AsyncSupermemory) -> None:
|
|
157
|
-
response = await async_client.settings.with_raw_response.update(
|
|
158
|
-
workspace_prompt="workspacePrompt",
|
|
159
|
-
)
|
|
160
|
-
|
|
161
|
-
assert response.is_closed is True
|
|
162
|
-
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
|
163
|
-
setting = await response.parse()
|
|
164
|
-
assert_matches_type(SettingUpdateResponse, setting, path=["response"])
|
|
165
|
-
|
|
166
|
-
@pytest.mark.skip(reason="Mock server tests are disabled")
|
|
167
|
-
@parametrize
|
|
168
|
-
async def test_streaming_response_update_overload_1(self, async_client: AsyncSupermemory) -> None:
|
|
169
|
-
async with async_client.settings.with_streaming_response.update(
|
|
170
|
-
workspace_prompt="workspacePrompt",
|
|
171
|
-
) as response:
|
|
172
|
-
assert not response.is_closed
|
|
173
|
-
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
|
174
|
-
|
|
175
|
-
setting = await response.parse()
|
|
176
|
-
assert_matches_type(SettingUpdateResponse, setting, path=["response"])
|
|
177
|
-
|
|
178
|
-
assert cast(Any, response.is_closed) is True
|
|
179
|
-
|
|
180
|
-
@pytest.mark.skip(reason="Mock server tests are disabled")
|
|
181
|
-
@parametrize
|
|
182
|
-
async def test_method_update_overload_2(self, async_client: AsyncSupermemory) -> None:
|
|
114
|
+
async def test_method_update(self, async_client: AsyncSupermemory) -> None:
|
|
183
115
|
setting = await async_client.settings.update()
|
|
184
116
|
assert_matches_type(SettingUpdateResponse, setting, path=["response"])
|
|
185
117
|
|
|
186
118
|
@pytest.mark.skip(reason="Mock server tests are disabled")
|
|
187
119
|
@parametrize
|
|
188
|
-
async def
|
|
120
|
+
async def test_method_update_with_all_params(self, async_client: AsyncSupermemory) -> None:
|
|
189
121
|
setting = await async_client.settings.update(
|
|
190
122
|
chunk_size=-2147483648,
|
|
191
123
|
exclude_items="string",
|
|
@@ -215,7 +147,7 @@ class TestAsyncSettings:
|
|
|
215
147
|
|
|
216
148
|
@pytest.mark.skip(reason="Mock server tests are disabled")
|
|
217
149
|
@parametrize
|
|
218
|
-
async def
|
|
150
|
+
async def test_raw_response_update(self, async_client: AsyncSupermemory) -> None:
|
|
219
151
|
response = await async_client.settings.with_raw_response.update()
|
|
220
152
|
|
|
221
153
|
assert response.is_closed is True
|
|
@@ -225,7 +157,7 @@ class TestAsyncSettings:
|
|
|
225
157
|
|
|
226
158
|
@pytest.mark.skip(reason="Mock server tests are disabled")
|
|
227
159
|
@parametrize
|
|
228
|
-
async def
|
|
160
|
+
async def test_streaming_response_update(self, async_client: AsyncSupermemory) -> None:
|
|
229
161
|
async with async_client.settings.with_streaming_response.update() as response:
|
|
230
162
|
assert not response.is_closed
|
|
231
163
|
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
|
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
|
|
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.53.0 → supermemory-3.55.0}/src/supermemory/types/connection_configure_params.py
RENAMED
|
File without changes
|
{supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/connection_configure_response.py
RENAMED
|
File without changes
|
|
File without changes
|
{supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/connection_create_response.py
RENAMED
|
File without changes
|
{supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/connection_delete_by_id_params.py
RENAMED
|
File without changes
|
{supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/connection_delete_by_id_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/connection_get_by_id_response.py
RENAMED
|
File without changes
|
{supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/connection_get_by_tag_params.py
RENAMED
|
File without changes
|
{supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/connection_get_by_tag_response.py
RENAMED
|
File without changes
|
|
File without changes
|
{supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/connection_import_response.py
RENAMED
|
File without changes
|
{supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/connection_list_documents_params.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/connection_resources_params.py
RENAMED
|
File without changes
|
{supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/connection_resources_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/document_batch_add_params.py
RENAMED
|
File without changes
|
{supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/document_batch_add_response.py
RENAMED
|
File without changes
|
{supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/document_delete_bulk_params.py
RENAMED
|
File without changes
|
{supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/document_delete_bulk_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/document_list_processing_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/document_upload_file_params.py
RENAMED
|
File without changes
|
{supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/document_upload_file_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/memory_update_memory_params.py
RENAMED
|
File without changes
|
{supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/memory_update_memory_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supermemory-3.53.0 → supermemory-3.55.0}/src/supermemory/types/search_documents_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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|