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.
Files changed (483) hide show
  1. vellum/__init__.py +142 -94
  2. vellum/client.py +1051 -1097
  3. vellum/core/__init__.py +4 -1
  4. vellum/core/client_wrapper.py +7 -3
  5. vellum/core/http_client.py +365 -20
  6. vellum/core/jsonable_encoder.py +3 -0
  7. vellum/core/pydantic_utilities.py +16 -0
  8. vellum/core/query_encoder.py +33 -0
  9. vellum/core/remove_none_from_dict.py +2 -2
  10. vellum/core/request_options.py +2 -2
  11. vellum/resources/__init__.py +2 -0
  12. vellum/resources/deployments/client.py +349 -377
  13. vellum/resources/document_indexes/client.py +542 -610
  14. vellum/resources/documents/client.py +327 -399
  15. vellum/resources/folder_entities/client.py +56 -72
  16. vellum/{types/map_enum.py → resources/ml_models/__init__.py} +0 -3
  17. vellum/resources/ml_models/client.py +837 -0
  18. vellum/resources/sandboxes/client.py +204 -242
  19. vellum/resources/test_suite_runs/client.py +183 -213
  20. vellum/resources/test_suites/client.py +307 -311
  21. vellum/resources/workflow_deployments/client.py +230 -268
  22. vellum/resources/workflow_sandboxes/client.py +82 -96
  23. vellum/terraform/_jsii/vellum-ai_vellum@0.0.0.jsii.tgz +0 -0
  24. vellum/terraform/data_vellum_document_index/__init__.py +10 -10
  25. vellum/terraform/document_index/__init__.py +17 -17
  26. vellum/terraform/provider/__init__.py +57 -12
  27. vellum/terraform/versions.json +1 -1
  28. vellum/types/__init__.py +148 -96
  29. vellum/types/api_node_result.py +7 -3
  30. vellum/types/api_node_result_data.py +7 -3
  31. vellum/types/array_chat_message_content.py +7 -3
  32. vellum/types/array_chat_message_content_item.py +53 -12
  33. vellum/types/array_chat_message_content_item_request.py +53 -12
  34. vellum/types/array_chat_message_content_request.py +7 -3
  35. vellum/types/array_parameter_config.py +50 -0
  36. vellum/types/array_parameter_config_request.py +50 -0
  37. vellum/types/array_variable_value_item.py +102 -24
  38. vellum/types/array_vellum_value_item.py +102 -24
  39. vellum/types/array_vellum_value_item_request.py +102 -24
  40. vellum/types/basic_vectorizer_intfloat_multilingual_e_5_large.py +7 -3
  41. vellum/types/basic_vectorizer_intfloat_multilingual_e_5_large_request.py +7 -3
  42. vellum/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_cos_v_1.py +7 -3
  43. vellum/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_cos_v_1_request.py +7 -3
  44. vellum/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_dot_v_1.py +7 -3
  45. vellum/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_dot_v_1_request.py +7 -3
  46. vellum/types/boolean_parameter_config.py +35 -0
  47. vellum/types/boolean_parameter_config_request.py +35 -0
  48. vellum/types/chat_history_input_request.py +7 -3
  49. vellum/types/chat_message.py +7 -3
  50. vellum/types/chat_message_content.py +70 -16
  51. vellum/types/chat_message_content_request.py +70 -16
  52. vellum/types/chat_message_request.py +7 -3
  53. vellum/types/code_execution_node_array_result.py +7 -3
  54. vellum/types/code_execution_node_chat_history_result.py +7 -3
  55. vellum/types/code_execution_node_error_result.py +7 -3
  56. vellum/types/code_execution_node_function_call_result.py +7 -3
  57. vellum/types/code_execution_node_json_result.py +7 -3
  58. vellum/types/code_execution_node_number_result.py +7 -3
  59. vellum/types/code_execution_node_result.py +7 -3
  60. vellum/types/code_execution_node_result_data.py +7 -3
  61. vellum/types/code_execution_node_result_output.py +144 -32
  62. vellum/types/code_execution_node_search_results_result.py +7 -3
  63. vellum/types/code_execution_node_string_result.py +7 -3
  64. vellum/types/compile_prompt_deployment_expand_meta_request.py +7 -3
  65. vellum/types/compile_prompt_meta.py +7 -3
  66. vellum/types/conditional_node_result.py +7 -3
  67. vellum/types/conditional_node_result_data.py +7 -3
  68. vellum/types/const_parameter_config.py +35 -0
  69. vellum/types/const_parameter_config_request.py +35 -0
  70. vellum/types/create_test_suite_test_case_request.py +7 -3
  71. vellum/types/deployment_provider_payload_response.py +7 -3
  72. vellum/types/deployment_read.py +12 -3
  73. vellum/types/deployment_release_tag_deployment_history_item.py +7 -3
  74. vellum/types/deployment_release_tag_read.py +7 -3
  75. vellum/types/document_document_to_document_index.py +7 -3
  76. vellum/types/document_index_chunking.py +54 -12
  77. vellum/types/document_index_chunking_request.py +54 -12
  78. vellum/types/document_index_indexing_config.py +7 -3
  79. vellum/types/document_index_indexing_config_request.py +7 -3
  80. vellum/types/document_index_read.py +7 -3
  81. vellum/types/document_read.py +7 -3
  82. vellum/types/enriched_normalized_completion.py +7 -3
  83. vellum/types/error_variable_value.py +7 -3
  84. vellum/types/error_vellum_value.py +7 -3
  85. vellum/types/error_vellum_value_request.py +7 -3
  86. vellum/types/execute_prompt_event.py +82 -16
  87. vellum/types/execute_prompt_response.py +44 -8
  88. vellum/types/execute_workflow_response.py +7 -3
  89. vellum/types/execute_workflow_workflow_result_event.py +41 -8
  90. vellum/types/execution_array_vellum_value.py +7 -3
  91. vellum/types/execution_chat_history_vellum_value.py +7 -3
  92. vellum/types/execution_error_vellum_value.py +7 -3
  93. vellum/types/execution_function_call_vellum_value.py +7 -3
  94. vellum/types/execution_json_vellum_value.py +7 -3
  95. vellum/types/execution_number_vellum_value.py +7 -3
  96. vellum/types/execution_search_results_vellum_value.py +7 -3
  97. vellum/types/execution_string_vellum_value.py +7 -3
  98. vellum/types/execution_vellum_value.py +152 -32
  99. vellum/types/external_test_case_execution.py +7 -3
  100. vellum/types/external_test_case_execution_request.py +7 -3
  101. vellum/types/fulfilled_execute_prompt_event.py +7 -3
  102. vellum/types/fulfilled_execute_prompt_response.py +7 -3
  103. vellum/types/fulfilled_execute_workflow_workflow_result_event.py +7 -3
  104. vellum/types/fulfilled_prompt_execution_meta.py +7 -3
  105. vellum/types/fulfilled_workflow_node_result_event.py +7 -3
  106. vellum/types/function_call.py +7 -3
  107. vellum/types/function_call_chat_message_content.py +7 -3
  108. vellum/types/function_call_chat_message_content_request.py +7 -3
  109. vellum/types/function_call_chat_message_content_value.py +7 -3
  110. vellum/types/function_call_chat_message_content_value_request.py +7 -3
  111. vellum/types/function_call_request.py +7 -3
  112. vellum/types/function_call_variable_value.py +7 -3
  113. vellum/types/function_call_vellum_value.py +7 -3
  114. vellum/types/function_call_vellum_value_request.py +7 -3
  115. vellum/types/generate_options_request.py +7 -3
  116. vellum/types/generate_request.py +7 -3
  117. vellum/types/generate_result.py +7 -3
  118. vellum/types/generate_result_data.py +7 -3
  119. vellum/types/generate_result_error.py +7 -3
  120. vellum/types/generate_stream_response.py +7 -3
  121. vellum/types/generate_stream_result.py +7 -3
  122. vellum/types/generate_stream_result_data.py +7 -3
  123. vellum/types/hkunlp_instructor_xl_vectorizer.py +7 -3
  124. vellum/types/hkunlp_instructor_xl_vectorizer_request.py +7 -3
  125. vellum/types/hosted_by_enum.py +26 -0
  126. vellum/types/hugging_face_tokenizer_config.py +34 -0
  127. vellum/types/hugging_face_tokenizer_config_request.py +34 -0
  128. vellum/types/image_chat_message_content.py +7 -3
  129. vellum/types/image_chat_message_content_request.py +7 -3
  130. vellum/types/image_variable_value.py +7 -3
  131. vellum/types/image_vellum_value.py +7 -3
  132. vellum/types/image_vellum_value_request.py +7 -3
  133. vellum/types/indexing_config_vectorizer.py +117 -36
  134. vellum/types/indexing_config_vectorizer_request.py +117 -36
  135. vellum/types/initiated_execute_prompt_event.py +7 -3
  136. vellum/types/initiated_prompt_execution_meta.py +7 -3
  137. vellum/types/initiated_workflow_node_result_event.py +7 -3
  138. vellum/types/instructor_vectorizer_config.py +7 -3
  139. vellum/types/instructor_vectorizer_config_request.py +7 -3
  140. vellum/types/integer_parameter_config.py +39 -0
  141. vellum/types/integer_parameter_config_request.py +39 -0
  142. vellum/types/json_input_request.py +7 -3
  143. vellum/types/json_variable_value.py +7 -3
  144. vellum/types/json_vellum_value.py +7 -3
  145. vellum/types/json_vellum_value_request.py +7 -3
  146. vellum/types/map_node_result.py +7 -3
  147. vellum/types/map_node_result_data.py +7 -3
  148. vellum/types/merge_node_result.py +7 -3
  149. vellum/types/merge_node_result_data.py +7 -3
  150. vellum/types/metadata_filter_config_request.py +7 -3
  151. vellum/types/metadata_filter_rule_request.py +7 -3
  152. vellum/types/metric_node_result.py +7 -3
  153. vellum/types/{execute_workflow_stream_error_response.py → ml_model_build_config.py} +9 -8
  154. vellum/types/{execute_prompt_api_error_response.py → ml_model_build_config_request.py} +9 -8
  155. vellum/types/ml_model_developer.py +27 -0
  156. vellum/types/ml_model_developer_enum_value_label.py +31 -0
  157. vellum/types/ml_model_display_config_labelled.py +33 -0
  158. vellum/types/ml_model_display_config_request.py +33 -0
  159. vellum/types/ml_model_display_tag.py +7 -0
  160. vellum/types/ml_model_display_tag_enum_value_label.py +31 -0
  161. vellum/types/ml_model_exec_config.py +40 -0
  162. vellum/types/ml_model_exec_config_request.py +40 -0
  163. vellum/types/ml_model_family.py +29 -0
  164. vellum/types/ml_model_family_enum_value_label.py +31 -0
  165. vellum/types/ml_model_feature.py +18 -0
  166. vellum/types/ml_model_parameter_config.py +42 -0
  167. vellum/types/ml_model_parameter_config_request.py +42 -0
  168. vellum/types/ml_model_read.py +108 -0
  169. vellum/types/ml_model_request_authorization_config.py +30 -0
  170. vellum/types/ml_model_request_authorization_config_request.py +30 -0
  171. vellum/types/ml_model_request_authorization_config_type_enum.py +5 -0
  172. vellum/types/ml_model_request_config.py +32 -0
  173. vellum/types/ml_model_request_config_request.py +32 -0
  174. vellum/types/ml_model_response_config.py +31 -0
  175. vellum/types/ml_model_response_config_request.py +31 -0
  176. vellum/types/ml_model_tokenizer_config.py +59 -0
  177. vellum/types/ml_model_tokenizer_config_request.py +61 -0
  178. vellum/types/ml_model_usage.py +7 -3
  179. vellum/types/named_scenario_input_chat_history_variable_value_request.py +7 -3
  180. vellum/types/named_scenario_input_request.py +38 -8
  181. vellum/types/named_scenario_input_string_variable_value_request.py +7 -3
  182. vellum/types/named_test_case_array_variable_value.py +7 -3
  183. vellum/types/named_test_case_array_variable_value_request.py +7 -3
  184. vellum/types/named_test_case_chat_history_variable_value.py +7 -3
  185. vellum/types/named_test_case_chat_history_variable_value_request.py +7 -3
  186. vellum/types/named_test_case_error_variable_value.py +7 -3
  187. vellum/types/named_test_case_error_variable_value_request.py +7 -3
  188. vellum/types/named_test_case_function_call_variable_value.py +7 -3
  189. vellum/types/named_test_case_function_call_variable_value_request.py +7 -3
  190. vellum/types/named_test_case_json_variable_value.py +7 -3
  191. vellum/types/named_test_case_json_variable_value_request.py +7 -3
  192. vellum/types/named_test_case_number_variable_value.py +7 -3
  193. vellum/types/named_test_case_number_variable_value_request.py +7 -3
  194. vellum/types/named_test_case_search_results_variable_value.py +7 -3
  195. vellum/types/named_test_case_search_results_variable_value_request.py +7 -3
  196. vellum/types/named_test_case_string_variable_value.py +7 -3
  197. vellum/types/named_test_case_string_variable_value_request.py +7 -3
  198. vellum/types/named_test_case_variable_value.py +144 -32
  199. vellum/types/named_test_case_variable_value_request.py +144 -32
  200. vellum/types/node_input_compiled_array_value.py +7 -3
  201. vellum/types/node_input_compiled_chat_history_value.py +7 -3
  202. vellum/types/node_input_compiled_error_value.py +7 -3
  203. vellum/types/node_input_compiled_function_call.py +7 -3
  204. vellum/types/node_input_compiled_json_value.py +7 -3
  205. vellum/types/node_input_compiled_number_value.py +7 -3
  206. vellum/types/node_input_compiled_search_results_value.py +7 -3
  207. vellum/types/node_input_compiled_string_value.py +7 -3
  208. vellum/types/node_input_variable_compiled_value.py +152 -32
  209. vellum/types/node_output_compiled_array_value.py +7 -3
  210. vellum/types/node_output_compiled_chat_history_value.py +7 -3
  211. vellum/types/node_output_compiled_error_value.py +7 -3
  212. vellum/types/node_output_compiled_function_call_value.py +7 -3
  213. vellum/types/node_output_compiled_json_value.py +7 -3
  214. vellum/types/node_output_compiled_number_value.py +7 -3
  215. vellum/types/node_output_compiled_search_results_value.py +7 -3
  216. vellum/types/node_output_compiled_string_value.py +7 -3
  217. vellum/types/node_output_compiled_value.py +153 -32
  218. vellum/types/normalized_log_probs.py +7 -3
  219. vellum/types/normalized_token_log_probs.py +7 -3
  220. vellum/types/number_parameter_config.py +40 -0
  221. vellum/types/number_parameter_config_request.py +40 -0
  222. vellum/types/number_variable_value.py +7 -3
  223. vellum/types/number_vellum_value.py +7 -3
  224. vellum/types/number_vellum_value_request.py +7 -3
  225. vellum/types/object_parameter_config.py +49 -0
  226. vellum/types/object_parameter_config_request.py +49 -0
  227. vellum/types/one_of_parameter_config.py +44 -0
  228. vellum/types/one_of_parameter_config_request.py +44 -0
  229. vellum/types/open_ai_vectorizer_config.py +7 -3
  230. vellum/types/open_ai_vectorizer_config_request.py +7 -3
  231. vellum/types/open_ai_vectorizer_text_embedding_3_large.py +7 -3
  232. vellum/types/open_ai_vectorizer_text_embedding_3_large_request.py +7 -3
  233. vellum/types/open_ai_vectorizer_text_embedding_3_small.py +7 -3
  234. vellum/types/open_ai_vectorizer_text_embedding_3_small_request.py +7 -3
  235. vellum/types/open_ai_vectorizer_text_embedding_ada_002.py +7 -3
  236. vellum/types/open_ai_vectorizer_text_embedding_ada_002_request.py +7 -3
  237. vellum/types/paginated_document_index_read_list.py +7 -3
  238. vellum/types/paginated_ml_model_read_list.py +33 -0
  239. vellum/types/paginated_slim_deployment_read_list.py +7 -3
  240. vellum/types/paginated_slim_document_list.py +7 -3
  241. vellum/types/paginated_slim_workflow_deployment_list.py +7 -3
  242. vellum/types/paginated_test_suite_run_execution_list.py +7 -3
  243. vellum/types/paginated_test_suite_test_case_list.py +7 -3
  244. vellum/types/parameter_config.py +251 -0
  245. vellum/types/parameter_config_request.py +251 -0
  246. vellum/types/pdf_search_result_meta_source.py +7 -3
  247. vellum/types/pdf_search_result_meta_source_request.py +7 -3
  248. vellum/types/prompt_deployment_expand_meta_request_request.py +7 -3
  249. vellum/types/prompt_deployment_input_request.py +55 -12
  250. vellum/types/prompt_execution_meta.py +7 -3
  251. vellum/types/prompt_node_execution_meta.py +7 -3
  252. vellum/types/prompt_node_result.py +7 -3
  253. vellum/types/prompt_node_result_data.py +7 -3
  254. vellum/types/prompt_output.py +69 -16
  255. vellum/types/raw_prompt_execution_overrides_request.py +7 -3
  256. vellum/types/reducto_chunker_config.py +7 -3
  257. vellum/types/reducto_chunker_config_request.py +7 -3
  258. vellum/types/reducto_chunking.py +7 -3
  259. vellum/types/reducto_chunking_request.py +7 -3
  260. vellum/types/rejected_execute_prompt_event.py +7 -3
  261. vellum/types/rejected_execute_prompt_response.py +7 -3
  262. vellum/types/rejected_execute_workflow_workflow_result_event.py +7 -3
  263. vellum/types/rejected_prompt_execution_meta.py +7 -3
  264. vellum/types/rejected_workflow_node_result_event.py +7 -3
  265. vellum/types/replace_test_suite_test_case_request.py +7 -3
  266. vellum/types/sandbox_scenario.py +7 -3
  267. vellum/types/scenario_input.py +38 -8
  268. vellum/types/scenario_input_chat_history_variable_value.py +7 -3
  269. vellum/types/scenario_input_string_variable_value.py +7 -3
  270. vellum/types/search_filters_request.py +7 -3
  271. vellum/types/search_node_result.py +7 -3
  272. vellum/types/search_node_result_data.py +7 -3
  273. vellum/types/search_request_options_request.py +7 -3
  274. vellum/types/search_response.py +7 -3
  275. vellum/types/search_result.py +7 -3
  276. vellum/types/search_result_document.py +7 -3
  277. vellum/types/search_result_document_request.py +7 -3
  278. vellum/types/search_result_merging_request.py +7 -3
  279. vellum/types/search_result_meta.py +7 -3
  280. vellum/types/search_result_meta_request.py +7 -3
  281. vellum/types/search_result_meta_source.py +21 -5
  282. vellum/types/search_result_meta_source_request.py +21 -5
  283. vellum/types/search_result_request.py +7 -3
  284. vellum/types/search_weights_request.py +7 -3
  285. vellum/types/sentence_chunker_config.py +7 -3
  286. vellum/types/sentence_chunker_config_request.py +7 -3
  287. vellum/types/sentence_chunking.py +7 -3
  288. vellum/types/sentence_chunking_request.py +7 -3
  289. vellum/types/slim_deployment_read.py +11 -3
  290. vellum/types/slim_document.py +7 -3
  291. vellum/types/slim_workflow_deployment.py +12 -3
  292. vellum/types/streaming_execute_prompt_event.py +7 -3
  293. vellum/types/streaming_prompt_execution_meta.py +7 -3
  294. vellum/types/streaming_workflow_node_result_event.py +7 -3
  295. vellum/types/string_chat_message_content.py +7 -3
  296. vellum/types/string_chat_message_content_request.py +7 -3
  297. vellum/types/string_input_request.py +7 -3
  298. vellum/types/string_parameter_config.py +39 -0
  299. vellum/types/string_parameter_config_request.py +39 -0
  300. vellum/types/string_variable_value.py +7 -3
  301. vellum/types/string_vellum_value.py +7 -3
  302. vellum/types/string_vellum_value_request.py +7 -3
  303. vellum/types/submit_completion_actual_request.py +7 -3
  304. vellum/types/submit_workflow_execution_actual_request.py +67 -12
  305. vellum/types/subworkflow_node_result.py +7 -3
  306. vellum/types/subworkflow_node_result_data.py +7 -3
  307. vellum/types/templating_node_array_result.py +7 -3
  308. vellum/types/templating_node_chat_history_result.py +7 -3
  309. vellum/types/templating_node_error_result.py +7 -3
  310. vellum/types/templating_node_function_call_result.py +7 -3
  311. vellum/types/templating_node_json_result.py +7 -3
  312. vellum/types/templating_node_number_result.py +7 -3
  313. vellum/types/templating_node_result.py +7 -3
  314. vellum/types/templating_node_result_data.py +7 -3
  315. vellum/types/templating_node_result_output.py +144 -32
  316. vellum/types/templating_node_search_results_result.py +7 -3
  317. vellum/types/templating_node_string_result.py +7 -3
  318. vellum/types/terminal_node_array_result.py +7 -3
  319. vellum/types/terminal_node_chat_history_result.py +7 -3
  320. vellum/types/terminal_node_error_result.py +7 -3
  321. vellum/types/terminal_node_function_call_result.py +7 -3
  322. vellum/types/terminal_node_json_result.py +7 -3
  323. vellum/types/terminal_node_number_result.py +7 -3
  324. vellum/types/terminal_node_result.py +7 -3
  325. vellum/types/terminal_node_result_data.py +7 -3
  326. vellum/types/terminal_node_result_output.py +152 -32
  327. vellum/types/terminal_node_search_results_result.py +7 -3
  328. vellum/types/terminal_node_string_result.py +7 -3
  329. vellum/types/test_case_array_variable_value.py +7 -3
  330. vellum/types/test_case_chat_history_variable_value.py +7 -3
  331. vellum/types/test_case_error_variable_value.py +7 -3
  332. vellum/types/test_case_function_call_variable_value.py +7 -3
  333. vellum/types/test_case_json_variable_value.py +8 -4
  334. vellum/types/test_case_number_variable_value.py +7 -3
  335. vellum/types/test_case_search_results_variable_value.py +7 -3
  336. vellum/types/test_case_string_variable_value.py +7 -3
  337. vellum/types/test_case_variable_value.py +152 -32
  338. vellum/types/test_suite_run_deployment_release_tag_exec_config.py +7 -3
  339. vellum/types/test_suite_run_deployment_release_tag_exec_config_data.py +7 -3
  340. vellum/types/test_suite_run_deployment_release_tag_exec_config_data_request.py +7 -3
  341. vellum/types/test_suite_run_deployment_release_tag_exec_config_request.py +7 -3
  342. vellum/types/test_suite_run_exec_config.py +57 -12
  343. vellum/types/test_suite_run_exec_config_request.py +61 -12
  344. vellum/types/test_suite_run_execution.py +7 -3
  345. vellum/types/test_suite_run_execution_array_output.py +7 -3
  346. vellum/types/test_suite_run_execution_chat_history_output.py +7 -3
  347. vellum/types/test_suite_run_execution_error_output.py +7 -3
  348. vellum/types/test_suite_run_execution_function_call_output.py +7 -3
  349. vellum/types/test_suite_run_execution_json_output.py +7 -3
  350. vellum/types/test_suite_run_execution_metric_definition.py +7 -3
  351. vellum/types/test_suite_run_execution_metric_result.py +7 -3
  352. vellum/types/test_suite_run_execution_number_output.py +7 -3
  353. vellum/types/test_suite_run_execution_output.py +152 -32
  354. vellum/types/test_suite_run_execution_search_results_output.py +7 -3
  355. vellum/types/test_suite_run_execution_string_output.py +7 -3
  356. vellum/types/test_suite_run_external_exec_config.py +7 -3
  357. vellum/types/test_suite_run_external_exec_config_data.py +7 -3
  358. vellum/types/test_suite_run_external_exec_config_data_request.py +7 -3
  359. vellum/types/test_suite_run_external_exec_config_request.py +7 -3
  360. vellum/types/test_suite_run_metric_error_output.py +7 -3
  361. vellum/types/test_suite_run_metric_number_output.py +7 -3
  362. vellum/types/test_suite_run_metric_output.py +55 -12
  363. vellum/types/test_suite_run_metric_string_output.py +7 -3
  364. vellum/types/test_suite_run_read.py +7 -3
  365. vellum/types/test_suite_run_test_suite.py +7 -3
  366. vellum/types/test_suite_run_workflow_release_tag_exec_config.py +7 -3
  367. vellum/types/test_suite_run_workflow_release_tag_exec_config_data.py +7 -3
  368. vellum/types/test_suite_run_workflow_release_tag_exec_config_data_request.py +7 -3
  369. vellum/types/test_suite_run_workflow_release_tag_exec_config_request.py +7 -3
  370. vellum/types/test_suite_test_case.py +7 -3
  371. vellum/types/test_suite_test_case_bulk_operation_request.py +75 -16
  372. vellum/types/test_suite_test_case_bulk_result.py +74 -16
  373. vellum/types/test_suite_test_case_create_bulk_operation_request.py +7 -3
  374. vellum/types/test_suite_test_case_created_bulk_result.py +7 -3
  375. vellum/types/test_suite_test_case_created_bulk_result_data.py +7 -3
  376. vellum/types/test_suite_test_case_delete_bulk_operation_data_request.py +7 -3
  377. vellum/types/test_suite_test_case_delete_bulk_operation_request.py +7 -3
  378. vellum/types/test_suite_test_case_deleted_bulk_result.py +7 -3
  379. vellum/types/test_suite_test_case_deleted_bulk_result_data.py +7 -3
  380. vellum/types/test_suite_test_case_rejected_bulk_result.py +7 -3
  381. vellum/types/test_suite_test_case_replace_bulk_operation_request.py +7 -3
  382. vellum/types/test_suite_test_case_replaced_bulk_result.py +7 -3
  383. vellum/types/test_suite_test_case_replaced_bulk_result_data.py +7 -3
  384. vellum/types/test_suite_test_case_upsert_bulk_operation_request.py +7 -3
  385. vellum/types/{execute_workflow_error_response.py → tik_token_tokenizer_config.py} +11 -6
  386. vellum/types/{generate_error_response.py → tik_token_tokenizer_config_request.py} +11 -6
  387. vellum/types/token_overlapping_window_chunker_config.py +7 -3
  388. vellum/types/token_overlapping_window_chunker_config_request.py +7 -3
  389. vellum/types/token_overlapping_window_chunking.py +7 -3
  390. vellum/types/token_overlapping_window_chunking_request.py +7 -3
  391. vellum/types/upload_document_response.py +7 -3
  392. vellum/types/upsert_test_suite_test_case_request.py +7 -3
  393. vellum/types/vellum_error.py +7 -3
  394. vellum/types/vellum_error_request.py +7 -3
  395. vellum/types/vellum_image.py +7 -3
  396. vellum/types/vellum_image_request.py +7 -3
  397. vellum/types/vellum_variable.py +7 -3
  398. vellum/types/visibility_enum.py +5 -0
  399. vellum/types/workflow_deployment_read.py +12 -3
  400. vellum/types/workflow_event_error.py +7 -3
  401. vellum/types/workflow_execution_actual_chat_history_request.py +7 -3
  402. vellum/types/workflow_execution_actual_json_request.py +7 -3
  403. vellum/types/workflow_execution_actual_string_request.py +7 -3
  404. vellum/types/workflow_execution_node_result_event.py +7 -3
  405. vellum/types/workflow_execution_workflow_result_event.py +7 -3
  406. vellum/types/workflow_expand_meta_request.py +7 -3
  407. vellum/types/workflow_node_result_data.py +189 -45
  408. vellum/types/workflow_node_result_event.py +101 -20
  409. vellum/types/workflow_output.py +171 -36
  410. vellum/types/workflow_output_array.py +7 -3
  411. vellum/types/workflow_output_chat_history.py +7 -3
  412. vellum/types/workflow_output_error.py +7 -3
  413. vellum/types/workflow_output_function_call.py +7 -3
  414. vellum/types/workflow_output_image.py +7 -3
  415. vellum/types/workflow_output_json.py +7 -3
  416. vellum/types/workflow_output_number.py +7 -3
  417. vellum/types/workflow_output_search_results.py +7 -3
  418. vellum/types/workflow_output_string.py +7 -3
  419. vellum/types/workflow_release_tag_read.py +7 -3
  420. vellum/types/workflow_release_tag_workflow_deployment_history_item.py +7 -3
  421. vellum/types/workflow_request_chat_history_input_request.py +7 -3
  422. vellum/types/workflow_request_input_request.py +72 -16
  423. vellum/types/workflow_request_json_input_request.py +7 -3
  424. vellum/types/workflow_request_number_input_request.py +7 -3
  425. vellum/types/workflow_request_string_input_request.py +7 -3
  426. vellum/types/workflow_result_event.py +7 -3
  427. vellum/types/workflow_result_event_output_data.py +178 -33
  428. vellum/types/workflow_result_event_output_data_array.py +7 -3
  429. vellum/types/workflow_result_event_output_data_chat_history.py +7 -3
  430. vellum/types/workflow_result_event_output_data_error.py +7 -3
  431. vellum/types/workflow_result_event_output_data_function_call.py +7 -3
  432. vellum/types/workflow_result_event_output_data_json.py +7 -3
  433. vellum/types/workflow_result_event_output_data_number.py +7 -3
  434. vellum/types/workflow_result_event_output_data_search_results.py +7 -3
  435. vellum/types/workflow_result_event_output_data_string.py +7 -3
  436. vellum/types/workflow_stream_event.py +43 -8
  437. {vellum_ai-0.7.3.dist-info → vellum_ai-0.7.5.dist-info}/METADATA +13 -1
  438. vellum_ai-0.7.5.dist-info/RECORD +502 -0
  439. vellum/types/array_enum.py +0 -5
  440. vellum/types/chat_history_enum.py +0 -5
  441. vellum/types/create_enum.py +0 -5
  442. vellum/types/created_enum.py +0 -5
  443. vellum/types/delete_enum.py +0 -5
  444. vellum/types/deleted_enum.py +0 -5
  445. vellum/types/error_enum.py +0 -5
  446. vellum/types/function_call_enum.py +0 -5
  447. vellum/types/hkunlp_instructor_xl_enum.py +0 -5
  448. vellum/types/image_enum.py +0 -5
  449. vellum/types/initiated_enum.py +0 -5
  450. vellum/types/intfloat_multilingual_e_5_large_enum.py +0 -5
  451. vellum/types/json_enum.py +0 -5
  452. vellum/types/merge_enum.py +0 -5
  453. vellum/types/metric_enum.py +0 -5
  454. vellum/types/number_enum.py +0 -5
  455. vellum/types/pdf_enum.py +0 -5
  456. vellum/types/reducto_chunker_enum.py +0 -5
  457. vellum/types/rejected_enum.py +0 -5
  458. vellum/types/replace_enum.py +0 -5
  459. vellum/types/replaced_enum.py +0 -5
  460. vellum/types/search_error_response.py +0 -28
  461. vellum/types/search_results_enum.py +0 -5
  462. vellum/types/sentence_chunker_enum.py +0 -5
  463. vellum/types/sentence_transformers_multi_qa_mpnet_base_cos_v_1_enum.py +0 -5
  464. vellum/types/sentence_transformers_multi_qa_mpnet_base_dot_v_1_enum.py +0 -5
  465. vellum/types/streaming_enum.py +0 -5
  466. vellum/types/string_enum.py +0 -5
  467. vellum/types/submit_completion_actuals_error_response.py +0 -25
  468. vellum/types/subworkflow_enum.py +0 -5
  469. vellum/types/test_suite_run_deployment_release_tag_exec_config_type_enum.py +0 -5
  470. vellum/types/test_suite_run_external_exec_config_type_enum.py +0 -5
  471. vellum/types/test_suite_run_metric_error_output_type_enum.py +0 -5
  472. vellum/types/test_suite_run_metric_number_output_type_enum.py +0 -5
  473. vellum/types/test_suite_run_metric_string_output_type_enum.py +0 -5
  474. vellum/types/test_suite_run_workflow_release_tag_exec_config_type_enum.py +0 -5
  475. vellum/types/text_embedding_3_large_enum.py +0 -5
  476. vellum/types/text_embedding_3_small_enum.py +0 -5
  477. vellum/types/text_embedding_ada_002_enum.py +0 -5
  478. vellum/types/token_overlapping_window_chunker_enum.py +0 -5
  479. vellum/types/upload_document_error_response.py +0 -25
  480. vellum/types/upsert_enum.py +0 -5
  481. vellum_ai-0.7.3.dist-info/RECORD +0 -496
  482. {vellum_ai-0.7.3.dist-info → vellum_ai-0.7.5.dist-info}/LICENSE +0 -0
  483. {vellum_ai-0.7.3.dist-info → vellum_ai-0.7.5.dist-info}/WHEEL +0 -0
