letta-client 0.1.70__py3-none-any.whl → 0.1.71__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.

Potentially problematic release.


This version of letta-client might be problematic. Click here for more details.

letta_client/__init__.py CHANGED
@@ -109,6 +109,7 @@ from .types import (
109
109
  JobStatus,
110
110
  JobType,
111
111
  JsonSchema,
112
+ LettaMessageContentUnion,
112
113
  LettaMessageUnion,
113
114
  LettaRequest,
114
115
  LettaRequestConfig,
@@ -123,6 +124,7 @@ from .types import (
123
124
  McpTool,
124
125
  Memory,
125
126
  Message,
127
+ MessageContentItem,
126
128
  MessageCreate,
127
129
  MessageCreateContent,
128
130
  MessageCreateRole,
@@ -130,6 +132,7 @@ from .types import (
130
132
  MessageSchema,
131
133
  NotFoundErrorBody,
132
134
  NotFoundErrorBodyMessage,
135
+ OmittedReasoningContent,
133
136
  OpenaiTypesChatChatCompletionMessageToolCallParamFunction,
134
137
  OpenaiTypesChatChatCompletionNamedToolChoiceParamFunction,
135
138
  OpenaiTypesChatCompletionCreateParamsFunction,
@@ -140,7 +143,10 @@ from .types import (
140
143
  Passage,
141
144
  PipRequirement,
142
145
  Provider,
146
+ ReasoningContent,
143
147
  ReasoningMessage,
148
+ ReasoningMessageSource,
149
+ RedactedReasoningContent,
144
150
  ResponseFormatJsonObject,
145
151
  ResponseFormatJsonSchema,
146
152
  ResponseFormatText,
@@ -161,12 +167,12 @@ from .types import (
161
167
  Step,
162
168
  SupervisorManager,
163
169
  SystemMessage,
164
- SystemMessageContent,
165
170
  TagSchema,
166
171
  TerminalToolRule,
167
172
  TextContent,
168
173
  Tool,
169
174
  ToolCall,
175
+ ToolCallContent,
170
176
  ToolCallDelta,
171
177
  ToolCallMessage,
172
178
  ToolCallMessageToolCall,
@@ -174,6 +180,7 @@ from .types import (
174
180
  ToolEnvVarSchema,
175
181
  ToolJsonSchema,
176
182
  ToolReturn,
183
+ ToolReturnContent,
177
184
  ToolReturnMessage,
178
185
  ToolReturnMessageStatus,
179
186
  ToolReturnStatus,
@@ -184,7 +191,6 @@ from .types import (
184
191
  UpdateAssistantMessageContent,
185
192
  UpdateReasoningMessage,
186
193
  UpdateSystemMessage,
187
- UpdateSystemMessageContent,
188
194
  UpdateUserMessage,
189
195
  UpdateUserMessageContent,
190
196
  UsageStatistics,
@@ -922,6 +928,7 @@ __all__ = [
922
928
  "JsonSchema",
923
929
  "Letta",
924
930
  "LettaEnvironment",
931
+ "LettaMessageContentUnion",
925
932
  "LettaMessageUnion",
926
933
  "LettaRequest",
927
934
  "LettaRequestConfig",
@@ -937,6 +944,7 @@ __all__ = [
937
944
  "McpTool",
938
945
  "Memory",
939
946
  "Message",
947
+ "MessageContentItem",
940
948
  "MessageCreate",
941
949
  "MessageCreateContent",
942
950
  "MessageCreateRole",
@@ -945,6 +953,7 @@ __all__ = [
945
953
  "NotFoundError",
946
954
  "NotFoundErrorBody",
947
955
  "NotFoundErrorBodyMessage",
956
+ "OmittedReasoningContent",
948
957
  "OpenaiTypesChatChatCompletionMessageToolCallParamFunction",
949
958
  "OpenaiTypesChatChatCompletionNamedToolChoiceParamFunction",
950
959
  "OpenaiTypesChatCompletionCreateParamsFunction",
@@ -955,7 +964,10 @@ __all__ = [
955
964
  "Passage",
956
965
  "PipRequirement",
957
966
  "Provider",
967
+ "ReasoningContent",
958
968
  "ReasoningMessage",
969
+ "ReasoningMessageSource",
970
+ "RedactedReasoningContent",
959
971
  "ResponseFormatJsonObject",
960
972
  "ResponseFormatJsonSchema",
961
973
  "ResponseFormatText",
@@ -976,7 +988,6 @@ __all__ = [
976
988
  "Step",
977
989
  "SupervisorManager",
978
990
  "SystemMessage",
979
- "SystemMessageContent",
980
991
  "TagSchema",
981
992
  "TemplatesCreateAgentsResponse",
982
993
  "TemplatesCreateAgentsResponseAgentsItem",
@@ -1168,6 +1179,7 @@ __all__ = [
1168
1179
  "TextContent",
1169
1180
  "Tool",
1170
1181
  "ToolCall",
1182
+ "ToolCallContent",
1171
1183
  "ToolCallDelta",
1172
1184
  "ToolCallMessage",
1173
1185
  "ToolCallMessageToolCall",
@@ -1175,6 +1187,7 @@ __all__ = [
1175
1187
  "ToolEnvVarSchema",
1176
1188
  "ToolJsonSchema",
1177
1189
  "ToolReturn",
1190
+ "ToolReturnContent",
1178
1191
  "ToolReturnMessage",
1179
1192
  "ToolReturnMessageStatus",
1180
1193
  "ToolReturnStatus",
@@ -1187,7 +1200,6 @@ __all__ = [
1187
1200
  "UpdateAssistantMessageContent",
1188
1201
  "UpdateReasoningMessage",
1189
1202
  "UpdateSystemMessage",
1190
- "UpdateSystemMessageContent",
1191
1203
  "UpdateUserMessage",
1192
1204
  "UpdateUserMessageContent",
1193
1205
  "UsageStatistics",
@@ -162,7 +162,7 @@ class MessagesClient:
162
162
 
163
163
  Examples
164
164
  --------
165
- from letta_client import Letta, MessageCreate
165
+ from letta_client import Letta, MessageCreate, TextContent
166
166
 
167
167
  client = Letta(
168
168
  token="YOUR_TOKEN",
@@ -172,7 +172,11 @@ class MessagesClient:
172
172
  messages=[
173
173
  MessageCreate(
174
174
  role="user",
175
- content="content",
175
+ content=[
176
+ TextContent(
177
+ text="text",
178
+ )
179
+ ],
176
180
  )
177
181
  ],
178
182
  )
@@ -244,7 +248,7 @@ class MessagesClient:
244
248
 
245
249
  Examples
246
250
  --------
247
- from letta_client import Letta, TextContent, UpdateSystemMessage
251
+ from letta_client import Letta, UpdateSystemMessage
248
252
 
249
253
  client = Letta(
250
254
  token="YOUR_TOKEN",
@@ -253,11 +257,7 @@ class MessagesClient:
253
257
  agent_id="agent_id",
254
258
  message_id="message_id",
255
259
  request=UpdateSystemMessage(
256
- content=[
257
- TextContent(
258
- text="text",
259
- )
260
- ],
260
+ content="content",
261
261
  ),
262
262
  )
263
263
  """
@@ -339,7 +339,7 @@ class MessagesClient:
339
339
 
340
340
  Examples
341
341
  --------
342
- from letta_client import Letta, MessageCreate
342
+ from letta_client import Letta, MessageCreate, TextContent
343
343
 
344
344
  client = Letta(
345
345
  token="YOUR_TOKEN",
@@ -349,7 +349,11 @@ class MessagesClient:
349
349
  messages=[
350
350
  MessageCreate(
351
351
  role="user",
352
- content="content",
352
+ content=[
353
+ TextContent(
354
+ text="text",
355
+ )
356
+ ],
353
357
  )
354
358
  ],
355
359
  )
@@ -442,7 +446,7 @@ class MessagesClient:
442
446
 
443
447
  Examples
444
448
  --------
445
- from letta_client import Letta, MessageCreate
449
+ from letta_client import Letta, MessageCreate, TextContent
446
450
 
447
451
  client = Letta(
448
452
  token="YOUR_TOKEN",
@@ -452,7 +456,11 @@ class MessagesClient:
452
456
  messages=[
453
457
  MessageCreate(
454
458
  role="user",
455
- content="content",
459
+ content=[
460
+ TextContent(
461
+ text="text",
462
+ )
463
+ ],
456
464
  )
457
465
  ],
458
466
  )
@@ -643,7 +651,7 @@ class AsyncMessagesClient:
643
651
  --------
644
652
  import asyncio
645
653
 
646
- from letta_client import AsyncLetta, MessageCreate
654
+ from letta_client import AsyncLetta, MessageCreate, TextContent
647
655
 
648
656
  client = AsyncLetta(
649
657
  token="YOUR_TOKEN",
@@ -656,7 +664,11 @@ class AsyncMessagesClient:
656
664
  messages=[
657
665
  MessageCreate(
658
666
  role="user",
659
- content="content",
667
+ content=[
668
+ TextContent(
669
+ text="text",
670
+ )
671
+ ],
660
672
  )
661
673
  ],
662
674
  )
@@ -733,7 +745,7 @@ class AsyncMessagesClient:
733
745
  --------
734
746
  import asyncio
735
747
 
736
- from letta_client import AsyncLetta, TextContent, UpdateSystemMessage
748
+ from letta_client import AsyncLetta, UpdateSystemMessage
737
749
 
738
750
  client = AsyncLetta(
739
751
  token="YOUR_TOKEN",
@@ -745,11 +757,7 @@ class AsyncMessagesClient:
745
757
  agent_id="agent_id",
746
758
  message_id="message_id",
747
759
  request=UpdateSystemMessage(
748
- content=[
749
- TextContent(
750
- text="text",
751
- )
752
- ],
760
+ content="content",
753
761
  ),
754
762
  )
755
763
 
@@ -836,7 +844,7 @@ class AsyncMessagesClient:
836
844
  --------
837
845
  import asyncio
838
846
 
839
- from letta_client import AsyncLetta, MessageCreate
847
+ from letta_client import AsyncLetta, MessageCreate, TextContent
840
848
 
841
849
  client = AsyncLetta(
842
850
  token="YOUR_TOKEN",
@@ -849,7 +857,11 @@ class AsyncMessagesClient:
849
857
  messages=[
850
858
  MessageCreate(
851
859
  role="user",
852
- content="content",
860
+ content=[
861
+ TextContent(
862
+ text="text",
863
+ )
864
+ ],
853
865
  )
854
866
  ],
855
867
  )
@@ -947,7 +959,7 @@ class AsyncMessagesClient:
947
959
  --------
948
960
  import asyncio
949
961
 
950
- from letta_client import AsyncLetta, MessageCreate
962
+ from letta_client import AsyncLetta, MessageCreate, TextContent
951
963
 
952
964
  client = AsyncLetta(
953
965
  token="YOUR_TOKEN",
@@ -960,7 +972,11 @@ class AsyncMessagesClient:
960
972
  messages=[
961
973
  MessageCreate(
962
974
  role="user",
963
- content="content",
975
+ content=[
976
+ TextContent(
977
+ text="text",
978
+ )
979
+ ],
964
980
  )
965
981
  ],
966
982
  )
@@ -16,7 +16,7 @@ class BaseClientWrapper:
16
16
  headers: typing.Dict[str, str] = {
17
17
  "X-Fern-Language": "Python",
18
18
  "X-Fern-SDK-Name": "letta-client",
19
- "X-Fern-SDK-Version": "0.1.70",
19
+ "X-Fern-SDK-Version": "0.1.71",
20
20
  }
21
21
  if self.token is not None:
22
22
  headers["Authorization"] = f"Bearer {self.token}"
@@ -473,7 +473,7 @@ class GroupsClient:
473
473
 
474
474
  Examples
475
475
  --------
476
- from letta_client import Letta, MessageCreate
476
+ from letta_client import Letta, MessageCreate, TextContent
477
477
 
478
478
  client = Letta(
479
479
  token="YOUR_TOKEN",
@@ -484,7 +484,11 @@ class GroupsClient:
484
484
  messages=[
485
485
  MessageCreate(
486
486
  role="user",
487
- content="content",
487
+ content=[
488
+ TextContent(
489
+ text="text",
490
+ )
491
+ ],
488
492
  )
489
493
  ],
490
494
  )
@@ -575,7 +579,7 @@ class GroupsClient:
575
579
 
576
580
  Examples
577
581
  --------
578
- from letta_client import Letta, MessageCreate
582
+ from letta_client import Letta, MessageCreate, TextContent
579
583
 
580
584
  client = Letta(
581
585
  token="YOUR_TOKEN",
@@ -585,7 +589,11 @@ class GroupsClient:
585
589
  messages=[
586
590
  MessageCreate(
587
591
  role="user",
588
- content="content",
592
+ content=[
593
+ TextContent(
594
+ text="text",
595
+ )
596
+ ],
589
597
  )
590
598
  ],
591
599
  )
@@ -1123,7 +1131,7 @@ class AsyncGroupsClient:
1123
1131
  --------
1124
1132
  import asyncio
1125
1133
 
1126
- from letta_client import AsyncLetta, MessageCreate
1134
+ from letta_client import AsyncLetta, MessageCreate, TextContent
1127
1135
 
1128
1136
  client = AsyncLetta(
1129
1137
  token="YOUR_TOKEN",
@@ -1137,7 +1145,11 @@ class AsyncGroupsClient:
1137
1145
  messages=[
1138
1146
  MessageCreate(
1139
1147
  role="user",
1140
- content="content",
1148
+ content=[
1149
+ TextContent(
1150
+ text="text",
1151
+ )
1152
+ ],
1141
1153
  )
1142
1154
  ],
1143
1155
  )
@@ -1233,7 +1245,7 @@ class AsyncGroupsClient:
1233
1245
  --------
1234
1246
  import asyncio
1235
1247
 
1236
- from letta_client import AsyncLetta, MessageCreate
1248
+ from letta_client import AsyncLetta, MessageCreate, TextContent
1237
1249
 
1238
1250
  client = AsyncLetta(
1239
1251
  token="YOUR_TOKEN",
@@ -1246,7 +1258,11 @@ class AsyncGroupsClient:
1246
1258
  messages=[
1247
1259
  MessageCreate(
1248
1260
  role="user",
1249
- content="content",
1261
+ content=[
1262
+ TextContent(
1263
+ text="text",
1264
+ )
1265
+ ],
1250
1266
  )
1251
1267
  ],
1252
1268
  )
@@ -108,6 +108,7 @@ from .job import Job
108
108
  from .job_status import JobStatus
109
109
  from .job_type import JobType
110
110
  from .json_schema import JsonSchema
111
+ from .letta_message_content_union import LettaMessageContentUnion
111
112
  from .letta_message_union import LettaMessageUnion
112
113
  from .letta_request import LettaRequest
113
114
  from .letta_request_config import LettaRequestConfig
@@ -122,6 +123,7 @@ from .mcp_server_type import McpServerType
122
123
  from .mcp_tool import McpTool
123
124
  from .memory import Memory
124
125
  from .message import Message
126
+ from .message_content_item import MessageContentItem
125
127
  from .message_create import MessageCreate
126
128
  from .message_create_content import MessageCreateContent
127
129
  from .message_create_role import MessageCreateRole
@@ -129,6 +131,7 @@ from .message_role import MessageRole
129
131
  from .message_schema import MessageSchema
130
132
  from .not_found_error_body import NotFoundErrorBody
131
133
  from .not_found_error_body_message import NotFoundErrorBodyMessage
134
+ from .omitted_reasoning_content import OmittedReasoningContent
132
135
  from .openai_types_chat_chat_completion_message_tool_call_param_function import (
133
136
  OpenaiTypesChatChatCompletionMessageToolCallParamFunction,
134
137
  )
@@ -143,7 +146,10 @@ from .parameters_schema import ParametersSchema
143
146
  from .passage import Passage
144
147
  from .pip_requirement import PipRequirement
145
148
  from .provider import Provider
149
+ from .reasoning_content import ReasoningContent
146
150
  from .reasoning_message import ReasoningMessage
151
+ from .reasoning_message_source import ReasoningMessageSource
152
+ from .redacted_reasoning_content import RedactedReasoningContent
147
153
  from .response_format_json_object import ResponseFormatJsonObject
148
154
  from .response_format_json_schema import ResponseFormatJsonSchema
149
155
  from .response_format_text import ResponseFormatText
@@ -164,12 +170,12 @@ from .stdio_server_config import StdioServerConfig
164
170
  from .step import Step
165
171
  from .supervisor_manager import SupervisorManager
166
172
  from .system_message import SystemMessage
167
- from .system_message_content import SystemMessageContent
168
173
  from .tag_schema import TagSchema
169
174
  from .terminal_tool_rule import TerminalToolRule
170
175
  from .text_content import TextContent
171
176
  from .tool import Tool
172
177
  from .tool_call import ToolCall
178
+ from .tool_call_content import ToolCallContent
173
179
  from .tool_call_delta import ToolCallDelta
174
180
  from .tool_call_message import ToolCallMessage
175
181
  from .tool_call_message_tool_call import ToolCallMessageToolCall
@@ -177,6 +183,7 @@ from .tool_create import ToolCreate
177
183
  from .tool_env_var_schema import ToolEnvVarSchema
178
184
  from .tool_json_schema import ToolJsonSchema
179
185
  from .tool_return import ToolReturn
186
+ from .tool_return_content import ToolReturnContent
180
187
  from .tool_return_message import ToolReturnMessage
181
188
  from .tool_return_message_status import ToolReturnMessageStatus
182
189
  from .tool_return_status import ToolReturnStatus
@@ -187,7 +194,6 @@ from .update_assistant_message import UpdateAssistantMessage
187
194
  from .update_assistant_message_content import UpdateAssistantMessageContent
188
195
  from .update_reasoning_message import UpdateReasoningMessage
189
196
  from .update_system_message import UpdateSystemMessage
190
- from .update_system_message_content import UpdateSystemMessageContent
191
197
  from .update_user_message import UpdateUserMessage
192
198
  from .update_user_message_content import UpdateUserMessageContent
193
199
  from .usage_statistics import UsageStatistics
@@ -312,6 +318,7 @@ __all__ = [
312
318
  "JobStatus",
313
319
  "JobType",
314
320
  "JsonSchema",
321
+ "LettaMessageContentUnion",
315
322
  "LettaMessageUnion",
316
323
  "LettaRequest",
317
324
  "LettaRequestConfig",
@@ -326,6 +333,7 @@ __all__ = [
326
333
  "McpTool",
327
334
  "Memory",
328
335
  "Message",
336
+ "MessageContentItem",
329
337
  "MessageCreate",
330
338
  "MessageCreateContent",
331
339
  "MessageCreateRole",
@@ -333,6 +341,7 @@ __all__ = [
333
341
  "MessageSchema",
334
342
  "NotFoundErrorBody",
335
343
  "NotFoundErrorBodyMessage",
344
+ "OmittedReasoningContent",
336
345
  "OpenaiTypesChatChatCompletionMessageToolCallParamFunction",
337
346
  "OpenaiTypesChatChatCompletionNamedToolChoiceParamFunction",
338
347
  "OpenaiTypesChatCompletionCreateParamsFunction",
@@ -343,7 +352,10 @@ __all__ = [
343
352
  "Passage",
344
353
  "PipRequirement",
345
354
  "Provider",
355
+ "ReasoningContent",
346
356
  "ReasoningMessage",
357
+ "ReasoningMessageSource",
358
+ "RedactedReasoningContent",
347
359
  "ResponseFormatJsonObject",
348
360
  "ResponseFormatJsonSchema",
349
361
  "ResponseFormatText",
@@ -364,12 +376,12 @@ __all__ = [
364
376
  "Step",
365
377
  "SupervisorManager",
366
378
  "SystemMessage",
367
- "SystemMessageContent",
368
379
  "TagSchema",
369
380
  "TerminalToolRule",
370
381
  "TextContent",
371
382
  "Tool",
372
383
  "ToolCall",
384
+ "ToolCallContent",
373
385
  "ToolCallDelta",
374
386
  "ToolCallMessage",
375
387
  "ToolCallMessageToolCall",
@@ -377,6 +389,7 @@ __all__ = [
377
389
  "ToolEnvVarSchema",
378
390
  "ToolJsonSchema",
379
391
  "ToolReturn",
392
+ "ToolReturnContent",
380
393
  "ToolReturnMessage",
381
394
  "ToolReturnMessageStatus",
382
395
  "ToolReturnStatus",
@@ -387,7 +400,6 @@ __all__ = [
387
400
  "UpdateAssistantMessageContent",
388
401
  "UpdateReasoningMessage",
389
402
  "UpdateSystemMessage",
390
- "UpdateSystemMessageContent",
391
403
  "UpdateUserMessage",
392
404
  "UpdateUserMessageContent",
393
405
  "UsageStatistics",
@@ -15,11 +15,13 @@ class AssistantMessage(UncheckedBaseModel):
15
15
  Args:
16
16
  id (str): The ID of the message
17
17
  date (datetime): The date the message was created in ISO format
18
- content (Union[str, List[LettaMessageContentUnion]]): The message content sent by the agent (can be a string or an array of content parts)
18
+ name (Optional[str]): The name of the sender of the message
19
+ content (Union[str, List[LettaAssistantMessageContentUnion]]): The message content sent by the agent (can be a string or an array of content parts)
19
20
  """
20
21
 
21
22
  id: str
22
23
  date: dt.datetime
24
+ name: typing.Optional[str] = None
23
25
  message_type: typing.Literal["assistant_message"] = "assistant_message"
24
26
  content: AssistantMessageContent = pydantic.Field()
25
27
  """
@@ -0,0 +1,12 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+ from .text_content import TextContent
5
+ from .tool_call_content import ToolCallContent
6
+ from .reasoning_content import ReasoningContent
7
+ from .redacted_reasoning_content import RedactedReasoningContent
8
+ from .omitted_reasoning_content import OmittedReasoningContent
9
+
10
+ LettaMessageContentUnion = typing.Union[
11
+ TextContent, ToolCallContent, ReasoningContent, RedactedReasoningContent, OmittedReasoningContent
12
+ ]
@@ -5,7 +5,7 @@ import typing
5
5
  import pydantic
6
6
  import datetime as dt
7
7
  from .message_role import MessageRole
8
- from .text_content import TextContent
8
+ from .message_content_item import MessageContentItem
9
9
  from .chat_completion_message_tool_call import ChatCompletionMessageToolCall
10
10
  from .tool_return import ToolReturn
11
11
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
@@ -58,7 +58,7 @@ class Message(UncheckedBaseModel):
58
58
  The role of the participant.
59
59
  """
60
60
 
61
- content: typing.Optional[typing.List[TextContent]] = pydantic.Field(default=None)
61
+ content: typing.Optional[typing.List[MessageContentItem]] = pydantic.Field(default=None)
62
62
  """
63
63
  The content of the message.
64
64
  """
@@ -0,0 +1,13 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+ from .omitted_reasoning_content import OmittedReasoningContent
5
+ from .reasoning_content import ReasoningContent
6
+ from .redacted_reasoning_content import RedactedReasoningContent
7
+ from .text_content import TextContent
8
+ from .tool_call_content import ToolCallContent
9
+ from .tool_return_content import ToolReturnContent
10
+
11
+ MessageContentItem = typing.Union[
12
+ OmittedReasoningContent, ReasoningContent, RedactedReasoningContent, TextContent, ToolCallContent, ToolReturnContent
13
+ ]
@@ -1,6 +1,6 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
3
  import typing
4
- from .text_content import TextContent
4
+ from .letta_message_content_union import LettaMessageContentUnion
5
5
 
6
- MessageCreateContent = typing.Union[str, typing.List[TextContent]]
6
+ MessageCreateContent = typing.Union[typing.List[LettaMessageContentUnion], str]
@@ -2,6 +2,7 @@
2
2
 
3
3
  from ..core.unchecked_base_model import UncheckedBaseModel
4
4
  import typing
5
+ from .text_content import TextContent
5
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
6
7
  import pydantic
7
8
 
@@ -13,7 +14,7 @@ class MessageSchema(UncheckedBaseModel):
13
14
  model: typing.Optional[str] = None
14
15
  name: typing.Optional[str] = None
15
16
  role: str
16
- text: str
17
+ content: typing.List[TextContent]
17
18
  tool_call_id: typing.Optional[str] = None
18
19
  tool_calls: typing.List[typing.Optional[typing.Any]]
19
20
  tool_returns: typing.List[typing.Optional[typing.Any]]
@@ -0,0 +1,23 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
+ import typing
5
+ import pydantic
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+
8
+
9
+ class OmittedReasoningContent(UncheckedBaseModel):
10
+ type: typing.Literal["omitted_reasoning"] = "omitted_reasoning"
11
+ tokens: int = pydantic.Field()
12
+ """
13
+ The reasoning token count for intermediate reasoning content.
14
+ """
15
+
16
+ if IS_PYDANTIC_V2:
17
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
18
+ else:
19
+
20
+ class Config:
21
+ frozen = True
22
+ smart_union = True
23
+ extra = pydantic.Extra.allow
@@ -0,0 +1,33 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
+ import typing
5
+ import pydantic
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+
8
+
9
+ class ReasoningContent(UncheckedBaseModel):
10
+ type: typing.Literal["reasoning"] = "reasoning"
11
+ is_native: bool = pydantic.Field()
12
+ """
13
+ Whether the reasoning content was generated by a reasoner model that processed this step.
14
+ """
15
+
16
+ reasoning: str = pydantic.Field()
17
+ """
18
+ The intermediate reasoning or thought process content.
19
+ """
20
+
21
+ signature: typing.Optional[str] = pydantic.Field(default=None)
22
+ """
23
+ A unique identifier for this reasoning step.
24
+ """
25
+
26
+ if IS_PYDANTIC_V2:
27
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
28
+ else:
29
+
30
+ class Config:
31
+ frozen = True
32
+ smart_union = True
33
+ extra = pydantic.Extra.allow
@@ -3,6 +3,7 @@
3
3
  from ..core.unchecked_base_model import UncheckedBaseModel
4
4
  import datetime as dt
5
5
  import typing
6
+ from .reasoning_message_source import ReasoningMessageSource
6
7
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
8
  import pydantic
8
9
 
@@ -14,12 +15,17 @@ class ReasoningMessage(UncheckedBaseModel):
14
15
  Args:
15
16
  id (str): The ID of the message
16
17
  date (datetime): The date the message was created in ISO format
18
+ name (Optional[str]): The name of the sender of the message
19
+ source (Literal["reasoner_model", "non_reasoner_model"]): Whether the reasoning
20
+ content was generated natively by a reasoner model or derived via prompting
17
21
  reasoning (str): The internal reasoning of the agent
18
22
  """
19
23
 
20
24
  id: str
21
25
  date: dt.datetime
26
+ name: typing.Optional[str] = None
22
27
  message_type: typing.Literal["reasoning_message"] = "reasoning_message"
28
+ source: typing.Optional[ReasoningMessageSource] = None
23
29
  reasoning: str
24
30
 
25
31
  if IS_PYDANTIC_V2:
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ ReasoningMessageSource = typing.Union[typing.Literal["reasoner_model", "non_reasoner_model"], typing.Any]
@@ -0,0 +1,23 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
+ import typing
5
+ import pydantic
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+
8
+
9
+ class RedactedReasoningContent(UncheckedBaseModel):
10
+ type: typing.Literal["redacted_reasoning"] = "redacted_reasoning"
11
+ data: str = pydantic.Field()
12
+ """
13
+ The redacted or filtered intermediate reasoning content.
14
+ """
15
+
16
+ if IS_PYDANTIC_V2:
17
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
18
+ else:
19
+
20
+ class Config:
21
+ frozen = True
22
+ smart_union = True
23
+ extra = pydantic.Extra.allow
@@ -3,7 +3,6 @@
3
3
  from ..core.unchecked_base_model import UncheckedBaseModel
4
4
  import datetime as dt
5
5
  import typing
6
- from .system_message_content import SystemMessageContent
7
6
  import pydantic
8
7
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
9
8
 
@@ -15,15 +14,17 @@ class SystemMessage(UncheckedBaseModel):
15
14
  Args:
16
15
  id (str): The ID of the message
17
16
  date (datetime): The date the message was created in ISO format
18
- content (Union[str, List[LettaMessageContentUnion]]): The message content sent by the system (can be a string or an array of content parts)
17
+ name (Optional[str]): The name of the sender of the message
18
+ content (str): The message content sent by the system
19
19
  """
20
20
 
21
21
  id: str
22
22
  date: dt.datetime
23
+ name: typing.Optional[str] = None
23
24
  message_type: typing.Literal["system_message"] = "system_message"
24
- content: SystemMessageContent = pydantic.Field()
25
+ content: str = pydantic.Field()
25
26
  """
26
- The message content sent by the system (can be a string or an array of content parts)
27
+ The message content sent by the system
27
28
  """
28
29
 
29
30
  if IS_PYDANTIC_V2:
@@ -0,0 +1,33 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
+ import typing
5
+ import pydantic
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+
8
+
9
+ class ToolCallContent(UncheckedBaseModel):
10
+ type: typing.Literal["tool_return"] = "tool_return"
11
+ id: str = pydantic.Field()
12
+ """
13
+ A unique identifier for this specific tool call instance.
14
+ """
15
+
16
+ name: str = pydantic.Field()
17
+ """
18
+ The name of the tool being called.
19
+ """
20
+
21
+ input: typing.Dict[str, typing.Optional[typing.Any]] = pydantic.Field()
22
+ """
23
+ The parameters being passed to the tool, structured as a dictionary of parameter names to values.
24
+ """
25
+
26
+ if IS_PYDANTIC_V2:
27
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
28
+ else:
29
+
30
+ class Config:
31
+ frozen = True
32
+ smart_union = True
33
+ extra = pydantic.Extra.allow
@@ -15,11 +15,13 @@ class ToolCallMessage(UncheckedBaseModel):
15
15
  Args:
16
16
  id (str): The ID of the message
17
17
  date (datetime): The date the message was created in ISO format
18
+ name (Optional[str]): The name of the sender of the message
18
19
  tool_call (Union[ToolCall, ToolCallDelta]): The tool call
19
20
  """
20
21
 
21
22
  id: str
22
23
  date: dt.datetime
24
+ name: typing.Optional[str] = None
23
25
  message_type: typing.Literal["tool_call_message"] = "tool_call_message"
24
26
  tool_call: ToolCallMessageToolCall
25
27
 
@@ -0,0 +1,33 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
+ import typing
5
+ import pydantic
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+
8
+
9
+ class ToolReturnContent(UncheckedBaseModel):
10
+ type: typing.Literal["tool_return"] = "tool_return"
11
+ tool_call_id: str = pydantic.Field()
12
+ """
13
+ References the ID of the ToolCallContent that initiated this tool call.
14
+ """
15
+
16
+ content: str = pydantic.Field()
17
+ """
18
+ The content returned by the tool execution.
19
+ """
20
+
21
+ is_error: bool = pydantic.Field()
22
+ """
23
+ Indicates whether the tool execution resulted in an error.
24
+ """
25
+
26
+ if IS_PYDANTIC_V2:
27
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
28
+ else:
29
+
30
+ class Config:
31
+ frozen = True
32
+ smart_union = True
33
+ extra = pydantic.Extra.allow
@@ -15,6 +15,7 @@ class ToolReturnMessage(UncheckedBaseModel):
15
15
  Args:
16
16
  id (str): The ID of the message
17
17
  date (datetime): The date the message was created in ISO format
18
+ name (Optional[str]): The name of the sender of the message
18
19
  tool_return (str): The return value of the tool
19
20
  status (Literal["success", "error"]): The status of the tool call
20
21
  tool_call_id (str): A unique identifier for the tool call that generated this message
@@ -24,6 +25,7 @@ class ToolReturnMessage(UncheckedBaseModel):
24
25
 
25
26
  id: str
26
27
  date: dt.datetime
28
+ name: typing.Optional[str] = None
27
29
  message_type: typing.Literal["tool_return_message"] = "tool_return_message"
28
30
  tool_return: str
29
31
  status: ToolReturnMessageStatus
@@ -2,16 +2,15 @@
2
2
 
3
3
  from ..core.unchecked_base_model import UncheckedBaseModel
4
4
  import typing
5
- from .update_system_message_content import UpdateSystemMessageContent
6
5
  import pydantic
7
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
8
7
 
9
8
 
10
9
  class UpdateSystemMessage(UncheckedBaseModel):
11
10
  message_type: typing.Optional[typing.Literal["system_message"]] = None
12
- content: UpdateSystemMessageContent = pydantic.Field()
11
+ content: str = pydantic.Field()
13
12
  """
14
- The message content sent by the system (can be a string or an array of content parts)
13
+ The message content sent by the system (can be a string or an array of multi-modal content parts)
15
14
  """
16
15
 
17
16
  if IS_PYDANTIC_V2:
@@ -11,7 +11,7 @@ class UpdateUserMessage(UncheckedBaseModel):
11
11
  message_type: typing.Optional[typing.Literal["user_message"]] = None
12
12
  content: UpdateUserMessageContent = pydantic.Field()
13
13
  """
14
- The message content sent by the user (can be a string or an array of content parts)
14
+ The message content sent by the user (can be a string or an array of multi-modal content parts)
15
15
  """
16
16
 
17
17
  if IS_PYDANTIC_V2:
@@ -15,15 +15,17 @@ class UserMessage(UncheckedBaseModel):
15
15
  Args:
16
16
  id (str): The ID of the message
17
17
  date (datetime): The date the message was created in ISO format
18
- content (Union[str, List[LettaMessageContentUnion]]): The message content sent by the user (can be a string or an array of content parts)
18
+ name (Optional[str]): The name of the sender of the message
19
+ content (Union[str, List[LettaUserMessageContentUnion]]): The message content sent by the user (can be a string or an array of multi-modal content parts)
19
20
  """
20
21
 
21
22
  id: str
22
23
  date: dt.datetime
24
+ name: typing.Optional[str] = None
23
25
  message_type: typing.Literal["user_message"] = "user_message"
24
26
  content: UserMessageContent = pydantic.Field()
25
27
  """
26
- The message content sent by the user (can be a string or an array of content parts)
28
+ The message content sent by the user (can be a string or an array of multi-modal content parts)
27
29
  """
28
30
 
29
31
  if IS_PYDANTIC_V2:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: letta-client
3
- Version: 0.1.70
3
+ Version: 0.1.71
4
4
  Summary:
5
5
  Requires-Python: >=3.8,<4.0
6
6
  Classifier: Intended Audience :: Developers
@@ -100,7 +100,7 @@ except ApiError as e:
100
100
  The SDK supports streaming responses, as well, the response will be a generator that you can loop over.
101
101
 
102
102
  ```python
103
- from letta_client import Letta, MessageCreate
103
+ from letta_client import Letta, MessageCreate, TextContent
104
104
 
105
105
  client = Letta(
106
106
  token="YOUR_TOKEN",
@@ -110,7 +110,11 @@ response = client.agents.messages.create_stream(
110
110
  messages=[
111
111
  MessageCreate(
112
112
  role="user",
113
- content="content",
113
+ content=[
114
+ TextContent(
115
+ text="text",
116
+ )
117
+ ],
114
118
  )
115
119
  ],
116
120
  )
@@ -1,4 +1,4 @@
1
- letta_client/__init__.py,sha256=z0xhs3OI6QvwwA3zmsYmnhfPfvRTvGJ3UqVdEAhu4lc,63967
1
+ letta_client/__init__.py,sha256=dGS3s7eJZm98AzX5yDR4d1Wh253pMpjhIWU8BfkoXLg,64277
2
2
  letta_client/agents/__init__.py,sha256=HMLlMwIDoMSMsE99OMGYmDQbdZcYWScYF2L1bW_2zKA,25036
3
3
  letta_client/agents/blocks/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
4
4
  letta_client/agents/blocks/client.py,sha256=u5zvutxoH_DqfSLWhRtNSRBC9_ezQDx682cxkxDz3JA,23822
@@ -12,7 +12,7 @@ letta_client/agents/memory_variables/client.py,sha256=6qFVbR_tdfqj4HQ1h1HXR8DZCV
12
12
  letta_client/agents/memory_variables/types/__init__.py,sha256=EoznK0WvhCyFYd4KDdU-cGDQWpSXmq79BSkqVHN-j7A,180
13
13
  letta_client/agents/memory_variables/types/memory_variables_list_response.py,sha256=bsF__n_B4ZXEHzg--OVD6tHHXt_aM-FjHm2x1ZXPnL0,599
14
14
  letta_client/agents/messages/__init__.py,sha256=M7Ar6Rmb8we4dfYE6jj3FCL9UvVFy1bNQIPflUXMWHA,243
15
- letta_client/agents/messages/client.py,sha256=JdqJp9ofCKAdNRlZB4Tf_Z6xjtoEltrjnhPLkE87Zsw,36133
15
+ letta_client/agents/messages/client.py,sha256=eFYRQUTubKq6N1CTebdLL_oT7LIkOyVEXiR6yaW7tig,36721
16
16
  letta_client/agents/messages/types/__init__.py,sha256=Oc2j0oGOs96IEFf9xsJIkjBjoq3OMtse64YwWv3F9Io,335
17
17
  letta_client/agents/messages/types/letta_streaming_response.py,sha256=MdE2PxQ1x1AviakHXsWVcFv97a3RchzzzIiD77w4EC8,665
18
18
  letta_client/agents/messages/types/messages_modify_request.py,sha256=7C2X3BKye-YDSXOkdEmxxt34seI4jkLK0-govtc4nhg,475
@@ -228,7 +228,7 @@ letta_client/blocks/client.py,sha256=LE9dsHaBxFLC3G035f0VpNDG7XKWRK8y9OXpeFCMvUw
228
228
  letta_client/client.py,sha256=xdSrD4IkWokZHujowd1r7zESBoVgKGNvo6RqgZ3f0Fg,12808
229
229
  letta_client/core/__init__.py,sha256=OKbX2aCZXgHCDUsCouqv-OiX32xA6eFFCKIUH9M5Vzk,1591
230
230
  letta_client/core/api_error.py,sha256=RE8LELok2QCjABadECTvtDp7qejA1VmINCh6TbqPwSE,426
231
- letta_client/core/client_wrapper.py,sha256=uXelTu3YeqatjFoXGj1r-hO9jpxEJio3bejiqYRj00s,1997
231
+ letta_client/core/client_wrapper.py,sha256=f7ga-thRWR6NBeA9bApbqIDMvneEIfORwEkFOiHirGo,1997
232
232
  letta_client/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
233
233
  letta_client/core/file.py,sha256=d4NNbX8XvXP32z8KpK2Xovv33nFfruIrpz0QWxlgpZk,2663
234
234
  letta_client/core/http_client.py,sha256=Z77OIxIbL4OAB2IDqjRq_sYa5yNYAWfmdhdCSSvh6Y4,19552
@@ -246,7 +246,7 @@ letta_client/errors/internal_server_error.py,sha256=8USCagXyJJ1MOm9snpcXIUt6eNXv
246
246
  letta_client/errors/not_found_error.py,sha256=tBVCeBC8n3C811WHRj_n-hs3h8MqwR5gp0vLiobk7W8,262
247
247
  letta_client/errors/unprocessable_entity_error.py,sha256=FvR7XPlV3Xx5nu8HNlmLhBRdk4so_gCHjYT5PyZe6sM,313
248
248
  letta_client/groups/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
249
- letta_client/groups/client.py,sha256=dGeX1CbVzqCOi6n_POABfZAxRdzeX-vGZD1dTyamu4Q,43492
249
+ letta_client/groups/client.py,sha256=lSPGSgnEHG--tcKgbJuH-y4LAgdxe2e0V0Nul6YGpx8,44048
250
250
  letta_client/health/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
251
251
  letta_client/health/client.py,sha256=6BjXH83ZhsLt_MD4QA2hiTsvgfeIgxMT1KSN0Oj6e1I,3242
252
252
  letta_client/identities/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
@@ -466,7 +466,7 @@ letta_client/tools/types/add_mcp_server_request.py,sha256=EieZjfOT95sjkpxXdqy7gl
466
466
  letta_client/tools/types/add_mcp_server_response_item.py,sha256=pb3A4IoP7Qpen0UDDniXrASYEJZWnYnnrZThtPkvZt4,270
467
467
  letta_client/tools/types/delete_mcp_server_response_item.py,sha256=hKc4uehqcubO8BzpgMlvk2jJAjHXOWRM_zmWsCz_vZE,273
468
468
  letta_client/tools/types/list_mcp_servers_response_value.py,sha256=AIoXu4bO8QNSU7zjL1jj0Rg4313wVtPaTt13W0aevLQ,273
469
- letta_client/types/__init__.py,sha256=a1DEK3g5GnoJhHxV4Kxjj07gDYmjlYut0x9dyt1cyY4,17966
469
+ letta_client/types/__init__.py,sha256=TWfCMqSPdEGEfBWiy5EVmqL2tRr8vMPSWZzU_pgtqm4,18454
470
470
  letta_client/types/action_model.py,sha256=y1e2XMv3skFaNJIBdYoBKgiORzGh05aOVvu-qVR9uHg,1240
471
471
  letta_client/types/action_parameters_model.py,sha256=LgKf5aPZG3-OHGxFdXiSokIDgce8c02xPYIAY05VgW8,828
472
472
  letta_client/types/action_response_model.py,sha256=yq2Fd9UU8j7vvtE3VqXUoRRvDzWcfJPj_95ynGdeHCs,824
@@ -478,7 +478,7 @@ letta_client/types/agent_type.py,sha256=BvztKbFTW_Acvc3QPIvzK7JGwSLie1V407byu-VZ
478
478
  letta_client/types/app_auth_scheme.py,sha256=_6FLlw3drQ3HDSP9SecStBwQyE0DgL6UvKFArCC4yp8,1242
479
479
  letta_client/types/app_auth_scheme_auth_mode.py,sha256=KfJ8AQVxlvWo2DgDGak9yXtx5F2lvRULB2KVGy2aSJo,412
480
480
  letta_client/types/app_model.py,sha256=cypZdZ12NW9pbG23XW9qTtGnZNwNlJxoxBERaFcLmso,1519
481
- letta_client/types/assistant_message.py,sha256=c_aaRtfq1OpHwaPnCsNl_Qnf9J_fEPUkK2jR9Zw3dO4,1272
481
+ letta_client/types/assistant_message.py,sha256=AsvwJO6FH96-wgLaErxUeT2gN6_9DrIPBXX8rTh0FA4,1387
482
482
  letta_client/types/assistant_message_content.py,sha256=yKC7GsSHadzc-ye0Zp7TOqq_UBExULCXxdNn5CXJMsQ,241
483
483
  letta_client/types/audio.py,sha256=aCgzL9SmkmM4yU7hy2IWwPrC-wtllplo3dQF9mjk7Fg,548
484
484
  letta_client/types/auth_request.py,sha256=q63VMj39aCmljDuzUeAClXEqyaoa_HKv5IraSv8ry9M,683
@@ -575,6 +575,7 @@ letta_client/types/job.py,sha256=VJBdFIY0rwqh4hObTchlU2jrloTjZwUEA44pNtY_JBg,232
575
575
  letta_client/types/job_status.py,sha256=0Gu5Tku79SDVzCxnjVXQyDPNCizGWUP1ppohAck6a2U,189
576
576
  letta_client/types/job_type.py,sha256=Roa04Ry0I-8YMYcDHiHSQwqBavZyPonzkZtjf098e-Q,145
577
577
  letta_client/types/json_schema.py,sha256=EHcLKBSGRsSzCKTpujKFHylcLJG6ODQIBrjQkU4lWDQ,870
578
+ letta_client/types/letta_message_content_union.py,sha256=YxzyXKxUMeqbqWOlDs9LC8HUiqEhgkNCV9a76GS3spg,486
578
579
  letta_client/types/letta_message_union.py,sha256=FM4Zippr5fJ05AZ2aZRFlqp348xNgLbzVOcrnyNfytI,493
579
580
  letta_client/types/letta_request.py,sha256=bCPDRJhSJSo5eILJp0mTw_k26O3dZL1vChfAcaZ0rE8,1240
580
581
  letta_client/types/letta_request_config.py,sha256=b6K4QtDdHjcZKfBb1fugUuoPrT2N4d5TTB0PIRNI2SU,1085
@@ -588,14 +589,16 @@ letta_client/types/manager_type.py,sha256=hV271989JpEhJQH02MzLpJ34EsbGnyMlckbz2T
588
589
  letta_client/types/mcp_server_type.py,sha256=Hv45mKMPzmey2UVjwrTAvWXP1sDd13UwAtvtogBloLo,153
589
590
  letta_client/types/mcp_tool.py,sha256=_GSTb0k8l-IUEflRkQ6-v45UnbTcA4Nv1N8sgmExJQ0,912
590
591
  letta_client/types/memory.py,sha256=KD5MkDQB-vbRPT9f_-yFBWY1WUW_NWxYEI0IiflG6P8,1035
591
- letta_client/types/message.py,sha256=dOue5njUr5YaxdGIsyBv1JZk_230v5XZXAgCYFtbz3U,3595
592
+ letta_client/types/message.py,sha256=g7iDdt_ZZRsTAtDylSgzlJJjttjczjVmXLELYzTEgcI,3617
593
+ letta_client/types/message_content_item.py,sha256=mg2npSBRXsH7-fAwhx9YhkVbeCF3cM8pE6fPYtUDIyc,550
592
594
  letta_client/types/message_create.py,sha256=x80xQYxC3IUHs7PKCqHfeJkHRh02dx0oOc0PoJO8krc,1011
593
- letta_client/types/message_create_content.py,sha256=N3W7IzbUk2RqEbL88noLCu4Bmbli5-yq35d0nfscGl8,185
595
+ letta_client/types/message_create_content.py,sha256=KL3XAVKVrdsh4DZwdxKofUyehS-vnOT_VJNVzZDpE20,226
594
596
  letta_client/types/message_create_role.py,sha256=atjQEZ8iT4gTAmrFTFnRaM66f0MGsgfGq6hpx1Q-i44,159
595
597
  letta_client/types/message_role.py,sha256=HKatrA1jt02oTObExloTY3rW8Urzn37kBTg0Z6MbwkQ,186
596
- letta_client/types/message_schema.py,sha256=wnfvzbABcNlsmNNGTAaizPPbbPIQ7lxzRalTavl_TFw,914
598
+ letta_client/types/message_schema.py,sha256=211PUXXaYVk3hZV2CY99diP3uzfCW_OtpE0gJsOnkeA,976
597
599
  letta_client/types/not_found_error_body.py,sha256=_1esSlUdkBx6CRs6aAIJrxzh3VZKEG0xzeLbxebBuy0,615
598
600
  letta_client/types/not_found_error_body_message.py,sha256=Kc9xrVghgDATdPAGpTPnzyKe6ds5q8Vr6zcBU5lLcH4,309
601
+ letta_client/types/omitted_reasoning_content.py,sha256=TL6zor7HxJ_oIYzvdAAdrgR_P52tycZsRNVEFjUewho,739
599
602
  letta_client/types/openai_types_chat_chat_completion_message_tool_call_param_function.py,sha256=glG5tG6g2uxP4R5jwsChkf3F0sb208uEbR-25dnrTiM,621
600
603
  letta_client/types/openai_types_chat_chat_completion_named_tool_choice_param_function.py,sha256=20aPdyj3_-cD_p33yZ0ca3IbU9Apq1UrnxCSaU6OgYg,602
601
604
  letta_client/types/openai_types_chat_completion_create_params_function.py,sha256=oTjYqRv8z6SMSdFgTl4W9oI-QUQxz8Unf4yn90sByss,721
@@ -606,7 +609,10 @@ letta_client/types/parameters_schema.py,sha256=ptXcwjuaCwqRhfizeiWAsu3pqT87Jcj_P
606
609
  letta_client/types/passage.py,sha256=1OM19TyVCQEL1P3BC58hmzWfawZM4vejiKr0P11dOUk,3034
607
610
  letta_client/types/pip_requirement.py,sha256=Hmh7VpJhdSfFkafh6QwAehCp0MQUBXv1YAoYP-2wV2M,773
608
611
  letta_client/types/provider.py,sha256=RvdE9dzGFJ4hcmyvk2xeO7RNpxQvXhB_S9DNy8t_z-E,1053
609
- letta_client/types/reasoning_message.py,sha256=3DvzB2a3CmAub4Y_PLOqD7fIoSTN0X2PZjJsVSdEhyQ,952
612
+ letta_client/types/reasoning_content.py,sha256=aId-87QjQ4sm_fuCmzIdZZghr-9DFeVV-Lv9x5iVw3I,995
613
+ letta_client/types/reasoning_message.py,sha256=HbSYz0TbnGsFb1MELz0oCDMVC2dg5mY9jdmn3KCeFm0,1354
614
+ letta_client/types/reasoning_message_source.py,sha256=GYOWGm2mje1yYbR8E2kbAeQS--VDrGlpsobEBQHE2cU,186
615
+ letta_client/types/redacted_reasoning_content.py,sha256=ROAcdqOjM-kaw23HrVJrh0a49TRYuijanHDaCqcMErM,735
610
616
  letta_client/types/response_format_json_object.py,sha256=ZSWmwdN8itFr5q77mxuBhEWRBh2CubAonJUCi88UjbA,611
611
617
  letta_client/types/response_format_json_schema.py,sha256=7CgBQ9Lmst2oz_NoGr-1Sk-7Yq33BBhkqpRoKXh-qPo,675
612
618
  letta_client/types/response_format_text.py,sha256=5HhXaYWDR0zeFLhH5nIqIN3n192UXrMZeSyORjIWFKQ,591
@@ -626,21 +632,22 @@ letta_client/types/sse_server_config.py,sha256=b-h5FLm5MELZ5A9bwZt-02Zx_f3UbfKAQ
626
632
  letta_client/types/stdio_server_config.py,sha256=dEQ7bguiLikGemLxYZJ3JCmmEQgAMsSPO_P52oHZSl0,1091
627
633
  letta_client/types/step.py,sha256=XE98vMiU34dgUxLPvmJLdp9iWFPjg6E2Pb8xNSURMMg,2988
628
634
  letta_client/types/supervisor_manager.py,sha256=VdR1ySp4k43apxM8Bb5uNoBvADsvz8oMEEtDy2F5K6M,676
629
- letta_client/types/system_message.py,sha256=E7ExEVt5Y1p3g-fq1t--Zxr0148v_PRs8DIfsSDcXzE,1281
630
- letta_client/types/system_message_content.py,sha256=fePw_p7NZclJLdnZWCG392knGx2XemMrtWexZqoyYkA,238
635
+ letta_client/types/system_message.py,sha256=2Kc105jQLbp-4kuNa8sXj2Zm8-bcF0V0y9eOlmxrCaU,1180
631
636
  letta_client/types/tag_schema.py,sha256=FEszKlRD2FqezKlX99OLqTqf46dONlcGPo1m43osdNo,553
632
637
  letta_client/types/terminal_tool_rule.py,sha256=82a7AnohOqCFBSOt7OwsKeh7gHgq8KTlgojxlm3t76E,863
633
638
  letta_client/types/text_content.py,sha256=Z8UL4Sqqq2qClKU_nCgR9XFCj3dwYyhZMmvnnz1F0AE,670
634
639
  letta_client/types/tool.py,sha256=xXKWpxfzUtw7OjLcjnil6GeFiVrFvk9gtaYHWUM-7AU,2510
635
640
  letta_client/types/tool_call.py,sha256=EKGAFwzoa6zMTpOkG55hWzFn_AgPrbLXSOu5M84x8WU,594
641
+ letta_client/types/tool_call_content.py,sha256=5aceJgOQSkL05Hw5LXG49yxN8CmTcp6jj9aeQp-Wtks,995
636
642
  letta_client/types/tool_call_delta.py,sha256=wGeZwJ9pwYHD5-f4Unf5-vJqefK40eHw9i0w3bCjRoE,671
637
- letta_client/types/tool_call_message.py,sha256=vc-Bv_H1eNLAIJqyCI4glj964h87iosTLKFgxWpA2wM,1090
643
+ letta_client/types/tool_call_message.py,sha256=AQxpHtGGrPSAm3wnkoaoKO-vx_fFJQWb-YRK940mrGI,1196
638
644
  letta_client/types/tool_call_message_tool_call.py,sha256=twtq5-vZIeh1nShqm8iTCN9YFtY7LUIL-bFYuUfhF1o,219
639
645
  letta_client/types/tool_create.py,sha256=VSMd23Kkd77SPbLv2oRHEzXqR2Eexc0ervjxXYLHiqc,1522
640
646
  letta_client/types/tool_env_var_schema.py,sha256=TgH1mM9rkfY3ci__at0tZDJpn7G6G92tzussSoviZ7Y,681
641
647
  letta_client/types/tool_json_schema.py,sha256=EgCxNOxeoF4y_-BDLAp6z_qcxTc87w_uSuZdjZpn3Gk,754
642
648
  letta_client/types/tool_return.py,sha256=f-6zaRo8Bwl0i0Q0rHl8vKOfzymFHN_tVRoC2lMWksI,984
643
- letta_client/types/tool_return_message.py,sha256=MeCDV12wej629vX9opp7htj0fXE02Ord5fvp68X2vpU,1585
649
+ letta_client/types/tool_return_content.py,sha256=0CdaO0-oM9iwGQoDX0MmzcT9liNgOOuItvDUY0QNYWA,956
650
+ letta_client/types/tool_return_message.py,sha256=tC-YbPGSIlfezC0gcNv33qWBDyTAd41kCmLd8VSTFlk,1691
644
651
  letta_client/types/tool_return_message_status.py,sha256=FvFOMaG9mnmgnHi2UBQVQQMtHFabbWnQnHTxGUDgVl0,167
645
652
  letta_client/types/tool_return_status.py,sha256=TQjwYprn5F_jU9kIbrtiyk7Gw2SjcmFFZLjFbGDpBM0,160
646
653
  letta_client/types/tool_rule_schema.py,sha256=cuOWIHHG63nG-EVYz4qV9psQ8MH0ujmLGjHiPVV-3Kk,578
@@ -649,14 +656,13 @@ letta_client/types/tool_type.py,sha256=v6DX7qGAbg9t4HZTa9GBuzehNDCW3NkD6Zi3Z1teE
649
656
  letta_client/types/update_assistant_message.py,sha256=D-51o8uXk3X_2Fb2zJ4KoMeRxPiDWaCb3ugRfjBMCTI,878
650
657
  letta_client/types/update_assistant_message_content.py,sha256=rh3DP_SpxyBNnf0EDtoaKmPIPV-cXRSFju33NbHgeF0,247
651
658
  letta_client/types/update_reasoning_message.py,sha256=2ejxLRNfVDWBfGQG2-A1JNq-DujOfT7AKXCmyH_RApc,650
652
- letta_client/types/update_system_message.py,sha256=Xm3iO4VrJuPOeRfqZ4shkawfnvDy5svI5Zol6zKcC8k,860
653
- letta_client/types/update_system_message_content.py,sha256=nEGr31G02TK_O_zL0gscf0W0Koq9fVNbQCWGC9Utikg,244
654
- letta_client/types/update_user_message.py,sha256=G0EYtAWFCkrVeKsGfCJuwgPhcmpEbktdv9VctpQYw_0,848
659
+ letta_client/types/update_system_message.py,sha256=wm2yZUdhRQD5sQhqPiedWZAPECwYvWOvRy1lbALTfCI,779
660
+ letta_client/types/update_user_message.py,sha256=7K0eNqN-ab2v3rR1FW3LLq7IHk6_0C0lv3zhTtthzzs,860
655
661
  letta_client/types/update_user_message_content.py,sha256=dtDUkSRbdYlLBkwU-vqx_pqZHXZ4v5zIDsQupg7jkQk,242
656
662
  letta_client/types/usage_statistics.py,sha256=btEmMUxFVu7oQQtBCdQqFJ6XddgmR84799-AdlsHh0w,690
657
663
  letta_client/types/user.py,sha256=z_v1uqQ6HYwV_Pp7wDDqS6QWhslHgdUH-AldV-jnmKQ,1349
658
664
  letta_client/types/user_create.py,sha256=prQea3xb2-Cm64wv6Y84OfhWNWrA2P8SH5yhUxejzOI,616
659
- letta_client/types/user_message.py,sha256=CCH_oWqhGVglSVeGj63RsPWtnRBuER7yMsLcBrpAvKA,1258
665
+ letta_client/types/user_message.py,sha256=vmd-mZycV6aDMchFbNBPLKVq8XzeAoy2jgprTlI12LI,1392
660
666
  letta_client/types/user_message_content.py,sha256=JHOtxDEVm7FKDb6Ac2Hw7tAl5HCTDDLDylM6ulhHmIY,236
661
667
  letta_client/types/user_update.py,sha256=0Bl1OjO7bfmlpsGQ36dSh6DH1UB_wJOTNewS0wDLkP4,731
662
668
  letta_client/types/validation_error.py,sha256=ACDS7wL5nQbS8ymFhWljwbBJmbugNa8bs2O5xEZC3u4,680
@@ -670,6 +676,6 @@ letta_client/voice/__init__.py,sha256=ZrZEuXIukVGhsfM-i0dIFfqjeSOBMPeEgDva7Vvnip
670
676
  letta_client/voice/client.py,sha256=O38dLq__WTwLPlFTtvw1hgqaPYK9alds_ft12Bnp5fs,6475
671
677
  letta_client/voice/types/__init__.py,sha256=hBLJcrom99DkDxxsVRU2ni8kPx6SsCy8gtAJvNOz26w,199
672
678
  letta_client/voice/types/create_voice_chat_completions_request.py,sha256=K4__83rXRCshfdobyAmH-5fUDJQ_PeSQetTUeC4Abk0,381
673
- letta_client-0.1.70.dist-info/METADATA,sha256=ps10hxkh5MC80-Pu9sjm4US1CBQXL7OdOkzz_S2mRmA,4942
674
- letta_client-0.1.70.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
675
- letta_client-0.1.70.dist-info/RECORD,,
679
+ letta_client-0.1.71.dist-info/METADATA,sha256=SxO_ayt9myoili3O0E124on4Tz2-UG-8T0qgmZYgkwI,5041
680
+ letta_client-0.1.71.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
681
+ letta_client-0.1.71.dist-info/RECORD,,
@@ -1,6 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- import typing
4
- from .components_schemas_text_content import ComponentsSchemasTextContent
5
-
6
- SystemMessageContent = typing.Union[typing.List[ComponentsSchemasTextContent], str]
@@ -1,6 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- import typing
4
- from .components_schemas_text_content import ComponentsSchemasTextContent
5
-
6
- UpdateSystemMessageContent = typing.Union[typing.List[ComponentsSchemasTextContent], str]