evermemos 0.3.7__tar.gz → 0.3.8__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 (110) hide show
  1. evermemos-0.3.8/.release-please-manifest.json +3 -0
  2. {evermemos-0.3.7 → evermemos-0.3.8}/CHANGELOG.md +14 -0
  3. {evermemos-0.3.7 → evermemos-0.3.8}/PKG-INFO +5 -5
  4. {evermemos-0.3.7 → evermemos-0.3.8}/README.md +4 -4
  5. {evermemos-0.3.7 → evermemos-0.3.8}/api.md +0 -14
  6. {evermemos-0.3.7 → evermemos-0.3.8}/pyproject.toml +1 -1
  7. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/_version.py +1 -1
  8. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/resources/v1/__init__.py +0 -14
  9. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/resources/v1/memories/memories.py +18 -8
  10. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/resources/v1/stats/request.py +2 -2
  11. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/resources/v1/v1.py +0 -32
  12. evermemos-0.3.8/src/evermemos/types/v1/global_user_profile/__init__.py +3 -0
  13. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/types/v1/memory_create_params.py +7 -0
  14. evermemos-0.3.8/src/evermemos/types/v1/memory_create_response.py +13 -0
  15. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/types/v1/memory_delete_params.py +3 -3
  16. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/types/v1/memory_get_response.py +4 -2
  17. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/types/v1/stats/request_get_params.py +1 -1
  18. {evermemos-0.3.7 → evermemos-0.3.8}/tests/api_resources/v1/test_memories.py +4 -2
  19. evermemos-0.3.7/.release-please-manifest.json +0 -3
  20. evermemos-0.3.7/src/evermemos/resources/v1/global_user_profile/__init__.py +0 -33
  21. evermemos-0.3.7/src/evermemos/resources/v1/global_user_profile/custom.py +0 -185
  22. evermemos-0.3.7/src/evermemos/resources/v1/global_user_profile/global_user_profile.py +0 -102
  23. evermemos-0.3.7/src/evermemos/types/v1/global_user_profile/__init__.py +0 -6
  24. evermemos-0.3.7/src/evermemos/types/v1/global_user_profile/custom_upsert_params.py +0 -24
  25. evermemos-0.3.7/src/evermemos/types/v1/global_user_profile/custom_upsert_response.py +0 -23
  26. evermemos-0.3.7/src/evermemos/types/v1/memory_create_response.py +0 -39
  27. evermemos-0.3.7/tests/api_resources/v1/global_user_profile/test_custom.py +0 -134
  28. evermemos-0.3.7/tests/api_resources/v1/stats/__init__.py +0 -1
  29. {evermemos-0.3.7 → evermemos-0.3.8}/.gitignore +0 -0
  30. {evermemos-0.3.7 → evermemos-0.3.8}/CONTRIBUTING.md +0 -0
  31. {evermemos-0.3.7 → evermemos-0.3.8}/LICENSE +0 -0
  32. {evermemos-0.3.7 → evermemos-0.3.8}/SECURITY.md +0 -0
  33. {evermemos-0.3.7 → evermemos-0.3.8}/bin/check-release-environment +0 -0
  34. {evermemos-0.3.7 → evermemos-0.3.8}/bin/publish-pypi +0 -0
  35. {evermemos-0.3.7 → evermemos-0.3.8}/examples/.keep +0 -0
  36. {evermemos-0.3.7 → evermemos-0.3.8}/release-please-config.json +0 -0
  37. {evermemos-0.3.7 → evermemos-0.3.8}/requirements-dev.lock +0 -0
  38. {evermemos-0.3.7 → evermemos-0.3.8}/src/EverMemOS/lib/.keep +0 -0
  39. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/__init__.py +0 -0
  40. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/_base_client.py +0 -0
  41. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/_client.py +0 -0
  42. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/_compat.py +0 -0
  43. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/_constants.py +0 -0
  44. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/_exceptions.py +0 -0
  45. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/_files.py +0 -0
  46. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/_models.py +0 -0
  47. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/_qs.py +0 -0
  48. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/_resource.py +0 -0
  49. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/_response.py +0 -0
  50. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/_streaming.py +0 -0
  51. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/_types.py +0 -0
  52. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/_utils/__init__.py +0 -0
  53. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/_utils/_compat.py +0 -0
  54. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/_utils/_datetime_parse.py +0 -0
  55. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/_utils/_logs.py +0 -0
  56. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/_utils/_proxy.py +0 -0
  57. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/_utils/_reflection.py +0 -0
  58. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/_utils/_resources_proxy.py +0 -0
  59. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/_utils/_streams.py +0 -0
  60. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/_utils/_sync.py +0 -0
  61. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/_utils/_transform.py +0 -0
  62. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/_utils/_typing.py +0 -0
  63. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/_utils/_utils.py +0 -0
  64. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/lib/.keep +0 -0
  65. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/py.typed +0 -0
  66. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/resources/__init__.py +0 -0
  67. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/resources/v1/memories/__init__.py +0 -0
  68. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/resources/v1/memories/conversation_meta.py +0 -0
  69. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/resources/v1/stats/__init__.py +0 -0
  70. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/resources/v1/stats/stats.py +0 -0
  71. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/types/__init__.py +0 -0
  72. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/types/v1/__init__.py +0 -0
  73. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/types/v1/memories/__init__.py +0 -0
  74. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/types/v1/memories/conversation_meta_create_params.py +0 -0
  75. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/types/v1/memories/conversation_meta_create_response.py +0 -0
  76. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/types/v1/memories/conversation_meta_get_response.py +0 -0
  77. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/types/v1/memories/conversation_meta_update_params.py +0 -0
  78. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/types/v1/memories/conversation_meta_update_response.py +0 -0
  79. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/types/v1/memory_delete_response.py +0 -0
  80. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/types/v1/memory_load_params.py +0 -0
  81. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/types/v1/memory_load_response.py +0 -0
  82. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/types/v1/memory_search_response.py +0 -0
  83. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/types/v1/memory_type.py +0 -0
  84. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/types/v1/metadata.py +0 -0
  85. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/types/v1/stats/__init__.py +0 -0
  86. {evermemos-0.3.7 → evermemos-0.3.8}/src/evermemos/types/v1/stats/request_get_response.py +0 -0
  87. {evermemos-0.3.7 → evermemos-0.3.8}/tests/__init__.py +0 -0
  88. {evermemos-0.3.7 → evermemos-0.3.8}/tests/api_resources/__init__.py +0 -0
  89. {evermemos-0.3.7 → evermemos-0.3.8}/tests/api_resources/v1/__init__.py +0 -0
  90. {evermemos-0.3.7/tests/api_resources/v1/global_user_profile → evermemos-0.3.8/tests/api_resources/v1/memories}/__init__.py +0 -0
  91. {evermemos-0.3.7 → evermemos-0.3.8}/tests/api_resources/v1/memories/test_conversation_meta.py +0 -0
  92. {evermemos-0.3.7/tests/api_resources/v1/memories → evermemos-0.3.8/tests/api_resources/v1/stats}/__init__.py +0 -0
  93. {evermemos-0.3.7 → evermemos-0.3.8}/tests/api_resources/v1/stats/test_request.py +0 -0
  94. {evermemos-0.3.7 → evermemos-0.3.8}/tests/conftest.py +0 -0
  95. {evermemos-0.3.7 → evermemos-0.3.8}/tests/sample_file.txt +0 -0
  96. {evermemos-0.3.7 → evermemos-0.3.8}/tests/test_client.py +0 -0
  97. {evermemos-0.3.7 → evermemos-0.3.8}/tests/test_deepcopy.py +0 -0
  98. {evermemos-0.3.7 → evermemos-0.3.8}/tests/test_extract_files.py +0 -0
  99. {evermemos-0.3.7 → evermemos-0.3.8}/tests/test_files.py +0 -0
  100. {evermemos-0.3.7 → evermemos-0.3.8}/tests/test_models.py +0 -0
  101. {evermemos-0.3.7 → evermemos-0.3.8}/tests/test_qs.py +0 -0
  102. {evermemos-0.3.7 → evermemos-0.3.8}/tests/test_required_args.py +0 -0
  103. {evermemos-0.3.7 → evermemos-0.3.8}/tests/test_response.py +0 -0
  104. {evermemos-0.3.7 → evermemos-0.3.8}/tests/test_streaming.py +0 -0
  105. {evermemos-0.3.7 → evermemos-0.3.8}/tests/test_transform.py +0 -0
  106. {evermemos-0.3.7 → evermemos-0.3.8}/tests/test_utils/test_datetime_parse.py +0 -0
  107. {evermemos-0.3.7 → evermemos-0.3.8}/tests/test_utils/test_proxy.py +0 -0
  108. {evermemos-0.3.7 → evermemos-0.3.8}/tests/test_utils/test_typing.py +0 -0
  109. {evermemos-0.3.7 → evermemos-0.3.8}/tests/utils.py +0 -0
  110. {evermemos-0.3.7 → evermemos-0.3.8}/uv.lock +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.3.8"
