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
letta_client/tools/client.py
CHANGED
|
@@ -1,33 +1,25 @@
|
|
|
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
|
|
6
|
-
from ..types.
|
|
7
|
-
from ..
|
|
8
|
-
from ..
|
|
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
|
|
7
|
+
from ..types.action_model import ActionModel
|
|
8
|
+
from ..types.app_model import AppModel
|
|
9
|
+
from ..types.mcp_tool import McpTool
|
|
13
10
|
from ..types.pip_requirement import PipRequirement
|
|
14
|
-
from ..
|
|
11
|
+
from ..types.tool import Tool
|
|
15
12
|
from ..types.tool_return_message import ToolReturnMessage
|
|
16
|
-
from
|
|
17
|
-
from ..types.action_model import ActionModel
|
|
18
|
-
from .types.list_mcp_servers_response_value import ListMcpServersResponseValue
|
|
13
|
+
from .raw_client import AsyncRawToolsClient, RawToolsClient
|
|
19
14
|
from .types.add_mcp_server_request import AddMcpServerRequest
|
|
20
15
|
from .types.add_mcp_server_response_item import AddMcpServerResponseItem
|
|
21
|
-
from
|
|
16
|
+
from .types.connect_mcp_server_request import ConnectMcpServerRequest
|
|
22
17
|
from .types.delete_mcp_server_response_item import DeleteMcpServerResponseItem
|
|
18
|
+
from .types.list_mcp_servers_response_value import ListMcpServersResponseValue
|
|
19
|
+
from .types.streaming_response import StreamingResponse
|
|
20
|
+
from .types.test_mcp_server_request import TestMcpServerRequest
|
|
23
21
|
from .types.update_mcp_server_request import UpdateMcpServerRequest
|
|
24
22
|
from .types.update_mcp_server_response import UpdateMcpServerResponse
|
|
25
|
-
from .types.test_mcp_server_request import TestMcpServerRequest
|
|
26
|
-
from .types.connect_mcp_server_request import ConnectMcpServerRequest
|
|
27
|
-
from .types.streaming_response import StreamingResponse
|
|
28
|
-
import httpx_sse
|
|
29
|
-
import json
|
|
30
|
-
from ..core.client_wrapper import AsyncClientWrapper
|
|
31
23
|
|
|
32
24
|
# this is used as the default value for optional parameters
|
|
33
25
|
OMIT = typing.cast(typing.Any, ...)
|
|
@@ -35,7 +27,18 @@ OMIT = typing.cast(typing.Any, ...)
|
|
|
35
27
|
|
|
36
28
|
class ToolsClient:
|
|
37
29
|
def __init__(self, *, client_wrapper: SyncClientWrapper):
|
|
38
|
-
self.
|
|
30
|
+
self._raw_client = RawToolsClient(client_wrapper=client_wrapper)
|
|
31
|
+
|
|
32
|
+
@property
|
|
33
|
+
def with_raw_response(self) -> RawToolsClient:
|
|
34
|
+
"""
|
|
35
|
+
Retrieves a raw implementation of this client that returns raw responses.
|
|
36
|
+
|
|
37
|
+
Returns
|
|
38
|
+
-------
|
|
39
|
+
RawToolsClient
|
|
40
|
+
"""
|
|
41
|
+
return self._raw_client
|
|
39
42
|
|
|
40
43
|
def retrieve(self, tool_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Tool:
|
|
41
44
|
"""
|
|
@@ -65,34 +68,8 @@ class ToolsClient:
|
|
|
65
68
|
tool_id="tool_id",
|
|
66
69
|
)
|
|
67
70
|
"""
|
|
68
|
-
_response = self.
|
|
69
|
-
|
|
70
|
-
method="GET",
|
|
71
|
-
request_options=request_options,
|
|
72
|
-
)
|
|
73
|
-
try:
|
|
74
|
-
if 200 <= _response.status_code < 300:
|
|
75
|
-
return typing.cast(
|
|
76
|
-
Tool,
|
|
77
|
-
construct_type(
|
|
78
|
-
type_=Tool, # type: ignore
|
|
79
|
-
object_=_response.json(),
|
|
80
|
-
),
|
|
81
|
-
)
|
|
82
|
-
if _response.status_code == 422:
|
|
83
|
-
raise UnprocessableEntityError(
|
|
84
|
-
typing.cast(
|
|
85
|
-
HttpValidationError,
|
|
86
|
-
construct_type(
|
|
87
|
-
type_=HttpValidationError, # type: ignore
|
|
88
|
-
object_=_response.json(),
|
|
89
|
-
),
|
|
90
|
-
)
|
|
91
|
-
)
|
|
92
|
-
_response_json = _response.json()
|
|
93
|
-
except JSONDecodeError:
|
|
94
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
95
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
71
|
+
_response = self._raw_client.retrieve(tool_id, request_options=request_options)
|
|
72
|
+
return _response.data
|
|
96
73
|
|
|
97
74
|
def delete(
|
|
98
75
|
self, tool_id: str, *, request_options: typing.Optional[RequestOptions] = None
|
|
@@ -124,34 +101,8 @@ class ToolsClient:
|
|
|
124
101
|
tool_id="tool_id",
|
|
125
102
|
)
|
|
126
103
|
"""
|
|
127
|
-
_response = self.
|
|
128
|
-
|
|
129
|
-
method="DELETE",
|
|
130
|
-
request_options=request_options,
|
|
131
|
-
)
|
|
132
|
-
try:
|
|
133
|
-
if 200 <= _response.status_code < 300:
|
|
134
|
-
return typing.cast(
|
|
135
|
-
typing.Optional[typing.Any],
|
|
136
|
-
construct_type(
|
|
137
|
-
type_=typing.Optional[typing.Any], # type: ignore
|
|
138
|
-
object_=_response.json(),
|
|
139
|
-
),
|
|
140
|
-
)
|
|
141
|
-
if _response.status_code == 422:
|
|
142
|
-
raise UnprocessableEntityError(
|
|
143
|
-
typing.cast(
|
|
144
|
-
HttpValidationError,
|
|
145
|
-
construct_type(
|
|
146
|
-
type_=HttpValidationError, # type: ignore
|
|
147
|
-
object_=_response.json(),
|
|
148
|
-
),
|
|
149
|
-
)
|
|
150
|
-
)
|
|
151
|
-
_response_json = _response.json()
|
|
152
|
-
except JSONDecodeError:
|
|
153
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
154
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
104
|
+
_response = self._raw_client.delete(tool_id, request_options=request_options)
|
|
105
|
+
return _response.data
|
|
155
106
|
|
|
156
107
|
def modify(
|
|
157
108
|
self,
|
|
@@ -218,50 +169,19 @@ class ToolsClient:
|
|
|
218
169
|
tool_id="tool_id",
|
|
219
170
|
)
|
|
220
171
|
"""
|
|
221
|
-
_response = self.
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
"return_char_limit": return_char_limit,
|
|
232
|
-
"pip_requirements": convert_and_respect_annotation_metadata(
|
|
233
|
-
object_=pip_requirements, annotation=typing.Sequence[PipRequirement], direction="write"
|
|
234
|
-
),
|
|
235
|
-
},
|
|
236
|
-
headers={
|
|
237
|
-
"content-type": "application/json",
|
|
238
|
-
},
|
|
172
|
+
_response = self._raw_client.modify(
|
|
173
|
+
tool_id,
|
|
174
|
+
description=description,
|
|
175
|
+
tags=tags,
|
|
176
|
+
source_code=source_code,
|
|
177
|
+
source_type=source_type,
|
|
178
|
+
json_schema=json_schema,
|
|
179
|
+
args_json_schema=args_json_schema,
|
|
180
|
+
return_char_limit=return_char_limit,
|
|
181
|
+
pip_requirements=pip_requirements,
|
|
239
182
|
request_options=request_options,
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
try:
|
|
243
|
-
if 200 <= _response.status_code < 300:
|
|
244
|
-
return typing.cast(
|
|
245
|
-
Tool,
|
|
246
|
-
construct_type(
|
|
247
|
-
type_=Tool, # type: ignore
|
|
248
|
-
object_=_response.json(),
|
|
249
|
-
),
|
|
250
|
-
)
|
|
251
|
-
if _response.status_code == 422:
|
|
252
|
-
raise UnprocessableEntityError(
|
|
253
|
-
typing.cast(
|
|
254
|
-
HttpValidationError,
|
|
255
|
-
construct_type(
|
|
256
|
-
type_=HttpValidationError, # type: ignore
|
|
257
|
-
object_=_response.json(),
|
|
258
|
-
),
|
|
259
|
-
)
|
|
260
|
-
)
|
|
261
|
-
_response_json = _response.json()
|
|
262
|
-
except JSONDecodeError:
|
|
263
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
264
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
183
|
+
)
|
|
184
|
+
return _response.data
|
|
265
185
|
|
|
266
186
|
def count(
|
|
267
187
|
self,
|
|
@@ -295,37 +215,8 @@ class ToolsClient:
|
|
|
295
215
|
)
|
|
296
216
|
client.tools.count()
|
|
297
217
|
"""
|
|
298
|
-
_response = self.
|
|
299
|
-
|
|
300
|
-
method="GET",
|
|
301
|
-
params={
|
|
302
|
-
"include_base_tools": include_base_tools,
|
|
303
|
-
},
|
|
304
|
-
request_options=request_options,
|
|
305
|
-
)
|
|
306
|
-
try:
|
|
307
|
-
if 200 <= _response.status_code < 300:
|
|
308
|
-
return typing.cast(
|
|
309
|
-
int,
|
|
310
|
-
construct_type(
|
|
311
|
-
type_=int, # type: ignore
|
|
312
|
-
object_=_response.json(),
|
|
313
|
-
),
|
|
314
|
-
)
|
|
315
|
-
if _response.status_code == 422:
|
|
316
|
-
raise UnprocessableEntityError(
|
|
317
|
-
typing.cast(
|
|
318
|
-
HttpValidationError,
|
|
319
|
-
construct_type(
|
|
320
|
-
type_=HttpValidationError, # type: ignore
|
|
321
|
-
object_=_response.json(),
|
|
322
|
-
),
|
|
323
|
-
)
|
|
324
|
-
)
|
|
325
|
-
_response_json = _response.json()
|
|
326
|
-
except JSONDecodeError:
|
|
327
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
328
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
218
|
+
_response = self._raw_client.count(include_base_tools=include_base_tools, request_options=request_options)
|
|
219
|
+
return _response.data
|
|
329
220
|
|
|
330
221
|
def list(
|
|
331
222
|
self,
|
|
@@ -364,39 +255,8 @@ class ToolsClient:
|
|
|
364
255
|
)
|
|
365
256
|
client.tools.list()
|
|
366
257
|
"""
|
|
367
|
-
_response = self.
|
|
368
|
-
|
|
369
|
-
method="GET",
|
|
370
|
-
params={
|
|
371
|
-
"after": after,
|
|
372
|
-
"limit": limit,
|
|
373
|
-
"name": name,
|
|
374
|
-
},
|
|
375
|
-
request_options=request_options,
|
|
376
|
-
)
|
|
377
|
-
try:
|
|
378
|
-
if 200 <= _response.status_code < 300:
|
|
379
|
-
return typing.cast(
|
|
380
|
-
typing.List[Tool],
|
|
381
|
-
construct_type(
|
|
382
|
-
type_=typing.List[Tool], # type: ignore
|
|
383
|
-
object_=_response.json(),
|
|
384
|
-
),
|
|
385
|
-
)
|
|
386
|
-
if _response.status_code == 422:
|
|
387
|
-
raise UnprocessableEntityError(
|
|
388
|
-
typing.cast(
|
|
389
|
-
HttpValidationError,
|
|
390
|
-
construct_type(
|
|
391
|
-
type_=HttpValidationError, # type: ignore
|
|
392
|
-
object_=_response.json(),
|
|
393
|
-
),
|
|
394
|
-
)
|
|
395
|
-
)
|
|
396
|
-
_response_json = _response.json()
|
|
397
|
-
except JSONDecodeError:
|
|
398
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
399
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
258
|
+
_response = self._raw_client.list(after=after, limit=limit, name=name, request_options=request_options)
|
|
259
|
+
return _response.data
|
|
400
260
|
|
|
401
261
|
def create(
|
|
402
262
|
self,
|
|
@@ -460,47 +320,18 @@ class ToolsClient:
|
|
|
460
320
|
source_code="source_code",
|
|
461
321
|
)
|
|
462
322
|
"""
|
|
463
|
-
_response = self.
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
"args_json_schema": args_json_schema,
|
|
473
|
-
"return_char_limit": return_char_limit,
|
|
474
|
-
"pip_requirements": convert_and_respect_annotation_metadata(
|
|
475
|
-
object_=pip_requirements, annotation=typing.Sequence[PipRequirement], direction="write"
|
|
476
|
-
),
|
|
477
|
-
},
|
|
323
|
+
_response = self._raw_client.create(
|
|
324
|
+
source_code=source_code,
|
|
325
|
+
description=description,
|
|
326
|
+
tags=tags,
|
|
327
|
+
source_type=source_type,
|
|
328
|
+
json_schema=json_schema,
|
|
329
|
+
args_json_schema=args_json_schema,
|
|
330
|
+
return_char_limit=return_char_limit,
|
|
331
|
+
pip_requirements=pip_requirements,
|
|
478
332
|
request_options=request_options,
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
try:
|
|
482
|
-
if 200 <= _response.status_code < 300:
|
|
483
|
-
return typing.cast(
|
|
484
|
-
Tool,
|
|
485
|
-
construct_type(
|
|
486
|
-
type_=Tool, # type: ignore
|
|
487
|
-
object_=_response.json(),
|
|
488
|
-
),
|
|
489
|
-
)
|
|
490
|
-
if _response.status_code == 422:
|
|
491
|
-
raise UnprocessableEntityError(
|
|
492
|
-
typing.cast(
|
|
493
|
-
HttpValidationError,
|
|
494
|
-
construct_type(
|
|
495
|
-
type_=HttpValidationError, # type: ignore
|
|
496
|
-
object_=_response.json(),
|
|
497
|
-
),
|
|
498
|
-
)
|
|
499
|
-
)
|
|
500
|
-
_response_json = _response.json()
|
|
501
|
-
except JSONDecodeError:
|
|
502
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
503
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
333
|
+
)
|
|
334
|
+
return _response.data
|
|
504
335
|
|
|
505
336
|
def upsert(
|
|
506
337
|
self,
|
|
@@ -564,47 +395,18 @@ class ToolsClient:
|
|
|
564
395
|
source_code="source_code",
|
|
565
396
|
)
|
|
566
397
|
"""
|
|
567
|
-
_response = self.
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
"args_json_schema": args_json_schema,
|
|
577
|
-
"return_char_limit": return_char_limit,
|
|
578
|
-
"pip_requirements": convert_and_respect_annotation_metadata(
|
|
579
|
-
object_=pip_requirements, annotation=typing.Sequence[PipRequirement], direction="write"
|
|
580
|
-
),
|
|
581
|
-
},
|
|
398
|
+
_response = self._raw_client.upsert(
|
|
399
|
+
source_code=source_code,
|
|
400
|
+
description=description,
|
|
401
|
+
tags=tags,
|
|
402
|
+
source_type=source_type,
|
|
403
|
+
json_schema=json_schema,
|
|
404
|
+
args_json_schema=args_json_schema,
|
|
405
|
+
return_char_limit=return_char_limit,
|
|
406
|
+
pip_requirements=pip_requirements,
|
|
582
407
|
request_options=request_options,
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
try:
|
|
586
|
-
if 200 <= _response.status_code < 300:
|
|
587
|
-
return typing.cast(
|
|
588
|
-
Tool,
|
|
589
|
-
construct_type(
|
|
590
|
-
type_=Tool, # type: ignore
|
|
591
|
-
object_=_response.json(),
|
|
592
|
-
),
|
|
593
|
-
)
|
|
594
|
-
if _response.status_code == 422:
|
|
595
|
-
raise UnprocessableEntityError(
|
|
596
|
-
typing.cast(
|
|
597
|
-
HttpValidationError,
|
|
598
|
-
construct_type(
|
|
599
|
-
type_=HttpValidationError, # type: ignore
|
|
600
|
-
object_=_response.json(),
|
|
601
|
-
),
|
|
602
|
-
)
|
|
603
|
-
)
|
|
604
|
-
_response_json = _response.json()
|
|
605
|
-
except JSONDecodeError:
|
|
606
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
607
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
408
|
+
)
|
|
409
|
+
return _response.data
|
|
608
410
|
|
|
609
411
|
def upsert_base_tools(self, *, request_options: typing.Optional[RequestOptions] = None) -> typing.List[Tool]:
|
|
610
412
|
"""
|
|
@@ -630,34 +432,8 @@ class ToolsClient:
|
|
|
630
432
|
)
|
|
631
433
|
client.tools.upsert_base_tools()
|
|
632
434
|
"""
|
|
633
|
-
_response = self.
|
|
634
|
-
|
|
635
|
-
method="POST",
|
|
636
|
-
request_options=request_options,
|
|
637
|
-
)
|
|
638
|
-
try:
|
|
639
|
-
if 200 <= _response.status_code < 300:
|
|
640
|
-
return typing.cast(
|
|
641
|
-
typing.List[Tool],
|
|
642
|
-
construct_type(
|
|
643
|
-
type_=typing.List[Tool], # type: ignore
|
|
644
|
-
object_=_response.json(),
|
|
645
|
-
),
|
|
646
|
-
)
|
|
647
|
-
if _response.status_code == 422:
|
|
648
|
-
raise UnprocessableEntityError(
|
|
649
|
-
typing.cast(
|
|
650
|
-
HttpValidationError,
|
|
651
|
-
construct_type(
|
|
652
|
-
type_=HttpValidationError, # type: ignore
|
|
653
|
-
object_=_response.json(),
|
|
654
|
-
),
|
|
655
|
-
)
|
|
656
|
-
)
|
|
657
|
-
_response_json = _response.json()
|
|
658
|
-
except JSONDecodeError:
|
|
659
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
660
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
435
|
+
_response = self._raw_client.upsert_base_tools(request_options=request_options)
|
|
436
|
+
return _response.data
|
|
661
437
|
|
|
662
438
|
def run_tool_from_source(
|
|
663
439
|
self,
|
|
@@ -722,50 +498,18 @@ class ToolsClient:
|
|
|
722
498
|
args={"key": "value"},
|
|
723
499
|
)
|
|
724
500
|
"""
|
|
725
|
-
_response = self.
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
"args_json_schema": args_json_schema,
|
|
735
|
-
"json_schema": json_schema,
|
|
736
|
-
"pip_requirements": convert_and_respect_annotation_metadata(
|
|
737
|
-
object_=pip_requirements, annotation=typing.Sequence[PipRequirement], direction="write"
|
|
738
|
-
),
|
|
739
|
-
},
|
|
740
|
-
headers={
|
|
741
|
-
"content-type": "application/json",
|
|
742
|
-
},
|
|
501
|
+
_response = self._raw_client.run_tool_from_source(
|
|
502
|
+
source_code=source_code,
|
|
503
|
+
args=args,
|
|
504
|
+
env_vars=env_vars,
|
|
505
|
+
name=name,
|
|
506
|
+
source_type=source_type,
|
|
507
|
+
args_json_schema=args_json_schema,
|
|
508
|
+
json_schema=json_schema,
|
|
509
|
+
pip_requirements=pip_requirements,
|
|
743
510
|
request_options=request_options,
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
try:
|
|
747
|
-
if 200 <= _response.status_code < 300:
|
|
748
|
-
return typing.cast(
|
|
749
|
-
ToolReturnMessage,
|
|
750
|
-
construct_type(
|
|
751
|
-
type_=ToolReturnMessage, # type: ignore
|
|
752
|
-
object_=_response.json(),
|
|
753
|
-
),
|
|
754
|
-
)
|
|
755
|
-
if _response.status_code == 422:
|
|
756
|
-
raise UnprocessableEntityError(
|
|
757
|
-
typing.cast(
|
|
758
|
-
HttpValidationError,
|
|
759
|
-
construct_type(
|
|
760
|
-
type_=HttpValidationError, # type: ignore
|
|
761
|
-
object_=_response.json(),
|
|
762
|
-
),
|
|
763
|
-
)
|
|
764
|
-
)
|
|
765
|
-
_response_json = _response.json()
|
|
766
|
-
except JSONDecodeError:
|
|
767
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
768
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
511
|
+
)
|
|
512
|
+
return _response.data
|
|
769
513
|
|
|
770
514
|
def list_composio_apps(
|
|
771
515
|
self, *, user_id: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None
|
|
@@ -795,37 +539,8 @@ class ToolsClient:
|
|
|
795
539
|
)
|
|
796
540
|
client.tools.list_composio_apps()
|
|
797
541
|
"""
|
|
798
|
-
_response = self.
|
|
799
|
-
|
|
800
|
-
method="GET",
|
|
801
|
-
headers={
|
|
802
|
-
"user-id": str(user_id) if user_id is not None else None,
|
|
803
|
-
},
|
|
804
|
-
request_options=request_options,
|
|
805
|
-
)
|
|
806
|
-
try:
|
|
807
|
-
if 200 <= _response.status_code < 300:
|
|
808
|
-
return typing.cast(
|
|
809
|
-
typing.List[AppModel],
|
|
810
|
-
construct_type(
|
|
811
|
-
type_=typing.List[AppModel], # type: ignore
|
|
812
|
-
object_=_response.json(),
|
|
813
|
-
),
|
|
814
|
-
)
|
|
815
|
-
if _response.status_code == 422:
|
|
816
|
-
raise UnprocessableEntityError(
|
|
817
|
-
typing.cast(
|
|
818
|
-
HttpValidationError,
|
|
819
|
-
construct_type(
|
|
820
|
-
type_=HttpValidationError, # type: ignore
|
|
821
|
-
object_=_response.json(),
|
|
822
|
-
),
|
|
823
|
-
)
|
|
824
|
-
)
|
|
825
|
-
_response_json = _response.json()
|
|
826
|
-
except JSONDecodeError:
|
|
827
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
828
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
542
|
+
_response = self._raw_client.list_composio_apps(user_id=user_id, request_options=request_options)
|
|
543
|
+
return _response.data
|
|
829
544
|
|
|
830
545
|
def list_composio_actions_by_app(
|
|
831
546
|
self, composio_app_name: str, *, request_options: typing.Optional[RequestOptions] = None
|
|
@@ -857,34 +572,8 @@ class ToolsClient:
|
|
|
857
572
|
composio_app_name="composio_app_name",
|
|
858
573
|
)
|
|
859
574
|
"""
|
|
860
|
-
_response = self.
|
|
861
|
-
|
|
862
|
-
method="GET",
|
|
863
|
-
request_options=request_options,
|
|
864
|
-
)
|
|
865
|
-
try:
|
|
866
|
-
if 200 <= _response.status_code < 300:
|
|
867
|
-
return typing.cast(
|
|
868
|
-
typing.List[ActionModel],
|
|
869
|
-
construct_type(
|
|
870
|
-
type_=typing.List[ActionModel], # type: ignore
|
|
871
|
-
object_=_response.json(),
|
|
872
|
-
),
|
|
873
|
-
)
|
|
874
|
-
if _response.status_code == 422:
|
|
875
|
-
raise UnprocessableEntityError(
|
|
876
|
-
typing.cast(
|
|
877
|
-
HttpValidationError,
|
|
878
|
-
construct_type(
|
|
879
|
-
type_=HttpValidationError, # type: ignore
|
|
880
|
-
object_=_response.json(),
|
|
881
|
-
),
|
|
882
|
-
)
|
|
883
|
-
)
|
|
884
|
-
_response_json = _response.json()
|
|
885
|
-
except JSONDecodeError:
|
|
886
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
887
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
575
|
+
_response = self._raw_client.list_composio_actions_by_app(composio_app_name, request_options=request_options)
|
|
576
|
+
return _response.data
|
|
888
577
|
|
|
889
578
|
def add_composio_tool(
|
|
890
579
|
self, composio_action_name: str, *, request_options: typing.Optional[RequestOptions] = None
|
|
@@ -916,34 +605,8 @@ class ToolsClient:
|
|
|
916
605
|
composio_action_name="composio_action_name",
|
|
917
606
|
)
|
|
918
607
|
"""
|
|
919
|
-
_response = self.
|
|
920
|
-
|
|
921
|
-
method="POST",
|
|
922
|
-
request_options=request_options,
|
|
923
|
-
)
|
|
924
|
-
try:
|
|
925
|
-
if 200 <= _response.status_code < 300:
|
|
926
|
-
return typing.cast(
|
|
927
|
-
Tool,
|
|
928
|
-
construct_type(
|
|
929
|
-
type_=Tool, # type: ignore
|
|
930
|
-
object_=_response.json(),
|
|
931
|
-
),
|
|
932
|
-
)
|
|
933
|
-
if _response.status_code == 422:
|
|
934
|
-
raise UnprocessableEntityError(
|
|
935
|
-
typing.cast(
|
|
936
|
-
HttpValidationError,
|
|
937
|
-
construct_type(
|
|
938
|
-
type_=HttpValidationError, # type: ignore
|
|
939
|
-
object_=_response.json(),
|
|
940
|
-
),
|
|
941
|
-
)
|
|
942
|
-
)
|
|
943
|
-
_response_json = _response.json()
|
|
944
|
-
except JSONDecodeError:
|
|
945
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
946
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
608
|
+
_response = self._raw_client.add_composio_tool(composio_action_name, request_options=request_options)
|
|
609
|
+
return _response.data
|
|
947
610
|
|
|
948
611
|
def list_mcp_servers(
|
|
949
612
|
self, *, user_id: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None
|
|
@@ -973,37 +636,8 @@ class ToolsClient:
|
|
|
973
636
|
)
|
|
974
637
|
client.tools.list_mcp_servers()
|
|
975
638
|
"""
|
|
976
|
-
_response = self.
|
|
977
|
-
|
|
978
|
-
method="GET",
|
|
979
|
-
headers={
|
|
980
|
-
"user-id": str(user_id) if user_id is not None else None,
|
|
981
|
-
},
|
|
982
|
-
request_options=request_options,
|
|
983
|
-
)
|
|
984
|
-
try:
|
|
985
|
-
if 200 <= _response.status_code < 300:
|
|
986
|
-
return typing.cast(
|
|
987
|
-
typing.Dict[str, ListMcpServersResponseValue],
|
|
988
|
-
construct_type(
|
|
989
|
-
type_=typing.Dict[str, ListMcpServersResponseValue], # type: ignore
|
|
990
|
-
object_=_response.json(),
|
|
991
|
-
),
|
|
992
|
-
)
|
|
993
|
-
if _response.status_code == 422:
|
|
994
|
-
raise UnprocessableEntityError(
|
|
995
|
-
typing.cast(
|
|
996
|
-
HttpValidationError,
|
|
997
|
-
construct_type(
|
|
998
|
-
type_=HttpValidationError, # type: ignore
|
|
999
|
-
object_=_response.json(),
|
|
1000
|
-
),
|
|
1001
|
-
)
|
|
1002
|
-
)
|
|
1003
|
-
_response_json = _response.json()
|
|
1004
|
-
except JSONDecodeError:
|
|
1005
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
1006
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
639
|
+
_response = self._raw_client.list_mcp_servers(user_id=user_id, request_options=request_options)
|
|
640
|
+
return _response.data
|
|
1007
641
|
|
|
1008
642
|
def add_mcp_server(
|
|
1009
643
|
self, *, request: AddMcpServerRequest, request_options: typing.Optional[RequestOptions] = None
|
|
@@ -1039,38 +673,8 @@ class ToolsClient:
|
|
|
1039
673
|
),
|
|
1040
674
|
)
|
|
1041
675
|
"""
|
|
1042
|
-
_response = self.
|
|
1043
|
-
|
|
1044
|
-
method="PUT",
|
|
1045
|
-
json=convert_and_respect_annotation_metadata(
|
|
1046
|
-
object_=request, annotation=AddMcpServerRequest, direction="write"
|
|
1047
|
-
),
|
|
1048
|
-
request_options=request_options,
|
|
1049
|
-
omit=OMIT,
|
|
1050
|
-
)
|
|
1051
|
-
try:
|
|
1052
|
-
if 200 <= _response.status_code < 300:
|
|
1053
|
-
return typing.cast(
|
|
1054
|
-
typing.List[AddMcpServerResponseItem],
|
|
1055
|
-
construct_type(
|
|
1056
|
-
type_=typing.List[AddMcpServerResponseItem], # type: ignore
|
|
1057
|
-
object_=_response.json(),
|
|
1058
|
-
),
|
|
1059
|
-
)
|
|
1060
|
-
if _response.status_code == 422:
|
|
1061
|
-
raise UnprocessableEntityError(
|
|
1062
|
-
typing.cast(
|
|
1063
|
-
HttpValidationError,
|
|
1064
|
-
construct_type(
|
|
1065
|
-
type_=HttpValidationError, # type: ignore
|
|
1066
|
-
object_=_response.json(),
|
|
1067
|
-
),
|
|
1068
|
-
)
|
|
1069
|
-
)
|
|
1070
|
-
_response_json = _response.json()
|
|
1071
|
-
except JSONDecodeError:
|
|
1072
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
1073
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
676
|
+
_response = self._raw_client.add_mcp_server(request=request, request_options=request_options)
|
|
677
|
+
return _response.data
|
|
1074
678
|
|
|
1075
679
|
def list_mcp_tools_by_server(
|
|
1076
680
|
self, mcp_server_name: str, *, request_options: typing.Optional[RequestOptions] = None
|
|
@@ -1102,34 +706,8 @@ class ToolsClient:
|
|
|
1102
706
|
mcp_server_name="mcp_server_name",
|
|
1103
707
|
)
|
|
1104
708
|
"""
|
|
1105
|
-
_response = self.
|
|
1106
|
-
|
|
1107
|
-
method="GET",
|
|
1108
|
-
request_options=request_options,
|
|
1109
|
-
)
|
|
1110
|
-
try:
|
|
1111
|
-
if 200 <= _response.status_code < 300:
|
|
1112
|
-
return typing.cast(
|
|
1113
|
-
typing.List[McpTool],
|
|
1114
|
-
construct_type(
|
|
1115
|
-
type_=typing.List[McpTool], # type: ignore
|
|
1116
|
-
object_=_response.json(),
|
|
1117
|
-
),
|
|
1118
|
-
)
|
|
1119
|
-
if _response.status_code == 422:
|
|
1120
|
-
raise UnprocessableEntityError(
|
|
1121
|
-
typing.cast(
|
|
1122
|
-
HttpValidationError,
|
|
1123
|
-
construct_type(
|
|
1124
|
-
type_=HttpValidationError, # type: ignore
|
|
1125
|
-
object_=_response.json(),
|
|
1126
|
-
),
|
|
1127
|
-
)
|
|
1128
|
-
)
|
|
1129
|
-
_response_json = _response.json()
|
|
1130
|
-
except JSONDecodeError:
|
|
1131
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
1132
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
709
|
+
_response = self._raw_client.list_mcp_tools_by_server(mcp_server_name, request_options=request_options)
|
|
710
|
+
return _response.data
|
|
1133
711
|
|
|
1134
712
|
def add_mcp_tool(
|
|
1135
713
|
self, mcp_server_name: str, mcp_tool_name: str, *, request_options: typing.Optional[RequestOptions] = None
|
|
@@ -1164,34 +742,8 @@ class ToolsClient:
|
|
|
1164
742
|
mcp_tool_name="mcp_tool_name",
|
|
1165
743
|
)
|
|
1166
744
|
"""
|
|
1167
|
-
_response = self.
|
|
1168
|
-
|
|
1169
|
-
method="POST",
|
|
1170
|
-
request_options=request_options,
|
|
1171
|
-
)
|
|
1172
|
-
try:
|
|
1173
|
-
if 200 <= _response.status_code < 300:
|
|
1174
|
-
return typing.cast(
|
|
1175
|
-
Tool,
|
|
1176
|
-
construct_type(
|
|
1177
|
-
type_=Tool, # type: ignore
|
|
1178
|
-
object_=_response.json(),
|
|
1179
|
-
),
|
|
1180
|
-
)
|
|
1181
|
-
if _response.status_code == 422:
|
|
1182
|
-
raise UnprocessableEntityError(
|
|
1183
|
-
typing.cast(
|
|
1184
|
-
HttpValidationError,
|
|
1185
|
-
construct_type(
|
|
1186
|
-
type_=HttpValidationError, # type: ignore
|
|
1187
|
-
object_=_response.json(),
|
|
1188
|
-
),
|
|
1189
|
-
)
|
|
1190
|
-
)
|
|
1191
|
-
_response_json = _response.json()
|
|
1192
|
-
except JSONDecodeError:
|
|
1193
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
1194
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
745
|
+
_response = self._raw_client.add_mcp_tool(mcp_server_name, mcp_tool_name, request_options=request_options)
|
|
746
|
+
return _response.data
|
|
1195
747
|
|
|
1196
748
|
def delete_mcp_server(
|
|
1197
749
|
self, mcp_server_name: str, *, request_options: typing.Optional[RequestOptions] = None
|
|
@@ -1223,34 +775,8 @@ class ToolsClient:
|
|
|
1223
775
|
mcp_server_name="mcp_server_name",
|
|
1224
776
|
)
|
|
1225
777
|
"""
|
|
1226
|
-
_response = self.
|
|
1227
|
-
|
|
1228
|
-
method="DELETE",
|
|
1229
|
-
request_options=request_options,
|
|
1230
|
-
)
|
|
1231
|
-
try:
|
|
1232
|
-
if 200 <= _response.status_code < 300:
|
|
1233
|
-
return typing.cast(
|
|
1234
|
-
typing.List[DeleteMcpServerResponseItem],
|
|
1235
|
-
construct_type(
|
|
1236
|
-
type_=typing.List[DeleteMcpServerResponseItem], # type: ignore
|
|
1237
|
-
object_=_response.json(),
|
|
1238
|
-
),
|
|
1239
|
-
)
|
|
1240
|
-
if _response.status_code == 422:
|
|
1241
|
-
raise UnprocessableEntityError(
|
|
1242
|
-
typing.cast(
|
|
1243
|
-
HttpValidationError,
|
|
1244
|
-
construct_type(
|
|
1245
|
-
type_=HttpValidationError, # type: ignore
|
|
1246
|
-
object_=_response.json(),
|
|
1247
|
-
),
|
|
1248
|
-
)
|
|
1249
|
-
)
|
|
1250
|
-
_response_json = _response.json()
|
|
1251
|
-
except JSONDecodeError:
|
|
1252
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
1253
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
778
|
+
_response = self._raw_client.delete_mcp_server(mcp_server_name, request_options=request_options)
|
|
779
|
+
return _response.data
|
|
1254
780
|
|
|
1255
781
|
def update_mcp_server(
|
|
1256
782
|
self,
|
|
@@ -1289,38 +815,10 @@ class ToolsClient:
|
|
|
1289
815
|
request=UpdateStdioMcpServer(),
|
|
1290
816
|
)
|
|
1291
817
|
"""
|
|
1292
|
-
_response = self.
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
object_=request, annotation=UpdateMcpServerRequest, direction="write"
|
|
1297
|
-
),
|
|
1298
|
-
request_options=request_options,
|
|
1299
|
-
omit=OMIT,
|
|
1300
|
-
)
|
|
1301
|
-
try:
|
|
1302
|
-
if 200 <= _response.status_code < 300:
|
|
1303
|
-
return typing.cast(
|
|
1304
|
-
UpdateMcpServerResponse,
|
|
1305
|
-
construct_type(
|
|
1306
|
-
type_=UpdateMcpServerResponse, # type: ignore
|
|
1307
|
-
object_=_response.json(),
|
|
1308
|
-
),
|
|
1309
|
-
)
|
|
1310
|
-
if _response.status_code == 422:
|
|
1311
|
-
raise UnprocessableEntityError(
|
|
1312
|
-
typing.cast(
|
|
1313
|
-
HttpValidationError,
|
|
1314
|
-
construct_type(
|
|
1315
|
-
type_=HttpValidationError, # type: ignore
|
|
1316
|
-
object_=_response.json(),
|
|
1317
|
-
),
|
|
1318
|
-
)
|
|
1319
|
-
)
|
|
1320
|
-
_response_json = _response.json()
|
|
1321
|
-
except JSONDecodeError:
|
|
1322
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
1323
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
818
|
+
_response = self._raw_client.update_mcp_server(
|
|
819
|
+
mcp_server_name, request=request, request_options=request_options
|
|
820
|
+
)
|
|
821
|
+
return _response.data
|
|
1324
822
|
|
|
1325
823
|
def test_mcp_server(
|
|
1326
824
|
self, *, request: TestMcpServerRequest, request_options: typing.Optional[RequestOptions] = None
|
|
@@ -1357,38 +855,8 @@ class ToolsClient:
|
|
|
1357
855
|
),
|
|
1358
856
|
)
|
|
1359
857
|
"""
|
|
1360
|
-
_response = self.
|
|
1361
|
-
|
|
1362
|
-
method="POST",
|
|
1363
|
-
json=convert_and_respect_annotation_metadata(
|
|
1364
|
-
object_=request, annotation=TestMcpServerRequest, direction="write"
|
|
1365
|
-
),
|
|
1366
|
-
request_options=request_options,
|
|
1367
|
-
omit=OMIT,
|
|
1368
|
-
)
|
|
1369
|
-
try:
|
|
1370
|
-
if 200 <= _response.status_code < 300:
|
|
1371
|
-
return typing.cast(
|
|
1372
|
-
typing.Optional[typing.Any],
|
|
1373
|
-
construct_type(
|
|
1374
|
-
type_=typing.Optional[typing.Any], # type: ignore
|
|
1375
|
-
object_=_response.json(),
|
|
1376
|
-
),
|
|
1377
|
-
)
|
|
1378
|
-
if _response.status_code == 422:
|
|
1379
|
-
raise UnprocessableEntityError(
|
|
1380
|
-
typing.cast(
|
|
1381
|
-
HttpValidationError,
|
|
1382
|
-
construct_type(
|
|
1383
|
-
type_=HttpValidationError, # type: ignore
|
|
1384
|
-
object_=_response.json(),
|
|
1385
|
-
),
|
|
1386
|
-
)
|
|
1387
|
-
)
|
|
1388
|
-
_response_json = _response.json()
|
|
1389
|
-
except JSONDecodeError:
|
|
1390
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
1391
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
858
|
+
_response = self._raw_client.test_mcp_server(request=request, request_options=request_options)
|
|
859
|
+
return _response.data
|
|
1392
860
|
|
|
1393
861
|
def connect_mcp_server(
|
|
1394
862
|
self, *, request: ConnectMcpServerRequest, request_options: typing.Optional[RequestOptions] = None
|
|
@@ -1427,50 +895,24 @@ class ToolsClient:
|
|
|
1427
895
|
for chunk in response:
|
|
1428
896
|
yield chunk
|
|
1429
897
|
"""
|
|
1430
|
-
with self.
|
|
1431
|
-
|
|
1432
|
-
method="POST",
|
|
1433
|
-
json=convert_and_respect_annotation_metadata(
|
|
1434
|
-
object_=request, annotation=ConnectMcpServerRequest, direction="write"
|
|
1435
|
-
),
|
|
1436
|
-
request_options=request_options,
|
|
1437
|
-
omit=OMIT,
|
|
1438
|
-
) as _response:
|
|
1439
|
-
try:
|
|
1440
|
-
if 200 <= _response.status_code < 300:
|
|
1441
|
-
_event_source = httpx_sse.EventSource(_response)
|
|
1442
|
-
for _sse in _event_source.iter_sse():
|
|
1443
|
-
try:
|
|
1444
|
-
yield typing.cast(
|
|
1445
|
-
StreamingResponse,
|
|
1446
|
-
construct_type(
|
|
1447
|
-
type_=StreamingResponse, # type: ignore
|
|
1448
|
-
object_=json.loads(_sse.data),
|
|
1449
|
-
),
|
|
1450
|
-
)
|
|
1451
|
-
except:
|
|
1452
|
-
pass
|
|
1453
|
-
return
|
|
1454
|
-
_response.read()
|
|
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)
|
|
898
|
+
with self._raw_client.connect_mcp_server(request=request, request_options=request_options) as r:
|
|
899
|
+
yield from r.data
|
|
1469
900
|
|
|
1470
901
|
|
|
1471
902
|
class AsyncToolsClient:
|
|
1472
903
|
def __init__(self, *, client_wrapper: AsyncClientWrapper):
|
|
1473
|
-
self.
|
|
904
|
+
self._raw_client = AsyncRawToolsClient(client_wrapper=client_wrapper)
|
|
905
|
+
|
|
906
|
+
@property
|
|
907
|
+
def with_raw_response(self) -> AsyncRawToolsClient:
|
|
908
|
+
"""
|
|
909
|
+
Retrieves a raw implementation of this client that returns raw responses.
|
|
910
|
+
|
|
911
|
+
Returns
|
|
912
|
+
-------
|
|
913
|
+
AsyncRawToolsClient
|
|
914
|
+
"""
|
|
915
|
+
return self._raw_client
|
|
1474
916
|
|
|
1475
917
|
async def retrieve(self, tool_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Tool:
|
|
1476
918
|
"""
|
|
@@ -1508,34 +950,8 @@ class AsyncToolsClient:
|
|
|
1508
950
|
|
|
1509
951
|
asyncio.run(main())
|
|
1510
952
|
"""
|
|
1511
|
-
_response = await self.
|
|
1512
|
-
|
|
1513
|
-
method="GET",
|
|
1514
|
-
request_options=request_options,
|
|
1515
|
-
)
|
|
1516
|
-
try:
|
|
1517
|
-
if 200 <= _response.status_code < 300:
|
|
1518
|
-
return typing.cast(
|
|
1519
|
-
Tool,
|
|
1520
|
-
construct_type(
|
|
1521
|
-
type_=Tool, # type: ignore
|
|
1522
|
-
object_=_response.json(),
|
|
1523
|
-
),
|
|
1524
|
-
)
|
|
1525
|
-
if _response.status_code == 422:
|
|
1526
|
-
raise UnprocessableEntityError(
|
|
1527
|
-
typing.cast(
|
|
1528
|
-
HttpValidationError,
|
|
1529
|
-
construct_type(
|
|
1530
|
-
type_=HttpValidationError, # type: ignore
|
|
1531
|
-
object_=_response.json(),
|
|
1532
|
-
),
|
|
1533
|
-
)
|
|
1534
|
-
)
|
|
1535
|
-
_response_json = _response.json()
|
|
1536
|
-
except JSONDecodeError:
|
|
1537
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
1538
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
953
|
+
_response = await self._raw_client.retrieve(tool_id, request_options=request_options)
|
|
954
|
+
return _response.data
|
|
1539
955
|
|
|
1540
956
|
async def delete(
|
|
1541
957
|
self, tool_id: str, *, request_options: typing.Optional[RequestOptions] = None
|
|
@@ -1575,34 +991,8 @@ class AsyncToolsClient:
|
|
|
1575
991
|
|
|
1576
992
|
asyncio.run(main())
|
|
1577
993
|
"""
|
|
1578
|
-
_response = await self.
|
|
1579
|
-
|
|
1580
|
-
method="DELETE",
|
|
1581
|
-
request_options=request_options,
|
|
1582
|
-
)
|
|
1583
|
-
try:
|
|
1584
|
-
if 200 <= _response.status_code < 300:
|
|
1585
|
-
return typing.cast(
|
|
1586
|
-
typing.Optional[typing.Any],
|
|
1587
|
-
construct_type(
|
|
1588
|
-
type_=typing.Optional[typing.Any], # type: ignore
|
|
1589
|
-
object_=_response.json(),
|
|
1590
|
-
),
|
|
1591
|
-
)
|
|
1592
|
-
if _response.status_code == 422:
|
|
1593
|
-
raise UnprocessableEntityError(
|
|
1594
|
-
typing.cast(
|
|
1595
|
-
HttpValidationError,
|
|
1596
|
-
construct_type(
|
|
1597
|
-
type_=HttpValidationError, # type: ignore
|
|
1598
|
-
object_=_response.json(),
|
|
1599
|
-
),
|
|
1600
|
-
)
|
|
1601
|
-
)
|
|
1602
|
-
_response_json = _response.json()
|
|
1603
|
-
except JSONDecodeError:
|
|
1604
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
1605
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
994
|
+
_response = await self._raw_client.delete(tool_id, request_options=request_options)
|
|
995
|
+
return _response.data
|
|
1606
996
|
|
|
1607
997
|
async def modify(
|
|
1608
998
|
self,
|
|
@@ -1677,50 +1067,19 @@ class AsyncToolsClient:
|
|
|
1677
1067
|
|
|
1678
1068
|
asyncio.run(main())
|
|
1679
1069
|
"""
|
|
1680
|
-
_response = await self.
|
|
1681
|
-
|
|
1682
|
-
|
|
1683
|
-
|
|
1684
|
-
|
|
1685
|
-
|
|
1686
|
-
|
|
1687
|
-
|
|
1688
|
-
|
|
1689
|
-
|
|
1690
|
-
"return_char_limit": return_char_limit,
|
|
1691
|
-
"pip_requirements": convert_and_respect_annotation_metadata(
|
|
1692
|
-
object_=pip_requirements, annotation=typing.Sequence[PipRequirement], direction="write"
|
|
1693
|
-
),
|
|
1694
|
-
},
|
|
1695
|
-
headers={
|
|
1696
|
-
"content-type": "application/json",
|
|
1697
|
-
},
|
|
1070
|
+
_response = await self._raw_client.modify(
|
|
1071
|
+
tool_id,
|
|
1072
|
+
description=description,
|
|
1073
|
+
tags=tags,
|
|
1074
|
+
source_code=source_code,
|
|
1075
|
+
source_type=source_type,
|
|
1076
|
+
json_schema=json_schema,
|
|
1077
|
+
args_json_schema=args_json_schema,
|
|
1078
|
+
return_char_limit=return_char_limit,
|
|
1079
|
+
pip_requirements=pip_requirements,
|
|
1698
1080
|
request_options=request_options,
|
|
1699
|
-
|
|
1700
|
-
|
|
1701
|
-
try:
|
|
1702
|
-
if 200 <= _response.status_code < 300:
|
|
1703
|
-
return typing.cast(
|
|
1704
|
-
Tool,
|
|
1705
|
-
construct_type(
|
|
1706
|
-
type_=Tool, # type: ignore
|
|
1707
|
-
object_=_response.json(),
|
|
1708
|
-
),
|
|
1709
|
-
)
|
|
1710
|
-
if _response.status_code == 422:
|
|
1711
|
-
raise UnprocessableEntityError(
|
|
1712
|
-
typing.cast(
|
|
1713
|
-
HttpValidationError,
|
|
1714
|
-
construct_type(
|
|
1715
|
-
type_=HttpValidationError, # type: ignore
|
|
1716
|
-
object_=_response.json(),
|
|
1717
|
-
),
|
|
1718
|
-
)
|
|
1719
|
-
)
|
|
1720
|
-
_response_json = _response.json()
|
|
1721
|
-
except JSONDecodeError:
|
|
1722
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
1723
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
1081
|
+
)
|
|
1082
|
+
return _response.data
|
|
1724
1083
|
|
|
1725
1084
|
async def count(
|
|
1726
1085
|
self,
|
|
@@ -1762,37 +1121,8 @@ class AsyncToolsClient:
|
|
|
1762
1121
|
|
|
1763
1122
|
asyncio.run(main())
|
|
1764
1123
|
"""
|
|
1765
|
-
_response = await self.
|
|
1766
|
-
|
|
1767
|
-
method="GET",
|
|
1768
|
-
params={
|
|
1769
|
-
"include_base_tools": include_base_tools,
|
|
1770
|
-
},
|
|
1771
|
-
request_options=request_options,
|
|
1772
|
-
)
|
|
1773
|
-
try:
|
|
1774
|
-
if 200 <= _response.status_code < 300:
|
|
1775
|
-
return typing.cast(
|
|
1776
|
-
int,
|
|
1777
|
-
construct_type(
|
|
1778
|
-
type_=int, # type: ignore
|
|
1779
|
-
object_=_response.json(),
|
|
1780
|
-
),
|
|
1781
|
-
)
|
|
1782
|
-
if _response.status_code == 422:
|
|
1783
|
-
raise UnprocessableEntityError(
|
|
1784
|
-
typing.cast(
|
|
1785
|
-
HttpValidationError,
|
|
1786
|
-
construct_type(
|
|
1787
|
-
type_=HttpValidationError, # type: ignore
|
|
1788
|
-
object_=_response.json(),
|
|
1789
|
-
),
|
|
1790
|
-
)
|
|
1791
|
-
)
|
|
1792
|
-
_response_json = _response.json()
|
|
1793
|
-
except JSONDecodeError:
|
|
1794
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
1795
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
1124
|
+
_response = await self._raw_client.count(include_base_tools=include_base_tools, request_options=request_options)
|
|
1125
|
+
return _response.data
|
|
1796
1126
|
|
|
1797
1127
|
async def list(
|
|
1798
1128
|
self,
|
|
@@ -1839,39 +1169,8 @@ class AsyncToolsClient:
|
|
|
1839
1169
|
|
|
1840
1170
|
asyncio.run(main())
|
|
1841
1171
|
"""
|
|
1842
|
-
_response = await self.
|
|
1843
|
-
|
|
1844
|
-
method="GET",
|
|
1845
|
-
params={
|
|
1846
|
-
"after": after,
|
|
1847
|
-
"limit": limit,
|
|
1848
|
-
"name": name,
|
|
1849
|
-
},
|
|
1850
|
-
request_options=request_options,
|
|
1851
|
-
)
|
|
1852
|
-
try:
|
|
1853
|
-
if 200 <= _response.status_code < 300:
|
|
1854
|
-
return typing.cast(
|
|
1855
|
-
typing.List[Tool],
|
|
1856
|
-
construct_type(
|
|
1857
|
-
type_=typing.List[Tool], # type: ignore
|
|
1858
|
-
object_=_response.json(),
|
|
1859
|
-
),
|
|
1860
|
-
)
|
|
1861
|
-
if _response.status_code == 422:
|
|
1862
|
-
raise UnprocessableEntityError(
|
|
1863
|
-
typing.cast(
|
|
1864
|
-
HttpValidationError,
|
|
1865
|
-
construct_type(
|
|
1866
|
-
type_=HttpValidationError, # type: ignore
|
|
1867
|
-
object_=_response.json(),
|
|
1868
|
-
),
|
|
1869
|
-
)
|
|
1870
|
-
)
|
|
1871
|
-
_response_json = _response.json()
|
|
1872
|
-
except JSONDecodeError:
|
|
1873
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
1874
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
1172
|
+
_response = await self._raw_client.list(after=after, limit=limit, name=name, request_options=request_options)
|
|
1173
|
+
return _response.data
|
|
1875
1174
|
|
|
1876
1175
|
async def create(
|
|
1877
1176
|
self,
|
|
@@ -1943,47 +1242,18 @@ class AsyncToolsClient:
|
|
|
1943
1242
|
|
|
1944
1243
|
asyncio.run(main())
|
|
1945
1244
|
"""
|
|
1946
|
-
_response = await self.
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
"args_json_schema": args_json_schema,
|
|
1956
|
-
"return_char_limit": return_char_limit,
|
|
1957
|
-
"pip_requirements": convert_and_respect_annotation_metadata(
|
|
1958
|
-
object_=pip_requirements, annotation=typing.Sequence[PipRequirement], direction="write"
|
|
1959
|
-
),
|
|
1960
|
-
},
|
|
1245
|
+
_response = await self._raw_client.create(
|
|
1246
|
+
source_code=source_code,
|
|
1247
|
+
description=description,
|
|
1248
|
+
tags=tags,
|
|
1249
|
+
source_type=source_type,
|
|
1250
|
+
json_schema=json_schema,
|
|
1251
|
+
args_json_schema=args_json_schema,
|
|
1252
|
+
return_char_limit=return_char_limit,
|
|
1253
|
+
pip_requirements=pip_requirements,
|
|
1961
1254
|
request_options=request_options,
|
|
1962
|
-
|
|
1963
|
-
|
|
1964
|
-
try:
|
|
1965
|
-
if 200 <= _response.status_code < 300:
|
|
1966
|
-
return typing.cast(
|
|
1967
|
-
Tool,
|
|
1968
|
-
construct_type(
|
|
1969
|
-
type_=Tool, # type: ignore
|
|
1970
|
-
object_=_response.json(),
|
|
1971
|
-
),
|
|
1972
|
-
)
|
|
1973
|
-
if _response.status_code == 422:
|
|
1974
|
-
raise UnprocessableEntityError(
|
|
1975
|
-
typing.cast(
|
|
1976
|
-
HttpValidationError,
|
|
1977
|
-
construct_type(
|
|
1978
|
-
type_=HttpValidationError, # type: ignore
|
|
1979
|
-
object_=_response.json(),
|
|
1980
|
-
),
|
|
1981
|
-
)
|
|
1982
|
-
)
|
|
1983
|
-
_response_json = _response.json()
|
|
1984
|
-
except JSONDecodeError:
|
|
1985
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
1986
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
1255
|
+
)
|
|
1256
|
+
return _response.data
|
|
1987
1257
|
|
|
1988
1258
|
async def upsert(
|
|
1989
1259
|
self,
|
|
@@ -2055,47 +1325,18 @@ class AsyncToolsClient:
|
|
|
2055
1325
|
|
|
2056
1326
|
asyncio.run(main())
|
|
2057
1327
|
"""
|
|
2058
|
-
_response = await self.
|
|
2059
|
-
|
|
2060
|
-
|
|
2061
|
-
|
|
2062
|
-
|
|
2063
|
-
|
|
2064
|
-
|
|
2065
|
-
|
|
2066
|
-
|
|
2067
|
-
"args_json_schema": args_json_schema,
|
|
2068
|
-
"return_char_limit": return_char_limit,
|
|
2069
|
-
"pip_requirements": convert_and_respect_annotation_metadata(
|
|
2070
|
-
object_=pip_requirements, annotation=typing.Sequence[PipRequirement], direction="write"
|
|
2071
|
-
),
|
|
2072
|
-
},
|
|
1328
|
+
_response = await self._raw_client.upsert(
|
|
1329
|
+
source_code=source_code,
|
|
1330
|
+
description=description,
|
|
1331
|
+
tags=tags,
|
|
1332
|
+
source_type=source_type,
|
|
1333
|
+
json_schema=json_schema,
|
|
1334
|
+
args_json_schema=args_json_schema,
|
|
1335
|
+
return_char_limit=return_char_limit,
|
|
1336
|
+
pip_requirements=pip_requirements,
|
|
2073
1337
|
request_options=request_options,
|
|
2074
|
-
|
|
2075
|
-
|
|
2076
|
-
try:
|
|
2077
|
-
if 200 <= _response.status_code < 300:
|
|
2078
|
-
return typing.cast(
|
|
2079
|
-
Tool,
|
|
2080
|
-
construct_type(
|
|
2081
|
-
type_=Tool, # type: ignore
|
|
2082
|
-
object_=_response.json(),
|
|
2083
|
-
),
|
|
2084
|
-
)
|
|
2085
|
-
if _response.status_code == 422:
|
|
2086
|
-
raise UnprocessableEntityError(
|
|
2087
|
-
typing.cast(
|
|
2088
|
-
HttpValidationError,
|
|
2089
|
-
construct_type(
|
|
2090
|
-
type_=HttpValidationError, # type: ignore
|
|
2091
|
-
object_=_response.json(),
|
|
2092
|
-
),
|
|
2093
|
-
)
|
|
2094
|
-
)
|
|
2095
|
-
_response_json = _response.json()
|
|
2096
|
-
except JSONDecodeError:
|
|
2097
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
2098
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
1338
|
+
)
|
|
1339
|
+
return _response.data
|
|
2099
1340
|
|
|
2100
1341
|
async def upsert_base_tools(self, *, request_options: typing.Optional[RequestOptions] = None) -> typing.List[Tool]:
|
|
2101
1342
|
"""
|
|
@@ -2129,34 +1370,8 @@ class AsyncToolsClient:
|
|
|
2129
1370
|
|
|
2130
1371
|
asyncio.run(main())
|
|
2131
1372
|
"""
|
|
2132
|
-
_response = await self.
|
|
2133
|
-
|
|
2134
|
-
method="POST",
|
|
2135
|
-
request_options=request_options,
|
|
2136
|
-
)
|
|
2137
|
-
try:
|
|
2138
|
-
if 200 <= _response.status_code < 300:
|
|
2139
|
-
return typing.cast(
|
|
2140
|
-
typing.List[Tool],
|
|
2141
|
-
construct_type(
|
|
2142
|
-
type_=typing.List[Tool], # type: ignore
|
|
2143
|
-
object_=_response.json(),
|
|
2144
|
-
),
|
|
2145
|
-
)
|
|
2146
|
-
if _response.status_code == 422:
|
|
2147
|
-
raise UnprocessableEntityError(
|
|
2148
|
-
typing.cast(
|
|
2149
|
-
HttpValidationError,
|
|
2150
|
-
construct_type(
|
|
2151
|
-
type_=HttpValidationError, # type: ignore
|
|
2152
|
-
object_=_response.json(),
|
|
2153
|
-
),
|
|
2154
|
-
)
|
|
2155
|
-
)
|
|
2156
|
-
_response_json = _response.json()
|
|
2157
|
-
except JSONDecodeError:
|
|
2158
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
2159
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
1373
|
+
_response = await self._raw_client.upsert_base_tools(request_options=request_options)
|
|
1374
|
+
return _response.data
|
|
2160
1375
|
|
|
2161
1376
|
async def run_tool_from_source(
|
|
2162
1377
|
self,
|
|
@@ -2229,50 +1444,18 @@ class AsyncToolsClient:
|
|
|
2229
1444
|
|
|
2230
1445
|
asyncio.run(main())
|
|
2231
1446
|
"""
|
|
2232
|
-
_response = await self.
|
|
2233
|
-
|
|
2234
|
-
|
|
2235
|
-
|
|
2236
|
-
|
|
2237
|
-
|
|
2238
|
-
|
|
2239
|
-
|
|
2240
|
-
|
|
2241
|
-
"args_json_schema": args_json_schema,
|
|
2242
|
-
"json_schema": json_schema,
|
|
2243
|
-
"pip_requirements": convert_and_respect_annotation_metadata(
|
|
2244
|
-
object_=pip_requirements, annotation=typing.Sequence[PipRequirement], direction="write"
|
|
2245
|
-
),
|
|
2246
|
-
},
|
|
2247
|
-
headers={
|
|
2248
|
-
"content-type": "application/json",
|
|
2249
|
-
},
|
|
1447
|
+
_response = await self._raw_client.run_tool_from_source(
|
|
1448
|
+
source_code=source_code,
|
|
1449
|
+
args=args,
|
|
1450
|
+
env_vars=env_vars,
|
|
1451
|
+
name=name,
|
|
1452
|
+
source_type=source_type,
|
|
1453
|
+
args_json_schema=args_json_schema,
|
|
1454
|
+
json_schema=json_schema,
|
|
1455
|
+
pip_requirements=pip_requirements,
|
|
2250
1456
|
request_options=request_options,
|
|
2251
|
-
|
|
2252
|
-
|
|
2253
|
-
try:
|
|
2254
|
-
if 200 <= _response.status_code < 300:
|
|
2255
|
-
return typing.cast(
|
|
2256
|
-
ToolReturnMessage,
|
|
2257
|
-
construct_type(
|
|
2258
|
-
type_=ToolReturnMessage, # type: ignore
|
|
2259
|
-
object_=_response.json(),
|
|
2260
|
-
),
|
|
2261
|
-
)
|
|
2262
|
-
if _response.status_code == 422:
|
|
2263
|
-
raise UnprocessableEntityError(
|
|
2264
|
-
typing.cast(
|
|
2265
|
-
HttpValidationError,
|
|
2266
|
-
construct_type(
|
|
2267
|
-
type_=HttpValidationError, # type: ignore
|
|
2268
|
-
object_=_response.json(),
|
|
2269
|
-
),
|
|
2270
|
-
)
|
|
2271
|
-
)
|
|
2272
|
-
_response_json = _response.json()
|
|
2273
|
-
except JSONDecodeError:
|
|
2274
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
2275
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
1457
|
+
)
|
|
1458
|
+
return _response.data
|
|
2276
1459
|
|
|
2277
1460
|
async def list_composio_apps(
|
|
2278
1461
|
self, *, user_id: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None
|
|
@@ -2310,37 +1493,8 @@ class AsyncToolsClient:
|
|
|
2310
1493
|
|
|
2311
1494
|
asyncio.run(main())
|
|
2312
1495
|
"""
|
|
2313
|
-
_response = await self.
|
|
2314
|
-
|
|
2315
|
-
method="GET",
|
|
2316
|
-
headers={
|
|
2317
|
-
"user-id": str(user_id) if user_id is not None else None,
|
|
2318
|
-
},
|
|
2319
|
-
request_options=request_options,
|
|
2320
|
-
)
|
|
2321
|
-
try:
|
|
2322
|
-
if 200 <= _response.status_code < 300:
|
|
2323
|
-
return typing.cast(
|
|
2324
|
-
typing.List[AppModel],
|
|
2325
|
-
construct_type(
|
|
2326
|
-
type_=typing.List[AppModel], # type: ignore
|
|
2327
|
-
object_=_response.json(),
|
|
2328
|
-
),
|
|
2329
|
-
)
|
|
2330
|
-
if _response.status_code == 422:
|
|
2331
|
-
raise UnprocessableEntityError(
|
|
2332
|
-
typing.cast(
|
|
2333
|
-
HttpValidationError,
|
|
2334
|
-
construct_type(
|
|
2335
|
-
type_=HttpValidationError, # type: ignore
|
|
2336
|
-
object_=_response.json(),
|
|
2337
|
-
),
|
|
2338
|
-
)
|
|
2339
|
-
)
|
|
2340
|
-
_response_json = _response.json()
|
|
2341
|
-
except JSONDecodeError:
|
|
2342
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
2343
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
1496
|
+
_response = await self._raw_client.list_composio_apps(user_id=user_id, request_options=request_options)
|
|
1497
|
+
return _response.data
|
|
2344
1498
|
|
|
2345
1499
|
async def list_composio_actions_by_app(
|
|
2346
1500
|
self, composio_app_name: str, *, request_options: typing.Optional[RequestOptions] = None
|
|
@@ -2380,34 +1534,10 @@ class AsyncToolsClient:
|
|
|
2380
1534
|
|
|
2381
1535
|
asyncio.run(main())
|
|
2382
1536
|
"""
|
|
2383
|
-
_response = await self.
|
|
2384
|
-
|
|
2385
|
-
method="GET",
|
|
2386
|
-
request_options=request_options,
|
|
1537
|
+
_response = await self._raw_client.list_composio_actions_by_app(
|
|
1538
|
+
composio_app_name, request_options=request_options
|
|
2387
1539
|
)
|
|
2388
|
-
|
|
2389
|
-
if 200 <= _response.status_code < 300:
|
|
2390
|
-
return typing.cast(
|
|
2391
|
-
typing.List[ActionModel],
|
|
2392
|
-
construct_type(
|
|
2393
|
-
type_=typing.List[ActionModel], # type: ignore
|
|
2394
|
-
object_=_response.json(),
|
|
2395
|
-
),
|
|
2396
|
-
)
|
|
2397
|
-
if _response.status_code == 422:
|
|
2398
|
-
raise UnprocessableEntityError(
|
|
2399
|
-
typing.cast(
|
|
2400
|
-
HttpValidationError,
|
|
2401
|
-
construct_type(
|
|
2402
|
-
type_=HttpValidationError, # type: ignore
|
|
2403
|
-
object_=_response.json(),
|
|
2404
|
-
),
|
|
2405
|
-
)
|
|
2406
|
-
)
|
|
2407
|
-
_response_json = _response.json()
|
|
2408
|
-
except JSONDecodeError:
|
|
2409
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
2410
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
1540
|
+
return _response.data
|
|
2411
1541
|
|
|
2412
1542
|
async def add_composio_tool(
|
|
2413
1543
|
self, composio_action_name: str, *, request_options: typing.Optional[RequestOptions] = None
|
|
@@ -2447,34 +1577,8 @@ class AsyncToolsClient:
|
|
|
2447
1577
|
|
|
2448
1578
|
asyncio.run(main())
|
|
2449
1579
|
"""
|
|
2450
|
-
_response = await self.
|
|
2451
|
-
|
|
2452
|
-
method="POST",
|
|
2453
|
-
request_options=request_options,
|
|
2454
|
-
)
|
|
2455
|
-
try:
|
|
2456
|
-
if 200 <= _response.status_code < 300:
|
|
2457
|
-
return typing.cast(
|
|
2458
|
-
Tool,
|
|
2459
|
-
construct_type(
|
|
2460
|
-
type_=Tool, # type: ignore
|
|
2461
|
-
object_=_response.json(),
|
|
2462
|
-
),
|
|
2463
|
-
)
|
|
2464
|
-
if _response.status_code == 422:
|
|
2465
|
-
raise UnprocessableEntityError(
|
|
2466
|
-
typing.cast(
|
|
2467
|
-
HttpValidationError,
|
|
2468
|
-
construct_type(
|
|
2469
|
-
type_=HttpValidationError, # type: ignore
|
|
2470
|
-
object_=_response.json(),
|
|
2471
|
-
),
|
|
2472
|
-
)
|
|
2473
|
-
)
|
|
2474
|
-
_response_json = _response.json()
|
|
2475
|
-
except JSONDecodeError:
|
|
2476
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
2477
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
1580
|
+
_response = await self._raw_client.add_composio_tool(composio_action_name, request_options=request_options)
|
|
1581
|
+
return _response.data
|
|
2478
1582
|
|
|
2479
1583
|
async def list_mcp_servers(
|
|
2480
1584
|
self, *, user_id: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None
|
|
@@ -2512,37 +1616,8 @@ class AsyncToolsClient:
|
|
|
2512
1616
|
|
|
2513
1617
|
asyncio.run(main())
|
|
2514
1618
|
"""
|
|
2515
|
-
_response = await self.
|
|
2516
|
-
|
|
2517
|
-
method="GET",
|
|
2518
|
-
headers={
|
|
2519
|
-
"user-id": str(user_id) if user_id is not None else None,
|
|
2520
|
-
},
|
|
2521
|
-
request_options=request_options,
|
|
2522
|
-
)
|
|
2523
|
-
try:
|
|
2524
|
-
if 200 <= _response.status_code < 300:
|
|
2525
|
-
return typing.cast(
|
|
2526
|
-
typing.Dict[str, ListMcpServersResponseValue],
|
|
2527
|
-
construct_type(
|
|
2528
|
-
type_=typing.Dict[str, ListMcpServersResponseValue], # type: ignore
|
|
2529
|
-
object_=_response.json(),
|
|
2530
|
-
),
|
|
2531
|
-
)
|
|
2532
|
-
if _response.status_code == 422:
|
|
2533
|
-
raise UnprocessableEntityError(
|
|
2534
|
-
typing.cast(
|
|
2535
|
-
HttpValidationError,
|
|
2536
|
-
construct_type(
|
|
2537
|
-
type_=HttpValidationError, # type: ignore
|
|
2538
|
-
object_=_response.json(),
|
|
2539
|
-
),
|
|
2540
|
-
)
|
|
2541
|
-
)
|
|
2542
|
-
_response_json = _response.json()
|
|
2543
|
-
except JSONDecodeError:
|
|
2544
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
2545
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
1619
|
+
_response = await self._raw_client.list_mcp_servers(user_id=user_id, request_options=request_options)
|
|
1620
|
+
return _response.data
|
|
2546
1621
|
|
|
2547
1622
|
async def add_mcp_server(
|
|
2548
1623
|
self, *, request: AddMcpServerRequest, request_options: typing.Optional[RequestOptions] = None
|
|
@@ -2586,38 +1661,8 @@ class AsyncToolsClient:
|
|
|
2586
1661
|
|
|
2587
1662
|
asyncio.run(main())
|
|
2588
1663
|
"""
|
|
2589
|
-
_response = await self.
|
|
2590
|
-
|
|
2591
|
-
method="PUT",
|
|
2592
|
-
json=convert_and_respect_annotation_metadata(
|
|
2593
|
-
object_=request, annotation=AddMcpServerRequest, direction="write"
|
|
2594
|
-
),
|
|
2595
|
-
request_options=request_options,
|
|
2596
|
-
omit=OMIT,
|
|
2597
|
-
)
|
|
2598
|
-
try:
|
|
2599
|
-
if 200 <= _response.status_code < 300:
|
|
2600
|
-
return typing.cast(
|
|
2601
|
-
typing.List[AddMcpServerResponseItem],
|
|
2602
|
-
construct_type(
|
|
2603
|
-
type_=typing.List[AddMcpServerResponseItem], # type: ignore
|
|
2604
|
-
object_=_response.json(),
|
|
2605
|
-
),
|
|
2606
|
-
)
|
|
2607
|
-
if _response.status_code == 422:
|
|
2608
|
-
raise UnprocessableEntityError(
|
|
2609
|
-
typing.cast(
|
|
2610
|
-
HttpValidationError,
|
|
2611
|
-
construct_type(
|
|
2612
|
-
type_=HttpValidationError, # type: ignore
|
|
2613
|
-
object_=_response.json(),
|
|
2614
|
-
),
|
|
2615
|
-
)
|
|
2616
|
-
)
|
|
2617
|
-
_response_json = _response.json()
|
|
2618
|
-
except JSONDecodeError:
|
|
2619
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
2620
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
1664
|
+
_response = await self._raw_client.add_mcp_server(request=request, request_options=request_options)
|
|
1665
|
+
return _response.data
|
|
2621
1666
|
|
|
2622
1667
|
async def list_mcp_tools_by_server(
|
|
2623
1668
|
self, mcp_server_name: str, *, request_options: typing.Optional[RequestOptions] = None
|
|
@@ -2657,34 +1702,8 @@ class AsyncToolsClient:
|
|
|
2657
1702
|
|
|
2658
1703
|
asyncio.run(main())
|
|
2659
1704
|
"""
|
|
2660
|
-
_response = await self.
|
|
2661
|
-
|
|
2662
|
-
method="GET",
|
|
2663
|
-
request_options=request_options,
|
|
2664
|
-
)
|
|
2665
|
-
try:
|
|
2666
|
-
if 200 <= _response.status_code < 300:
|
|
2667
|
-
return typing.cast(
|
|
2668
|
-
typing.List[McpTool],
|
|
2669
|
-
construct_type(
|
|
2670
|
-
type_=typing.List[McpTool], # type: ignore
|
|
2671
|
-
object_=_response.json(),
|
|
2672
|
-
),
|
|
2673
|
-
)
|
|
2674
|
-
if _response.status_code == 422:
|
|
2675
|
-
raise UnprocessableEntityError(
|
|
2676
|
-
typing.cast(
|
|
2677
|
-
HttpValidationError,
|
|
2678
|
-
construct_type(
|
|
2679
|
-
type_=HttpValidationError, # type: ignore
|
|
2680
|
-
object_=_response.json(),
|
|
2681
|
-
),
|
|
2682
|
-
)
|
|
2683
|
-
)
|
|
2684
|
-
_response_json = _response.json()
|
|
2685
|
-
except JSONDecodeError:
|
|
2686
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
2687
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
1705
|
+
_response = await self._raw_client.list_mcp_tools_by_server(mcp_server_name, request_options=request_options)
|
|
1706
|
+
return _response.data
|
|
2688
1707
|
|
|
2689
1708
|
async def add_mcp_tool(
|
|
2690
1709
|
self, mcp_server_name: str, mcp_tool_name: str, *, request_options: typing.Optional[RequestOptions] = None
|
|
@@ -2727,34 +1746,8 @@ class AsyncToolsClient:
|
|
|
2727
1746
|
|
|
2728
1747
|
asyncio.run(main())
|
|
2729
1748
|
"""
|
|
2730
|
-
_response = await self.
|
|
2731
|
-
|
|
2732
|
-
method="POST",
|
|
2733
|
-
request_options=request_options,
|
|
2734
|
-
)
|
|
2735
|
-
try:
|
|
2736
|
-
if 200 <= _response.status_code < 300:
|
|
2737
|
-
return typing.cast(
|
|
2738
|
-
Tool,
|
|
2739
|
-
construct_type(
|
|
2740
|
-
type_=Tool, # type: ignore
|
|
2741
|
-
object_=_response.json(),
|
|
2742
|
-
),
|
|
2743
|
-
)
|
|
2744
|
-
if _response.status_code == 422:
|
|
2745
|
-
raise UnprocessableEntityError(
|
|
2746
|
-
typing.cast(
|
|
2747
|
-
HttpValidationError,
|
|
2748
|
-
construct_type(
|
|
2749
|
-
type_=HttpValidationError, # type: ignore
|
|
2750
|
-
object_=_response.json(),
|
|
2751
|
-
),
|
|
2752
|
-
)
|
|
2753
|
-
)
|
|
2754
|
-
_response_json = _response.json()
|
|
2755
|
-
except JSONDecodeError:
|
|
2756
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
2757
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
1749
|
+
_response = await self._raw_client.add_mcp_tool(mcp_server_name, mcp_tool_name, request_options=request_options)
|
|
1750
|
+
return _response.data
|
|
2758
1751
|
|
|
2759
1752
|
async def delete_mcp_server(
|
|
2760
1753
|
self, mcp_server_name: str, *, request_options: typing.Optional[RequestOptions] = None
|
|
@@ -2794,34 +1787,8 @@ class AsyncToolsClient:
|
|
|
2794
1787
|
|
|
2795
1788
|
asyncio.run(main())
|
|
2796
1789
|
"""
|
|
2797
|
-
_response = await self.
|
|
2798
|
-
|
|
2799
|
-
method="DELETE",
|
|
2800
|
-
request_options=request_options,
|
|
2801
|
-
)
|
|
2802
|
-
try:
|
|
2803
|
-
if 200 <= _response.status_code < 300:
|
|
2804
|
-
return typing.cast(
|
|
2805
|
-
typing.List[DeleteMcpServerResponseItem],
|
|
2806
|
-
construct_type(
|
|
2807
|
-
type_=typing.List[DeleteMcpServerResponseItem], # type: ignore
|
|
2808
|
-
object_=_response.json(),
|
|
2809
|
-
),
|
|
2810
|
-
)
|
|
2811
|
-
if _response.status_code == 422:
|
|
2812
|
-
raise UnprocessableEntityError(
|
|
2813
|
-
typing.cast(
|
|
2814
|
-
HttpValidationError,
|
|
2815
|
-
construct_type(
|
|
2816
|
-
type_=HttpValidationError, # type: ignore
|
|
2817
|
-
object_=_response.json(),
|
|
2818
|
-
),
|
|
2819
|
-
)
|
|
2820
|
-
)
|
|
2821
|
-
_response_json = _response.json()
|
|
2822
|
-
except JSONDecodeError:
|
|
2823
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
2824
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
1790
|
+
_response = await self._raw_client.delete_mcp_server(mcp_server_name, request_options=request_options)
|
|
1791
|
+
return _response.data
|
|
2825
1792
|
|
|
2826
1793
|
async def update_mcp_server(
|
|
2827
1794
|
self,
|
|
@@ -2868,38 +1835,10 @@ class AsyncToolsClient:
|
|
|
2868
1835
|
|
|
2869
1836
|
asyncio.run(main())
|
|
2870
1837
|
"""
|
|
2871
|
-
_response = await self.
|
|
2872
|
-
|
|
2873
|
-
|
|
2874
|
-
|
|
2875
|
-
object_=request, annotation=UpdateMcpServerRequest, direction="write"
|
|
2876
|
-
),
|
|
2877
|
-
request_options=request_options,
|
|
2878
|
-
omit=OMIT,
|
|
2879
|
-
)
|
|
2880
|
-
try:
|
|
2881
|
-
if 200 <= _response.status_code < 300:
|
|
2882
|
-
return typing.cast(
|
|
2883
|
-
UpdateMcpServerResponse,
|
|
2884
|
-
construct_type(
|
|
2885
|
-
type_=UpdateMcpServerResponse, # type: ignore
|
|
2886
|
-
object_=_response.json(),
|
|
2887
|
-
),
|
|
2888
|
-
)
|
|
2889
|
-
if _response.status_code == 422:
|
|
2890
|
-
raise UnprocessableEntityError(
|
|
2891
|
-
typing.cast(
|
|
2892
|
-
HttpValidationError,
|
|
2893
|
-
construct_type(
|
|
2894
|
-
type_=HttpValidationError, # type: ignore
|
|
2895
|
-
object_=_response.json(),
|
|
2896
|
-
),
|
|
2897
|
-
)
|
|
2898
|
-
)
|
|
2899
|
-
_response_json = _response.json()
|
|
2900
|
-
except JSONDecodeError:
|
|
2901
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
2902
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
1838
|
+
_response = await self._raw_client.update_mcp_server(
|
|
1839
|
+
mcp_server_name, request=request, request_options=request_options
|
|
1840
|
+
)
|
|
1841
|
+
return _response.data
|
|
2903
1842
|
|
|
2904
1843
|
async def test_mcp_server(
|
|
2905
1844
|
self, *, request: TestMcpServerRequest, request_options: typing.Optional[RequestOptions] = None
|
|
@@ -2944,38 +1883,8 @@ class AsyncToolsClient:
|
|
|
2944
1883
|
|
|
2945
1884
|
asyncio.run(main())
|
|
2946
1885
|
"""
|
|
2947
|
-
_response = await self.
|
|
2948
|
-
|
|
2949
|
-
method="POST",
|
|
2950
|
-
json=convert_and_respect_annotation_metadata(
|
|
2951
|
-
object_=request, annotation=TestMcpServerRequest, direction="write"
|
|
2952
|
-
),
|
|
2953
|
-
request_options=request_options,
|
|
2954
|
-
omit=OMIT,
|
|
2955
|
-
)
|
|
2956
|
-
try:
|
|
2957
|
-
if 200 <= _response.status_code < 300:
|
|
2958
|
-
return typing.cast(
|
|
2959
|
-
typing.Optional[typing.Any],
|
|
2960
|
-
construct_type(
|
|
2961
|
-
type_=typing.Optional[typing.Any], # type: ignore
|
|
2962
|
-
object_=_response.json(),
|
|
2963
|
-
),
|
|
2964
|
-
)
|
|
2965
|
-
if _response.status_code == 422:
|
|
2966
|
-
raise UnprocessableEntityError(
|
|
2967
|
-
typing.cast(
|
|
2968
|
-
HttpValidationError,
|
|
2969
|
-
construct_type(
|
|
2970
|
-
type_=HttpValidationError, # type: ignore
|
|
2971
|
-
object_=_response.json(),
|
|
2972
|
-
),
|
|
2973
|
-
)
|
|
2974
|
-
)
|
|
2975
|
-
_response_json = _response.json()
|
|
2976
|
-
except JSONDecodeError:
|
|
2977
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
2978
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
1886
|
+
_response = await self._raw_client.test_mcp_server(request=request, request_options=request_options)
|
|
1887
|
+
return _response.data
|
|
2979
1888
|
|
|
2980
1889
|
async def connect_mcp_server(
|
|
2981
1890
|
self, *, request: ConnectMcpServerRequest, request_options: typing.Optional[RequestOptions] = None
|
|
@@ -3022,42 +1931,6 @@ class AsyncToolsClient:
|
|
|
3022
1931
|
|
|
3023
1932
|
asyncio.run(main())
|
|
3024
1933
|
"""
|
|
3025
|
-
async with self.
|
|
3026
|
-
|
|
3027
|
-
|
|
3028
|
-
json=convert_and_respect_annotation_metadata(
|
|
3029
|
-
object_=request, annotation=ConnectMcpServerRequest, direction="write"
|
|
3030
|
-
),
|
|
3031
|
-
request_options=request_options,
|
|
3032
|
-
omit=OMIT,
|
|
3033
|
-
) as _response:
|
|
3034
|
-
try:
|
|
3035
|
-
if 200 <= _response.status_code < 300:
|
|
3036
|
-
_event_source = httpx_sse.EventSource(_response)
|
|
3037
|
-
async for _sse in _event_source.aiter_sse():
|
|
3038
|
-
try:
|
|
3039
|
-
yield typing.cast(
|
|
3040
|
-
StreamingResponse,
|
|
3041
|
-
construct_type(
|
|
3042
|
-
type_=StreamingResponse, # type: ignore
|
|
3043
|
-
object_=json.loads(_sse.data),
|
|
3044
|
-
),
|
|
3045
|
-
)
|
|
3046
|
-
except:
|
|
3047
|
-
pass
|
|
3048
|
-
return
|
|
3049
|
-
await _response.aread()
|
|
3050
|
-
if _response.status_code == 422:
|
|
3051
|
-
raise UnprocessableEntityError(
|
|
3052
|
-
typing.cast(
|
|
3053
|
-
HttpValidationError,
|
|
3054
|
-
construct_type(
|
|
3055
|
-
type_=HttpValidationError, # type: ignore
|
|
3056
|
-
object_=_response.json(),
|
|
3057
|
-
),
|
|
3058
|
-
)
|
|
3059
|
-
)
|
|
3060
|
-
_response_json = _response.json()
|
|
3061
|
-
except JSONDecodeError:
|
|
3062
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
3063
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
1934
|
+
async with self._raw_client.connect_mcp_server(request=request, request_options=request_options) as r:
|
|
1935
|
+
async for _chunk in r.data:
|
|
1936
|
+
yield _chunk
|