@@ -1,14 +1,12 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
3
  import typing
4
- import urllib.parse
5
4
  from json.decoder import JSONDecodeError
6
5
 
7
6
  from ...core.api_error import ApiError
8
7
  from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
9
8
  from ...core.jsonable_encoder import jsonable_encoder
10
9
  from ...core.pydantic_utilities import pydantic_v1
11
- from ...core.remove_none_from_dict import remove_none_from_dict
12
10
  from ...core.request_options import RequestOptions
13
11
  from ...errors.bad_request_error import BadRequestError
14
12
  from ...errors.forbidden_error import ForbiddenError
@@ -40,17 +38,32 @@ class DeploymentsClient:
40
38
  request_options: typing.Optional[RequestOptions] = None,
41
39
  ) -> PaginatedSlimDeploymentReadList:
42
40
  """
43
- Parameters:
44
- - limit: typing.Optional[int]. Number of results to return per page.
41
+ Used to list all Prompt Deployments.
45
42
 
46
- - offset: typing.Optional[int]. The initial index from which to return the results.
43
+ Parameters
44
+ ----------
45
+ limit : typing.Optional[int]
46
+ Number of results to return per page.
47
47
 
48
- - ordering: typing.Optional[str]. Which field to use when ordering the results.
48
+ offset : typing.Optional[int]
49
+ The initial index from which to return the results.
49
50
 
50
- - status: typing.Optional[DeploymentsListRequestStatus]. status
51
+ ordering : typing.Optional[str]
52
+ Which field to use when ordering the results.
51
53
 
52
- - request_options: typing.Optional[RequestOptions]. Request-specific configuration.
53
- ---
54
+ status : typing.Optional[DeploymentsListRequestStatus]
55
+ status
56
+
57
+ request_options : typing.Optional[RequestOptions]
58
+ Request-specific configuration.
59
+
60
+ Returns
61
+ -------
62
+ PaginatedSlimDeploymentReadList
63
+
64
+
65
+ Examples
66
+ --------
54
67
  from vellum.client import Vellum
55
68
 
56
69
  client = Vellum(
@@ -59,40 +72,15 @@ class DeploymentsClient:
59
72
  client.deployments.list()
60
73
  """
