evermemos 0.3.6__py3-none-any.whl → 0.3.8__py3-none-any.whl
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.
- evermemos/_version.py +1 -1
- evermemos/resources/v1/__init__.py +14 -0
- evermemos/resources/v1/memories/conversation_meta.py +2 -78
- evermemos/resources/v1/memories/memories.py +182 -101
- evermemos/resources/v1/stats/__init__.py +33 -0
- evermemos/resources/v1/stats/request.py +175 -0
- evermemos/resources/v1/stats/stats.py +102 -0
- evermemos/resources/v1/v1.py +32 -0
- evermemos/types/v1/__init__.py +3 -1
- evermemos/types/v1/global_user_profile/__init__.py +3 -0
- evermemos/types/v1/memories/conversation_meta_create_params.py +0 -3
- evermemos/types/v1/memories/conversation_meta_create_response.py +0 -3
- evermemos/types/v1/memories/conversation_meta_get_response.py +0 -3
- evermemos/types/v1/memory_create_params.py +17 -2
- evermemos/types/v1/memory_create_response.py +4 -30
- evermemos/types/v1/memory_delete_params.py +3 -3
- evermemos/types/v1/{memory_list_response.py → memory_get_response.py} +88 -5
- evermemos/types/v1/memory_load_params.py +83 -0
- evermemos/types/v1/memory_load_response.py +26 -0
- evermemos/types/v1/stats/__init__.py +6 -0
- evermemos/types/v1/stats/request_get_params.py +13 -0
- evermemos/types/v1/stats/request_get_response.py +26 -0
- {evermemos-0.3.6.dist-info → evermemos-0.3.8.dist-info}/METADATA +49 -21
- {evermemos-0.3.6.dist-info → evermemos-0.3.8.dist-info}/RECORD +26 -17
- {evermemos-0.3.6.dist-info → evermemos-0.3.8.dist-info}/WHEEL +0 -0
- {evermemos-0.3.6.dist-info → evermemos-0.3.8.dist-info}/licenses/LICENSE +0 -0
evermemos/_version.py
CHANGED
|
@@ -8,6 +8,14 @@ from .v1 import (
|
|
|
8
8
|
V1ResourceWithStreamingResponse,
|
|
9
9
|
AsyncV1ResourceWithStreamingResponse,
|
|
10
10
|
)
|
|
11
|
+
from .stats import (
|
|
12
|
+
StatsResource,
|
|
13
|
+
AsyncStatsResource,
|
|
14
|
+
StatsResourceWithRawResponse,
|
|
15
|
+
AsyncStatsResourceWithRawResponse,
|
|
16
|
+
StatsResourceWithStreamingResponse,
|
|
17
|
+
AsyncStatsResourceWithStreamingResponse,
|
|
18
|
+
)
|
|
11
19
|
from .memories import (
|
|
12
20
|
MemoriesResource,
|
|
13
21
|
AsyncMemoriesResource,
|
|
@@ -24,6 +32,12 @@ __all__ = [
|
|
|
24
32
|
"AsyncMemoriesResourceWithRawResponse",
|
|
25
33
|
"MemoriesResourceWithStreamingResponse",
|
|
26
34
|
"AsyncMemoriesResourceWithStreamingResponse",
|
|
35
|
+
"StatsResource",
|
|
36
|
+
"AsyncStatsResource",
|
|
37
|
+
"StatsResourceWithRawResponse",
|
|
38
|
+
"AsyncStatsResourceWithRawResponse",
|
|
39
|
+
"StatsResourceWithStreamingResponse",
|
|
40
|
+
"AsyncStatsResourceWithStreamingResponse",
|
|
27
41
|
"V1Resource",
|
|
28
42
|
"AsyncV1Resource",
|
|
29
43
|
"V1ResourceWithRawResponse",
|
|
@@ -52,7 +52,6 @@ class ConversationMetaResource(SyncAPIResource):
|
|
|
52
52
|
name: str,
|
|
53
53
|
scene: str,
|
|
54
54
|
scene_desc: Dict[str, object],
|
|
55
|
-
version: str,
|
|
56
55
|
default_timezone: Optional[str] | Omit = omit,
|
|
57
56
|
description: Optional[str] | Omit = omit,
|
|
58
57
|
group_id: Optional[str] | Omit = omit,
|
|
@@ -69,19 +68,6 @@ class ConversationMetaResource(SyncAPIResource):
|
|
|
69
68
|
Save conversation metadata information, including scene, participants, tags,
|
|
70
69
|
etc.
|
|
71
70
|
|
|
72
|
-
## Functionality:
|
|
73
|
-
- If group_id exists, update the entire record (upsert)
|
|
74
|
-
- If group_id does not exist, create a new record
|
|
75
|
-
- If group_id is omitted, save as default config for the scene
|
|
76
|
-
- All fields must be provided with complete data
|
|
77
|
-
|
|
78
|
-
## Default Config:
|
|
79
|
-
- Default config is used as fallback when specific group_id config not found
|
|
80
|
-
|
|
81
|
-
## Notes:
|
|
82
|
-
- This is a full update interface that will replace the entire record
|
|
83
|
-
- If you only need to update partial fields, use the PATCH /conversation-meta interface
|
|
84
|
-
|
|
85
71
|
Args:
|
|
86
72
|
created_at: Conversation creation time (ISO 8601 format)
|
|
87
73
|
|
|
@@ -97,8 +83,6 @@ class ConversationMetaResource(SyncAPIResource):
|
|
|
97
83
|
|
|
98
84
|
scene_desc: Scene description object, can include fields like description
|
|
99
85
|
|
|
100
|
-
version: Metadata version number
|
|
101
|
-
|
|
102
86
|
default_timezone: Default timezone
|
|
103
87
|
|
|
104
88
|
description: Conversation description
|
|
@@ -126,7 +110,6 @@ class ConversationMetaResource(SyncAPIResource):
|
|
|
126
110
|
"name": name,
|
|
127
111
|
"scene": scene,
|
|
128
112
|
"scene_desc": scene_desc,
|
|
129
|
-
"version": version,
|
|
130
113
|
"default_timezone": default_timezone,
|
|
131
114
|
"description": description,
|
|
132
115
|
"group_id": group_id,
|
|
@@ -161,12 +144,6 @@ class ConversationMetaResource(SyncAPIResource):
|
|
|
161
144
|
"""
|
|
162
145
|
Partially update conversation metadata, only updating provided fields
|
|
163
146
|
|
|
164
|
-
## Functionality:
|
|
165
|
-
- Locate the conversation metadata to update by group_id
|
|
166
|
-
- When group_id is null or not provided, updates the default config
|
|
167
|
-
- Only update fields provided in the request, keep unchanged fields as-is
|
|
168
|
-
- Suitable for scenarios requiring modification of partial information
|
|
169
|
-
|
|
170
147
|
Args:
|
|
171
148
|
default_timezone: New default timezone
|
|
172
149
|
|
|
@@ -220,22 +197,7 @@ class ConversationMetaResource(SyncAPIResource):
|
|
|
220
197
|
extra_body: Body | None = None,
|
|
221
198
|
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
222
199
|
) -> ConversationMetaGetResponse:
|
|
223
|
-
"""
|
|
224
|
-
Retrieve conversation metadata by group_id with fallback to default config
|
|
225
|
-
|
|
226
|
-
## Functionality:
|
|
227
|
-
- Query by group_id to get conversation metadata
|
|
228
|
-
- If group_id not found, fallback to default config
|
|
229
|
-
- If group_id not provided, returns default config
|
|
230
|
-
|
|
231
|
-
## Fallback Logic:
|
|
232
|
-
- Try exact group_id first, then use default config
|
|
233
|
-
|
|
234
|
-
## Use Cases:
|
|
235
|
-
- Get specific group's metadata
|
|
236
|
-
- Get default settings (group_id not provided or null)
|
|
237
|
-
- Auto-fallback to defaults when group config not set
|
|
238
|
-
"""
|
|
200
|
+
"""Retrieve conversation metadata by group_id with fallback to default config"""
|
|
239
201
|
return self._get(
|
|
240
202
|
"/api/v1/memories/conversation-meta",
|
|
241
203
|
options=make_request_options(
|
|
@@ -272,7 +234,6 @@ class AsyncConversationMetaResource(AsyncAPIResource):
|
|
|
272
234
|
name: str,
|
|
273
235
|
scene: str,
|
|
274
236
|
scene_desc: Dict[str, object],
|
|
275
|
-
version: str,
|
|
276
237
|
default_timezone: Optional[str] | Omit = omit,
|
|
277
238
|
description: Optional[str] | Omit = omit,
|
|
278
239
|
group_id: Optional[str] | Omit = omit,
|
|
@@ -289,19 +250,6 @@ class AsyncConversationMetaResource(AsyncAPIResource):
|
|
|
289
250
|
Save conversation metadata information, including scene, participants, tags,
|
|
290
251
|
etc.
|
|
291
252
|
|
|
292
|
-
## Functionality:
|
|
293
|
-
- If group_id exists, update the entire record (upsert)
|
|
294
|
-
- If group_id does not exist, create a new record
|
|
295
|
-
- If group_id is omitted, save as default config for the scene
|
|
296
|
-
- All fields must be provided with complete data
|
|
297
|
-
|
|
298
|
-
## Default Config:
|
|
299
|
-
- Default config is used as fallback when specific group_id config not found
|
|
300
|
-
|
|
301
|
-
## Notes:
|
|
302
|
-
- This is a full update interface that will replace the entire record
|
|
303
|
-
- If you only need to update partial fields, use the PATCH /conversation-meta interface
|
|
304
|
-
|
|
305
253
|
Args:
|
|
306
254
|
created_at: Conversation creation time (ISO 8601 format)
|
|
307
255
|
|
|
@@ -317,8 +265,6 @@ class AsyncConversationMetaResource(AsyncAPIResource):
|
|
|
317
265
|
|
|
318
266
|
scene_desc: Scene description object, can include fields like description
|
|
319
267
|
|
|
320
|
-
version: Metadata version number
|
|
321
|
-
|
|
322
268
|
default_timezone: Default timezone
|
|
323
269
|
|
|
324
270
|
description: Conversation description
|
|
@@ -346,7 +292,6 @@ class AsyncConversationMetaResource(AsyncAPIResource):
|
|
|
346
292
|
"name": name,
|
|
347
293
|
"scene": scene,
|
|
348
294
|
"scene_desc": scene_desc,
|
|
349
|
-
"version": version,
|
|
350
295
|
"default_timezone": default_timezone,
|
|
351
296
|
"description": description,
|
|
352
297
|
"group_id": group_id,
|
|
@@ -381,12 +326,6 @@ class AsyncConversationMetaResource(AsyncAPIResource):
|
|
|
381
326
|
"""
|
|
382
327
|
Partially update conversation metadata, only updating provided fields
|
|
383
328
|
|
|
384
|
-
## Functionality:
|
|
385
|
-
- Locate the conversation metadata to update by group_id
|
|
386
|
-
- When group_id is null or not provided, updates the default config
|
|
387
|
-
- Only update fields provided in the request, keep unchanged fields as-is
|
|
388
|
-
- Suitable for scenarios requiring modification of partial information
|
|
389
|
-
|
|
390
329
|
Args:
|
|
391
330
|
default_timezone: New default timezone
|
|
392
331
|
|
|
@@ -440,22 +379,7 @@ class AsyncConversationMetaResource(AsyncAPIResource):
|
|
|
440
379
|
extra_body: Body | None = None,
|
|
441
380
|
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
442
381
|
) -> ConversationMetaGetResponse:
|
|
443
|
-
"""
|
|
444
|
-
Retrieve conversation metadata by group_id with fallback to default config
|
|
445
|
-
|
|
446
|
-
## Functionality:
|
|
447
|
-
- Query by group_id to get conversation metadata
|
|
448
|
-
- If group_id not found, fallback to default config
|
|
449
|
-
- If group_id not provided, returns default config
|
|
450
|
-
|
|
451
|
-
## Fallback Logic:
|
|
452
|
-
- Try exact group_id first, then use default config
|
|
453
|
-
|
|
454
|
-
## Use Cases:
|
|
455
|
-
- Get specific group's metadata
|
|
456
|
-
- Get default settings (group_id not provided or null)
|
|
457
|
-
- Auto-fallback to defaults when group config not set
|
|
458
|
-
"""
|
|
382
|
+
"""Retrieve conversation metadata by group_id with fallback to default config"""
|
|
459
383
|
return await self._get(
|
|
460
384
|
"/api/v1/memories/conversation-meta",
|
|
461
385
|
options=make_request_options(
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
from typing import Optional
|
|
5
|
+
from typing import Iterable, Optional
|
|
6
6
|
|
|
7
7
|
import httpx
|
|
8
8
|
|
|
9
9
|
from ...._types import Body, Omit, Query, Headers, NotGiven, SequenceNotStr, omit, not_given
|
|
10
10
|
from ...._utils import maybe_transform, async_maybe_transform
|
|
11
11
|
from ...._compat import cached_property
|
|
12
|
-
from ....types.v1 import memory_create_params, memory_delete_params
|
|
12
|
+
from ....types.v1 import memory_load_params, memory_create_params, memory_delete_params
|
|
13
13
|
from ...._resource import SyncAPIResource, AsyncAPIResource
|
|
14
14
|
from ...._response import (
|
|
15
15
|
to_raw_response_wrapper,
|
|
@@ -26,7 +26,8 @@ from .conversation_meta import (
|
|
|
26
26
|
ConversationMetaResourceWithStreamingResponse,
|
|
27
27
|
AsyncConversationMetaResourceWithStreamingResponse,
|
|
28
28
|
)
|
|
29
|
-
from ....types.v1.
|
|
29
|
+
from ....types.v1.memory_get_response import MemoryGetResponse
|
|
30
|
+
from ....types.v1.memory_load_response import MemoryLoadResponse
|
|
30
31
|
from ....types.v1.memory_create_response import MemoryCreateResponse
|
|
31
32
|
from ....types.v1.memory_delete_response import MemoryDeleteResponse
|
|
32
33
|
from ....types.v1.memory_search_response import MemorySearchResponse
|
|
@@ -65,6 +66,7 @@ class MemoriesResource(SyncAPIResource):
|
|
|
65
66
|
create_time: str,
|
|
66
67
|
message_id: str,
|
|
67
68
|
sender: str,
|
|
69
|
+
flush: bool | Omit = omit,
|
|
68
70
|
group_id: Optional[str] | Omit = omit,
|
|
69
71
|
group_name: Optional[str] | Omit = omit,
|
|
70
72
|
refer_list: Optional[SequenceNotStr[str]] | Omit = omit,
|
|
@@ -87,9 +89,14 @@ class MemoriesResource(SyncAPIResource):
|
|
|
87
89
|
|
|
88
90
|
message_id: Message unique identifier
|
|
89
91
|
|
|
90
|
-
sender: Sender user ID
|
|
92
|
+
sender: Sender user ID (required). Also used as user_id internally for memory ownership.
|
|
91
93
|
|
|
92
|
-
|
|
94
|
+
flush: Force boundary trigger. When True, immediately triggers memory extraction
|
|
95
|
+
instead of waiting for natural boundary detection.
|
|
96
|
+
|
|
97
|
+
group_id: Group ID. If not provided, will automatically generate based on hash(sender) +
|
|
98
|
+
'\\__group' suffix, representing single-user mode where each user's messages are
|
|
99
|
+
extracted into separate memory spaces.
|
|
93
100
|
|
|
94
101
|
group_name: Group name
|
|
95
102
|
|
|
@@ -119,6 +126,7 @@ class MemoriesResource(SyncAPIResource):
|
|
|
119
126
|
"create_time": create_time,
|
|
120
127
|
"message_id": message_id,
|
|
121
128
|
"sender": sender,
|
|
129
|
+
"flush": flush,
|
|
122
130
|
"group_id": group_id,
|
|
123
131
|
"group_name": group_name,
|
|
124
132
|
"refer_list": refer_list,
|
|
@@ -133,69 +141,96 @@ class MemoriesResource(SyncAPIResource):
|
|
|
133
141
|
cast_to=MemoryCreateResponse,
|
|
134
142
|
)
|
|
135
143
|
|
|
136
|
-
def
|
|
144
|
+
def delete(
|
|
137
145
|
self,
|
|
138
146
|
*,
|
|
147
|
+
group_id: Optional[str] | Omit = omit,
|
|
148
|
+
memory_id: Optional[str] | Omit = omit,
|
|
149
|
+
user_id: Optional[str] | Omit = omit,
|
|
139
150
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
140
151
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
141
152
|
extra_headers: Headers | None = None,
|
|
142
153
|
extra_query: Query | None = None,
|
|
143
154
|
extra_body: Body | None = None,
|
|
144
155
|
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
145
|
-
) ->
|
|
156
|
+
) -> MemoryDeleteResponse:
|
|
157
|
+
"""
|
|
158
|
+
Delete memory records based on combined filter criteria
|
|
159
|
+
|
|
160
|
+
Args:
|
|
161
|
+
group_id: Group ID (filter condition)
|
|
162
|
+
|
|
163
|
+
memory_id: Memory id (filter condition)
|
|
164
|
+
|
|
165
|
+
user_id: User ID (filter condition)
|
|
166
|
+
|
|
167
|
+
extra_headers: Send extra headers
|
|
168
|
+
|
|
169
|
+
extra_query: Add additional query parameters to the request
|
|
170
|
+
|
|
171
|
+
extra_body: Add additional JSON properties to the request
|
|
172
|
+
|
|
173
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
174
|
+
"""
|
|
175
|
+
return self._delete(
|
|
176
|
+
"/api/v1/memories",
|
|
177
|
+
body=maybe_transform(
|
|
178
|
+
{
|
|
179
|
+
"group_id": group_id,
|
|
180
|
+
"memory_id": memory_id,
|
|
181
|
+
"user_id": user_id,
|
|
182
|
+
},
|
|
183
|
+
memory_delete_params.MemoryDeleteParams,
|
|
184
|
+
),
|
|
185
|
+
options=make_request_options(
|
|
186
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
187
|
+
),
|
|
188
|
+
cast_to=MemoryDeleteResponse,
|
|
189
|
+
)
|
|
190
|
+
|
|
191
|
+
def get(
|
|
192
|
+
self,
|
|
193
|
+
*,
|
|
194
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
195
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
196
|
+
extra_headers: Headers | None = None,
|
|
197
|
+
extra_query: Query | None = None,
|
|
198
|
+
extra_body: Body | None = None,
|
|
199
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
200
|
+
) -> MemoryGetResponse:
|
|
146
201
|
"""Retrieve memory records by memory_type with optional filters"""
|
|
147
202
|
return self._get(
|
|
148
203
|
"/api/v1/memories",
|
|
149
204
|
options=make_request_options(
|
|
150
205
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
151
206
|
),
|
|
152
|
-
cast_to=
|
|
207
|
+
cast_to=MemoryGetResponse,
|
|
153
208
|
)
|
|
154
209
|
|
|
155
|
-
def
|
|
210
|
+
def load(
|
|
156
211
|
self,
|
|
157
212
|
*,
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
213
|
+
conversation_meta: memory_load_params.ConversationMeta,
|
|
214
|
+
conversation_list: Optional[Iterable[memory_load_params.ConversationList]] | Omit = omit,
|
|
215
|
+
version: Optional[str] | Omit = omit,
|
|
161
216
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
162
217
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
163
218
|
extra_headers: Headers | None = None,
|
|
164
219
|
extra_query: Query | None = None,
|
|
165
220
|
extra_body: Body | None = None,
|
|
166
221
|
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
167
|
-
) ->
|
|
168
|
-
"""
|
|
169
|
-
Delete memory records based on combined filter criteria
|
|
170
|
-
|
|
171
|
-
## Functionality:
|
|
172
|
-
- Delete records matching combined filter conditions
|
|
173
|
-
- If multiple conditions provided, ALL must be satisfied (AND logic)
|
|
174
|
-
- At least one filter must be specified
|
|
222
|
+
) -> MemoryLoadResponse:
|
|
223
|
+
"""Import conversation metadata and message list in one request.
|
|
175
224
|
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
- **user_id**: Filter by user ID
|
|
179
|
-
- **group_id**: Filter by group ID
|
|
180
|
-
|
|
181
|
-
## Examples:
|
|
182
|
-
- event_id only: Delete specific memory
|
|
183
|
-
- user_id only: Delete all user's memories
|
|
184
|
-
- user_id + group_id: Delete user's memories in specific group
|
|
185
|
-
- event_id + user_id + group_id: Delete if all conditions match
|
|
186
|
-
|
|
187
|
-
## Use cases:
|
|
188
|
-
- User requests data deletion
|
|
189
|
-
- Group chat cleanup
|
|
190
|
-
- Privacy compliance (GDPR, etc.)
|
|
191
|
-
- Conversation history management
|
|
225
|
+
Messages are
|
|
226
|
+
queued for processing.
|
|
192
227
|
|
|
193
228
|
Args:
|
|
194
|
-
|
|
229
|
+
conversation_meta: Conversation metadata for batch import.
|
|
195
230
|
|
|
196
|
-
|
|
231
|
+
conversation_list: Message list.
|
|
197
232
|
|
|
198
|
-
|
|
233
|
+
version: Format version.
|
|
199
234
|
|
|
200
235
|
extra_headers: Send extra headers
|
|
201
236
|
|
|
@@ -205,20 +240,20 @@ class MemoriesResource(SyncAPIResource):
|
|
|
205
240
|
|
|
206
241
|
timeout: Override the client-level default timeout for this request, in seconds
|
|
207
242
|
"""
|
|
208
|
-
return self.
|
|
209
|
-
"/api/v1/memories",
|
|
243
|
+
return self._post(
|
|
244
|
+
"/api/v1/memories/import",
|
|
210
245
|
body=maybe_transform(
|
|
211
246
|
{
|
|
212
|
-
"
|
|
213
|
-
"
|
|
214
|
-
"
|
|
247
|
+
"conversation_meta": conversation_meta,
|
|
248
|
+
"conversation_list": conversation_list,
|
|
249
|
+
"version": version,
|
|
215
250
|
},
|
|
216
|
-
|
|
251
|
+
memory_load_params.MemoryLoadParams,
|
|
217
252
|
),
|
|
218
253
|
options=make_request_options(
|
|
219
254
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
220
255
|
),
|
|
221
|
-
cast_to=
|
|
256
|
+
cast_to=MemoryLoadResponse,
|
|
222
257
|
)
|
|
223
258
|
|
|
224
259
|
def search(
|
|
@@ -275,6 +310,7 @@ class AsyncMemoriesResource(AsyncAPIResource):
|
|
|
275
310
|
create_time: str,
|
|
276
311
|
message_id: str,
|
|
277
312
|
sender: str,
|
|
313
|
+
flush: bool | Omit = omit,
|
|
278
314
|
group_id: Optional[str] | Omit = omit,
|
|
279
315
|
group_name: Optional[str] | Omit = omit,
|
|
280
316
|
refer_list: Optional[SequenceNotStr[str]] | Omit = omit,
|
|
@@ -297,9 +333,14 @@ class AsyncMemoriesResource(AsyncAPIResource):
|
|
|
297
333
|
|
|
298
334
|
message_id: Message unique identifier
|
|
299
335
|
|
|
300
|
-
sender: Sender user ID
|
|
336
|
+
sender: Sender user ID (required). Also used as user_id internally for memory ownership.
|
|
301
337
|
|
|
302
|
-
|
|
338
|
+
flush: Force boundary trigger. When True, immediately triggers memory extraction
|
|
339
|
+
instead of waiting for natural boundary detection.
|
|
340
|
+
|
|
341
|
+
group_id: Group ID. If not provided, will automatically generate based on hash(sender) +
|
|
342
|
+
'\\__group' suffix, representing single-user mode where each user's messages are
|
|
343
|
+
extracted into separate memory spaces.
|
|
303
344
|
|
|
304
345
|
group_name: Group name
|
|
305
346
|
|
|
@@ -329,6 +370,7 @@ class AsyncMemoriesResource(AsyncAPIResource):
|
|
|
329
370
|
"create_time": create_time,
|
|
330
371
|
"message_id": message_id,
|
|
331
372
|
"sender": sender,
|
|
373
|
+
"flush": flush,
|
|
332
374
|
"group_id": group_id,
|
|
333
375
|
"group_name": group_name,
|
|
334
376
|
"refer_list": refer_list,
|
|
@@ -343,7 +385,54 @@ class AsyncMemoriesResource(AsyncAPIResource):
|
|
|
343
385
|
cast_to=MemoryCreateResponse,
|
|
344
386
|
)
|
|
345
387
|
|
|
346
|
-
async def
|
|
388
|
+
async def delete(
|
|
389
|
+
self,
|
|
390
|
+
*,
|
|
391
|
+
group_id: Optional[str] | Omit = omit,
|
|
392
|
+
memory_id: Optional[str] | Omit = omit,
|
|
393
|
+
user_id: Optional[str] | Omit = omit,
|
|
394
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
395
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
396
|
+
extra_headers: Headers | None = None,
|
|
397
|
+
extra_query: Query | None = None,
|
|
398
|
+
extra_body: Body | None = None,
|
|
399
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
400
|
+
) -> MemoryDeleteResponse:
|
|
401
|
+
"""
|
|
402
|
+
Delete memory records based on combined filter criteria
|
|
403
|
+
|
|
404
|
+
Args:
|
|
405
|
+
group_id: Group ID (filter condition)
|
|
406
|
+
|
|
407
|
+
memory_id: Memory id (filter condition)
|
|
408
|
+
|
|
409
|
+
user_id: User ID (filter condition)
|
|
410
|
+
|
|
411
|
+
extra_headers: Send extra headers
|
|
412
|
+
|
|
413
|
+
extra_query: Add additional query parameters to the request
|
|
414
|
+
|
|
415
|
+
extra_body: Add additional JSON properties to the request
|
|
416
|
+
|
|
417
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
418
|
+
"""
|
|
419
|
+
return await self._delete(
|
|
420
|
+
"/api/v1/memories",
|
|
421
|
+
body=await async_maybe_transform(
|
|
422
|
+
{
|
|
423
|
+
"group_id": group_id,
|
|
424
|
+
"memory_id": memory_id,
|
|
425
|
+
"user_id": user_id,
|
|
426
|
+
},
|
|
427
|
+
memory_delete_params.MemoryDeleteParams,
|
|
428
|
+
),
|
|
429
|
+
options=make_request_options(
|
|
430
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
431
|
+
),
|
|
432
|
+
cast_to=MemoryDeleteResponse,
|
|
433
|
+
)
|
|
434
|
+
|
|
435
|
+
async def get(
|
|
347
436
|
self,
|
|
348
437
|
*,
|
|
349
438
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
@@ -352,60 +441,40 @@ class AsyncMemoriesResource(AsyncAPIResource):
|
|
|
352
441
|
extra_query: Query | None = None,
|
|
353
442
|
extra_body: Body | None = None,
|
|
354
443
|
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
355
|
-
) ->
|
|
444
|
+
) -> MemoryGetResponse:
|
|
356
445
|
"""Retrieve memory records by memory_type with optional filters"""
|
|
357
446
|
return await self._get(
|
|
358
447
|
"/api/v1/memories",
|
|
359
448
|
options=make_request_options(
|
|
360
449
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
361
450
|
),
|
|
362
|
-
cast_to=
|
|
451
|
+
cast_to=MemoryGetResponse,
|
|
363
452
|
)
|
|
364
453
|
|
|
365
|
-
async def
|
|
454
|
+
async def load(
|
|
366
455
|
self,
|
|
367
456
|
*,
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
457
|
+
conversation_meta: memory_load_params.ConversationMeta,
|
|
458
|
+
conversation_list: Optional[Iterable[memory_load_params.ConversationList]] | Omit = omit,
|
|
459
|
+
version: Optional[str] | Omit = omit,
|
|
371
460
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
372
461
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
373
462
|
extra_headers: Headers | None = None,
|
|
374
463
|
extra_query: Query | None = None,
|
|
375
464
|
extra_body: Body | None = None,
|
|
376
465
|
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
377
|
-
) ->
|
|
378
|
-
"""
|
|
379
|
-
Delete memory records based on combined filter criteria
|
|
380
|
-
|
|
381
|
-
## Functionality:
|
|
382
|
-
- Delete records matching combined filter conditions
|
|
383
|
-
- If multiple conditions provided, ALL must be satisfied (AND logic)
|
|
384
|
-
- At least one filter must be specified
|
|
385
|
-
|
|
386
|
-
## Filter Parameters (combined with AND):
|
|
387
|
-
- **event_id**: Filter by specific event_id
|
|
388
|
-
- **user_id**: Filter by user ID
|
|
389
|
-
- **group_id**: Filter by group ID
|
|
390
|
-
|
|
391
|
-
## Examples:
|
|
392
|
-
- event_id only: Delete specific memory
|
|
393
|
-
- user_id only: Delete all user's memories
|
|
394
|
-
- user_id + group_id: Delete user's memories in specific group
|
|
395
|
-
- event_id + user_id + group_id: Delete if all conditions match
|
|
466
|
+
) -> MemoryLoadResponse:
|
|
467
|
+
"""Import conversation metadata and message list in one request.
|
|
396
468
|
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
- Group chat cleanup
|
|
400
|
-
- Privacy compliance (GDPR, etc.)
|
|
401
|
-
- Conversation history management
|
|
469
|
+
Messages are
|
|
470
|
+
queued for processing.
|
|
402
471
|
|
|
403
472
|
Args:
|
|
404
|
-
|
|
473
|
+
conversation_meta: Conversation metadata for batch import.
|
|
405
474
|
|
|
406
|
-
|
|
475
|
+
conversation_list: Message list.
|
|
407
476
|
|
|
408
|
-
|
|
477
|
+
version: Format version.
|
|
409
478
|
|
|
410
479
|
extra_headers: Send extra headers
|
|
411
480
|
|
|
@@ -415,20 +484,20 @@ class AsyncMemoriesResource(AsyncAPIResource):
|
|
|
415
484
|
|
|
416
485
|
timeout: Override the client-level default timeout for this request, in seconds
|
|
417
486
|
"""
|
|
418
|
-
return await self.
|
|
419
|
-
"/api/v1/memories",
|
|
487
|
+
return await self._post(
|
|
488
|
+
"/api/v1/memories/import",
|
|
420
489
|
body=await async_maybe_transform(
|
|
421
490
|
{
|
|
422
|
-
"
|
|
423
|
-
"
|
|
424
|
-
"
|
|
491
|
+
"conversation_meta": conversation_meta,
|
|
492
|
+
"conversation_list": conversation_list,
|
|
493
|
+
"version": version,
|
|
425
494
|
},
|
|
426
|
-
|
|
495
|
+
memory_load_params.MemoryLoadParams,
|
|
427
496
|
),
|
|
428
497
|
options=make_request_options(
|
|
429
498
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
430
499
|
),
|
|
431
|
-
cast_to=
|
|
500
|
+
cast_to=MemoryLoadResponse,
|
|
432
501
|
)
|
|
433
502
|
|
|
434
503
|
async def search(
|
|
@@ -461,12 +530,15 @@ class MemoriesResourceWithRawResponse:
|
|
|
461
530
|
self.create = to_raw_response_wrapper(
|
|
462
531
|
memories.create,
|
|
463
532
|
)
|
|
464
|
-
self.list = to_raw_response_wrapper(
|
|
465
|
-
memories.list,
|
|
466
|
-
)
|
|
467
533
|
self.delete = to_raw_response_wrapper(
|
|
468
534
|
memories.delete,
|
|
469
535
|
)
|
|
536
|
+
self.get = to_raw_response_wrapper(
|
|
537
|
+
memories.get,
|
|
538
|
+
)
|
|
539
|
+
self.load = to_raw_response_wrapper(
|
|
540
|
+
memories.load,
|
|
541
|
+
)
|
|
470
542
|
self.search = to_raw_response_wrapper(
|
|
471
543
|
memories.search,
|
|
472
544
|
)
|
|
@@ -483,12 +555,15 @@ class AsyncMemoriesResourceWithRawResponse:
|
|
|
483
555
|
self.create = async_to_raw_response_wrapper(
|
|
484
556
|
memories.create,
|
|
485
557
|
)
|
|
486
|
-
self.list = async_to_raw_response_wrapper(
|
|
487
|
-
memories.list,
|
|
488
|
-
)
|
|
489
558
|
self.delete = async_to_raw_response_wrapper(
|
|
490
559
|
memories.delete,
|
|
491
560
|
)
|
|
561
|
+
self.get = async_to_raw_response_wrapper(
|
|
562
|
+
memories.get,
|
|
563
|
+
)
|
|
564
|
+
self.load = async_to_raw_response_wrapper(
|
|
565
|
+
memories.load,
|
|
566
|
+
)
|
|
492
567
|
self.search = async_to_raw_response_wrapper(
|
|
493
568
|
memories.search,
|
|
494
569
|
)
|
|
@@ -505,12 +580,15 @@ class MemoriesResourceWithStreamingResponse:
|
|
|
505
580
|
self.create = to_streamed_response_wrapper(
|
|
506
581
|
memories.create,
|
|
507
582
|
)
|
|
508
|
-
self.list = to_streamed_response_wrapper(
|
|
509
|
-
memories.list,
|
|
510
|
-
)
|
|
511
583
|
self.delete = to_streamed_response_wrapper(
|
|
512
584
|
memories.delete,
|
|
513
585
|
)
|
|
586
|
+
self.get = to_streamed_response_wrapper(
|
|
587
|
+
memories.get,
|
|
588
|
+
)
|
|
589
|
+
self.load = to_streamed_response_wrapper(
|
|
590
|
+
memories.load,
|
|
591
|
+
)
|
|
514
592
|
self.search = to_streamed_response_wrapper(
|
|
515
593
|
memories.search,
|
|
516
594
|
)
|
|
@@ -527,12 +605,15 @@ class AsyncMemoriesResourceWithStreamingResponse:
|
|
|
527
605
|
self.create = async_to_streamed_response_wrapper(
|
|
528
606
|
memories.create,
|
|
529
607
|
)
|
|
530
|
-
self.list = async_to_streamed_response_wrapper(
|
|
531
|
-
memories.list,
|
|
532
|
-
)
|
|
533
608
|
self.delete = async_to_streamed_response_wrapper(
|
|
534
609
|
memories.delete,
|
|
535
610
|
)
|
|
611
|
+
self.get = async_to_streamed_response_wrapper(
|
|
612
|
+
memories.get,
|
|
613
|
+
)
|
|
614
|
+
self.load = async_to_streamed_response_wrapper(
|
|
615
|
+
memories.load,
|
|
616
|
+
)
|
|
536
617
|
self.search = async_to_streamed_response_wrapper(
|
|
537
618
|
memories.search,
|
|
538
619
|
)
|