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,21 +1,27 @@
|
|
|
1
1
|
# This file was auto-generated by Fern from our API Definition.
|
|
2
2
|
|
|
3
|
-
from ...core.client_wrapper import SyncClientWrapper
|
|
4
3
|
import typing
|
|
4
|
+
|
|
5
|
+
from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
|
5
6
|
from ...core.request_options import RequestOptions
|
|
6
7
|
from ...types.step import Step
|
|
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
|
|
13
|
-
from ...core.client_wrapper import AsyncClientWrapper
|
|
8
|
+
from .raw_client import AsyncRawStepsClient, RawStepsClient
|
|
14
9
|
|
|
15
10
|
|
|
16
11
|
class StepsClient:
|
|
17
12
|
def __init__(self, *, client_wrapper: SyncClientWrapper):
|
|
18
|
-
self.
|
|
13
|
+
self._raw_client = RawStepsClient(client_wrapper=client_wrapper)
|
|
14
|
+
|
|
15
|
+
@property
|
|
16
|
+
def with_raw_response(self) -> RawStepsClient:
|
|
17
|
+
"""
|
|
18
|
+
Retrieves a raw implementation of this client that returns raw responses.
|
|
19
|
+
|
|
20
|
+
Returns
|
|
21
|
+
-------
|
|
22
|
+
RawStepsClient
|
|
23
|
+
"""
|
|
24
|
+
return self._raw_client
|
|
19
25
|
|
|
20
26
|
def list(
|
|
21
27
|
self,
|
|
@@ -76,45 +82,26 @@ class StepsClient:
|
|
|
76
82
|
run_id="run_id",
|
|
77
83
|
)
|
|
78
84
|
"""
|
|
79
|
-
_response = self.
|
|
80
|
-
|
|
81
|
-
method="GET",
|
|
82
|
-
params={
|
|
83
|
-
"before": before,
|
|
84
|
-
"after": after,
|
|
85
|
-
"limit": limit,
|
|
86
|
-
"order": order,
|
|
87
|
-
},
|
|
88
|
-
request_options=request_options,
|
|
85
|
+
_response = self._raw_client.list(
|
|
86
|
+
run_id, before=before, after=after, limit=limit, order=order, request_options=request_options
|
|
89
87
|
)
|
|
90
|
-
|
|
91
|
-
if 200 <= _response.status_code < 300:
|
|
92
|
-
return typing.cast(
|
|
93
|
-
typing.List[Step],
|
|
94
|
-
construct_type(
|
|
95
|
-
type_=typing.List[Step], # type: ignore
|
|
96
|
-
object_=_response.json(),
|
|
97
|
-
),
|
|
98
|
-
)
|
|
99
|
-
if _response.status_code == 422:
|
|
100
|
-
raise UnprocessableEntityError(
|
|
101
|
-
typing.cast(
|
|
102
|
-
HttpValidationError,
|
|
103
|
-
construct_type(
|
|
104
|
-
type_=HttpValidationError, # type: ignore
|
|
105
|
-
object_=_response.json(),
|
|
106
|
-
),
|
|
107
|
-
)
|
|
108
|
-
)
|
|
109
|
-
_response_json = _response.json()
|
|
110
|
-
except JSONDecodeError:
|
|
111
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
112
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
88
|
+
return _response.data
|
|
113
89
|
|
|
114
90
|
|
|
115
91
|
class AsyncStepsClient:
|
|
116
92
|
def __init__(self, *, client_wrapper: AsyncClientWrapper):
|
|
117
|
-
self.
|
|
93
|
+
self._raw_client = AsyncRawStepsClient(client_wrapper=client_wrapper)
|
|
94
|
+
|
|
95
|
+
@property
|
|
96
|
+
def with_raw_response(self) -> AsyncRawStepsClient:
|
|
97
|
+
"""
|
|
98
|
+
Retrieves a raw implementation of this client that returns raw responses.
|
|
99
|
+
|
|
100
|
+
Returns
|
|
101
|
+
-------
|
|
102
|
+
AsyncRawStepsClient
|
|
103
|
+
"""
|
|
104
|
+
return self._raw_client
|
|
118
105
|
|
|
119
106
|
async def list(
|
|
120
107
|
self,
|
|
@@ -183,37 +170,7 @@ class AsyncStepsClient:
|
|
|
183
170
|
|
|
184
171
|
asyncio.run(main())
|
|
185
172
|
"""
|
|
186
|
-
_response = await self.
|
|
187
|
-
|
|
188
|
-
method="GET",
|
|
189
|
-
params={
|
|
190
|
-
"before": before,
|
|
191
|
-
"after": after,
|
|
192
|
-
"limit": limit,
|
|
193
|
-
"order": order,
|
|
194
|
-
},
|
|
195
|
-
request_options=request_options,
|
|
173
|
+
_response = await self._raw_client.list(
|
|
174
|
+
run_id, before=before, after=after, limit=limit, order=order, request_options=request_options
|
|
196
175
|
)
|
|
197
|
-
|
|
198
|
-
if 200 <= _response.status_code < 300:
|
|
199
|
-
return typing.cast(
|
|
200
|
-
typing.List[Step],
|
|
201
|
-
construct_type(
|
|
202
|
-
type_=typing.List[Step], # type: ignore
|
|
203
|
-
object_=_response.json(),
|
|
204
|
-
),
|
|
205
|
-
)
|
|
206
|
-
if _response.status_code == 422:
|
|
207
|
-
raise UnprocessableEntityError(
|
|
208
|
-
typing.cast(
|
|
209
|
-
HttpValidationError,
|
|
210
|
-
construct_type(
|
|
211
|
-
type_=HttpValidationError, # type: ignore
|
|
212
|
-
object_=_response.json(),
|
|
213
|
-
),
|
|
214
|
-
)
|
|
215
|
-
)
|
|
216
|
-
_response_json = _response.json()
|
|
217
|
-
except JSONDecodeError:
|
|
218
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
219
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
176
|
+
return _response.data
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
from json.decoder import JSONDecodeError
|
|
5
|
+
|
|
6
|
+
from ...core.api_error import ApiError
|
|
7
|
+
from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
|
8
|
+
from ...core.http_response import AsyncHttpResponse, HttpResponse
|
|
9
|
+
from ...core.jsonable_encoder import jsonable_encoder
|
|
10
|
+
from ...core.request_options import RequestOptions
|
|
11
|
+
from ...core.unchecked_base_model import construct_type
|
|
12
|
+
from ...errors.unprocessable_entity_error import UnprocessableEntityError
|
|
13
|
+
from ...types.http_validation_error import HttpValidationError
|
|
14
|
+
from ...types.step import Step
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class RawStepsClient:
|
|
18
|
+
def __init__(self, *, client_wrapper: SyncClientWrapper):
|
|
19
|
+
self._client_wrapper = client_wrapper
|
|
20
|
+
|
|
21
|
+
def list(
|
|
22
|
+
self,
|
|
23
|
+
run_id: str,
|
|
24
|
+
*,
|
|
25
|
+
before: typing.Optional[str] = None,
|
|
26
|
+
after: typing.Optional[str] = None,
|
|
27
|
+
limit: typing.Optional[int] = None,
|
|
28
|
+
order: typing.Optional[str] = None,
|
|
29
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
30
|
+
) -> HttpResponse[typing.List[Step]]:
|
|
31
|
+
"""
|
|
32
|
+
Get messages associated with a run with filtering options.
|
|
33
|
+
|
|
34
|
+
Args:
|
|
35
|
+
run_id: ID of the run
|
|
36
|
+
before: A cursor for use in pagination. `before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_foo, your subsequent call can include before=obj_foo in order to fetch the previous page of the list.
|
|
37
|
+
after: A cursor for use in pagination. `after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include after=obj_foo in order to fetch the next page of the list.
|
|
38
|
+
limit: Maximum number of steps to return
|
|
39
|
+
order: Sort order by the created_at timestamp of the objects. asc for ascending order and desc for descending order.
|
|
40
|
+
|
|
41
|
+
Returns:
|
|
42
|
+
A list of steps associated with the run.
|
|
43
|
+
|
|
44
|
+
Parameters
|
|
45
|
+
----------
|
|
46
|
+
run_id : str
|
|
47
|
+
|
|
48
|
+
before : typing.Optional[str]
|
|
49
|
+
Cursor for pagination
|
|
50
|
+
|
|
51
|
+
after : typing.Optional[str]
|
|
52
|
+
Cursor for pagination
|
|
53
|
+
|
|
54
|
+
limit : typing.Optional[int]
|
|
55
|
+
Maximum number of messages to return
|
|
56
|
+
|
|
57
|
+
order : typing.Optional[str]
|
|
58
|
+
Sort order by the created_at timestamp of the objects. asc for ascending order and desc for descending order.
|
|
59
|
+
|
|
60
|
+
request_options : typing.Optional[RequestOptions]
|
|
61
|
+
Request-specific configuration.
|
|
62
|
+
|
|
63
|
+
Returns
|
|
64
|
+
-------
|
|
65
|
+
HttpResponse[typing.List[Step]]
|
|
66
|
+
Successful Response
|
|
67
|
+
"""
|
|
68
|
+
_response = self._client_wrapper.httpx_client.request(
|
|
69
|
+
f"v1/runs/{jsonable_encoder(run_id)}/steps",
|
|
70
|
+
method="GET",
|
|
71
|
+
params={
|
|
72
|
+
"before": before,
|
|
73
|
+
"after": after,
|
|
74
|
+
"limit": limit,
|
|
75
|
+
"order": order,
|
|
76
|
+
},
|
|
77
|
+
request_options=request_options,
|
|
78
|
+
)
|
|
79
|
+
try:
|
|
80
|
+
if 200 <= _response.status_code < 300:
|
|
81
|
+
_data = typing.cast(
|
|
82
|
+
typing.List[Step],
|
|
83
|
+
construct_type(
|
|
84
|
+
type_=typing.List[Step], # type: ignore
|
|
85
|
+
object_=_response.json(),
|
|
86
|
+
),
|
|
87
|
+
)
|
|
88
|
+
return HttpResponse(response=_response, data=_data)
|
|
89
|
+
if _response.status_code == 422:
|
|
90
|
+
raise UnprocessableEntityError(
|
|
91
|
+
headers=dict(_response.headers),
|
|
92
|
+
body=typing.cast(
|
|
93
|
+
HttpValidationError,
|
|
94
|
+
construct_type(
|
|
95
|
+
type_=HttpValidationError, # type: ignore
|
|
96
|
+
object_=_response.json(),
|
|
97
|
+
),
|
|
98
|
+
),
|
|
99
|
+
)
|
|
100
|
+
_response_json = _response.json()
|
|
101
|
+
except JSONDecodeError:
|
|
102
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
103
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
class AsyncRawStepsClient:
|
|
107
|
+
def __init__(self, *, client_wrapper: AsyncClientWrapper):
|
|
108
|
+
self._client_wrapper = client_wrapper
|
|
109
|
+
|
|
110
|
+
async def list(
|
|
111
|
+
self,
|
|
112
|
+
run_id: str,
|
|
113
|
+
*,
|
|
114
|
+
before: typing.Optional[str] = None,
|
|
115
|
+
after: typing.Optional[str] = None,
|
|
116
|
+
limit: typing.Optional[int] = None,
|
|
117
|
+
order: typing.Optional[str] = None,
|
|
118
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
119
|
+
) -> AsyncHttpResponse[typing.List[Step]]:
|
|
120
|
+
"""
|
|
121
|
+
Get messages associated with a run with filtering options.
|
|
122
|
+
|
|
123
|
+
Args:
|
|
124
|
+
run_id: ID of the run
|
|
125
|
+
before: A cursor for use in pagination. `before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_foo, your subsequent call can include before=obj_foo in order to fetch the previous page of the list.
|
|
126
|
+
after: A cursor for use in pagination. `after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include after=obj_foo in order to fetch the next page of the list.
|
|
127
|
+
limit: Maximum number of steps to return
|
|
128
|
+
order: Sort order by the created_at timestamp of the objects. asc for ascending order and desc for descending order.
|
|
129
|
+
|
|
130
|
+
Returns:
|
|
131
|
+
A list of steps associated with the run.
|
|
132
|
+
|
|
133
|
+
Parameters
|
|
134
|
+
----------
|
|
135
|
+
run_id : str
|
|
136
|
+
|
|
137
|
+
before : typing.Optional[str]
|
|
138
|
+
Cursor for pagination
|
|
139
|
+
|
|
140
|
+
after : typing.Optional[str]
|
|
141
|
+
Cursor for pagination
|
|
142
|
+
|
|
143
|
+
limit : typing.Optional[int]
|
|
144
|
+
Maximum number of messages to return
|
|
145
|
+
|
|
146
|
+
order : typing.Optional[str]
|
|
147
|
+
Sort order by the created_at timestamp of the objects. asc for ascending order and desc for descending order.
|
|
148
|
+
|
|
149
|
+
request_options : typing.Optional[RequestOptions]
|
|
150
|
+
Request-specific configuration.
|
|
151
|
+
|
|
152
|
+
Returns
|
|
153
|
+
-------
|
|
154
|
+
AsyncHttpResponse[typing.List[Step]]
|
|
155
|
+
Successful Response
|
|
156
|
+
"""
|
|
157
|
+
_response = await self._client_wrapper.httpx_client.request(
|
|
158
|
+
f"v1/runs/{jsonable_encoder(run_id)}/steps",
|
|
159
|
+
method="GET",
|
|
160
|
+
params={
|
|
161
|
+
"before": before,
|
|
162
|
+
"after": after,
|
|
163
|
+
"limit": limit,
|
|
164
|
+
"order": order,
|
|
165
|
+
},
|
|
166
|
+
request_options=request_options,
|
|
167
|
+
)
|
|
168
|
+
try:
|
|
169
|
+
if 200 <= _response.status_code < 300:
|
|
170
|
+
_data = typing.cast(
|
|
171
|
+
typing.List[Step],
|
|
172
|
+
construct_type(
|
|
173
|
+
type_=typing.List[Step], # type: ignore
|
|
174
|
+
object_=_response.json(),
|
|
175
|
+
),
|
|
176
|
+
)
|
|
177
|
+
return AsyncHttpResponse(response=_response, data=_data)
|
|
178
|
+
if _response.status_code == 422:
|
|
179
|
+
raise UnprocessableEntityError(
|
|
180
|
+
headers=dict(_response.headers),
|
|
181
|
+
body=typing.cast(
|
|
182
|
+
HttpValidationError,
|
|
183
|
+
construct_type(
|
|
184
|
+
type_=HttpValidationError, # type: ignore
|
|
185
|
+
object_=_response.json(),
|
|
186
|
+
),
|
|
187
|
+
),
|
|
188
|
+
)
|
|
189
|
+
_response_json = _response.json()
|
|
190
|
+
except JSONDecodeError:
|
|
191
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
192
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
@@ -1,21 +1,27 @@
|
|
|
1
1
|
# This file was auto-generated by Fern from our API Definition.
|
|
2
2
|
|
|
3
|
-
from ...core.client_wrapper import SyncClientWrapper
|
|
4
3
|
import typing
|
|
4
|
+
|
|
5
|
+
from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
|
5
6
|
from ...core.request_options import RequestOptions
|
|
6
7
|
from ...types.usage_statistics import UsageStatistics
|
|
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
|
|
13
|
-
from ...core.client_wrapper import AsyncClientWrapper
|
|
8
|
+
from .raw_client import AsyncRawUsageClient, RawUsageClient
|
|
14
9
|
|
|
15
10
|
|
|
16
11
|
class UsageClient:
|
|
17
12
|
def __init__(self, *, client_wrapper: SyncClientWrapper):
|
|
18
|
-
self.
|
|
13
|
+
self._raw_client = RawUsageClient(client_wrapper=client_wrapper)
|
|
14
|
+
|
|
15
|
+
@property
|
|
16
|
+
def with_raw_response(self) -> RawUsageClient:
|
|
17
|
+
"""
|
|
18
|
+
Retrieves a raw implementation of this client that returns raw responses.
|
|
19
|
+
|
|
20
|
+
Returns
|
|
21
|
+
-------
|
|
22
|
+
RawUsageClient
|
|
23
|
+
"""
|
|
24
|
+
return self._raw_client
|
|
19
25
|
|
|
20
26
|
def retrieve(self, run_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> UsageStatistics:
|
|
21
27
|
"""
|
|
@@ -45,39 +51,24 @@ class UsageClient:
|
|
|
45
51
|
run_id="run_id",
|
|
46
52
|
)
|
|
47
53
|
"""
|
|
48
|
-
_response = self.
|
|
49
|
-
|
|
50
|
-
method="GET",
|
|
51
|
-
request_options=request_options,
|
|
52
|
-
)
|
|
53
|
-
try:
|
|
54
|
-
if 200 <= _response.status_code < 300:
|
|
55
|
-
return typing.cast(
|
|
56
|
-
UsageStatistics,
|
|
57
|
-
construct_type(
|
|
58
|
-
type_=UsageStatistics, # type: ignore
|
|
59
|
-
object_=_response.json(),
|
|
60
|
-
),
|
|
61
|
-
)
|
|
62
|
-
if _response.status_code == 422:
|
|
63
|
-
raise UnprocessableEntityError(
|
|
64
|
-
typing.cast(
|
|
65
|
-
HttpValidationError,
|
|
66
|
-
construct_type(
|
|
67
|
-
type_=HttpValidationError, # type: ignore
|
|
68
|
-
object_=_response.json(),
|
|
69
|
-
),
|
|
70
|
-
)
|
|
71
|
-
)
|
|
72
|
-
_response_json = _response.json()
|
|
73
|
-
except JSONDecodeError:
|
|
74
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
75
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
54
|
+
_response = self._raw_client.retrieve(run_id, request_options=request_options)
|
|
55
|
+
return _response.data
|
|
76
56
|
|
|
77
57
|
|
|
78
58
|
class AsyncUsageClient:
|
|
79
59
|
def __init__(self, *, client_wrapper: AsyncClientWrapper):
|
|
80
|
-
self.
|
|
60
|
+
self._raw_client = AsyncRawUsageClient(client_wrapper=client_wrapper)
|
|
61
|
+
|
|
62
|
+
@property
|
|
63
|
+
def with_raw_response(self) -> AsyncRawUsageClient:
|
|
64
|
+
"""
|
|
65
|
+
Retrieves a raw implementation of this client that returns raw responses.
|
|
66
|
+
|
|
67
|
+
Returns
|
|
68
|
+
-------
|
|
69
|
+
AsyncRawUsageClient
|
|
70
|
+
"""
|
|
71
|
+
return self._raw_client
|
|
81
72
|
|
|
82
73
|
async def retrieve(
|
|
83
74
|
self, run_id: str, *, request_options: typing.Optional[RequestOptions] = None
|
|
@@ -117,31 +108,5 @@ class AsyncUsageClient:
|
|
|
117
108
|
|
|
118
109
|
asyncio.run(main())
|
|
119
110
|
"""
|
|
120
|
-
_response = await self.
|
|
121
|
-
|
|
122
|
-
method="GET",
|
|
123
|
-
request_options=request_options,
|
|
124
|
-
)
|
|
125
|
-
try:
|
|
126
|
-
if 200 <= _response.status_code < 300:
|
|
127
|
-
return typing.cast(
|
|
128
|
-
UsageStatistics,
|
|
129
|
-
construct_type(
|
|
130
|
-
type_=UsageStatistics, # type: ignore
|
|
131
|
-
object_=_response.json(),
|
|
132
|
-
),
|
|
133
|
-
)
|
|
134
|
-
if _response.status_code == 422:
|
|
135
|
-
raise UnprocessableEntityError(
|
|
136
|
-
typing.cast(
|
|
137
|
-
HttpValidationError,
|
|
138
|
-
construct_type(
|
|
139
|
-
type_=HttpValidationError, # type: ignore
|
|
140
|
-
object_=_response.json(),
|
|
141
|
-
),
|
|
142
|
-
)
|
|
143
|
-
)
|
|
144
|
-
_response_json = _response.json()
|
|
145
|
-
except JSONDecodeError:
|
|
146
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
147
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
111
|
+
_response = await self._raw_client.retrieve(run_id, request_options=request_options)
|
|
112
|
+
return _response.data
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
from json.decoder import JSONDecodeError
|
|
5
|
+
|
|
6
|
+
from ...core.api_error import ApiError
|
|
7
|
+
from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
|
8
|
+
from ...core.http_response import AsyncHttpResponse, HttpResponse
|
|
9
|
+
from ...core.jsonable_encoder import jsonable_encoder
|
|
10
|
+
from ...core.request_options import RequestOptions
|
|
11
|
+
from ...core.unchecked_base_model import construct_type
|
|
12
|
+
from ...errors.unprocessable_entity_error import UnprocessableEntityError
|
|
13
|
+
from ...types.http_validation_error import HttpValidationError
|
|
14
|
+
from ...types.usage_statistics import UsageStatistics
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class RawUsageClient:
|
|
18
|
+
def __init__(self, *, client_wrapper: SyncClientWrapper):
|
|
19
|
+
self._client_wrapper = client_wrapper
|
|
20
|
+
|
|
21
|
+
def retrieve(
|
|
22
|
+
self, run_id: str, *, request_options: typing.Optional[RequestOptions] = None
|
|
23
|
+
) -> HttpResponse[UsageStatistics]:
|
|
24
|
+
"""
|
|
25
|
+
Get usage statistics for a run.
|
|
26
|
+
|
|
27
|
+
Parameters
|
|
28
|
+
----------
|
|
29
|
+
run_id : str
|
|
30
|
+
|
|
31
|
+
request_options : typing.Optional[RequestOptions]
|
|
32
|
+
Request-specific configuration.
|
|
33
|
+
|
|
34
|
+
Returns
|
|
35
|
+
-------
|
|
36
|
+
HttpResponse[UsageStatistics]
|
|
37
|
+
Successful Response
|
|
38
|
+
"""
|
|
39
|
+
_response = self._client_wrapper.httpx_client.request(
|
|
40
|
+
f"v1/runs/{jsonable_encoder(run_id)}/usage",
|
|
41
|
+
method="GET",
|
|
42
|
+
request_options=request_options,
|
|
43
|
+
)
|
|
44
|
+
try:
|
|
45
|
+
if 200 <= _response.status_code < 300:
|
|
46
|
+
_data = typing.cast(
|
|
47
|
+
UsageStatistics,
|
|
48
|
+
construct_type(
|
|
49
|
+
type_=UsageStatistics, # type: ignore
|
|
50
|
+
object_=_response.json(),
|
|
51
|
+
),
|
|
52
|
+
)
|
|
53
|
+
return HttpResponse(response=_response, data=_data)
|
|
54
|
+
if _response.status_code == 422:
|
|
55
|
+
raise UnprocessableEntityError(
|
|
56
|
+
headers=dict(_response.headers),
|
|
57
|
+
body=typing.cast(
|
|
58
|
+
HttpValidationError,
|
|
59
|
+
construct_type(
|
|
60
|
+
type_=HttpValidationError, # type: ignore
|
|
61
|
+
object_=_response.json(),
|
|
62
|
+
),
|
|
63
|
+
),
|
|
64
|
+
)
|
|
65
|
+
_response_json = _response.json()
|
|
66
|
+
except JSONDecodeError:
|
|
67
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
68
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
class AsyncRawUsageClient:
|
|
72
|
+
def __init__(self, *, client_wrapper: AsyncClientWrapper):
|
|
73
|
+
self._client_wrapper = client_wrapper
|
|
74
|
+
|
|
75
|
+
async def retrieve(
|
|
76
|
+
self, run_id: str, *, request_options: typing.Optional[RequestOptions] = None
|
|
77
|
+
) -> AsyncHttpResponse[UsageStatistics]:
|
|
78
|
+
"""
|
|
79
|
+
Get usage statistics for a run.
|
|
80
|
+
|
|
81
|
+
Parameters
|
|
82
|
+
----------
|
|
83
|
+
run_id : str
|
|
84
|
+
|
|
85
|
+
request_options : typing.Optional[RequestOptions]
|
|
86
|
+
Request-specific configuration.
|
|
87
|
+
|
|
88
|
+
Returns
|
|
89
|
+
-------
|
|
90
|
+
AsyncHttpResponse[UsageStatistics]
|
|
91
|
+
Successful Response
|
|
92
|
+
"""
|
|
93
|
+
_response = await self._client_wrapper.httpx_client.request(
|
|
94
|
+
f"v1/runs/{jsonable_encoder(run_id)}/usage",
|
|
95
|
+
method="GET",
|
|
96
|
+
request_options=request_options,
|
|
97
|
+
)
|
|
98
|
+
try:
|
|
99
|
+
if 200 <= _response.status_code < 300:
|
|
100
|
+
_data = typing.cast(
|
|
101
|
+
UsageStatistics,
|
|
102
|
+
construct_type(
|
|
103
|
+
type_=UsageStatistics, # type: ignore
|
|
104
|
+
object_=_response.json(),
|
|
105
|
+
),
|
|
106
|
+
)
|
|
107
|
+
return AsyncHttpResponse(response=_response, data=_data)
|
|
108
|
+
if _response.status_code == 422:
|
|
109
|
+
raise UnprocessableEntityError(
|
|
110
|
+
headers=dict(_response.headers),
|
|
111
|
+
body=typing.cast(
|
|
112
|
+
HttpValidationError,
|
|
113
|
+
construct_type(
|
|
114
|
+
type_=HttpValidationError, # type: ignore
|
|
115
|
+
object_=_response.json(),
|
|
116
|
+
),
|
|
117
|
+
),
|
|
118
|
+
)
|
|
119
|
+
_response_json = _response.json()
|
|
120
|
+
except JSONDecodeError:
|
|
121
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
122
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|