61
74
  _response = self._client_wrapper.httpx_client.request(
75
+ "v1/deployments",
76
+ base_url=self._client_wrapper.get_environment().default,
62
77
  method="GET",
63
- url=urllib.parse.urljoin(f"{self._client_wrapper.get_environment().default}/", "v1/deployments"),
64
- params=jsonable_encoder(
65
- remove_none_from_dict(
66
- {
67
- "limit": limit,
68
- "offset": offset,
69
- "ordering": ordering,
70
- "status": status,
71
- **(
72
- request_options.get("additional_query_parameters", {})
73
- if request_options is not None
74
- else {}
75
- ),
76
- }
77
- )
78
- ),
79
- headers=jsonable_encoder(
80
- remove_none_from_dict(
81
- {
82
- **self._client_wrapper.get_headers(),
83
- **(request_options.get("additional_headers", {}) if request_options is not None else {}),
84
- }
85
- )
86
- ),
87
- timeout=request_options.get("timeout_in_seconds")
88
- if request_options is not None and request_options.get("timeout_in_seconds") is not None
89
- else self._client_wrapper.get_timeout(),
90
- retries=0,
91
- max_retries=request_options.get("max_retries") if request_options is not None else 0, # type: ignore
78
+ params={"limit": limit, "offset": offset, "ordering": ordering, "status": status},
79
+ request_options=request_options,
92
80
  )