3
+ }
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.3.8 (2026-01-28)
4
+
5
+ Full Changelog: [v0.3.7...v0.3.8](https://github.com/evermemos/evermemos-python/compare/v0.3.7...v0.3.8)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([e2cc79c](https://github.com/evermemos/evermemos-python/commit/e2cc79c7b19cd8da12385d59bd6fcb7e83be6c84))
10
+
11
+
12
+ ### Chores
13
+
14
+ * update SDK settings ([c6d796d](https://github.com/evermemos/evermemos-python/commit/c6d796d7bbbec539954c1802094932a919d0b8e5))
15
+ * update SDK settings ([11a1c09](https://github.com/evermemos/evermemos-python/commit/11a1c09da854becb6567ad5428db716e38e81ee0))
16
+
3
17
  ## 0.3.7 (2026-01-27)
4
18
 
5
19
  Full Changelog: [v0.3.6...v0.3.7](https://github.com/evermemos/evermemos-python/compare/v0.3.6...v0.3.7)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: evermemos
3
- Version: 0.3.7
3
+ Version: 0.3.8
4
4
  Summary: The official Python library for the EverMemOS API
5
5
  Project-URL: Homepage, https://github.com/evermemos/evermemos-python
6
6
  Project-URL: Repository, https://github.com/evermemos/evermemos-python
@@ -73,7 +73,7 @@ memory = client.v1.memories.create(
73
73
  message_id="msg_001",
74
74
  sender="user_001",
75
75
  )
76
- print(memory.message)
76
+ print(memory.request_id)
77
77
  ```
78
78
 
79
79
  While you can provide an `api_key` keyword argument,
@@ -102,7 +102,7 @@ async def main() -> None:
102
102
  message_id="msg_001",
103
103
  sender="user_001",
104
104
  )
105
- print(memory.message)
105
+ print(memory.request_id)
106
106
 
107
107
 
108
108
  asyncio.run(main())
@@ -141,7 +141,7 @@ async def main() -> None:
141
141
  message_id="msg_001",
142
142
  sender="user_001",
143
143
  )
144
- print(memory.message)
144
+ print(memory.request_id)
145
145
 
146
146
 
147
147
  asyncio.run(main())
@@ -331,7 +331,7 @@ response = client.v1.memories.with_raw_response.create(
331
331
  print(response.headers.get('X-My-Header'))
332
332
 
333
333
  memory = response.parse() # get the object that `v1.memories.create()` would have returned
334
- print(memory.message)
334
+ print(memory.request_id)
335
335
  ```
336
336
 
337
337
  These methods return an [`APIResponse`](https://github.com/evermemos/evermemos-python/tree/main/src/evermemos/_response.py) object.
@@ -38,7 +38,7 @@ memory = client.v1.memories.create(
38
38
  message_id="msg_001",
39
39
  sender="user_001",
40
40
  )
41
- print(memory.message)
41
+ print(memory.request_id)
42
42
  ```
43
43
 
44
44
  While you can provide an `api_key` keyword argument,
@@ -67,7 +67,7 @@ async def main() -> None:
67
67
  message_id="msg_001",
68
68
  sender="user_001",
69
69
  )
70
- print(memory.message)
70
+ print(memory.request_id)
71
71
 
72
72
 
73
73
  asyncio.run(main())
@@ -106,7 +106,7 @@ async def main() -> None:
106
106
  message_id="msg_001",
107
107
  sender="user_001",
108
108
  )
109
- print(memory.message)
109
+ print(memory.request_id)
110
110
 
111
111
 
112
112
  asyncio.run(main())
@@ -296,7 +296,7 @@ response = client.v1.memories.with_raw_response.create(
296
296
  print(response.headers.get('X-My-Header'))
297
297
 
298
298
  memory = response.parse() # get the object that `v1.memories.create()` would have returned
299
- print(memory.message)
299
+ print(memory.request_id)
300
300
  ```
301
301
 
302
302
  These methods return an [`APIResponse`](https://github.com/evermemos/evermemos-python/tree/main/src/evermemos/_response.py) object.
@@ -42,20 +42,6 @@ Methods:
42
42
  - <code title="patch /api/v1/memories/conversation-meta">client.v1.memories.conversation_meta.<a href="./src/evermemos/resources/v1/memories/conversation_meta.py">update</a>(\*\*<a href="src/evermemos/types/v1/memories/conversation_meta_update_params.py">params</a>) -> <a href="./src/evermemos/types/v1/memories/conversation_meta_update_response.py">ConversationMetaUpdateResponse</a></code>
43
43
  - <code title="get /api/v1/memories/conversation-meta">client.v1.memories.conversation_meta.<a href="./src/evermemos/resources/v1/memories/conversation_meta.py">get</a>() -> <a href="./src/evermemos/types/v1/memories/conversation_meta_get_response.py">ConversationMetaGetResponse</a></code>
44
44
 
45
- ## GlobalUserProfile
46
-
47
- ### Custom
48
-
49
- Types:
50
-
51
- ```python
52
- from evermemos.types.v1.global_user_profile import CustomUpsertResponse
53
- ```
54
-
55
- Methods:
56
-
57
- - <code title="post /api/v1/global-user-profile/custom">client.v1.global_user_profile.custom.<a href="./src/evermemos/resources/v1/global_user_profile/custom.py">upsert</a>(\*\*<a href="src/evermemos/types/v1/global_user_profile/custom_upsert_params.py">params</a>) -> <a href="./src/evermemos/types/v1/global_user_profile/custom_upsert_response.py">CustomUpsertResponse</a></code>
58
-
59
45
  ## Stats
60
46
 
61
47
  ### Request
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "evermemos"
3
- version = "0.3.7"
3
+ version = "0.3.8"
4
4
  description = "The official Python library for the EverMemOS 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__ = "evermemos"
4
- __version__ = "0.3.7" # x-release-please-version
4
+ __version__ = "0.3.8" # x-release-please-version
@@ -24,14 +24,6 @@ from .memories import (
24
24
  MemoriesResourceWithStreamingResponse,
25
25
  AsyncMemoriesResourceWithStreamingResponse,
26
26
  )
27
- from .global_user_profile import (
28
- GlobalUserProfileResource,
29
- AsyncGlobalUserProfileResource,
30
- GlobalUserProfileResourceWithRawResponse,
31
- AsyncGlobalUserProfileResourceWithRawResponse,
32
- GlobalUserProfileResourceWithStreamingResponse,
33
- AsyncGlobalUserProfileResourceWithStreamingResponse,
34
- )
35
27
 
36
28
  __all__ = [
37
29
  "MemoriesResource",
@@ -40,12 +32,6 @@ __all__ = [
40
32
  "AsyncMemoriesResourceWithRawResponse",
41
33
  "MemoriesResourceWithStreamingResponse",
42
34
  "AsyncMemoriesResourceWithStreamingResponse",
43
- "GlobalUserProfileResource",
44
- "AsyncGlobalUserProfileResource",
45
- "GlobalUserProfileResourceWithRawResponse",
46
- "AsyncGlobalUserProfileResourceWithRawResponse",
47
- "GlobalUserProfileResourceWithStreamingResponse",
48
- "AsyncGlobalUserProfileResourceWithStreamingResponse",
49
35
  "StatsResource",
50
36
  "AsyncStatsResource",
51
37
  "StatsResourceWithRawResponse",
@@ -66,6 +66,7 @@ class MemoriesResource(SyncAPIResource):
66
66
  create_time: str,
67
67
  message_id: str,
68
68
  sender: str,
69
+ flush: bool | Omit = omit,
69
70
  group_id: Optional[str] | Omit = omit,
70
71
  group_name: Optional[str] | Omit = omit,
71
72
  refer_list: Optional[SequenceNotStr[str]] | Omit = omit,
@@ -90,6 +91,9 @@ class MemoriesResource(SyncAPIResource):
90
91
 
91
92
  sender: Sender user ID (required). Also used as user_id internally for memory ownership.
92
93
 
94
+ flush: Force boundary trigger. When True, immediately triggers memory extraction
95
+ instead of waiting for natural boundary detection.
96
+
93
97
  group_id: Group ID. If not provided, will automatically generate based on hash(sender) +
94
98
  '\\__group' suffix, representing single-user mode where each user's messages are
95
99
  extracted into separate memory spaces.
@@ -122,6 +126,7 @@ class MemoriesResource(SyncAPIResource):
122
126
  "create_time": create_time,
123
127
  "message_id": message_id,
124
128
  "sender": sender,
129
+ "flush": flush,
125
130
  "group_id": group_id,
126
131
  "group_name": group_name,
127
132
  "refer_list": refer_list,
@@ -139,8 +144,8 @@ class MemoriesResource(SyncAPIResource):
139
144
  def delete(
140
145
  self,
141
146
  *,
142
- event_id: Optional[str] | Omit = omit,
143
147
  group_id: Optional[str] | Omit = omit,
148
+ memory_id: Optional[str] | Omit = omit,
144
149
  user_id: Optional[str] | Omit = omit,
145
150
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
146
151
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -153,10 +158,10 @@ class MemoriesResource(SyncAPIResource):
153
158
  Delete memory records based on combined filter criteria
154
159
 
155
160
  Args:
156
- event_id: Memory event_id (filter condition)
157
-
158
161
  group_id: Group ID (filter condition)
159
162
 
163
+ memory_id: Memory id (filter condition)
164
+
160
165
  user_id: User ID (filter condition)
161
166
 
162
167
  extra_headers: Send extra headers
@@ -171,8 +176,8 @@ class MemoriesResource(SyncAPIResource):
171
176
  "/api/v1/memories",
172
177
  body=maybe_transform(
173
178
  {
174
- "event_id": event_id,
175
179
  "group_id": group_id,
180
+ "memory_id": memory_id,
176
181
  "user_id": user_id,
177
182
  },
178
183
  memory_delete_params.MemoryDeleteParams,
@@ -305,6 +310,7 @@ class AsyncMemoriesResource(AsyncAPIResource):
305
310
  create_time: str,
306
311
  message_id: str,
307
312
  sender: str,
313
+ flush: bool | Omit = omit,
308
314
  group_id: Optional[str] | Omit = omit,
309
315
  group_name: Optional[str] | Omit = omit,
310
316
  refer_list: Optional[SequenceNotStr[str]] | Omit = omit,
@@ -329,6 +335,9 @@ class AsyncMemoriesResource(AsyncAPIResource):
329
335
 
330
336
  sender: Sender user ID (required). Also used as user_id internally for memory ownership.
331
337
 
338
+ flush: Force boundary trigger. When True, immediately triggers memory extraction
339
+ instead of waiting for natural boundary detection.
340
+
332
341
  group_id: Group ID. If not provided, will automatically generate based on hash(sender) +
333
342
  '\\__group' suffix, representing single-user mode where each user's messages are
334
343
  extracted into separate memory spaces.
@@ -361,6 +370,7 @@ class AsyncMemoriesResource(AsyncAPIResource):
361
370
  "create_time": create_time,
362
371
  "message_id": message_id,
363
372
  "sender": sender,
373
+ "flush": flush,
364
374
  "group_id": group_id,
365
375
  "group_name": group_name,
366
376
  "refer_list": refer_list,
@@ -378,8 +388,8 @@ class AsyncMemoriesResource(AsyncAPIResource):
378
388
  async def delete(
379
389
  self,
380
390
  *,
381
- event_id: Optional[str] | Omit = omit,
382
391
  group_id: Optional[str] | Omit = omit,
392
+ memory_id: Optional[str] | Omit = omit,
383
393
  user_id: Optional[str] | Omit = omit,
384
394
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
385
395
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -392,10 +402,10 @@ class AsyncMemoriesResource(AsyncAPIResource):
392
402
  Delete memory records based on combined filter criteria
393
403
 
394
404
  Args:
395
- event_id: Memory event_id (filter condition)
396
-
397
405
  group_id: Group ID (filter condition)
398
406
 
407
+ memory_id: Memory id (filter condition)
408
+
399
409
  user_id: User ID (filter condition)
400
410
 
401
411
  extra_headers: Send extra headers
@@ -410,8 +420,8 @@ class AsyncMemoriesResource(AsyncAPIResource):
410
420
  "/api/v1/memories",
411
421
  body=await async_maybe_transform(
412
422
  {
413
- "event_id": event_id,
414
423
  "group_id": group_id,
424
+ "memory_id": memory_id,
415
425
  "user_id": user_id,
416
426
  },
417
427
  memory_delete_params.MemoryDeleteParams,
@@ -58,7 +58,7 @@ class RequestResource(SyncAPIResource):
58
58
  Query the processing status of a specific request
59
59
 
60
60
  Args:
61
- request_id: Request ID (recommended)
61
+ request_id: this id is returned by add_memories api
62
62
 
63
63
  extra_headers: Send extra headers
64
64
 
@@ -116,7 +116,7 @@ class AsyncRequestResource(AsyncAPIResource):
116
116
  Query the processing status of a specific request
117
117
 
118
118
  Args:
119
- request_id: Request ID (recommended)
119
+ request_id: this id is returned by add_memories api
120
120
 
121
121
  extra_headers: Send extra headers
122
122
 
@@ -20,14 +20,6 @@ from .memories.memories import (
20
20
  MemoriesResourceWithStreamingResponse,
21
21
  AsyncMemoriesResourceWithStreamingResponse,
22
22
  )
23
- from .global_user_profile.global_user_profile import (
24
- GlobalUserProfileResource,
25
- AsyncGlobalUserProfileResource,
26
- GlobalUserProfileResourceWithRawResponse,
27
- AsyncGlobalUserProfileResourceWithRawResponse,
28
- GlobalUserProfileResourceWithStreamingResponse,
29
- AsyncGlobalUserProfileResourceWithStreamingResponse,
30
- )
31
23
 
32
24
  __all__ = ["V1Resource", "AsyncV1Resource"]
33
25
 
@@ -37,10 +29,6 @@ class V1Resource(SyncAPIResource):
37
29
  def memories(self) -> MemoriesResource:
38
30
  return MemoriesResource(self._client)
39
31
 
40
- @cached_property
41
- def global_user_profile(self) -> GlobalUserProfileResource:
42
- return GlobalUserProfileResource(self._client)
43
-
44
32
  @cached_property
45
33
  def stats(self) -> StatsResource:
46
34
  return StatsResource(self._client)
@@ -70,10 +58,6 @@ class AsyncV1Resource(AsyncAPIResource):
70
58
  def memories(self) -> AsyncMemoriesResource:
71
59
  return AsyncMemoriesResource(self._client)
72
60
 
73
- @cached_property
74
- def global_user_profile(self) -> AsyncGlobalUserProfileResource:
75
- return AsyncGlobalUserProfileResource(self._client)
76
-
77
61
  @cached_property
78
62
  def stats(self) -> AsyncStatsResource:
79
63
  return AsyncStatsResource(self._client)
@@ -106,10 +90,6 @@ class V1ResourceWithRawResponse:
106
90
  def memories(self) -> MemoriesResourceWithRawResponse:
107
91
  return MemoriesResourceWithRawResponse(self._v1.memories)
108
92
 
109
- @cached_property
110
- def global_user_profile(self) -> GlobalUserProfileResourceWithRawResponse:
111
- return GlobalUserProfileResourceWithRawResponse(self._v1.global_user_profile)
112
-
113
93
  @cached_property
114
94
  def stats(self) -> StatsResourceWithRawResponse:
115
95
  return StatsResourceWithRawResponse(self._v1.stats)
@@ -123,10 +103,6 @@ class AsyncV1ResourceWithRawResponse:
123
103
  def memories(self) -> AsyncMemoriesResourceWithRawResponse:
124
104
  return AsyncMemoriesResourceWithRawResponse(self._v1.memories)
125
105
 
126
- @cached_property
127
- def global_user_profile(self) -> AsyncGlobalUserProfileResourceWithRawResponse:
128
- return AsyncGlobalUserProfileResourceWithRawResponse(self._v1.global_user_profile)
129
-
130
106
  @cached_property
131
107
  def stats(self) -> AsyncStatsResourceWithRawResponse:
132
108
  return AsyncStatsResourceWithRawResponse(self._v1.stats)
@@ -140,10 +116,6 @@ class V1ResourceWithStreamingResponse:
140
116
  def memories(self) -> MemoriesResourceWithStreamingResponse:
141
117
  return MemoriesResourceWithStreamingResponse(self._v1.memories)
142
118
 
143
- @cached_property
144
- def global_user_profile(self) -> GlobalUserProfileResourceWithStreamingResponse:
145
- return GlobalUserProfileResourceWithStreamingResponse(self._v1.global_user_profile)
146
-
147
119
  @cached_property
148
120
  def stats(self) -> StatsResourceWithStreamingResponse:
149
121
  return StatsResourceWithStreamingResponse(self._v1.stats)
@@ -157,10 +129,6 @@ class AsyncV1ResourceWithStreamingResponse:
157
129
  def memories(self) -> AsyncMemoriesResourceWithStreamingResponse:
158
130
  return AsyncMemoriesResourceWithStreamingResponse(self._v1.memories)
159
131
 
160
- @cached_property
161
- def global_user_profile(self) -> AsyncGlobalUserProfileResourceWithStreamingResponse:
162
- return AsyncGlobalUserProfileResourceWithStreamingResponse(self._v1.global_user_profile)
163
-
164
132
  @cached_property
165
133
  def stats(self) -> AsyncStatsResourceWithStreamingResponse:
166
134
  return AsyncStatsResourceWithStreamingResponse(self._v1.stats)
@@ -0,0 +1,3 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
@@ -26,6 +26,13 @@ class MemoryCreateParams(TypedDict, total=False):
26
26
  Also used as user_id internally for memory ownership.
27
27
  """
28
28
 
29
+ flush: bool
30
+ """Force boundary trigger.
31
+
32
+ When True, immediately triggers memory extraction instead of waiting for natural
33
+ boundary detection.
34
+ """
35
+
29
36
  group_id: Optional[str]
30
37
  """Group ID.
31
38
 
@@ -0,0 +1,13 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from ..._models import BaseModel
4
+
5
+ __all__ = ["MemoryCreateResponse"]
6
+
7
+
8
+ class MemoryCreateResponse(BaseModel):
9
+ message: str
10
+
11
+ request_id: str
12
+
13
+ status: str
@@ -9,11 +9,11 @@ __all__ = ["MemoryDeleteParams"]
9
9
 
10
10
 
11
11
  class MemoryDeleteParams(TypedDict, total=False):
12
- event_id: Optional[str]
13
- """Memory event_id (filter condition)"""
14
-
15
12
  group_id: Optional[str]
16
13
  """Group ID (filter condition)"""
17
14
 
15
+ memory_id: Optional[str]
16
+ """Memory id (filter condition)"""
17
+
18
18
  user_id: Optional[str]
19
19
  """User ID (filter condition)"""
@@ -145,10 +145,12 @@ class ResultMemoryEpisodicMemoryModel(BaseModel):
145
145
 
146
146
  location: Optional[str] = None
147
147
 
148
- memcell_event_id_list: Optional[List[str]] = None
149
-
150
148
  metadata: Optional[Metadata] = None
151
149
 
150
+ parent_id: Optional[str] = None
151
+
152
+ parent_type: Optional[str] = None
153
+
152
154
  participants: Optional[List[str]] = None
153
155
 
154
156
  start_time: Optional[datetime] = None
@@ -10,4 +10,4 @@ __all__ = ["RequestGetParams"]
10
10
 
11
11
  class RequestGetParams(TypedDict, total=False):
12
12
  request_id: Required[Optional[str]]
13
- """Request ID (recommended)"""
13
+ """this id is returned by add_memories api"""
@@ -42,6 +42,7 @@ class TestMemories:
42
42
  create_time="2025-01-15T10:00:00+00:00",
43
43
  message_id="msg_001",
44
44
  sender="user_001",
45
+ flush=False,
45
46
  group_id="group_123",
46
47
  group_name="Project Discussion Group",
47
48
  refer_list=["msg_000"],
@@ -92,8 +93,8 @@ class TestMemories:
92
93
  @parametrize
93
94
  def test_method_delete_with_all_params(self, client: EverMemOS) -> None:
94
95
  memory = client.v1.memories.delete(
95
- event_id="507f1f77bcf86cd799439011",
96
96
  group_id="group_456",
97
+ memory_id="507f1f77bcf86cd799439011",
97
98
  user_id="user_123",
98
99
  )
99
100
  assert_matches_type(MemoryDeleteResponse, memory, path=["response"])
@@ -270,6 +271,7 @@ class TestAsyncMemories:
270
271
  create_time="2025-01-15T10:00:00+00:00",
271
272
  message_id="msg_001",
272
273
  sender="user_001",
274
+ flush=False,
273
275
  group_id="group_123",
274
276
  group_name="Project Discussion Group",
275
277
  refer_list=["msg_000"],
@@ -320,8 +322,8 @@ class TestAsyncMemories:
320
322
  @parametrize
321
323
  async def test_method_delete_with_all_params(self, async_client: AsyncEverMemOS) -> None:
322
324
  memory = await async_client.v1.memories.delete(
323
- event_id="507f1f77bcf86cd799439011",
324
325
  group_id="group_456",
326
+ memory_id="507f1f77bcf86cd799439011",
325
327
  user_id="user_123",
326
328
  )
327
329
  assert_matches_type(MemoryDeleteResponse, memory, path=["response"])
@@ -1,3 +0,0 @@
1
- {
2
- ".": "0.3.7"
3
- }
@@ -1,33 +0,0 @@
1
- # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
-
3
- from .custom import (
4
- CustomResource,
5
- AsyncCustomResource,
6
- CustomResourceWithRawResponse,
7
- AsyncCustomResourceWithRawResponse,
8
- CustomResourceWithStreamingResponse,
9
- AsyncCustomResourceWithStreamingResponse,
10
- )
11
- from .global_user_profile import (
12
- GlobalUserProfileResource,
13
- AsyncGlobalUserProfileResource,
14
- GlobalUserProfileResourceWithRawResponse,
15
- AsyncGlobalUserProfileResourceWithRawResponse,
16
- GlobalUserProfileResourceWithStreamingResponse,
17
- AsyncGlobalUserProfileResourceWithStreamingResponse,
18
- )
19
-
20
- __all__ = [
21
- "CustomResource",
22
- "AsyncCustomResource",
23
- "CustomResourceWithRawResponse",
24
- "AsyncCustomResourceWithRawResponse",
25
- "CustomResourceWithStreamingResponse",
26
- "AsyncCustomResourceWithStreamingResponse",
27
- "GlobalUserProfileResource",
28
- "AsyncGlobalUserProfileResource",
29
- "GlobalUserProfileResourceWithRawResponse",
30
- "AsyncGlobalUserProfileResourceWithRawResponse",
31
- "GlobalUserProfileResourceWithStreamingResponse",
32
- "AsyncGlobalUserProfileResourceWithStreamingResponse",
33
- ]