vellum-ai 0.7.3__py3-none-any.whl → 0.7.5__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- vellum/__init__.py +142 -94
- vellum/client.py +1051 -1097
- vellum/core/__init__.py +4 -1
- vellum/core/client_wrapper.py +7 -3
- vellum/core/http_client.py +365 -20
- vellum/core/jsonable_encoder.py +3 -0
- vellum/core/pydantic_utilities.py +16 -0
- vellum/core/query_encoder.py +33 -0
- vellum/core/remove_none_from_dict.py +2 -2
- vellum/core/request_options.py +2 -2
- vellum/resources/__init__.py +2 -0
- vellum/resources/deployments/client.py +349 -377
- vellum/resources/document_indexes/client.py +542 -610
- vellum/resources/documents/client.py +327 -399
- vellum/resources/folder_entities/client.py +56 -72
- vellum/{types/map_enum.py → resources/ml_models/__init__.py} +0 -3
- vellum/resources/ml_models/client.py +837 -0
- vellum/resources/sandboxes/client.py +204 -242
- vellum/resources/test_suite_runs/client.py +183 -213
- vellum/resources/test_suites/client.py +307 -311
- vellum/resources/workflow_deployments/client.py +230 -268
- vellum/resources/workflow_sandboxes/client.py +82 -96
- vellum/terraform/_jsii/vellum-ai_vellum@0.0.0.jsii.tgz +0 -0
- vellum/terraform/data_vellum_document_index/__init__.py +10 -10
- vellum/terraform/document_index/__init__.py +17 -17
- vellum/terraform/provider/__init__.py +57 -12
- vellum/terraform/versions.json +1 -1
- vellum/types/__init__.py +148 -96
- vellum/types/api_node_result.py +7 -3
- vellum/types/api_node_result_data.py +7 -3
- vellum/types/array_chat_message_content.py +7 -3
- vellum/types/array_chat_message_content_item.py +53 -12
- vellum/types/array_chat_message_content_item_request.py +53 -12
- vellum/types/array_chat_message_content_request.py +7 -3
- vellum/types/array_parameter_config.py +50 -0
- vellum/types/array_parameter_config_request.py +50 -0
- vellum/types/array_variable_value_item.py +102 -24
- vellum/types/array_vellum_value_item.py +102 -24
- vellum/types/array_vellum_value_item_request.py +102 -24
- vellum/types/basic_vectorizer_intfloat_multilingual_e_5_large.py +7 -3
- vellum/types/basic_vectorizer_intfloat_multilingual_e_5_large_request.py +7 -3
- vellum/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_cos_v_1.py +7 -3
- vellum/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_cos_v_1_request.py +7 -3
- vellum/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_dot_v_1.py +7 -3
- vellum/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_dot_v_1_request.py +7 -3
- vellum/types/boolean_parameter_config.py +35 -0
- vellum/types/boolean_parameter_config_request.py +35 -0
- vellum/types/chat_history_input_request.py +7 -3
- vellum/types/chat_message.py +7 -3
- vellum/types/chat_message_content.py +70 -16
- vellum/types/chat_message_content_request.py +70 -16
- vellum/types/chat_message_request.py +7 -3
- vellum/types/code_execution_node_array_result.py +7 -3
- vellum/types/code_execution_node_chat_history_result.py +7 -3
- vellum/types/code_execution_node_error_result.py +7 -3
- vellum/types/code_execution_node_function_call_result.py +7 -3
- vellum/types/code_execution_node_json_result.py +7 -3
- vellum/types/code_execution_node_number_result.py +7 -3
- vellum/types/code_execution_node_result.py +7 -3
- vellum/types/code_execution_node_result_data.py +7 -3
- vellum/types/code_execution_node_result_output.py +144 -32
- vellum/types/code_execution_node_search_results_result.py +7 -3
- vellum/types/code_execution_node_string_result.py +7 -3
- vellum/types/compile_prompt_deployment_expand_meta_request.py +7 -3
- vellum/types/compile_prompt_meta.py +7 -3
- vellum/types/conditional_node_result.py +7 -3
- vellum/types/conditional_node_result_data.py +7 -3
- vellum/types/const_parameter_config.py +35 -0
- vellum/types/const_parameter_config_request.py +35 -0
- vellum/types/create_test_suite_test_case_request.py +7 -3
- vellum/types/deployment_provider_payload_response.py +7 -3
- vellum/types/deployment_read.py +12 -3
- vellum/types/deployment_release_tag_deployment_history_item.py +7 -3
- vellum/types/deployment_release_tag_read.py +7 -3
- vellum/types/document_document_to_document_index.py +7 -3
- vellum/types/document_index_chunking.py +54 -12
- vellum/types/document_index_chunking_request.py +54 -12
- vellum/types/document_index_indexing_config.py +7 -3
- vellum/types/document_index_indexing_config_request.py +7 -3
- vellum/types/document_index_read.py +7 -3
- vellum/types/document_read.py +7 -3
- vellum/types/enriched_normalized_completion.py +7 -3
- vellum/types/error_variable_value.py +7 -3
- vellum/types/error_vellum_value.py +7 -3
- vellum/types/error_vellum_value_request.py +7 -3
- vellum/types/execute_prompt_event.py +82 -16
- vellum/types/execute_prompt_response.py +44 -8
- vellum/types/execute_workflow_response.py +7 -3
- vellum/types/execute_workflow_workflow_result_event.py +41 -8
- vellum/types/execution_array_vellum_value.py +7 -3
- vellum/types/execution_chat_history_vellum_value.py +7 -3
- vellum/types/execution_error_vellum_value.py +7 -3
- vellum/types/execution_function_call_vellum_value.py +7 -3
- vellum/types/execution_json_vellum_value.py +7 -3
- vellum/types/execution_number_vellum_value.py +7 -3
- vellum/types/execution_search_results_vellum_value.py +7 -3
- vellum/types/execution_string_vellum_value.py +7 -3
- vellum/types/execution_vellum_value.py +152 -32
- vellum/types/external_test_case_execution.py +7 -3
- vellum/types/external_test_case_execution_request.py +7 -3
- vellum/types/fulfilled_execute_prompt_event.py +7 -3
- vellum/types/fulfilled_execute_prompt_response.py +7 -3
- vellum/types/fulfilled_execute_workflow_workflow_result_event.py +7 -3
- vellum/types/fulfilled_prompt_execution_meta.py +7 -3
- vellum/types/fulfilled_workflow_node_result_event.py +7 -3
- vellum/types/function_call.py +7 -3
- vellum/types/function_call_chat_message_content.py +7 -3
- vellum/types/function_call_chat_message_content_request.py +7 -3
- vellum/types/function_call_chat_message_content_value.py +7 -3
- vellum/types/function_call_chat_message_content_value_request.py +7 -3
- vellum/types/function_call_request.py +7 -3
- vellum/types/function_call_variable_value.py +7 -3
- vellum/types/function_call_vellum_value.py +7 -3
- vellum/types/function_call_vellum_value_request.py +7 -3
- vellum/types/generate_options_request.py +7 -3
- vellum/types/generate_request.py +7 -3
- vellum/types/generate_result.py +7 -3
- vellum/types/generate_result_data.py +7 -3
- vellum/types/generate_result_error.py +7 -3
- vellum/types/generate_stream_response.py +7 -3
- vellum/types/generate_stream_result.py +7 -3
- vellum/types/generate_stream_result_data.py +7 -3
- vellum/types/hkunlp_instructor_xl_vectorizer.py +7 -3
- vellum/types/hkunlp_instructor_xl_vectorizer_request.py +7 -3
- vellum/types/hosted_by_enum.py +26 -0
- vellum/types/hugging_face_tokenizer_config.py +34 -0
- vellum/types/hugging_face_tokenizer_config_request.py +34 -0
- vellum/types/image_chat_message_content.py +7 -3
- vellum/types/image_chat_message_content_request.py +7 -3
- vellum/types/image_variable_value.py +7 -3
- vellum/types/image_vellum_value.py +7 -3
- vellum/types/image_vellum_value_request.py +7 -3
- vellum/types/indexing_config_vectorizer.py +117 -36
- vellum/types/indexing_config_vectorizer_request.py +117 -36
- vellum/types/initiated_execute_prompt_event.py +7 -3
- vellum/types/initiated_prompt_execution_meta.py +7 -3
- vellum/types/initiated_workflow_node_result_event.py +7 -3
- vellum/types/instructor_vectorizer_config.py +7 -3
- vellum/types/instructor_vectorizer_config_request.py +7 -3
- vellum/types/integer_parameter_config.py +39 -0
- vellum/types/integer_parameter_config_request.py +39 -0
- vellum/types/json_input_request.py +7 -3
- vellum/types/json_variable_value.py +7 -3
- vellum/types/json_vellum_value.py +7 -3
- vellum/types/json_vellum_value_request.py +7 -3
- vellum/types/map_node_result.py +7 -3
- vellum/types/map_node_result_data.py +7 -3
- vellum/types/merge_node_result.py +7 -3
- vellum/types/merge_node_result_data.py +7 -3
- vellum/types/metadata_filter_config_request.py +7 -3
- vellum/types/metadata_filter_rule_request.py +7 -3
- vellum/types/metric_node_result.py +7 -3
- vellum/types/{execute_workflow_stream_error_response.py → ml_model_build_config.py} +9 -8
- vellum/types/{execute_prompt_api_error_response.py → ml_model_build_config_request.py} +9 -8
- vellum/types/ml_model_developer.py +27 -0
- vellum/types/ml_model_developer_enum_value_label.py +31 -0
- vellum/types/ml_model_display_config_labelled.py +33 -0
- vellum/types/ml_model_display_config_request.py +33 -0
- vellum/types/ml_model_display_tag.py +7 -0
- vellum/types/ml_model_display_tag_enum_value_label.py +31 -0
- vellum/types/ml_model_exec_config.py +40 -0
- vellum/types/ml_model_exec_config_request.py +40 -0
- vellum/types/ml_model_family.py +29 -0
- vellum/types/ml_model_family_enum_value_label.py +31 -0
- vellum/types/ml_model_feature.py +18 -0
- vellum/types/ml_model_parameter_config.py +42 -0
- vellum/types/ml_model_parameter_config_request.py +42 -0
- vellum/types/ml_model_read.py +108 -0
- vellum/types/ml_model_request_authorization_config.py +30 -0
- vellum/types/ml_model_request_authorization_config_request.py +30 -0
- vellum/types/ml_model_request_authorization_config_type_enum.py +5 -0
- vellum/types/ml_model_request_config.py +32 -0
- vellum/types/ml_model_request_config_request.py +32 -0
- vellum/types/ml_model_response_config.py +31 -0
- vellum/types/ml_model_response_config_request.py +31 -0
- vellum/types/ml_model_tokenizer_config.py +59 -0
- vellum/types/ml_model_tokenizer_config_request.py +61 -0
- vellum/types/ml_model_usage.py +7 -3
- vellum/types/named_scenario_input_chat_history_variable_value_request.py +7 -3
- vellum/types/named_scenario_input_request.py +38 -8
- vellum/types/named_scenario_input_string_variable_value_request.py +7 -3
- vellum/types/named_test_case_array_variable_value.py +7 -3
- vellum/types/named_test_case_array_variable_value_request.py +7 -3
- vellum/types/named_test_case_chat_history_variable_value.py +7 -3
- vellum/types/named_test_case_chat_history_variable_value_request.py +7 -3
- vellum/types/named_test_case_error_variable_value.py +7 -3
- vellum/types/named_test_case_error_variable_value_request.py +7 -3
- vellum/types/named_test_case_function_call_variable_value.py +7 -3
- vellum/types/named_test_case_function_call_variable_value_request.py +7 -3
- vellum/types/named_test_case_json_variable_value.py +7 -3
- vellum/types/named_test_case_json_variable_value_request.py +7 -3
- vellum/types/named_test_case_number_variable_value.py +7 -3
- vellum/types/named_test_case_number_variable_value_request.py +7 -3
- vellum/types/named_test_case_search_results_variable_value.py +7 -3
- vellum/types/named_test_case_search_results_variable_value_request.py +7 -3
- vellum/types/named_test_case_string_variable_value.py +7 -3
- vellum/types/named_test_case_string_variable_value_request.py +7 -3
- vellum/types/named_test_case_variable_value.py +144 -32
- vellum/types/named_test_case_variable_value_request.py +144 -32
- vellum/types/node_input_compiled_array_value.py +7 -3
- vellum/types/node_input_compiled_chat_history_value.py +7 -3
- vellum/types/node_input_compiled_error_value.py +7 -3
- vellum/types/node_input_compiled_function_call.py +7 -3
- vellum/types/node_input_compiled_json_value.py +7 -3
- vellum/types/node_input_compiled_number_value.py +7 -3
- vellum/types/node_input_compiled_search_results_value.py +7 -3
- vellum/types/node_input_compiled_string_value.py +7 -3
- vellum/types/node_input_variable_compiled_value.py +152 -32
- vellum/types/node_output_compiled_array_value.py +7 -3
- vellum/types/node_output_compiled_chat_history_value.py +7 -3
- vellum/types/node_output_compiled_error_value.py +7 -3
- vellum/types/node_output_compiled_function_call_value.py +7 -3
- vellum/types/node_output_compiled_json_value.py +7 -3
- vellum/types/node_output_compiled_number_value.py +7 -3
- vellum/types/node_output_compiled_search_results_value.py +7 -3
- vellum/types/node_output_compiled_string_value.py +7 -3
- vellum/types/node_output_compiled_value.py +153 -32
- vellum/types/normalized_log_probs.py +7 -3
- vellum/types/normalized_token_log_probs.py +7 -3
- vellum/types/number_parameter_config.py +40 -0
- vellum/types/number_parameter_config_request.py +40 -0
- vellum/types/number_variable_value.py +7 -3
- vellum/types/number_vellum_value.py +7 -3
- vellum/types/number_vellum_value_request.py +7 -3
- vellum/types/object_parameter_config.py +49 -0
- vellum/types/object_parameter_config_request.py +49 -0
- vellum/types/one_of_parameter_config.py +44 -0
- vellum/types/one_of_parameter_config_request.py +44 -0
- vellum/types/open_ai_vectorizer_config.py +7 -3
- vellum/types/open_ai_vectorizer_config_request.py +7 -3
- vellum/types/open_ai_vectorizer_text_embedding_3_large.py +7 -3
- vellum/types/open_ai_vectorizer_text_embedding_3_large_request.py +7 -3
- vellum/types/open_ai_vectorizer_text_embedding_3_small.py +7 -3
- vellum/types/open_ai_vectorizer_text_embedding_3_small_request.py +7 -3
- vellum/types/open_ai_vectorizer_text_embedding_ada_002.py +7 -3
- vellum/types/open_ai_vectorizer_text_embedding_ada_002_request.py +7 -3
- vellum/types/paginated_document_index_read_list.py +7 -3
- vellum/types/paginated_ml_model_read_list.py +33 -0
- vellum/types/paginated_slim_deployment_read_list.py +7 -3
- vellum/types/paginated_slim_document_list.py +7 -3
- vellum/types/paginated_slim_workflow_deployment_list.py +7 -3
- vellum/types/paginated_test_suite_run_execution_list.py +7 -3
- vellum/types/paginated_test_suite_test_case_list.py +7 -3
- vellum/types/parameter_config.py +251 -0
- vellum/types/parameter_config_request.py +251 -0
- vellum/types/pdf_search_result_meta_source.py +7 -3
- vellum/types/pdf_search_result_meta_source_request.py +7 -3
- vellum/types/prompt_deployment_expand_meta_request_request.py +7 -3
- vellum/types/prompt_deployment_input_request.py +55 -12
- vellum/types/prompt_execution_meta.py +7 -3
- vellum/types/prompt_node_execution_meta.py +7 -3
- vellum/types/prompt_node_result.py +7 -3
- vellum/types/prompt_node_result_data.py +7 -3
- vellum/types/prompt_output.py +69 -16
- vellum/types/raw_prompt_execution_overrides_request.py +7 -3
- vellum/types/reducto_chunker_config.py +7 -3
- vellum/types/reducto_chunker_config_request.py +7 -3
- vellum/types/reducto_chunking.py +7 -3
- vellum/types/reducto_chunking_request.py +7 -3
- vellum/types/rejected_execute_prompt_event.py +7 -3
- vellum/types/rejected_execute_prompt_response.py +7 -3
- vellum/types/rejected_execute_workflow_workflow_result_event.py +7 -3
- vellum/types/rejected_prompt_execution_meta.py +7 -3
- vellum/types/rejected_workflow_node_result_event.py +7 -3
- vellum/types/replace_test_suite_test_case_request.py +7 -3
- vellum/types/sandbox_scenario.py +7 -3
- vellum/types/scenario_input.py +38 -8
- vellum/types/scenario_input_chat_history_variable_value.py +7 -3
- vellum/types/scenario_input_string_variable_value.py +7 -3
- vellum/types/search_filters_request.py +7 -3
- vellum/types/search_node_result.py +7 -3
- vellum/types/search_node_result_data.py +7 -3
- vellum/types/search_request_options_request.py +7 -3
- vellum/types/search_response.py +7 -3
- vellum/types/search_result.py +7 -3
- vellum/types/search_result_document.py +7 -3
- vellum/types/search_result_document_request.py +7 -3
- vellum/types/search_result_merging_request.py +7 -3
- vellum/types/search_result_meta.py +7 -3
- vellum/types/search_result_meta_request.py +7 -3
- vellum/types/search_result_meta_source.py +21 -5
- vellum/types/search_result_meta_source_request.py +21 -5
- vellum/types/search_result_request.py +7 -3
- vellum/types/search_weights_request.py +7 -3
- vellum/types/sentence_chunker_config.py +7 -3
- vellum/types/sentence_chunker_config_request.py +7 -3
- vellum/types/sentence_chunking.py +7 -3
- vellum/types/sentence_chunking_request.py +7 -3
- vellum/types/slim_deployment_read.py +11 -3
- vellum/types/slim_document.py +7 -3
- vellum/types/slim_workflow_deployment.py +12 -3
- vellum/types/streaming_execute_prompt_event.py +7 -3
- vellum/types/streaming_prompt_execution_meta.py +7 -3
- vellum/types/streaming_workflow_node_result_event.py +7 -3
- vellum/types/string_chat_message_content.py +7 -3
- vellum/types/string_chat_message_content_request.py +7 -3
- vellum/types/string_input_request.py +7 -3
- vellum/types/string_parameter_config.py +39 -0
- vellum/types/string_parameter_config_request.py +39 -0
- vellum/types/string_variable_value.py +7 -3
- vellum/types/string_vellum_value.py +7 -3
- vellum/types/string_vellum_value_request.py +7 -3
- vellum/types/submit_completion_actual_request.py +7 -3
- vellum/types/submit_workflow_execution_actual_request.py +67 -12
- vellum/types/subworkflow_node_result.py +7 -3
- vellum/types/subworkflow_node_result_data.py +7 -3
- vellum/types/templating_node_array_result.py +7 -3
- vellum/types/templating_node_chat_history_result.py +7 -3
- vellum/types/templating_node_error_result.py +7 -3
- vellum/types/templating_node_function_call_result.py +7 -3
- vellum/types/templating_node_json_result.py +7 -3
- vellum/types/templating_node_number_result.py +7 -3
- vellum/types/templating_node_result.py +7 -3
- vellum/types/templating_node_result_data.py +7 -3
- vellum/types/templating_node_result_output.py +144 -32
- vellum/types/templating_node_search_results_result.py +7 -3
- vellum/types/templating_node_string_result.py +7 -3
- vellum/types/terminal_node_array_result.py +7 -3
- vellum/types/terminal_node_chat_history_result.py +7 -3
- vellum/types/terminal_node_error_result.py +7 -3
- vellum/types/terminal_node_function_call_result.py +7 -3
- vellum/types/terminal_node_json_result.py +7 -3
- vellum/types/terminal_node_number_result.py +7 -3
- vellum/types/terminal_node_result.py +7 -3
- vellum/types/terminal_node_result_data.py +7 -3
- vellum/types/terminal_node_result_output.py +152 -32
- vellum/types/terminal_node_search_results_result.py +7 -3
- vellum/types/terminal_node_string_result.py +7 -3
- vellum/types/test_case_array_variable_value.py +7 -3
- vellum/types/test_case_chat_history_variable_value.py +7 -3
- vellum/types/test_case_error_variable_value.py +7 -3
- vellum/types/test_case_function_call_variable_value.py +7 -3
- vellum/types/test_case_json_variable_value.py +8 -4
- vellum/types/test_case_number_variable_value.py +7 -3
- vellum/types/test_case_search_results_variable_value.py +7 -3
- vellum/types/test_case_string_variable_value.py +7 -3
- vellum/types/test_case_variable_value.py +152 -32
- vellum/types/test_suite_run_deployment_release_tag_exec_config.py +7 -3
- vellum/types/test_suite_run_deployment_release_tag_exec_config_data.py +7 -3
- vellum/types/test_suite_run_deployment_release_tag_exec_config_data_request.py +7 -3
- vellum/types/test_suite_run_deployment_release_tag_exec_config_request.py +7 -3
- vellum/types/test_suite_run_exec_config.py +57 -12
- vellum/types/test_suite_run_exec_config_request.py +61 -12
- vellum/types/test_suite_run_execution.py +7 -3
- vellum/types/test_suite_run_execution_array_output.py +7 -3
- vellum/types/test_suite_run_execution_chat_history_output.py +7 -3
- vellum/types/test_suite_run_execution_error_output.py +7 -3
- vellum/types/test_suite_run_execution_function_call_output.py +7 -3
- vellum/types/test_suite_run_execution_json_output.py +7 -3
- vellum/types/test_suite_run_execution_metric_definition.py +7 -3
- vellum/types/test_suite_run_execution_metric_result.py +7 -3
- vellum/types/test_suite_run_execution_number_output.py +7 -3
- vellum/types/test_suite_run_execution_output.py +152 -32
- vellum/types/test_suite_run_execution_search_results_output.py +7 -3
- vellum/types/test_suite_run_execution_string_output.py +7 -3
- vellum/types/test_suite_run_external_exec_config.py +7 -3
- vellum/types/test_suite_run_external_exec_config_data.py +7 -3
- vellum/types/test_suite_run_external_exec_config_data_request.py +7 -3
- vellum/types/test_suite_run_external_exec_config_request.py +7 -3
- vellum/types/test_suite_run_metric_error_output.py +7 -3
- vellum/types/test_suite_run_metric_number_output.py +7 -3
- vellum/types/test_suite_run_metric_output.py +55 -12
- vellum/types/test_suite_run_metric_string_output.py +7 -3
- vellum/types/test_suite_run_read.py +7 -3
- vellum/types/test_suite_run_test_suite.py +7 -3
- vellum/types/test_suite_run_workflow_release_tag_exec_config.py +7 -3
- vellum/types/test_suite_run_workflow_release_tag_exec_config_data.py +7 -3
- vellum/types/test_suite_run_workflow_release_tag_exec_config_data_request.py +7 -3
- vellum/types/test_suite_run_workflow_release_tag_exec_config_request.py +7 -3
- vellum/types/test_suite_test_case.py +7 -3
- vellum/types/test_suite_test_case_bulk_operation_request.py +75 -16
- vellum/types/test_suite_test_case_bulk_result.py +74 -16
- vellum/types/test_suite_test_case_create_bulk_operation_request.py +7 -3
- vellum/types/test_suite_test_case_created_bulk_result.py +7 -3
- vellum/types/test_suite_test_case_created_bulk_result_data.py +7 -3
- vellum/types/test_suite_test_case_delete_bulk_operation_data_request.py +7 -3
- vellum/types/test_suite_test_case_delete_bulk_operation_request.py +7 -3
- vellum/types/test_suite_test_case_deleted_bulk_result.py +7 -3
- vellum/types/test_suite_test_case_deleted_bulk_result_data.py +7 -3
- vellum/types/test_suite_test_case_rejected_bulk_result.py +7 -3
- vellum/types/test_suite_test_case_replace_bulk_operation_request.py +7 -3
- vellum/types/test_suite_test_case_replaced_bulk_result.py +7 -3
- vellum/types/test_suite_test_case_replaced_bulk_result_data.py +7 -3
- vellum/types/test_suite_test_case_upsert_bulk_operation_request.py +7 -3
- vellum/types/{execute_workflow_error_response.py → tik_token_tokenizer_config.py} +11 -6
- vellum/types/{generate_error_response.py → tik_token_tokenizer_config_request.py} +11 -6
- vellum/types/token_overlapping_window_chunker_config.py +7 -3
- vellum/types/token_overlapping_window_chunker_config_request.py +7 -3
- vellum/types/token_overlapping_window_chunking.py +7 -3
- vellum/types/token_overlapping_window_chunking_request.py +7 -3
- vellum/types/upload_document_response.py +7 -3
- vellum/types/upsert_test_suite_test_case_request.py +7 -3
- vellum/types/vellum_error.py +7 -3
- vellum/types/vellum_error_request.py +7 -3
- vellum/types/vellum_image.py +7 -3
- vellum/types/vellum_image_request.py +7 -3
- vellum/types/vellum_variable.py +7 -3
- vellum/types/visibility_enum.py +5 -0
- vellum/types/workflow_deployment_read.py +12 -3
- vellum/types/workflow_event_error.py +7 -3
- vellum/types/workflow_execution_actual_chat_history_request.py +7 -3
- vellum/types/workflow_execution_actual_json_request.py +7 -3
- vellum/types/workflow_execution_actual_string_request.py +7 -3
- vellum/types/workflow_execution_node_result_event.py +7 -3
- vellum/types/workflow_execution_workflow_result_event.py +7 -3
- vellum/types/workflow_expand_meta_request.py +7 -3
- vellum/types/workflow_node_result_data.py +189 -45
- vellum/types/workflow_node_result_event.py +101 -20
- vellum/types/workflow_output.py +171 -36
- vellum/types/workflow_output_array.py +7 -3
- vellum/types/workflow_output_chat_history.py +7 -3
- vellum/types/workflow_output_error.py +7 -3
- vellum/types/workflow_output_function_call.py +7 -3
- vellum/types/workflow_output_image.py +7 -3
- vellum/types/workflow_output_json.py +7 -3
- vellum/types/workflow_output_number.py +7 -3
- vellum/types/workflow_output_search_results.py +7 -3
- vellum/types/workflow_output_string.py +7 -3
- vellum/types/workflow_release_tag_read.py +7 -3
- vellum/types/workflow_release_tag_workflow_deployment_history_item.py +7 -3
- vellum/types/workflow_request_chat_history_input_request.py +7 -3
- vellum/types/workflow_request_input_request.py +72 -16
- vellum/types/workflow_request_json_input_request.py +7 -3
- vellum/types/workflow_request_number_input_request.py +7 -3
- vellum/types/workflow_request_string_input_request.py +7 -3
- vellum/types/workflow_result_event.py +7 -3
- vellum/types/workflow_result_event_output_data.py +178 -33
- vellum/types/workflow_result_event_output_data_array.py +7 -3
- vellum/types/workflow_result_event_output_data_chat_history.py +7 -3
- vellum/types/workflow_result_event_output_data_error.py +7 -3
- vellum/types/workflow_result_event_output_data_function_call.py +7 -3
- vellum/types/workflow_result_event_output_data_json.py +7 -3
- vellum/types/workflow_result_event_output_data_number.py +7 -3
- vellum/types/workflow_result_event_output_data_search_results.py +7 -3
- vellum/types/workflow_result_event_output_data_string.py +7 -3
- vellum/types/workflow_stream_event.py +43 -8
- {vellum_ai-0.7.3.dist-info → vellum_ai-0.7.5.dist-info}/METADATA +13 -1
- vellum_ai-0.7.5.dist-info/RECORD +502 -0
- vellum/types/array_enum.py +0 -5
- vellum/types/chat_history_enum.py +0 -5
- vellum/types/create_enum.py +0 -5
- vellum/types/created_enum.py +0 -5
- vellum/types/delete_enum.py +0 -5
- vellum/types/deleted_enum.py +0 -5
- vellum/types/error_enum.py +0 -5
- vellum/types/function_call_enum.py +0 -5
- vellum/types/hkunlp_instructor_xl_enum.py +0 -5
- vellum/types/image_enum.py +0 -5
- vellum/types/initiated_enum.py +0 -5
- vellum/types/intfloat_multilingual_e_5_large_enum.py +0 -5
- vellum/types/json_enum.py +0 -5
- vellum/types/merge_enum.py +0 -5
- vellum/types/metric_enum.py +0 -5
- vellum/types/number_enum.py +0 -5
- vellum/types/pdf_enum.py +0 -5
- vellum/types/reducto_chunker_enum.py +0 -5
- vellum/types/rejected_enum.py +0 -5
- vellum/types/replace_enum.py +0 -5
- vellum/types/replaced_enum.py +0 -5
- vellum/types/search_error_response.py +0 -28
- vellum/types/search_results_enum.py +0 -5
- vellum/types/sentence_chunker_enum.py +0 -5
- vellum/types/sentence_transformers_multi_qa_mpnet_base_cos_v_1_enum.py +0 -5
- vellum/types/sentence_transformers_multi_qa_mpnet_base_dot_v_1_enum.py +0 -5
- vellum/types/streaming_enum.py +0 -5
- vellum/types/string_enum.py +0 -5
- vellum/types/submit_completion_actuals_error_response.py +0 -25
- vellum/types/subworkflow_enum.py +0 -5
- vellum/types/test_suite_run_deployment_release_tag_exec_config_type_enum.py +0 -5
- vellum/types/test_suite_run_external_exec_config_type_enum.py +0 -5
- vellum/types/test_suite_run_metric_error_output_type_enum.py +0 -5
- vellum/types/test_suite_run_metric_number_output_type_enum.py +0 -5
- vellum/types/test_suite_run_metric_string_output_type_enum.py +0 -5
- vellum/types/test_suite_run_workflow_release_tag_exec_config_type_enum.py +0 -5
- vellum/types/text_embedding_3_large_enum.py +0 -5
- vellum/types/text_embedding_3_small_enum.py +0 -5
- vellum/types/text_embedding_ada_002_enum.py +0 -5
- vellum/types/token_overlapping_window_chunker_enum.py +0 -5
- vellum/types/upload_document_error_response.py +0 -25
- vellum/types/upsert_enum.py +0 -5
- vellum_ai-0.7.3.dist-info/RECORD +0 -496
- {vellum_ai-0.7.3.dist-info → vellum_ai-0.7.5.dist-info}/LICENSE +0 -0
- {vellum_ai-0.7.3.dist-info → vellum_ai-0.7.5.dist-info}/WHEEL +0 -0
@@ -2,20 +2,18 @@
|
|
2
2
|
|
3
3
|
import json
|
4
4
|
import typing
|
5
|
-
import urllib.parse
|
6
5
|
from json.decoder import JSONDecodeError
|
7
6
|
|
8
7
|
from ...core.api_error import ApiError
|
9
8
|
from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
10
9
|
from ...core.jsonable_encoder import jsonable_encoder
|
11
10
|
from ...core.pydantic_utilities import pydantic_v1
|
12
|
-
from ...core.remove_none_from_dict import remove_none_from_dict
|
13
11
|
from ...core.request_options import RequestOptions
|
12
|
+
from ...types.named_test_case_variable_value_request import NamedTestCaseVariableValueRequest
|
14
13
|
from ...types.paginated_test_suite_test_case_list import PaginatedTestSuiteTestCaseList
|
15
14
|
from ...types.test_suite_test_case import TestSuiteTestCase
|
16
15
|
from ...types.test_suite_test_case_bulk_operation_request import TestSuiteTestCaseBulkOperationRequest
|
17
16
|
from ...types.test_suite_test_case_bulk_result import TestSuiteTestCaseBulkResult
|
18
|
-
from ...types.upsert_test_suite_test_case_request import UpsertTestSuiteTestCaseRequest
|
19
17
|
|
20
18
|
# this is used as the default value for optional parameters
|
21
19
|
OMIT = typing.cast(typing.Any, ...)
|
@@ -36,15 +34,27 @@ class TestSuitesClient:
|
|
36
34
|
"""
|
37
35
|
List the Test Cases associated with a Test Suite
|
38
36
|
|
39
|
-
Parameters
|
40
|
-
|
37
|
+
Parameters
|
38
|
+
----------
|
39
|
+
id : str
|
40
|
+
A UUID string identifying this test suite.
|
41
41
|
|
42
|
-
|
42
|
+
limit : typing.Optional[int]
|
43
|
+
Number of results to return per page.
|
43
44
|
|
44
|
-
|
45
|
+
offset : typing.Optional[int]
|
46
|
+
The initial index from which to return the results.
|
45
47
|
|
46
|
-
|
47
|
-
|
48
|
+
request_options : typing.Optional[RequestOptions]
|
49
|
+
Request-specific configuration.
|
50
|
+
|
51
|
+
Returns
|
52
|
+
-------
|
53
|
+
PaginatedTestSuiteTestCaseList
|
54
|
+
|
55
|
+
|
56
|
+
Examples
|
57
|
+
--------
|
48
58
|
from vellum.client import Vellum
|
49
59
|
|
50
60
|
client = Vellum(
|
@@ -55,41 +65,15 @@ class TestSuitesClient:
|
|
55
65
|
)
|
56
66
|
"""
|
57
67
|
_response = self._client_wrapper.httpx_client.request(
|
68
|
+
f"v1/test-suites/{jsonable_encoder(id)}/test-cases",
|
69
|
+
base_url=self._client_wrapper.get_environment().default,
|
58
70
|
method="GET",
|
59
|
-
|
60
|
-
|
61
|
-
f"v1/test-suites/{jsonable_encoder(id)}/test-cases",
|
62
|
-
),
|
63
|
-
params=jsonable_encoder(
|
64
|
-
remove_none_from_dict(
|
65
|
-
{
|
66
|
-
"limit": limit,
|
67
|
-
"offset": offset,
|
68
|
-
**(
|
69
|
-
request_options.get("additional_query_parameters", {})
|
70
|
-
if request_options is not None
|
71
|
-
else {}
|
72
|
-
),
|
73
|
-
}
|
74
|
-
)
|
75
|
-
),
|
76
|
-
headers=jsonable_encoder(
|
77
|
-
remove_none_from_dict(
|
78
|
-
{
|
79
|
-
**self._client_wrapper.get_headers(),
|
80
|
-
**(request_options.get("additional_headers", {}) if request_options is not None else {}),
|
81
|
-
}
|
82
|
-
)
|
83
|
-
),
|
84
|
-
timeout=request_options.get("timeout_in_seconds")
|
85
|
-
if request_options is not None and request_options.get("timeout_in_seconds") is not None
|
86
|
-
else self._client_wrapper.get_timeout(),
|
87
|
-
retries=0,
|
88
|
-
max_retries=request_options.get("max_retries") if request_options is not None else 0, # type: ignore
|
71
|
+
params={"limit": limit, "offset": offset},
|
72
|
+
request_options=request_options,
|
89
73
|
)
|
90
|
-
if 200 <= _response.status_code < 300:
|
91
|
-
return pydantic_v1.parse_obj_as(PaginatedTestSuiteTestCaseList, _response.json()) # type: ignore
|
92
74
|
try:
|
75
|
+
if 200 <= _response.status_code < 300:
|
76
|
+
return pydantic_v1.parse_obj_as(PaginatedTestSuiteTestCaseList, _response.json()) # type: ignore
|
93
77
|
_response_json = _response.json()
|
94
78
|
except JSONDecodeError:
|
95
79
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
@@ -97,9 +81,13 @@ class TestSuitesClient:
|
|
97
81
|
|
98
82
|
def upsert_test_suite_test_case(
|
99
83
|
self,
|
100
|
-
|
84
|
+
id_: str,
|
101
85
|
*,
|
102
|
-
|
86
|
+
input_values: typing.Sequence[NamedTestCaseVariableValueRequest],
|
87
|
+
evaluation_values: typing.Sequence[NamedTestCaseVariableValueRequest],
|
88
|
+
id: typing.Optional[str] = OMIT,
|
89
|
+
external_id: typing.Optional[str] = OMIT,
|
90
|
+
label: typing.Optional[str] = OMIT,
|
103
91
|
request_options: typing.Optional[RequestOptions] = None,
|
104
92
|
) -> TestSuiteTestCase:
|
105
93
|
"""
|
@@ -111,59 +99,64 @@ class TestSuitesClient:
|
|
111
99
|
Note that a full replacement of the test case is performed, so any fields not provided will be removed
|
112
100
|
or overwritten with default values.
|
113
101
|
|
114
|
-
Parameters
|
115
|
-
|
102
|
+
Parameters
|
103
|
+
----------
|
104
|
+
id_ : str
|
105
|
+
A UUID string identifying this test suite.
|
106
|
+
|
107
|
+
input_values : typing.Sequence[NamedTestCaseVariableValueRequest]
|
108
|
+
Values for each of the Test Case's input variables
|
109
|
+
|
110
|
+
evaluation_values : typing.Sequence[NamedTestCaseVariableValueRequest]
|
111
|
+
Values for each of the Test Case's evaluation variables
|
112
|
+
|
113
|
+
id : typing.Optional[str]
|
114
|
+
The Vellum-generated ID of an existing Test Case whose data you'd like to replace. If specified and no Test Case exists with this ID, a 404 will be returned.
|
115
|
+
|
116
|
+
external_id : typing.Optional[str]
|
117
|
+
An ID external to Vellum that uniquely identifies the Test Case that you'd like to create/update. If there's a match on a Test Case that was previously created with the same external_id, it will be updated. Otherwise, a new Test Case will be created with this value as its external_id. If no external_id is specified, then a new Test Case will always be created.
|
118
|
+
|
119
|
+
label : typing.Optional[str]
|
120
|
+
A human-readable label used to convey the intention of this Test Case
|
116
121
|
|
117
|
-
|
122
|
+
request_options : typing.Optional[RequestOptions]
|
123
|
+
Request-specific configuration.
|
118
124
|
|
119
|
-
|
120
|
-
|
121
|
-
|
125
|
+
Returns
|
126
|
+
-------
|
127
|
+
TestSuiteTestCase
|
128
|
+
|
129
|
+
|
130
|
+
Examples
|
131
|
+
--------
|
122
132
|
from vellum.client import Vellum
|
123
133
|
|
124
134
|
client = Vellum(
|
125
135
|
api_key="YOUR_API_KEY",
|
126
136
|
)
|
127
137
|
client.test_suites.upsert_test_suite_test_case(
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
evaluation_values=[],
|
132
|
-
),
|
138
|
+
id_="id",
|
139
|
+
input_values=[],
|
140
|
+
evaluation_values=[],
|
133
141
|
)
|
134
142
|
"""
|
135
143
|
_response = self._client_wrapper.httpx_client.request(
|
144
|
+
f"v1/test-suites/{jsonable_encoder(id_)}/test-cases",
|
145
|
+
base_url=self._client_wrapper.get_environment().default,
|
136
146
|
method="POST",
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
),
|
144
|
-
json=jsonable_encoder(request)
|
145
|
-
if request_options is None or request_options.get("additional_body_parameters") is None
|
146
|
-
else {
|
147
|
-
**jsonable_encoder(request),
|
148
|
-
**(jsonable_encoder(remove_none_from_dict(request_options.get("additional_body_parameters", {})))),
|
147
|
+
json={
|
148
|
+
"id": id,
|
149
|
+
"external_id": external_id,
|
150
|
+
"label": label,
|
151
|
+
"input_values": input_values,
|
152
|
+
"evaluation_values": evaluation_values,
|
149
153
|
},
|
150
|
-
|
151
|
-
|
152
|
-
{
|
153
|
-
**self._client_wrapper.get_headers(),
|
154
|
-
**(request_options.get("additional_headers", {}) if request_options is not None else {}),
|
155
|
-
}
|
156
|
-
)
|
157
|
-
),
|
158
|
-
timeout=request_options.get("timeout_in_seconds")
|
159
|
-
if request_options is not None and request_options.get("timeout_in_seconds") is not None
|
160
|
-
else self._client_wrapper.get_timeout(),
|
161
|
-
retries=0,
|
162
|
-
max_retries=request_options.get("max_retries") if request_options is not None else 0, # type: ignore
|
154
|
+
request_options=request_options,
|
155
|
+
omit=OMIT,
|
163
156
|
)
|
164
|
-
if 200 <= _response.status_code < 300:
|
165
|
-
return pydantic_v1.parse_obj_as(TestSuiteTestCase, _response.json()) # type: ignore
|
166
157
|
try:
|
158
|
+
if 200 <= _response.status_code < 300:
|
159
|
+
return pydantic_v1.parse_obj_as(TestSuiteTestCase, _response.json()) # type: ignore
|
167
160
|
_response_json = _response.json()
|
168
161
|
except JSONDecodeError:
|
169
162
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
@@ -179,13 +172,23 @@ class TestSuitesClient:
|
|
179
172
|
"""
|
180
173
|
Created, replace, and delete Test Cases within the specified Test Suite in bulk
|
181
174
|
|
182
|
-
Parameters
|
183
|
-
|
175
|
+
Parameters
|
176
|
+
----------
|
177
|
+
id : str
|
178
|
+
A UUID string identifying this test suite.
|
184
179
|
|
185
|
-
|
180
|
+
request : typing.Sequence[TestSuiteTestCaseBulkOperationRequest]
|
186
181
|
|
187
|
-
|
188
|
-
|
182
|
+
request_options : typing.Optional[RequestOptions]
|
183
|
+
Request-specific configuration.
|
184
|
+
|
185
|
+
Yields
|
186
|
+
------
|
187
|
+
typing.Iterator[typing.List[TestSuiteTestCaseBulkResult]]
|
188
|
+
|
189
|
+
|
190
|
+
Examples
|
191
|
+
--------
|
189
192
|
from vellum import (
|
190
193
|
CreateTestSuiteTestCaseRequest,
|
191
194
|
NamedTestCaseVariableValueRequest_String,
|
@@ -196,7 +199,7 @@ class TestSuitesClient:
|
|
196
199
|
client = Vellum(
|
197
200
|
api_key="YOUR_API_KEY",
|
198
201
|
)
|
199
|
-
client.test_suites.test_suite_test_cases_bulk(
|
202
|
+
response = client.test_suites.test_suite_test_cases_bulk(
|
200
203
|
id="string",
|
201
204
|
request=[
|
202
205
|
TestSuiteTestCaseBulkOperationRequest_Create(
|
@@ -210,44 +213,28 @@ class TestSuitesClient:
|
|
210
213
|
)
|
211
214
|
],
|
212
215
|
)
|
216
|
+
for chunk in response:
|
217
|
+
yield chunk
|
213
218
|
"""
|
214
219
|
with self._client_wrapper.httpx_client.stream(
|
220
|
+
f"v1/test-suites/{jsonable_encoder(id)}/test-cases-bulk",
|
221
|
+
base_url=self._client_wrapper.get_environment().default,
|
215
222
|
method="POST",
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
),
|
220
|
-
params=jsonable_encoder(
|
221
|
-
request_options.get("additional_query_parameters") if request_options is not None else None
|
222
|
-
),
|
223
|
-
json=jsonable_encoder(request)
|
224
|
-
if request_options is None or request_options.get("additional_body_parameters") is None
|
225
|
-
else {
|
226
|
-
**jsonable_encoder(request),
|
227
|
-
**(jsonable_encoder(remove_none_from_dict(request_options.get("additional_body_parameters", {})))),
|
228
|
-
},
|
229
|
-
headers=jsonable_encoder(
|
230
|
-
remove_none_from_dict(
|
231
|
-
{
|
232
|
-
**self._client_wrapper.get_headers(),
|
233
|
-
**(request_options.get("additional_headers", {}) if request_options is not None else {}),
|
234
|
-
}
|
235
|
-
)
|
236
|
-
),
|
237
|
-
timeout=request_options.get("timeout_in_seconds")
|
238
|
-
if request_options is not None and request_options.get("timeout_in_seconds") is not None
|
239
|
-
else self._client_wrapper.get_timeout(),
|
240
|
-
retries=0,
|
241
|
-
max_retries=request_options.get("max_retries") if request_options is not None else 0, # type: ignore
|
223
|
+
json=request,
|
224
|
+
request_options=request_options,
|
225
|
+
omit=OMIT,
|
242
226
|
) as _response:
|
243
|
-
if 200 <= _response.status_code < 300:
|
244
|
-
for _text in _response.iter_lines():
|
245
|
-
if len(_text) == 0:
|
246
|
-
continue
|
247
|
-
yield pydantic_v1.parse_obj_as(typing.List[TestSuiteTestCaseBulkResult], json.loads(_text)) # type: ignore
|
248
|
-
return
|
249
|
-
_response.read()
|
250
227
|
try:
|
228
|
+
if 200 <= _response.status_code < 300:
|
229
|
+
for _text in _response.iter_lines():
|
230
|
+
try:
|
231
|
+
if len(_text) == 0:
|
232
|
+
continue
|
233
|
+
yield pydantic_v1.parse_obj_as(typing.List[TestSuiteTestCaseBulkResult], json.loads(_text)) # type: ignore
|
234
|
+
except:
|
235
|
+
pass
|
236
|
+
return
|
237
|
+
_response.read()
|
251
238
|
_response_json = _response.json()
|
252
239
|
except JSONDecodeError:
|
253
240
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
@@ -259,13 +246,23 @@ class TestSuitesClient:
|
|
259
246
|
"""
|
260
247
|
Deletes an existing test case for a test suite, keying off of the test case id.
|
261
248
|
|
262
|
-
Parameters
|
263
|
-
|
249
|
+
Parameters
|
250
|
+
----------
|
251
|
+
id : str
|
252
|
+
A UUID string identifying this test suite.
|
253
|
+
|
254
|
+
test_case_id : str
|
255
|
+
An id identifying the test case that you'd like to delete
|
264
256
|
|
265
|
-
|
257
|
+
request_options : typing.Optional[RequestOptions]
|
258
|
+
Request-specific configuration.
|
266
259
|
|
267
|
-
|
268
|
-
|
260
|
+
Returns
|
261
|
+
-------
|
262
|
+
None
|
263
|
+
|
264
|
+
Examples
|
265
|
+
--------
|
269
266
|
from vellum.client import Vellum
|
270
267
|
|
271
268
|
client = Vellum(
|
@@ -277,31 +274,14 @@ class TestSuitesClient:
|
|
277
274
|
)
|
278
275
|
"""
|
279
276
|
_response = self._client_wrapper.httpx_client.request(
|
277
|
+
f"v1/test-suites/{jsonable_encoder(id)}/test-cases/{jsonable_encoder(test_case_id)}",
|
278
|
+
base_url=self._client_wrapper.get_environment().default,
|
280
279
|
method="DELETE",
|
281
|
-
|
282
|
-
f"{self._client_wrapper.get_environment().default}/",
|
283
|
-
f"v1/test-suites/{jsonable_encoder(id)}/test-cases/{jsonable_encoder(test_case_id)}",
|
284
|
-
),
|
285
|
-
params=jsonable_encoder(
|
286
|
-
request_options.get("additional_query_parameters") if request_options is not None else None
|
287
|
-
),
|
288
|
-
headers=jsonable_encoder(
|
289
|
-
remove_none_from_dict(
|
290
|
-
{
|
291
|
-
**self._client_wrapper.get_headers(),
|
292
|
-
**(request_options.get("additional_headers", {}) if request_options is not None else {}),
|
293
|
-
}
|
294
|
-
)
|
295
|
-
),
|
296
|
-
timeout=request_options.get("timeout_in_seconds")
|
297
|
-
if request_options is not None and request_options.get("timeout_in_seconds") is not None
|
298
|
-
else self._client_wrapper.get_timeout(),
|
299
|
-
retries=0,
|
300
|
-
max_retries=request_options.get("max_retries") if request_options is not None else 0, # type: ignore
|
280
|
+
request_options=request_options,
|
301
281
|
)
|
302
|
-
if 200 <= _response.status_code < 300:
|
303
|
-
return
|
304
282
|
try:
|
283
|
+
if 200 <= _response.status_code < 300:
|
284
|
+
return
|
305
285
|
_response_json = _response.json()
|
306
286
|
except JSONDecodeError:
|
307
287
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
@@ -323,60 +303,54 @@ class AsyncTestSuitesClient:
|
|
323
303
|
"""
|
324
304
|
List the Test Cases associated with a Test Suite
|
325
305
|
|
326
|
-
Parameters
|
327
|
-
|
306
|
+
Parameters
|
307
|
+
----------
|
308
|
+
id : str
|
309
|
+
A UUID string identifying this test suite.
|
310
|
+
|
311
|
+
limit : typing.Optional[int]
|
312
|
+
Number of results to return per page.
|
328
313
|
|
329
|
-
|
314
|
+
offset : typing.Optional[int]
|
315
|
+
The initial index from which to return the results.
|
330
316
|
|
331
|
-
|
317
|
+
request_options : typing.Optional[RequestOptions]
|
318
|
+
Request-specific configuration.
|
319
|
+
|
320
|
+
Returns
|
321
|
+
-------
|
322
|
+
PaginatedTestSuiteTestCaseList
|
323
|
+
|
324
|
+
|
325
|
+
Examples
|
326
|
+
--------
|
327
|
+
import asyncio
|
332
328
|
|
333
|
-
- request_options: typing.Optional[RequestOptions]. Request-specific configuration.
|
334
|
-
---
|
335
329
|
from vellum.client import AsyncVellum
|
336
330
|
|
337
331
|
client = AsyncVellum(
|
338
332
|
api_key="YOUR_API_KEY",
|
339
333
|
)
|
340
|
-
|
341
|
-
|
342
|
-
)
|
334
|
+
|
335
|
+
|
336
|
+
async def main() -> None:
|
337
|
+
await client.test_suites.list_test_suite_test_cases(
|
338
|
+
id="id",
|
339
|
+
)
|
340
|
+
|
341
|
+
|
342
|
+
asyncio.run(main())
|
343
343
|
"""
|
344
344
|
_response = await self._client_wrapper.httpx_client.request(
|
345
|
+
f"v1/test-suites/{jsonable_encoder(id)}/test-cases",
|
346
|
+
base_url=self._client_wrapper.get_environment().default,
|
345
347
|
method="GET",
|
346
|
-
|
347
|
-
|
348
|
-
f"v1/test-suites/{jsonable_encoder(id)}/test-cases",
|
349
|
-
),
|
350
|
-
params=jsonable_encoder(
|
351
|
-
remove_none_from_dict(
|
352
|
-
{
|
353
|
-
"limit": limit,
|
354
|
-
"offset": offset,
|
355
|
-
**(
|
356
|
-
request_options.get("additional_query_parameters", {})
|
357
|
-
if request_options is not None
|
358
|
-
else {}
|
359
|
-
),
|
360
|
-
}
|
361
|
-
)
|
362
|
-
),
|
363
|
-
headers=jsonable_encoder(
|
364
|
-
remove_none_from_dict(
|
365
|
-
{
|
366
|
-
**self._client_wrapper.get_headers(),
|
367
|
-
**(request_options.get("additional_headers", {}) if request_options is not None else {}),
|
368
|
-
}
|
369
|
-
)
|
370
|
-
),
|
371
|
-
timeout=request_options.get("timeout_in_seconds")
|
372
|
-
if request_options is not None and request_options.get("timeout_in_seconds") is not None
|
373
|
-
else self._client_wrapper.get_timeout(),
|
374
|
-
retries=0,
|
375
|
-
max_retries=request_options.get("max_retries") if request_options is not None else 0, # type: ignore
|
348
|
+
params={"limit": limit, "offset": offset},
|
349
|
+
request_options=request_options,
|
376
350
|
)
|
377
|
-
if 200 <= _response.status_code < 300:
|
378
|
-
return pydantic_v1.parse_obj_as(PaginatedTestSuiteTestCaseList, _response.json()) # type: ignore
|
379
351
|
try:
|
352
|
+
if 200 <= _response.status_code < 300:
|
353
|
+
return pydantic_v1.parse_obj_as(PaginatedTestSuiteTestCaseList, _response.json()) # type: ignore
|
380
354
|
_response_json = _response.json()
|
381
355
|
except JSONDecodeError:
|
382
356
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
@@ -384,9 +358,13 @@ class AsyncTestSuitesClient:
|
|
384
358
|
|
385
359
|
async def upsert_test_suite_test_case(
|
386
360
|
self,
|
387
|
-
|
361
|
+
id_: str,
|
388
362
|
*,
|
389
|
-
|
363
|
+
input_values: typing.Sequence[NamedTestCaseVariableValueRequest],
|
364
|
+
evaluation_values: typing.Sequence[NamedTestCaseVariableValueRequest],
|
365
|
+
id: typing.Optional[str] = OMIT,
|
366
|
+
external_id: typing.Optional[str] = OMIT,
|
367
|
+
label: typing.Optional[str] = OMIT,
|
390
368
|
request_options: typing.Optional[RequestOptions] = None,
|
391
369
|
) -> TestSuiteTestCase:
|
392
370
|
"""
|
@@ -398,59 +376,72 @@ class AsyncTestSuitesClient:
|
|
398
376
|
Note that a full replacement of the test case is performed, so any fields not provided will be removed
|
399
377
|
or overwritten with default values.
|
400
378
|
|
401
|
-
Parameters
|
402
|
-
|
379
|
+
Parameters
|
380
|
+
----------
|
381
|
+
id_ : str
|
382
|
+
A UUID string identifying this test suite.
|
383
|
+
|
384
|
+
input_values : typing.Sequence[NamedTestCaseVariableValueRequest]
|
385
|
+
Values for each of the Test Case's input variables
|
386
|
+
|
387
|
+
evaluation_values : typing.Sequence[NamedTestCaseVariableValueRequest]
|
388
|
+
Values for each of the Test Case's evaluation variables
|
389
|
+
|
390
|
+
id : typing.Optional[str]
|
391
|
+
The Vellum-generated ID of an existing Test Case whose data you'd like to replace. If specified and no Test Case exists with this ID, a 404 will be returned.
|
392
|
+
|
393
|
+
external_id : typing.Optional[str]
|
394
|
+
An ID external to Vellum that uniquely identifies the Test Case that you'd like to create/update. If there's a match on a Test Case that was previously created with the same external_id, it will be updated. Otherwise, a new Test Case will be created with this value as its external_id. If no external_id is specified, then a new Test Case will always be created.
|
403
395
|
|
404
|
-
|
396
|
+
label : typing.Optional[str]
|
397
|
+
A human-readable label used to convey the intention of this Test Case
|
398
|
+
|
399
|
+
request_options : typing.Optional[RequestOptions]
|
400
|
+
Request-specific configuration.
|
401
|
+
|
402
|
+
Returns
|
403
|
+
-------
|
404
|
+
TestSuiteTestCase
|
405
|
+
|
406
|
+
|
407
|
+
Examples
|
408
|
+
--------
|
409
|
+
import asyncio
|
405
410
|
|
406
|
-
- request_options: typing.Optional[RequestOptions]. Request-specific configuration.
|
407
|
-
---
|
408
|
-
from vellum import UpsertTestSuiteTestCaseRequest
|
409
411
|
from vellum.client import AsyncVellum
|
410
412
|
|
411
413
|
client = AsyncVellum(
|
412
414
|
api_key="YOUR_API_KEY",
|
413
415
|
)
|
414
|
-
|
415
|
-
|
416
|
-
|
416
|
+
|
417
|
+
|
418
|
+
async def main() -> None:
|
419
|
+
await client.test_suites.upsert_test_suite_test_case(
|
420
|
+
id_="id",
|
417
421
|
input_values=[],
|
418
422
|
evaluation_values=[],
|
419
|
-
)
|
420
|
-
|
423
|
+
)
|
424
|
+
|
425
|
+
|
426
|
+
asyncio.run(main())
|
421
427
|
"""
|
422
428
|
_response = await self._client_wrapper.httpx_client.request(
|
429
|
+
f"v1/test-suites/{jsonable_encoder(id_)}/test-cases",
|
430
|
+
base_url=self._client_wrapper.get_environment().default,
|
423
431
|
method="POST",
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
),
|
431
|
-
json=jsonable_encoder(request)
|
432
|
-
if request_options is None or request_options.get("additional_body_parameters") is None
|
433
|
-
else {
|
434
|
-
**jsonable_encoder(request),
|
435
|
-
**(jsonable_encoder(remove_none_from_dict(request_options.get("additional_body_parameters", {})))),
|
432
|
+
json={
|
433
|
+
"id": id,
|
434
|
+
"external_id": external_id,
|
435
|
+
"label": label,
|
436
|
+
"input_values": input_values,
|
437
|
+
"evaluation_values": evaluation_values,
|
436
438
|
},
|
437
|
-
|
438
|
-
|
439
|
-
{
|
440
|
-
**self._client_wrapper.get_headers(),
|
441
|
-
**(request_options.get("additional_headers", {}) if request_options is not None else {}),
|
442
|
-
}
|
443
|
-
)
|
444
|
-
),
|
445
|
-
timeout=request_options.get("timeout_in_seconds")
|
446
|
-
if request_options is not None and request_options.get("timeout_in_seconds") is not None
|
447
|
-
else self._client_wrapper.get_timeout(),
|
448
|
-
retries=0,
|
449
|
-
max_retries=request_options.get("max_retries") if request_options is not None else 0, # type: ignore
|
439
|
+
request_options=request_options,
|
440
|
+
omit=OMIT,
|
450
441
|
)
|
451
|
-
if 200 <= _response.status_code < 300:
|
452
|
-
return pydantic_v1.parse_obj_as(TestSuiteTestCase, _response.json()) # type: ignore
|
453
442
|
try:
|
443
|
+
if 200 <= _response.status_code < 300:
|
444
|
+
return pydantic_v1.parse_obj_as(TestSuiteTestCase, _response.json()) # type: ignore
|
454
445
|
_response_json = _response.json()
|
455
446
|
except JSONDecodeError:
|
456
447
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
@@ -466,13 +457,25 @@ class AsyncTestSuitesClient:
|
|
466
457
|
"""
|
467
458
|
Created, replace, and delete Test Cases within the specified Test Suite in bulk
|
468
459
|
|
469
|
-
Parameters
|
470
|
-
|
460
|
+
Parameters
|
461
|
+
----------
|
462
|
+
id : str
|
463
|
+
A UUID string identifying this test suite.
|
464
|
+
|
465
|
+
request : typing.Sequence[TestSuiteTestCaseBulkOperationRequest]
|
471
466
|
|
472
|
-
|
467
|
+
request_options : typing.Optional[RequestOptions]
|
468
|
+
Request-specific configuration.
|
469
|
+
|
470
|
+
Yields
|
471
|
+
------
|
472
|
+
typing.AsyncIterator[typing.List[TestSuiteTestCaseBulkResult]]
|
473
|
+
|
474
|
+
|
475
|
+
Examples
|
476
|
+
--------
|
477
|
+
import asyncio
|
473
478
|
|
474
|
-
- request_options: typing.Optional[RequestOptions]. Request-specific configuration.
|
475
|
-
---
|
476
479
|
from vellum import (
|
477
480
|
CreateTestSuiteTestCaseRequest,
|
478
481
|
NamedTestCaseVariableValueRequest_String,
|
@@ -483,58 +486,50 @@ class AsyncTestSuitesClient:
|
|
483
486
|
client = AsyncVellum(
|
484
487
|
api_key="YOUR_API_KEY",
|
485
488
|
)
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
-
|
493
|
-
|
494
|
-
|
495
|
-
|
496
|
-
|
497
|
-
|
498
|
-
|
499
|
-
|
489
|
+
|
490
|
+
|
491
|
+
async def main() -> None:
|
492
|
+
response = await client.test_suites.test_suite_test_cases_bulk(
|
493
|
+
id="string",
|
494
|
+
request=[
|
495
|
+
TestSuiteTestCaseBulkOperationRequest_Create(
|
496
|
+
id="string",
|
497
|
+
data=CreateTestSuiteTestCaseRequest(
|
498
|
+
label="string",
|
499
|
+
input_values=[NamedTestCaseVariableValueRequest_String()],
|
500
|
+
evaluation_values=[
|
501
|
+
NamedTestCaseVariableValueRequest_String()
|
502
|
+
],
|
503
|
+
external_id="string",
|
504
|
+
),
|
505
|
+
)
|
506
|
+
],
|
507
|
+
)
|
508
|
+
async for chunk in response:
|
509
|
+
yield chunk
|
510
|
+
|
511
|
+
|
512
|
+
asyncio.run(main())
|
500
513
|
"""
|
501
514
|
async with self._client_wrapper.httpx_client.stream(
|
515
|
+
f"v1/test-suites/{jsonable_encoder(id)}/test-cases-bulk",
|
516
|
+
base_url=self._client_wrapper.get_environment().default,
|
502
517
|
method="POST",
|
503
|
-
|
504
|
-
|
505
|
-
|
506
|
-
),
|
507
|
-
params=jsonable_encoder(
|
508
|
-
request_options.get("additional_query_parameters") if request_options is not None else None
|
509
|
-
),
|
510
|
-
json=jsonable_encoder(request)
|
511
|
-
if request_options is None or request_options.get("additional_body_parameters") is None
|
512
|
-
else {
|
513
|
-
**jsonable_encoder(request),
|
514
|
-
**(jsonable_encoder(remove_none_from_dict(request_options.get("additional_body_parameters", {})))),
|
515
|
-
},
|
516
|
-
headers=jsonable_encoder(
|
517
|
-
remove_none_from_dict(
|
518
|
-
{
|
519
|
-
**self._client_wrapper.get_headers(),
|
520
|
-
**(request_options.get("additional_headers", {}) if request_options is not None else {}),
|
521
|
-
}
|
522
|
-
)
|
523
|
-
),
|
524
|
-
timeout=request_options.get("timeout_in_seconds")
|
525
|
-
if request_options is not None and request_options.get("timeout_in_seconds") is not None
|
526
|
-
else self._client_wrapper.get_timeout(),
|
527
|
-
retries=0,
|
528
|
-
max_retries=request_options.get("max_retries") if request_options is not None else 0, # type: ignore
|
518
|
+
json=request,
|
519
|
+
request_options=request_options,
|
520
|
+
omit=OMIT,
|
529
521
|
) as _response:
|
530
|
-
if 200 <= _response.status_code < 300:
|
531
|
-
async for _text in _response.aiter_lines():
|
532
|
-
if len(_text) == 0:
|
533
|
-
continue
|
534
|
-
yield pydantic_v1.parse_obj_as(typing.List[TestSuiteTestCaseBulkResult], json.loads(_text)) # type: ignore
|
535
|
-
return
|
536
|
-
await _response.aread()
|
537
522
|
try:
|
523
|
+
if 200 <= _response.status_code < 300:
|
524
|
+
async for _text in _response.aiter_lines():
|
525
|
+
try:
|
526
|
+
if len(_text) == 0:
|
527
|
+
continue
|
528
|
+
yield pydantic_v1.parse_obj_as(typing.List[TestSuiteTestCaseBulkResult], json.loads(_text)) # type: ignore
|
529
|
+
except:
|
530
|
+
pass
|
531
|
+
return
|
532
|
+
await _response.aread()
|
538
533
|
_response_json = _response.json()
|
539
534
|
except JSONDecodeError:
|
540
535
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
@@ -546,49 +541,50 @@ class AsyncTestSuitesClient:
|
|
546
541
|
"""
|
547
542
|
Deletes an existing test case for a test suite, keying off of the test case id.
|
548
543
|
|
549
|
-
Parameters
|
550
|
-
|
544
|
+
Parameters
|
545
|
+
----------
|
546
|
+
id : str
|
547
|
+
A UUID string identifying this test suite.
|
548
|
+
|
549
|
+
test_case_id : str
|
550
|
+
An id identifying the test case that you'd like to delete
|
551
551
|
|
552
|
-
|
552
|
+
request_options : typing.Optional[RequestOptions]
|
553
|
+
Request-specific configuration.
|
554
|
+
|
555
|
+
Returns
|
556
|
+
-------
|
557
|
+
None
|
558
|
+
|
559
|
+
Examples
|
560
|
+
--------
|
561
|
+
import asyncio
|
553
562
|
|
554
|
-
- request_options: typing.Optional[RequestOptions]. Request-specific configuration.
|
555
|
-
---
|
556
563
|
from vellum.client import AsyncVellum
|
557
564
|
|
558
565
|
client = AsyncVellum(
|
559
566
|
api_key="YOUR_API_KEY",
|
560
567
|
)
|
561
|
-
|
562
|
-
|
563
|
-
|
564
|
-
|
568
|
+
|
569
|
+
|
570
|
+
async def main() -> None:
|
571
|
+
await client.test_suites.delete_test_suite_test_case(
|
572
|
+
id="id",
|
573
|
+
test_case_id="test_case_id",
|
574
|
+
)
|
575
|
+
|
576
|
+
|
577
|
+
asyncio.run(main())
|
565
578
|
"""
|
566
579
|
_response = await self._client_wrapper.httpx_client.request(
|
580
|
+
f"v1/test-suites/{jsonable_encoder(id)}/test-cases/{jsonable_encoder(test_case_id)}",
|
581
|
+
base_url=self._client_wrapper.get_environment().default,
|
567
582
|
method="DELETE",
|
568
|
-
|
569
|
-
f"{self._client_wrapper.get_environment().default}/",
|
570
|
-
f"v1/test-suites/{jsonable_encoder(id)}/test-cases/{jsonable_encoder(test_case_id)}",
|
571
|
-
),
|
572
|
-
params=jsonable_encoder(
|
573
|
-
request_options.get("additional_query_parameters") if request_options is not None else None
|
574
|
-
),
|
575
|
-
headers=jsonable_encoder(
|
576
|
-
remove_none_from_dict(
|
577
|
-
{
|
578
|
-
**self._client_wrapper.get_headers(),
|
579
|
-
**(request_options.get("additional_headers", {}) if request_options is not None else {}),
|
580
|
-
}
|
581
|
-
)
|
582
|
-
),
|
583
|
-
timeout=request_options.get("timeout_in_seconds")
|
584
|
-
if request_options is not None and request_options.get("timeout_in_seconds") is not None
|
585
|
-
else self._client_wrapper.get_timeout(),
|
586
|
-
retries=0,
|
587
|
-
max_retries=request_options.get("max_retries") if request_options is not None else 0, # type: ignore
|
583
|
+
request_options=request_options,
|
588
584
|
)
|
589
|
-
if 200 <= _response.status_code < 300:
|
590
|
-
return
|
591
585
|
try:
|
586
|
+
if 200 <= _response.status_code < 300:
|
587
|
+
return
|
592
588
|
_response_json = _response.json()
|
593
589
|
except JSONDecodeError:
|
594
590
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|