93
- if 200 <= _response.status_code < 300:
94
- return pydantic_v1.parse_obj_as(PaginatedSlimDeploymentReadList, _response.json()) # type: ignore
95
81
  try:
82
+ if 200 <= _response.status_code < 300:
83
+ return pydantic_v1.parse_obj_as(PaginatedSlimDeploymentReadList, _response.json()) # type: ignore
96
84
  _response_json = _response.json()
97
85
  except JSONDecodeError:
98
86
  raise ApiError(status_code=_response.status_code, body=_response.text)
@@ -100,13 +88,23 @@ class DeploymentsClient:
100
88
 
101
89
  def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> DeploymentRead:
102
90
  """
103
- Used to retrieve a deployment given its ID or name.
91
+ Used to retrieve a Prompt Deployment given its ID or name.
92
+
93
+ Parameters
94
+ ----------
95
+ id : str
96
+ Either the Deployment's ID or its unique name
104
97
 
105
- Parameters:
106
- - id: str. Either the Deployment's ID or its unique name
98
+ request_options : typing.Optional[RequestOptions]
99
+ Request-specific configuration.
107
100
 
108
- - request_options: typing.Optional[RequestOptions]. Request-specific configuration.
109
- ---
101
+ Returns
102
+ -------
103
+ DeploymentRead
104
+
105
+
106
+ Examples
107
+ --------
110
108
  from vellum.client import Vellum
111
109
 
112
110
  client = Vellum(
@@ -117,30 +115,14 @@ class DeploymentsClient:
117
115
  )
118
116
  """
