letta-client 0.1.6__py3-none-any.whl → 0.1.10__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 → letta_client}/__init__.py +33 -27
- {letta → letta_client}/agents/__init__.py +40 -29
- {letta → letta_client}/agents/archival_memory/client.py +25 -25
- letta_client/agents/client.py +1328 -0
- {letta → letta_client}/agents/context/client.py +7 -7
- letta_client/agents/core_memory/client.py +1080 -0
- letta_client/agents/memory_variables/__init__.py +5 -0
- {letta/agents/memory → letta_client/agents/memory_variables}/client.py +43 -42
- letta_client/agents/memory_variables/types/__init__.py +5 -0
- letta/agents/types/agents_get_agent_variables_response.py → letta_client/agents/memory_variables/types/memory_variables_get_response.py +3 -3
- {letta → letta_client}/agents/messages/client.py +240 -25
- {letta → letta_client}/agents/messages/types/letta_streaming_response.py +21 -16
- {letta → letta_client}/agents/messages/types/messages_list_response_item.py +19 -14
- {letta → letta_client}/agents/recall_memory/client.py +7 -7
- {letta → letta_client}/agents/sources/client.py +7 -7
- letta_client/agents/templates/__init__.py +5 -0
- letta_client/agents/templates/client.py +578 -0
- letta_client/agents/templates/types/__init__.py +5 -0
- letta/agents/types/agents_migrate_response.py → letta_client/agents/templates/types/templates_migrate_response.py +3 -3
- {letta → letta_client}/agents/tools/client.py +19 -19
- letta_client/agents/types/__init__.py +33 -0
- letta_client/agents/types/agents_search_request_combinator.py +5 -0
- letta/agents/types/agents_search_deployed_agents_request_search_item.py → letta_client/agents/types/agents_search_request_search_item.py +17 -20
- letta/agents/types/agents_search_deployed_agents_request_search_item_name.py → letta_client/agents/types/agents_search_request_search_item_name.py +4 -6
- letta_client/agents/types/agents_search_request_search_item_name_operator.py +5 -0
- letta_client/agents/types/agents_search_request_search_item_order_by.py +22 -0
- letta_client/agents/types/agents_search_request_search_item_order_by_direction.py +5 -0
- letta_client/agents/types/agents_search_request_search_item_order_by_value.py +5 -0
- letta/agents/types/agents_search_deployed_agents_request_search_item_version.py → letta_client/agents/types/agents_search_request_search_item_version.py +2 -2
- {letta → letta_client}/blocks/client.py +39 -39
- {letta → letta_client}/client.py +10 -2
- {letta → letta_client}/core/__init__.py +4 -0
- {letta → letta_client}/core/client_wrapper.py +1 -1
- letta_client/core/unchecked_base_model.py +305 -0
- {letta → letta_client}/health/client.py +5 -5
- {letta → letta_client}/jobs/client.py +25 -25
- {letta → letta_client}/models/client.py +9 -9
- letta_client/providers/client.py +597 -0
- letta_client/runs/client.py +876 -0
- {letta → letta_client}/sources/client.py +49 -49
- {letta → letta_client}/sources/files/client.py +17 -17
- {letta → letta_client}/sources/passages/client.py +7 -7
- letta_client/tools/__init__.py +2 -0
- {letta → letta_client}/tools/client.py +101 -81
- {letta → letta_client}/types/__init__.py +8 -0
- {letta → letta_client}/types/action_model.py +2 -2
- {letta → letta_client}/types/action_parameters_model.py +2 -2
- {letta → letta_client}/types/action_response_model.py +2 -2
- {letta → letta_client}/types/agent_environment_variable.py +2 -7
- {letta → letta_client}/types/agent_state.py +5 -8
- letta_client/types/agent_type.py +7 -0
- {letta → letta_client}/types/app_auth_scheme.py +2 -2
- {letta → letta_client}/types/app_model.py +2 -2
- {letta → letta_client}/types/archival_memory_summary.py +2 -2
- {letta → letta_client}/types/assistant_file.py +2 -2
- {letta → letta_client}/types/assistant_message_input.py +2 -2
- {letta → letta_client}/types/assistant_message_output.py +2 -2
- {letta → letta_client}/types/auth_request.py +2 -2
- {letta → letta_client}/types/auth_response.py +2 -2
- {letta → letta_client}/types/auth_scheme_field.py +2 -2
- {letta → letta_client}/types/block.py +2 -7
- {letta → letta_client}/types/block_update.py +2 -2
- {letta → letta_client}/types/chat_completion_request.py +2 -2
- {letta → letta_client}/types/chat_completion_response.py +2 -2
- {letta → letta_client}/types/child_tool_rule.py +2 -2
- {letta → letta_client}/types/choice.py +2 -2
- {letta → letta_client}/types/conditional_tool_rule.py +2 -2
- {letta → letta_client}/types/conflict_error_body.py +2 -2
- {letta → letta_client}/types/context_window_overview.py +2 -2
- {letta → letta_client}/types/create_assistant_file_request.py +2 -2
- {letta → letta_client}/types/create_assistant_request.py +2 -2
- {letta → letta_client}/types/create_block.py +2 -2
- {letta → letta_client}/types/delete_assistant_file_response.py +2 -2
- {letta → letta_client}/types/delete_assistant_response.py +2 -2
- {letta → letta_client}/types/e_2_b_sandbox_config.py +2 -2
- {letta → letta_client}/types/embedding_config.py +2 -2
- {letta → letta_client}/types/file_metadata.py +2 -7
- {letta → letta_client}/types/function_call_input.py +2 -2
- {letta → letta_client}/types/function_call_output.py +2 -2
- {letta → letta_client}/types/function_schema.py +2 -2
- {letta → letta_client}/types/health.py +2 -2
- {letta → letta_client}/types/http_validation_error.py +2 -2
- {letta → letta_client}/types/init_tool_rule.py +2 -2
- {letta → letta_client}/types/internal_server_error_body.py +2 -2
- {letta → letta_client}/types/job.py +7 -6
- letta_client/types/job_type.py +5 -0
- {letta → letta_client}/types/letta_request.py +7 -2
- {letta → letta_client}/types/letta_response.py +2 -2
- {letta → letta_client}/types/letta_response_messages_item.py +19 -14
- {letta → letta_client}/types/letta_schemas_letta_message_tool_call.py +2 -2
- {letta → letta_client}/types/letta_schemas_message_message.py +2 -7
- {letta → letta_client}/types/letta_schemas_openai_chat_completion_request_tool.py +2 -2
- {letta → letta_client}/types/letta_schemas_openai_chat_completion_request_tool_call.py +2 -2
- {letta → letta_client}/types/letta_schemas_openai_chat_completion_request_tool_call_function.py +2 -2
- {letta → letta_client}/types/letta_schemas_openai_chat_completion_response_message.py +2 -2
- {letta → letta_client}/types/letta_schemas_openai_chat_completion_response_tool_call.py +2 -2
- {letta → letta_client}/types/letta_schemas_openai_chat_completions_tool_call_function.py +2 -2
- {letta → letta_client}/types/letta_schemas_openai_chat_completions_tool_call_input.py +2 -2
- {letta → letta_client}/types/letta_schemas_openai_chat_completions_tool_call_output.py +2 -2
- {letta → letta_client}/types/letta_schemas_tool_tool.py +9 -8
- {letta → letta_client}/types/letta_usage_statistics.py +2 -2
- {letta → letta_client}/types/llm_config.py +2 -2
- {letta → letta_client}/types/local_sandbox_config.py +2 -2
- {letta → letta_client}/types/log_prob_token.py +2 -2
- {letta → letta_client}/types/memory.py +2 -2
- {letta → letta_client}/types/message_content_log_prob.py +2 -2
- {letta → letta_client}/types/message_create.py +2 -2
- {letta → letta_client}/types/not_found_error_body.py +2 -2
- {letta → letta_client}/types/open_ai_assistant.py +2 -2
- {letta → letta_client}/types/organization.py +2 -2
- {letta → letta_client}/types/organization_create.py +2 -2
- {letta → letta_client}/types/passage.py +2 -7
- letta_client/types/provider.py +38 -0
- {letta → letta_client}/types/reasoning_message.py +2 -2
- {letta → letta_client}/types/recall_memory_summary.py +2 -2
- {letta → letta_client}/types/response_format.py +2 -2
- letta_client/types/run.py +77 -0
- {letta → letta_client}/types/sandbox_config.py +2 -7
- {letta → letta_client}/types/sandbox_config_create.py +2 -2
- {letta → letta_client}/types/sandbox_config_update.py +2 -2
- {letta → letta_client}/types/sandbox_environment_variable.py +2 -7
- {letta → letta_client}/types/sandbox_environment_variable_create.py +2 -2
- {letta → letta_client}/types/sandbox_environment_variable_update.py +2 -2
- {letta → letta_client}/types/source.py +2 -7
- {letta → letta_client}/types/system_message_input.py +2 -2
- {letta → letta_client}/types/system_message_output.py +2 -2
- {letta → letta_client}/types/terminal_tool_rule.py +2 -2
- {letta → letta_client}/types/tool_call_delta.py +2 -2
- {letta → letta_client}/types/tool_call_function_output.py +2 -2
- {letta → letta_client}/types/tool_call_message.py +2 -2
- {letta → letta_client}/types/tool_create.py +2 -2
- {letta → letta_client}/types/tool_function_choice.py +2 -2
- {letta → letta_client}/types/tool_input.py +2 -2
- {letta → letta_client}/types/tool_message.py +2 -2
- {letta → letta_client}/types/tool_return_message.py +2 -2
- letta_client/types/tool_type.py +5 -0
- {letta → letta_client}/types/usage_statistics.py +2 -2
- {letta → letta_client}/types/user.py +2 -7
- {letta → letta_client}/types/user_create.py +2 -7
- {letta → letta_client}/types/user_message_input.py +2 -2
- {letta → letta_client}/types/user_message_output.py +2 -2
- {letta → letta_client}/types/user_update.py +2 -7
- {letta → letta_client}/types/validation_error.py +2 -2
- {letta_client-0.1.6.dist-info → letta_client-0.1.10.dist-info}/METADATA +7 -7
- letta_client-0.1.10.dist-info/RECORD +204 -0
- letta/agents/client.py +0 -2644
- letta/agents/memory/__init__.py +0 -5
- letta/agents/memory/messages/client.py +0 -147
- letta/agents/memory_blocks/client.py +0 -364
- letta/agents/types/__init__.py +0 -47
- letta/agents/types/agents_search_deployed_agents_request_combinator.py +0 -5
- letta/agents/types/agents_search_deployed_agents_request_search_item_name_operator.py +0 -7
- letta/agents/types/agents_search_deployed_agents_request_search_item_order_by.py +0 -26
- letta/agents/types/agents_search_deployed_agents_request_search_item_order_by_direction.py +0 -5
- letta/agents/types/agents_search_deployed_agents_request_search_item_order_by_value.py +0 -7
- letta/types/agent_type.py +0 -8
- letta_client-0.1.6.dist-info/RECORD +0 -193
- {letta → letta_client}/agents/archival_memory/__init__.py +0 -0
- {letta → letta_client}/agents/context/__init__.py +0 -0
- {letta/agents/memory/messages → letta_client/agents/core_memory}/__init__.py +0 -0
- {letta → letta_client}/agents/messages/__init__.py +0 -0
- {letta → letta_client}/agents/messages/types/__init__.py +0 -0
- {letta → letta_client}/agents/messages/types/messages_list_response.py +0 -0
- {letta/agents/memory_blocks → letta_client/agents/recall_memory}/__init__.py +0 -0
- {letta/agents/recall_memory → letta_client/agents/sources}/__init__.py +0 -0
- {letta/agents/sources → letta_client/agents/tools}/__init__.py +0 -0
- {letta → letta_client}/agents/types/create_agent_request_tool_rules_item.py +0 -0
- {letta → letta_client}/agents/types/update_agent_tool_rules_item.py +0 -0
- {letta/agents/tools → letta_client/blocks}/__init__.py +0 -0
- {letta → letta_client}/core/api_error.py +0 -0
- {letta → letta_client}/core/datetime_utils.py +0 -0
- {letta → letta_client}/core/file.py +0 -0
- {letta → letta_client}/core/http_client.py +0 -0
- {letta → letta_client}/core/jsonable_encoder.py +0 -0
- {letta → letta_client}/core/pydantic_utilities.py +0 -0
- {letta → letta_client}/core/query_encoder.py +0 -0
- {letta → letta_client}/core/remove_none_from_dict.py +0 -0
- {letta → letta_client}/core/request_options.py +0 -0
- {letta → letta_client}/core/serialization.py +0 -0
- {letta → letta_client}/environment.py +0 -0
- {letta → letta_client}/errors/__init__.py +0 -0
- {letta → letta_client}/errors/conflict_error.py +0 -0
- {letta → letta_client}/errors/internal_server_error.py +0 -0
- {letta → letta_client}/errors/not_found_error.py +0 -0
- {letta → letta_client}/errors/unprocessable_entity_error.py +0 -0
- {letta/blocks → letta_client/health}/__init__.py +0 -0
- {letta/health → letta_client/jobs}/__init__.py +0 -0
- {letta/jobs → letta_client/models}/__init__.py +0 -0
- {letta/models → letta_client/providers}/__init__.py +0 -0
- {letta → letta_client}/py.typed +0 -0
- {letta/sources/files → letta_client/runs}/__init__.py +0 -0
- {letta → letta_client}/sources/__init__.py +0 -0
- {letta/sources/passages → letta_client/sources/files}/__init__.py +0 -0
- {letta/tools → letta_client/sources/passages}/__init__.py +0 -0
- {letta → letta_client}/types/agent_state_tool_rules_item.py +0 -0
- {letta → letta_client}/types/app_auth_scheme_auth_mode.py +0 -0
- {letta → letta_client}/types/chat_completion_request_function_call.py +0 -0
- {letta → letta_client}/types/chat_completion_request_messages_item.py +0 -0
- {letta → letta_client}/types/chat_completion_request_stop.py +0 -0
- {letta → letta_client}/types/chat_completion_request_tool_choice.py +0 -0
- {letta → letta_client}/types/embedding_config_embedding_endpoint_type.py +0 -0
- {letta → letta_client}/types/job_status.py +0 -0
- {letta → letta_client}/types/llm_config_model_endpoint_type.py +0 -0
- {letta → letta_client}/types/message_create_role.py +0 -0
- {letta → letta_client}/types/message_role.py +0 -0
- {letta → letta_client}/types/not_found_error_body_message.py +0 -0
- {letta → letta_client}/types/sandbox_config_create_config.py +0 -0
- {letta → letta_client}/types/sandbox_config_update_config.py +0 -0
- {letta → letta_client}/types/sandbox_type.py +0 -0
- {letta → letta_client}/types/tool_call_message_tool_call.py +0 -0
- {letta → letta_client}/types/tool_return_message_status.py +0 -0
- {letta → letta_client}/types/tool_rule_type.py +0 -0
- {letta → letta_client}/types/user_message_input_content.py +0 -0
- {letta → letta_client}/types/validation_error_loc_item.py +0 -0
- {letta → letta_client}/version.py +0 -0
- {letta_client-0.1.6.dist-info → letta_client-0.1.10.dist-info}/WHEEL +0 -0
|
@@ -5,7 +5,7 @@ from ...core.client_wrapper import SyncClientWrapper
|
|
|
5
5
|
from ...core.request_options import RequestOptions
|
|
6
6
|
from .types.messages_list_response import MessagesListResponse
|
|
7
7
|
from ...core.jsonable_encoder import jsonable_encoder
|
|
8
|
-
from ...core.
|
|
8
|
+
from ...core.unchecked_base_model import construct_type
|
|
9
9
|
from ...errors.unprocessable_entity_error import UnprocessableEntityError
|
|
10
10
|
from ...types.http_validation_error import HttpValidationError
|
|
11
11
|
from json.decoder import JSONDecodeError
|
|
@@ -21,6 +21,7 @@ from ...types.letta_schemas_message_message import LettaSchemasMessageMessage
|
|
|
21
21
|
from .types.letta_streaming_response import LettaStreamingResponse
|
|
22
22
|
import httpx_sse
|
|
23
23
|
import json
|
|
24
|
+
from ...types.run import Run
|
|
24
25
|
from ...core.client_wrapper import AsyncClientWrapper
|
|
25
26
|
|
|
26
27
|
# this is used as the default value for optional parameters
|
|
@@ -74,7 +75,7 @@ class MessagesClient:
|
|
|
74
75
|
|
|
75
76
|
Examples
|
|
76
77
|
--------
|
|
77
|
-
from
|
|
78
|
+
from letta_client import Letta
|
|
78
79
|
|
|
79
80
|
client = Letta(
|
|
80
81
|
token="YOUR_TOKEN",
|
|
@@ -99,7 +100,7 @@ class MessagesClient:
|
|
|
99
100
|
if 200 <= _response.status_code < 300:
|
|
100
101
|
return typing.cast(
|
|
101
102
|
MessagesListResponse,
|
|
102
|
-
|
|
103
|
+
construct_type(
|
|
103
104
|
type_=MessagesListResponse, # type: ignore
|
|
104
105
|
object_=_response.json(),
|
|
105
106
|
),
|
|
@@ -108,7 +109,7 @@ class MessagesClient:
|
|
|
108
109
|
raise UnprocessableEntityError(
|
|
109
110
|
typing.cast(
|
|
110
111
|
HttpValidationError,
|
|
111
|
-
|
|
112
|
+
construct_type(
|
|
112
113
|
type_=HttpValidationError, # type: ignore
|
|
113
114
|
object_=_response.json(),
|
|
114
115
|
),
|
|
@@ -124,6 +125,7 @@ class MessagesClient:
|
|
|
124
125
|
agent_id: str,
|
|
125
126
|
*,
|
|
126
127
|
messages: typing.Sequence[MessageCreate],
|
|
128
|
+
use_assistant_message: typing.Optional[bool] = OMIT,
|
|
127
129
|
assistant_message_tool_name: typing.Optional[str] = OMIT,
|
|
128
130
|
assistant_message_tool_kwarg: typing.Optional[str] = OMIT,
|
|
129
131
|
request_options: typing.Optional[RequestOptions] = None,
|
|
@@ -139,6 +141,9 @@ class MessagesClient:
|
|
|
139
141
|
messages : typing.Sequence[MessageCreate]
|
|
140
142
|
The messages to be sent to the agent.
|
|
141
143
|
|
|
144
|
+
use_assistant_message : typing.Optional[bool]
|
|
145
|
+
Whether the server should parse specific tool call arguments (default `send_message`) as `AssistantMessage` objects.
|
|
146
|
+
|
|
142
147
|
assistant_message_tool_name : typing.Optional[str]
|
|
143
148
|
The name of the designated message tool.
|
|
144
149
|
|
|
@@ -155,7 +160,7 @@ class MessagesClient:
|
|
|
155
160
|
|
|
156
161
|
Examples
|
|
157
162
|
--------
|
|
158
|
-
from
|
|
163
|
+
from letta_client import Letta, MessageCreate
|
|
159
164
|
|
|
160
165
|
client = Letta(
|
|
161
166
|
token="YOUR_TOKEN",
|
|
@@ -177,6 +182,7 @@ class MessagesClient:
|
|
|
177
182
|
"messages": convert_and_respect_annotation_metadata(
|
|
178
183
|
object_=messages, annotation=typing.Sequence[MessageCreate], direction="write"
|
|
179
184
|
),
|
|
185
|
+
"use_assistant_message": use_assistant_message,
|
|
180
186
|
"assistant_message_tool_name": assistant_message_tool_name,
|
|
181
187
|
"assistant_message_tool_kwarg": assistant_message_tool_kwarg,
|
|
182
188
|
},
|
|
@@ -187,7 +193,7 @@ class MessagesClient:
|
|
|
187
193
|
if 200 <= _response.status_code < 300:
|
|
188
194
|
return typing.cast(
|
|
189
195
|
LettaResponse,
|
|
190
|
-
|
|
196
|
+
construct_type(
|
|
191
197
|
type_=LettaResponse, # type: ignore
|
|
192
198
|
object_=_response.json(),
|
|
193
199
|
),
|
|
@@ -196,7 +202,7 @@ class MessagesClient:
|
|
|
196
202
|
raise UnprocessableEntityError(
|
|
197
203
|
typing.cast(
|
|
198
204
|
HttpValidationError,
|
|
199
|
-
|
|
205
|
+
construct_type(
|
|
200
206
|
type_=HttpValidationError, # type: ignore
|
|
201
207
|
object_=_response.json(),
|
|
202
208
|
),
|
|
@@ -253,7 +259,7 @@ class MessagesClient:
|
|
|
253
259
|
|
|
254
260
|
Examples
|
|
255
261
|
--------
|
|
256
|
-
from
|
|
262
|
+
from letta_client import Letta
|
|
257
263
|
|
|
258
264
|
client = Letta(
|
|
259
265
|
token="YOUR_TOKEN",
|
|
@@ -287,7 +293,7 @@ class MessagesClient:
|
|
|
287
293
|
if 200 <= _response.status_code < 300:
|
|
288
294
|
return typing.cast(
|
|
289
295
|
LettaSchemasMessageMessage,
|
|
290
|
-
|
|
296
|
+
construct_type(
|
|
291
297
|
type_=LettaSchemasMessageMessage, # type: ignore
|
|
292
298
|
object_=_response.json(),
|
|
293
299
|
),
|
|
@@ -296,7 +302,7 @@ class MessagesClient:
|
|
|
296
302
|
raise UnprocessableEntityError(
|
|
297
303
|
typing.cast(
|
|
298
304
|
HttpValidationError,
|
|
299
|
-
|
|
305
|
+
construct_type(
|
|
300
306
|
type_=HttpValidationError, # type: ignore
|
|
301
307
|
object_=_response.json(),
|
|
302
308
|
),
|
|
@@ -312,6 +318,7 @@ class MessagesClient:
|
|
|
312
318
|
agent_id: str,
|
|
313
319
|
*,
|
|
314
320
|
messages: typing.Sequence[MessageCreate],
|
|
321
|
+
use_assistant_message: typing.Optional[bool] = OMIT,
|
|
315
322
|
assistant_message_tool_name: typing.Optional[str] = OMIT,
|
|
316
323
|
assistant_message_tool_kwarg: typing.Optional[str] = OMIT,
|
|
317
324
|
stream_tokens: typing.Optional[bool] = OMIT,
|
|
@@ -329,6 +336,9 @@ class MessagesClient:
|
|
|
329
336
|
messages : typing.Sequence[MessageCreate]
|
|
330
337
|
The messages to be sent to the agent.
|
|
331
338
|
|
|
339
|
+
use_assistant_message : typing.Optional[bool]
|
|
340
|
+
Whether the server should parse specific tool call arguments (default `send_message`) as `AssistantMessage` objects.
|
|
341
|
+
|
|
332
342
|
assistant_message_tool_name : typing.Optional[str]
|
|
333
343
|
The name of the designated message tool.
|
|
334
344
|
|
|
@@ -348,7 +358,7 @@ class MessagesClient:
|
|
|
348
358
|
|
|
349
359
|
Examples
|
|
350
360
|
--------
|
|
351
|
-
from
|
|
361
|
+
from letta_client import Letta, MessageCreate
|
|
352
362
|
|
|
353
363
|
client = Letta(
|
|
354
364
|
token="YOUR_TOKEN",
|
|
@@ -372,6 +382,7 @@ class MessagesClient:
|
|
|
372
382
|
"messages": convert_and_respect_annotation_metadata(
|
|
373
383
|
object_=messages, annotation=typing.Sequence[MessageCreate], direction="write"
|
|
374
384
|
),
|
|
385
|
+
"use_assistant_message": use_assistant_message,
|
|
375
386
|
"assistant_message_tool_name": assistant_message_tool_name,
|
|
376
387
|
"assistant_message_tool_kwarg": assistant_message_tool_kwarg,
|
|
377
388
|
"stream_tokens": stream_tokens,
|
|
@@ -389,7 +400,7 @@ class MessagesClient:
|
|
|
389
400
|
try:
|
|
390
401
|
yield typing.cast(
|
|
391
402
|
LettaStreamingResponse,
|
|
392
|
-
|
|
403
|
+
construct_type(
|
|
393
404
|
type_=LettaStreamingResponse, # type: ignore
|
|
394
405
|
object_=json.loads(_sse.data),
|
|
395
406
|
),
|
|
@@ -402,7 +413,7 @@ class MessagesClient:
|
|
|
402
413
|
raise UnprocessableEntityError(
|
|
403
414
|
typing.cast(
|
|
404
415
|
HttpValidationError,
|
|
405
|
-
|
|
416
|
+
construct_type(
|
|
406
417
|
type_=HttpValidationError, # type: ignore
|
|
407
418
|
object_=_response.json(),
|
|
408
419
|
),
|
|
@@ -413,6 +424,99 @@ class MessagesClient:
|
|
|
413
424
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
414
425
|
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
415
426
|
|
|
427
|
+
def create_async(
|
|
428
|
+
self,
|
|
429
|
+
agent_id: str,
|
|
430
|
+
*,
|
|
431
|
+
messages: typing.Sequence[MessageCreate],
|
|
432
|
+
use_assistant_message: typing.Optional[bool] = OMIT,
|
|
433
|
+
assistant_message_tool_name: typing.Optional[str] = OMIT,
|
|
434
|
+
assistant_message_tool_kwarg: typing.Optional[str] = OMIT,
|
|
435
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
436
|
+
) -> Run:
|
|
437
|
+
"""
|
|
438
|
+
Asynchronously process a user message and return a job ID.
|
|
439
|
+
The actual processing happens in the background, and the status can be checked using the job ID.
|
|
440
|
+
|
|
441
|
+
Parameters
|
|
442
|
+
----------
|
|
443
|
+
agent_id : str
|
|
444
|
+
|
|
445
|
+
messages : typing.Sequence[MessageCreate]
|
|
446
|
+
The messages to be sent to the agent.
|
|
447
|
+
|
|
448
|
+
use_assistant_message : typing.Optional[bool]
|
|
449
|
+
Whether the server should parse specific tool call arguments (default `send_message`) as `AssistantMessage` objects.
|
|
450
|
+
|
|
451
|
+
assistant_message_tool_name : typing.Optional[str]
|
|
452
|
+
The name of the designated message tool.
|
|
453
|
+
|
|
454
|
+
assistant_message_tool_kwarg : typing.Optional[str]
|
|
455
|
+
The name of the message argument in the designated message tool.
|
|
456
|
+
|
|
457
|
+
request_options : typing.Optional[RequestOptions]
|
|
458
|
+
Request-specific configuration.
|
|
459
|
+
|
|
460
|
+
Returns
|
|
461
|
+
-------
|
|
462
|
+
Run
|
|
463
|
+
Successful Response
|
|
464
|
+
|
|
465
|
+
Examples
|
|
466
|
+
--------
|
|
467
|
+
from letta_client import Letta, MessageCreate
|
|
468
|
+
|
|
469
|
+
client = Letta(
|
|
470
|
+
token="YOUR_TOKEN",
|
|
471
|
+
)
|
|
472
|
+
client.agents.messages.create_async(
|
|
473
|
+
agent_id="agent_id",
|
|
474
|
+
messages=[
|
|
475
|
+
MessageCreate(
|
|
476
|
+
role="user",
|
|
477
|
+
text="text",
|
|
478
|
+
)
|
|
479
|
+
],
|
|
480
|
+
)
|
|
481
|
+
"""
|
|
482
|
+
_response = self._client_wrapper.httpx_client.request(
|
|
483
|
+
f"v1/agents/{jsonable_encoder(agent_id)}/messages/async",
|
|
484
|
+
method="POST",
|
|
485
|
+
json={
|
|
486
|
+
"messages": convert_and_respect_annotation_metadata(
|
|
487
|
+
object_=messages, annotation=typing.Sequence[MessageCreate], direction="write"
|
|
488
|
+
),
|
|
489
|
+
"use_assistant_message": use_assistant_message,
|
|
490
|
+
"assistant_message_tool_name": assistant_message_tool_name,
|
|
491
|
+
"assistant_message_tool_kwarg": assistant_message_tool_kwarg,
|
|
492
|
+
},
|
|
493
|
+
request_options=request_options,
|
|
494
|
+
omit=OMIT,
|
|
495
|
+
)
|
|
496
|
+
try:
|
|
497
|
+
if 200 <= _response.status_code < 300:
|
|
498
|
+
return typing.cast(
|
|
499
|
+
Run,
|
|
500
|
+
construct_type(
|
|
501
|
+
type_=Run, # type: ignore
|
|
502
|
+
object_=_response.json(),
|
|
503
|
+
),
|
|
504
|
+
)
|
|
505
|
+
if _response.status_code == 422:
|
|
506
|
+
raise UnprocessableEntityError(
|
|
507
|
+
typing.cast(
|
|
508
|
+
HttpValidationError,
|
|
509
|
+
construct_type(
|
|
510
|
+
type_=HttpValidationError, # type: ignore
|
|
511
|
+
object_=_response.json(),
|
|
512
|
+
),
|
|
513
|
+
)
|
|
514
|
+
)
|
|
515
|
+
_response_json = _response.json()
|
|
516
|
+
except JSONDecodeError:
|
|
517
|
+
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
518
|
+
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
519
|
+
|
|
416
520
|
|
|
417
521
|
class AsyncMessagesClient:
|
|
418
522
|
def __init__(self, *, client_wrapper: AsyncClientWrapper):
|
|
@@ -463,7 +567,7 @@ class AsyncMessagesClient:
|
|
|
463
567
|
--------
|
|
464
568
|
import asyncio
|
|
465
569
|
|
|
466
|
-
from
|
|
570
|
+
from letta_client import AsyncLetta
|
|
467
571
|
|
|
468
572
|
client = AsyncLetta(
|
|
469
573
|
token="YOUR_TOKEN",
|
|
@@ -494,7 +598,7 @@ class AsyncMessagesClient:
|
|
|
494
598
|
if 200 <= _response.status_code < 300:
|
|
495
599
|
return typing.cast(
|
|
496
600
|
MessagesListResponse,
|
|
497
|
-
|
|
601
|
+
construct_type(
|
|
498
602
|
type_=MessagesListResponse, # type: ignore
|
|
499
603
|
object_=_response.json(),
|
|
500
604
|
),
|
|
@@ -503,7 +607,7 @@ class AsyncMessagesClient:
|
|
|
503
607
|
raise UnprocessableEntityError(
|
|
504
608
|
typing.cast(
|
|
505
609
|
HttpValidationError,
|
|
506
|
-
|
|
610
|
+
construct_type(
|
|
507
611
|
type_=HttpValidationError, # type: ignore
|
|
508
612
|
object_=_response.json(),
|
|
509
613
|
),
|
|
@@ -519,6 +623,7 @@ class AsyncMessagesClient:
|
|
|
519
623
|
agent_id: str,
|
|
520
624
|
*,
|
|
521
625
|
messages: typing.Sequence[MessageCreate],
|
|
626
|
+
use_assistant_message: typing.Optional[bool] = OMIT,
|
|
522
627
|
assistant_message_tool_name: typing.Optional[str] = OMIT,
|
|
523
628
|
assistant_message_tool_kwarg: typing.Optional[str] = OMIT,
|
|
524
629
|
request_options: typing.Optional[RequestOptions] = None,
|
|
@@ -534,6 +639,9 @@ class AsyncMessagesClient:
|
|
|
534
639
|
messages : typing.Sequence[MessageCreate]
|
|
535
640
|
The messages to be sent to the agent.
|
|
536
641
|
|
|
642
|
+
use_assistant_message : typing.Optional[bool]
|
|
643
|
+
Whether the server should parse specific tool call arguments (default `send_message`) as `AssistantMessage` objects.
|
|
644
|
+
|
|
537
645
|
assistant_message_tool_name : typing.Optional[str]
|
|
538
646
|
The name of the designated message tool.
|
|
539
647
|
|
|
@@ -552,7 +660,7 @@ class AsyncMessagesClient:
|
|
|
552
660
|
--------
|
|
553
661
|
import asyncio
|
|
554
662
|
|
|
555
|
-
from
|
|
663
|
+
from letta_client import AsyncLetta, MessageCreate
|
|
556
664
|
|
|
557
665
|
client = AsyncLetta(
|
|
558
666
|
token="YOUR_TOKEN",
|
|
@@ -580,6 +688,7 @@ class AsyncMessagesClient:
|
|
|
580
688
|
"messages": convert_and_respect_annotation_metadata(
|
|
581
689
|
object_=messages, annotation=typing.Sequence[MessageCreate], direction="write"
|
|
582
690
|
),
|
|
691
|
+
"use_assistant_message": use_assistant_message,
|
|
583
692
|
"assistant_message_tool_name": assistant_message_tool_name,
|
|
584
693
|
"assistant_message_tool_kwarg": assistant_message_tool_kwarg,
|
|
585
694
|
},
|
|
@@ -590,7 +699,7 @@ class AsyncMessagesClient:
|
|
|
590
699
|
if 200 <= _response.status_code < 300:
|
|
591
700
|
return typing.cast(
|
|
592
701
|
LettaResponse,
|
|
593
|
-
|
|
702
|
+
construct_type(
|
|
594
703
|
type_=LettaResponse, # type: ignore
|
|
595
704
|
object_=_response.json(),
|
|
596
705
|
),
|
|
@@ -599,7 +708,7 @@ class AsyncMessagesClient:
|
|
|
599
708
|
raise UnprocessableEntityError(
|
|
600
709
|
typing.cast(
|
|
601
710
|
HttpValidationError,
|
|
602
|
-
|
|
711
|
+
construct_type(
|
|
603
712
|
type_=HttpValidationError, # type: ignore
|
|
604
713
|
object_=_response.json(),
|
|
605
714
|
),
|
|
@@ -658,7 +767,7 @@ class AsyncMessagesClient:
|
|
|
658
767
|
--------
|
|
659
768
|
import asyncio
|
|
660
769
|
|
|
661
|
-
from
|
|
770
|
+
from letta_client import AsyncLetta
|
|
662
771
|
|
|
663
772
|
client = AsyncLetta(
|
|
664
773
|
token="YOUR_TOKEN",
|
|
@@ -698,7 +807,7 @@ class AsyncMessagesClient:
|
|
|
698
807
|
if 200 <= _response.status_code < 300:
|
|
699
808
|
return typing.cast(
|
|
700
809
|
LettaSchemasMessageMessage,
|
|
701
|
-
|
|
810
|
+
construct_type(
|
|
702
811
|
type_=LettaSchemasMessageMessage, # type: ignore
|
|
703
812
|
object_=_response.json(),
|
|
704
813
|
),
|
|
@@ -707,7 +816,7 @@ class AsyncMessagesClient:
|
|
|
707
816
|
raise UnprocessableEntityError(
|
|
708
817
|
typing.cast(
|
|
709
818
|
HttpValidationError,
|
|
710
|
-
|
|
819
|
+
construct_type(
|
|
711
820
|
type_=HttpValidationError, # type: ignore
|
|
712
821
|
object_=_response.json(),
|
|
713
822
|
),
|
|
@@ -723,6 +832,7 @@ class AsyncMessagesClient:
|
|
|
723
832
|
agent_id: str,
|
|
724
833
|
*,
|
|
725
834
|
messages: typing.Sequence[MessageCreate],
|
|
835
|
+
use_assistant_message: typing.Optional[bool] = OMIT,
|
|
726
836
|
assistant_message_tool_name: typing.Optional[str] = OMIT,
|
|
727
837
|
assistant_message_tool_kwarg: typing.Optional[str] = OMIT,
|
|
728
838
|
stream_tokens: typing.Optional[bool] = OMIT,
|
|
@@ -740,6 +850,9 @@ class AsyncMessagesClient:
|
|
|
740
850
|
messages : typing.Sequence[MessageCreate]
|
|
741
851
|
The messages to be sent to the agent.
|
|
742
852
|
|
|
853
|
+
use_assistant_message : typing.Optional[bool]
|
|
854
|
+
Whether the server should parse specific tool call arguments (default `send_message`) as `AssistantMessage` objects.
|
|
855
|
+
|
|
743
856
|
assistant_message_tool_name : typing.Optional[str]
|
|
744
857
|
The name of the designated message tool.
|
|
745
858
|
|
|
@@ -761,7 +874,7 @@ class AsyncMessagesClient:
|
|
|
761
874
|
--------
|
|
762
875
|
import asyncio
|
|
763
876
|
|
|
764
|
-
from
|
|
877
|
+
from letta_client import AsyncLetta, MessageCreate
|
|
765
878
|
|
|
766
879
|
client = AsyncLetta(
|
|
767
880
|
token="YOUR_TOKEN",
|
|
@@ -791,6 +904,7 @@ class AsyncMessagesClient:
|
|
|
791
904
|
"messages": convert_and_respect_annotation_metadata(
|
|
792
905
|
object_=messages, annotation=typing.Sequence[MessageCreate], direction="write"
|
|
793
906
|
),
|
|
907
|
+
"use_assistant_message": use_assistant_message,
|
|
794
908
|
"assistant_message_tool_name": assistant_message_tool_name,
|
|
795
909
|
"assistant_message_tool_kwarg": assistant_message_tool_kwarg,
|
|
796
910
|
"stream_tokens": stream_tokens,
|
|
@@ -808,7 +922,7 @@ class AsyncMessagesClient:
|
|
|
808
922
|
try:
|
|
809
923
|
yield typing.cast(
|
|
810
924
|
LettaStreamingResponse,
|
|
811
|
-
|
|
925
|
+
construct_type(
|
|
812
926
|
type_=LettaStreamingResponse, # type: ignore
|
|
813
927
|
object_=json.loads(_sse.data),
|
|
814
928
|
),
|
|
@@ -821,7 +935,7 @@ class AsyncMessagesClient:
|
|
|
821
935
|
raise UnprocessableEntityError(
|
|
822
936
|
typing.cast(
|
|
823
937
|
HttpValidationError,
|
|
824
|
-
|
|
938
|
+
construct_type(
|
|
825
939
|
type_=HttpValidationError, # type: ignore
|
|
826
940
|
object_=_response.json(),
|
|
827
941
|
),
|
|
@@ -831,3 +945,104 @@ class AsyncMessagesClient:
|
|
|
831
945
|
except JSONDecodeError:
|
|
832
946
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
833
947
|
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
948
|
+
|
|
949
|
+
async def create_async(
|
|
950
|
+
self,
|
|
951
|
+
agent_id: str,
|
|
952
|
+
*,
|
|
953
|
+
messages: typing.Sequence[MessageCreate],
|
|
954
|
+
use_assistant_message: typing.Optional[bool] = OMIT,
|
|
955
|
+
assistant_message_tool_name: typing.Optional[str] = OMIT,
|
|
956
|
+
assistant_message_tool_kwarg: typing.Optional[str] = OMIT,
|
|
957
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
958
|
+
) -> Run:
|
|
959
|
+
"""
|
|
960
|
+
Asynchronously process a user message and return a job ID.
|
|
961
|
+
The actual processing happens in the background, and the status can be checked using the job ID.
|
|
962
|
+
|
|
963
|
+
Parameters
|
|
964
|
+
----------
|
|
965
|
+
agent_id : str
|
|
966
|
+
|
|
967
|
+
messages : typing.Sequence[MessageCreate]
|
|
968
|
+
The messages to be sent to the agent.
|
|
969
|
+
|
|
970
|
+
use_assistant_message : typing.Optional[bool]
|
|
971
|
+
Whether the server should parse specific tool call arguments (default `send_message`) as `AssistantMessage` objects.
|
|
972
|
+
|
|
973
|
+
assistant_message_tool_name : typing.Optional[str]
|
|
974
|
+
The name of the designated message tool.
|
|
975
|
+
|
|
976
|
+
assistant_message_tool_kwarg : typing.Optional[str]
|
|
977
|
+
The name of the message argument in the designated message tool.
|
|
978
|
+
|
|
979
|
+
request_options : typing.Optional[RequestOptions]
|
|
980
|
+
Request-specific configuration.
|
|
981
|
+
|
|
982
|
+
Returns
|
|
983
|
+
-------
|
|
984
|
+
Run
|
|
985
|
+
Successful Response
|
|
986
|
+
|
|
987
|
+
Examples
|
|
988
|
+
--------
|
|
989
|
+
import asyncio
|
|
990
|
+
|
|
991
|
+
from letta_client import AsyncLetta, MessageCreate
|
|
992
|
+
|
|
993
|
+
client = AsyncLetta(
|
|
994
|
+
token="YOUR_TOKEN",
|
|
995
|
+
)
|
|
996
|
+
|
|
997
|
+
|
|
998
|
+
async def main() -> None:
|
|
999
|
+
await client.agents.messages.create_async(
|
|
1000
|
+
agent_id="agent_id",
|
|
1001
|
+
messages=[
|
|
1002
|
+
MessageCreate(
|
|
1003
|
+
role="user",
|
|
1004
|
+
text="text",
|
|
1005
|
+
)
|
|
1006
|
+
],
|
|
1007
|
+
)
|
|
1008
|
+
|
|
1009
|
+
|
|
1010
|
+
asyncio.run(main())
|
|
1011
|
+
"""
|
|
1012
|
+
_response = await self._client_wrapper.httpx_client.request(
|
|
1013
|
+
f"v1/agents/{jsonable_encoder(agent_id)}/messages/async",
|
|
1014
|
+
method="POST",
|
|
1015
|
+
json={
|
|
1016
|
+
"messages": convert_and_respect_annotation_metadata(
|
|
1017
|
+
object_=messages, annotation=typing.Sequence[MessageCreate], direction="write"
|
|
1018
|
+
),
|
|
1019
|
+
"use_assistant_message": use_assistant_message,
|
|
1020
|
+
"assistant_message_tool_name": assistant_message_tool_name,
|
|
1021
|
+
"assistant_message_tool_kwarg": assistant_message_tool_kwarg,
|
|
1022
|
+
},
|
|
1023
|
+
request_options=request_options,
|
|
1024
|
+
omit=OMIT,
|
|
1025
|
+
)
|
|
1026
|
+
try:
|
|
1027
|
+
if 200 <= _response.status_code < 300:
|
|
1028
|
+
return typing.cast(
|
|
1029
|
+
Run,
|
|
1030
|
+
construct_type(
|
|
1031
|
+
type_=Run, # type: ignore
|
|
1032
|
+
object_=_response.json(),
|
|
1033
|
+
),
|
|
1034
|
+
)
|
|
1035
|
+
if _response.status_code == 422:
|
|
1036
|
+
raise UnprocessableEntityError(
|
|
1037
|
+
typing.cast(
|
|
1038
|
+
HttpValidationError,
|
|
1039
|
+
construct_type(
|
|
1040
|
+
type_=HttpValidationError, # type: ignore
|
|
1041
|
+
object_=_response.json(),
|
|
1042
|
+
),
|
|
1043
|
+
)
|
|
1044
|
+
)
|
|
1045
|
+
_response_json = _response.json()
|
|
1046
|
+
except JSONDecodeError:
|
|
1047
|
+
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
1048
|
+
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
# This file was auto-generated by Fern from our API Definition.
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
-
from ....core.
|
|
4
|
+
from ....core.unchecked_base_model import UncheckedBaseModel
|
|
5
5
|
import typing
|
|
6
6
|
import datetime as dt
|
|
7
7
|
from ....core.pydantic_utilities import IS_PYDANTIC_V2
|
|
8
8
|
import pydantic
|
|
9
9
|
from ....types.tool_call_message_tool_call import ToolCallMessageToolCall
|
|
10
10
|
from ....types.tool_return_message_status import ToolReturnMessageStatus
|
|
11
|
+
import typing_extensions
|
|
12
|
+
from ....core.unchecked_base_model import UnionMetadata
|
|
11
13
|
|
|
12
14
|
|
|
13
|
-
class LettaStreamingResponse_SystemMessage(
|
|
15
|
+
class LettaStreamingResponse_SystemMessage(UncheckedBaseModel):
|
|
14
16
|
message_type: typing.Literal["system_message"] = "system_message"
|
|
15
17
|
id: str
|
|
16
18
|
date: dt.datetime
|
|
@@ -26,7 +28,7 @@ class LettaStreamingResponse_SystemMessage(UniversalBaseModel):
|
|
|
26
28
|
extra = pydantic.Extra.allow
|
|
27
29
|
|
|
28
30
|
|
|
29
|
-
class LettaStreamingResponse_UserMessage(
|
|
31
|
+
class LettaStreamingResponse_UserMessage(UncheckedBaseModel):
|
|
30
32
|
message_type: typing.Literal["user_message"] = "user_message"
|
|
31
33
|
id: str
|
|
32
34
|
date: dt.datetime
|
|
@@ -42,7 +44,7 @@ class LettaStreamingResponse_UserMessage(UniversalBaseModel):
|
|
|
42
44
|
extra = pydantic.Extra.allow
|
|
43
45
|
|
|
44
46
|
|
|
45
|
-
class LettaStreamingResponse_ReasoningMessage(
|
|
47
|
+
class LettaStreamingResponse_ReasoningMessage(UncheckedBaseModel):
|
|
46
48
|
message_type: typing.Literal["reasoning_message"] = "reasoning_message"
|
|
47
49
|
id: str
|
|
48
50
|
date: dt.datetime
|
|
@@ -58,7 +60,7 @@ class LettaStreamingResponse_ReasoningMessage(UniversalBaseModel):
|
|
|
58
60
|
extra = pydantic.Extra.allow
|
|
59
61
|
|
|
60
62
|
|
|
61
|
-
class LettaStreamingResponse_ToolCallMessage(
|
|
63
|
+
class LettaStreamingResponse_ToolCallMessage(UncheckedBaseModel):
|
|
62
64
|
message_type: typing.Literal["tool_call_message"] = "tool_call_message"
|
|
63
65
|
id: str
|
|
64
66
|
date: dt.datetime
|
|
@@ -74,7 +76,7 @@ class LettaStreamingResponse_ToolCallMessage(UniversalBaseModel):
|
|
|
74
76
|
extra = pydantic.Extra.allow
|
|
75
77
|
|
|
76
78
|
|
|
77
|
-
class LettaStreamingResponse_ToolReturnMessage(
|
|
79
|
+
class LettaStreamingResponse_ToolReturnMessage(UncheckedBaseModel):
|
|
78
80
|
message_type: typing.Literal["tool_return_message"] = "tool_return_message"
|
|
79
81
|
id: str
|
|
80
82
|
date: dt.datetime
|
|
@@ -94,7 +96,7 @@ class LettaStreamingResponse_ToolReturnMessage(UniversalBaseModel):
|
|
|
94
96
|
extra = pydantic.Extra.allow
|
|
95
97
|
|
|
96
98
|
|
|
97
|
-
class LettaStreamingResponse_AssistantMessage(
|
|
99
|
+
class LettaStreamingResponse_AssistantMessage(UncheckedBaseModel):
|
|
98
100
|
message_type: typing.Literal["assistant_message"] = "assistant_message"
|
|
99
101
|
id: str
|
|
100
102
|
date: dt.datetime
|
|
@@ -110,7 +112,7 @@ class LettaStreamingResponse_AssistantMessage(UniversalBaseModel):
|
|
|
110
112
|
extra = pydantic.Extra.allow
|
|
111
113
|
|
|
112
114
|
|
|
113
|
-
class LettaStreamingResponse_UsageStatistics(
|
|
115
|
+
class LettaStreamingResponse_UsageStatistics(UncheckedBaseModel):
|
|
114
116
|
message_type: typing.Literal["usage_statistics"] = "usage_statistics"
|
|
115
117
|
completion_tokens: typing.Optional[int] = None
|
|
116
118
|
prompt_tokens: typing.Optional[int] = None
|
|
@@ -127,12 +129,15 @@ class LettaStreamingResponse_UsageStatistics(UniversalBaseModel):
|
|
|
127
129
|
extra = pydantic.Extra.allow
|
|
128
130
|
|
|
129
131
|
|
|
130
|
-
LettaStreamingResponse =
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
132
|
+
LettaStreamingResponse = typing_extensions.Annotated[
|
|
133
|
+
typing.Union[
|
|
134
|
+
LettaStreamingResponse_SystemMessage,
|
|
135
|
+
LettaStreamingResponse_UserMessage,
|
|
136
|
+
LettaStreamingResponse_ReasoningMessage,
|
|
137
|
+
LettaStreamingResponse_ToolCallMessage,
|
|
138
|
+
LettaStreamingResponse_ToolReturnMessage,
|
|
139
|
+
LettaStreamingResponse_AssistantMessage,
|
|
140
|
+
LettaStreamingResponse_UsageStatistics,
|
|
141
|
+
],
|
|
142
|
+
UnionMetadata(discriminant="message_type"),
|
|
138
143
|
]
|