supermemory 3.56.0__tar.gz → 3.58.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.
Files changed (139) hide show
  1. supermemory-3.58.0/.release-please-manifest.json +3 -0
  2. {supermemory-3.56.0 → supermemory-3.58.0}/CHANGELOG.md +16 -0
  3. {supermemory-3.56.0 → supermemory-3.58.0}/PKG-INFO +1 -1
  4. {supermemory-3.56.0 → supermemory-3.58.0}/pyproject.toml +1 -1
  5. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/_version.py +1 -1
  6. supermemory-3.58.0/src/supermemory/types/client_profile_params.py +140 -0
  7. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/connection_create_response.py +2 -2
  8. supermemory-3.58.0/src/supermemory/types/connection_delete_by_id_response.py +17 -0
  9. supermemory-3.58.0/src/supermemory/types/connection_delete_by_provider_response.py +17 -0
  10. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/connection_list_documents_response.py +1 -1
  11. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/document_batch_add_response.py +8 -0
  12. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/document_get_response.py +37 -3
  13. supermemory-3.58.0/src/supermemory/types/document_list_params.py +139 -0
  14. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/document_list_processing_response.py +9 -0
  15. supermemory-3.58.0/src/supermemory/types/profile_response.py +200 -0
  16. supermemory-3.58.0/src/supermemory/types/search_documents_params.py +183 -0
  17. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/search_documents_response.py +7 -0
  18. supermemory-3.58.0/src/supermemory/types/search_execute_params.py +183 -0
  19. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/search_execute_response.py +7 -0
  20. supermemory-3.58.0/src/supermemory/types/search_memories_params.py +191 -0
  21. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/search_memories_response.py +7 -3
  22. supermemory-3.56.0/.release-please-manifest.json +0 -3
  23. supermemory-3.56.0/src/supermemory/types/client_profile_params.py +0 -3846
  24. supermemory-3.56.0/src/supermemory/types/connection_delete_by_id_response.py +0 -11
  25. supermemory-3.56.0/src/supermemory/types/connection_delete_by_provider_response.py +0 -11
  26. supermemory-3.56.0/src/supermemory/types/document_list_params.py +0 -3845
  27. supermemory-3.56.0/src/supermemory/types/profile_response.py +0 -40
  28. supermemory-3.56.0/src/supermemory/types/search_documents_params.py +0 -3889
  29. supermemory-3.56.0/src/supermemory/types/search_execute_params.py +0 -3889
  30. supermemory-3.56.0/src/supermemory/types/search_memories_params.py +0 -3897
  31. {supermemory-3.56.0 → supermemory-3.58.0}/.gitignore +0 -0
  32. {supermemory-3.56.0 → supermemory-3.58.0}/CONTRIBUTING.md +0 -0
  33. {supermemory-3.56.0 → supermemory-3.58.0}/LICENSE +0 -0
  34. {supermemory-3.56.0 → supermemory-3.58.0}/README.md +0 -0
  35. {supermemory-3.56.0 → supermemory-3.58.0}/SECURITY.md +0 -0
  36. {supermemory-3.56.0 → supermemory-3.58.0}/api.md +0 -0
  37. {supermemory-3.56.0 → supermemory-3.58.0}/bin/check-release-environment +0 -0
  38. {supermemory-3.56.0 → supermemory-3.58.0}/bin/publish-pypi +0 -0
  39. {supermemory-3.56.0 → supermemory-3.58.0}/examples/.keep +0 -0
  40. {supermemory-3.56.0 → supermemory-3.58.0}/noxfile.py +0 -0
  41. {supermemory-3.56.0 → supermemory-3.58.0}/release-please-config.json +0 -0
  42. {supermemory-3.56.0 → supermemory-3.58.0}/requirements-dev.lock +0 -0
  43. {supermemory-3.56.0 → supermemory-3.58.0}/requirements.lock +0 -0
  44. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/__init__.py +0 -0
  45. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/_base_client.py +0 -0
  46. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/_client.py +0 -0
  47. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/_compat.py +0 -0
  48. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/_constants.py +0 -0
  49. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/_exceptions.py +0 -0
  50. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/_files.py +0 -0
  51. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/_models.py +0 -0
  52. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/_qs.py +0 -0
  53. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/_resource.py +0 -0
  54. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/_response.py +0 -0
  55. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/_streaming.py +0 -0
  56. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/_types.py +0 -0
  57. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/_utils/__init__.py +0 -0
  58. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/_utils/_compat.py +0 -0
  59. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/_utils/_datetime_parse.py +0 -0
  60. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/_utils/_json.py +0 -0
  61. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/_utils/_logs.py +0 -0
  62. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/_utils/_path.py +0 -0
  63. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/_utils/_proxy.py +0 -0
  64. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/_utils/_reflection.py +0 -0
  65. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/_utils/_resources_proxy.py +0 -0
  66. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/_utils/_streams.py +0 -0
  67. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/_utils/_sync.py +0 -0
  68. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/_utils/_transform.py +0 -0
  69. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/_utils/_typing.py +0 -0
  70. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/_utils/_utils.py +0 -0
  71. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/lib/.keep +0 -0
  72. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/py.typed +0 -0
  73. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/resources/__init__.py +0 -0
  74. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/resources/connections.py +0 -0
  75. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/resources/documents.py +0 -0
  76. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/resources/memories.py +0 -0
  77. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/resources/search.py +0 -0
  78. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/resources/settings.py +0 -0
  79. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/__init__.py +0 -0
  80. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/add_response.py +0 -0
  81. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/client_add_params.py +0 -0
  82. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/connection_configure_params.py +0 -0
  83. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/connection_configure_response.py +0 -0
  84. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/connection_create_params.py +0 -0
  85. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/connection_delete_by_id_params.py +0 -0
  86. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/connection_delete_by_provider_params.py +0 -0
  87. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/connection_get_by_id_response.py +0 -0
  88. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/connection_get_by_tag_params.py +0 -0
  89. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/connection_get_by_tag_response.py +0 -0
  90. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/connection_import_params.py +0 -0
  91. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/connection_import_response.py +0 -0
  92. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/connection_list_documents_params.py +0 -0
  93. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/connection_list_params.py +0 -0
  94. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/connection_list_response.py +0 -0
  95. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/connection_resources_params.py +0 -0
  96. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/connection_resources_response.py +0 -0
  97. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/document_add_params.py +0 -0
  98. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/document_add_response.py +0 -0
  99. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/document_batch_add_params.py +0 -0
  100. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/document_delete_bulk_params.py +0 -0
  101. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/document_delete_bulk_response.py +0 -0
  102. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/document_list_response.py +0 -0
  103. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/document_update_params.py +0 -0
  104. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/document_update_response.py +0 -0
  105. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/document_upload_file_params.py +0 -0
  106. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/document_upload_file_response.py +0 -0
  107. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/memory_forget_params.py +0 -0
  108. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/memory_forget_response.py +0 -0
  109. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/memory_update_memory_params.py +0 -0
  110. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/memory_update_memory_response.py +0 -0
  111. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/setting_get_response.py +0 -0
  112. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/setting_update_params.py +0 -0
  113. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory/types/setting_update_response.py +0 -0
  114. {supermemory-3.56.0 → supermemory-3.58.0}/src/supermemory_new/lib/.keep +0 -0
  115. {supermemory-3.56.0 → supermemory-3.58.0}/tests/__init__.py +0 -0
  116. {supermemory-3.56.0 → supermemory-3.58.0}/tests/api_resources/__init__.py +0 -0
  117. {supermemory-3.56.0 → supermemory-3.58.0}/tests/api_resources/test_client.py +0 -0
  118. {supermemory-3.56.0 → supermemory-3.58.0}/tests/api_resources/test_connections.py +0 -0
  119. {supermemory-3.56.0 → supermemory-3.58.0}/tests/api_resources/test_documents.py +0 -0
  120. {supermemory-3.56.0 → supermemory-3.58.0}/tests/api_resources/test_memories.py +0 -0
  121. {supermemory-3.56.0 → supermemory-3.58.0}/tests/api_resources/test_search.py +0 -0
  122. {supermemory-3.56.0 → supermemory-3.58.0}/tests/api_resources/test_settings.py +0 -0
  123. {supermemory-3.56.0 → supermemory-3.58.0}/tests/conftest.py +0 -0
  124. {supermemory-3.56.0 → supermemory-3.58.0}/tests/sample_file.txt +0 -0
  125. {supermemory-3.56.0 → supermemory-3.58.0}/tests/test_client.py +0 -0
  126. {supermemory-3.56.0 → supermemory-3.58.0}/tests/test_extract_files.py +0 -0
  127. {supermemory-3.56.0 → supermemory-3.58.0}/tests/test_files.py +0 -0
  128. {supermemory-3.56.0 → supermemory-3.58.0}/tests/test_models.py +0 -0
  129. {supermemory-3.56.0 → supermemory-3.58.0}/tests/test_qs.py +0 -0
  130. {supermemory-3.56.0 → supermemory-3.58.0}/tests/test_required_args.py +0 -0
  131. {supermemory-3.56.0 → supermemory-3.58.0}/tests/test_response.py +0 -0
  132. {supermemory-3.56.0 → supermemory-3.58.0}/tests/test_streaming.py +0 -0
  133. {supermemory-3.56.0 → supermemory-3.58.0}/tests/test_transform.py +0 -0
  134. {supermemory-3.56.0 → supermemory-3.58.0}/tests/test_utils/test_datetime_parse.py +0 -0
  135. {supermemory-3.56.0 → supermemory-3.58.0}/tests/test_utils/test_json.py +0 -0
  136. {supermemory-3.56.0 → supermemory-3.58.0}/tests/test_utils/test_path.py +0 -0
  137. {supermemory-3.56.0 → supermemory-3.58.0}/tests/test_utils/test_proxy.py +0 -0
  138. {supermemory-3.56.0 → supermemory-3.58.0}/tests/test_utils/test_typing.py +0 -0
  139. {supermemory-3.56.0 → supermemory-3.58.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "3.58.0"
3
+ }
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## 3.58.0 (2026-08-14)
4
+
5
+ Full Changelog: [v3.57.0...v3.58.0](https://github.com/supermemoryai/python-sdk/compare/v3.57.0...v3.58.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([28dce44](https://github.com/supermemoryai/python-sdk/commit/28dce44965387f46bc594b796a6054bb4d0472ea))
10
+
11
+ ## 3.57.0 (2026-08-11)
12
+
13
+ Full Changelog: [v3.56.0...v3.57.0](https://github.com/supermemoryai/python-sdk/compare/v3.56.0...v3.57.0)
14
+
15
+ ### Features
16
+
17
+ * **api:** api update ([307c6ac](https://github.com/supermemoryai/python-sdk/commit/307c6ac6f115b9fac6ef7aaa70416e387cabf8e7))
18
+
3
19
  ## 3.56.0 (2026-07-24)
4
20
 
5
21
  Full Changelog: [v3.55.0...v3.56.0](https://github.com/supermemoryai/python-sdk/compare/v3.55.0...v3.56.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: supermemory
3
- Version: 3.56.0
3
+ Version: 3.58.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
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "supermemory"
3
- version = "3.56.0"
3
+ version = "3.58.0"
4
4
  description = "The official Python library for the supermemory API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -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.56.0" # x-release-please-version
4
+ __version__ = "3.58.0" # x-release-please-version
@@ -0,0 +1,140 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import List, Union, Iterable
6
+ from typing_extensions import Literal, Required, Annotated, TypeAlias, TypedDict
7
+
8
+ from .._types import SequenceNotStr
9
+ from .._utils import PropertyInfo
10
+
11
+ __all__ = [
12
+ "ClientProfileParams",
13
+ "Filters",
14
+ "FiltersOr",
15
+ "FiltersOrOr",
16
+ "FiltersOrOrFilterCondition",
17
+ "FiltersOrOrOr",
18
+ "FiltersOrOrAnd",
19
+ "FiltersAnd",
20
+ "FiltersAndAnd",
21
+ "FiltersAndAndFilterCondition",
22
+ "FiltersAndAndOr",
23
+ "FiltersAndAndAnd",
24
+ ]
25
+
26
+
27
+ class ClientProfileParams(TypedDict, total=False):
28
+ container_tag: Required[Annotated[str, PropertyInfo(alias="containerTag")]]
29
+ """Tag to filter the profile by.
30
+
31
+ This can be an ID for your user, a project ID, or any other identifier you wish
32
+ to use to filter memories.
33
+ """
34
+
35
+ buckets: SequenceNotStr[str]
36
+ """Specific bucket keys to return.
37
+
38
+ Omit to return all configured buckets. Only relevant when "buckets" is included.
39
+ """
40
+
41
+ filters: Filters
42
+ """Optional metadata filters to apply to profile results and search results.
43
+
44
+ Supports complex AND/OR queries with multiple conditions.
45
+ """
46
+
47
+ include: List[Literal["static", "dynamic", "buckets"]]
48
+ """Profile sections to return.
49
+
50
+ Omit to return all sections. Pass a subset to reduce payload — e.g. ["buckets"]
51
+ skips static and dynamic entirely.
52
+ """
53
+
54
+ q: str
55
+ """Optional search query to include search results in the response"""
56
+
57
+ threshold: float
58
+ """Threshold for search results.
59
+
60
+ Only results with a score above this threshold will be included.
61
+ """
62
+
63
+
64
+ class FiltersOrOrFilterCondition(TypedDict, total=False):
65
+ """
66
+ A single filter condition based on metadata, numeric values, array contents, or string matching
67
+ """
68
+
69
+ key: Required[str]
70
+
71
+ value: Required[str]
72
+
73
+ filter_type: Annotated[
74
+ Literal["metadata", "numeric", "array_contains", "string_contains"], PropertyInfo(alias="filterType")
75
+ ]
76
+
77
+ ignore_case: Annotated[Union[bool, Literal["true", "false"]], PropertyInfo(alias="ignoreCase")]
78
+
79
+ negate: Union[bool, Literal["true", "false"]]
80
+
81
+ numeric_operator: Annotated[Literal[">", "<", ">=", "<=", "="], PropertyInfo(alias="numericOperator")]
82
+
83
+
84
+ class FiltersOrOrOr(TypedDict, total=False):
85
+ or_: Required[Annotated[Iterable[object], PropertyInfo(alias="OR")]]
86
+ """OR: Array of conditions or nested expressions"""
87
+
88
+
89
+ class FiltersOrOrAnd(TypedDict, total=False):
90
+ and_: Required[Annotated[Iterable[object], PropertyInfo(alias="AND")]]
91
+ """AND: Array of conditions or nested expressions"""
92
+
93
+
94
+ FiltersOrOr: TypeAlias = Union[FiltersOrOrFilterCondition, FiltersOrOrOr, FiltersOrOrAnd]
95
+
96
+
97
+ class FiltersOr(TypedDict, total=False):
98
+ or_: Required[Annotated[Iterable[FiltersOrOr], PropertyInfo(alias="OR")]]
99
+ """Array of OR filter expressions"""
100
+
101
+
102
+ class FiltersAndAndFilterCondition(TypedDict, total=False):
103
+ """
104
+ A single filter condition based on metadata, numeric values, array contents, or string matching
105
+ """
106
+
107
+ key: Required[str]
108
+
109
+ value: Required[str]
110
+
111
+ filter_type: Annotated[
112
+ Literal["metadata", "numeric", "array_contains", "string_contains"], PropertyInfo(alias="filterType")
113
+ ]
114
+
115
+ ignore_case: Annotated[Union[bool, Literal["true", "false"]], PropertyInfo(alias="ignoreCase")]
116
+
117
+ negate: Union[bool, Literal["true", "false"]]
118
+
119
+ numeric_operator: Annotated[Literal[">", "<", ">=", "<=", "="], PropertyInfo(alias="numericOperator")]
120
+
121
+
122
+ class FiltersAndAndOr(TypedDict, total=False):
123
+ or_: Required[Annotated[Iterable[object], PropertyInfo(alias="OR")]]
124
+ """OR: Array of conditions or nested expressions"""
125
+
126
+
127
+ class FiltersAndAndAnd(TypedDict, total=False):
128
+ and_: Required[Annotated[Iterable[object], PropertyInfo(alias="AND")]]
129
+ """AND: Array of conditions or nested expressions"""
130
+
131
+
132
+ FiltersAndAnd: TypeAlias = Union[FiltersAndAndFilterCondition, FiltersAndAndOr, FiltersAndAndAnd]
133
+
134
+
135
+ class FiltersAnd(TypedDict, total=False):
136
+ and_: Required[Annotated[Iterable[FiltersAndAnd], PropertyInfo(alias="AND")]]
137
+ """Array of AND filter expressions"""
138
+
139
+
140
+ Filters: TypeAlias = Union[FiltersOr, FiltersAnd]
@@ -12,8 +12,8 @@ __all__ = ["ConnectionCreateResponse"]
12
12
  class ConnectionCreateResponse(BaseModel):
13
13
  id: str
14
14
 
15
- auth_link: str = FieldInfo(alias="authLink")
15
+ auth_link: Optional[str] = FieldInfo(alias="authLink", default=None)
16
16
 
17
- expires_in: str = FieldInfo(alias="expiresIn")
17
+ expires_in: Optional[str] = FieldInfo(alias="expiresIn", default=None)
18
18
 
19
19
  redirects_to: Optional[str] = FieldInfo(alias="redirectsTo", default=None)
@@ -0,0 +1,17 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List
4
+ from typing_extensions import TypeAlias
5
+
6
+ from .._models import BaseModel
7
+
8
+ __all__ = ["ConnectionDeleteByIDResponse", "ConnectionDeleteByIDResponseItem"]
9
+
10
+
11
+ class ConnectionDeleteByIDResponseItem(BaseModel):
12
+ id: str
13
+
14
+ provider: str
15
+
16
+
17
+ ConnectionDeleteByIDResponse: TypeAlias = List[ConnectionDeleteByIDResponseItem]
@@ -0,0 +1,17 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List
4
+ from typing_extensions import TypeAlias
5
+
6
+ from .._models import BaseModel
7
+
8
+ __all__ = ["ConnectionDeleteByProviderResponse", "ConnectionDeleteByProviderResponseItem"]
9
+
10
+
11
+ class ConnectionDeleteByProviderResponseItem(BaseModel):
12
+ id: str
13
+
14
+ provider: str
15
+
16
+
17
+ ConnectionDeleteByProviderResponse: TypeAlias = List[ConnectionDeleteByProviderResponseItem]
@@ -11,7 +11,7 @@ __all__ = ["ConnectionListDocumentsResponse", "ConnectionListDocumentsResponseIt
11
11
 
12
12
 
13
13
  class ConnectionListDocumentsResponseItem(BaseModel):
14
- id: str
14
+ id: Optional[str] = None
15
15
 
16
16
  created_at: str = FieldInfo(alias="createdAt")
17
17
 
@@ -20,6 +20,14 @@ class Result(BaseModel):
20
20
  error: Optional[str] = None
21
21
  """Error message when status is 'error'"""
22
22
 
23
+ url: Optional[str] = None
24
+ """URL of the failed item, when it had one.
25
+
26
+ Only present on failed items, where it may be the only way to tell which input
27
+ the error belongs to (the id falls back to 'unknown' when the input had neither
28
+ an id nor a customId).
29
+ """
30
+
23
31
 
24
32
  class DocumentBatchAddResponse(BaseModel):
25
33
  failed: float
@@ -7,12 +7,40 @@ from pydantic import Field as FieldInfo
7
7
 
8
8
  from .._models import BaseModel
9
9
 
10
- __all__ = ["DocumentGetResponse"]
10
+ __all__ = ["DocumentGetResponse", "Memory"]
11
11
 
12
12
 
13
- class DocumentGetResponse(BaseModel):
14
- """Document object"""
13
+ class Memory(BaseModel):
14
+ id: str
15
+
16
+ created_at: str = FieldInfo(alias="createdAt")
17
+ """Creation timestamp"""
18
+
19
+ is_forgotten: bool = FieldInfo(alias="isForgotten")
20
+
21
+ is_inference: bool = FieldInfo(alias="isInference")
22
+
23
+ is_latest: bool = FieldInfo(alias="isLatest")
24
+
25
+ is_static: bool = FieldInfo(alias="isStatic")
26
+
27
+ memory: str
28
+
29
+ metadata: Union[str, float, bool, Dict[str, object], List[object], None] = None
15
30
 
31
+ parent_memory_id: Optional[str] = FieldInfo(alias="parentMemoryId", default=None)
32
+
33
+ root_memory_id: Optional[str] = FieldInfo(alias="rootMemoryId", default=None)
34
+
35
+ source_count: int = FieldInfo(alias="sourceCount")
36
+
37
+ updated_at: Optional[str] = FieldInfo(alias="updatedAt", default=None)
38
+ """Last update timestamp"""
39
+
40
+ version: int
41
+
42
+
43
+ class DocumentGetResponse(BaseModel):
16
44
  id: str
17
45
  """Unique identifier of the document."""
18
46
 
@@ -108,5 +136,11 @@ class DocumentGetResponse(BaseModel):
108
136
  to use to group documents.
109
137
  """
110
138
 
139
+ memories: Optional[List[Memory]] = None
140
+ """Memories extracted from this document.
141
+
142
+ Omitted when the document has no memories (e.g. still processing).
143
+ """
144
+
111
145
  url: Optional[str] = None
112
146
  """URL of the document"""
@@ -0,0 +1,139 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Union, Iterable
6
+ from typing_extensions import Literal, Required, Annotated, TypeAlias, TypedDict
7
+
8
+ from .._types import SequenceNotStr
9
+ from .._utils import PropertyInfo
10
+
11
+ __all__ = [
12
+ "DocumentListParams",
13
+ "Filters",
14
+ "FiltersOr",
15
+ "FiltersOrOr",
16
+ "FiltersOrOrFilterCondition",
17
+ "FiltersOrOrOr",
18
+ "FiltersOrOrAnd",
19
+ "FiltersAnd",
20
+ "FiltersAndAnd",
21
+ "FiltersAndAndFilterCondition",
22
+ "FiltersAndAndOr",
23
+ "FiltersAndAndAnd",
24
+ ]
25
+
26
+
27
+ class DocumentListParams(TypedDict, total=False):
28
+ container_tags: Annotated[SequenceNotStr[str], PropertyInfo(alias="containerTags")]
29
+ """Optional tags this document should be containerized by.
30
+
31
+ This can be an ID for your user, a project ID, or any other identifier you wish
32
+ to use to group documents.
33
+ """
34
+
35
+ filepath: str
36
+ """Filter documents by filepath.
37
+
38
+ Exact match for full paths, prefix match if ending with /
39
+ """
40
+
41
+ filters: Filters
42
+ """Optional filters to apply to the search. Can be a JSON string or Query object."""
43
+
44
+ include_content: Annotated[bool, PropertyInfo(alias="includeContent")]
45
+ """Whether to include the content field in the response.
46
+
47
+ Warning: This can make responses significantly larger.
48
+ """
49
+
50
+ limit: Union[str, float]
51
+ """Number of items per page"""
52
+
53
+ order: Literal["asc", "desc"]
54
+ """Sort order"""
55
+
56
+ page: Union[str, float]
57
+ """Page number to fetch"""
58
+
59
+ sort: Literal["createdAt", "updatedAt"]
60
+ """Field to sort by"""
61
+
62
+
63
+ class FiltersOrOrFilterCondition(TypedDict, total=False):
64
+ """
65
+ A single filter condition based on metadata, numeric values, array contents, or string matching
66
+ """
67
+
68
+ key: Required[str]
69
+
70
+ value: Required[str]
71
+
72
+ filter_type: Annotated[
73
+ Literal["metadata", "numeric", "array_contains", "string_contains"], PropertyInfo(alias="filterType")
74
+ ]
75
+
76
+ ignore_case: Annotated[Union[bool, Literal["true", "false"]], PropertyInfo(alias="ignoreCase")]
77
+
78
+ negate: Union[bool, Literal["true", "false"]]
79
+
80
+ numeric_operator: Annotated[Literal[">", "<", ">=", "<=", "="], PropertyInfo(alias="numericOperator")]
81
+
82
+
83
+ class FiltersOrOrOr(TypedDict, total=False):
84
+ or_: Required[Annotated[Iterable[object], PropertyInfo(alias="OR")]]
85
+ """OR: Array of conditions or nested expressions"""
86
+
87
+
88
+ class FiltersOrOrAnd(TypedDict, total=False):
89
+ and_: Required[Annotated[Iterable[object], PropertyInfo(alias="AND")]]
90
+ """AND: Array of conditions or nested expressions"""
91
+
92
+
93
+ FiltersOrOr: TypeAlias = Union[FiltersOrOrFilterCondition, FiltersOrOrOr, FiltersOrOrAnd]
94
+
95
+
96
+ class FiltersOr(TypedDict, total=False):
97
+ or_: Required[Annotated[Iterable[FiltersOrOr], PropertyInfo(alias="OR")]]
98
+ """Array of OR filter expressions"""
99
+
100
+
101
+ class FiltersAndAndFilterCondition(TypedDict, total=False):
102
+ """
103
+ A single filter condition based on metadata, numeric values, array contents, or string matching
104
+ """
105
+
106
+ key: Required[str]
107
+
108
+ value: Required[str]
109
+
110
+ filter_type: Annotated[
111
+ Literal["metadata", "numeric", "array_contains", "string_contains"], PropertyInfo(alias="filterType")
112
+ ]
113
+
114
+ ignore_case: Annotated[Union[bool, Literal["true", "false"]], PropertyInfo(alias="ignoreCase")]
115
+
116
+ negate: Union[bool, Literal["true", "false"]]
117
+
118
+ numeric_operator: Annotated[Literal[">", "<", ">=", "<=", "="], PropertyInfo(alias="numericOperator")]
119
+
120
+
121
+ class FiltersAndAndOr(TypedDict, total=False):
122
+ or_: Required[Annotated[Iterable[object], PropertyInfo(alias="OR")]]
123
+ """OR: Array of conditions or nested expressions"""
124
+
125
+
126
+ class FiltersAndAndAnd(TypedDict, total=False):
127
+ and_: Required[Annotated[Iterable[object], PropertyInfo(alias="AND")]]
128
+ """AND: Array of conditions or nested expressions"""
129
+
130
+
131
+ FiltersAndAnd: TypeAlias = Union[FiltersAndAndFilterCondition, FiltersAndAndOr, FiltersAndAndAnd]
132
+
133
+
134
+ class FiltersAnd(TypedDict, total=False):
135
+ and_: Required[Annotated[Iterable[FiltersAndAnd], PropertyInfo(alias="AND")]]
136
+ """Array of AND filter expressions"""
137
+
138
+
139
+ Filters: TypeAlias = Union[FiltersOr, FiltersAnd]
@@ -14,6 +14,12 @@ class Document(BaseModel):
14
14
  id: str
15
15
  """Unique identifier of the document."""
16
16
 
17
+ connection_id: Optional[str] = FieldInfo(alias="connectionId", default=None)
18
+ """Optional ID of connection the document was created from.
19
+
20
+ This is useful for identifying the source of the document.
21
+ """
22
+
17
23
  created_at: str = FieldInfo(alias="createdAt")
18
24
  """Creation timestamp"""
19
25
 
@@ -36,6 +42,9 @@ class Document(BaseModel):
36
42
  status: Literal["unknown", "queued", "extracting", "chunking", "embedding", "indexing", "done", "failed"]
37
43
  """Status of the document"""
38
44
 
45
+ summary: Optional[str] = None
46
+ """Summary of the document content"""
47
+
39
48
  title: Optional[str] = None
40
49
  """Title of the document"""
41
50
 
@@ -0,0 +1,200 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Dict, List, Optional
4
+ from typing_extensions import Literal
5
+
6
+ from pydantic import Field as FieldInfo
7
+
8
+ from .._models import BaseModel
9
+
10
+ __all__ = [
11
+ "ProfileResponse",
12
+ "Profile",
13
+ "SearchResults",
14
+ "SearchResultsResult",
15
+ "SearchResultsResultChunk",
16
+ "SearchResultsResultContext",
17
+ "SearchResultsResultContextChild",
18
+ "SearchResultsResultContextParent",
19
+ "SearchResultsResultContextRelated",
20
+ "SearchResultsResultDocument",
21
+ ]
22
+
23
+
24
+ class Profile(BaseModel):
25
+ buckets: Optional[Dict[str, List[str]]] = None
26
+ """Per-bucket memory lists, keyed by bucket key"""
27
+
28
+ dynamic: Optional[List[str]] = None
29
+ """Dynamic profile information (recent memories)"""
30
+
31
+ static: Optional[List[str]] = None
32
+ """Static profile information that remains relevant long-term"""
33
+
34
+
35
+ class SearchResultsResultChunk(BaseModel):
36
+ content: str
37
+ """Content of the chunk"""
38
+
39
+ document_id: str = FieldInfo(alias="documentId")
40
+ """ID of the document this chunk belongs to"""
41
+
42
+ position: float
43
+ """Position of chunk in the document (0-indexed)"""
44
+
45
+
46
+ class SearchResultsResultContextChild(BaseModel):
47
+ memory: str
48
+ """The contextual memory content"""
49
+
50
+ relation: Literal["updates", "extends", "derives"]
51
+ """Relation type between this memory and its parent/child"""
52
+
53
+ updated_at: str = FieldInfo(alias="updatedAt")
54
+ """Contextual memory last update date"""
55
+
56
+ metadata: Optional[Dict[str, object]] = None
57
+ """Contextual memory metadata"""
58
+
59
+ version: Optional[float] = None
60
+ """
61
+ Relative version distance from the primary memory (+1 for direct child, +2 for
62
+ grand-child, etc.)
63
+ """
64
+
65
+
66
+ class SearchResultsResultContextParent(BaseModel):
67
+ memory: str
68
+ """The contextual memory content"""
69
+
70
+ relation: Literal["updates", "extends", "derives"]
71
+ """Relation type between this memory and its parent/child"""
72
+
73
+ updated_at: str = FieldInfo(alias="updatedAt")
74
+ """Contextual memory last update date"""
75
+
76
+ metadata: Optional[Dict[str, object]] = None
77
+ """Contextual memory metadata"""
78
+
79
+ version: Optional[float] = None
80
+ """
81
+ Relative version distance from the primary memory (-1 for direct parent, -2 for
82
+ grand-parent, etc.)
83
+ """
84
+
85
+
86
+ class SearchResultsResultContextRelated(BaseModel):
87
+ memory: str
88
+ """The related memory content"""
89
+
90
+ relation: Literal["extends", "derives"]
91
+ """Relation type"""
92
+
93
+ updated_at: str = FieldInfo(alias="updatedAt")
94
+ """Related memory last update date"""
95
+
96
+ metadata: Optional[Dict[str, object]] = None
97
+ """Related memory metadata"""
98
+
99
+
100
+ class SearchResultsResultContext(BaseModel):
101
+ """
102
+ Object containing version history (parents/children via updates) and related memories (extends/derives)
103
+ """
104
+
105
+ children: Optional[List[SearchResultsResultContextChild]] = None
106
+
107
+ parents: Optional[List[SearchResultsResultContextParent]] = None
108
+
109
+ related: Optional[List[SearchResultsResultContextRelated]] = None
110
+
111
+
112
+ class SearchResultsResultDocument(BaseModel):
113
+ id: str
114
+ """Document ID"""
115
+
116
+ created_at: str = FieldInfo(alias="createdAt")
117
+ """Document creation date"""
118
+
119
+ updated_at: str = FieldInfo(alias="updatedAt")
120
+ """Document last update date"""
121
+
122
+ metadata: Optional[Dict[str, object]] = None
123
+ """Document metadata (only included when documents=true)"""
124
+
125
+ summary: Optional[str] = None
126
+ """Document summary (only included when summaries=true)"""
127
+
128
+ title: Optional[str] = None
129
+ """Document title (only included when documents=true)"""
130
+
131
+ type: Optional[str] = None
132
+ """Document type (only included when documents=true)"""
133
+
134
+
135
+ class SearchResultsResult(BaseModel):
136
+ id: str
137
+ """Memory entry ID or chunk ID"""
138
+
139
+ metadata: Optional[Dict[str, object]] = None
140
+ """Memory metadata"""
141
+
142
+ similarity: float
143
+ """Similarity score between the query and memory entry"""
144
+
145
+ updated_at: str = FieldInfo(alias="updatedAt")
146
+ """Memory last update date"""
147
+
148
+ chunk: Optional[str] = None
149
+ """The chunk content (only present for chunk results from hybrid search)"""
150
+
151
+ chunks: Optional[List[SearchResultsResultChunk]] = None
152
+ """Relevant chunks from associated documents (only included when chunks=true)"""
153
+
154
+ context: Optional[SearchResultsResultContext] = None
155
+ """
156
+ Object containing version history (parents/children via updates) and related
157
+ memories (extends/derives)
158
+ """
159
+
160
+ documents: Optional[List[SearchResultsResultDocument]] = None
161
+ """Associated documents for this memory entry"""
162
+
163
+ filepath: Optional[str] = None
164
+ """Filepath of the source document this memory or chunk came from"""
165
+
166
+ is_aggregated: Optional[bool] = FieldInfo(alias="isAggregated", default=None)
167
+ """Indicates if this memory was created by aggregating multiple source memories"""
168
+
169
+ memory: Optional[str] = None
170
+ """The memory content (only present for memory results)"""
171
+
172
+ root_memory_id: Optional[str] = FieldInfo(alias="rootMemoryId", default=None)
173
+ """ID of the root (first version) memory entry this one descends from.
174
+
175
+ Null for memories that have never been superseded. Only present on memory
176
+ results, not on standalone chunk results.
177
+ """
178
+
179
+ version: Optional[float] = None
180
+ """Version number of this memory entry"""
181
+
182
+
183
+ class SearchResults(BaseModel):
184
+ """Search results if a search query was provided"""
185
+
186
+ results: List[SearchResultsResult]
187
+ """Search results for the provided query"""
188
+
189
+ timing: float
190
+ """Search timing in milliseconds"""
191
+
192
+ total: float
193
+ """Total number of search results"""
194
+
195
+
196
+ class ProfileResponse(BaseModel):
197
+ profile: Profile
198
+
199
+ search_results: Optional[SearchResults] = FieldInfo(alias="searchResults", default=None)
200
+ """Search results if a search query was provided"""