119
117
  _response = self._client_wrapper.httpx_client.request(
118
+ f"v1/deployments/{jsonable_encoder(id)}",
119
+ base_url=self._client_wrapper.get_environment().default,
120
120
  method="GET",
121
- url=urllib.parse.urljoin(
122
- f"{self._client_wrapper.get_environment().default}/", f"v1/deployments/{jsonable_encoder(id)}"
123
- ),
124
- params=jsonable_encoder(
125
- request_options.get("additional_query_parameters") if request_options is not None else None
126
- ),
127
- headers=jsonable_encoder(
128
- remove_none_from_dict(
129
- {
130
- **self._client_wrapper.get_headers(),
131
- **(request_options.get("additional_headers", {}) if request_options is not None else {}),
132
- }
133
- )
134
- ),
135
- timeout=request_options.get("timeout_in_seconds")
136
- if request_options is not None and request_options.get("timeout_in_seconds") is not None
137
- else self._client_wrapper.get_timeout(),
138
- retries=0,
139
- max_retries=request_options.get("max_retries") if request_options is not None else 0, # type: ignore
121
+ request_options=request_options,
140
122
  )
141
- if 200 <= _response.status_code < 300:
142
- return pydantic_v1.parse_obj_as(DeploymentRead, _response.json()) # type: ignore
143
123
  try:
124
+ if 200 <= _response.status_code < 300:
125
+ return pydantic_v1.parse_obj_as(DeploymentRead, _response.json()) # type: ignore
144
126
  _response_json = _response.json()
145
127
  except JSONDecodeError:
146
128
  raise ApiError(status_code=_response.status_code, body=_response.text)
@@ -152,13 +134,24 @@ class DeploymentsClient:
152
134
  """
153
135
  Retrieve a Deployment Release Tag by tag name, associated with a specified Deployment.
154
136
 
155
- Parameters:
156
- - id: str. A UUID string identifying this deployment.
137
+ Parameters
138
+ ----------
139
+ id : str
140
+ A UUID string identifying this deployment.
141
+
142
+ name : str
143
+ The name of the Release Tag associated with this Deployment that you'd like to retrieve.
144
+
145
+ request_options : typing.Optional[RequestOptions]
146
+ Request-specific configuration.
147
+
148
+ Returns
149
+ -------
150
+ DeploymentReleaseTagRead
157
151
 
158
- - name: str. The name of the Release Tag associated with this Deployment that you'd like to retrieve.
159
152
 
160
- - request_options: typing.Optional[RequestOptions]. Request-specific configuration.
161
- ---
153
+ Examples
154
+ --------
162
155
  from vellum.client import Vellum
163
156
 
164
157
  client = Vellum(
@@ -170,31 +163,14 @@ class DeploymentsClient:
170
163
  )
171
164
  """
172
165
  _response = self._client_wrapper.httpx_client.request(
166
+ f"v1/deployments/{jsonable_encoder(id)}/release-tags/{jsonable_encoder(name)}",
167
+ base_url=self._client_wrapper.get_environment().default,
173
168
  method="GET",
174
- url=urllib.parse.urljoin(
175
- f"{self._client_wrapper.get_environment().default}/",
176
- f"v1/deployments/{jsonable_encoder(id)}/release-tags/{jsonable_encoder(name)}",
177
- ),
178
- params=jsonable_encoder(
179
- request_options.get("additional_query_parameters") if request_options is not None else None
180
- ),
181
- headers=jsonable_encoder(
182
- remove_none_from_dict(
183
- {
184
- **self._client_wrapper.get_headers(),
185
- **(request_options.get("additional_headers", {}) if request_options is not None else {}),
186
- }
187
- )
188
- ),
189
- timeout=request_options.get("timeout_in_seconds")
190
- if request_options is not None and request_options.get("timeout_in_seconds") is not None
191
- else self._client_wrapper.get_timeout(),
192
- retries=0,
193
- max_retries=request_options.get("max_retries") if request_options is not None else 0, # type: ignore
169
+ request_options=request_options,
194
170
  )
195
- if 200 <= _response.status_code < 300:
196
- return pydantic_v1.parse_obj_as(DeploymentReleaseTagRead, _response.json()) # type: ignore
197
171
  try:
172
+ if 200 <= _response.status_code < 300:
173
+ return pydantic_v1.parse_obj_as(DeploymentReleaseTagRead, _response.json()) # type: ignore
198
174
  _response_json = _response.json()
199
175
  except JSONDecodeError:
200
176
  raise ApiError(status_code=_response.status_code, body=_response.text)
@@ -211,15 +187,27 @@ class DeploymentsClient:
211
187
  """
212
188
  Updates an existing Release Tag associated with the specified Deployment.
213
189
 
214
- Parameters:
215
- - id: str. A UUID string identifying this deployment.
190
+ Parameters
191
+ ----------
192
+ id : str
193
+ A UUID string identifying this deployment.
216
194
 
217
- - name: str. The name of the Release Tag associated with this Deployment that you'd like to update.
195
+ name : str
196
+ The name of the Release Tag associated with this Deployment that you'd like to update.
218
197
 
219
- - history_item_id: typing.Optional[str]. The ID of the Deployment History Item to tag
198
+ history_item_id : typing.Optional[str]
199
+ The ID of the Deployment History Item to tag
220
200
 
221
- - request_options: typing.Optional[RequestOptions]. Request-specific configuration.
222
- ---
201
+ request_options : typing.Optional[RequestOptions]
202
+ Request-specific configuration.
203
+
204
+ Returns
205
+ -------
206
+ DeploymentReleaseTagRead
207
+
208
+
209
+ Examples
210
+ --------
223
211
  from vellum.client import Vellum
224
212
 
225
213
  client = Vellum(
@@ -230,41 +218,17 @@ class DeploymentsClient:
230
218
  name="name",
231
219
  )
232
220
  """
233
- _request: typing.Dict[str, typing.Any] = {}
234
- if history_item_id is not OMIT:
235
- _request["history_item_id"] = history_item_id
236
221
  _response = self._client_wrapper.httpx_client.request(
222
+ f"v1/deployments/{jsonable_encoder(id)}/release-tags/{jsonable_encoder(name)}",
223
+ base_url=self._client_wrapper.get_environment().default,
237
224
  method="PATCH",
238
- url=urllib.parse.urljoin(
239
- f"{self._client_wrapper.get_environment().default}/",
240
- f"v1/deployments/{jsonable_encoder(id)}/release-tags/{jsonable_encoder(name)}",
241
- ),
242
- params=jsonable_encoder(
243
- request_options.get("additional_query_parameters") if request_options is not None else None
244
- ),
245
- json=jsonable_encoder(_request)
246
- if request_options is None or request_options.get("additional_body_parameters") is None
247
- else {
248
- **jsonable_encoder(_request),
249
- **(jsonable_encoder(remove_none_from_dict(request_options.get("additional_body_parameters", {})))),
250
- },
251
- headers=jsonable_encoder(
252
- remove_none_from_dict(
253
- {
254
- **self._client_wrapper.get_headers(),
255
- **(request_options.get("additional_headers", {}) if request_options is not None else {}),
256
- }
257
- )
258
- ),
259
- timeout=request_options.get("timeout_in_seconds")
260
- if request_options is not None and request_options.get("timeout_in_seconds") is not None
261
- else self._client_wrapper.get_timeout(),
262
- retries=0,
263
- max_retries=request_options.get("max_retries") if request_options is not None else 0, # type: ignore
225
+ json={"history_item_id": history_item_id},
226
+ request_options=request_options,
227
+ omit=OMIT,
264
228
  )
265
- if 200 <= _response.status_code < 300:
266
- return pydantic_v1.parse_obj_as(DeploymentReleaseTagRead, _response.json()) # type: ignore
267
229
  try:
230
+ if 200 <= _response.status_code < 300:
231
+ return pydantic_v1.parse_obj_as(DeploymentReleaseTagRead, _response.json()) # type: ignore
268
232
  _response_json = _response.json()
269
233
  except JSONDecodeError:
270
234
  raise ApiError(status_code=_response.status_code, body=_response.text)
