letta-client 0.1.233__py3-none-any.whl → 0.1.235__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 +2 -0
- letta_client/agents/__init__.py +2 -0
- letta_client/agents/blocks/__init__.py +2 -0
- letta_client/agents/blocks/client.py +72 -313
- letta_client/agents/blocks/raw_client.py +654 -0
- letta_client/agents/client.py +349 -869
- letta_client/agents/context/__init__.py +2 -0
- letta_client/agents/context/client.py +31 -66
- letta_client/agents/context/raw_client.py +122 -0
- letta_client/agents/core_memory/__init__.py +2 -0
- letta_client/agents/core_memory/client.py +31 -66
- letta_client/agents/core_memory/raw_client.py +124 -0
- letta_client/agents/files/__init__.py +2 -0
- letta_client/agents/files/client.py +39 -178
- letta_client/agents/files/raw_client.py +349 -0
- letta_client/agents/folders/__init__.py +2 -0
- letta_client/agents/folders/client.py +39 -178
- letta_client/agents/folders/raw_client.py +327 -0
- letta_client/agents/groups/__init__.py +2 -0
- letta_client/agents/groups/client.py +31 -72
- letta_client/agents/groups/raw_client.py +142 -0
- letta_client/agents/memory_variables/__init__.py +2 -0
- letta_client/agents/memory_variables/client.py +31 -65
- letta_client/agents/memory_variables/raw_client.py +125 -0
- letta_client/agents/memory_variables/types/__init__.py +2 -0
- letta_client/agents/memory_variables/types/memory_variables_list_response.py +3 -2
- letta_client/agents/messages/__init__.py +2 -0
- letta_client/agents/messages/client.py +150 -589
- letta_client/agents/messages/raw_client.py +1384 -0
- letta_client/agents/messages/types/__init__.py +2 -0
- letta_client/agents/messages/types/letta_streaming_response.py +6 -5
- letta_client/agents/messages/types/messages_modify_request.py +3 -2
- letta_client/agents/messages/types/messages_modify_response.py +5 -4
- letta_client/agents/messages/types/messages_preview_raw_payload_request.py +1 -0
- letta_client/agents/passages/__init__.py +2 -0
- letta_client/agents/passages/client.py +89 -301
- letta_client/agents/passages/raw_client.py +678 -0
- letta_client/agents/raw_client.py +2088 -0
- letta_client/agents/sources/__init__.py +2 -0
- letta_client/agents/sources/client.py +39 -178
- letta_client/agents/sources/raw_client.py +327 -0
- letta_client/agents/templates/__init__.py +2 -0
- letta_client/agents/templates/client.py +57 -276
- letta_client/agents/templates/raw_client.py +505 -0
- letta_client/agents/templates/types/__init__.py +2 -0
- letta_client/agents/templates/types/templates_create_response.py +5 -4
- letta_client/agents/templates/types/templates_migrate_response.py +3 -2
- letta_client/agents/tools/__init__.py +2 -0
- letta_client/agents/tools/client.py +40 -179
- letta_client/agents/tools/raw_client.py +327 -0
- letta_client/agents/types/__init__.py +2 -0
- letta_client/agents/types/agents_search_request_search_item.py +4 -3
- letta_client/agents/types/agents_search_request_search_item_field.py +4 -3
- letta_client/agents/types/agents_search_request_search_item_one.py +4 -3
- letta_client/agents/types/agents_search_request_search_item_three.py +3 -2
- letta_client/agents/types/agents_search_request_search_item_two.py +3 -2
- letta_client/agents/types/agents_search_request_search_item_zero.py +3 -2
- letta_client/agents/types/agents_search_response.py +5 -4
- letta_client/agents/types/create_agent_request_response_format.py +1 -0
- letta_client/agents/types/create_agent_request_tool_rules_item.py +4 -3
- letta_client/agents/types/update_agent_response_format.py +1 -0
- letta_client/agents/types/update_agent_tool_rules_item.py +4 -3
- letta_client/base_client.py +41 -49
- letta_client/batches/__init__.py +2 -0
- letta_client/batches/client.py +45 -253
- letta_client/batches/raw_client.py +457 -0
- letta_client/blocks/__init__.py +2 -0
- letta_client/blocks/agents/__init__.py +2 -0
- letta_client/blocks/agents/client.py +33 -70
- letta_client/blocks/agents/raw_client.py +144 -0
- letta_client/blocks/client.py +126 -424
- letta_client/blocks/raw_client.py +973 -0
- letta_client/client_side_access_tokens/__init__.py +2 -0
- letta_client/client_side_access_tokens/client.py +45 -216
- letta_client/client_side_access_tokens/raw_client.py +435 -0
- letta_client/client_side_access_tokens/types/__init__.py +2 -0
- letta_client/client_side_access_tokens/types/client_side_access_tokens_create_request_policy_item.py +4 -3
- letta_client/client_side_access_tokens/types/client_side_access_tokens_create_response.py +6 -5
- letta_client/client_side_access_tokens/types/client_side_access_tokens_create_response_policy.py +4 -3
- letta_client/client_side_access_tokens/types/client_side_access_tokens_create_response_policy_data_item.py +4 -3
- letta_client/client_side_access_tokens/types/client_side_access_tokens_list_client_side_access_tokens_response.py +6 -5
- letta_client/client_side_access_tokens/types/client_side_access_tokens_list_client_side_access_tokens_response_tokens_item.py +6 -5
- letta_client/client_side_access_tokens/types/client_side_access_tokens_list_client_side_access_tokens_response_tokens_item_policy.py +4 -3
- letta_client/client_side_access_tokens/types/client_side_access_tokens_list_client_side_access_tokens_response_tokens_item_policy_data_item.py +4 -3
- letta_client/core/__init__.py +5 -0
- letta_client/core/api_error.py +13 -5
- letta_client/core/client_wrapper.py +14 -5
- letta_client/core/force_multipart.py +16 -0
- letta_client/core/http_client.py +70 -26
- letta_client/core/http_response.py +55 -0
- letta_client/core/jsonable_encoder.py +0 -1
- letta_client/core/pydantic_utilities.py +70 -111
- letta_client/core/serialization.py +7 -3
- letta_client/core/unchecked_base_model.py +40 -4
- letta_client/embedding_models/__init__.py +2 -0
- letta_client/embedding_models/client.py +31 -65
- letta_client/embedding_models/raw_client.py +117 -0
- letta_client/errors/__init__.py +2 -0
- letta_client/errors/bad_request_error.py +4 -3
- letta_client/errors/conflict_error.py +4 -2
- letta_client/errors/internal_server_error.py +4 -3
- letta_client/errors/not_found_error.py +4 -3
- letta_client/errors/payment_required_error.py +4 -2
- letta_client/errors/unprocessable_entity_error.py +4 -2
- letta_client/folders/__init__.py +2 -0
- letta_client/folders/client.py +100 -564
- letta_client/folders/files/__init__.py +2 -0
- letta_client/folders/files/client.py +44 -189
- letta_client/folders/files/raw_client.py +391 -0
- letta_client/folders/passages/__init__.py +2 -0
- letta_client/folders/passages/client.py +33 -74
- letta_client/folders/passages/raw_client.py +162 -0
- letta_client/folders/raw_client.py +1084 -0
- letta_client/groups/__init__.py +2 -0
- letta_client/groups/client.py +87 -406
- letta_client/groups/messages/__init__.py +2 -0
- letta_client/groups/messages/client.py +110 -371
- letta_client/groups/messages/raw_client.py +881 -0
- letta_client/groups/messages/types/__init__.py +2 -0
- letta_client/groups/messages/types/letta_streaming_response.py +5 -4
- letta_client/groups/messages/types/messages_modify_request.py +3 -2
- letta_client/groups/messages/types/messages_modify_response.py +5 -4
- letta_client/groups/raw_client.py +807 -0
- letta_client/groups/types/__init__.py +2 -0
- letta_client/groups/types/group_create_manager_config.py +1 -0
- letta_client/groups/types/group_update_manager_config.py +1 -0
- letta_client/health/__init__.py +2 -0
- letta_client/health/client.py +31 -43
- letta_client/health/raw_client.py +85 -0
- letta_client/identities/__init__.py +2 -0
- letta_client/identities/client.py +115 -498
- letta_client/identities/properties/__init__.py +2 -0
- letta_client/identities/properties/client.py +32 -76
- letta_client/identities/properties/raw_client.py +152 -0
- letta_client/identities/raw_client.py +1010 -0
- letta_client/jobs/__init__.py +2 -0
- letta_client/jobs/client.py +67 -310
- letta_client/jobs/raw_client.py +624 -0
- letta_client/messages/__init__.py +2 -0
- letta_client/messages/client.py +41 -74
- letta_client/messages/raw_client.py +186 -0
- letta_client/models/__init__.py +2 -0
- letta_client/models/client.py +39 -73
- letta_client/models/raw_client.py +151 -0
- letta_client/projects/__init__.py +2 -0
- letta_client/projects/client.py +31 -53
- letta_client/projects/raw_client.py +125 -0
- letta_client/projects/types/__init__.py +2 -0
- letta_client/projects/types/projects_list_response.py +5 -4
- letta_client/projects/types/projects_list_response_projects_item.py +3 -2
- letta_client/providers/__init__.py +2 -0
- letta_client/providers/client.py +62 -335
- letta_client/providers/raw_client.py +664 -0
- letta_client/runs/__init__.py +2 -0
- letta_client/runs/client.py +56 -258
- letta_client/runs/messages/__init__.py +2 -0
- letta_client/runs/messages/client.py +34 -79
- letta_client/runs/messages/raw_client.py +209 -0
- letta_client/runs/raw_client.py +440 -0
- letta_client/runs/steps/__init__.py +2 -0
- letta_client/runs/steps/client.py +33 -76
- letta_client/runs/steps/raw_client.py +192 -0
- letta_client/runs/usage/__init__.py +2 -0
- letta_client/runs/usage/client.py +31 -66
- letta_client/runs/usage/raw_client.py +122 -0
- letta_client/sources/__init__.py +2 -0
- letta_client/sources/client.py +107 -625
- letta_client/sources/files/__init__.py +2 -0
- letta_client/sources/files/client.py +44 -189
- letta_client/sources/files/raw_client.py +391 -0
- letta_client/sources/passages/__init__.py +2 -0
- letta_client/sources/passages/client.py +33 -74
- letta_client/sources/passages/raw_client.py +162 -0
- letta_client/sources/raw_client.py +1209 -0
- letta_client/steps/__init__.py +2 -0
- letta_client/steps/client.py +65 -153
- letta_client/steps/feedback/__init__.py +2 -0
- letta_client/steps/feedback/client.py +32 -73
- letta_client/steps/feedback/raw_client.py +141 -0
- letta_client/steps/raw_client.py +355 -0
- letta_client/steps/types/__init__.py +2 -0
- letta_client/tags/__init__.py +2 -0
- letta_client/tags/client.py +33 -73
- letta_client/tags/raw_client.py +148 -0
- letta_client/telemetry/__init__.py +2 -0
- letta_client/telemetry/client.py +31 -66
- letta_client/telemetry/raw_client.py +118 -0
- letta_client/templates/__init__.py +2 -0
- letta_client/templates/agents/__init__.py +2 -0
- letta_client/templates/agents/client.py +48 -96
- letta_client/templates/agents/raw_client.py +227 -0
- letta_client/templates/agents/types/__init__.py +2 -0
- letta_client/templates/agents/types/agents_create_request_initial_message_sequence_item.py +4 -3
- letta_client/templates/agents/types/agents_create_response.py +4 -3
- letta_client/templates/client.py +36 -57
- letta_client/templates/raw_client.py +133 -0
- letta_client/templates/types/__init__.py +2 -0
- letta_client/templates/types/templates_list_response.py +5 -4
- letta_client/templates/types/templates_list_response_templates_item.py +3 -2
- letta_client/tools/__init__.py +2 -0
- letta_client/tools/client.py +195 -1322
- letta_client/tools/raw_client.py +2565 -0
- letta_client/tools/types/__init__.py +2 -0
- letta_client/tools/types/add_mcp_server_request.py +2 -1
- letta_client/tools/types/add_mcp_server_response_item.py +2 -1
- letta_client/tools/types/connect_mcp_server_request.py +2 -1
- letta_client/tools/types/delete_mcp_server_response_item.py +2 -1
- letta_client/tools/types/list_mcp_servers_response_value.py +1 -0
- letta_client/tools/types/streaming_response.py +5 -4
- letta_client/tools/types/test_mcp_server_request.py +2 -1
- letta_client/tools/types/update_mcp_server_request.py +2 -1
- letta_client/tools/types/update_mcp_server_response.py +2 -1
- letta_client/types/__init__.py +2 -0
- letta_client/types/action_model.py +6 -5
- letta_client/types/action_parameters_model.py +3 -2
- letta_client/types/action_response_model.py +3 -2
- letta_client/types/agent_environment_variable.py +3 -2
- letta_client/types/agent_schema.py +7 -6
- letta_client/types/agent_schema_tool_rules_item.py +2 -1
- letta_client/types/agent_state.py +14 -8
- letta_client/types/agent_state_response_format.py +1 -0
- letta_client/types/agent_state_tool_rules_item.py +4 -3
- letta_client/types/app_auth_scheme.py +4 -3
- letta_client/types/app_model.py +5 -4
- letta_client/types/assistant_message.py +3 -2
- letta_client/types/assistant_message_content.py +1 -0
- letta_client/types/audio.py +3 -2
- letta_client/types/auth_request.py +2 -1
- letta_client/types/auth_response.py +5 -4
- letta_client/types/auth_scheme_field.py +3 -2
- letta_client/types/bad_request_error_body.py +3 -2
- letta_client/types/base_64_image.py +2 -1
- letta_client/types/base_tool_rule_schema.py +3 -2
- letta_client/types/batch_job.py +4 -3
- letta_client/types/block.py +3 -2
- letta_client/types/block_update.py +2 -1
- letta_client/types/chat_completion_assistant_message_param.py +5 -4
- letta_client/types/chat_completion_assistant_message_param_content.py +1 -0
- letta_client/types/chat_completion_assistant_message_param_content_item.py +2 -1
- letta_client/types/chat_completion_audio_param.py +4 -3
- letta_client/types/chat_completion_content_part_image_param.py +4 -3
- letta_client/types/chat_completion_content_part_input_audio_param.py +4 -3
- letta_client/types/chat_completion_content_part_refusal_param.py +3 -2
- letta_client/types/chat_completion_content_part_text_param.py +3 -2
- letta_client/types/chat_completion_developer_message_param.py +4 -3
- letta_client/types/chat_completion_developer_message_param_content.py +1 -0
- letta_client/types/chat_completion_function_call_option_param.py +3 -2
- letta_client/types/chat_completion_function_message_param.py +3 -2
- letta_client/types/chat_completion_message_tool_call.py +4 -3
- letta_client/types/chat_completion_message_tool_call_param.py +4 -3
- letta_client/types/chat_completion_named_tool_choice_param.py +4 -3
- letta_client/types/chat_completion_prediction_content_param.py +4 -3
- letta_client/types/chat_completion_prediction_content_param_content.py +1 -0
- letta_client/types/chat_completion_stream_options_param.py +3 -2
- letta_client/types/chat_completion_system_message_param.py +4 -3
- letta_client/types/chat_completion_system_message_param_content.py +1 -0
- letta_client/types/chat_completion_tool_message_param.py +4 -3
- letta_client/types/chat_completion_tool_message_param_content.py +1 -0
- letta_client/types/chat_completion_tool_param.py +4 -3
- letta_client/types/chat_completion_user_message_param.py +4 -3
- letta_client/types/chat_completion_user_message_param_content.py +1 -0
- letta_client/types/chat_completion_user_message_param_content_item.py +2 -1
- letta_client/types/child_tool_rule.py +3 -2
- letta_client/types/child_tool_rule_schema.py +3 -2
- letta_client/types/code_input.py +3 -2
- letta_client/types/completion_create_params_non_streaming.py +10 -9
- letta_client/types/completion_create_params_non_streaming_function_call.py +1 -0
- letta_client/types/completion_create_params_non_streaming_messages_item.py +4 -3
- letta_client/types/completion_create_params_non_streaming_response_format.py +3 -2
- letta_client/types/completion_create_params_non_streaming_tool_choice.py +1 -0
- letta_client/types/completion_create_params_streaming.py +10 -9
- letta_client/types/completion_create_params_streaming_function_call.py +1 -0
- letta_client/types/completion_create_params_streaming_messages_item.py +4 -3
- letta_client/types/completion_create_params_streaming_response_format.py +3 -2
- letta_client/types/completion_create_params_streaming_tool_choice.py +1 -0
- letta_client/types/conditional_tool_rule.py +3 -2
- letta_client/types/conditional_tool_rule_schema.py +3 -2
- letta_client/types/conflict_error_body.py +3 -2
- letta_client/types/context_window_overview.py +4 -3
- letta_client/types/continue_tool_rule.py +3 -2
- letta_client/types/core_memory_block_schema.py +4 -3
- letta_client/types/create_block.py +3 -2
- letta_client/types/dynamic_manager.py +2 -1
- letta_client/types/dynamic_manager_update.py +2 -1
- letta_client/types/e_2_b_sandbox_config.py +2 -1
- letta_client/types/embedding_config.py +4 -3
- letta_client/types/file.py +4 -3
- letta_client/types/file_block.py +4 -3
- letta_client/types/file_file.py +3 -2
- letta_client/types/file_metadata.py +5 -4
- letta_client/types/file_stats.py +3 -2
- letta_client/types/folder.py +5 -4
- letta_client/types/function_call.py +3 -2
- letta_client/types/function_definition_input.py +3 -2
- letta_client/types/function_definition_output.py +3 -2
- letta_client/types/function_output.py +3 -2
- letta_client/types/function_tool.py +4 -3
- letta_client/types/generate_tool_input.py +3 -2
- letta_client/types/generate_tool_output.py +4 -3
- letta_client/types/group.py +4 -3
- letta_client/types/health.py +3 -2
- letta_client/types/hidden_reasoning_message.py +4 -3
- letta_client/types/http_validation_error.py +4 -3
- letta_client/types/identity.py +4 -3
- letta_client/types/identity_property.py +5 -4
- letta_client/types/image_content.py +3 -2
- letta_client/types/image_content_source.py +1 -0
- letta_client/types/image_url.py +4 -3
- letta_client/types/init_tool_rule.py +3 -2
- letta_client/types/input_audio.py +4 -3
- letta_client/types/internal_server_error_body.py +3 -2
- letta_client/types/job.py +4 -3
- letta_client/types/json_object_response_format.py +3 -2
- letta_client/types/json_schema.py +4 -3
- letta_client/types/json_schema_response_format.py +2 -1
- letta_client/types/letta_batch_messages.py +4 -3
- letta_client/types/letta_batch_request.py +4 -3
- letta_client/types/letta_image.py +2 -1
- letta_client/types/letta_message_content_union.py +4 -3
- letta_client/types/letta_message_union.py +5 -4
- letta_client/types/letta_ping.py +2 -1
- letta_client/types/letta_request.py +4 -3
- letta_client/types/letta_request_config.py +3 -2
- letta_client/types/letta_response.py +4 -3
- letta_client/types/letta_stop_reason.py +3 -2
- letta_client/types/letta_streaming_request.py +9 -3
- letta_client/types/letta_usage_statistics.py +3 -2
- letta_client/types/letta_user_message_content_union.py +2 -1
- letta_client/types/llm_config.py +6 -5
- letta_client/types/local_sandbox_config.py +3 -2
- letta_client/types/max_count_per_step_tool_rule.py +3 -2
- letta_client/types/max_count_per_step_tool_rule_schema.py +3 -2
- letta_client/types/mcp_tool.py +4 -3
- letta_client/types/memory.py +4 -3
- letta_client/types/message.py +6 -5
- letta_client/types/message_content_item.py +1 -0
- letta_client/types/message_create.py +5 -4
- letta_client/types/message_create_content.py +1 -0
- letta_client/types/message_schema.py +4 -3
- letta_client/types/modal_sandbox_config.py +2 -1
- letta_client/types/not_found_error_body.py +3 -2
- letta_client/types/omitted_reasoning_content.py +3 -2
- letta_client/types/openai_types_chat_chat_completion_message_tool_call_param_function.py +3 -2
- letta_client/types/openai_types_chat_chat_completion_named_tool_choice_param_function.py +3 -2
- letta_client/types/openai_types_chat_completion_create_params_function.py +3 -2
- letta_client/types/organization.py +3 -2
- letta_client/types/organization_create.py +2 -1
- letta_client/types/organization_sources_stats.py +3 -2
- letta_client/types/organization_update.py +2 -1
- letta_client/types/parameter_properties.py +3 -2
- letta_client/types/parameters_schema.py +4 -3
- letta_client/types/parent_tool_rule.py +3 -2
- letta_client/types/passage.py +4 -3
- letta_client/types/payment_required_error_body.py +3 -2
- letta_client/types/pip_requirement.py +3 -2
- letta_client/types/provider.py +5 -4
- letta_client/types/provider_check.py +4 -3
- letta_client/types/provider_trace.py +3 -2
- letta_client/types/reasoning_content.py +2 -1
- letta_client/types/reasoning_message.py +4 -3
- letta_client/types/redacted_reasoning_content.py +2 -1
- letta_client/types/required_before_exit_tool_rule.py +3 -2
- letta_client/types/response_format_json_object.py +3 -2
- letta_client/types/response_format_json_schema.py +4 -3
- letta_client/types/response_format_text.py +3 -2
- letta_client/types/round_robin_manager.py +2 -1
- letta_client/types/round_robin_manager_update.py +2 -1
- letta_client/types/run.py +4 -3
- letta_client/types/sandbox_config.py +4 -3
- letta_client/types/sandbox_config_create.py +4 -3
- letta_client/types/sandbox_config_create_config.py +2 -1
- letta_client/types/sandbox_config_update.py +3 -2
- letta_client/types/sandbox_config_update_config.py +2 -1
- letta_client/types/sandbox_environment_variable.py +3 -2
- letta_client/types/sandbox_environment_variable_create.py +3 -2
- letta_client/types/sandbox_environment_variable_update.py +2 -1
- letta_client/types/sleeptime_manager.py +2 -1
- letta_client/types/sleeptime_manager_update.py +2 -1
- letta_client/types/source.py +5 -4
- letta_client/types/source_create.py +4 -3
- letta_client/types/source_stats.py +4 -3
- letta_client/types/source_update.py +3 -2
- letta_client/types/sse_server_config.py +4 -3
- letta_client/types/stdio_server_config.py +4 -3
- letta_client/types/step.py +5 -4
- letta_client/types/streamable_http_server_config.py +4 -3
- letta_client/types/supervisor_manager.py +2 -1
- letta_client/types/supervisor_manager_update.py +2 -1
- letta_client/types/system_message.py +2 -1
- letta_client/types/tag_schema.py +3 -2
- letta_client/types/terminal_tool_rule.py +3 -2
- letta_client/types/text_content.py +2 -1
- letta_client/types/text_response_format.py +3 -2
- letta_client/types/tool.py +5 -4
- letta_client/types/tool_annotations.py +4 -3
- letta_client/types/tool_call.py +3 -2
- letta_client/types/tool_call_content.py +2 -1
- letta_client/types/tool_call_delta.py +3 -2
- letta_client/types/tool_call_message.py +4 -3
- letta_client/types/tool_call_message_tool_call.py +1 -0
- letta_client/types/tool_create.py +3 -2
- letta_client/types/tool_env_var_schema.py +3 -2
- letta_client/types/tool_json_schema.py +4 -3
- letta_client/types/tool_return.py +4 -3
- letta_client/types/tool_return_content.py +2 -1
- letta_client/types/tool_return_message.py +4 -3
- letta_client/types/tool_schema.py +5 -4
- letta_client/types/update_assistant_message.py +3 -2
- letta_client/types/update_assistant_message_content.py +1 -0
- letta_client/types/update_reasoning_message.py +3 -2
- letta_client/types/update_ssemcp_server.py +2 -1
- letta_client/types/update_stdio_mcp_server.py +3 -2
- letta_client/types/update_streamable_httpmcp_server.py +2 -1
- letta_client/types/update_system_message.py +2 -1
- letta_client/types/update_user_message.py +3 -2
- letta_client/types/update_user_message_content.py +1 -0
- letta_client/types/url_image.py +2 -1
- letta_client/types/usage_statistics.py +5 -4
- letta_client/types/usage_statistics_completion_token_details.py +3 -2
- letta_client/types/usage_statistics_prompt_token_details.py +3 -2
- letta_client/types/user.py +3 -2
- letta_client/types/user_create.py +3 -2
- letta_client/types/user_message.py +3 -2
- letta_client/types/user_message_content.py +1 -0
- letta_client/types/user_update.py +3 -2
- letta_client/types/validation_error.py +4 -3
- letta_client/types/voice_sleeptime_manager.py +2 -1
- letta_client/types/voice_sleeptime_manager_update.py +2 -1
- letta_client/types/web_search_options.py +4 -3
- letta_client/types/web_search_options_user_location.py +4 -3
- letta_client/types/web_search_options_user_location_approximate.py +3 -2
- letta_client/voice/__init__.py +2 -0
- letta_client/voice/client.py +33 -74
- letta_client/voice/raw_client.py +154 -0
- {letta_client-0.1.233.dist-info → letta_client-0.1.235.dist-info}/METADATA +24 -3
- letta_client-0.1.235.dist-info/RECORD +503 -0
- letta_client-0.1.233.dist-info/RECORD +0 -455
- {letta_client-0.1.233.dist-info → letta_client-0.1.235.dist-info}/WHEEL +0 -0
|
@@ -1,28 +1,20 @@
|
|
|
1
1
|
# This file was auto-generated by Fern from our API Definition.
|
|
2
2
|
|
|
3
3
|
import typing
|
|
4
|
-
|
|
4
|
+
|
|
5
|
+
from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
|
5
6
|
from ...core.request_options import RequestOptions
|
|
7
|
+
from ...types.agent_state import AgentState
|
|
6
8
|
from ...types.letta_message_union import LettaMessageUnion
|
|
7
|
-
from ...
|
|
8
|
-
from ...core.unchecked_base_model import construct_type
|
|
9
|
-
from ...errors.unprocessable_entity_error import UnprocessableEntityError
|
|
10
|
-
from ...types.http_validation_error import HttpValidationError
|
|
11
|
-
from json.decoder import JSONDecodeError
|
|
12
|
-
from ...core.api_error import ApiError
|
|
9
|
+
from ...types.letta_response import LettaResponse
|
|
13
10
|
from ...types.message_create import MessageCreate
|
|
14
11
|
from ...types.message_type import MessageType
|
|
15
|
-
from ...types.
|
|
16
|
-
from
|
|
12
|
+
from ...types.run import Run
|
|
13
|
+
from .raw_client import AsyncRawMessagesClient, RawMessagesClient
|
|
14
|
+
from .types.letta_streaming_response import LettaStreamingResponse
|
|
17
15
|
from .types.messages_modify_request import MessagesModifyRequest
|
|
18
16
|
from .types.messages_modify_response import MessagesModifyResponse
|
|
19
|
-
from .types.letta_streaming_response import LettaStreamingResponse
|
|
20
|
-
import httpx_sse
|
|
21
|
-
import json
|
|
22
|
-
from ...types.run import Run
|
|
23
|
-
from ...types.agent_state import AgentState
|
|
24
17
|
from .types.messages_preview_raw_payload_request import MessagesPreviewRawPayloadRequest
|
|
25
|
-
from ...core.client_wrapper import AsyncClientWrapper
|
|
26
18
|
|
|
27
19
|
# this is used as the default value for optional parameters
|
|
28
20
|
OMIT = typing.cast(typing.Any, ...)
|
|
@@ -30,7 +22,18 @@ OMIT = typing.cast(typing.Any, ...)
|
|
|
30
22
|
|
|
31
23
|
class MessagesClient:
|
|
32
24
|
def __init__(self, *, client_wrapper: SyncClientWrapper):
|
|
33
|
-
self.
|
|
25
|
+
self._raw_client = RawMessagesClient(client_wrapper=client_wrapper)
|
|
26
|
+
|
|
27
|
+
@property
|
|
28
|
+
def with_raw_response(self) -> RawMessagesClient:
|
|
29
|
+
"""
|
|
30
|
+
Retrieves a raw implementation of this client that returns raw responses.
|
|
31
|
+
|
|
32
|
+
Returns
|
|
33
|
+
-------
|
|
34
|
+
RawMessagesClient
|
|
35
|
+
"""
|
|
36
|
+
return self._raw_client
|
|
34
37
|
|
|
35
38
|
def list(
|
|
36
39
|
self,
|
|
@@ -97,44 +100,19 @@ class MessagesClient:
|
|
|
97
100
|
agent_id="agent_id",
|
|
98
101
|
)
|
|
99
102
|
"""
|
|
100
|
-
_response = self.
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
"assistant_message_tool_kwarg": assistant_message_tool_kwarg,
|
|
111
|
-
"include_err": include_err,
|
|
112
|
-
},
|
|
103
|
+
_response = self._raw_client.list(
|
|
104
|
+
agent_id,
|
|
105
|
+
after=after,
|
|
106
|
+
before=before,
|
|
107
|
+
limit=limit,
|
|
108
|
+
group_id=group_id,
|
|
109
|
+
use_assistant_message=use_assistant_message,
|
|
110
|
+
assistant_message_tool_name=assistant_message_tool_name,
|
|
111
|
+
assistant_message_tool_kwarg=assistant_message_tool_kwarg,
|
|
112
|
+
include_err=include_err,
|
|
113
113
|
request_options=request_options,
|
|
114
114
|
)
|
|
115
|
-
|
|
116
|
-
if 200 <= _response.status_code < 300:
|
|
117
|
-
return typing.cast(
|
|
118
|
-
typing.List[LettaMessageUnion],
|
|
119
|
-
construct_type(
|
|
120
|
-
type_=typing.List[LettaMessageUnion], # type: ignore
|
|
121
|
-
object_=_response.json(),
|
|
122
|
-
),
|
|
123
|
-
)
|
|
124
|
-
if _response.status_code == 422:
|
|
125
|
-
raise UnprocessableEntityError(
|
|
126
|
-
typing.cast(
|
|
127
|
-
HttpValidationError,
|
|
128
|
-
construct_type(
|
|
129
|
-
type_=HttpValidationError, # type: ignore
|
|
130
|
-
object_=_response.json(),
|
|
131
|
-
),
|
|
132
|
-
)
|
|
133
|
-
)
|
|
134
|
-
_response_json = _response.json()
|
|
135
|
-
except JSONDecodeError:
|
|
136
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
137
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
115
|
+
return _response.data
|
|
138
116
|
|
|
139
117
|
def create(
|
|
140
118
|
self,
|
|
@@ -208,46 +186,18 @@ class MessagesClient:
|
|
|
208
186
|
],
|
|
209
187
|
)
|
|
210
188
|
"""
|
|
211
|
-
_response = self.
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
"assistant_message_tool_name": assistant_message_tool_name,
|
|
221
|
-
"assistant_message_tool_kwarg": assistant_message_tool_kwarg,
|
|
222
|
-
"include_return_message_types": include_return_message_types,
|
|
223
|
-
"enable_thinking": enable_thinking,
|
|
224
|
-
},
|
|
189
|
+
_response = self._raw_client.create(
|
|
190
|
+
agent_id,
|
|
191
|
+
messages=messages,
|
|
192
|
+
max_steps=max_steps,
|
|
193
|
+
use_assistant_message=use_assistant_message,
|
|
194
|
+
assistant_message_tool_name=assistant_message_tool_name,
|
|
195
|
+
assistant_message_tool_kwarg=assistant_message_tool_kwarg,
|
|
196
|
+
include_return_message_types=include_return_message_types,
|
|
197
|
+
enable_thinking=enable_thinking,
|
|
225
198
|
request_options=request_options,
|
|
226
|
-
omit=OMIT,
|
|
227
199
|
)
|
|
228
|
-
|
|
229
|
-
if 200 <= _response.status_code < 300:
|
|
230
|
-
return typing.cast(
|
|
231
|
-
LettaResponse,
|
|
232
|
-
construct_type(
|
|
233
|
-
type_=LettaResponse, # type: ignore
|
|
234
|
-
object_=_response.json(),
|
|
235
|
-
),
|
|
236
|
-
)
|
|
237
|
-
if _response.status_code == 422:
|
|
238
|
-
raise UnprocessableEntityError(
|
|
239
|
-
typing.cast(
|
|
240
|
-
HttpValidationError,
|
|
241
|
-
construct_type(
|
|
242
|
-
type_=HttpValidationError, # type: ignore
|
|
243
|
-
object_=_response.json(),
|
|
244
|
-
),
|
|
245
|
-
)
|
|
246
|
-
)
|
|
247
|
-
_response_json = _response.json()
|
|
248
|
-
except JSONDecodeError:
|
|
249
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
250
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
200
|
+
return _response.data
|
|
251
201
|
|
|
252
202
|
def modify(
|
|
253
203
|
self,
|
|
@@ -292,38 +242,8 @@ class MessagesClient:
|
|
|
292
242
|
),
|
|
293
243
|
)
|
|
294
244
|
"""
|
|
295
|
-
_response = self.
|
|
296
|
-
|
|
297
|
-
method="PATCH",
|
|
298
|
-
json=convert_and_respect_annotation_metadata(
|
|
299
|
-
object_=request, annotation=MessagesModifyRequest, direction="write"
|
|
300
|
-
),
|
|
301
|
-
request_options=request_options,
|
|
302
|
-
omit=OMIT,
|
|
303
|
-
)
|
|
304
|
-
try:
|
|
305
|
-
if 200 <= _response.status_code < 300:
|
|
306
|
-
return typing.cast(
|
|
307
|
-
MessagesModifyResponse,
|
|
308
|
-
construct_type(
|
|
309
|
-
type_=MessagesModifyResponse, # type: ignore
|
|
310
|
-
object_=_response.json(),
|
|
311
|
-
),
|
|
312
|
-
)
|
|
313
|
-
if _response.status_code == 422:
|
|
314
|
-
raise UnprocessableEntityError(
|
|
315
|
-
typing.cast(
|
|
316
|
-
HttpValidationError,
|
|
317
|
-
construct_type(
|
|
318
|
-
type_=HttpValidationError, # type: ignore
|
|
319
|
-
object_=_response.json(),
|
|
320
|
-
),
|
|
321
|
-
)
|
|
322
|
-
)
|
|
323
|
-
_response_json = _response.json()
|
|
324
|
-
except JSONDecodeError:
|
|
325
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
326
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
245
|
+
_response = self._raw_client.modify(agent_id, message_id, request=request, request_options=request_options)
|
|
246
|
+
return _response.data
|
|
327
247
|
|
|
328
248
|
def create_stream(
|
|
329
249
|
self,
|
|
@@ -337,6 +257,7 @@ class MessagesClient:
|
|
|
337
257
|
include_return_message_types: typing.Optional[typing.Sequence[MessageType]] = OMIT,
|
|
338
258
|
enable_thinking: typing.Optional[str] = OMIT,
|
|
339
259
|
stream_tokens: typing.Optional[bool] = OMIT,
|
|
260
|
+
include_pings: typing.Optional[bool] = OMIT,
|
|
340
261
|
request_options: typing.Optional[RequestOptions] = None,
|
|
341
262
|
) -> typing.Iterator[LettaStreamingResponse]:
|
|
342
263
|
"""
|
|
@@ -372,6 +293,9 @@ class MessagesClient:
|
|
|
372
293
|
stream_tokens : typing.Optional[bool]
|
|
373
294
|
Flag to determine if individual tokens should be streamed. Set to True for token streaming (requires stream_steps = True).
|
|
374
295
|
|
|
296
|
+
include_pings : typing.Optional[bool]
|
|
297
|
+
Whether to include periodic keepalive ping messages in the stream to prevent connection timeouts.
|
|
298
|
+
|
|
375
299
|
request_options : typing.Optional[RequestOptions]
|
|
376
300
|
Request-specific configuration.
|
|
377
301
|
|
|
@@ -404,54 +328,20 @@ class MessagesClient:
|
|
|
404
328
|
for chunk in response:
|
|
405
329
|
yield chunk
|
|
406
330
|
"""
|
|
407
|
-
with self.
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
"include_return_message_types": include_return_message_types,
|
|
419
|
-
"enable_thinking": enable_thinking,
|
|
420
|
-
"stream_tokens": stream_tokens,
|
|
421
|
-
},
|
|
331
|
+
with self._raw_client.create_stream(
|
|
332
|
+
agent_id,
|
|
333
|
+
messages=messages,
|
|
334
|
+
max_steps=max_steps,
|
|
335
|
+
use_assistant_message=use_assistant_message,
|
|
336
|
+
assistant_message_tool_name=assistant_message_tool_name,
|
|
337
|
+
assistant_message_tool_kwarg=assistant_message_tool_kwarg,
|
|
338
|
+
include_return_message_types=include_return_message_types,
|
|
339
|
+
enable_thinking=enable_thinking,
|
|
340
|
+
stream_tokens=stream_tokens,
|
|
341
|
+
include_pings=include_pings,
|
|
422
342
|
request_options=request_options,
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
try:
|
|
426
|
-
if 200 <= _response.status_code < 300:
|
|
427
|
-
_event_source = httpx_sse.EventSource(_response)
|
|
428
|
-
for _sse in _event_source.iter_sse():
|
|
429
|
-
try:
|
|
430
|
-
yield typing.cast(
|
|
431
|
-
LettaStreamingResponse,
|
|
432
|
-
construct_type(
|
|
433
|
-
type_=LettaStreamingResponse, # type: ignore
|
|
434
|
-
object_=json.loads(_sse.data),
|
|
435
|
-
),
|
|
436
|
-
)
|
|
437
|
-
except:
|
|
438
|
-
pass
|
|
439
|
-
return
|
|
440
|
-
_response.read()
|
|
441
|
-
if _response.status_code == 422:
|
|
442
|
-
raise UnprocessableEntityError(
|
|
443
|
-
typing.cast(
|
|
444
|
-
HttpValidationError,
|
|
445
|
-
construct_type(
|
|
446
|
-
type_=HttpValidationError, # type: ignore
|
|
447
|
-
object_=_response.json(),
|
|
448
|
-
),
|
|
449
|
-
)
|
|
450
|
-
)
|
|
451
|
-
_response_json = _response.json()
|
|
452
|
-
except JSONDecodeError:
|
|
453
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
454
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
343
|
+
) as r:
|
|
344
|
+
yield from r.data
|
|
455
345
|
|
|
456
346
|
def cancel(
|
|
457
347
|
self,
|
|
@@ -491,36 +381,8 @@ class MessagesClient:
|
|
|
491
381
|
agent_id="agent_id",
|
|
492
382
|
)
|
|
493
383
|
"""
|
|
494
|
-
_response = self.
|
|
495
|
-
|
|
496
|
-
method="POST",
|
|
497
|
-
json=request,
|
|
498
|
-
request_options=request_options,
|
|
499
|
-
omit=OMIT,
|
|
500
|
-
)
|
|
501
|
-
try:
|
|
502
|
-
if 200 <= _response.status_code < 300:
|
|
503
|
-
return typing.cast(
|
|
504
|
-
typing.Dict[str, typing.Optional[typing.Any]],
|
|
505
|
-
construct_type(
|
|
506
|
-
type_=typing.Dict[str, typing.Optional[typing.Any]], # type: ignore
|
|
507
|
-
object_=_response.json(),
|
|
508
|
-
),
|
|
509
|
-
)
|
|
510
|
-
if _response.status_code == 422:
|
|
511
|
-
raise UnprocessableEntityError(
|
|
512
|
-
typing.cast(
|
|
513
|
-
HttpValidationError,
|
|
514
|
-
construct_type(
|
|
515
|
-
type_=HttpValidationError, # type: ignore
|
|
516
|
-
object_=_response.json(),
|
|
517
|
-
),
|
|
518
|
-
)
|
|
519
|
-
)
|
|
520
|
-
_response_json = _response.json()
|
|
521
|
-
except JSONDecodeError:
|
|
522
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
523
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
384
|
+
_response = self._raw_client.cancel(agent_id, request=request, request_options=request_options)
|
|
385
|
+
return _response.data
|
|
524
386
|
|
|
525
387
|
def create_async(
|
|
526
388
|
self,
|
|
@@ -601,50 +463,19 @@ class MessagesClient:
|
|
|
601
463
|
],
|
|
602
464
|
)
|
|
603
465
|
"""
|
|
604
|
-
_response = self.
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
"assistant_message_tool_kwarg": assistant_message_tool_kwarg,
|
|
615
|
-
"include_return_message_types": include_return_message_types,
|
|
616
|
-
"enable_thinking": enable_thinking,
|
|
617
|
-
"callback_url": callback_url,
|
|
618
|
-
},
|
|
619
|
-
headers={
|
|
620
|
-
"content-type": "application/json",
|
|
621
|
-
},
|
|
466
|
+
_response = self._raw_client.create_async(
|
|
467
|
+
agent_id,
|
|
468
|
+
messages=messages,
|
|
469
|
+
max_steps=max_steps,
|
|
470
|
+
use_assistant_message=use_assistant_message,
|
|
471
|
+
assistant_message_tool_name=assistant_message_tool_name,
|
|
472
|
+
assistant_message_tool_kwarg=assistant_message_tool_kwarg,
|
|
473
|
+
include_return_message_types=include_return_message_types,
|
|
474
|
+
enable_thinking=enable_thinking,
|
|
475
|
+
callback_url=callback_url,
|
|
622
476
|
request_options=request_options,
|
|
623
|
-
omit=OMIT,
|
|
624
477
|
)
|
|
625
|
-
|
|
626
|
-
if 200 <= _response.status_code < 300:
|
|
627
|
-
return typing.cast(
|
|
628
|
-
Run,
|
|
629
|
-
construct_type(
|
|
630
|
-
type_=Run, # type: ignore
|
|
631
|
-
object_=_response.json(),
|
|
632
|
-
),
|
|
633
|
-
)
|
|
634
|
-
if _response.status_code == 422:
|
|
635
|
-
raise UnprocessableEntityError(
|
|
636
|
-
typing.cast(
|
|
637
|
-
HttpValidationError,
|
|
638
|
-
construct_type(
|
|
639
|
-
type_=HttpValidationError, # type: ignore
|
|
640
|
-
object_=_response.json(),
|
|
641
|
-
),
|
|
642
|
-
)
|
|
643
|
-
)
|
|
644
|
-
_response_json = _response.json()
|
|
645
|
-
except JSONDecodeError:
|
|
646
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
647
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
478
|
+
return _response.data
|
|
648
479
|
|
|
649
480
|
def reset(
|
|
650
481
|
self,
|
|
@@ -683,37 +514,10 @@ class MessagesClient:
|
|
|
683
514
|
agent_id="agent_id",
|
|
684
515
|
)
|
|
685
516
|
"""
|
|
686
|
-
_response = self.
|
|
687
|
-
|
|
688
|
-
method="PATCH",
|
|
689
|
-
params={
|
|
690
|
-
"add_default_initial_messages": add_default_initial_messages,
|
|
691
|
-
},
|
|
692
|
-
request_options=request_options,
|
|
517
|
+
_response = self._raw_client.reset(
|
|
518
|
+
agent_id, add_default_initial_messages=add_default_initial_messages, request_options=request_options
|
|
693
519
|
)
|
|
694
|
-
|
|
695
|
-
if 200 <= _response.status_code < 300:
|
|
696
|
-
return typing.cast(
|
|
697
|
-
AgentState,
|
|
698
|
-
construct_type(
|
|
699
|
-
type_=AgentState, # type: ignore
|
|
700
|
-
object_=_response.json(),
|
|
701
|
-
),
|
|
702
|
-
)
|
|
703
|
-
if _response.status_code == 422:
|
|
704
|
-
raise UnprocessableEntityError(
|
|
705
|
-
typing.cast(
|
|
706
|
-
HttpValidationError,
|
|
707
|
-
construct_type(
|
|
708
|
-
type_=HttpValidationError, # type: ignore
|
|
709
|
-
object_=_response.json(),
|
|
710
|
-
),
|
|
711
|
-
)
|
|
712
|
-
)
|
|
713
|
-
_response_json = _response.json()
|
|
714
|
-
except JSONDecodeError:
|
|
715
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
716
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
520
|
+
return _response.data
|
|
717
521
|
|
|
718
522
|
def preview_raw_payload(
|
|
719
523
|
self,
|
|
@@ -767,43 +571,24 @@ class MessagesClient:
|
|
|
767
571
|
),
|
|
768
572
|
)
|
|
769
573
|
"""
|
|
770
|
-
_response = self.
|
|
771
|
-
|
|
772
|
-
method="POST",
|
|
773
|
-
json=convert_and_respect_annotation_metadata(
|
|
774
|
-
object_=request, annotation=MessagesPreviewRawPayloadRequest, direction="write"
|
|
775
|
-
),
|
|
776
|
-
request_options=request_options,
|
|
777
|
-
omit=OMIT,
|
|
778
|
-
)
|
|
779
|
-
try:
|
|
780
|
-
if 200 <= _response.status_code < 300:
|
|
781
|
-
return typing.cast(
|
|
782
|
-
typing.Dict[str, typing.Optional[typing.Any]],
|
|
783
|
-
construct_type(
|
|
784
|
-
type_=typing.Dict[str, typing.Optional[typing.Any]], # type: ignore
|
|
785
|
-
object_=_response.json(),
|
|
786
|
-
),
|
|
787
|
-
)
|
|
788
|
-
if _response.status_code == 422:
|
|
789
|
-
raise UnprocessableEntityError(
|
|
790
|
-
typing.cast(
|
|
791
|
-
HttpValidationError,
|
|
792
|
-
construct_type(
|
|
793
|
-
type_=HttpValidationError, # type: ignore
|
|
794
|
-
object_=_response.json(),
|
|
795
|
-
),
|
|
796
|
-
)
|
|
797
|
-
)
|
|
798
|
-
_response_json = _response.json()
|
|
799
|
-
except JSONDecodeError:
|
|
800
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
801
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
574
|
+
_response = self._raw_client.preview_raw_payload(agent_id, request=request, request_options=request_options)
|
|
575
|
+
return _response.data
|
|
802
576
|
|
|
803
577
|
|
|
804
578
|
class AsyncMessagesClient:
|
|
805
579
|
def __init__(self, *, client_wrapper: AsyncClientWrapper):
|
|
806
|
-
self.
|
|
580
|
+
self._raw_client = AsyncRawMessagesClient(client_wrapper=client_wrapper)
|
|
581
|
+
|
|
582
|
+
@property
|
|
583
|
+
def with_raw_response(self) -> AsyncRawMessagesClient:
|
|
584
|
+
"""
|
|
585
|
+
Retrieves a raw implementation of this client that returns raw responses.
|
|
586
|
+
|
|
587
|
+
Returns
|
|
588
|
+
-------
|
|
589
|
+
AsyncRawMessagesClient
|
|
590
|
+
"""
|
|
591
|
+
return self._raw_client
|
|
807
592
|
|
|
808
593
|
async def list(
|
|
809
594
|
self,
|
|
@@ -878,44 +663,19 @@ class AsyncMessagesClient:
|
|
|
878
663
|
|
|
879
664
|
asyncio.run(main())
|
|
880
665
|
"""
|
|
881
|
-
_response = await self.
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
"assistant_message_tool_kwarg": assistant_message_tool_kwarg,
|
|
892
|
-
"include_err": include_err,
|
|
893
|
-
},
|
|
666
|
+
_response = await self._raw_client.list(
|
|
667
|
+
agent_id,
|
|
668
|
+
after=after,
|
|
669
|
+
before=before,
|
|
670
|
+
limit=limit,
|
|
671
|
+
group_id=group_id,
|
|
672
|
+
use_assistant_message=use_assistant_message,
|
|
673
|
+
assistant_message_tool_name=assistant_message_tool_name,
|
|
674
|
+
assistant_message_tool_kwarg=assistant_message_tool_kwarg,
|
|
675
|
+
include_err=include_err,
|
|
894
676
|
request_options=request_options,
|
|
895
677
|
)
|
|
896
|
-
|
|
897
|
-
if 200 <= _response.status_code < 300:
|
|
898
|
-
return typing.cast(
|
|
899
|
-
typing.List[LettaMessageUnion],
|
|
900
|
-
construct_type(
|
|
901
|
-
type_=typing.List[LettaMessageUnion], # type: ignore
|
|
902
|
-
object_=_response.json(),
|
|
903
|
-
),
|
|
904
|
-
)
|
|
905
|
-
if _response.status_code == 422:
|
|
906
|
-
raise UnprocessableEntityError(
|
|
907
|
-
typing.cast(
|
|
908
|
-
HttpValidationError,
|
|
909
|
-
construct_type(
|
|
910
|
-
type_=HttpValidationError, # type: ignore
|
|
911
|
-
object_=_response.json(),
|
|
912
|
-
),
|
|
913
|
-
)
|
|
914
|
-
)
|
|
915
|
-
_response_json = _response.json()
|
|
916
|
-
except JSONDecodeError:
|
|
917
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
918
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
678
|
+
return _response.data
|
|
919
679
|
|
|
920
680
|
async def create(
|
|
921
681
|
self,
|
|
@@ -997,46 +757,18 @@ class AsyncMessagesClient:
|
|
|
997
757
|
|
|
998
758
|
asyncio.run(main())
|
|
999
759
|
"""
|
|
1000
|
-
_response = await self.
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
"assistant_message_tool_name": assistant_message_tool_name,
|
|
1010
|
-
"assistant_message_tool_kwarg": assistant_message_tool_kwarg,
|
|
1011
|
-
"include_return_message_types": include_return_message_types,
|
|
1012
|
-
"enable_thinking": enable_thinking,
|
|
1013
|
-
},
|
|
760
|
+
_response = await self._raw_client.create(
|
|
761
|
+
agent_id,
|
|
762
|
+
messages=messages,
|
|
763
|
+
max_steps=max_steps,
|
|
764
|
+
use_assistant_message=use_assistant_message,
|
|
765
|
+
assistant_message_tool_name=assistant_message_tool_name,
|
|
766
|
+
assistant_message_tool_kwarg=assistant_message_tool_kwarg,
|
|
767
|
+
include_return_message_types=include_return_message_types,
|
|
768
|
+
enable_thinking=enable_thinking,
|
|
1014
769
|
request_options=request_options,
|
|
1015
|
-
omit=OMIT,
|
|
1016
770
|
)
|
|
1017
|
-
|
|
1018
|
-
if 200 <= _response.status_code < 300:
|
|
1019
|
-
return typing.cast(
|
|
1020
|
-
LettaResponse,
|
|
1021
|
-
construct_type(
|
|
1022
|
-
type_=LettaResponse, # type: ignore
|
|
1023
|
-
object_=_response.json(),
|
|
1024
|
-
),
|
|
1025
|
-
)
|
|
1026
|
-
if _response.status_code == 422:
|
|
1027
|
-
raise UnprocessableEntityError(
|
|
1028
|
-
typing.cast(
|
|
1029
|
-
HttpValidationError,
|
|
1030
|
-
construct_type(
|
|
1031
|
-
type_=HttpValidationError, # type: ignore
|
|
1032
|
-
object_=_response.json(),
|
|
1033
|
-
),
|
|
1034
|
-
)
|
|
1035
|
-
)
|
|
1036
|
-
_response_json = _response.json()
|
|
1037
|
-
except JSONDecodeError:
|
|
1038
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
1039
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
771
|
+
return _response.data
|
|
1040
772
|
|
|
1041
773
|
async def modify(
|
|
1042
774
|
self,
|
|
@@ -1089,38 +821,10 @@ class AsyncMessagesClient:
|
|
|
1089
821
|
|
|
1090
822
|
asyncio.run(main())
|
|
1091
823
|
"""
|
|
1092
|
-
_response = await self.
|
|
1093
|
-
|
|
1094
|
-
method="PATCH",
|
|
1095
|
-
json=convert_and_respect_annotation_metadata(
|
|
1096
|
-
object_=request, annotation=MessagesModifyRequest, direction="write"
|
|
1097
|
-
),
|
|
1098
|
-
request_options=request_options,
|
|
1099
|
-
omit=OMIT,
|
|
824
|
+
_response = await self._raw_client.modify(
|
|
825
|
+
agent_id, message_id, request=request, request_options=request_options
|
|
1100
826
|
)
|
|
1101
|
-
|
|
1102
|
-
if 200 <= _response.status_code < 300:
|
|
1103
|
-
return typing.cast(
|
|
1104
|
-
MessagesModifyResponse,
|
|
1105
|
-
construct_type(
|
|
1106
|
-
type_=MessagesModifyResponse, # type: ignore
|
|
1107
|
-
object_=_response.json(),
|
|
1108
|
-
),
|
|
1109
|
-
)
|
|
1110
|
-
if _response.status_code == 422:
|
|
1111
|
-
raise UnprocessableEntityError(
|
|
1112
|
-
typing.cast(
|
|
1113
|
-
HttpValidationError,
|
|
1114
|
-
construct_type(
|
|
1115
|
-
type_=HttpValidationError, # type: ignore
|
|
1116
|
-
object_=_response.json(),
|
|
1117
|
-
),
|
|
1118
|
-
)
|
|
1119
|
-
)
|
|
1120
|
-
_response_json = _response.json()
|
|
1121
|
-
except JSONDecodeError:
|
|
1122
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
1123
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
827
|
+
return _response.data
|
|
1124
828
|
|
|
1125
829
|
async def create_stream(
|
|
1126
830
|
self,
|
|
@@ -1134,6 +838,7 @@ class AsyncMessagesClient:
|
|
|
1134
838
|
include_return_message_types: typing.Optional[typing.Sequence[MessageType]] = OMIT,
|
|
1135
839
|
enable_thinking: typing.Optional[str] = OMIT,
|
|
1136
840
|
stream_tokens: typing.Optional[bool] = OMIT,
|
|
841
|
+
include_pings: typing.Optional[bool] = OMIT,
|
|
1137
842
|
request_options: typing.Optional[RequestOptions] = None,
|
|
1138
843
|
) -> typing.AsyncIterator[LettaStreamingResponse]:
|
|
1139
844
|
"""
|
|
@@ -1169,6 +874,9 @@ class AsyncMessagesClient:
|
|
|
1169
874
|
stream_tokens : typing.Optional[bool]
|
|
1170
875
|
Flag to determine if individual tokens should be streamed. Set to True for token streaming (requires stream_steps = True).
|
|
1171
876
|
|
|
877
|
+
include_pings : typing.Optional[bool]
|
|
878
|
+
Whether to include periodic keepalive ping messages in the stream to prevent connection timeouts.
|
|
879
|
+
|
|
1172
880
|
request_options : typing.Optional[RequestOptions]
|
|
1173
881
|
Request-specific configuration.
|
|
1174
882
|
|
|
@@ -1209,54 +917,21 @@ class AsyncMessagesClient:
|
|
|
1209
917
|
|
|
1210
918
|
asyncio.run(main())
|
|
1211
919
|
"""
|
|
1212
|
-
async with self.
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
"include_return_message_types": include_return_message_types,
|
|
1224
|
-
"enable_thinking": enable_thinking,
|
|
1225
|
-
"stream_tokens": stream_tokens,
|
|
1226
|
-
},
|
|
920
|
+
async with self._raw_client.create_stream(
|
|
921
|
+
agent_id,
|
|
922
|
+
messages=messages,
|
|
923
|
+
max_steps=max_steps,
|
|
924
|
+
use_assistant_message=use_assistant_message,
|
|
925
|
+
assistant_message_tool_name=assistant_message_tool_name,
|
|
926
|
+
assistant_message_tool_kwarg=assistant_message_tool_kwarg,
|
|
927
|
+
include_return_message_types=include_return_message_types,
|
|
928
|
+
enable_thinking=enable_thinking,
|
|
929
|
+
stream_tokens=stream_tokens,
|
|
930
|
+
include_pings=include_pings,
|
|
1227
931
|
request_options=request_options,
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
if 200 <= _response.status_code < 300:
|
|
1232
|
-
_event_source = httpx_sse.EventSource(_response)
|
|
1233
|
-
async for _sse in _event_source.aiter_sse():
|
|
1234
|
-
try:
|
|
1235
|
-
yield typing.cast(
|
|
1236
|
-
LettaStreamingResponse,
|
|
1237
|
-
construct_type(
|
|
1238
|
-
type_=LettaStreamingResponse, # type: ignore
|
|
1239
|
-
object_=json.loads(_sse.data),
|
|
1240
|
-
),
|
|
1241
|
-
)
|
|
1242
|
-
except:
|
|
1243
|
-
pass
|
|
1244
|
-
return
|
|
1245
|
-
await _response.aread()
|
|
1246
|
-
if _response.status_code == 422:
|
|
1247
|
-
raise UnprocessableEntityError(
|
|
1248
|
-
typing.cast(
|
|
1249
|
-
HttpValidationError,
|
|
1250
|
-
construct_type(
|
|
1251
|
-
type_=HttpValidationError, # type: ignore
|
|
1252
|
-
object_=_response.json(),
|
|
1253
|
-
),
|
|
1254
|
-
)
|
|
1255
|
-
)
|
|
1256
|
-
_response_json = _response.json()
|
|
1257
|
-
except JSONDecodeError:
|
|
1258
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
1259
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
932
|
+
) as r:
|
|
933
|
+
async for _chunk in r.data:
|
|
934
|
+
yield _chunk
|
|
1260
935
|
|
|
1261
936
|
async def cancel(
|
|
1262
937
|
self,
|
|
@@ -1304,36 +979,8 @@ class AsyncMessagesClient:
|
|
|
1304
979
|
|
|
1305
980
|
asyncio.run(main())
|
|
1306
981
|
"""
|
|
1307
|
-
_response = await self.
|
|
1308
|
-
|
|
1309
|
-
method="POST",
|
|
1310
|
-
json=request,
|
|
1311
|
-
request_options=request_options,
|
|
1312
|
-
omit=OMIT,
|
|
1313
|
-
)
|
|
1314
|
-
try:
|
|
1315
|
-
if 200 <= _response.status_code < 300:
|
|
1316
|
-
return typing.cast(
|
|
1317
|
-
typing.Dict[str, typing.Optional[typing.Any]],
|
|
1318
|
-
construct_type(
|
|
1319
|
-
type_=typing.Dict[str, typing.Optional[typing.Any]], # type: ignore
|
|
1320
|
-
object_=_response.json(),
|
|
1321
|
-
),
|
|
1322
|
-
)
|
|
1323
|
-
if _response.status_code == 422:
|
|
1324
|
-
raise UnprocessableEntityError(
|
|
1325
|
-
typing.cast(
|
|
1326
|
-
HttpValidationError,
|
|
1327
|
-
construct_type(
|
|
1328
|
-
type_=HttpValidationError, # type: ignore
|
|
1329
|
-
object_=_response.json(),
|
|
1330
|
-
),
|
|
1331
|
-
)
|
|
1332
|
-
)
|
|
1333
|
-
_response_json = _response.json()
|
|
1334
|
-
except JSONDecodeError:
|
|
1335
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
1336
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
982
|
+
_response = await self._raw_client.cancel(agent_id, request=request, request_options=request_options)
|
|
983
|
+
return _response.data
|
|
1337
984
|
|
|
1338
985
|
async def create_async(
|
|
1339
986
|
self,
|
|
@@ -1422,50 +1069,19 @@ class AsyncMessagesClient:
|
|
|
1422
1069
|
|
|
1423
1070
|
asyncio.run(main())
|
|
1424
1071
|
"""
|
|
1425
|
-
_response = await self.
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
"assistant_message_tool_kwarg": assistant_message_tool_kwarg,
|
|
1436
|
-
"include_return_message_types": include_return_message_types,
|
|
1437
|
-
"enable_thinking": enable_thinking,
|
|
1438
|
-
"callback_url": callback_url,
|
|
1439
|
-
},
|
|
1440
|
-
headers={
|
|
1441
|
-
"content-type": "application/json",
|
|
1442
|
-
},
|
|
1072
|
+
_response = await self._raw_client.create_async(
|
|
1073
|
+
agent_id,
|
|
1074
|
+
messages=messages,
|
|
1075
|
+
max_steps=max_steps,
|
|
1076
|
+
use_assistant_message=use_assistant_message,
|
|
1077
|
+
assistant_message_tool_name=assistant_message_tool_name,
|
|
1078
|
+
assistant_message_tool_kwarg=assistant_message_tool_kwarg,
|
|
1079
|
+
include_return_message_types=include_return_message_types,
|
|
1080
|
+
enable_thinking=enable_thinking,
|
|
1081
|
+
callback_url=callback_url,
|
|
1443
1082
|
request_options=request_options,
|
|
1444
|
-
omit=OMIT,
|
|
1445
1083
|
)
|
|
1446
|
-
|
|
1447
|
-
if 200 <= _response.status_code < 300:
|
|
1448
|
-
return typing.cast(
|
|
1449
|
-
Run,
|
|
1450
|
-
construct_type(
|
|
1451
|
-
type_=Run, # type: ignore
|
|
1452
|
-
object_=_response.json(),
|
|
1453
|
-
),
|
|
1454
|
-
)
|
|
1455
|
-
if _response.status_code == 422:
|
|
1456
|
-
raise UnprocessableEntityError(
|
|
1457
|
-
typing.cast(
|
|
1458
|
-
HttpValidationError,
|
|
1459
|
-
construct_type(
|
|
1460
|
-
type_=HttpValidationError, # type: ignore
|
|
1461
|
-
object_=_response.json(),
|
|
1462
|
-
),
|
|
1463
|
-
)
|
|
1464
|
-
)
|
|
1465
|
-
_response_json = _response.json()
|
|
1466
|
-
except JSONDecodeError:
|
|
1467
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
1468
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
1084
|
+
return _response.data
|
|
1469
1085
|
|
|
1470
1086
|
async def reset(
|
|
1471
1087
|
self,
|
|
@@ -1512,37 +1128,10 @@ class AsyncMessagesClient:
|
|
|
1512
1128
|
|
|
1513
1129
|
asyncio.run(main())
|
|
1514
1130
|
"""
|
|
1515
|
-
_response = await self.
|
|
1516
|
-
|
|
1517
|
-
method="PATCH",
|
|
1518
|
-
params={
|
|
1519
|
-
"add_default_initial_messages": add_default_initial_messages,
|
|
1520
|
-
},
|
|
1521
|
-
request_options=request_options,
|
|
1131
|
+
_response = await self._raw_client.reset(
|
|
1132
|
+
agent_id, add_default_initial_messages=add_default_initial_messages, request_options=request_options
|
|
1522
1133
|
)
|
|
1523
|
-
|
|
1524
|
-
if 200 <= _response.status_code < 300:
|
|
1525
|
-
return typing.cast(
|
|
1526
|
-
AgentState,
|
|
1527
|
-
construct_type(
|
|
1528
|
-
type_=AgentState, # type: ignore
|
|
1529
|
-
object_=_response.json(),
|
|
1530
|
-
),
|
|
1531
|
-
)
|
|
1532
|
-
if _response.status_code == 422:
|
|
1533
|
-
raise UnprocessableEntityError(
|
|
1534
|
-
typing.cast(
|
|
1535
|
-
HttpValidationError,
|
|
1536
|
-
construct_type(
|
|
1537
|
-
type_=HttpValidationError, # type: ignore
|
|
1538
|
-
object_=_response.json(),
|
|
1539
|
-
),
|
|
1540
|
-
)
|
|
1541
|
-
)
|
|
1542
|
-
_response_json = _response.json()
|
|
1543
|
-
except JSONDecodeError:
|
|
1544
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
1545
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
1134
|
+
return _response.data
|
|
1546
1135
|
|
|
1547
1136
|
async def preview_raw_payload(
|
|
1548
1137
|
self,
|
|
@@ -1604,35 +1193,7 @@ class AsyncMessagesClient:
|
|
|
1604
1193
|
|
|
1605
1194
|
asyncio.run(main())
|
|
1606
1195
|
"""
|
|
1607
|
-
_response = await self.
|
|
1608
|
-
|
|
1609
|
-
method="POST",
|
|
1610
|
-
json=convert_and_respect_annotation_metadata(
|
|
1611
|
-
object_=request, annotation=MessagesPreviewRawPayloadRequest, direction="write"
|
|
1612
|
-
),
|
|
1613
|
-
request_options=request_options,
|
|
1614
|
-
omit=OMIT,
|
|
1196
|
+
_response = await self._raw_client.preview_raw_payload(
|
|
1197
|
+
agent_id, request=request, request_options=request_options
|
|
1615
1198
|
)
|
|
1616
|
-
|
|
1617
|
-
if 200 <= _response.status_code < 300:
|
|
1618
|
-
return typing.cast(
|
|
1619
|
-
typing.Dict[str, typing.Optional[typing.Any]],
|
|
1620
|
-
construct_type(
|
|
1621
|
-
type_=typing.Dict[str, typing.Optional[typing.Any]], # type: ignore
|
|
1622
|
-
object_=_response.json(),
|
|
1623
|
-
),
|
|
1624
|
-
)
|
|
1625
|
-
if _response.status_code == 422:
|
|
1626
|
-
raise UnprocessableEntityError(
|
|
1627
|
-
typing.cast(
|
|
1628
|
-
HttpValidationError,
|
|
1629
|
-
construct_type(
|
|
1630
|
-
type_=HttpValidationError, # type: ignore
|
|
1631
|
-
object_=_response.json(),
|
|
1632
|
-
),
|
|
1633
|
-
)
|
|
1634
|
-
)
|
|
1635
|
-
_response_json = _response.json()
|
|
1636
|
-
except JSONDecodeError:
|
|
1637
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
1638
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
1199
|
+
return _response.data
|