evermemos 0.3.9__py3-none-any.whl → 0.3.11__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.
Files changed (48) hide show
  1. evermemos/_base_client.py +5 -2
  2. evermemos/_client.py +20 -20
  3. evermemos/_compat.py +3 -3
  4. evermemos/_utils/_json.py +35 -0
  5. evermemos/_version.py +1 -1
  6. evermemos/resources/__init__.py +13 -13
  7. evermemos/resources/v0/__init__.py +47 -0
  8. evermemos/resources/{v1 → v0}/memories/conversation_meta.py +148 -20
  9. evermemos/resources/{v1 → v0}/memories/memories.py +176 -193
  10. evermemos/resources/v0/status/__init__.py +33 -0
  11. evermemos/resources/v0/status/request.py +175 -0
  12. evermemos/resources/v0/status/status.py +102 -0
  13. evermemos/resources/{v1/v1.py → v0/v0.py} +59 -27
  14. evermemos/types/{v1 → v0}/__init__.py +2 -4
  15. evermemos/types/v0/memories/conversation_meta_create_params.py +144 -0
  16. evermemos/types/v0/memories/conversation_meta_create_response.py +109 -0
  17. evermemos/types/v0/memories/conversation_meta_get_response.py +109 -0
  18. evermemos/types/v0/memories/conversation_meta_update_params.py +117 -0
  19. evermemos/types/{v1 → v0}/memories/conversation_meta_update_response.py +11 -0
  20. evermemos/types/v0/memory_add_params.py +60 -0
  21. evermemos/types/{v1/memory_create_response.py → v0/memory_add_response.py} +2 -2
  22. evermemos/types/{v1 → v0}/memory_delete_params.py +9 -0
  23. evermemos/types/{v1 → v0}/memory_delete_response.py +7 -0
  24. evermemos/types/{v1 → v0}/memory_get_response.py +13 -87
  25. evermemos/types/v0/memory_search_response.py +196 -0
  26. evermemos/types/v0/status/__init__.py +6 -0
  27. evermemos/types/v0/status/request_get_params.py +13 -0
  28. evermemos/types/v0/status/request_get_response.py +21 -0
  29. {evermemos-0.3.9.dist-info → evermemos-0.3.11.dist-info}/METADATA +24 -26
  30. evermemos-0.3.11.dist-info/RECORD +61 -0
  31. evermemos/resources/v1/__init__.py +0 -33
  32. evermemos/types/v1/global_user_profile/__init__.py +0 -3
  33. evermemos/types/v1/memories/conversation_meta_create_params.py +0 -38
  34. evermemos/types/v1/memories/conversation_meta_create_response.py +0 -41
  35. evermemos/types/v1/memories/conversation_meta_get_response.py +0 -41
  36. evermemos/types/v1/memories/conversation_meta_update_params.py +0 -34
  37. evermemos/types/v1/memory_create_params.py +0 -32
  38. evermemos/types/v1/memory_load_params.py +0 -56
  39. evermemos/types/v1/memory_load_response.py +0 -19
  40. evermemos/types/v1/memory_search_response.py +0 -99
  41. evermemos/types/v1/stats/__init__.py +0 -3
  42. evermemos-0.3.9.dist-info/RECORD +0 -58
  43. /evermemos/resources/{v1 → v0}/memories/__init__.py +0 -0
  44. /evermemos/types/{v1 → v0}/memories/__init__.py +0 -0
  45. /evermemos/types/{v1 → v0}/memory_type.py +0 -0
  46. /evermemos/types/{v1 → v0}/metadata.py +0 -0
  47. {evermemos-0.3.9.dist-info → evermemos-0.3.11.dist-info}/WHEEL +0 -0
  48. {evermemos-0.3.9.dist-info → evermemos-0.3.11.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,109 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Dict, List, Optional
4
+
5
+ from ...._models import BaseModel
6
+
7
+ __all__ = [
8
+ "ConversationMetaCreateResponse",
9
+ "Result",
10
+ "ResultLlmCustomSetting",
11
+ "ResultLlmCustomSettingBoundary",
12
+ "ResultLlmCustomSettingExtraction",
13
+ ]
14
+
15
+
16
+ class ResultLlmCustomSettingBoundary(BaseModel):
17
+ """LLM config for boundary detection (fast, cheap model recommended)"""
18
+
19
+ model: str
20
+ """Model name"""
21
+
22
+ provider: str
23
+ """LLM provider name"""
24
+
25
+ extra: Optional[Dict[str, object]] = None
26
+ """Additional provider-specific configuration"""
27
+
28
+
29
+ class ResultLlmCustomSettingExtraction(BaseModel):
30
+ """LLM config for memory extraction (high quality model recommended)"""
31
+
32
+ model: str
33
+ """Model name"""
34
+
35
+ provider: str
36
+ """LLM provider name"""
37
+
38
+ extra: Optional[Dict[str, object]] = None
39
+ """Additional provider-specific configuration"""
40
+
41
+
42
+ class ResultLlmCustomSetting(BaseModel):
43
+ """LLM custom settings (only for global config)"""
44
+
45
+ boundary: Optional[ResultLlmCustomSettingBoundary] = None
46
+ """LLM config for boundary detection (fast, cheap model recommended)"""
47
+
48
+ extra: Optional[Dict[str, object]] = None
49
+ """Additional task-specific LLM configurations"""
50
+
51
+ extraction: Optional[ResultLlmCustomSettingExtraction] = None
52
+ """LLM config for memory extraction (high quality model recommended)"""
53
+
54
+
55
+ class Result(BaseModel):
56
+ """Saved conversation metadata"""
57
+
58
+ id: str
59
+ """Document ID"""
60
+
61
+ conversation_created_at: Optional[str] = None
62
+ """Conversation creation time"""
63
+
64
+ created_at: Optional[str] = None
65
+ """Record creation time"""
66
+
67
+ default_timezone: Optional[str] = None
68
+ """Default timezone"""
69
+
70
+ description: Optional[str] = None
71
+ """Description"""
72
+
73
+ group_id: Optional[str] = None
74
+ """Group ID (null for global config)"""
75
+
76
+ is_default: Optional[bool] = None
77
+ """Whether this is the global (default) config"""
78
+
79
+ llm_custom_setting: Optional[ResultLlmCustomSetting] = None
80
+ """LLM custom settings (only for global config)"""
81
+
82
+ name: Optional[str] = None
83
+ """Group/conversation name (only for group config)"""
84
+
85
+ scene: Optional[str] = None
86
+ """Scene identifier (only for global config)"""
87
+
88
+ scene_desc: Optional[Dict[str, object]] = None
89
+ """Scene description (only for global config)"""
90
+
91
+ tags: Optional[List[str]] = None
92
+ """Tags"""
93
+
94
+ updated_at: Optional[str] = None
95
+ """Record update time"""
96
+
97
+ user_details: Optional[Dict[str, Dict[str, object]]] = None
98
+ """User details"""
99
+
100
+
101
+ class ConversationMetaCreateResponse(BaseModel):
102
+ result: Result
103
+ """Saved conversation metadata"""
104
+
105
+ message: Optional[str] = None
106
+ """Response message"""
107
+
108
+ status: Optional[str] = None
109
+ """Response status"""
@@ -0,0 +1,109 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Dict, List, Optional
4
+
5
+ from ...._models import BaseModel
6
+
7
+ __all__ = [
8
+ "ConversationMetaGetResponse",
9
+ "Result",
10
+ "ResultLlmCustomSetting",
11
+ "ResultLlmCustomSettingBoundary",
12
+ "ResultLlmCustomSettingExtraction",
13
+ ]
14
+
15
+
16
+ class ResultLlmCustomSettingBoundary(BaseModel):
17
+ """LLM config for boundary detection (fast, cheap model recommended)"""
18
+
19
+ model: str
20
+ """Model name"""
21
+
22
+ provider: str
23
+ """LLM provider name"""
24
+
25
+ extra: Optional[Dict[str, object]] = None
26
+ """Additional provider-specific configuration"""
27
+
28
+
29
+ class ResultLlmCustomSettingExtraction(BaseModel):
30
+ """LLM config for memory extraction (high quality model recommended)"""
31
+
32
+ model: str
33
+ """Model name"""
34
+
35
+ provider: str
36
+ """LLM provider name"""
37
+
38
+ extra: Optional[Dict[str, object]] = None
39
+ """Additional provider-specific configuration"""
40
+
41
+
42
+ class ResultLlmCustomSetting(BaseModel):
43
+ """LLM custom settings (only for global config)"""
44
+
45
+ boundary: Optional[ResultLlmCustomSettingBoundary] = None
46
+ """LLM config for boundary detection (fast, cheap model recommended)"""
47
+
48
+ extra: Optional[Dict[str, object]] = None
49
+ """Additional task-specific LLM configurations"""
50
+
51
+ extraction: Optional[ResultLlmCustomSettingExtraction] = None
52
+ """LLM config for memory extraction (high quality model recommended)"""
53
+
54
+
55
+ class Result(BaseModel):
56
+ """Conversation metadata"""
57
+
58
+ id: str
59
+ """Document ID"""
60
+
61
+ conversation_created_at: Optional[str] = None
62
+ """Conversation creation time"""
63
+
64
+ created_at: Optional[str] = None
65
+ """Record creation time"""
66
+
67
+ default_timezone: Optional[str] = None
68
+ """Default timezone"""
69
+
70
+ description: Optional[str] = None
71
+ """Description"""
72
+
73
+ group_id: Optional[str] = None
74
+ """Group ID (null for global config)"""
75
+
76
+ is_default: Optional[bool] = None
77
+ """Whether this is the global (default) config"""
78
+
79
+ llm_custom_setting: Optional[ResultLlmCustomSetting] = None
80
+ """LLM custom settings (only for global config)"""
81
+
82
+ name: Optional[str] = None
83
+ """Group/conversation name (only for group config)"""
84
+
85
+ scene: Optional[str] = None
86
+ """Scene identifier (only for global config)"""
87
+
88
+ scene_desc: Optional[Dict[str, object]] = None
89
+ """Scene description (only for global config)"""
90
+
91
+ tags: Optional[List[str]] = None
92
+ """Tags"""
93
+
94
+ updated_at: Optional[str] = None
95
+ """Record update time"""
96
+
97
+ user_details: Optional[Dict[str, Dict[str, object]]] = None
98
+ """User details"""
99
+
100
+
101
+ class ConversationMetaGetResponse(BaseModel):
102
+ result: Result
103
+ """Conversation metadata"""
104
+
105
+ message: Optional[str] = None
106
+ """Response message"""
107
+
108
+ status: Optional[str] = None
109
+ """Response status"""
@@ -0,0 +1,117 @@
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 Dict, Optional
6
+ from typing_extensions import Required, TypedDict
7
+
8
+ from ...._types import SequenceNotStr
9
+
10
+ __all__ = [
11
+ "ConversationMetaUpdateParams",
12
+ "LlmCustomSetting",
13
+ "LlmCustomSettingBoundary",
14
+ "LlmCustomSettingExtraction",
15
+ "UserDetails",
16
+ ]
17
+
18
+
19
+ class ConversationMetaUpdateParams(TypedDict, total=False):
20
+ default_timezone: Optional[str]
21
+ """New default timezone"""
22
+
23
+ description: Optional[str]
24
+ """New description"""
25
+
26
+ group_id: Optional[str]
27
+ """Group ID to update. When null, updates the global (default) config."""
28
+
29
+ llm_custom_setting: Optional[LlmCustomSetting]
30
+ """New LLM custom settings.
31
+
32
+ **Only allowed for global config (group_id=null). Not allowed for group config
33
+ (inherited from global config).**
34
+ """
35
+
36
+ name: Optional[str]
37
+ """New group/conversation name.
38
+
39
+ **Only allowed for group config (group_id provided). Not allowed for global
40
+ config.**
41
+ """
42
+
43
+ scene_desc: Optional[Dict[str, object]]
44
+ """New scene description.
45
+
46
+ **Only allowed for global config (group_id=null). Not allowed for group config
47
+ (inherited from global config).**
48
+ """
49
+
50
+ tags: Optional[SequenceNotStr[str]]
51
+ """New tag list"""
52
+
53
+ user_details: Optional[Dict[str, UserDetails]]
54
+ """New user details (will completely replace existing user_details)"""
55
+
56
+
57
+ class LlmCustomSettingBoundary(TypedDict, total=False):
58
+ """LLM config for boundary detection (fast, cheap model recommended)"""
59
+
60
+ model: Required[str]
61
+ """Model name"""
62
+
63
+ provider: Required[str]
64
+ """LLM provider name"""
65
+
66
+ extra: Optional[Dict[str, object]]
67
+ """Additional provider-specific configuration"""
68
+
69
+
70
+ class LlmCustomSettingExtraction(TypedDict, total=False):
71
+ """LLM config for memory extraction (high quality model recommended)"""
72
+
73
+ model: Required[str]
74
+ """Model name"""
75
+
76
+ provider: Required[str]
77
+ """LLM provider name"""
78
+
79
+ extra: Optional[Dict[str, object]]
80
+ """Additional provider-specific configuration"""
81
+
82
+
83
+ class LlmCustomSetting(TypedDict, total=False):
84
+ """New LLM custom settings.
85
+
86
+ **Only allowed for global config (group_id=null).
87
+ Not allowed for group config (inherited from global config).**
88
+ """
89
+
90
+ boundary: Optional[LlmCustomSettingBoundary]
91
+ """LLM config for boundary detection (fast, cheap model recommended)"""
92
+
93
+ extra: Optional[Dict[str, object]]
94
+ """Additional task-specific LLM configurations"""
95
+
96
+ extraction: Optional[LlmCustomSettingExtraction]
97
+ """LLM config for memory extraction (high quality model recommended)"""
98
+
99
+
100
+ class UserDetails(TypedDict, total=False):
101
+ custom_role: Optional[str]
102
+ """User's job/position role (e.g. developer, designer, manager)"""
103
+
104
+ extra: Optional[Dict[str, object]]
105
+ """Additional information"""
106
+
107
+ full_name: Optional[str]
108
+ """User full name"""
109
+
110
+ role: Optional[str]
111
+ """
112
+ User type role, used to identify if this user is a human or AI. Enum values from
113
+ MessageSenderRole:
114
+
115
+ - user: Human user
116
+ - assistant: AI assistant/bot
117
+ """
@@ -8,22 +8,33 @@ __all__ = ["ConversationMetaUpdateResponse", "Result"]
8
8
 
9
9
 
10
10
  class Result(BaseModel):
11
+ """Patch result with updated fields"""
12
+
11
13
  id: str
14
+ """Document ID"""
12
15
 
13
16
  group_id: Optional[str] = None
17
+ """Group ID (null for default config)"""
14
18
 
15
19
  name: Optional[str] = None
20
+ """Conversation name"""
16
21
 
17
22
  scene: Optional[str] = None
23
+ """Scene identifier"""
18
24
 
19
25
  updated_at: Optional[str] = None
26
+ """Record update time"""
20
27
 
21
28
  updated_fields: Optional[List[str]] = None
29
+ """List of updated field names"""
22
30
 
23
31
 
24
32
  class ConversationMetaUpdateResponse(BaseModel):
25
33
  result: Result
34
+ """Patch result with updated fields"""
26
35
 
27
36
  message: Optional[str] = None
37
+ """Response message"""
28
38
 
29
39
  status: Optional[str] = None
40
+ """Response status"""
@@ -0,0 +1,60 @@
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 Optional
6
+ from typing_extensions import Required, TypedDict
7
+
8
+ from ..._types import SequenceNotStr
9
+
10
+ __all__ = ["MemoryAddParams"]
11
+
12
+
13
+ class MemoryAddParams(TypedDict, total=False):
14
+ content: Required[str]
15
+ """Message content"""
16
+
17
+ create_time: Required[str]
18
+ """Message creation time (ISO 8601 format with Timezone is required)"""
19
+
20
+ message_id: Required[str]
21
+ """Message unique identifier"""
22
+
23
+ sender: Required[str]
24
+ """Sender user ID (required).
25
+
26
+ Also used as user_id internally for memory ownership.
27
+ """
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
+
36
+ group_id: Optional[str]
37
+ """Group ID.
38
+
39
+ If not provided, will automatically generate based on hash(sender) + '\\__group'
40
+ suffix, representing single-user mode where each user's messages are extracted
41
+ into separate memory spaces.
42
+ """
43
+
44
+ group_name: Optional[str]
45
+ """Group name"""
46
+
47
+ refer_list: Optional[SequenceNotStr[str]]
48
+ """List of referenced message IDs"""
49
+
50
+ role: Optional[str]
51
+ """
52
+ Message sender role, used to identify the source of the message. Enum values
53
+ from MessageSenderRole:
54
+
55
+ - user: Message from a human user
56
+ - assistant: Message from an AI assistant
57
+ """
58
+
59
+ sender_name: Optional[str]
60
+ """Sender name (uses sender if not provided)"""
@@ -2,10 +2,10 @@
2
2
 
3
3
  from ..._models import BaseModel
4
4
 
5
- __all__ = ["MemoryCreateResponse"]
5
+ __all__ = ["MemoryAddResponse"]
6
6
 
7
7
 
8
- class MemoryCreateResponse(BaseModel):
8
+ class MemoryAddResponse(BaseModel):
9
9
  message: str
10
10
 
11
11
  request_id: str
@@ -9,8 +9,17 @@ __all__ = ["MemoryDeleteParams"]
9
9
 
10
10
 
11
11
  class MemoryDeleteParams(TypedDict, total=False):
12
+ id: Optional[str]
13
+ """Alias for memory_id (backward compatibility)"""
14
+
15
+ event_id: Optional[str]
16
+ """Alias for memory_id (backward compatibility)"""
17
+
12
18
  group_id: Optional[str]
19
+ """Group ID (filter condition)"""
13
20
 
14
21
  memory_id: Optional[str]
22
+ """Memory id (filter condition)"""
15
23
 
16
24
  user_id: Optional[str]
25
+ """User ID (filter condition)"""
@@ -8,14 +8,21 @@ __all__ = ["MemoryDeleteResponse", "Result"]
8
8
 
9
9
 
10
10
  class Result(BaseModel):
11
+ """Delete operation result"""
12
+
11
13
  count: Optional[int] = None
14
+ """Number of memories deleted"""
12
15
 
13
16
  filters: Optional[List[str]] = None
17
+ """List of filter types used for deletion"""
14
18
 
15
19
 
16
20
  class MemoryDeleteResponse(BaseModel):
17
21
  result: Result
22
+ """Delete operation result"""
18
23
 
19
24
  message: Optional[str] = None
25
+ """Response message"""
20
26
 
21
27
  status: Optional[str] = None
28
+ """Response status"""
@@ -12,10 +12,6 @@ __all__ = [
12
12
  "Result",
13
13
  "ResultMemory",
14
14
  "ResultMemoryProfileModel",
15
- "ResultMemoryGlobalUserProfileModel",
16
- "ResultMemoryCombinedProfileModel",
17
- "ResultMemoryCombinedProfileModelGlobalProfile",
18
- "ResultMemoryCombinedProfileModelProfile",
19
15
  "ResultMemoryEpisodicMemoryModel",
20
16
  "ResultMemoryEventLogModel",
21
17
  "ResultMemoryForesightModel",
@@ -48,100 +44,26 @@ class ResultMemoryProfileModel(BaseModel):
48
44
  version: Optional[int] = None
49
45
 
50
46
 
51
- class ResultMemoryGlobalUserProfileModel(BaseModel):
52
- id: str
53
-
54
- user_id: str
55
-
56
- confidence: Optional[float] = None
57
-
58
- created_at: Optional[datetime] = None
59
-
60
- custom_profile_data: Optional[Dict[str, object]] = None
61
-
62
- memcell_count: Optional[int] = None
63
-
64
- profile_data: Optional[Dict[str, object]] = None
65
-
66
- updated_at: Optional[datetime] = None
67
-
68
-
69
- class ResultMemoryCombinedProfileModelGlobalProfile(BaseModel):
70
- id: str
71
-
72
- user_id: str
73
-
74
- confidence: Optional[float] = None
75
-
76
- created_at: Optional[datetime] = None
77
-
78
- custom_profile_data: Optional[Dict[str, object]] = None
79
-
80
- memcell_count: Optional[int] = None
81
-
82
- profile_data: Optional[Dict[str, object]] = None
83
-
84
- updated_at: Optional[datetime] = None
85
-
86
-
87
- class ResultMemoryCombinedProfileModelProfile(BaseModel):
88
- id: str
89
-
90
- group_id: str
91
-
92
- user_id: str
93
-
94
- cluster_ids: Optional[List[str]] = None
95
-
96
- confidence: Optional[float] = None
97
-
98
- created_at: Optional[datetime] = None
99
-
100
- last_updated_cluster: Optional[str] = None
101
-
102
- memcell_count: Optional[int] = None
103
-
104
- profile_data: Optional[Dict[str, object]] = None
105
-
106
- scenario: Optional[str] = None
107
-
108
- updated_at: Optional[datetime] = None
109
-
110
- version: Optional[int] = None
111
-
112
-
113
- class ResultMemoryCombinedProfileModel(BaseModel):
114
- user_id: str
115
-
116
- global_profile: Optional[ResultMemoryCombinedProfileModelGlobalProfile] = None
117
-
118
- group_id: Optional[str] = None
119
-
120
- profiles: Optional[List[ResultMemoryCombinedProfileModelProfile]] = None
121
-
122
-
123
47
  class ResultMemoryEpisodicMemoryModel(BaseModel):
124
48
  id: str
125
49
 
126
50
  episode_id: str
127
51
 
128
- summary: str
129
-
130
- title: str
131
-
132
52
  user_id: str
133
53
 
134
54
  created_at: Optional[datetime] = None
135
55
 
136
56
  end_time: Optional[datetime] = None
137
57
 
58
+ episode: Optional[str] = None
59
+
138
60
  extend: Optional[Dict[str, object]] = None
139
61
 
140
62
  group_id: Optional[str] = None
141
63
 
142
64
  group_name: Optional[str] = None
143
65
 
144
- key_events: Optional[List[str]] = None
66
+ keywords: Optional[List[str]] = None
145
67
 
146
68
  location: Optional[str] = None
147
69
 
@@ -157,6 +79,8 @@ class ResultMemoryEpisodicMemoryModel(BaseModel):
157
79
 
158
80
  subject: Optional[str] = None
159
81
 
82
+ summary: Optional[str] = None
83
+
160
84
  timestamp: Optional[datetime] = None
161
85
 
162
86
  updated_at: Optional[datetime] = None
@@ -203,6 +127,8 @@ class ResultMemoryForesightModel(BaseModel):
203
127
 
204
128
  content: str
205
129
 
130
+ foresight: str
131
+
206
132
  parent_id: str
207
133
 
208
134
  parent_type: str
@@ -239,16 +165,13 @@ class ResultMemoryForesightModel(BaseModel):
239
165
 
240
166
 
241
167
  ResultMemory: TypeAlias = Union[
242
- ResultMemoryProfileModel,
243
- ResultMemoryGlobalUserProfileModel,
244
- ResultMemoryCombinedProfileModel,
245
- ResultMemoryEpisodicMemoryModel,
246
- ResultMemoryEventLogModel,
247
- ResultMemoryForesightModel,
168
+ ResultMemoryProfileModel, ResultMemoryEpisodicMemoryModel, ResultMemoryEventLogModel, ResultMemoryForesightModel
248
169
  ]
249
170
 
250
171
 
251
172
  class Result(BaseModel):
173
+ """Memory fetch result"""
174
+
252
175
  has_more: Optional[bool] = None
253
176
 
254
177
  memories: Optional[List[ResultMemory]] = None
@@ -260,7 +183,10 @@ class Result(BaseModel):
260
183
 
261
184
  class MemoryGetResponse(BaseModel):
262
185
  result: Result
186
+ """Memory fetch result"""
263
187
 
264
188
  message: Optional[str] = None
189
+ """Response message"""
265
190
 
266
191
  status: Optional[str] = None
192
+ """Response status"""