@@ -273,27 +237,51 @@ class DeploymentsClient:
273
237
  def retrieve_provider_payload(
274
238
  self,
275
239
  *,
240
+ inputs: typing.Sequence[PromptDeploymentInputRequest],
276
241
  deployment_id: typing.Optional[str] = OMIT,
277
242
  deployment_name: typing.Optional[str] = OMIT,
278
- inputs: typing.Sequence[PromptDeploymentInputRequest],
279
243
  release_tag: typing.Optional[str] = OMIT,
280
244
  expand_meta: typing.Optional[CompilePromptDeploymentExpandMetaRequest] = OMIT,
281
245
  request_options: typing.Optional[RequestOptions] = None,
282
246
  ) -> DeploymentProviderPayloadResponse:
283
247
  """
284
- Parameters:
285
- - deployment_id: typing.Optional[str]. The ID of the deployment. Must provide either this or deployment_name.
248
+ Given a set of input variable values, compile the exact payload that Vellum would send to the configured model provider
249
+ for execution if the execute-prompt endpoint had been invoked. Note that this endpoint does not actually execute the
250
+ prompt or make an API call to the model provider.
251
+
252
+ This endpoint is useful if you don't want to proxy LLM provider requests through Vellum and prefer to send them directly
253
+ to the provider yourself. Note that no guarantees are made on the format of this API's response schema, other than
254
+ that it will be a valid payload for the configured model provider. It's not recommended that you try to parse or
255
+ derive meaning from the response body and instead, should simply pass it directly to the model provider as is.
256
+
257
+ We encourage you to seek advise from Vellum Support before integrating with this API for production use.
258
+
259
+ Parameters
260
+ ----------
261
+ inputs : typing.Sequence[PromptDeploymentInputRequest]
262
+ The list of inputs defined in the Prompt's deployment with their corresponding values.
263
+
264
+ deployment_id : typing.Optional[str]
265
+ The ID of the deployment. Must provide either this or deployment_name.
286
266
 
287
- - deployment_name: typing.Optional[str]. The name of the deployment. Must provide either this or deployment_id.
267
+ deployment_name : typing.Optional[str]
268
+ The name of the deployment. Must provide either this or deployment_id.
288
269
 
289
- - inputs: typing.Sequence[PromptDeploymentInputRequest]. The list of inputs defined in the Prompt's deployment with their corresponding values.
270
+ release_tag : typing.Optional[str]
271
+ Optionally specify a release tag if you want to pin to a specific release of the Workflow Deployment
290
272
 
291
- - release_tag: typing.Optional[str]. Optionally specify a release tag if you want to pin to a specific release of the Workflow Deployment
273
+ expand_meta : typing.Optional[CompilePromptDeploymentExpandMetaRequest]
292
274
 
293
- - expand_meta: typing.Optional[CompilePromptDeploymentExpandMetaRequest].
275
+ request_options : typing.Optional[RequestOptions]
276
+ Request-specific configuration.
294
277
 
295
- - request_options: typing.Optional[RequestOptions]. Request-specific configuration.
296
- ---
278
+ Returns
279
+ -------
280
+ DeploymentProviderPayloadResponse
281
+
282
+
283
+ Examples
284
+ --------
297
285
  from vellum.client import Vellum
298
286
 
299
287
  client = Vellum(
@@ -303,54 +291,31 @@ class DeploymentsClient:
303
291
  inputs=[],
304
292
  )
305
293
  """
306
- _request: typing.Dict[str, typing.Any] = {"inputs": inputs}
307
- if deployment_id is not OMIT:
308
- _request["deployment_id"] = deployment_id
309
- if deployment_name is not OMIT:
310
- _request["deployment_name"] = deployment_name
311
- if release_tag is not OMIT:
312
- _request["release_tag"] = release_tag
313
- if expand_meta is not OMIT:
314
- _request["expand_meta"] = expand_meta
315
294
  _response = self._client_wrapper.httpx_client.request(
295
+ "v1/deployments/provider-payload",
296
+ base_url=self._client_wrapper.get_environment().default,
316
297
  method="POST",
317
- url=urllib.parse.urljoin(
318
- f"{self._client_wrapper.get_environment().default}/", "v1/deployments/provider-payload"
319
- ),
320
- params=jsonable_encoder(
321
- request_options.get("additional_query_parameters") if request_options is not None else None
322
- ),
323
- json=jsonable_encoder(_request)
324
- if request_options is None or request_options.get("additional_body_parameters") is None
325
- else {
326
- **jsonable_encoder(_request),
327
- **(jsonable_encoder(remove_none_from_dict(request_options.get("additional_body_parameters", {})))),
298
+ json={
299
+ "deployment_id": deployment_id,
300
+ "deployment_name": deployment_name,
301
+ "inputs": inputs,
302
+ "release_tag": release_tag,
303
+ "expand_meta": expand_meta,
328
304
  },
329
- headers=jsonable_encoder(
330
- remove_none_from_dict(
331
- {
332
- **self._client_wrapper.get_headers(),
333
- **(request_options.get("additional_headers", {}) if request_options is not None else {}),
334
- }
335
- )
336
- ),
337
- timeout=request_options.get("timeout_in_seconds")
338
- if request_options is not None and request_options.get("timeout_in_seconds") is not None
339
- else self._client_wrapper.get_timeout(),
340
- retries=0,
341
- max_retries=request_options.get("max_retries") if request_options is not None else 0, # type: ignore
305
+ request_options=request_options,
306
+ omit=OMIT,
342
307
  )
343
- if 200 <= _response.status_code < 300:
344
- return pydantic_v1.parse_obj_as(DeploymentProviderPayloadResponse, _response.json()) # type: ignore
345
- if _response.status_code == 400:
346
- raise BadRequestError(pydantic_v1.parse_obj_as(typing.Any, _response.json())) # type: ignore
347
- if _response.status_code == 403:
348
- raise ForbiddenError(pydantic_v1.parse_obj_as(typing.Any, _response.json())) # type: ignore
349
- if _response.status_code == 404:
350
- raise NotFoundError(pydantic_v1.parse_obj_as(typing.Any, _response.json())) # type: ignore
351
- if _response.status_code == 500:
352
- raise InternalServerError(pydantic_v1.parse_obj_as(typing.Any, _response.json())) # type: ignore
353
308
  try:
309
+ if 200 <= _response.status_code < 300:
310
+ return pydantic_v1.parse_obj_as(DeploymentProviderPayloadResponse, _response.json()) # type: ignore
311
+ if _response.status_code == 400:
312
+ raise BadRequestError(pydantic_v1.parse_obj_as(typing.Any, _response.json())) # type: ignore
313
+ if _response.status_code == 403:
314
+ raise ForbiddenError(pydantic_v1.parse_obj_as(typing.Any, _response.json())) # type: ignore
315
+ if _response.status_code == 404:
316
+ raise NotFoundError(pydantic_v1.parse_obj_as(typing.Any, _response.json())) # type: ignore
317
+ if _response.status_code == 500:
318
+ raise InternalServerError(pydantic_v1.parse_obj_as(typing.Any, _response.json())) # type: ignore
354
319
  _response_json = _response.json()
355
320
  except JSONDecodeError:
356
321
  raise ApiError(status_code=_response.status_code, body=_response.text)
@@ -371,59 +336,57 @@ class AsyncDeploymentsClient:
371
336
  request_options: typing.Optional[RequestOptions] = None,
372
337
  ) -> PaginatedSlimDeploymentReadList:
373
338
  """
374
- Parameters:
375
- - limit: typing.Optional[int]. Number of results to return per page.
339
+ Used to list all Prompt Deployments.
340
+
341
+ Parameters
342
+ ----------
343
+ limit : typing.Optional[int]
344
+ Number of results to return per page.
345
+
346
+ offset : typing.Optional[int]
347
+ The initial index from which to return the results.
348
+
349
+ ordering : typing.Optional[str]
350
+ Which field to use when ordering the results.
376
351
 
377
- - offset: typing.Optional[int]. The initial index from which to return the results.
352
+ status : typing.Optional[DeploymentsListRequestStatus]
353
+ status
378
354
 
379
- - ordering: typing.Optional[str]. Which field to use when ordering the results.
355
+ request_options : typing.Optional[RequestOptions]
356
+ Request-specific configuration.
380
357
 
381
- - status: typing.Optional[DeploymentsListRequestStatus]. status
358
+ Returns
359
+ -------
360
+ PaginatedSlimDeploymentReadList
361
+
362
+
363
+ Examples
364
+ --------
365
+ import asyncio
382
366
 
383
- - request_options: typing.Optional[RequestOptions]. Request-specific configuration.
384
- ---
385
367
  from vellum.client import AsyncVellum
386
368
 
387
369
  client = AsyncVellum(
388
370
  api_key="YOUR_API_KEY",
389
371
  )
390
- await client.deployments.list()
372
+
373
+
374
+ async def main() -> None:
375
+ await client.deployments.list()
376
+
377
+
378
+ asyncio.run(main())
391
379
  """
392
380
  _response = await self._client_wrapper.httpx_client.request(
381
+ "v1/deployments",
382
+ base_url=self._client_wrapper.get_environment().default,
393
383
  method="GET",
394
- url=urllib.parse.urljoin(f"{self._client_wrapper.get_environment().default}/", "v1/deployments"),
395
- params=jsonable_encoder(
396
- remove_none_from_dict(
397
- {
398
- "limit": limit,
399
- "offset": offset,
400
- "ordering": ordering,
401
- "status": status,
402
- **(
403
- request_options.get("additional_query_parameters", {})
404
- if request_options is not None
405
- else {}
406
- ),
407
- }
408
- )
409
- ),
410
- headers=jsonable_encoder(
411
- remove_none_from_dict(
412
- {
413
- **self._client_wrapper.get_headers(),
414
- **(request_options.get("additional_headers", {}) if request_options is not None else {}),
415
- }
416
- )
417
- ),
418
- timeout=request_options.get("timeout_in_seconds")
419
- if request_options is not None and request_options.get("timeout_in_seconds") is not None
420
- else self._client_wrapper.get_timeout(),
421
- retries=0,
422
- max_retries=request_options.get("max_retries") if request_options is not None else 0, # type: ignore
384
+ params={"limit": limit, "offset": offset, "ordering": ordering, "status": status},
385
+ request_options=request_options,
423
386
  )
424
- if 200 <= _response.status_code < 300:
425
- return pydantic_v1.parse_obj_as(PaginatedSlimDeploymentReadList, _response.json()) # type: ignore
426
387
  try:
388
+ if 200 <= _response.status_code < 300:
389
+ return pydantic_v1.parse_obj_as(PaginatedSlimDeploymentReadList, _response.json()) # type: ignore
427
390
  _response_json = _response.json()
428
391
  except JSONDecodeError:
429
392
  raise ApiError(status_code=_response.status_code, body=_response.text)
@@ -431,47 +394,49 @@ class AsyncDeploymentsClient:
431
394
 
432
395
  async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> DeploymentRead:
433
396
  """
434
- Used to retrieve a deployment given its ID or name.
397
+ Used to retrieve a Prompt Deployment given its ID or name.
398
+
399
+ Parameters
400
+ ----------
401
+ id : str
402
+ Either the Deployment's ID or its unique name
403
+
404
+ request_options : typing.Optional[RequestOptions]
405
+ Request-specific configuration.
406
+
407
+ Returns
408
+ -------
409
+ DeploymentRead
410
+
435
411
 
436
- Parameters:
437
- - id: str. Either the Deployment's ID or its unique name
412
+ Examples
413
+ --------
414
+ import asyncio
438
415
 
439
- - request_options: typing.Optional[RequestOptions]. Request-specific configuration.
440
- ---
441
416
  from vellum.client import AsyncVellum
442
417
 
443
418
  client = AsyncVellum(
444
419
  api_key="YOUR_API_KEY",
445
420
  )
446
- await client.deployments.retrieve(
447
- id="id",
448
- )
421
+
422
+
423
+ async def main() -> None:
424
+ await client.deployments.retrieve(
425
+ id="id",
426
+ )
427
+
428
+
429
+ asyncio.run(main())
449
430
  """
450
431
  _response = await self._client_wrapper.httpx_client.request(
432
+ f"v1/deployments/{jsonable_encoder(id)}",
433
+ base_url=self._client_wrapper.get_environment().default,
451
434
  method="GET",
452
- url=urllib.parse.urljoin(
453
- f"{self._client_wrapper.get_environment().default}/", f"v1/deployments/{jsonable_encoder(id)}"
454
- ),
455
- params=jsonable_encoder(
456
- request_options.get("additional_query_parameters") if request_options is not None else None
457
- ),
458
- headers=jsonable_encoder(
459
- remove_none_from_dict(
460
- {
461
- **self._client_wrapper.get_headers(),
462
- **(request_options.get("additional_headers", {}) if request_options is not None else {}),
463
- }
464
- )
465
- ),
466
- timeout=request_options.get("timeout_in_seconds")
467
- if request_options is not None and request_options.get("timeout_in_seconds") is not None
468
- else self._client_wrapper.get_timeout(),
469
- retries=0,
470
- max_retries=request_options.get("max_retries") if request_options is not None else 0, # type: ignore
435
+ request_options=request_options,
471
436
  )
472
- if 200 <= _response.status_code < 300:
473
- return pydantic_v1.parse_obj_as(DeploymentRead, _response.json()) # type: ignore
474
437
  try:
438
+ if 200 <= _response.status_code < 300:
439
+ return pydantic_v1.parse_obj_as(DeploymentRead, _response.json()) # type: ignore
475
440
  _response_json = _response.json()
476
441
  except JSONDecodeError:
477
442
  raise ApiError(status_code=_response.status_code, body=_response.text)
@@ -483,49 +448,51 @@ class AsyncDeploymentsClient:
483
448
  """
484
449
  Retrieve a Deployment Release Tag by tag name, associated with a specified Deployment.
485
450
 
486
- Parameters:
487
- - id: str. A UUID string identifying this deployment.
451
+ Parameters
452
+ ----------
453
+ id : str
454
+ A UUID string identifying this deployment.
455
+
456
+ name : str
457
+ The name of the Release Tag associated with this Deployment that you'd like to retrieve.
458
+
459
+ request_options : typing.Optional[RequestOptions]
460
+ Request-specific configuration.
461
+
462
+ Returns
463
+ -------
464
+ DeploymentReleaseTagRead
465
+
488
466
 
489
- - name: str. The name of the Release Tag associated with this Deployment that you'd like to retrieve.
467
+ Examples
468
+ --------
469
+ import asyncio
490
470
 
491
- - request_options: typing.Optional[RequestOptions]. Request-specific configuration.
492
- ---
493
471
  from vellum.client import AsyncVellum
494
472
 
495
473
  client = AsyncVellum(
496
474
  api_key="YOUR_API_KEY",
497
475
  )
498
- await client.deployments.retrieve_deployment_release_tag(
499
- id="id",
500
- name="name",
501
- )
476
+
477
+
478
+ async def main() -> None:
479
+ await client.deployments.retrieve_deployment_release_tag(
480
+ id="id",
481
+ name="name",
482
+ )
483
+
484
+
485
+ asyncio.run(main())
502
486
  """
503
487
  _response = await self._client_wrapper.httpx_client.request(
488
+ f"v1/deployments/{jsonable_encoder(id)}/release-tags/{jsonable_encoder(name)}",
489
+ base_url=self._client_wrapper.get_environment().default,
504
490
  method="GET",
505
- url=urllib.parse.urljoin(
506
- f"{self._client_wrapper.get_environment().default}/",
507
- f"v1/deployments/{jsonable_encoder(id)}/release-tags/{jsonable_encoder(name)}",
508
- ),
509
- params=jsonable_encoder(
510
- request_options.get("additional_query_parameters") if request_options is not None else None
511
- ),
512
- headers=jsonable_encoder(
513
- remove_none_from_dict(
514
- {
515
- **self._client_wrapper.get_headers(),
516
- **(request_options.get("additional_headers", {}) if request_options is not None else {}),
517
- }
518
- )
519
- ),
520
- timeout=request_options.get("timeout_in_seconds")
521
- if request_options is not None and request_options.get("timeout_in_seconds") is not None
522
- else self._client_wrapper.get_timeout(),
523
- retries=0,
524
- max_retries=request_options.get("max_retries") if request_options is not None else 0, # type: ignore
491
+ request_options=request_options,
525
492
  )
526
- if 200 <= _response.status_code < 300:
527
- return pydantic_v1.parse_obj_as(DeploymentReleaseTagRead, _response.json()) # type: ignore
528
493
  try:
494
+ if 200 <= _response.status_code < 300:
495
+ return pydantic_v1.parse_obj_as(DeploymentReleaseTagRead, _response.json()) # type: ignore
529
496
  _response_json = _response.json()
530
497
  except JSONDecodeError:
531
498
  raise ApiError(status_code=_response.status_code, body=_response.text)
@@ -542,60 +509,56 @@ class AsyncDeploymentsClient:
542
509
  """
543
510
  Updates an existing Release Tag associated with the specified Deployment.
544
511
 
545
- Parameters:
546
- - id: str. A UUID string identifying this deployment.
512
+ Parameters
513
+ ----------
514
+ id : str
515
+ A UUID string identifying this deployment.
516
+
517
+ name : str
518
+ The name of the Release Tag associated with this Deployment that you'd like to update.
519
+
520
+ history_item_id : typing.Optional[str]
521
+ The ID of the Deployment History Item to tag
522
+
523
+ request_options : typing.Optional[RequestOptions]
524
+ Request-specific configuration.
547
525
 
548
- - name: str. The name of the Release Tag associated with this Deployment that you'd like to update.
526
+ Returns
527
+ -------
528
+ DeploymentReleaseTagRead
549
529
 
550
- - history_item_id: typing.Optional[str]. The ID of the Deployment History Item to tag
551
530
 
552
- - request_options: typing.Optional[RequestOptions]. Request-specific configuration.
553
- ---
531
+ Examples
532
+ --------
533
+ import asyncio
534
+
554
535
  from vellum.client import AsyncVellum
555
536
 
556
537
  client = AsyncVellum(
557
538
  api_key="YOUR_API_KEY",
558
539
  )
559
- await client.deployments.update_deployment_release_tag(
560
- id="id",
561
- name="name",
562
- )
540
+
541
+
542
+ async def main() -> None:
543
+ await client.deployments.update_deployment_release_tag(
544
+ id="id",
545
+ name="name",
546
+ )
547
+
548
+
549
+ asyncio.run(main())
563
550
  """
564
- _request: typing.Dict[str, typing.Any] = {}
565
- if history_item_id is not OMIT:
566
- _request["history_item_id"] = history_item_id
567
551
  _response = await self._client_wrapper.httpx_client.request(
552
+ f"v1/deployments/{jsonable_encoder(id)}/release-tags/{jsonable_encoder(name)}",
553
+ base_url=self._client_wrapper.get_environment().default,
568
554
  method="PATCH",
569
- url=urllib.parse.urljoin(
570
- f"{self._client_wrapper.get_environment().default}/",
571
- f"v1/deployments/{jsonable_encoder(id)}/release-tags/{jsonable_encoder(name)}",
572
- ),
573
- params=jsonable_encoder(
574
- request_options.get("additional_query_parameters") if request_options is not None else None
575
- ),
576
- json=jsonable_encoder(_request)
577
- if request_options is None or request_options.get("additional_body_parameters") is None
578
- else {
579
- **jsonable_encoder(_request),
580
- **(jsonable_encoder(remove_none_from_dict(request_options.get("additional_body_parameters", {})))),
581
- },
582
- headers=jsonable_encoder(
583
- remove_none_from_dict(
584
- {
585
- **self._client_wrapper.get_headers(),
586
- **(request_options.get("additional_headers", {}) if request_options is not None else {}),
587
- }
588
- )
589
- ),
590
- timeout=request_options.get("timeout_in_seconds")
591
- if request_options is not None and request_options.get("timeout_in_seconds") is not None
592
- else self._client_wrapper.get_timeout(),
593
- retries=0,
594
- max_retries=request_options.get("max_retries") if request_options is not None else 0, # type: ignore
555
+ json={"history_item_id": history_item_id},
556
+ request_options=request_options,
557
+ omit=OMIT,
595
558
  )
596
- if 200 <= _response.status_code < 300:
597
- return pydantic_v1.parse_obj_as(DeploymentReleaseTagRead, _response.json()) # type: ignore
598
559
  try:
560
+ if 200 <= _response.status_code < 300:
561
+ return pydantic_v1.parse_obj_as(DeploymentReleaseTagRead, _response.json()) # type: ignore
599
562
  _response_json = _response.json()
600
563
  except JSONDecodeError:
601
564
  raise ApiError(status_code=_response.status_code, body=_response.text)
@@ -604,84 +567,93 @@ class AsyncDeploymentsClient:
604
567
  async def retrieve_provider_payload(
605
568
  self,
606
569
  *,
570
+ inputs: typing.Sequence[PromptDeploymentInputRequest],
607
571
  deployment_id: typing.Optional[str] = OMIT,
608
572
  deployment_name: typing.Optional[str] = OMIT,
609
- inputs: typing.Sequence[PromptDeploymentInputRequest],
610
573
  release_tag: typing.Optional[str] = OMIT,
611
574
  expand_meta: typing.Optional[CompilePromptDeploymentExpandMetaRequest] = OMIT,
612
575
  request_options: typing.Optional[RequestOptions] = None,
613
576
  ) -> DeploymentProviderPayloadResponse:
614
577
  """
615
- Parameters:
616
- - deployment_id: typing.Optional[str]. The ID of the deployment. Must provide either this or deployment_name.
578
+ Given a set of input variable values, compile the exact payload that Vellum would send to the configured model provider
579
+ for execution if the execute-prompt endpoint had been invoked. Note that this endpoint does not actually execute the
580
+ prompt or make an API call to the model provider.
581
+
582
+ This endpoint is useful if you don't want to proxy LLM provider requests through Vellum and prefer to send them directly
583
+ to the provider yourself. Note that no guarantees are made on the format of this API's response schema, other than
584
+ that it will be a valid payload for the configured model provider. It's not recommended that you try to parse or
585
+ derive meaning from the response body and instead, should simply pass it directly to the model provider as is.
586
+
587
+ We encourage you to seek advise from Vellum Support before integrating with this API for production use.
588
+
589
+ Parameters
590
+ ----------
591
+ inputs : typing.Sequence[PromptDeploymentInputRequest]
592
+ The list of inputs defined in the Prompt's deployment with their corresponding values.
593
+
594
+ deployment_id : typing.Optional[str]
595
+ The ID of the deployment. Must provide either this or deployment_name.
617
596
 
618
- - deployment_name: typing.Optional[str]. The name of the deployment. Must provide either this or deployment_id.
597
+ deployment_name : typing.Optional[str]
598
+ The name of the deployment. Must provide either this or deployment_id.
619
599
 
620
- - inputs: typing.Sequence[PromptDeploymentInputRequest]. The list of inputs defined in the Prompt's deployment with their corresponding values.
600
+ release_tag : typing.Optional[str]
601
+ Optionally specify a release tag if you want to pin to a specific release of the Workflow Deployment
621
602
 
622
- - release_tag: typing.Optional[str]. Optionally specify a release tag if you want to pin to a specific release of the Workflow Deployment
603
+ expand_meta : typing.Optional[CompilePromptDeploymentExpandMetaRequest]
623
604
 
624
- - expand_meta: typing.Optional[CompilePromptDeploymentExpandMetaRequest].
605
+ request_options : typing.Optional[RequestOptions]
606
+ Request-specific configuration.
607
+
608
+ Returns
609
+ -------
610
+ DeploymentProviderPayloadResponse
611
+
612
+
613
+ Examples
614
+ --------
615
+ import asyncio
625
616
 
626
- - request_options: typing.Optional[RequestOptions]. Request-specific configuration.
627
- ---
628
617
  from vellum.client import AsyncVellum
629
618
 
630
619
  client = AsyncVellum(
631
620
  api_key="YOUR_API_KEY",
632
621
  )
633
- await client.deployments.retrieve_provider_payload(
634
- inputs=[],
635
- )
622
+
623
+
624
+ async def main() -> None:
625
+ await client.deployments.retrieve_provider_payload(
626
+ inputs=[],
627
+ )
628
+
629
+
630
+ asyncio.run(main())
636
631
  """
637
- _request: typing.Dict[str, typing.Any] = {"inputs": inputs}
638
- if deployment_id is not OMIT:
639
- _request["deployment_id"] = deployment_id
640
- if deployment_name is not OMIT:
641
- _request["deployment_name"] = deployment_name
642
- if release_tag is not OMIT:
643
- _request["release_tag"] = release_tag
644
- if expand_meta is not OMIT:
645
- _request["expand_meta"] = expand_meta
646
632
  _response = await self._client_wrapper.httpx_client.request(
633
+ "v1/deployments/provider-payload",
634
+ base_url=self._client_wrapper.get_environment().default,
647
635
  method="POST",
648
- url=urllib.parse.urljoin(
649
- f"{self._client_wrapper.get_environment().default}/", "v1/deployments/provider-payload"
650
- ),
651
- params=jsonable_encoder(
652
- request_options.get("additional_query_parameters") if request_options is not None else None
653
- ),
654
- json=jsonable_encoder(_request)
655
- if request_options is None or request_options.get("additional_body_parameters") is None
656
- else {
657
- **jsonable_encoder(_request),
658
- **(jsonable_encoder(remove_none_from_dict(request_options.get("additional_body_parameters", {})))),
636
+ json={
637
+ "deployment_id": deployment_id,
638
+ "deployment_name": deployment_name,
639
+ "inputs": inputs,
640
+ "release_tag": release_tag,
641
+ "expand_meta": expand_meta,
659
642
  },
660
- headers=jsonable_encoder(
661
- remove_none_from_dict(
662
- {
663
- **self._client_wrapper.get_headers(),
664
- **(request_options.get("additional_headers", {}) if request_options is not None else {}),
665
- }
666
- )
667
- ),
668
- timeout=request_options.get("timeout_in_seconds")
669
- if request_options is not None and request_options.get("timeout_in_seconds") is not None
670
- else self._client_wrapper.get_timeout(),
671
- retries=0,
672
- max_retries=request_options.get("max_retries") if request_options is not None else 0, # type: ignore
643
+ request_options=request_options,
644
+ omit=OMIT,
673
645
  )
674
- if 200 <= _response.status_code < 300:
675
- return pydantic_v1.parse_obj_as(DeploymentProviderPayloadResponse, _response.json()) # type: ignore
676
- if _response.status_code == 400:
677
- raise BadRequestError(pydantic_v1.parse_obj_as(typing.Any, _response.json())) # type: ignore
678
- if _response.status_code == 403:
679
- raise ForbiddenError(pydantic_v1.parse_obj_as(typing.Any, _response.json())) # type: ignore
680
- if _response.status_code == 404:
681
- raise NotFoundError(pydantic_v1.parse_obj_as(typing.Any, _response.json())) # type: ignore
682
- if _response.status_code == 500:
683
- raise InternalServerError(pydantic_v1.parse_obj_as(typing.Any, _response.json())) # type: ignore
684
646
  try:
647
+ if 200 <= _response.status_code < 300:
648
+ return pydantic_v1.parse_obj_as(DeploymentProviderPayloadResponse, _response.json()) # type: ignore
649
+ if _response.status_code == 400:
650
+ raise BadRequestError(pydantic_v1.parse_obj_as(typing.Any, _response.json())) # type: ignore
651
+ if _response.status_code == 403:
652
+ raise ForbiddenError(pydantic_v1.parse_obj_as(typing.Any, _response.json())) # type: ignore
653
+ if _response.status_code == 404:
654
+ raise NotFoundError(pydantic_v1.parse_obj_as(typing.Any, _response.json())) # type: ignore
655
+ if _response.status_code == 500:
656
+ raise InternalServerError(pydantic_v1.parse_obj_as(typing.Any, _response.json())) # type: ignore
685
657
  _response_json = _response.json()
686
658
  except JSONDecodeError:
687
659
  raise ApiError(status_code=_response.status_code, body=_response.text)