vellum-ai 0.14.63__py3-none-any.whl → 1.11.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of vellum-ai might be problematic. Click here for more details.

Files changed (1305) hide show
  1. vellum/__init__.py +269 -4
  2. vellum/client/README.md +68 -15
  3. vellum/client/__init__.py +598 -1437
  4. vellum/client/core/__init__.py +5 -0
  5. vellum/client/core/api_error.py +13 -5
  6. vellum/client/core/client_wrapper.py +30 -4
  7. vellum/client/core/force_multipart.py +16 -0
  8. vellum/client/core/http_client.py +70 -26
  9. vellum/client/core/http_response.py +55 -0
  10. vellum/client/core/jsonable_encoder.py +0 -1
  11. vellum/client/core/pydantic_utilities.py +87 -117
  12. vellum/client/core/serialization.py +7 -3
  13. vellum/client/errors/__init__.py +14 -1
  14. vellum/client/errors/bad_request_error.py +4 -3
  15. vellum/client/errors/forbidden_error.py +4 -3
  16. vellum/client/errors/internal_server_error.py +4 -3
  17. vellum/client/errors/misdirected_request_error.py +11 -0
  18. vellum/client/errors/not_found_error.py +4 -3
  19. vellum/client/errors/too_many_requests_error.py +11 -0
  20. vellum/client/errors/unauthorized_error.py +11 -0
  21. vellum/client/raw_client.py +2725 -0
  22. vellum/client/reference.md +1980 -638
  23. vellum/client/resources/__init__.py +16 -2
  24. vellum/client/resources/ad_hoc/__init__.py +2 -0
  25. vellum/client/resources/ad_hoc/client.py +173 -377
  26. vellum/client/resources/ad_hoc/raw_client.py +569 -0
  27. vellum/client/resources/container_images/__init__.py +2 -0
  28. vellum/client/resources/container_images/client.py +72 -191
  29. vellum/client/resources/container_images/raw_client.py +407 -0
  30. vellum/client/resources/deployments/__init__.py +2 -0
  31. vellum/client/resources/deployments/client.py +119 -463
  32. vellum/client/resources/deployments/raw_client.py +1002 -0
  33. vellum/client/resources/deployments/types/__init__.py +2 -0
  34. vellum/client/resources/document_indexes/__init__.py +2 -0
  35. vellum/client/resources/document_indexes/client.py +131 -383
  36. vellum/client/resources/document_indexes/raw_client.py +866 -0
  37. vellum/client/resources/document_indexes/types/__init__.py +2 -0
  38. vellum/client/resources/documents/__init__.py +2 -0
  39. vellum/client/resources/documents/client.py +93 -325
  40. vellum/client/resources/documents/raw_client.py +662 -0
  41. vellum/client/resources/{release_reviews → environments}/__init__.py +2 -0
  42. vellum/client/resources/environments/client.py +106 -0
  43. vellum/client/resources/environments/raw_client.py +95 -0
  44. vellum/client/resources/events/__init__.py +4 -0
  45. vellum/client/resources/events/client.py +201 -0
  46. vellum/client/resources/events/raw_client.py +211 -0
  47. vellum/client/resources/folder_entities/__init__.py +2 -0
  48. vellum/client/resources/folder_entities/client.py +56 -95
  49. vellum/client/resources/folder_entities/raw_client.py +276 -0
  50. vellum/client/resources/folder_entities/types/__init__.py +2 -0
  51. vellum/client/resources/integration_auth_configs/__init__.py +4 -0
  52. vellum/client/resources/integration_auth_configs/client.py +186 -0
  53. vellum/client/resources/integration_auth_configs/raw_client.py +171 -0
  54. vellum/client/resources/integration_providers/__init__.py +4 -0
  55. vellum/client/resources/integration_providers/client.py +299 -0
  56. vellum/client/resources/integration_providers/raw_client.py +275 -0
  57. vellum/client/resources/integrations/__init__.py +4 -0
  58. vellum/client/resources/integrations/client.py +466 -0
  59. vellum/client/resources/integrations/raw_client.py +557 -0
  60. vellum/client/resources/metric_definitions/__init__.py +2 -0
  61. vellum/client/resources/metric_definitions/client.py +60 -106
  62. vellum/client/resources/metric_definitions/raw_client.py +224 -0
  63. vellum/client/resources/ml_models/__init__.py +2 -0
  64. vellum/client/resources/ml_models/client.py +37 -46
  65. vellum/client/resources/ml_models/raw_client.py +102 -0
  66. vellum/client/resources/organizations/__init__.py +2 -0
  67. vellum/client/resources/organizations/client.py +37 -45
  68. vellum/client/resources/organizations/raw_client.py +95 -0
  69. vellum/client/resources/prompts/__init__.py +2 -0
  70. vellum/client/resources/prompts/client.py +84 -202
  71. vellum/client/resources/prompts/raw_client.py +353 -0
  72. vellum/client/resources/sandboxes/__init__.py +2 -0
  73. vellum/client/resources/sandboxes/client.py +69 -159
  74. vellum/client/resources/sandboxes/raw_client.py +392 -0
  75. vellum/client/resources/test_suite_runs/__init__.py +2 -0
  76. vellum/client/resources/test_suite_runs/client.py +65 -157
  77. vellum/client/resources/test_suite_runs/raw_client.py +354 -0
  78. vellum/client/resources/test_suites/__init__.py +2 -0
  79. vellum/client/resources/test_suites/client.py +162 -266
  80. vellum/client/resources/test_suites/raw_client.py +530 -0
  81. vellum/client/resources/uploaded_files/__init__.py +4 -0
  82. vellum/client/resources/uploaded_files/client.py +230 -0
  83. vellum/client/resources/uploaded_files/raw_client.py +316 -0
  84. vellum/client/resources/workflow_deployments/__init__.py +2 -0
  85. vellum/client/resources/workflow_deployments/client.py +302 -353
  86. vellum/client/resources/workflow_deployments/raw_client.py +1059 -0
  87. vellum/client/resources/workflow_deployments/types/__init__.py +2 -0
  88. vellum/client/resources/workflow_executions/__init__.py +4 -0
  89. vellum/client/resources/workflow_executions/client.py +140 -0
  90. vellum/client/resources/workflow_executions/raw_client.py +173 -0
  91. vellum/client/resources/workflow_sandboxes/__init__.py +2 -0
  92. vellum/client/resources/workflow_sandboxes/client.py +58 -123
  93. vellum/client/resources/workflow_sandboxes/raw_client.py +291 -0
  94. vellum/client/resources/workflow_sandboxes/types/__init__.py +2 -0
  95. vellum/client/resources/workflows/__init__.py +2 -0
  96. vellum/client/resources/workflows/client.py +256 -141
  97. vellum/client/resources/workflows/raw_client.py +547 -0
  98. vellum/client/resources/workspace_secrets/__init__.py +2 -0
  99. vellum/client/resources/workspace_secrets/client.py +43 -100
  100. vellum/client/resources/workspace_secrets/raw_client.py +219 -0
  101. vellum/client/resources/workspaces/__init__.py +2 -0
  102. vellum/client/resources/workspaces/client.py +37 -45
  103. vellum/client/resources/workspaces/raw_client.py +95 -0
  104. vellum/client/tests/__init__.py +0 -0
  105. vellum/client/tests/test_utils.py +34 -0
  106. vellum/client/types/__init__.py +242 -0
  107. vellum/client/types/ad_hoc_execute_prompt_event.py +3 -2
  108. vellum/client/types/ad_hoc_expand_meta.py +2 -2
  109. vellum/client/types/ad_hoc_fulfilled_prompt_execution_meta.py +3 -3
  110. vellum/client/types/ad_hoc_initiated_prompt_execution_meta.py +2 -2
  111. vellum/client/types/ad_hoc_rejected_prompt_execution_meta.py +3 -3
  112. vellum/client/types/ad_hoc_streaming_prompt_execution_meta.py +2 -2
  113. vellum/client/types/api_actor_type_enum.py +7 -0
  114. vellum/client/types/api_node_result.py +3 -3
  115. vellum/client/types/api_node_result_data.py +4 -4
  116. vellum/client/types/api_request_parent_context.py +17 -10
  117. vellum/client/types/api_version_enum.py +1 -1
  118. vellum/client/types/array_chat_message_content.py +3 -3
  119. vellum/client/types/array_chat_message_content_item.py +7 -4
  120. vellum/client/types/array_chat_message_content_item_request.py +7 -4
  121. vellum/client/types/array_chat_message_content_request.py +3 -3
  122. vellum/client/types/array_input.py +12 -6
  123. vellum/client/types/array_vellum_value.py +4 -4
  124. vellum/client/types/array_vellum_value_request.py +4 -4
  125. vellum/client/types/audio_chat_message_content.py +3 -3
  126. vellum/client/types/audio_chat_message_content_request.py +3 -3
  127. vellum/client/types/audio_input.py +30 -0
  128. vellum/client/types/audio_input_request.py +30 -0
  129. vellum/client/types/audio_prompt_block.py +4 -4
  130. vellum/client/types/audio_vellum_value.py +3 -3
  131. vellum/client/types/audio_vellum_value_request.py +3 -3
  132. vellum/client/types/auth_type_enum.py +5 -0
  133. vellum/client/types/base_output.py +4 -4
  134. vellum/client/types/basic_vectorizer_intfloat_multilingual_e_5_large.py +2 -2
  135. vellum/client/types/basic_vectorizer_intfloat_multilingual_e_5_large_request.py +2 -2
  136. vellum/client/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_cos_v_1.py +2 -2
  137. vellum/client/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_cos_v_1_request.py +2 -2
  138. vellum/client/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_dot_v_1.py +2 -2
  139. vellum/client/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_dot_v_1_request.py +2 -2
  140. vellum/client/types/build_status_enum.py +5 -0
  141. vellum/client/types/chat_history_input.py +3 -3
  142. vellum/client/types/chat_history_input_request.py +3 -3
  143. vellum/client/types/chat_history_vellum_value.py +3 -3
  144. vellum/client/types/chat_history_vellum_value_request.py +3 -3
  145. vellum/client/types/chat_message.py +4 -4
  146. vellum/client/types/chat_message_content.py +7 -4
  147. vellum/client/types/chat_message_content_request.py +7 -4
  148. vellum/client/types/chat_message_prompt_block.py +7 -7
  149. vellum/client/types/chat_message_request.py +4 -4
  150. vellum/client/types/code_execution_node_array_result.py +11 -5
  151. vellum/client/types/code_execution_node_chat_history_result.py +3 -3
  152. vellum/client/types/code_execution_node_error_result.py +3 -3
  153. vellum/client/types/code_execution_node_function_call_result.py +3 -3
  154. vellum/client/types/code_execution_node_json_result.py +2 -2
  155. vellum/client/types/code_execution_node_number_result.py +2 -2
  156. vellum/client/types/code_execution_node_result.py +10 -4
  157. vellum/client/types/code_execution_node_result_data.py +10 -4
  158. vellum/client/types/code_execution_node_result_output.py +6 -5
  159. vellum/client/types/code_execution_node_search_results_result.py +3 -3
  160. vellum/client/types/code_execution_node_string_result.py +2 -2
  161. vellum/client/types/code_execution_package.py +3 -2
  162. vellum/client/types/code_executor_input.py +15 -6
  163. vellum/client/types/code_executor_response.py +11 -5
  164. vellum/client/types/code_executor_secret_input.py +3 -3
  165. vellum/client/types/code_resource_definition.py +3 -3
  166. vellum/client/types/compile_prompt_deployment_expand_meta_request.py +2 -2
  167. vellum/client/types/compile_prompt_meta.py +2 -2
  168. vellum/client/types/components_schemas_composio_execute_tool_request.py +5 -0
  169. vellum/client/types/components_schemas_composio_execute_tool_response.py +5 -0
  170. vellum/client/types/components_schemas_composio_integration_exec_config.py +5 -0
  171. vellum/client/types/components_schemas_composio_tool_definition.py +5 -0
  172. vellum/client/types/components_schemas_slim_composio_tool_definition.py +5 -0
  173. vellum/client/types/composio_execute_tool_request.py +24 -0
  174. vellum/client/types/composio_execute_tool_response.py +24 -0
  175. vellum/client/types/composio_integration_exec_config.py +21 -0
  176. vellum/client/types/composio_tool_definition.py +30 -0
  177. vellum/client/types/conditional_node_result.py +3 -3
  178. vellum/client/types/conditional_node_result_data.py +2 -2
  179. vellum/client/types/container_image_build_config.py +21 -0
  180. vellum/client/types/container_image_container_image_tag.py +2 -2
  181. vellum/client/types/container_image_read.py +8 -4
  182. vellum/client/types/create_test_suite_test_case_request.py +9 -3
  183. vellum/client/types/create_workflow_event_request.py +7 -0
  184. vellum/client/types/dataset_row_push_request.py +20 -0
  185. vellum/client/types/delimiter_chunker_config.py +20 -0
  186. vellum/client/types/delimiter_chunker_config_request.py +20 -0
  187. vellum/client/types/delimiter_chunking.py +21 -0
  188. vellum/client/types/delimiter_chunking_request.py +21 -0
  189. vellum/client/types/deployment_history_item.py +10 -4
  190. vellum/client/types/deployment_provider_payload_response.py +4 -4
  191. vellum/client/types/deployment_read.py +15 -9
  192. vellum/client/types/deployment_release_tag_deployment_history_item.py +2 -2
  193. vellum/client/types/deployment_release_tag_read.py +4 -4
  194. vellum/client/types/deprecated_prompt_request_input.py +8 -0
  195. vellum/client/types/docker_service_token.py +2 -2
  196. vellum/client/types/document_chat_message_content.py +3 -3
  197. vellum/client/types/document_chat_message_content_request.py +3 -3
  198. vellum/client/types/document_document_to_document_index.py +4 -4
  199. vellum/client/types/document_index_chunking.py +5 -1
  200. vellum/client/types/document_index_chunking_request.py +3 -1
  201. vellum/client/types/document_index_indexing_config.py +4 -4
  202. vellum/client/types/document_index_indexing_config_request.py +4 -4
  203. vellum/client/types/document_index_read.py +4 -4
  204. vellum/client/types/document_input.py +30 -0
  205. vellum/client/types/document_input_request.py +30 -0
  206. vellum/client/types/document_prompt_block.py +4 -4
  207. vellum/client/types/document_read.py +9 -5
  208. vellum/client/types/document_vellum_value.py +3 -3
  209. vellum/client/types/document_vellum_value_request.py +3 -3
  210. vellum/client/types/enriched_normalized_completion.py +3 -3
  211. vellum/client/types/environment_display_config.py +19 -0
  212. vellum/client/types/environment_read.py +23 -0
  213. vellum/client/types/ephemeral_prompt_cache_config.py +3 -3
  214. vellum/client/types/error_detail_response.py +22 -0
  215. vellum/client/types/error_input.py +3 -3
  216. vellum/client/types/error_vellum_value.py +3 -3
  217. vellum/client/types/error_vellum_value_request.py +3 -3
  218. vellum/client/types/event_create_response.py +31 -0
  219. vellum/client/types/execute_api_request_bearer_token.py +1 -0
  220. vellum/client/types/execute_api_request_headers_value.py +1 -0
  221. vellum/client/types/execute_api_response.py +6 -6
  222. vellum/client/types/execute_prompt_event.py +3 -2
  223. vellum/client/types/execute_prompt_response.py +1 -0
  224. vellum/client/types/execute_workflow_async_response.py +26 -0
  225. vellum/client/types/execute_workflow_response.py +10 -4
  226. vellum/client/types/execute_workflow_workflow_result_event.py +1 -0
  227. vellum/client/types/execution_array_vellum_value.py +12 -6
  228. vellum/client/types/execution_audio_vellum_value.py +31 -0
  229. vellum/client/types/execution_chat_history_vellum_value.py +3 -3
  230. vellum/client/types/execution_document_vellum_value.py +31 -0
  231. vellum/client/types/execution_error_vellum_value.py +3 -3
  232. vellum/client/types/execution_function_call_vellum_value.py +3 -3
  233. vellum/client/types/execution_image_vellum_value.py +31 -0
  234. vellum/client/types/execution_json_vellum_value.py +3 -3
  235. vellum/client/types/execution_number_vellum_value.py +3 -3
  236. vellum/client/types/execution_search_results_vellum_value.py +3 -3
  237. vellum/client/types/execution_string_vellum_value.py +3 -3
  238. vellum/client/types/execution_thinking_vellum_value.py +31 -0
  239. vellum/client/types/execution_vellum_value.py +16 -5
  240. vellum/client/types/execution_video_vellum_value.py +31 -0
  241. vellum/client/types/external_input_descriptor.py +3 -3
  242. vellum/client/types/external_parent_context.py +38 -0
  243. vellum/client/types/external_test_case_execution.py +10 -4
  244. vellum/client/types/external_test_case_execution_request.py +10 -4
  245. vellum/client/types/fast_embed_vectorizer_baai_bge_small_en_v_15.py +23 -0
  246. vellum/client/types/fast_embed_vectorizer_baai_bge_small_en_v_15_request.py +23 -0
  247. vellum/client/types/folder_entity.py +5 -2
  248. vellum/client/types/folder_entity_dataset.py +26 -0
  249. vellum/client/types/folder_entity_dataset_data.py +25 -0
  250. vellum/client/types/folder_entity_document_index.py +3 -3
  251. vellum/client/types/folder_entity_document_index_data.py +5 -3
  252. vellum/client/types/folder_entity_folder.py +3 -3
  253. vellum/client/types/folder_entity_folder_data.py +2 -2
  254. vellum/client/types/folder_entity_prompt_sandbox.py +3 -3
  255. vellum/client/types/folder_entity_prompt_sandbox_data.py +4 -3
  256. vellum/client/types/folder_entity_test_suite.py +3 -3
  257. vellum/client/types/folder_entity_test_suite_data.py +3 -3
  258. vellum/client/types/folder_entity_workflow_sandbox.py +3 -3
  259. vellum/client/types/folder_entity_workflow_sandbox_data.py +6 -3
  260. vellum/client/types/fulfilled_ad_hoc_execute_prompt_event.py +4 -4
  261. vellum/client/types/fulfilled_execute_prompt_event.py +4 -4
  262. vellum/client/types/fulfilled_execute_prompt_response.py +3 -3
  263. vellum/client/types/fulfilled_execute_workflow_workflow_result_event.py +11 -5
  264. vellum/client/types/fulfilled_prompt_execution_meta.py +3 -3
  265. vellum/client/types/fulfilled_workflow_node_result_event.py +12 -6
  266. vellum/client/types/function_call.py +2 -2
  267. vellum/client/types/function_call_chat_message_content.py +3 -3
  268. vellum/client/types/function_call_chat_message_content_request.py +3 -3
  269. vellum/client/types/function_call_chat_message_content_value.py +2 -2
  270. vellum/client/types/function_call_chat_message_content_value_request.py +2 -2
  271. vellum/client/types/function_call_input.py +3 -3
  272. vellum/client/types/function_call_prompt_block.py +4 -4
  273. vellum/client/types/function_call_request.py +2 -2
  274. vellum/client/types/function_call_vellum_value.py +3 -3
  275. vellum/client/types/function_call_vellum_value_request.py +3 -3
  276. vellum/client/types/function_definition.py +9 -4
  277. vellum/client/types/generate_options_request.py +3 -3
  278. vellum/client/types/generate_request.py +2 -2
  279. vellum/client/types/generate_response.py +3 -3
  280. vellum/client/types/generate_result.py +3 -3
  281. vellum/client/types/generate_result_data.py +3 -3
  282. vellum/client/types/generate_result_error.py +3 -3
  283. vellum/client/types/generate_stream_response.py +3 -3
  284. vellum/client/types/generate_stream_result.py +4 -4
  285. vellum/client/types/generate_stream_result_data.py +3 -3
  286. vellum/client/types/google_vertex_ai_vectorizer_config.py +2 -2
  287. vellum/client/types/google_vertex_ai_vectorizer_config_request.py +2 -2
  288. vellum/client/types/google_vertex_ai_vectorizer_gemini_embedding_001.py +21 -0
  289. vellum/client/types/google_vertex_ai_vectorizer_gemini_embedding_001_request.py +21 -0
  290. vellum/client/types/google_vertex_ai_vectorizer_text_embedding_004.py +3 -3
  291. vellum/client/types/google_vertex_ai_vectorizer_text_embedding_004_request.py +3 -3
  292. vellum/client/types/google_vertex_ai_vectorizer_text_multilingual_embedding_002.py +3 -3
  293. vellum/client/types/google_vertex_ai_vectorizer_text_multilingual_embedding_002_request.py +3 -3
  294. vellum/client/types/hkunlp_instructor_xl_vectorizer.py +3 -3
  295. vellum/client/types/hkunlp_instructor_xl_vectorizer_request.py +3 -3
  296. vellum/client/types/image_chat_message_content.py +3 -3
  297. vellum/client/types/image_chat_message_content_request.py +3 -3
  298. vellum/client/types/image_input.py +30 -0
  299. vellum/client/types/image_input_request.py +30 -0
  300. vellum/client/types/image_prompt_block.py +4 -4
  301. vellum/client/types/image_vellum_value.py +3 -3
  302. vellum/client/types/image_vellum_value_request.py +3 -3
  303. vellum/client/types/indexing_config_vectorizer.py +11 -4
  304. vellum/client/types/indexing_config_vectorizer_request.py +11 -4
  305. vellum/client/types/initiated_ad_hoc_execute_prompt_event.py +3 -3
  306. vellum/client/types/initiated_execute_prompt_event.py +3 -3
  307. vellum/client/types/initiated_prompt_execution_meta.py +2 -2
  308. vellum/client/types/initiated_workflow_node_result_event.py +12 -6
  309. vellum/client/types/instructor_vectorizer_config.py +2 -2
  310. vellum/client/types/instructor_vectorizer_config_request.py +2 -2
  311. vellum/client/types/integration.py +27 -0
  312. vellum/client/types/integration_auth_config_integration.py +23 -0
  313. vellum/client/types/integration_auth_config_integration_credential.py +19 -0
  314. vellum/client/types/integration_credential_access_type.py +5 -0
  315. vellum/client/types/integration_name.py +85 -0
  316. vellum/client/types/integration_provider.py +5 -0
  317. vellum/client/types/integration_read.py +30 -0
  318. vellum/client/types/integration_trigger_context.py +39 -0
  319. vellum/client/types/invoked_port.py +2 -2
  320. vellum/client/types/jinja_prompt_block.py +4 -4
  321. vellum/client/types/json_input.py +3 -3
  322. vellum/client/types/json_input_request.py +3 -3
  323. vellum/client/types/json_vellum_value.py +2 -2
  324. vellum/client/types/json_vellum_value_request.py +2 -2
  325. vellum/client/types/logical_operator.py +4 -0
  326. vellum/client/types/map_node_result.py +3 -3
  327. vellum/client/types/map_node_result_data.py +3 -3
  328. vellum/client/types/merge_node_result.py +3 -3
  329. vellum/client/types/merge_node_result_data.py +2 -2
  330. vellum/client/types/metadata_filter_config_request.py +12 -6
  331. vellum/client/types/metadata_filter_rule_request.py +5 -5
  332. vellum/client/types/metadata_filters_request.py +1 -0
  333. vellum/client/types/metric_definition_execution.py +10 -4
  334. vellum/client/types/metric_definition_history_item.py +10 -4
  335. vellum/client/types/metric_definition_input.py +3 -2
  336. vellum/client/types/metric_node_result.py +2 -2
  337. vellum/client/types/ml_model_read.py +6 -3
  338. vellum/client/types/ml_model_usage.py +2 -2
  339. vellum/client/types/ml_model_usage_wrapper.py +3 -3
  340. vellum/client/types/named_scenario_input_audio_variable_value_request.py +22 -0
  341. vellum/client/types/named_scenario_input_chat_history_variable_value_request.py +3 -3
  342. vellum/client/types/named_scenario_input_document_variable_value_request.py +22 -0
  343. vellum/client/types/named_scenario_input_image_variable_value_request.py +22 -0
  344. vellum/client/types/named_scenario_input_json_variable_value_request.py +2 -2
  345. vellum/client/types/named_scenario_input_request.py +11 -2
  346. vellum/client/types/named_scenario_input_string_variable_value_request.py +2 -2
  347. vellum/client/types/named_scenario_input_video_variable_value_request.py +22 -0
  348. vellum/client/types/named_test_case_array_variable_value.py +11 -5
  349. vellum/client/types/named_test_case_array_variable_value_request.py +11 -5
  350. vellum/client/types/named_test_case_audio_variable_value.py +26 -0
  351. vellum/client/types/named_test_case_audio_variable_value_request.py +26 -0
  352. vellum/client/types/named_test_case_chat_history_variable_value.py +3 -3
  353. vellum/client/types/named_test_case_chat_history_variable_value_request.py +3 -3
  354. vellum/client/types/named_test_case_document_variable_value.py +22 -0
  355. vellum/client/types/named_test_case_document_variable_value_request.py +22 -0
  356. vellum/client/types/named_test_case_error_variable_value.py +3 -3
  357. vellum/client/types/named_test_case_error_variable_value_request.py +3 -3
  358. vellum/client/types/named_test_case_function_call_variable_value.py +3 -3
  359. vellum/client/types/named_test_case_function_call_variable_value_request.py +3 -3
  360. vellum/client/types/named_test_case_image_variable_value.py +22 -0
  361. vellum/client/types/named_test_case_image_variable_value_request.py +22 -0
  362. vellum/client/types/named_test_case_json_variable_value.py +2 -2
  363. vellum/client/types/named_test_case_json_variable_value_request.py +2 -2
  364. vellum/client/types/named_test_case_number_variable_value.py +2 -2
  365. vellum/client/types/named_test_case_number_variable_value_request.py +2 -2
  366. vellum/client/types/named_test_case_search_results_variable_value.py +3 -3
  367. vellum/client/types/named_test_case_search_results_variable_value_request.py +3 -3
  368. vellum/client/types/named_test_case_string_variable_value.py +2 -2
  369. vellum/client/types/named_test_case_string_variable_value_request.py +2 -2
  370. vellum/client/types/named_test_case_variable_value.py +14 -5
  371. vellum/client/types/named_test_case_variable_value_request.py +14 -5
  372. vellum/client/types/named_test_case_video_variable_value.py +22 -0
  373. vellum/client/types/named_test_case_video_variable_value_request.py +22 -0
  374. vellum/client/types/node_execution_fulfilled_body.py +4 -4
  375. vellum/client/types/node_execution_fulfilled_event.py +24 -15
  376. vellum/client/types/node_execution_initiated_body.py +3 -3
  377. vellum/client/types/node_execution_initiated_event.py +24 -15
  378. vellum/client/types/node_execution_paused_body.py +3 -3
  379. vellum/client/types/node_execution_paused_event.py +24 -15
  380. vellum/client/types/node_execution_rejected_body.py +5 -4
  381. vellum/client/types/node_execution_rejected_event.py +24 -15
  382. vellum/client/types/node_execution_resumed_body.py +3 -3
  383. vellum/client/types/node_execution_resumed_event.py +24 -15
  384. vellum/client/types/node_execution_span.py +23 -12
  385. vellum/client/types/node_execution_span_attributes.py +4 -2
  386. vellum/client/types/node_execution_streaming_body.py +4 -4
  387. vellum/client/types/node_execution_streaming_event.py +24 -15
  388. vellum/client/types/node_input_compiled_array_value.py +11 -5
  389. vellum/client/types/node_input_compiled_audio_value.py +23 -0
  390. vellum/client/types/node_input_compiled_chat_history_value.py +3 -3
  391. vellum/client/types/node_input_compiled_document_value.py +23 -0
  392. vellum/client/types/node_input_compiled_error_value.py +3 -3
  393. vellum/client/types/node_input_compiled_function_call_value.py +3 -3
  394. vellum/client/types/node_input_compiled_image_value.py +23 -0
  395. vellum/client/types/node_input_compiled_json_value.py +2 -2
  396. vellum/client/types/node_input_compiled_number_value.py +2 -2
  397. vellum/client/types/node_input_compiled_search_results_value.py +3 -3
  398. vellum/client/types/node_input_compiled_secret_value.py +3 -3
  399. vellum/client/types/node_input_compiled_string_value.py +2 -2
  400. vellum/client/types/node_input_compiled_video_value.py +23 -0
  401. vellum/client/types/node_input_variable_compiled_value.py +14 -5
  402. vellum/client/types/node_output_compiled_array_value.py +12 -6
  403. vellum/client/types/node_output_compiled_chat_history_value.py +3 -3
  404. vellum/client/types/node_output_compiled_error_value.py +3 -3
  405. vellum/client/types/node_output_compiled_function_call_value.py +3 -3
  406. vellum/client/types/node_output_compiled_json_value.py +3 -3
  407. vellum/client/types/node_output_compiled_number_value.py +3 -3
  408. vellum/client/types/node_output_compiled_search_results_value.py +3 -3
  409. vellum/client/types/node_output_compiled_string_value.py +3 -3
  410. vellum/client/types/node_output_compiled_thinking_value.py +28 -0
  411. vellum/client/types/node_output_compiled_value.py +8 -5
  412. vellum/client/types/node_parent_context.py +14 -11
  413. vellum/client/types/normalized_log_probs.py +3 -3
  414. vellum/client/types/normalized_token_log_probs.py +2 -2
  415. vellum/client/types/number_input.py +3 -3
  416. vellum/client/types/number_vellum_value.py +2 -2
  417. vellum/client/types/number_vellum_value_request.py +2 -2
  418. vellum/client/types/open_ai_vectorizer_config.py +3 -3
  419. vellum/client/types/open_ai_vectorizer_config_request.py +3 -3
  420. vellum/client/types/open_ai_vectorizer_text_embedding_3_large.py +3 -3
  421. vellum/client/types/open_ai_vectorizer_text_embedding_3_large_request.py +3 -3
  422. vellum/client/types/open_ai_vectorizer_text_embedding_3_small.py +3 -3
  423. vellum/client/types/open_ai_vectorizer_text_embedding_3_small_request.py +3 -3
  424. vellum/client/types/open_ai_vectorizer_text_embedding_ada_002.py +3 -3
  425. vellum/client/types/open_ai_vectorizer_text_embedding_ada_002_request.py +3 -3
  426. vellum/client/types/organization_read.py +6 -3
  427. vellum/client/types/paginated_container_image_read_list.py +3 -3
  428. vellum/client/types/paginated_deployment_release_tag_read_list.py +3 -3
  429. vellum/client/types/paginated_document_index_read_list.py +3 -3
  430. vellum/client/types/paginated_folder_entity_list.py +3 -3
  431. vellum/client/types/paginated_slim_deployment_read_list.py +10 -4
  432. vellum/client/types/paginated_slim_document_list.py +3 -3
  433. vellum/client/types/paginated_slim_integration_auth_config_read_list.py +23 -0
  434. vellum/client/types/paginated_slim_integration_read_list.py +23 -0
  435. vellum/client/types/paginated_slim_tool_definition_list.py +23 -0
  436. vellum/client/types/paginated_slim_workflow_deployment_list.py +10 -4
  437. vellum/client/types/paginated_test_suite_run_execution_list.py +10 -4
  438. vellum/client/types/paginated_test_suite_test_case_list.py +10 -4
  439. vellum/client/types/paginated_workflow_deployment_release_list.py +30 -0
  440. vellum/client/types/paginated_workflow_release_tag_read_list.py +3 -3
  441. vellum/client/types/paginated_workflow_sandbox_example_list.py +3 -3
  442. vellum/client/types/parent_context.py +21 -11
  443. vellum/client/types/pdf_search_result_meta_source.py +2 -2
  444. vellum/client/types/pdf_search_result_meta_source_request.py +2 -2
  445. vellum/client/types/plain_text_prompt_block.py +4 -4
  446. vellum/client/types/price.py +3 -3
  447. vellum/client/types/private_vectorizer.py +23 -0
  448. vellum/client/types/private_vectorizer_request.py +23 -0
  449. vellum/client/types/processing_failure_reason_enum.py +3 -1
  450. vellum/client/types/prompt_block.py +9 -6
  451. vellum/client/types/prompt_deployment_expand_meta_request.py +2 -2
  452. vellum/client/types/prompt_deployment_input_request.py +16 -3
  453. vellum/client/types/prompt_deployment_parent_context.py +13 -10
  454. vellum/client/types/prompt_deployment_release.py +6 -6
  455. vellum/client/types/prompt_deployment_release_prompt_deployment.py +2 -2
  456. vellum/client/types/prompt_deployment_release_prompt_version.py +4 -4
  457. vellum/client/types/prompt_exec_config.py +15 -9
  458. vellum/client/types/prompt_execution_meta.py +3 -3
  459. vellum/client/types/prompt_node_execution_meta.py +3 -3
  460. vellum/client/types/prompt_node_result.py +3 -3
  461. vellum/client/types/prompt_node_result_data.py +3 -3
  462. vellum/client/types/prompt_output.py +7 -3
  463. vellum/client/types/prompt_parameters.py +2 -2
  464. vellum/client/types/prompt_push_response.py +2 -2
  465. vellum/client/types/prompt_request_audio_input.py +26 -0
  466. vellum/client/types/prompt_request_chat_history_input.py +3 -3
  467. vellum/client/types/prompt_request_document_input.py +26 -0
  468. vellum/client/types/prompt_request_image_input.py +26 -0
  469. vellum/client/types/prompt_request_input.py +16 -3
  470. vellum/client/types/prompt_request_json_input.py +3 -3
  471. vellum/client/types/prompt_request_string_input.py +3 -3
  472. vellum/client/types/prompt_request_video_input.py +26 -0
  473. vellum/client/types/prompt_settings.py +2 -2
  474. vellum/client/types/prompt_version_build_config_sandbox.py +2 -2
  475. vellum/client/types/raw_prompt_execution_overrides_request.py +2 -2
  476. vellum/client/types/reducto_chunker_config.py +2 -2
  477. vellum/client/types/reducto_chunker_config_request.py +2 -2
  478. vellum/client/types/reducto_chunking.py +3 -3
  479. vellum/client/types/reducto_chunking_request.py +3 -3
  480. vellum/client/types/rejected_ad_hoc_execute_prompt_event.py +4 -4
  481. vellum/client/types/rejected_execute_prompt_event.py +4 -4
  482. vellum/client/types/rejected_execute_prompt_response.py +3 -3
  483. vellum/client/types/rejected_execute_workflow_workflow_result_event.py +4 -4
  484. vellum/client/types/rejected_prompt_execution_meta.py +3 -3
  485. vellum/client/types/rejected_workflow_node_result_event.py +12 -6
  486. vellum/client/types/release_created_by.py +2 -2
  487. vellum/client/types/release_environment.py +2 -2
  488. vellum/client/types/release_release_tag.py +3 -3
  489. vellum/client/types/release_review_reviewer.py +2 -2
  490. vellum/client/types/release_tag_release.py +2 -2
  491. vellum/client/types/replace_test_suite_test_case_request.py +9 -3
  492. vellum/client/types/rich_text_child_block.py +2 -1
  493. vellum/client/types/rich_text_prompt_block.py +4 -4
  494. vellum/client/types/sandbox_scenario.py +3 -3
  495. vellum/client/types/scenario_input.py +14 -3
  496. vellum/client/types/scenario_input_audio_variable_value.py +22 -0
  497. vellum/client/types/scenario_input_chat_history_variable_value.py +3 -3
  498. vellum/client/types/scenario_input_document_variable_value.py +22 -0
  499. vellum/client/types/scenario_input_image_variable_value.py +22 -0
  500. vellum/client/types/scenario_input_json_variable_value.py +2 -2
  501. vellum/client/types/scenario_input_string_variable_value.py +2 -2
  502. vellum/client/types/scenario_input_video_variable_value.py +22 -0
  503. vellum/client/types/scheduled_trigger_context.py +39 -0
  504. vellum/client/types/search_filters_request.py +11 -5
  505. vellum/client/types/search_node_result.py +3 -3
  506. vellum/client/types/search_node_result_data.py +3 -3
  507. vellum/client/types/search_request_options_request.py +13 -7
  508. vellum/client/types/search_response.py +3 -3
  509. vellum/client/types/search_result.py +3 -3
  510. vellum/client/types/search_result_document.py +2 -2
  511. vellum/client/types/search_result_document_request.py +2 -2
  512. vellum/client/types/search_result_merging_request.py +2 -2
  513. vellum/client/types/search_result_meta.py +3 -3
  514. vellum/client/types/search_result_meta_request.py +3 -3
  515. vellum/client/types/search_result_request.py +3 -3
  516. vellum/client/types/search_results_input.py +3 -3
  517. vellum/client/types/search_results_vellum_value.py +3 -3
  518. vellum/client/types/search_results_vellum_value_request.py +3 -3
  519. vellum/client/types/search_weights_request.py +2 -2
  520. vellum/client/types/secret_type_enum.py +3 -1
  521. vellum/client/types/sentence_chunker_config.py +2 -2
  522. vellum/client/types/sentence_chunker_config_request.py +2 -2
  523. vellum/client/types/sentence_chunking.py +3 -3
  524. vellum/client/types/sentence_chunking_request.py +3 -3
  525. vellum/client/types/slim_composio_tool_definition.py +24 -0
  526. vellum/client/types/slim_deployment_read.py +15 -9
  527. vellum/client/types/slim_document.py +6 -5
  528. vellum/client/types/slim_document_document_to_document_index.py +4 -4
  529. vellum/client/types/slim_integration_auth_config_read.py +36 -0
  530. vellum/client/types/slim_integration_read.py +25 -0
  531. vellum/client/types/slim_release_review.py +4 -4
  532. vellum/client/types/slim_workflow_deployment.py +16 -10
  533. vellum/client/types/slim_workflow_execution_read.py +24 -15
  534. vellum/client/types/span_link.py +15 -12
  535. vellum/client/types/span_link_type_enum.py +1 -1
  536. vellum/client/types/streaming_ad_hoc_execute_prompt_event.py +4 -4
  537. vellum/client/types/streaming_execute_prompt_event.py +3 -3
  538. vellum/client/types/streaming_prompt_execution_meta.py +2 -2
  539. vellum/client/types/streaming_workflow_node_result_event.py +12 -6
  540. vellum/client/types/string_chat_message_content.py +2 -2
  541. vellum/client/types/string_chat_message_content_request.py +2 -2
  542. vellum/client/types/string_input.py +3 -3
  543. vellum/client/types/string_input_request.py +3 -3
  544. vellum/client/types/string_vellum_value.py +2 -2
  545. vellum/client/types/string_vellum_value_request.py +2 -2
  546. vellum/client/types/submit_completion_actual_request.py +3 -3
  547. vellum/client/types/submit_workflow_execution_actual_request.py +3 -2
  548. vellum/client/types/subworkflow_node_result.py +3 -3
  549. vellum/client/types/subworkflow_node_result_data.py +2 -2
  550. vellum/client/types/templating_node_array_result.py +11 -5
  551. vellum/client/types/templating_node_chat_history_result.py +3 -3
  552. vellum/client/types/templating_node_error_result.py +3 -3
  553. vellum/client/types/templating_node_function_call_result.py +3 -3
  554. vellum/client/types/templating_node_json_result.py +2 -2
  555. vellum/client/types/templating_node_number_result.py +2 -2
  556. vellum/client/types/templating_node_result.py +10 -4
  557. vellum/client/types/templating_node_result_data.py +10 -4
  558. vellum/client/types/templating_node_result_output.py +6 -5
  559. vellum/client/types/templating_node_search_results_result.py +3 -3
  560. vellum/client/types/templating_node_string_result.py +2 -2
  561. vellum/client/types/terminal_node_array_result.py +11 -5
  562. vellum/client/types/terminal_node_chat_history_result.py +2 -2
  563. vellum/client/types/terminal_node_error_result.py +2 -2
  564. vellum/client/types/terminal_node_function_call_result.py +2 -2
  565. vellum/client/types/terminal_node_json_result.py +2 -2
  566. vellum/client/types/terminal_node_number_result.py +2 -2
  567. vellum/client/types/terminal_node_result.py +10 -4
  568. vellum/client/types/terminal_node_result_data.py +10 -4
  569. vellum/client/types/terminal_node_result_output.py +6 -5
  570. vellum/client/types/terminal_node_search_results_result.py +2 -2
  571. vellum/client/types/terminal_node_string_result.py +2 -2
  572. vellum/client/types/test_case_array_variable_value.py +11 -5
  573. vellum/client/types/test_case_audio_variable_value.py +27 -0
  574. vellum/client/types/test_case_chat_history_variable_value.py +3 -3
  575. vellum/client/types/test_case_document_variable_value.py +27 -0
  576. vellum/client/types/test_case_error_variable_value.py +3 -3
  577. vellum/client/types/test_case_function_call_variable_value.py +3 -3
  578. vellum/client/types/test_case_image_variable_value.py +27 -0
  579. vellum/client/types/test_case_json_variable_value.py +2 -2
  580. vellum/client/types/test_case_number_variable_value.py +2 -2
  581. vellum/client/types/test_case_search_results_variable_value.py +3 -3
  582. vellum/client/types/test_case_string_variable_value.py +2 -2
  583. vellum/client/types/test_case_variable_value.py +14 -5
  584. vellum/client/types/test_case_video_variable_value.py +27 -0
  585. vellum/client/types/test_suite_run_deployment_release_tag_exec_config.py +3 -3
  586. vellum/client/types/test_suite_run_deployment_release_tag_exec_config_data.py +3 -3
  587. vellum/client/types/test_suite_run_deployment_release_tag_exec_config_data_request.py +3 -3
  588. vellum/client/types/test_suite_run_deployment_release_tag_exec_config_request.py +3 -3
  589. vellum/client/types/test_suite_run_exec_config.py +2 -1
  590. vellum/client/types/test_suite_run_exec_config_request.py +2 -1
  591. vellum/client/types/test_suite_run_execution.py +11 -5
  592. vellum/client/types/test_suite_run_execution_array_output.py +11 -5
  593. vellum/client/types/test_suite_run_execution_chat_history_output.py +3 -3
  594. vellum/client/types/test_suite_run_execution_error_output.py +3 -3
  595. vellum/client/types/test_suite_run_execution_function_call_output.py +3 -3
  596. vellum/client/types/test_suite_run_execution_json_output.py +2 -2
  597. vellum/client/types/test_suite_run_execution_metric_definition.py +2 -2
  598. vellum/client/types/test_suite_run_execution_metric_result.py +11 -5
  599. vellum/client/types/test_suite_run_execution_number_output.py +2 -2
  600. vellum/client/types/test_suite_run_execution_output.py +6 -5
  601. vellum/client/types/test_suite_run_execution_search_results_output.py +3 -3
  602. vellum/client/types/test_suite_run_execution_string_output.py +2 -2
  603. vellum/client/types/test_suite_run_external_exec_config.py +10 -4
  604. vellum/client/types/test_suite_run_external_exec_config_data.py +10 -4
  605. vellum/client/types/test_suite_run_external_exec_config_data_request.py +10 -4
  606. vellum/client/types/test_suite_run_external_exec_config_request.py +10 -4
  607. vellum/client/types/test_suite_run_metric_array_output.py +11 -5
  608. vellum/client/types/test_suite_run_metric_error_output.py +3 -3
  609. vellum/client/types/test_suite_run_metric_json_output.py +2 -2
  610. vellum/client/types/test_suite_run_metric_number_output.py +2 -2
  611. vellum/client/types/test_suite_run_metric_output.py +5 -4
  612. vellum/client/types/test_suite_run_metric_string_output.py +2 -2
  613. vellum/client/types/test_suite_run_progress.py +2 -2
  614. vellum/client/types/test_suite_run_prompt_sandbox_exec_config_data_request.py +3 -3
  615. vellum/client/types/test_suite_run_prompt_sandbox_exec_config_request.py +3 -3
  616. vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config.py +3 -3
  617. vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config_data.py +3 -3
  618. vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config_data_request.py +3 -3
  619. vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config_request.py +3 -3
  620. vellum/client/types/test_suite_run_read.py +12 -6
  621. vellum/client/types/test_suite_run_test_suite.py +2 -2
  622. vellum/client/types/test_suite_run_workflow_release_tag_exec_config.py +3 -3
  623. vellum/client/types/test_suite_run_workflow_release_tag_exec_config_data.py +3 -3
  624. vellum/client/types/test_suite_run_workflow_release_tag_exec_config_data_request.py +3 -3
  625. vellum/client/types/test_suite_run_workflow_release_tag_exec_config_request.py +3 -3
  626. vellum/client/types/test_suite_run_workflow_sandbox_exec_config_data_request.py +3 -3
  627. vellum/client/types/test_suite_run_workflow_sandbox_exec_config_request.py +3 -3
  628. vellum/client/types/test_suite_run_workflow_sandbox_history_item_exec_config.py +3 -3
  629. vellum/client/types/test_suite_run_workflow_sandbox_history_item_exec_config_data.py +3 -3
  630. vellum/client/types/test_suite_run_workflow_sandbox_history_item_exec_config_data_request.py +3 -3
  631. vellum/client/types/test_suite_run_workflow_sandbox_history_item_exec_config_request.py +3 -3
  632. vellum/client/types/test_suite_test_case.py +10 -4
  633. vellum/client/types/test_suite_test_case_bulk_operation_request.py +2 -1
  634. vellum/client/types/test_suite_test_case_bulk_result.py +2 -1
  635. vellum/client/types/test_suite_test_case_create_bulk_operation_request.py +10 -4
  636. vellum/client/types/test_suite_test_case_created_bulk_result.py +3 -3
  637. vellum/client/types/test_suite_test_case_created_bulk_result_data.py +2 -2
  638. vellum/client/types/test_suite_test_case_delete_bulk_operation_data_request.py +2 -2
  639. vellum/client/types/test_suite_test_case_delete_bulk_operation_request.py +3 -3
  640. vellum/client/types/test_suite_test_case_deleted_bulk_result.py +3 -3
  641. vellum/client/types/test_suite_test_case_deleted_bulk_result_data.py +2 -2
  642. vellum/client/types/test_suite_test_case_rejected_bulk_result.py +2 -2
  643. vellum/client/types/test_suite_test_case_replace_bulk_operation_request.py +10 -4
  644. vellum/client/types/test_suite_test_case_replaced_bulk_result.py +3 -3
  645. vellum/client/types/test_suite_test_case_replaced_bulk_result_data.py +2 -2
  646. vellum/client/types/test_suite_test_case_upsert_bulk_operation_request.py +10 -4
  647. vellum/client/types/thinking_vellum_value.py +25 -0
  648. vellum/client/types/thinking_vellum_value_request.py +25 -0
  649. vellum/client/types/token_overlapping_window_chunker_config.py +2 -2
  650. vellum/client/types/token_overlapping_window_chunker_config_request.py +2 -2
  651. vellum/client/types/token_overlapping_window_chunking.py +3 -3
  652. vellum/client/types/token_overlapping_window_chunking_request.py +3 -3
  653. vellum/client/types/update_active_workspace_response.py +32 -0
  654. vellum/client/types/upload_document_response.py +3 -3
  655. vellum/client/types/uploaded_file_read.py +27 -0
  656. vellum/client/types/upsert_test_suite_test_case_request.py +9 -3
  657. vellum/client/types/variable_prompt_block.py +11 -4
  658. vellum/client/types/vellum_audio.py +5 -4
  659. vellum/client/types/vellum_audio_request.py +3 -3
  660. vellum/client/types/vellum_code_resource_definition.py +7 -2
  661. vellum/client/types/vellum_document.py +9 -4
  662. vellum/client/types/vellum_document_request.py +7 -3
  663. vellum/client/types/vellum_error.py +5 -4
  664. vellum/client/types/vellum_error_code_enum.py +6 -0
  665. vellum/client/types/vellum_error_request.py +5 -4
  666. vellum/client/types/vellum_image.py +9 -4
  667. vellum/client/types/vellum_image_request.py +7 -3
  668. vellum/client/types/vellum_node_execution_event.py +4 -3
  669. vellum/client/types/vellum_sdk_error.py +4 -3
  670. vellum/client/types/vellum_sdk_error_code_enum.py +5 -0
  671. vellum/client/types/vellum_secret.py +2 -2
  672. vellum/client/types/vellum_span.py +2 -1
  673. vellum/client/types/vellum_value.py +13 -8
  674. vellum/client/types/vellum_value_logical_condition_group_request.py +6 -6
  675. vellum/client/types/vellum_value_logical_condition_request.py +13 -7
  676. vellum/client/types/vellum_value_logical_expression_request.py +2 -1
  677. vellum/client/types/vellum_value_request.py +13 -8
  678. vellum/client/types/vellum_variable.py +13 -7
  679. vellum/client/types/vellum_variable_extensions.py +3 -2
  680. vellum/client/types/vellum_variable_type.py +3 -1
  681. vellum/client/types/vellum_video.py +25 -0
  682. vellum/client/types/vellum_video_request.py +24 -0
  683. vellum/client/types/vellum_workflow_execution_event.py +4 -3
  684. vellum/client/types/video_chat_message_content.py +25 -0
  685. vellum/client/types/video_chat_message_content_request.py +25 -0
  686. vellum/client/types/video_input.py +30 -0
  687. vellum/client/types/video_input_request.py +30 -0
  688. vellum/client/types/video_prompt_block.py +29 -0
  689. vellum/client/types/video_vellum_value.py +25 -0
  690. vellum/client/types/video_vellum_value_request.py +25 -0
  691. vellum/client/types/workflow_deployment_display_data.py +27 -0
  692. vellum/client/types/workflow_deployment_event_executions_response.py +20 -11
  693. vellum/client/types/workflow_deployment_history_item.py +10 -4
  694. vellum/client/types/workflow_deployment_parent_context.py +13 -10
  695. vellum/client/types/workflow_deployment_read.py +22 -10
  696. vellum/client/types/workflow_deployment_release.py +13 -7
  697. vellum/client/types/workflow_deployment_release_workflow_deployment.py +2 -2
  698. vellum/client/types/workflow_deployment_release_workflow_version.py +10 -4
  699. vellum/client/types/workflow_display_icon.py +24 -0
  700. vellum/client/types/workflow_error.py +1 -0
  701. vellum/client/types/workflow_event.py +37 -0
  702. vellum/client/types/workflow_event_error.py +5 -3
  703. vellum/client/types/workflow_event_execution_read.py +26 -16
  704. vellum/client/types/workflow_execution_actual.py +11 -5
  705. vellum/client/types/workflow_execution_actual_chat_history_request.py +2 -2
  706. vellum/client/types/workflow_execution_actual_json_request.py +2 -2
  707. vellum/client/types/workflow_execution_actual_string_request.py +2 -2
  708. vellum/client/types/workflow_execution_detail.py +51 -0
  709. vellum/client/types/workflow_execution_event_error_code.py +5 -0
  710. vellum/client/types/workflow_execution_fulfilled_body.py +5 -3
  711. vellum/client/types/workflow_execution_fulfilled_event.py +24 -15
  712. vellum/client/types/workflow_execution_initiated_body.py +3 -3
  713. vellum/client/types/workflow_execution_initiated_event.py +24 -15
  714. vellum/client/types/workflow_execution_node_result_event.py +10 -4
  715. vellum/client/types/workflow_execution_paused_body.py +4 -4
  716. vellum/client/types/workflow_execution_paused_event.py +24 -15
  717. vellum/client/types/workflow_execution_rejected_body.py +5 -4
  718. vellum/client/types/workflow_execution_rejected_event.py +24 -15
  719. vellum/client/types/workflow_execution_resumed_body.py +3 -3
  720. vellum/client/types/workflow_execution_resumed_event.py +24 -15
  721. vellum/client/types/workflow_execution_snapshotted_body.py +4 -3
  722. vellum/client/types/workflow_execution_snapshotted_event.py +24 -15
  723. vellum/client/types/workflow_execution_span.py +22 -11
  724. vellum/client/types/workflow_execution_span_attributes.py +3 -2
  725. vellum/client/types/workflow_execution_streaming_body.py +4 -4
  726. vellum/client/types/workflow_execution_streaming_event.py +24 -15
  727. vellum/client/types/workflow_execution_usage_calculation_error.py +3 -3
  728. vellum/client/types/workflow_execution_usage_calculation_fulfilled_body.py +22 -0
  729. vellum/client/types/workflow_execution_usage_result.py +3 -3
  730. vellum/client/types/workflow_execution_view_online_eval_metric_result.py +10 -4
  731. vellum/client/types/workflow_execution_workflow_result_event.py +10 -4
  732. vellum/client/types/workflow_expand_meta_request.py +2 -2
  733. vellum/client/types/workflow_initialization_error.py +2 -2
  734. vellum/client/types/workflow_input.py +31 -0
  735. vellum/client/types/workflow_node_result_data.py +8 -7
  736. vellum/client/types/workflow_node_result_event.py +3 -2
  737. vellum/client/types/workflow_output.py +12 -5
  738. vellum/client/types/workflow_output_array.py +12 -6
  739. vellum/client/types/workflow_output_audio.py +31 -0
  740. vellum/client/types/workflow_output_chat_history.py +3 -3
  741. vellum/client/types/workflow_output_document.py +31 -0
  742. vellum/client/types/workflow_output_error.py +3 -3
  743. vellum/client/types/workflow_output_function_call.py +3 -3
  744. vellum/client/types/workflow_output_image.py +3 -3
  745. vellum/client/types/workflow_output_json.py +3 -3
  746. vellum/client/types/workflow_output_number.py +3 -3
  747. vellum/client/types/workflow_output_search_results.py +3 -3
  748. vellum/client/types/workflow_output_string.py +3 -3
  749. vellum/client/types/workflow_output_video.py +31 -0
  750. vellum/client/types/workflow_parent_context.py +14 -11
  751. vellum/client/types/workflow_push_deployment_config_request.py +3 -2
  752. vellum/client/types/workflow_push_response.py +2 -2
  753. vellum/client/types/workflow_release_tag_read.py +4 -4
  754. vellum/client/types/workflow_release_tag_workflow_deployment_history_item.py +2 -2
  755. vellum/client/types/workflow_request_audio_input_request.py +30 -0
  756. vellum/client/types/workflow_request_chat_history_input_request.py +3 -3
  757. vellum/client/types/workflow_request_document_input_request.py +30 -0
  758. vellum/client/types/workflow_request_image_input_request.py +30 -0
  759. vellum/client/types/workflow_request_input_request.py +11 -2
  760. vellum/client/types/workflow_request_json_input_request.py +3 -3
  761. vellum/client/types/workflow_request_number_input_request.py +3 -3
  762. vellum/client/types/workflow_request_string_input_request.py +3 -3
  763. vellum/client/types/workflow_request_video_input_request.py +30 -0
  764. vellum/client/types/workflow_resolved_state.py +31 -0
  765. vellum/client/types/workflow_result_event.py +14 -8
  766. vellum/client/types/workflow_result_event_output_data.py +7 -6
  767. vellum/client/types/workflow_result_event_output_data_array.py +12 -6
  768. vellum/client/types/workflow_result_event_output_data_chat_history.py +3 -3
  769. vellum/client/types/workflow_result_event_output_data_error.py +3 -3
  770. vellum/client/types/workflow_result_event_output_data_function_call.py +3 -3
  771. vellum/client/types/workflow_result_event_output_data_json.py +3 -3
  772. vellum/client/types/workflow_result_event_output_data_number.py +3 -3
  773. vellum/client/types/workflow_result_event_output_data_search_results.py +3 -3
  774. vellum/client/types/workflow_result_event_output_data_string.py +3 -3
  775. vellum/client/types/workflow_result_event_state.py +7 -0
  776. vellum/client/types/workflow_sandbox_display_data.py +27 -0
  777. vellum/client/types/workflow_sandbox_example.py +4 -2
  778. vellum/client/types/workflow_sandbox_parent_context.py +13 -10
  779. vellum/client/types/workflow_stream_event.py +2 -1
  780. vellum/client/types/workspace_display_config.py +19 -0
  781. vellum/client/types/workspace_read.py +5 -3
  782. vellum/client/types/workspace_secret_read.py +3 -3
  783. vellum/client/utils.py +24 -0
  784. vellum/core/force_multipart.py +3 -0
  785. vellum/core/http_response.py +3 -0
  786. vellum/errors/misdirected_request_error.py +3 -0
  787. vellum/errors/too_many_requests_error.py +3 -0
  788. vellum/errors/unauthorized_error.py +3 -0
  789. vellum/evaluations/resources.py +5 -5
  790. vellum/plugins/pydantic.py +14 -3
  791. vellum/plugins/tests/__init__.py +0 -0
  792. vellum/plugins/tests/test_pydantic.py +30 -0
  793. vellum/plugins/vellum_mypy.py +31 -23
  794. vellum/prompts/__init__.py +3 -0
  795. vellum/prompts/blocks/__init__.py +3 -0
  796. vellum/prompts/blocks/compilation.py +29 -11
  797. vellum/prompts/blocks/helpers.py +31 -0
  798. vellum/prompts/blocks/tests/test_compilation.py +64 -0
  799. vellum/raw_client.py +3 -0
  800. vellum/resources/ad_hoc/raw_client.py +3 -0
  801. vellum/resources/container_images/raw_client.py +3 -0
  802. vellum/resources/deployments/raw_client.py +3 -0
  803. vellum/resources/document_indexes/raw_client.py +3 -0
  804. vellum/resources/documents/raw_client.py +3 -0
  805. vellum/resources/{release_reviews → environments}/__init__.py +1 -1
  806. vellum/resources/{release_reviews → environments}/client.py +1 -1
  807. vellum/resources/environments/raw_client.py +3 -0
  808. vellum/resources/events/__init__.py +3 -0
  809. vellum/resources/events/client.py +3 -0
  810. vellum/resources/events/raw_client.py +3 -0
  811. vellum/resources/folder_entities/raw_client.py +3 -0
  812. vellum/resources/integration_auth_configs/__init__.py +3 -0
  813. vellum/resources/integration_auth_configs/client.py +3 -0
  814. vellum/resources/integration_auth_configs/raw_client.py +3 -0
  815. vellum/resources/integration_providers/__init__.py +3 -0
  816. vellum/resources/integration_providers/client.py +3 -0
  817. vellum/resources/integration_providers/raw_client.py +3 -0
  818. vellum/resources/integrations/__init__.py +3 -0
  819. vellum/resources/integrations/client.py +3 -0
  820. vellum/resources/integrations/raw_client.py +3 -0
  821. vellum/resources/metric_definitions/raw_client.py +3 -0
  822. vellum/resources/ml_models/raw_client.py +3 -0
  823. vellum/resources/organizations/raw_client.py +3 -0
  824. vellum/resources/prompts/raw_client.py +3 -0
  825. vellum/resources/sandboxes/raw_client.py +3 -0
  826. vellum/resources/test_suite_runs/raw_client.py +3 -0
  827. vellum/resources/test_suites/raw_client.py +3 -0
  828. vellum/resources/uploaded_files/__init__.py +3 -0
  829. vellum/resources/uploaded_files/client.py +3 -0
  830. vellum/resources/uploaded_files/raw_client.py +3 -0
  831. vellum/resources/workflow_deployments/raw_client.py +3 -0
  832. vellum/resources/workflow_executions/__init__.py +3 -0
  833. vellum/resources/workflow_executions/client.py +3 -0
  834. vellum/resources/workflow_executions/raw_client.py +3 -0
  835. vellum/resources/workflow_sandboxes/raw_client.py +3 -0
  836. vellum/resources/workflows/raw_client.py +3 -0
  837. vellum/resources/workspace_secrets/raw_client.py +3 -0
  838. vellum/resources/workspaces/raw_client.py +3 -0
  839. vellum/types/api_actor_type_enum.py +3 -0
  840. vellum/types/audio_input.py +3 -0
  841. vellum/types/audio_input_request.py +3 -0
  842. vellum/types/auth_type_enum.py +3 -0
  843. vellum/types/build_status_enum.py +3 -0
  844. vellum/types/components_schemas_composio_execute_tool_request.py +3 -0
  845. vellum/types/components_schemas_composio_execute_tool_response.py +3 -0
  846. vellum/types/components_schemas_composio_integration_exec_config.py +3 -0
  847. vellum/types/components_schemas_composio_tool_definition.py +3 -0
  848. vellum/types/components_schemas_slim_composio_tool_definition.py +3 -0
  849. vellum/types/composio_execute_tool_request.py +3 -0
  850. vellum/types/composio_execute_tool_response.py +3 -0
  851. vellum/types/composio_integration_exec_config.py +3 -0
  852. vellum/types/composio_tool_definition.py +3 -0
  853. vellum/types/container_image_build_config.py +3 -0
  854. vellum/types/create_workflow_event_request.py +3 -0
  855. vellum/types/dataset_row_push_request.py +3 -0
  856. vellum/types/delimiter_chunker_config.py +3 -0
  857. vellum/types/delimiter_chunker_config_request.py +3 -0
  858. vellum/types/delimiter_chunking.py +3 -0
  859. vellum/types/delimiter_chunking_request.py +3 -0
  860. vellum/types/deprecated_prompt_request_input.py +3 -0
  861. vellum/types/document_input.py +3 -0
  862. vellum/types/document_input_request.py +3 -0
  863. vellum/types/environment_display_config.py +3 -0
  864. vellum/types/environment_read.py +3 -0
  865. vellum/types/error_detail_response.py +3 -0
  866. vellum/types/event_create_response.py +3 -0
  867. vellum/types/execute_workflow_async_response.py +3 -0
  868. vellum/types/execution_audio_vellum_value.py +3 -0
  869. vellum/types/execution_document_vellum_value.py +3 -0
  870. vellum/types/execution_image_vellum_value.py +3 -0
  871. vellum/types/execution_thinking_vellum_value.py +3 -0
  872. vellum/types/execution_video_vellum_value.py +3 -0
  873. vellum/types/external_parent_context.py +3 -0
  874. vellum/types/fast_embed_vectorizer_baai_bge_small_en_v_15.py +3 -0
  875. vellum/types/fast_embed_vectorizer_baai_bge_small_en_v_15_request.py +3 -0
  876. vellum/types/folder_entity_dataset.py +3 -0
  877. vellum/types/folder_entity_dataset_data.py +3 -0
  878. vellum/types/google_vertex_ai_vectorizer_gemini_embedding_001.py +3 -0
  879. vellum/types/google_vertex_ai_vectorizer_gemini_embedding_001_request.py +3 -0
  880. vellum/types/image_input.py +3 -0
  881. vellum/types/image_input_request.py +3 -0
  882. vellum/types/integration.py +3 -0
  883. vellum/types/integration_auth_config_integration.py +3 -0
  884. vellum/types/integration_auth_config_integration_credential.py +3 -0
  885. vellum/types/integration_credential_access_type.py +3 -0
  886. vellum/types/integration_name.py +3 -0
  887. vellum/types/integration_provider.py +3 -0
  888. vellum/types/integration_read.py +3 -0
  889. vellum/types/integration_trigger_context.py +3 -0
  890. vellum/types/named_scenario_input_audio_variable_value_request.py +3 -0
  891. vellum/types/named_scenario_input_document_variable_value_request.py +3 -0
  892. vellum/types/named_scenario_input_image_variable_value_request.py +3 -0
  893. vellum/types/named_scenario_input_video_variable_value_request.py +3 -0
  894. vellum/types/named_test_case_audio_variable_value.py +3 -0
  895. vellum/types/named_test_case_audio_variable_value_request.py +3 -0
  896. vellum/types/named_test_case_document_variable_value.py +3 -0
  897. vellum/types/named_test_case_document_variable_value_request.py +3 -0
  898. vellum/types/named_test_case_image_variable_value.py +3 -0
  899. vellum/types/named_test_case_image_variable_value_request.py +3 -0
  900. vellum/types/named_test_case_video_variable_value.py +3 -0
  901. vellum/types/named_test_case_video_variable_value_request.py +3 -0
  902. vellum/types/node_input_compiled_audio_value.py +3 -0
  903. vellum/types/node_input_compiled_document_value.py +3 -0
  904. vellum/types/node_input_compiled_image_value.py +3 -0
  905. vellum/types/node_input_compiled_video_value.py +3 -0
  906. vellum/types/node_output_compiled_thinking_value.py +3 -0
  907. vellum/types/paginated_slim_integration_auth_config_read_list.py +3 -0
  908. vellum/types/paginated_slim_integration_read_list.py +3 -0
  909. vellum/types/paginated_slim_tool_definition_list.py +3 -0
  910. vellum/types/paginated_workflow_deployment_release_list.py +3 -0
  911. vellum/types/private_vectorizer.py +3 -0
  912. vellum/types/private_vectorizer_request.py +3 -0
  913. vellum/types/prompt_request_audio_input.py +3 -0
  914. vellum/types/prompt_request_document_input.py +3 -0
  915. vellum/types/prompt_request_image_input.py +3 -0
  916. vellum/types/prompt_request_video_input.py +3 -0
  917. vellum/types/scenario_input_audio_variable_value.py +3 -0
  918. vellum/types/scenario_input_document_variable_value.py +3 -0
  919. vellum/types/scenario_input_image_variable_value.py +3 -0
  920. vellum/types/scenario_input_video_variable_value.py +3 -0
  921. vellum/types/scheduled_trigger_context.py +3 -0
  922. vellum/types/slim_composio_tool_definition.py +3 -0
  923. vellum/types/slim_integration_auth_config_read.py +3 -0
  924. vellum/types/slim_integration_read.py +3 -0
  925. vellum/types/test_case_audio_variable_value.py +3 -0
  926. vellum/types/test_case_document_variable_value.py +3 -0
  927. vellum/types/test_case_image_variable_value.py +3 -0
  928. vellum/types/test_case_video_variable_value.py +3 -0
  929. vellum/types/thinking_vellum_value.py +3 -0
  930. vellum/types/thinking_vellum_value_request.py +3 -0
  931. vellum/types/update_active_workspace_response.py +3 -0
  932. vellum/types/uploaded_file_read.py +3 -0
  933. vellum/types/vellum_video.py +3 -0
  934. vellum/types/vellum_video_request.py +3 -0
  935. vellum/types/video_chat_message_content.py +3 -0
  936. vellum/types/video_chat_message_content_request.py +3 -0
  937. vellum/types/video_input.py +3 -0
  938. vellum/types/video_input_request.py +3 -0
  939. vellum/types/video_prompt_block.py +3 -0
  940. vellum/types/video_vellum_value.py +3 -0
  941. vellum/types/video_vellum_value_request.py +3 -0
  942. vellum/types/workflow_deployment_display_data.py +3 -0
  943. vellum/types/workflow_display_icon.py +3 -0
  944. vellum/types/workflow_event.py +3 -0
  945. vellum/types/workflow_execution_detail.py +3 -0
  946. vellum/types/workflow_execution_usage_calculation_fulfilled_body.py +3 -0
  947. vellum/types/workflow_input.py +3 -0
  948. vellum/types/workflow_output_audio.py +3 -0
  949. vellum/types/workflow_output_document.py +3 -0
  950. vellum/types/workflow_output_video.py +3 -0
  951. vellum/types/workflow_request_audio_input_request.py +3 -0
  952. vellum/types/workflow_request_document_input_request.py +3 -0
  953. vellum/types/workflow_request_image_input_request.py +3 -0
  954. vellum/types/workflow_request_video_input_request.py +3 -0
  955. vellum/types/workflow_resolved_state.py +3 -0
  956. vellum/types/workflow_result_event_state.py +3 -0
  957. vellum/types/workflow_sandbox_display_data.py +3 -0
  958. vellum/types/workspace_display_config.py +3 -0
  959. vellum/utils/files/__init__.py +18 -0
  960. vellum/utils/files/constants.py +47 -0
  961. vellum/utils/files/exceptions.py +25 -0
  962. vellum/utils/files/extensions.py +59 -0
  963. vellum/utils/files/mixin.py +109 -0
  964. vellum/utils/files/read.py +41 -0
  965. vellum/utils/files/stream.py +135 -0
  966. vellum/utils/files/tests/__init__.py +0 -0
  967. vellum/utils/files/tests/test_extensions.py +54 -0
  968. vellum/utils/files/tests/test_mixin.py +205 -0
  969. vellum/utils/files/tests/test_read.py +204 -0
  970. vellum/utils/files/tests/test_stream.py +199 -0
  971. vellum/utils/files/tests/test_upload.py +309 -0
  972. vellum/utils/files/tests/test_urls.py +252 -0
  973. vellum/utils/files/types.py +8 -0
  974. vellum/utils/files/upload.py +151 -0
  975. vellum/utils/files/urls.py +71 -0
  976. vellum/utils/json_encoder.py +95 -0
  977. vellum/utils/templating/custom_filters.py +4 -4
  978. vellum/utils/templating/render.py +4 -4
  979. vellum/utils/tests/__init__.py +0 -0
  980. vellum/utils/tests/test_json_encoder.py +92 -0
  981. vellum/utils/vellum_client.py +40 -0
  982. vellum/workflows/__init__.py +78 -0
  983. vellum/workflows/constants.py +7 -0
  984. vellum/workflows/context.py +27 -9
  985. vellum/workflows/descriptors/base.py +83 -2
  986. vellum/workflows/descriptors/exceptions.py +18 -1
  987. vellum/workflows/descriptors/tests/test_utils.py +57 -0
  988. vellum/workflows/descriptors/utils.py +27 -3
  989. vellum/workflows/edges/__init__.py +2 -0
  990. vellum/workflows/edges/trigger_edge.py +67 -0
  991. vellum/workflows/emitters/__init__.py +2 -0
  992. vellum/workflows/emitters/base.py +25 -0
  993. vellum/workflows/emitters/vellum_emitter.py +150 -0
  994. vellum/workflows/environment/__init__.py +2 -1
  995. vellum/workflows/environment/environment.py +10 -3
  996. vellum/workflows/errors/types.py +18 -1
  997. vellum/workflows/events/__init__.py +2 -0
  998. vellum/workflows/events/context.py +90 -0
  999. vellum/workflows/events/exception_handling.py +58 -0
  1000. vellum/workflows/events/node.py +27 -11
  1001. vellum/workflows/events/relational_threads.py +41 -0
  1002. vellum/workflows/events/stream.py +28 -0
  1003. vellum/workflows/events/tests/test_basic_workflow.py +50 -0
  1004. vellum/workflows/events/tests/test_event.py +145 -20
  1005. vellum/workflows/events/types.py +32 -4
  1006. vellum/workflows/events/workflow.py +111 -8
  1007. vellum/workflows/exceptions.py +46 -7
  1008. vellum/workflows/executable.py +9 -0
  1009. vellum/workflows/expressions/accessor.py +65 -11
  1010. vellum/workflows/expressions/add.py +41 -0
  1011. vellum/workflows/expressions/comparison_utils.py +38 -0
  1012. vellum/workflows/expressions/concat.py +35 -0
  1013. vellum/workflows/expressions/contains.py +7 -0
  1014. vellum/workflows/expressions/greater_than.py +8 -1
  1015. vellum/workflows/expressions/greater_than_or_equal_to.py +8 -1
  1016. vellum/workflows/expressions/is_error.py +23 -0
  1017. vellum/workflows/expressions/length.py +46 -0
  1018. vellum/workflows/expressions/less_than.py +8 -1
  1019. vellum/workflows/expressions/less_than_or_equal_to.py +8 -1
  1020. vellum/workflows/expressions/minus.py +41 -0
  1021. vellum/workflows/expressions/tests/test_accessor.py +248 -0
  1022. vellum/workflows/expressions/tests/test_add.py +72 -0
  1023. vellum/workflows/expressions/tests/test_concat.py +108 -0
  1024. vellum/workflows/expressions/tests/test_contains.py +175 -0
  1025. vellum/workflows/expressions/tests/test_expressions.py +145 -32
  1026. vellum/workflows/expressions/tests/test_length.py +38 -0
  1027. vellum/workflows/expressions/tests/test_minus.py +109 -0
  1028. vellum/workflows/graph/graph.py +255 -8
  1029. vellum/workflows/graph/tests/test_graph.py +300 -0
  1030. vellum/workflows/inputs/__init__.py +2 -0
  1031. vellum/workflows/inputs/base.py +49 -15
  1032. vellum/workflows/inputs/dataset_row.py +81 -0
  1033. vellum/workflows/inputs/tests/test_inputs.py +181 -1
  1034. vellum/workflows/integrations/__init__.py +5 -0
  1035. vellum/workflows/integrations/composio_service.py +158 -0
  1036. vellum/workflows/integrations/mcp_service.py +282 -0
  1037. vellum/workflows/integrations/tests/__init__.py +0 -0
  1038. vellum/workflows/integrations/tests/test_mcp_service.py +273 -0
  1039. vellum/workflows/integrations/tests/test_vellum_integration_service.py +299 -0
  1040. vellum/workflows/integrations/vellum_integration_service.py +136 -0
  1041. vellum/workflows/loaders/__init__.py +3 -0
  1042. vellum/workflows/loaders/base.py +36 -0
  1043. vellum/workflows/nodes/__init__.py +2 -0
  1044. vellum/workflows/nodes/bases/base.py +142 -80
  1045. vellum/workflows/nodes/bases/base_adornment_node.py +55 -1
  1046. vellum/workflows/nodes/bases/tests/test_base_node.py +50 -4
  1047. vellum/workflows/nodes/core/error_node/node.py +11 -2
  1048. vellum/workflows/nodes/core/inline_subworkflow_node/node.py +29 -3
  1049. vellum/workflows/nodes/core/inline_subworkflow_node/tests/test_node.py +35 -0
  1050. vellum/workflows/nodes/core/map_node/node.py +26 -1
  1051. vellum/workflows/nodes/core/map_node/tests/test_node.py +73 -0
  1052. vellum/workflows/nodes/core/retry_node/tests/test_node.py +2 -3
  1053. vellum/workflows/nodes/core/templating_node/node.py +7 -2
  1054. vellum/workflows/nodes/core/templating_node/tests/test_templating_node.py +194 -1
  1055. vellum/workflows/nodes/displayable/__init__.py +6 -0
  1056. vellum/workflows/nodes/displayable/api_node/node.py +10 -1
  1057. vellum/workflows/nodes/displayable/api_node/tests/test_api_node.py +113 -2
  1058. vellum/workflows/nodes/displayable/bases/api_node/node.py +70 -16
  1059. vellum/workflows/nodes/displayable/bases/api_node/tests/__init__.py +0 -0
  1060. vellum/workflows/nodes/displayable/bases/api_node/tests/test_node.py +150 -0
  1061. vellum/workflows/nodes/displayable/bases/base_prompt_node/node.py +68 -7
  1062. vellum/workflows/nodes/displayable/bases/inline_prompt_node/node.py +215 -17
  1063. vellum/workflows/nodes/displayable/bases/inline_prompt_node/tests/test_inline_prompt_node.py +352 -32
  1064. vellum/workflows/nodes/displayable/bases/prompt_deployment_node.py +73 -1
  1065. vellum/workflows/nodes/displayable/bases/search_node.py +26 -3
  1066. vellum/workflows/nodes/displayable/bases/tests/test_prompt_deployment_node.py +90 -0
  1067. vellum/workflows/nodes/displayable/bases/utils.py +82 -5
  1068. vellum/workflows/nodes/displayable/code_execution_node/node.py +35 -9
  1069. vellum/workflows/nodes/displayable/code_execution_node/tests/test_node.py +242 -13
  1070. vellum/workflows/nodes/displayable/code_execution_node/utils.py +5 -21
  1071. vellum/workflows/nodes/displayable/conditional_node/node.py +8 -4
  1072. vellum/workflows/nodes/displayable/final_output_node/node.py +80 -1
  1073. vellum/workflows/nodes/displayable/final_output_node/tests/test_node.py +96 -1
  1074. vellum/workflows/nodes/displayable/guardrail_node/node.py +13 -4
  1075. vellum/workflows/nodes/displayable/inline_prompt_node/node.py +9 -36
  1076. vellum/workflows/nodes/displayable/inline_prompt_node/tests/test_node.py +3 -0
  1077. vellum/workflows/nodes/displayable/merge_node/node.py +8 -1
  1078. vellum/workflows/nodes/displayable/note_node/node.py +8 -1
  1079. vellum/workflows/nodes/displayable/prompt_deployment_node/node.py +7 -23
  1080. vellum/workflows/nodes/displayable/search_node/node.py +15 -2
  1081. vellum/workflows/nodes/displayable/search_node/tests/test_node.py +33 -0
  1082. vellum/workflows/nodes/displayable/set_state_node/__init__.py +5 -0
  1083. vellum/workflows/nodes/displayable/set_state_node/node.py +71 -0
  1084. vellum/workflows/nodes/displayable/set_state_node/tests/__init__.py +0 -0
  1085. vellum/workflows/nodes/displayable/set_state_node/tests/test_node.py +212 -0
  1086. vellum/workflows/nodes/displayable/subworkflow_deployment_node/node.py +220 -59
  1087. vellum/workflows/nodes/displayable/subworkflow_deployment_node/tests/test_node.py +1 -1
  1088. vellum/workflows/nodes/displayable/tests/test_inline_text_prompt_node.py +4 -1
  1089. vellum/workflows/nodes/displayable/tests/test_search_node_error_handling.py +329 -0
  1090. vellum/workflows/nodes/displayable/tests/test_text_prompt_deployment_node.py +10 -15
  1091. vellum/workflows/nodes/displayable/tool_calling_node/__init__.py +3 -0
  1092. vellum/workflows/nodes/displayable/tool_calling_node/node.py +225 -0
  1093. vellum/workflows/nodes/displayable/tool_calling_node/state.py +11 -0
  1094. vellum/workflows/nodes/displayable/tool_calling_node/tests/__init__.py +0 -0
  1095. vellum/workflows/nodes/displayable/tool_calling_node/tests/test_composio_service.py +219 -0
  1096. vellum/workflows/nodes/displayable/tool_calling_node/tests/test_node.py +802 -0
  1097. vellum/workflows/nodes/displayable/tool_calling_node/tests/test_utils.py +316 -0
  1098. vellum/workflows/nodes/displayable/tool_calling_node/utils.py +633 -0
  1099. vellum/workflows/nodes/displayable/web_search_node/__init__.py +3 -0
  1100. vellum/workflows/nodes/displayable/web_search_node/node.py +136 -0
  1101. vellum/workflows/nodes/displayable/web_search_node/tests/__init__.py +0 -0
  1102. vellum/workflows/nodes/displayable/web_search_node/tests/test_node.py +246 -0
  1103. vellum/workflows/nodes/experimental/__init__.py +1 -3
  1104. vellum/workflows/nodes/mocks.py +40 -9
  1105. vellum/workflows/nodes/tests/test_mocks.py +2 -2
  1106. vellum/workflows/nodes/tests/test_utils.py +34 -5
  1107. vellum/workflows/nodes/utils.py +45 -6
  1108. vellum/workflows/outputs/base.py +53 -12
  1109. vellum/workflows/ports/node_ports.py +3 -0
  1110. vellum/workflows/ports/port.py +27 -12
  1111. vellum/workflows/ports/tests/test_port.py +45 -0
  1112. vellum/workflows/ports/utils.py +26 -6
  1113. vellum/workflows/references/__init__.py +2 -0
  1114. vellum/workflows/references/constant.py +4 -1
  1115. vellum/workflows/references/environment_variable.py +27 -9
  1116. vellum/workflows/references/output.py +4 -6
  1117. vellum/workflows/references/trigger.py +77 -0
  1118. vellum/workflows/resolvers/base.py +19 -1
  1119. vellum/workflows/resolvers/resolver.py +71 -0
  1120. vellum/workflows/resolvers/tests/test_resolver.py +168 -0
  1121. vellum/workflows/resolvers/types.py +11 -0
  1122. vellum/workflows/runner/runner.py +642 -160
  1123. vellum/workflows/sandbox.py +55 -9
  1124. vellum/workflows/state/base.py +164 -40
  1125. vellum/workflows/state/context.py +225 -6
  1126. vellum/workflows/state/delta.py +20 -0
  1127. vellum/workflows/state/encoder.py +2 -77
  1128. vellum/workflows/state/tests/test_state.py +24 -9
  1129. vellum/workflows/tests/test_dataset_row.py +190 -0
  1130. vellum/workflows/tests/test_sandbox.py +137 -0
  1131. vellum/workflows/tests/triggers/test_integration_trigger.py +156 -0
  1132. vellum/workflows/triggers/__init__.py +6 -0
  1133. vellum/workflows/triggers/base.py +391 -0
  1134. vellum/workflows/triggers/integration.py +186 -0
  1135. vellum/workflows/triggers/manual.py +37 -0
  1136. vellum/workflows/triggers/schedule.py +18 -0
  1137. vellum/workflows/triggers/tests/__init__.py +1 -0
  1138. vellum/workflows/triggers/tests/test_base_trigger_display.py +147 -0
  1139. vellum/workflows/triggers/tests/test_integration.py +155 -0
  1140. vellum/workflows/types/__init__.py +2 -1
  1141. vellum/workflows/types/code_execution_node_wrappers.py +5 -1
  1142. vellum/workflows/types/core.py +5 -0
  1143. vellum/workflows/types/definition.py +168 -2
  1144. vellum/workflows/types/generics.py +5 -0
  1145. vellum/workflows/types/tests/test_definition.py +183 -0
  1146. vellum/workflows/types/tests/test_utils.py +11 -0
  1147. vellum/workflows/types/utils.py +33 -3
  1148. vellum/workflows/utils/files.py +28 -0
  1149. vellum/workflows/utils/functions.py +244 -19
  1150. vellum/workflows/utils/hmac.py +44 -0
  1151. vellum/workflows/utils/names.py +32 -4
  1152. vellum/workflows/utils/pydantic_schema.py +38 -0
  1153. vellum/workflows/utils/tests/test_functions.py +357 -15
  1154. vellum/workflows/utils/tests/test_names.py +9 -0
  1155. vellum/workflows/utils/tests/test_vellum_variables.py +32 -2
  1156. vellum/workflows/utils/uuids.py +35 -0
  1157. vellum/workflows/utils/vellum_variables.py +131 -7
  1158. vellum/workflows/utils/zip.py +46 -0
  1159. vellum/workflows/vellum_client.py +3 -33
  1160. vellum/workflows/workflows/base.py +350 -39
  1161. vellum/workflows/workflows/event_filters.py +13 -0
  1162. vellum/workflows/workflows/tests/test_base_workflow.py +118 -6
  1163. vellum/workflows/workflows/tests/test_event_filters.py +126 -0
  1164. {vellum_ai-0.14.63.dist-info → vellum_ai-1.11.2.dist-info}/METADATA +12 -13
  1165. vellum_ai-1.11.2.dist-info/RECORD +2177 -0
  1166. vellum_ai-1.11.2.dist-info/entry_points.txt +4 -0
  1167. vellum_cli/__init__.py +34 -4
  1168. vellum_cli/config.py +5 -3
  1169. vellum_cli/image_push.py +106 -8
  1170. vellum_cli/move.py +56 -0
  1171. vellum_cli/ping.py +6 -0
  1172. vellum_cli/pull.py +48 -14
  1173. vellum_cli/push.py +103 -26
  1174. vellum_cli/tests/conftest.py +6 -0
  1175. vellum_cli/tests/test_image_push.py +190 -12
  1176. vellum_cli/tests/test_image_push_error_handling.py +258 -0
  1177. vellum_cli/tests/test_init.py +7 -24
  1178. vellum_cli/tests/test_move.py +154 -0
  1179. vellum_cli/tests/test_ping.py +15 -0
  1180. vellum_cli/tests/test_pull.py +42 -61
  1181. vellum_cli/tests/test_push.py +443 -11
  1182. vellum_ee/assets/node-definitions.json +1135 -0
  1183. vellum_ee/scripts/generate_node_definitions.py +89 -0
  1184. vellum_ee/workflows/display/base.py +29 -55
  1185. vellum_ee/workflows/display/editor/types.py +3 -0
  1186. vellum_ee/workflows/display/exceptions.py +3 -0
  1187. vellum_ee/workflows/display/nodes/base_node_display.py +164 -56
  1188. vellum_ee/workflows/display/nodes/tests/test_base_node_display.py +149 -3
  1189. vellum_ee/workflows/display/nodes/vellum/__init__.py +2 -0
  1190. vellum_ee/workflows/display/nodes/vellum/api_node.py +26 -13
  1191. vellum_ee/workflows/display/nodes/vellum/base_adornment_node.py +3 -3
  1192. vellum_ee/workflows/display/nodes/vellum/code_execution_node.py +23 -7
  1193. vellum_ee/workflows/display/nodes/vellum/conditional_node.py +18 -7
  1194. vellum_ee/workflows/display/nodes/vellum/error_node.py +2 -4
  1195. vellum_ee/workflows/display/nodes/vellum/final_output_node.py +3 -14
  1196. vellum_ee/workflows/display/nodes/vellum/function_node.py +14 -0
  1197. vellum_ee/workflows/display/nodes/vellum/guardrail_node.py +2 -5
  1198. vellum_ee/workflows/display/nodes/vellum/inline_prompt_node.py +77 -44
  1199. vellum_ee/workflows/display/nodes/vellum/inline_subworkflow_node.py +33 -10
  1200. vellum_ee/workflows/display/nodes/vellum/map_node.py +29 -15
  1201. vellum_ee/workflows/display/nodes/vellum/merge_node.py +2 -5
  1202. vellum_ee/workflows/display/nodes/vellum/note_node.py +2 -3
  1203. vellum_ee/workflows/display/nodes/vellum/prompt_deployment_node.py +13 -9
  1204. vellum_ee/workflows/display/nodes/vellum/retry_node.py +5 -6
  1205. vellum_ee/workflows/display/nodes/vellum/search_node.py +76 -19
  1206. vellum_ee/workflows/display/nodes/vellum/subworkflow_deployment_node.py +21 -10
  1207. vellum_ee/workflows/display/nodes/vellum/templating_node.py +3 -6
  1208. vellum_ee/workflows/display/nodes/vellum/tests/test_api_node.py +65 -0
  1209. vellum_ee/workflows/display/nodes/vellum/tests/test_code_execution_node.py +176 -3
  1210. vellum_ee/workflows/display/nodes/vellum/tests/test_final_output_node.py +80 -0
  1211. vellum_ee/workflows/display/nodes/vellum/tests/test_inline_subworkflow_node.py +88 -0
  1212. vellum_ee/workflows/display/nodes/vellum/tests/test_prompt_deployment_node.py +71 -1
  1213. vellum_ee/workflows/display/nodes/vellum/tests/test_prompt_node.py +115 -13
  1214. vellum_ee/workflows/display/nodes/vellum/tests/test_retry_node.py +1 -1
  1215. vellum_ee/workflows/display/nodes/vellum/tests/test_search_node.py +104 -0
  1216. vellum_ee/workflows/display/nodes/vellum/tests/test_subworkflow_deployment_node.py +1 -1
  1217. vellum_ee/workflows/display/nodes/vellum/tests/test_templating_node.py +2 -2
  1218. vellum_ee/workflows/display/nodes/vellum/tests/test_tool_calling_node.py +526 -49
  1219. vellum_ee/workflows/display/nodes/vellum/tests/test_try_node.py +2 -2
  1220. vellum_ee/workflows/display/nodes/vellum/tests/test_utils.py +8 -9
  1221. vellum_ee/workflows/display/nodes/vellum/try_node.py +5 -6
  1222. vellum_ee/workflows/display/tests/test_base_workflow_display.py +383 -9
  1223. vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/conftest.py +2 -2
  1224. vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_adornments_serialization.py +102 -39
  1225. vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_attributes_serialization.py +233 -90
  1226. vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_outputs_serialization.py +21 -17
  1227. vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_ports_serialization.py +76 -64
  1228. vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_trigger_serialization.py +69 -12
  1229. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_api_node_serialization.py +68 -46
  1230. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_code_execution_node_serialization.py +92 -80
  1231. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_conditional_node_serialization.py +193 -177
  1232. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_default_state_serialization.py +14 -14
  1233. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_error_node_serialization.py +14 -9
  1234. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_generic_node_serialization.py +28 -17
  1235. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_guardrail_node_serialization.py +20 -16
  1236. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_inline_prompt_node_serialization.py +386 -31
  1237. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_inline_subworkflow_serialization.py +59 -46
  1238. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_map_node_serialization.py +41 -32
  1239. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_merge_node_serialization.py +37 -33
  1240. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_prompt_deployment_serialization.py +73 -61
  1241. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_search_node_serialization.py +40 -36
  1242. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_set_state_node_serialization.py +86 -0
  1243. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_subworkflow_deployment_serialization.py +25 -21
  1244. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_templating_node_serialization.py +22 -18
  1245. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_terminal_node_serialization.py +13 -8
  1246. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_tool_calling_node_composio_serialization.py +87 -0
  1247. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_tool_calling_node_inline_workflow_serialization.py +313 -0
  1248. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_tool_calling_node_mcp_serialization.py +65 -0
  1249. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_tool_calling_node_parent_input.py +89 -0
  1250. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_tool_calling_node_serialization.py +57 -23
  1251. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_tool_calling_node_vellum_integration_serialization.py +68 -0
  1252. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_tool_calling_node_workflow_deployment_serialization.py +107 -0
  1253. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_try_node_serialization.py +2 -2
  1254. vellum_ee/workflows/display/tests/workflow_serialization/test_chat_message_dict_reference_serialization.py +108 -0
  1255. vellum_ee/workflows/display/tests/workflow_serialization/test_complex_terminal_node_serialization.py +15 -10
  1256. vellum_ee/workflows/display/tests/workflow_serialization/test_final_output_node_map_reference_serialization.py +88 -0
  1257. vellum_ee/workflows/display/tests/workflow_serialization/test_integration_trigger_serialization.py +306 -0
  1258. vellum_ee/workflows/display/tests/workflow_serialization/test_integration_trigger_with_entrypoint_node_id.py +88 -0
  1259. vellum_ee/workflows/display/tests/workflow_serialization/test_list_vellum_document_serialization.py +65 -0
  1260. vellum_ee/workflows/display/tests/workflow_serialization/test_manual_trigger_serialization.py +110 -0
  1261. vellum_ee/workflows/display/tests/workflow_serialization/test_map_node_with_terminal_nodes_serialization.py +62 -0
  1262. vellum_ee/workflows/display/tests/workflow_serialization/test_multi_trigger_same_node_serialization.py +99 -0
  1263. vellum_ee/workflows/display/tests/workflow_serialization/test_scheduled_trigger_serialization.py +267 -0
  1264. vellum_ee/workflows/display/tests/workflow_serialization/test_terminal_node_any_serialization.py +49 -0
  1265. vellum_ee/workflows/display/tests/workflow_serialization/test_trigger_display_from_display_class.py +153 -0
  1266. vellum_ee/workflows/display/tests/workflow_serialization/test_web_search_node_serialization.py +72 -0
  1267. vellum_ee/workflows/display/tests/workflow_serialization/test_workflow_input_parameterization_error.py +37 -0
  1268. vellum_ee/workflows/display/types.py +29 -2
  1269. vellum_ee/workflows/display/utils/auto_layout.py +130 -0
  1270. vellum_ee/workflows/display/utils/events.py +57 -0
  1271. vellum_ee/workflows/display/utils/exceptions.py +19 -0
  1272. vellum_ee/workflows/display/utils/expressions.py +231 -28
  1273. vellum_ee/workflows/display/utils/metadata.py +146 -0
  1274. vellum_ee/workflows/display/utils/registry.py +46 -0
  1275. vellum_ee/workflows/display/utils/tests/__init__.py +0 -0
  1276. vellum_ee/workflows/display/utils/tests/test_auto_layout.py +56 -0
  1277. vellum_ee/workflows/display/utils/tests/test_events.py +185 -0
  1278. vellum_ee/workflows/display/utils/tests/test_expressions.py +92 -0
  1279. vellum_ee/workflows/display/utils/vellum.py +39 -4
  1280. vellum_ee/workflows/display/vellum.py +2 -128
  1281. vellum_ee/workflows/display/workflows/__init__.py +0 -1
  1282. vellum_ee/workflows/display/workflows/base_workflow_display.py +727 -95
  1283. vellum_ee/workflows/display/workflows/tests/test_workflow_display.py +318 -28
  1284. vellum_ee/workflows/server/virtual_file_loader.py +131 -6
  1285. vellum_ee/workflows/tests/local_workflow/display/nodes/final_output.py +1 -1
  1286. vellum_ee/workflows/tests/local_workflow/display/nodes/templating_node.py +1 -1
  1287. vellum_ee/workflows/tests/local_workflow/display/workflow.py +11 -14
  1288. vellum_ee/workflows/tests/test_display_meta.py +41 -0
  1289. vellum_ee/workflows/tests/test_registry.py +169 -0
  1290. vellum_ee/workflows/tests/test_serialize_module.py +265 -0
  1291. vellum_ee/workflows/tests/test_server.py +619 -44
  1292. vellum_ee/workflows/tests/test_virtual_files.py +48 -0
  1293. vellum/client/resources/release_reviews/client.py +0 -137
  1294. vellum/workflows/nodes/experimental/openai_chat_completion_node/__init__.py +0 -5
  1295. vellum/workflows/nodes/experimental/openai_chat_completion_node/node.py +0 -266
  1296. vellum/workflows/nodes/experimental/tool_calling_node/__init__.py +0 -3
  1297. vellum/workflows/nodes/experimental/tool_calling_node/node.py +0 -135
  1298. vellum/workflows/nodes/experimental/tool_calling_node/tests/test_node.py +0 -53
  1299. vellum/workflows/nodes/experimental/tool_calling_node/utils.py +0 -259
  1300. vellum_ai-0.14.63.dist-info/RECORD +0 -1719
  1301. vellum_ai-0.14.63.dist-info/entry_points.txt +0 -3
  1302. vellum_ee/workflows/display/workflows/vellum_workflow_display.py +0 -9
  1303. /vellum/{workflows/nodes/displayable/bases/inline_prompt_node → prompts}/constants.py +0 -0
  1304. {vellum_ai-0.14.63.dist-info → vellum_ai-1.11.2.dist-info}/LICENSE +0 -0
  1305. {vellum_ai-0.14.63.dist-info → vellum_ai-1.11.2.dist-info}/WHEEL +0 -0
vellum/client/__init__.py CHANGED
@@ -1,86 +1,69 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
+ import os
3
4
  import typing
4
- from .environment import VellumEnvironment
5
+
5
6
  import httpx
6
- from .core.client_wrapper import SyncClientWrapper
7
- from .resources.ad_hoc.client import AdHocClient
8
- from .resources.container_images.client import ContainerImagesClient
9
- from .resources.deployments.client import DeploymentsClient
10
- from .resources.document_indexes.client import DocumentIndexesClient
11
- from .resources.documents.client import DocumentsClient
12
- from .resources.folder_entities.client import FolderEntitiesClient
13
- from .resources.metric_definitions.client import MetricDefinitionsClient
14
- from .resources.ml_models.client import MlModelsClient
15
- from .resources.organizations.client import OrganizationsClient
16
- from .resources.prompts.client import PromptsClient
17
- from .resources.sandboxes.client import SandboxesClient
18
- from .resources.test_suite_runs.client import TestSuiteRunsClient
19
- from .resources.test_suites.client import TestSuitesClient
20
- from .resources.workflow_deployments.client import WorkflowDeploymentsClient
21
- from .resources.release_reviews.client import ReleaseReviewsClient
22
- from .resources.workflow_sandboxes.client import WorkflowSandboxesClient
23
- from .resources.workflows.client import WorkflowsClient
24
- from .resources.workspace_secrets.client import WorkspaceSecretsClient
25
- from .resources.workspaces.client import WorkspacesClient
26
- from .types.method_enum import MethodEnum
27
- from .types.execute_api_request_body import ExecuteApiRequestBody
28
- from .types.execute_api_request_headers_value import ExecuteApiRequestHeadersValue
29
- from .types.execute_api_request_bearer_token import ExecuteApiRequestBearerToken
30
- from .core.request_options import RequestOptions
31
- from .types.execute_api_response import ExecuteApiResponse
32
- from .core.serialization import convert_and_respect_annotation_metadata
33
- from .core.pydantic_utilities import parse_obj_as
34
- from json.decoder import JSONDecodeError
35
7
  from .core.api_error import ApiError
8
+ from .core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
9
+ from .core.request_options import RequestOptions
10
+ from .environment import VellumEnvironment
11
+ from .raw_client import AsyncRawVellum, RawVellum
12
+ from .resources.ad_hoc.client import AdHocClient, AsyncAdHocClient
13
+ from .resources.container_images.client import AsyncContainerImagesClient, ContainerImagesClient
14
+ from .resources.deployments.client import AsyncDeploymentsClient, DeploymentsClient
15
+ from .resources.document_indexes.client import AsyncDocumentIndexesClient, DocumentIndexesClient
16
+ from .resources.documents.client import AsyncDocumentsClient, DocumentsClient
17
+ from .resources.environments.client import AsyncEnvironmentsClient, EnvironmentsClient
18
+ from .resources.events.client import AsyncEventsClient, EventsClient
19
+ from .resources.folder_entities.client import AsyncFolderEntitiesClient, FolderEntitiesClient
20
+ from .resources.integration_auth_configs.client import AsyncIntegrationAuthConfigsClient, IntegrationAuthConfigsClient
21
+ from .resources.integration_providers.client import AsyncIntegrationProvidersClient, IntegrationProvidersClient
22
+ from .resources.integrations.client import AsyncIntegrationsClient, IntegrationsClient
23
+ from .resources.metric_definitions.client import AsyncMetricDefinitionsClient, MetricDefinitionsClient
24
+ from .resources.ml_models.client import AsyncMlModelsClient, MlModelsClient
25
+ from .resources.organizations.client import AsyncOrganizationsClient, OrganizationsClient
26
+ from .resources.prompts.client import AsyncPromptsClient, PromptsClient
27
+ from .resources.sandboxes.client import AsyncSandboxesClient, SandboxesClient
28
+ from .resources.test_suite_runs.client import AsyncTestSuiteRunsClient, TestSuiteRunsClient
29
+ from .resources.test_suites.client import AsyncTestSuitesClient, TestSuitesClient
30
+ from .resources.uploaded_files.client import AsyncUploadedFilesClient, UploadedFilesClient
31
+ from .resources.workflow_deployments.client import AsyncWorkflowDeploymentsClient, WorkflowDeploymentsClient
32
+ from .resources.workflow_executions.client import AsyncWorkflowExecutionsClient, WorkflowExecutionsClient
33
+ from .resources.workflow_sandboxes.client import AsyncWorkflowSandboxesClient, WorkflowSandboxesClient
34
+ from .resources.workflows.client import AsyncWorkflowsClient, WorkflowsClient
35
+ from .resources.workspace_secrets.client import AsyncWorkspaceSecretsClient, WorkspaceSecretsClient
36
+ from .resources.workspaces.client import AsyncWorkspacesClient, WorkspacesClient
37
+ from .types.api_version_enum import ApiVersionEnum
38
+ from .types.code_execution_package import CodeExecutionPackage
36
39
  from .types.code_execution_runtime import CodeExecutionRuntime
37
40
  from .types.code_executor_input import CodeExecutorInput
38
- from .types.code_execution_package import CodeExecutionPackage
39
- from .types.vellum_variable_type import VellumVariableType
40
41
  from .types.code_executor_response import CodeExecutorResponse
41
- from .errors.bad_request_error import BadRequestError
42
- from .types.prompt_deployment_input_request import PromptDeploymentInputRequest
43
- from .types.prompt_deployment_expand_meta_request import PromptDeploymentExpandMetaRequest
44
- from .types.raw_prompt_execution_overrides_request import RawPromptExecutionOverridesRequest
45
- from .types.execute_prompt_response import ExecutePromptResponse
46
- from .errors.forbidden_error import ForbiddenError
47
- from .errors.not_found_error import NotFoundError
48
- from .errors.internal_server_error import InternalServerError
42
+ from .types.execute_api_request_bearer_token import ExecuteApiRequestBearerToken
43
+ from .types.execute_api_request_body import ExecuteApiRequestBody
44
+ from .types.execute_api_request_headers_value import ExecuteApiRequestHeadersValue
45
+ from .types.execute_api_response import ExecuteApiResponse
49
46
  from .types.execute_prompt_event import ExecutePromptEvent
50
- import json
51
- from .types.workflow_request_input_request import WorkflowRequestInputRequest
52
- from .types.workflow_expand_meta_request import WorkflowExpandMetaRequest
47
+ from .types.execute_prompt_response import ExecutePromptResponse
48
+ from .types.execute_workflow_async_response import ExecuteWorkflowAsyncResponse
53
49
  from .types.execute_workflow_response import ExecuteWorkflowResponse
54
- from .types.workflow_execution_event_type import WorkflowExecutionEventType
55
- from .types.workflow_stream_event import WorkflowStreamEvent
56
- from .types.generate_request import GenerateRequest
57
50
  from .types.generate_options_request import GenerateOptionsRequest
51
+ from .types.generate_request import GenerateRequest
58
52
  from .types.generate_response import GenerateResponse
59
53
  from .types.generate_stream_response import GenerateStreamResponse
54
+ from .types.method_enum import MethodEnum
55
+ from .types.prompt_deployment_expand_meta_request import PromptDeploymentExpandMetaRequest
56
+ from .types.prompt_deployment_input_request import PromptDeploymentInputRequest
57
+ from .types.raw_prompt_execution_overrides_request import RawPromptExecutionOverridesRequest
60
58
  from .types.search_request_options_request import SearchRequestOptionsRequest
61
59
  from .types.search_response import SearchResponse
62
60
  from .types.submit_completion_actual_request import SubmitCompletionActualRequest
63
61
  from .types.submit_workflow_execution_actual_request import SubmitWorkflowExecutionActualRequest
64
- from .core.client_wrapper import AsyncClientWrapper
65
- from .resources.ad_hoc.client import AsyncAdHocClient
66
- from .resources.container_images.client import AsyncContainerImagesClient
67
- from .resources.deployments.client import AsyncDeploymentsClient
68
- from .resources.document_indexes.client import AsyncDocumentIndexesClient
69
- from .resources.documents.client import AsyncDocumentsClient
70
- from .resources.folder_entities.client import AsyncFolderEntitiesClient
71
- from .resources.metric_definitions.client import AsyncMetricDefinitionsClient
72
- from .resources.ml_models.client import AsyncMlModelsClient
73
- from .resources.organizations.client import AsyncOrganizationsClient
74
- from .resources.prompts.client import AsyncPromptsClient
75
- from .resources.sandboxes.client import AsyncSandboxesClient
76
- from .resources.test_suite_runs.client import AsyncTestSuiteRunsClient
77
- from .resources.test_suites.client import AsyncTestSuitesClient
78
- from .resources.workflow_deployments.client import AsyncWorkflowDeploymentsClient
79
- from .resources.release_reviews.client import AsyncReleaseReviewsClient
80
- from .resources.workflow_sandboxes.client import AsyncWorkflowSandboxesClient
81
- from .resources.workflows.client import AsyncWorkflowsClient
82
- from .resources.workspace_secrets.client import AsyncWorkspaceSecretsClient
83
- from .resources.workspaces.client import AsyncWorkspacesClient
62
+ from .types.vellum_variable_type import VellumVariableType
63
+ from .types.workflow_execution_event_type import WorkflowExecutionEventType
64
+ from .types.workflow_expand_meta_request import WorkflowExpandMetaRequest
65
+ from .types.workflow_request_input_request import WorkflowRequestInputRequest
66
+ from .types.workflow_stream_event import WorkflowStreamEvent
84
67
 
85
68
  # this is used as the default value for optional parameters
86
69
  OMIT = typing.cast(typing.Any, ...)
@@ -101,7 +84,11 @@ class Vellum:
101
84
 
102
85
 
103
86
 
87
+ api_version : typing.Optional[ApiVersionEnum]
104
88
  api_key : str
89
+ headers : typing.Optional[typing.Dict[str, str]]
90
+ Additional headers to send with every request.
91
+
105
92
  timeout : typing.Optional[float]
106
93
  The timeout to be used, in seconds, for requests. By default there is no timeout set, unless a custom httpx client is used, in which case this default is not enforced.
107
94
 
@@ -116,6 +103,7 @@ class Vellum:
116
103
  from vellum import Vellum
117
104
 
118
105
  client = Vellum(
106
+ api_version="YOUR_API_VERSION",
119
107
  api_key="YOUR_API_KEY",
120
108
  )
121
109
  """
@@ -124,15 +112,21 @@ class Vellum:
124
112
  self,
125
113
  *,
126
114
  environment: VellumEnvironment = VellumEnvironment.PRODUCTION,
115
+ api_version: typing.Optional[ApiVersionEnum] = os.getenv("VELLUM_API_VERSION", "2025-07-30"),
127
116
  api_key: str,
117
+ headers: typing.Optional[typing.Dict[str, str]] = None,
128
118
  timeout: typing.Optional[float] = None,
129
119
  follow_redirects: typing.Optional[bool] = True,
130
120
  httpx_client: typing.Optional[httpx.Client] = None,
131
121
  ):
132
- _defaulted_timeout = timeout if timeout is not None else None if httpx_client is None else None
122
+ _defaulted_timeout = (
123
+ timeout if timeout is not None else None if httpx_client is None else httpx_client.timeout.read
124
+ )
133
125
  self._client_wrapper = SyncClientWrapper(
134
126
  environment=environment,
127
+ api_version=api_version,
135
128
  api_key=api_key,
129
+ headers=headers,
136
130
  httpx_client=httpx_client
137
131
  if httpx_client is not None
138
132
  else httpx.Client(timeout=_defaulted_timeout, follow_redirects=follow_redirects)
@@ -140,12 +134,18 @@ class Vellum:
140
134
  else httpx.Client(timeout=_defaulted_timeout),
141
135
  timeout=_defaulted_timeout,
142
136
  )
137
+ self._raw_client = RawVellum(client_wrapper=self._client_wrapper)
138
+ self.integrations = IntegrationsClient(client_wrapper=self._client_wrapper)
139
+ self.events = EventsClient(client_wrapper=self._client_wrapper)
143
140
  self.ad_hoc = AdHocClient(client_wrapper=self._client_wrapper)
144
141
  self.container_images = ContainerImagesClient(client_wrapper=self._client_wrapper)
145
142
  self.deployments = DeploymentsClient(client_wrapper=self._client_wrapper)
146
143
  self.document_indexes = DocumentIndexesClient(client_wrapper=self._client_wrapper)
147
144
  self.documents = DocumentsClient(client_wrapper=self._client_wrapper)
145
+ self.environments = EnvironmentsClient(client_wrapper=self._client_wrapper)
148
146
  self.folder_entities = FolderEntitiesClient(client_wrapper=self._client_wrapper)
147
+ self.integration_auth_configs = IntegrationAuthConfigsClient(client_wrapper=self._client_wrapper)
148
+ self.integration_providers = IntegrationProvidersClient(client_wrapper=self._client_wrapper)
149
149
  self.metric_definitions = MetricDefinitionsClient(client_wrapper=self._client_wrapper)
150
150
  self.ml_models = MlModelsClient(client_wrapper=self._client_wrapper)
151
151
  self.organizations = OrganizationsClient(client_wrapper=self._client_wrapper)
@@ -153,13 +153,25 @@ class Vellum:
153
153
  self.sandboxes = SandboxesClient(client_wrapper=self._client_wrapper)
154
154
  self.test_suite_runs = TestSuiteRunsClient(client_wrapper=self._client_wrapper)
155
155
  self.test_suites = TestSuitesClient(client_wrapper=self._client_wrapper)
156
+ self.uploaded_files = UploadedFilesClient(client_wrapper=self._client_wrapper)
156
157
  self.workflow_deployments = WorkflowDeploymentsClient(client_wrapper=self._client_wrapper)
157
- self.release_reviews = ReleaseReviewsClient(client_wrapper=self._client_wrapper)
158
+ self.workflow_executions = WorkflowExecutionsClient(client_wrapper=self._client_wrapper)
158
159
  self.workflow_sandboxes = WorkflowSandboxesClient(client_wrapper=self._client_wrapper)
159
160
  self.workflows = WorkflowsClient(client_wrapper=self._client_wrapper)
160
161
  self.workspace_secrets = WorkspaceSecretsClient(client_wrapper=self._client_wrapper)
161
162
  self.workspaces = WorkspacesClient(client_wrapper=self._client_wrapper)
162
163
 
164
+ @property
165
+ def with_raw_response(self) -> RawVellum:
166
+ """
167
+ Retrieves a raw implementation of this client that returns raw responses.
168
+
169
+ Returns
170
+ -------
171
+ RawVellum
172
+ """
173
+ return self._raw_client
174
+
163
175
  def execute_api(
164
176
  self,
165
177
  *,
@@ -196,48 +208,22 @@ class Vellum:
196
208
  from vellum import Vellum
197
209
 
198
210
  client = Vellum(
211
+ api_version="YOUR_API_VERSION",
199
212
  api_key="YOUR_API_KEY",
200
213
  )
201
214
  client.execute_api(
202
- url="url",
215
+ url="x",
203
216
  )
204
217
  """
205
- _response = self._client_wrapper.httpx_client.request(
206
- "v1/execute-api",
207
- base_url=self._client_wrapper.get_environment().default,
208
- method="POST",
209
- json={
210
- "url": url,
211
- "method": method,
212
- "body": convert_and_respect_annotation_metadata(
213
- object_=body, annotation=ExecuteApiRequestBody, direction="write"
214
- ),
215
- "headers": convert_and_respect_annotation_metadata(
216
- object_=headers, annotation=typing.Dict[str, ExecuteApiRequestHeadersValue], direction="write"
217
- ),
218
- "bearer_token": convert_and_respect_annotation_metadata(
219
- object_=bearer_token, annotation=ExecuteApiRequestBearerToken, direction="write"
220
- ),
221
- },
222
- headers={
223
- "content-type": "application/json",
224
- },
218
+ _response = self._raw_client.execute_api(
219
+ url=url,
220
+ method=method,
221
+ body=body,
222
+ headers=headers,
223
+ bearer_token=bearer_token,
225
224
  request_options=request_options,
226
- omit=OMIT,
227
225
  )
228
- try:
229
- if 200 <= _response.status_code < 300:
230
- return typing.cast(
231
- ExecuteApiResponse,
232
- parse_obj_as(
233
- type_=ExecuteApiResponse, # type: ignore
234
- object_=_response.json(),
235
- ),
236
- )
237
- _response_json = _response.json()
238
- except JSONDecodeError:
239
- raise ApiError(status_code=_response.status_code, body=_response.text)
240
- raise ApiError(status_code=_response.status_code, body=_response_json)
226
+ return _response.data
241
227
 
242
228
  def execute_code(
243
229
  self,
@@ -275,70 +261,44 @@ class Vellum:
275
261
  from vellum import CodeExecutionPackage, StringInput, Vellum
276
262
 
277
263
  client = Vellum(
264
+ api_version="YOUR_API_VERSION",
278
265
  api_key="YOUR_API_KEY",
279
266
  )
280
267
  client.execute_code(
281
- code="code",
268
+ code="x",
282
269
  runtime="PYTHON_3_11_6",
283
270
  input_values=[
284
271
  StringInput(
285
- name="name",
272
+ name="x",
286
273
  value="value",
287
- )
274
+ ),
275
+ StringInput(
276
+ name="x",
277
+ value="value",
278
+ ),
288
279
  ],
289
280
  packages=[
290
281
  CodeExecutionPackage(
291
282
  version="version",
292
283
  name="name",
293
- )
284
+ ),
285
+ CodeExecutionPackage(
286
+ version="version",
287
+ name="name",
288
+ ),
294
289
  ],
295
290
  output_type="STRING",
296
291
  )
297
292
  """
298
- _response = self._client_wrapper.httpx_client.request(
299
- "v1/execute-code",
300
- base_url=self._client_wrapper.get_environment().predict,
301
- method="POST",
302
- json={
303
- "code": code,
304
- "runtime": runtime,
305
- "input_values": convert_and_respect_annotation_metadata(
306
- object_=input_values, annotation=typing.Sequence[CodeExecutorInput], direction="write"
307
- ),
308
- "packages": convert_and_respect_annotation_metadata(
309
- object_=packages, annotation=typing.Sequence[CodeExecutionPackage], direction="write"
310
- ),
311
- "output_type": output_type,
312
- },
313
- headers={
314
- "content-type": "application/json",
315
- },
293
+ _response = self._raw_client.execute_code(
294
+ code=code,
295
+ runtime=runtime,
296
+ input_values=input_values,
297
+ packages=packages,
298
+ output_type=output_type,
316
299
  request_options=request_options,
317
- omit=OMIT,
318
300
  )
319
- try:
320
- if 200 <= _response.status_code < 300:
321
- return typing.cast(
322
- CodeExecutorResponse,
323
- parse_obj_as(
324
- type_=CodeExecutorResponse, # type: ignore
325
- object_=_response.json(),
326
- ),
327
- )
328
- if _response.status_code == 400:
329
- raise BadRequestError(
330
- typing.cast(
331
- typing.Optional[typing.Any],
332
- parse_obj_as(
333
- type_=typing.Optional[typing.Any], # type: ignore
334
- object_=_response.json(),
335
- ),
336
- )
337
- )
338
- _response_json = _response.json()
339
- except JSONDecodeError:
340
- raise ApiError(status_code=_response.status_code, body=_response.text)
341
- raise ApiError(status_code=_response.status_code, body=_response_json)
301
+ return _response.data
342
302
 
343
303
  def execute_prompt(
344
304
  self,
@@ -399,97 +359,35 @@ class Vellum:
399
359
  from vellum import StringInputRequest, Vellum
400
360
 
401
361
  client = Vellum(
362
+ api_version="YOUR_API_VERSION",
402
363
  api_key="YOUR_API_KEY",
403
364
  )
404
365
  client.execute_prompt(
405
366
  inputs=[
406
367
  StringInputRequest(
407
- name="name",
368
+ name="x",
369
+ value="value",
370
+ ),
371
+ StringInputRequest(
372
+ name="x",
408
373
  value="value",
409
- )
374
+ ),
410
375
  ],
411
376
  )
412
377
  """
413
- _response = self._client_wrapper.httpx_client.request(
414
- "v1/execute-prompt",
415
- base_url=self._client_wrapper.get_environment().predict,
416
- method="POST",
417
- json={
418
- "inputs": convert_and_respect_annotation_metadata(
419
- object_=inputs, annotation=typing.Sequence[PromptDeploymentInputRequest], direction="write"
420
- ),
421
- "prompt_deployment_id": prompt_deployment_id,
422
- "prompt_deployment_name": prompt_deployment_name,
423
- "release_tag": release_tag,
424
- "external_id": external_id,
425
- "expand_meta": convert_and_respect_annotation_metadata(
426
- object_=expand_meta, annotation=PromptDeploymentExpandMetaRequest, direction="write"
427
- ),
428
- "raw_overrides": convert_and_respect_annotation_metadata(
429
- object_=raw_overrides, annotation=RawPromptExecutionOverridesRequest, direction="write"
430
- ),
431
- "expand_raw": expand_raw,
432
- "metadata": metadata,
433
- },
434
- headers={
435
- "content-type": "application/json",
436
- },
378
+ _response = self._raw_client.execute_prompt(
379
+ inputs=inputs,
380
+ prompt_deployment_id=prompt_deployment_id,
381
+ prompt_deployment_name=prompt_deployment_name,
382
+ release_tag=release_tag,
383
+ external_id=external_id,
384
+ expand_meta=expand_meta,
385
+ raw_overrides=raw_overrides,
386
+ expand_raw=expand_raw,
387
+ metadata=metadata,
437
388
  request_options=request_options,
438
- omit=OMIT,
439
389
  )
440
- try:
441
- if 200 <= _response.status_code < 300:
442
- return typing.cast(
443
- ExecutePromptResponse,
444
- parse_obj_as(
445
- type_=ExecutePromptResponse, # type: ignore
446
- object_=_response.json(),
447
- ),
448
- )
449
- if _response.status_code == 400:
450
- raise BadRequestError(
451
- typing.cast(
452
- typing.Optional[typing.Any],
453
- parse_obj_as(
454
- type_=typing.Optional[typing.Any], # type: ignore
455
- object_=_response.json(),
456
- ),
457
- )
458
- )
459
- if _response.status_code == 403:
460
- raise ForbiddenError(
461
- typing.cast(
462
- typing.Optional[typing.Any],
463
- parse_obj_as(
464
- type_=typing.Optional[typing.Any], # type: ignore
465
- object_=_response.json(),
466
- ),
467
- )
468
- )
469
- if _response.status_code == 404:
470
- raise NotFoundError(
471
- typing.cast(
472
- typing.Optional[typing.Any],
473
- parse_obj_as(
474
- type_=typing.Optional[typing.Any], # type: ignore
475
- object_=_response.json(),
476
- ),
477
- )
478
- )
479
- if _response.status_code == 500:
480
- raise InternalServerError(
481
- typing.cast(
482
- typing.Optional[typing.Any],
483
- parse_obj_as(
484
- type_=typing.Optional[typing.Any], # type: ignore
485
- object_=_response.json(),
486
- ),
487
- )
488
- )
489
- _response_json = _response.json()
490
- except JSONDecodeError:
491
- raise ApiError(status_code=_response.status_code, body=_response.text)
492
- raise ApiError(status_code=_response.status_code, body=_response_json)
390
+ return _response.data
493
391
 
494
392
  def execute_prompt_stream(
495
393
  self,
@@ -550,107 +448,37 @@ class Vellum:
550
448
  from vellum import StringInputRequest, Vellum
551
449
 
552
450
  client = Vellum(
451
+ api_version="YOUR_API_VERSION",
553
452
  api_key="YOUR_API_KEY",
554
453
  )
555
454
  response = client.execute_prompt_stream(
556
455
  inputs=[
557
456
  StringInputRequest(
558
- name="name",
457
+ name="x",
559
458
  value="value",
560
- )
459
+ ),
460
+ StringInputRequest(
461
+ name="x",
462
+ value="value",
463
+ ),
561
464
  ],
562
465
  )
563
466
  for chunk in response:
564
467
  yield chunk
565
468
  """
566
- with self._client_wrapper.httpx_client.stream(
567
- "v1/execute-prompt-stream",
568
- base_url=self._client_wrapper.get_environment().predict,
569
- method="POST",
570
- json={
571
- "inputs": convert_and_respect_annotation_metadata(
572
- object_=inputs, annotation=typing.Sequence[PromptDeploymentInputRequest], direction="write"
573
- ),
574
- "prompt_deployment_id": prompt_deployment_id,
575
- "prompt_deployment_name": prompt_deployment_name,
576
- "release_tag": release_tag,
577
- "external_id": external_id,
578
- "expand_meta": convert_and_respect_annotation_metadata(
579
- object_=expand_meta, annotation=PromptDeploymentExpandMetaRequest, direction="write"
580
- ),
581
- "raw_overrides": convert_and_respect_annotation_metadata(
582
- object_=raw_overrides, annotation=RawPromptExecutionOverridesRequest, direction="write"
583
- ),
584
- "expand_raw": expand_raw,
585
- "metadata": metadata,
586
- },
587
- headers={
588
- "content-type": "application/json",
589
- },
469
+ with self._raw_client.execute_prompt_stream(
470
+ inputs=inputs,
471
+ prompt_deployment_id=prompt_deployment_id,
472
+ prompt_deployment_name=prompt_deployment_name,
473
+ release_tag=release_tag,
474
+ external_id=external_id,
475
+ expand_meta=expand_meta,
476
+ raw_overrides=raw_overrides,
477
+ expand_raw=expand_raw,
478
+ metadata=metadata,
590
479
  request_options=request_options,
591
- omit=OMIT,
592
- ) as _response:
593
- try:
594
- if 200 <= _response.status_code < 300:
595
- for _text in _response.iter_lines():
596
- try:
597
- if len(_text) == 0:
598
- continue
599
- yield typing.cast(
600
- ExecutePromptEvent,
601
- parse_obj_as(
602
- type_=ExecutePromptEvent, # type: ignore
603
- object_=json.loads(_text),
604
- ),
605
- )
606
- except Exception:
607
- pass
608
- return
609
- _response.read()
610
- if _response.status_code == 400:
611
- raise BadRequestError(
612
- typing.cast(
613
- typing.Optional[typing.Any],
614
- parse_obj_as(
615
- type_=typing.Optional[typing.Any], # type: ignore
616
- object_=_response.json(),
617
- ),
618
- )
619
- )
620
- if _response.status_code == 403:
621
- raise ForbiddenError(
622
- typing.cast(
623
- typing.Optional[typing.Any],
624
- parse_obj_as(
625
- type_=typing.Optional[typing.Any], # type: ignore
626
- object_=_response.json(),
627
- ),
628
- )
629
- )
630
- if _response.status_code == 404:
631
- raise NotFoundError(
632
- typing.cast(
633
- typing.Optional[typing.Any],
634
- parse_obj_as(
635
- type_=typing.Optional[typing.Any], # type: ignore
636
- object_=_response.json(),
637
- ),
638
- )
639
- )
640
- if _response.status_code == 500:
641
- raise InternalServerError(
642
- typing.cast(
643
- typing.Optional[typing.Any],
644
- parse_obj_as(
645
- type_=typing.Optional[typing.Any], # type: ignore
646
- object_=_response.json(),
647
- ),
648
- )
649
- )
650
- _response_json = _response.json()
651
- except JSONDecodeError:
652
- raise ApiError(status_code=_response.status_code, body=_response.text)
653
- raise ApiError(status_code=_response.status_code, body=_response_json)
480
+ ) as r:
481
+ yield from r.data
654
482
 
655
483
  def execute_workflow(
656
484
  self,
@@ -662,6 +490,7 @@ class Vellum:
662
490
  release_tag: typing.Optional[str] = OMIT,
663
491
  external_id: typing.Optional[str] = OMIT,
664
492
  metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT,
493
+ previous_execution_id: typing.Optional[str] = OMIT,
665
494
  request_options: typing.Optional[RequestOptions] = None,
666
495
  ) -> ExecuteWorkflowResponse:
667
496
  """
@@ -690,6 +519,9 @@ class Vellum:
690
519
  metadata : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
691
520
  Arbitrary JSON metadata associated with this request. Can be used to capture additional monitoring data such as user id, session id, etc. for future analysis.
692
521
 
522
+ previous_execution_id : typing.Optional[str]
523
+ The ID of a previous Workflow Execution to reference for initial State loading.
524
+
693
525
  request_options : typing.Optional[RequestOptions]
694
526
  Request-specific configuration.
695
527
 
@@ -703,83 +535,113 @@ class Vellum:
703
535
  from vellum import Vellum, WorkflowRequestStringInputRequest
704
536
 
705
537
  client = Vellum(
538
+ api_version="YOUR_API_VERSION",
706
539
  api_key="YOUR_API_KEY",
707
540
  )
708
541
  client.execute_workflow(
709
542
  inputs=[
710
543
  WorkflowRequestStringInputRequest(
711
- name="name",
544
+ name="x",
545
+ value="value",
546
+ ),
547
+ WorkflowRequestStringInputRequest(
548
+ name="x",
712
549
  value="value",
713
- )
550
+ ),
714
551
  ],
715
552
  )
716
553
  """
717
- _response = self._client_wrapper.httpx_client.request(
718
- "v1/execute-workflow",
719
- base_url=self._client_wrapper.get_environment().predict,
720
- method="POST",
721
- json={
722
- "inputs": convert_and_respect_annotation_metadata(
723
- object_=inputs, annotation=typing.Sequence[WorkflowRequestInputRequest], direction="write"
554
+ _response = self._raw_client.execute_workflow(
555
+ inputs=inputs,
556
+ expand_meta=expand_meta,
557
+ workflow_deployment_id=workflow_deployment_id,
558
+ workflow_deployment_name=workflow_deployment_name,
559
+ release_tag=release_tag,
560
+ external_id=external_id,
561
+ metadata=metadata,
562
+ previous_execution_id=previous_execution_id,
563
+ request_options=request_options,
564
+ )
565
+ return _response.data
566
+
567
+ def execute_workflow_async(
568
+ self,
569
+ *,
570
+ inputs: typing.Sequence[WorkflowRequestInputRequest],
571
+ workflow_deployment_id: typing.Optional[str] = OMIT,
572
+ workflow_deployment_name: typing.Optional[str] = OMIT,
573
+ release_tag: typing.Optional[str] = OMIT,
574
+ external_id: typing.Optional[str] = OMIT,
575
+ previous_execution_id: typing.Optional[str] = OMIT,
576
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT,
577
+ request_options: typing.Optional[RequestOptions] = None,
578
+ ) -> ExecuteWorkflowAsyncResponse:
579
+ """
580
+ Executes a deployed Workflow asynchronously and returns the execution ID.
581
+
582
+ Parameters
583
+ ----------
584
+ inputs : typing.Sequence[WorkflowRequestInputRequest]
585
+ The list of inputs defined in the Workflow's Deployment with their corresponding values.
586
+
587
+ workflow_deployment_id : typing.Optional[str]
588
+ The ID of the Workflow Deployment. Must provide either this or workflow_deployment_name.
589
+
590
+ workflow_deployment_name : typing.Optional[str]
591
+ The name of the Workflow Deployment. Must provide either this or workflow_deployment_id.
592
+
593
+ release_tag : typing.Optional[str]
594
+ Optionally specify a release tag if you want to pin to a specific release of the Workflow Deployment
595
+
596
+ external_id : typing.Optional[str]
597
+ Optionally include a unique identifier for tracking purposes. Must be unique within a given Workspace.
598
+
599
+ previous_execution_id : typing.Optional[str]
600
+ The ID of a previous Workflow Execution to reference for initial State loading.
601
+
602
+ metadata : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
603
+ Arbitrary JSON metadata associated with this request. Can be used to capture additional monitoring data such as user id, session id, etc. for future analysis.
604
+
605
+ request_options : typing.Optional[RequestOptions]
606
+ Request-specific configuration.
607
+
608
+ Returns
609
+ -------
610
+ ExecuteWorkflowAsyncResponse
611
+
612
+
613
+ Examples
614
+ --------
615
+ from vellum import Vellum, WorkflowRequestStringInputRequest
616
+
617
+ client = Vellum(
618
+ api_version="YOUR_API_VERSION",
619
+ api_key="YOUR_API_KEY",
620
+ )
621
+ client.execute_workflow_async(
622
+ inputs=[
623
+ WorkflowRequestStringInputRequest(
624
+ name="x",
625
+ value="value",
724
626
  ),
725
- "expand_meta": convert_and_respect_annotation_metadata(
726
- object_=expand_meta, annotation=WorkflowExpandMetaRequest, direction="write"
627
+ WorkflowRequestStringInputRequest(
628
+ name="x",
629
+ value="value",
727
630
  ),
728
- "workflow_deployment_id": workflow_deployment_id,
729
- "workflow_deployment_name": workflow_deployment_name,
730
- "release_tag": release_tag,
731
- "external_id": external_id,
732
- "metadata": metadata,
733
- },
734
- headers={
735
- "content-type": "application/json",
736
- },
631
+ ],
632
+ )
633
+ """
634
+ _response = self._raw_client.execute_workflow_async(
635
+ inputs=inputs,
636
+ workflow_deployment_id=workflow_deployment_id,
637
+ workflow_deployment_name=workflow_deployment_name,
638
+ release_tag=release_tag,
639
+ external_id=external_id,
640
+ previous_execution_id=previous_execution_id,
641
+ metadata=metadata,
737
642
  request_options=request_options,
738
- omit=OMIT,
739
643
  )
740
- try:
741
- if 200 <= _response.status_code < 300:
742
- return typing.cast(
743
- ExecuteWorkflowResponse,
744
- parse_obj_as(
745
- type_=ExecuteWorkflowResponse, # type: ignore
746
- object_=_response.json(),
747
- ),
748
- )
749
- if _response.status_code == 400:
750
- raise BadRequestError(
751
- typing.cast(
752
- typing.Optional[typing.Any],
753
- parse_obj_as(
754
- type_=typing.Optional[typing.Any], # type: ignore
755
- object_=_response.json(),
756
- ),
757
- )
758
- )
759
- if _response.status_code == 404:
760
- raise NotFoundError(
761
- typing.cast(
762
- typing.Optional[typing.Any],
763
- parse_obj_as(
764
- type_=typing.Optional[typing.Any], # type: ignore
765
- object_=_response.json(),
766
- ),
767
- )
768
- )
769
- if _response.status_code == 500:
770
- raise InternalServerError(
771
- typing.cast(
772
- typing.Optional[typing.Any],
773
- parse_obj_as(
774
- type_=typing.Optional[typing.Any], # type: ignore
775
- object_=_response.json(),
776
- ),
777
- )
778
- )
779
- _response_json = _response.json()
780
- except JSONDecodeError:
781
- raise ApiError(status_code=_response.status_code, body=_response.text)
782
- raise ApiError(status_code=_response.status_code, body=_response_json)
644
+ return _response.data
783
645
 
784
646
  def execute_workflow_stream(
785
647
  self,
@@ -792,6 +654,7 @@ class Vellum:
792
654
  external_id: typing.Optional[str] = OMIT,
793
655
  event_types: typing.Optional[typing.Sequence[WorkflowExecutionEventType]] = OMIT,
794
656
  metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT,
657
+ previous_execution_id: typing.Optional[str] = OMIT,
795
658
  request_options: typing.Optional[RequestOptions] = None,
796
659
  ) -> typing.Iterator[WorkflowStreamEvent]:
797
660
  """
@@ -823,6 +686,9 @@ class Vellum:
823
686
  metadata : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
824
687
  Arbitrary JSON metadata associated with this request. Can be used to capture additional monitoring data such as user id, session id, etc. for future analysis.
825
688
 
689
+ previous_execution_id : typing.Optional[str]
690
+ The ID of a previous Workflow Execution to reference for initial State loading.
691
+
826
692
  request_options : typing.Optional[RequestOptions]
827
693
  Request-specific configuration.
828
694
 
@@ -836,94 +702,37 @@ class Vellum:
836
702
  from vellum import Vellum, WorkflowRequestStringInputRequest
837
703
 
838
704
  client = Vellum(
705
+ api_version="YOUR_API_VERSION",
839
706
  api_key="YOUR_API_KEY",
840
707
  )
841
708
  response = client.execute_workflow_stream(
842
709
  inputs=[
843
710
  WorkflowRequestStringInputRequest(
844
- name="name",
711
+ name="x",
845
712
  value="value",
846
- )
713
+ ),
714
+ WorkflowRequestStringInputRequest(
715
+ name="x",
716
+ value="value",
717
+ ),
847
718
  ],
848
719
  )
849
720
  for chunk in response:
850
721
  yield chunk
851
722
  """
852
- with self._client_wrapper.httpx_client.stream(
853
- "v1/execute-workflow-stream",
854
- base_url=self._client_wrapper.get_environment().predict,
855
- method="POST",
856
- json={
857
- "inputs": convert_and_respect_annotation_metadata(
858
- object_=inputs, annotation=typing.Sequence[WorkflowRequestInputRequest], direction="write"
859
- ),
860
- "expand_meta": convert_and_respect_annotation_metadata(
861
- object_=expand_meta, annotation=WorkflowExpandMetaRequest, direction="write"
862
- ),
863
- "workflow_deployment_id": workflow_deployment_id,
864
- "workflow_deployment_name": workflow_deployment_name,
865
- "release_tag": release_tag,
866
- "external_id": external_id,
867
- "event_types": event_types,
868
- "metadata": metadata,
869
- },
870
- headers={
871
- "content-type": "application/json",
872
- },
723
+ with self._raw_client.execute_workflow_stream(
724
+ inputs=inputs,
725
+ expand_meta=expand_meta,
726
+ workflow_deployment_id=workflow_deployment_id,
727
+ workflow_deployment_name=workflow_deployment_name,
728
+ release_tag=release_tag,
729
+ external_id=external_id,
730
+ event_types=event_types,
731
+ metadata=metadata,
732
+ previous_execution_id=previous_execution_id,
873
733
  request_options=request_options,
874
- omit=OMIT,
875
- ) as _response:
876
- try:
877
- if 200 <= _response.status_code < 300:
878
- for _text in _response.iter_lines():
879
- try:
880
- if len(_text) == 0:
881
- continue
882
- yield typing.cast(
883
- WorkflowStreamEvent,
884
- parse_obj_as(
885
- type_=WorkflowStreamEvent, # type: ignore
886
- object_=json.loads(_text),
887
- ),
888
- )
889
- except Exception:
890
- pass
891
- return
892
- _response.read()
893
- if _response.status_code == 400:
894
- raise BadRequestError(
895
- typing.cast(
896
- typing.Optional[typing.Any],
897
- parse_obj_as(
898
- type_=typing.Optional[typing.Any], # type: ignore
899
- object_=_response.json(),
900
- ),
901
- )
902
- )
903
- if _response.status_code == 404:
904
- raise NotFoundError(
905
- typing.cast(
906
- typing.Optional[typing.Any],
907
- parse_obj_as(
908
- type_=typing.Optional[typing.Any], # type: ignore
909
- object_=_response.json(),
910
- ),
911
- )
912
- )
913
- if _response.status_code == 500:
914
- raise InternalServerError(
915
- typing.cast(
916
- typing.Optional[typing.Any],
917
- parse_obj_as(
918
- type_=typing.Optional[typing.Any], # type: ignore
919
- object_=_response.json(),
920
- ),
921
- )
922
- )
923
- _response_json = _response.json()
924
- except JSONDecodeError:
925
- raise ApiError(status_code=_response.status_code, body=_response.text)
926
- raise ApiError(status_code=_response.status_code, body=_response_json)
734
+ ) as r:
735
+ yield from r.data
927
736
 
928
737
  def generate(
929
738
  self,
@@ -967,89 +776,28 @@ class Vellum:
967
776
  from vellum import GenerateRequest, Vellum
968
777
 
969
778
  client = Vellum(
779
+ api_version="YOUR_API_VERSION",
970
780
  api_key="YOUR_API_KEY",
971
781
  )
972
782
  client.generate(
973
783
  requests=[
974
784
  GenerateRequest(
975
- input_values={"key": "value"},
976
- )
785
+ input_values={"input_values": {"key": "value"}},
786
+ ),
787
+ GenerateRequest(
788
+ input_values={"input_values": {"key": "value"}},
789
+ ),
977
790
  ],
978
791
  )
979
792
  """
980
- _response = self._client_wrapper.httpx_client.request(
981
- "v1/generate",
982
- base_url=self._client_wrapper.get_environment().predict,
983
- method="POST",
984
- json={
985
- "deployment_id": deployment_id,
986
- "deployment_name": deployment_name,
987
- "requests": convert_and_respect_annotation_metadata(
988
- object_=requests, annotation=typing.Sequence[GenerateRequest], direction="write"
989
- ),
990
- "options": convert_and_respect_annotation_metadata(
991
- object_=options, annotation=GenerateOptionsRequest, direction="write"
992
- ),
993
- },
994
- headers={
995
- "content-type": "application/json",
996
- },
793
+ _response = self._raw_client.generate(
794
+ requests=requests,
795
+ deployment_id=deployment_id,
796
+ deployment_name=deployment_name,
797
+ options=options,
997
798
  request_options=request_options,
998
- omit=OMIT,
999
799
  )
1000
- try:
1001
- if 200 <= _response.status_code < 300:
1002
- return typing.cast(
1003
- GenerateResponse,
1004
- parse_obj_as(
1005
- type_=GenerateResponse, # type: ignore
1006
- object_=_response.json(),
1007
- ),
1008
- )
1009
- if _response.status_code == 400:
1010
- raise BadRequestError(
1011
- typing.cast(
1012
- typing.Optional[typing.Any],
1013
- parse_obj_as(
1014
- type_=typing.Optional[typing.Any], # type: ignore
1015
- object_=_response.json(),
1016
- ),
1017
- )
1018
- )
1019
- if _response.status_code == 403:
1020
- raise ForbiddenError(
1021
- typing.cast(
1022
- typing.Optional[typing.Any],
1023
- parse_obj_as(
1024
- type_=typing.Optional[typing.Any], # type: ignore
1025
- object_=_response.json(),
1026
- ),
1027
- )
1028
- )
1029
- if _response.status_code == 404:
1030
- raise NotFoundError(
1031
- typing.cast(
1032
- typing.Optional[typing.Any],
1033
- parse_obj_as(
1034
- type_=typing.Optional[typing.Any], # type: ignore
1035
- object_=_response.json(),
1036
- ),
1037
- )
1038
- )
1039
- if _response.status_code == 500:
1040
- raise InternalServerError(
1041
- typing.cast(
1042
- typing.Optional[typing.Any],
1043
- parse_obj_as(
1044
- type_=typing.Optional[typing.Any], # type: ignore
1045
- object_=_response.json(),
1046
- ),
1047
- )
1048
- )
1049
- _response_json = _response.json()
1050
- except JSONDecodeError:
1051
- raise ApiError(status_code=_response.status_code, body=_response.text)
1052
- raise ApiError(status_code=_response.status_code, body=_response_json)
800
+ return _response.data
1053
801
 
1054
802
  def generate_stream(
1055
803
  self,
@@ -1093,99 +841,30 @@ class Vellum:
1093
841
  from vellum import GenerateRequest, Vellum
1094
842
 
1095
843
  client = Vellum(
844
+ api_version="YOUR_API_VERSION",
1096
845
  api_key="YOUR_API_KEY",
1097
846
  )
1098
847
  response = client.generate_stream(
1099
848
  requests=[
1100
849
  GenerateRequest(
1101
- input_values={"key": "value"},
1102
- )
850
+ input_values={"input_values": {"key": "value"}},
851
+ ),
852
+ GenerateRequest(
853
+ input_values={"input_values": {"key": "value"}},
854
+ ),
1103
855
  ],
1104
856
  )
1105
857
  for chunk in response:
1106
858
  yield chunk
1107
859
  """
1108
- with self._client_wrapper.httpx_client.stream(
1109
- "v1/generate-stream",
1110
- base_url=self._client_wrapper.get_environment().predict,
1111
- method="POST",
1112
- json={
1113
- "deployment_id": deployment_id,
1114
- "deployment_name": deployment_name,
1115
- "requests": convert_and_respect_annotation_metadata(
1116
- object_=requests, annotation=typing.Sequence[GenerateRequest], direction="write"
1117
- ),
1118
- "options": convert_and_respect_annotation_metadata(
1119
- object_=options, annotation=GenerateOptionsRequest, direction="write"
1120
- ),
1121
- },
1122
- headers={
1123
- "content-type": "application/json",
1124
- },
860
+ with self._raw_client.generate_stream(
861
+ requests=requests,
862
+ deployment_id=deployment_id,
863
+ deployment_name=deployment_name,
864
+ options=options,
1125
865
  request_options=request_options,
1126
- omit=OMIT,
1127
- ) as _response:
1128
- try:
1129
- if 200 <= _response.status_code < 300:
1130
- for _text in _response.iter_lines():
1131
- try:
1132
- if len(_text) == 0:
1133
- continue
1134
- yield typing.cast(
1135
- GenerateStreamResponse,
1136
- parse_obj_as(
1137
- type_=GenerateStreamResponse, # type: ignore
1138
- object_=json.loads(_text),
1139
- ),
1140
- )
1141
- except Exception:
1142
- pass
1143
- return
1144
- _response.read()
1145
- if _response.status_code == 400:
1146
- raise BadRequestError(
1147
- typing.cast(
1148
- typing.Optional[typing.Any],
1149
- parse_obj_as(
1150
- type_=typing.Optional[typing.Any], # type: ignore
1151
- object_=_response.json(),
1152
- ),
1153
- )
1154
- )
1155
- if _response.status_code == 403:
1156
- raise ForbiddenError(
1157
- typing.cast(
1158
- typing.Optional[typing.Any],
1159
- parse_obj_as(
1160
- type_=typing.Optional[typing.Any], # type: ignore
1161
- object_=_response.json(),
1162
- ),
1163
- )
1164
- )
1165
- if _response.status_code == 404:
1166
- raise NotFoundError(
1167
- typing.cast(
1168
- typing.Optional[typing.Any],
1169
- parse_obj_as(
1170
- type_=typing.Optional[typing.Any], # type: ignore
1171
- object_=_response.json(),
1172
- ),
1173
- )
1174
- )
1175
- if _response.status_code == 500:
1176
- raise InternalServerError(
1177
- typing.cast(
1178
- typing.Optional[typing.Any],
1179
- parse_obj_as(
1180
- type_=typing.Optional[typing.Any], # type: ignore
1181
- object_=_response.json(),
1182
- ),
1183
- )
1184
- )
1185
- _response_json = _response.json()
1186
- except JSONDecodeError:
1187
- raise ApiError(status_code=_response.status_code, body=_response.text)
1188
- raise ApiError(status_code=_response.status_code, body=_response_json)
866
+ ) as r:
867
+ yield from r.data
1189
868
 
1190
869
  def search(
1191
870
  self,
@@ -1230,74 +909,22 @@ class Vellum:
1230
909
  from vellum import Vellum
1231
910
 
1232
911
  client = Vellum(
912
+ api_version="YOUR_API_VERSION",
1233
913
  api_key="YOUR_API_KEY",
1234
914
  )
1235
915
  client.search(
1236
- query="query",
916
+ query="x",
1237
917
  )
1238
918
  """
1239
- _response = self._client_wrapper.httpx_client.request(
1240
- "v1/search",
1241
- base_url=self._client_wrapper.get_environment().predict,
1242
- method="POST",
1243
- json={
1244
- "index_id": index_id,
1245
- "index_name": index_name,
1246
- "query": query,
1247
- "options": convert_and_respect_annotation_metadata(
1248
- object_=options, annotation=SearchRequestOptionsRequest, direction="write"
1249
- ),
1250
- "document_index": document_index,
1251
- },
1252
- headers={
1253
- "content-type": "application/json",
1254
- },
919
+ _response = self._raw_client.search(
920
+ query=query,
921
+ index_id=index_id,
922
+ index_name=index_name,
923
+ options=options,
924
+ document_index=document_index,
1255
925
  request_options=request_options,
1256
- omit=OMIT,
1257
926
  )
1258
- try:
1259
- if 200 <= _response.status_code < 300:
1260
- return typing.cast(
1261
- SearchResponse,
1262
- parse_obj_as(
1263
- type_=SearchResponse, # type: ignore
1264
- object_=_response.json(),
1265
- ),
1266
- )
1267
- if _response.status_code == 400:
1268
- raise BadRequestError(
1269
- typing.cast(
1270
- typing.Optional[typing.Any],
1271
- parse_obj_as(
1272
- type_=typing.Optional[typing.Any], # type: ignore
1273
- object_=_response.json(),
1274
- ),
1275
- )
1276
- )
1277
- if _response.status_code == 404:
1278
- raise NotFoundError(
1279
- typing.cast(
1280
- typing.Optional[typing.Any],
1281
- parse_obj_as(
1282
- type_=typing.Optional[typing.Any], # type: ignore
1283
- object_=_response.json(),
1284
- ),
1285
- )
1286
- )
1287
- if _response.status_code == 500:
1288
- raise InternalServerError(
1289
- typing.cast(
1290
- typing.Optional[typing.Any],
1291
- parse_obj_as(
1292
- type_=typing.Optional[typing.Any], # type: ignore
1293
- object_=_response.json(),
1294
- ),
1295
- )
1296
- )
1297
- _response_json = _response.json()
1298
- except JSONDecodeError:
1299
- raise ApiError(status_code=_response.status_code, body=_response.text)
1300
- raise ApiError(status_code=_response.status_code, body=_response_json)
927
+ return _response.data
1301
928
 
1302
929
  def submit_completion_actuals(
1303
930
  self,
@@ -1333,66 +960,20 @@ class Vellum:
1333
960
  from vellum import SubmitCompletionActualRequest, Vellum
1334
961
 
1335
962
  client = Vellum(
963
+ api_version="YOUR_API_VERSION",
1336
964
  api_key="YOUR_API_KEY",
1337
965
  )
1338
966
  client.submit_completion_actuals(
1339
- actuals=[SubmitCompletionActualRequest()],
967
+ actuals=[SubmitCompletionActualRequest(), SubmitCompletionActualRequest()],
1340
968
  )
1341
969
  """
1342
- _response = self._client_wrapper.httpx_client.request(
1343
- "v1/submit-completion-actuals",
1344
- base_url=self._client_wrapper.get_environment().predict,
1345
- method="POST",
1346
- json={
1347
- "deployment_id": deployment_id,
1348
- "deployment_name": deployment_name,
1349
- "actuals": convert_and_respect_annotation_metadata(
1350
- object_=actuals, annotation=typing.Sequence[SubmitCompletionActualRequest], direction="write"
1351
- ),
1352
- },
1353
- headers={
1354
- "content-type": "application/json",
1355
- },
970
+ _response = self._raw_client.submit_completion_actuals(
971
+ actuals=actuals,
972
+ deployment_id=deployment_id,
973
+ deployment_name=deployment_name,
1356
974
  request_options=request_options,
1357
- omit=OMIT,
1358
975
  )
1359
- try:
1360
- if 200 <= _response.status_code < 300:
1361
- return
1362
- if _response.status_code == 400:
1363
- raise BadRequestError(
1364
- typing.cast(
1365
- typing.Optional[typing.Any],
1366
- parse_obj_as(
1367
- type_=typing.Optional[typing.Any], # type: ignore
1368
- object_=_response.json(),
1369
- ),
1370
- )
1371
- )
1372
- if _response.status_code == 404:
1373
- raise NotFoundError(
1374
- typing.cast(
1375
- typing.Optional[typing.Any],
1376
- parse_obj_as(
1377
- type_=typing.Optional[typing.Any], # type: ignore
1378
- object_=_response.json(),
1379
- ),
1380
- )
1381
- )
1382
- if _response.status_code == 500:
1383
- raise InternalServerError(
1384
- typing.cast(
1385
- typing.Optional[typing.Any],
1386
- parse_obj_as(
1387
- type_=typing.Optional[typing.Any], # type: ignore
1388
- object_=_response.json(),
1389
- ),
1390
- )
1391
- )
1392
- _response_json = _response.json()
1393
- except JSONDecodeError:
1394
- raise ApiError(status_code=_response.status_code, body=_response.text)
1395
- raise ApiError(status_code=_response.status_code, body=_response_json)
976
+ return _response.data
1396
977
 
1397
978
  def submit_workflow_execution_actuals(
1398
979
  self,
@@ -1430,36 +1011,20 @@ class Vellum:
1430
1011
  from vellum import Vellum, WorkflowExecutionActualStringRequest
1431
1012
 
1432
1013
  client = Vellum(
1014
+ api_version="YOUR_API_VERSION",
1433
1015
  api_key="YOUR_API_KEY",
1434
1016
  )
1435
1017
  client.submit_workflow_execution_actuals(
1436
- actuals=[WorkflowExecutionActualStringRequest()],
1018
+ actuals=[
1019
+ WorkflowExecutionActualStringRequest(),
1020
+ WorkflowExecutionActualStringRequest(),
1021
+ ],
1437
1022
  )
1438
1023
  """
1439
- _response = self._client_wrapper.httpx_client.request(
1440
- "v1/submit-workflow-execution-actuals",
1441
- base_url=self._client_wrapper.get_environment().predict,
1442
- method="POST",
1443
- json={
1444
- "actuals": convert_and_respect_annotation_metadata(
1445
- object_=actuals, annotation=typing.Sequence[SubmitWorkflowExecutionActualRequest], direction="write"
1446
- ),
1447
- "execution_id": execution_id,
1448
- "external_id": external_id,
1449
- },
1450
- headers={
1451
- "content-type": "application/json",
1452
- },
1453
- request_options=request_options,
1454
- omit=OMIT,
1024
+ _response = self._raw_client.submit_workflow_execution_actuals(
1025
+ actuals=actuals, execution_id=execution_id, external_id=external_id, request_options=request_options
1455
1026
  )
1456
- try:
1457
- if 200 <= _response.status_code < 300:
1458
- return
1459
- _response_json = _response.json()
1460
- except JSONDecodeError:
1461
- raise ApiError(status_code=_response.status_code, body=_response.text)
1462
- raise ApiError(status_code=_response.status_code, body=_response_json)
1027
+ return _response.data
1463
1028
 
1464
1029
 
1465
1030
  class AsyncVellum:
@@ -1477,7 +1042,11 @@ class AsyncVellum:
1477
1042
 
1478
1043
 
1479
1044
 
1045
+ api_version : typing.Optional[ApiVersionEnum]
1480
1046
  api_key : str
1047
+ headers : typing.Optional[typing.Dict[str, str]]
1048
+ Additional headers to send with every request.
1049
+
1481
1050
  timeout : typing.Optional[float]
1482
1051
  The timeout to be used, in seconds, for requests. By default there is no timeout set, unless a custom httpx client is used, in which case this default is not enforced.
1483
1052
 
@@ -1492,6 +1061,7 @@ class AsyncVellum:
1492
1061
  from vellum import AsyncVellum
1493
1062
 
1494
1063
  client = AsyncVellum(
1064
+ api_version="YOUR_API_VERSION",
1495
1065
  api_key="YOUR_API_KEY",
1496
1066
  )
1497
1067
  """
@@ -1500,15 +1070,21 @@ class AsyncVellum:
1500
1070
  self,
1501
1071
  *,
1502
1072
  environment: VellumEnvironment = VellumEnvironment.PRODUCTION,
1073
+ api_version: typing.Optional[ApiVersionEnum] = os.getenv("VELLUM_API_VERSION", "2025-07-30"),
1503
1074
  api_key: str,
1075
+ headers: typing.Optional[typing.Dict[str, str]] = None,
1504
1076
  timeout: typing.Optional[float] = None,
1505
1077
  follow_redirects: typing.Optional[bool] = True,
1506
1078
  httpx_client: typing.Optional[httpx.AsyncClient] = None,
1507
1079
  ):
1508
- _defaulted_timeout = timeout if timeout is not None else None if httpx_client is None else None
1080
+ _defaulted_timeout = (
1081
+ timeout if timeout is not None else None if httpx_client is None else httpx_client.timeout.read
1082
+ )
1509
1083
  self._client_wrapper = AsyncClientWrapper(
1510
1084
  environment=environment,
1085
+ api_version=api_version,
1511
1086
  api_key=api_key,
1087
+ headers=headers,
1512
1088
  httpx_client=httpx_client
1513
1089
  if httpx_client is not None
1514
1090
  else httpx.AsyncClient(timeout=_defaulted_timeout, follow_redirects=follow_redirects)
@@ -1516,12 +1092,18 @@ class AsyncVellum:
1516
1092
  else httpx.AsyncClient(timeout=_defaulted_timeout),
1517
1093
  timeout=_defaulted_timeout,
1518
1094
  )
1095
+ self._raw_client = AsyncRawVellum(client_wrapper=self._client_wrapper)
1096
+ self.integrations = AsyncIntegrationsClient(client_wrapper=self._client_wrapper)
1097
+ self.events = AsyncEventsClient(client_wrapper=self._client_wrapper)
1519
1098
  self.ad_hoc = AsyncAdHocClient(client_wrapper=self._client_wrapper)
1520
1099
  self.container_images = AsyncContainerImagesClient(client_wrapper=self._client_wrapper)
1521
1100
  self.deployments = AsyncDeploymentsClient(client_wrapper=self._client_wrapper)
1522
1101
  self.document_indexes = AsyncDocumentIndexesClient(client_wrapper=self._client_wrapper)
1523
1102
  self.documents = AsyncDocumentsClient(client_wrapper=self._client_wrapper)
1103
+ self.environments = AsyncEnvironmentsClient(client_wrapper=self._client_wrapper)
1524
1104
  self.folder_entities = AsyncFolderEntitiesClient(client_wrapper=self._client_wrapper)
1105
+ self.integration_auth_configs = AsyncIntegrationAuthConfigsClient(client_wrapper=self._client_wrapper)
1106
+ self.integration_providers = AsyncIntegrationProvidersClient(client_wrapper=self._client_wrapper)
1525
1107
  self.metric_definitions = AsyncMetricDefinitionsClient(client_wrapper=self._client_wrapper)
1526
1108
  self.ml_models = AsyncMlModelsClient(client_wrapper=self._client_wrapper)
1527
1109
  self.organizations = AsyncOrganizationsClient(client_wrapper=self._client_wrapper)
@@ -1529,13 +1111,25 @@ class AsyncVellum:
1529
1111
  self.sandboxes = AsyncSandboxesClient(client_wrapper=self._client_wrapper)
1530
1112
  self.test_suite_runs = AsyncTestSuiteRunsClient(client_wrapper=self._client_wrapper)
1531
1113
  self.test_suites = AsyncTestSuitesClient(client_wrapper=self._client_wrapper)
1114
+ self.uploaded_files = AsyncUploadedFilesClient(client_wrapper=self._client_wrapper)
1532
1115
  self.workflow_deployments = AsyncWorkflowDeploymentsClient(client_wrapper=self._client_wrapper)
1533
- self.release_reviews = AsyncReleaseReviewsClient(client_wrapper=self._client_wrapper)
1116
+ self.workflow_executions = AsyncWorkflowExecutionsClient(client_wrapper=self._client_wrapper)
1534
1117
  self.workflow_sandboxes = AsyncWorkflowSandboxesClient(client_wrapper=self._client_wrapper)
1535
1118
  self.workflows = AsyncWorkflowsClient(client_wrapper=self._client_wrapper)
1536
1119
  self.workspace_secrets = AsyncWorkspaceSecretsClient(client_wrapper=self._client_wrapper)
1537
1120
  self.workspaces = AsyncWorkspacesClient(client_wrapper=self._client_wrapper)
1538
1121
 
1122
+ @property
1123
+ def with_raw_response(self) -> AsyncRawVellum:
1124
+ """
1125
+ Retrieves a raw implementation of this client that returns raw responses.
1126
+
1127
+ Returns
1128
+ -------
1129
+ AsyncRawVellum
1130
+ """
1131
+ return self._raw_client
1132
+
1539
1133
  async def execute_api(
1540
1134
  self,
1541
1135
  *,
@@ -1574,54 +1168,28 @@ class AsyncVellum:
1574
1168
  from vellum import AsyncVellum
1575
1169
 
1576
1170
  client = AsyncVellum(
1171
+ api_version="YOUR_API_VERSION",
1577
1172
  api_key="YOUR_API_KEY",
1578
1173
  )
1579
1174
 
1580
1175
 
1581
1176
  async def main() -> None:
1582
1177
  await client.execute_api(
1583
- url="url",
1178
+ url="x",
1584
1179
  )
1585
1180
 
1586
1181
 
1587
1182
  asyncio.run(main())
1588
1183
  """
1589
- _response = await self._client_wrapper.httpx_client.request(
1590
- "v1/execute-api",
1591
- base_url=self._client_wrapper.get_environment().default,
1592
- method="POST",
1593
- json={
1594
- "url": url,
1595
- "method": method,
1596
- "body": convert_and_respect_annotation_metadata(
1597
- object_=body, annotation=ExecuteApiRequestBody, direction="write"
1598
- ),
1599
- "headers": convert_and_respect_annotation_metadata(
1600
- object_=headers, annotation=typing.Dict[str, ExecuteApiRequestHeadersValue], direction="write"
1601
- ),
1602
- "bearer_token": convert_and_respect_annotation_metadata(
1603
- object_=bearer_token, annotation=ExecuteApiRequestBearerToken, direction="write"
1604
- ),
1605
- },
1606
- headers={
1607
- "content-type": "application/json",
1608
- },
1184
+ _response = await self._raw_client.execute_api(
1185
+ url=url,
1186
+ method=method,
1187
+ body=body,
1188
+ headers=headers,
1189
+ bearer_token=bearer_token,
1609
1190
  request_options=request_options,
1610
- omit=OMIT,
1611
1191
  )
1612
- try:
1613
- if 200 <= _response.status_code < 300:
1614
- return typing.cast(
1615
- ExecuteApiResponse,
1616
- parse_obj_as(
1617
- type_=ExecuteApiResponse, # type: ignore
1618
- object_=_response.json(),
1619
- ),
1620
- )
1621
- _response_json = _response.json()
1622
- except JSONDecodeError:
1623
- raise ApiError(status_code=_response.status_code, body=_response.text)
1624
- raise ApiError(status_code=_response.status_code, body=_response_json)
1192
+ return _response.data
1625
1193
 
1626
1194
  async def execute_code(
1627
1195
  self,
@@ -1661,25 +1229,34 @@ class AsyncVellum:
1661
1229
  from vellum import AsyncVellum, CodeExecutionPackage, StringInput
1662
1230
 
1663
1231
  client = AsyncVellum(
1232
+ api_version="YOUR_API_VERSION",
1664
1233
  api_key="YOUR_API_KEY",
1665
1234
  )
1666
1235
 
1667
1236
 
1668
1237
  async def main() -> None:
1669
1238
  await client.execute_code(
1670
- code="code",
1239
+ code="x",
1671
1240
  runtime="PYTHON_3_11_6",
1672
1241
  input_values=[
1673
1242
  StringInput(
1674
- name="name",
1243
+ name="x",
1675
1244
  value="value",
1676
- )
1245
+ ),
1246
+ StringInput(
1247
+ name="x",
1248
+ value="value",
1249
+ ),
1677
1250
  ],
1678
1251
  packages=[
1679
1252
  CodeExecutionPackage(
1680
1253
  version="version",
1681
1254
  name="name",
1682
- )
1255
+ ),
1256
+ CodeExecutionPackage(
1257
+ version="version",
1258
+ name="name",
1259
+ ),
1683
1260
  ],
1684
1261
  output_type="STRING",
1685
1262
  )
@@ -1687,50 +1264,15 @@ class AsyncVellum:
1687
1264
 
1688
1265
  asyncio.run(main())
1689
1266
  """
1690
- _response = await self._client_wrapper.httpx_client.request(
1691
- "v1/execute-code",
1692
- base_url=self._client_wrapper.get_environment().predict,
1693
- method="POST",
1694
- json={
1695
- "code": code,
1696
- "runtime": runtime,
1697
- "input_values": convert_and_respect_annotation_metadata(
1698
- object_=input_values, annotation=typing.Sequence[CodeExecutorInput], direction="write"
1699
- ),
1700
- "packages": convert_and_respect_annotation_metadata(
1701
- object_=packages, annotation=typing.Sequence[CodeExecutionPackage], direction="write"
1702
- ),
1703
- "output_type": output_type,
1704
- },
1705
- headers={
1706
- "content-type": "application/json",
1707
- },
1267
+ _response = await self._raw_client.execute_code(
1268
+ code=code,
1269
+ runtime=runtime,
1270
+ input_values=input_values,
1271
+ packages=packages,
1272
+ output_type=output_type,
1708
1273
  request_options=request_options,
1709
- omit=OMIT,
1710
1274
  )
1711
- try:
1712
- if 200 <= _response.status_code < 300:
1713
- return typing.cast(
1714
- CodeExecutorResponse,
1715
- parse_obj_as(
1716
- type_=CodeExecutorResponse, # type: ignore
1717
- object_=_response.json(),
1718
- ),
1719
- )
1720
- if _response.status_code == 400:
1721
- raise BadRequestError(
1722
- typing.cast(
1723
- typing.Optional[typing.Any],
1724
- parse_obj_as(
1725
- type_=typing.Optional[typing.Any], # type: ignore
1726
- object_=_response.json(),
1727
- ),
1728
- )
1729
- )
1730
- _response_json = _response.json()
1731
- except JSONDecodeError:
1732
- raise ApiError(status_code=_response.status_code, body=_response.text)
1733
- raise ApiError(status_code=_response.status_code, body=_response_json)
1275
+ return _response.data
1734
1276
 
1735
1277
  async def execute_prompt(
1736
1278
  self,
@@ -1793,6 +1335,7 @@ class AsyncVellum:
1793
1335
  from vellum import AsyncVellum, StringInputRequest
1794
1336
 
1795
1337
  client = AsyncVellum(
1338
+ api_version="YOUR_API_VERSION",
1796
1339
  api_key="YOUR_API_KEY",
1797
1340
  )
1798
1341
 
@@ -1801,95 +1344,32 @@ class AsyncVellum:
1801
1344
  await client.execute_prompt(
1802
1345
  inputs=[
1803
1346
  StringInputRequest(
1804
- name="name",
1347
+ name="x",
1805
1348
  value="value",
1806
- )
1349
+ ),
1350
+ StringInputRequest(
1351
+ name="x",
1352
+ value="value",
1353
+ ),
1807
1354
  ],
1808
1355
  )
1809
1356
 
1810
1357
 
1811
1358
  asyncio.run(main())
1812
1359
  """
1813
- _response = await self._client_wrapper.httpx_client.request(
1814
- "v1/execute-prompt",
1815
- base_url=self._client_wrapper.get_environment().predict,
1816
- method="POST",
1817
- json={
1818
- "inputs": convert_and_respect_annotation_metadata(
1819
- object_=inputs, annotation=typing.Sequence[PromptDeploymentInputRequest], direction="write"
1820
- ),
1821
- "prompt_deployment_id": prompt_deployment_id,
1822
- "prompt_deployment_name": prompt_deployment_name,
1823
- "release_tag": release_tag,
1824
- "external_id": external_id,
1825
- "expand_meta": convert_and_respect_annotation_metadata(
1826
- object_=expand_meta, annotation=PromptDeploymentExpandMetaRequest, direction="write"
1827
- ),
1828
- "raw_overrides": convert_and_respect_annotation_metadata(
1829
- object_=raw_overrides, annotation=RawPromptExecutionOverridesRequest, direction="write"
1830
- ),
1831
- "expand_raw": expand_raw,
1832
- "metadata": metadata,
1833
- },
1834
- headers={
1835
- "content-type": "application/json",
1836
- },
1360
+ _response = await self._raw_client.execute_prompt(
1361
+ inputs=inputs,
1362
+ prompt_deployment_id=prompt_deployment_id,
1363
+ prompt_deployment_name=prompt_deployment_name,
1364
+ release_tag=release_tag,
1365
+ external_id=external_id,
1366
+ expand_meta=expand_meta,
1367
+ raw_overrides=raw_overrides,
1368
+ expand_raw=expand_raw,
1369
+ metadata=metadata,
1837
1370
  request_options=request_options,
1838
- omit=OMIT,
1839
1371
  )
1840
- try:
1841
- if 200 <= _response.status_code < 300:
1842
- return typing.cast(
1843
- ExecutePromptResponse,
1844
- parse_obj_as(
1845
- type_=ExecutePromptResponse, # type: ignore
1846
- object_=_response.json(),
1847
- ),
1848
- )
1849
- if _response.status_code == 400:
1850
- raise BadRequestError(
1851
- typing.cast(
1852
- typing.Optional[typing.Any],
1853
- parse_obj_as(
1854
- type_=typing.Optional[typing.Any], # type: ignore
1855
- object_=_response.json(),
1856
- ),
1857
- )
1858
- )
1859
- if _response.status_code == 403:
1860
- raise ForbiddenError(
1861
- typing.cast(
1862
- typing.Optional[typing.Any],
1863
- parse_obj_as(
1864
- type_=typing.Optional[typing.Any], # type: ignore
1865
- object_=_response.json(),
1866
- ),
1867
- )
1868
- )
1869
- if _response.status_code == 404:
1870
- raise NotFoundError(
1871
- typing.cast(
1872
- typing.Optional[typing.Any],
1873
- parse_obj_as(
1874
- type_=typing.Optional[typing.Any], # type: ignore
1875
- object_=_response.json(),
1876
- ),
1877
- )
1878
- )
1879
- if _response.status_code == 500:
1880
- raise InternalServerError(
1881
- typing.cast(
1882
- typing.Optional[typing.Any],
1883
- parse_obj_as(
1884
- type_=typing.Optional[typing.Any], # type: ignore
1885
- object_=_response.json(),
1886
- ),
1887
- )
1888
- )
1889
- _response_json = _response.json()
1890
- except JSONDecodeError:
1891
- raise ApiError(status_code=_response.status_code, body=_response.text)
1892
- raise ApiError(status_code=_response.status_code, body=_response_json)
1372
+ return _response.data
1893
1373
 
1894
1374
  async def execute_prompt_stream(
1895
1375
  self,
@@ -1952,6 +1432,7 @@ class AsyncVellum:
1952
1432
  from vellum import AsyncVellum, StringInputRequest
1953
1433
 
1954
1434
  client = AsyncVellum(
1435
+ api_version="YOUR_API_VERSION",
1955
1436
  api_key="YOUR_API_KEY",
1956
1437
  )
1957
1438
 
@@ -1960,9 +1441,13 @@ class AsyncVellum:
1960
1441
  response = await client.execute_prompt_stream(
1961
1442
  inputs=[
1962
1443
  StringInputRequest(
1963
- name="name",
1444
+ name="x",
1445
+ value="value",
1446
+ ),
1447
+ StringInputRequest(
1448
+ name="x",
1964
1449
  value="value",
1965
- )
1450
+ ),
1966
1451
  ],
1967
1452
  )
1968
1453
  async for chunk in response:
@@ -1971,94 +1456,20 @@ class AsyncVellum:
1971
1456
 
1972
1457
  asyncio.run(main())
1973
1458
  """
1974
- async with self._client_wrapper.httpx_client.stream(
1975
- "v1/execute-prompt-stream",
1976
- base_url=self._client_wrapper.get_environment().predict,
1977
- method="POST",
1978
- json={
1979
- "inputs": convert_and_respect_annotation_metadata(
1980
- object_=inputs, annotation=typing.Sequence[PromptDeploymentInputRequest], direction="write"
1981
- ),
1982
- "prompt_deployment_id": prompt_deployment_id,
1983
- "prompt_deployment_name": prompt_deployment_name,
1984
- "release_tag": release_tag,
1985
- "external_id": external_id,
1986
- "expand_meta": convert_and_respect_annotation_metadata(
1987
- object_=expand_meta, annotation=PromptDeploymentExpandMetaRequest, direction="write"
1988
- ),
1989
- "raw_overrides": convert_and_respect_annotation_metadata(
1990
- object_=raw_overrides, annotation=RawPromptExecutionOverridesRequest, direction="write"
1991
- ),
1992
- "expand_raw": expand_raw,
1993
- "metadata": metadata,
1994
- },
1995
- headers={
1996
- "content-type": "application/json",
1997
- },
1459
+ async with self._raw_client.execute_prompt_stream(
1460
+ inputs=inputs,
1461
+ prompt_deployment_id=prompt_deployment_id,
1462
+ prompt_deployment_name=prompt_deployment_name,
1463
+ release_tag=release_tag,
1464
+ external_id=external_id,
1465
+ expand_meta=expand_meta,
1466
+ raw_overrides=raw_overrides,
1467
+ expand_raw=expand_raw,
1468
+ metadata=metadata,
1998
1469
  request_options=request_options,
1999
- omit=OMIT,
2000
- ) as _response:
2001
- try:
2002
- if 200 <= _response.status_code < 300:
2003
- async for _text in _response.aiter_lines():
2004
- try:
2005
- if len(_text) == 0:
2006
- continue
2007
- yield typing.cast(
2008
- ExecutePromptEvent,
2009
- parse_obj_as(
2010
- type_=ExecutePromptEvent, # type: ignore
2011
- object_=json.loads(_text),
2012
- ),
2013
- )
2014
- except Exception:
2015
- pass
2016
- return
2017
- await _response.aread()
2018
- if _response.status_code == 400:
2019
- raise BadRequestError(
2020
- typing.cast(
2021
- typing.Optional[typing.Any],
2022
- parse_obj_as(
2023
- type_=typing.Optional[typing.Any], # type: ignore
2024
- object_=_response.json(),
2025
- ),
2026
- )
2027
- )
2028
- if _response.status_code == 403:
2029
- raise ForbiddenError(
2030
- typing.cast(
2031
- typing.Optional[typing.Any],
2032
- parse_obj_as(
2033
- type_=typing.Optional[typing.Any], # type: ignore
2034
- object_=_response.json(),
2035
- ),
2036
- )
2037
- )
2038
- if _response.status_code == 404:
2039
- raise NotFoundError(
2040
- typing.cast(
2041
- typing.Optional[typing.Any],
2042
- parse_obj_as(
2043
- type_=typing.Optional[typing.Any], # type: ignore
2044
- object_=_response.json(),
2045
- ),
2046
- )
2047
- )
2048
- if _response.status_code == 500:
2049
- raise InternalServerError(
2050
- typing.cast(
2051
- typing.Optional[typing.Any],
2052
- parse_obj_as(
2053
- type_=typing.Optional[typing.Any], # type: ignore
2054
- object_=_response.json(),
2055
- ),
2056
- )
2057
- )
2058
- _response_json = _response.json()
2059
- except JSONDecodeError:
2060
- raise ApiError(status_code=_response.status_code, body=_response.text)
2061
- raise ApiError(status_code=_response.status_code, body=_response_json)
1470
+ ) as r:
1471
+ async for _chunk in r.data:
1472
+ yield _chunk
2062
1473
 
2063
1474
  async def execute_workflow(
2064
1475
  self,
@@ -2070,6 +1481,7 @@ class AsyncVellum:
2070
1481
  release_tag: typing.Optional[str] = OMIT,
2071
1482
  external_id: typing.Optional[str] = OMIT,
2072
1483
  metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT,
1484
+ previous_execution_id: typing.Optional[str] = OMIT,
2073
1485
  request_options: typing.Optional[RequestOptions] = None,
2074
1486
  ) -> ExecuteWorkflowResponse:
2075
1487
  """
@@ -2098,6 +1510,9 @@ class AsyncVellum:
2098
1510
  metadata : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
2099
1511
  Arbitrary JSON metadata associated with this request. Can be used to capture additional monitoring data such as user id, session id, etc. for future analysis.
2100
1512
 
1513
+ previous_execution_id : typing.Optional[str]
1514
+ The ID of a previous Workflow Execution to reference for initial State loading.
1515
+
2101
1516
  request_options : typing.Optional[RequestOptions]
2102
1517
  Request-specific configuration.
2103
1518
 
@@ -2113,6 +1528,7 @@ class AsyncVellum:
2113
1528
  from vellum import AsyncVellum, WorkflowRequestStringInputRequest
2114
1529
 
2115
1530
  client = AsyncVellum(
1531
+ api_version="YOUR_API_VERSION",
2116
1532
  api_key="YOUR_API_KEY",
2117
1533
  )
2118
1534
 
@@ -2121,81 +1537,118 @@ class AsyncVellum:
2121
1537
  await client.execute_workflow(
2122
1538
  inputs=[
2123
1539
  WorkflowRequestStringInputRequest(
2124
- name="name",
1540
+ name="x",
2125
1541
  value="value",
2126
- )
1542
+ ),
1543
+ WorkflowRequestStringInputRequest(
1544
+ name="x",
1545
+ value="value",
1546
+ ),
2127
1547
  ],
2128
1548
  )
2129
1549
 
2130
1550
 
2131
1551
  asyncio.run(main())
2132
1552
  """
2133
- _response = await self._client_wrapper.httpx_client.request(
2134
- "v1/execute-workflow",
2135
- base_url=self._client_wrapper.get_environment().predict,
2136
- method="POST",
2137
- json={
2138
- "inputs": convert_and_respect_annotation_metadata(
2139
- object_=inputs, annotation=typing.Sequence[WorkflowRequestInputRequest], direction="write"
2140
- ),
2141
- "expand_meta": convert_and_respect_annotation_metadata(
2142
- object_=expand_meta, annotation=WorkflowExpandMetaRequest, direction="write"
2143
- ),
2144
- "workflow_deployment_id": workflow_deployment_id,
2145
- "workflow_deployment_name": workflow_deployment_name,
2146
- "release_tag": release_tag,
2147
- "external_id": external_id,
2148
- "metadata": metadata,
2149
- },
2150
- headers={
2151
- "content-type": "application/json",
2152
- },
1553
+ _response = await self._raw_client.execute_workflow(
1554
+ inputs=inputs,
1555
+ expand_meta=expand_meta,
1556
+ workflow_deployment_id=workflow_deployment_id,
1557
+ workflow_deployment_name=workflow_deployment_name,
1558
+ release_tag=release_tag,
1559
+ external_id=external_id,
1560
+ metadata=metadata,
1561
+ previous_execution_id=previous_execution_id,
2153
1562
  request_options=request_options,
2154
- omit=OMIT,
2155
1563
  )
2156
- try:
2157
- if 200 <= _response.status_code < 300:
2158
- return typing.cast(
2159
- ExecuteWorkflowResponse,
2160
- parse_obj_as(
2161
- type_=ExecuteWorkflowResponse, # type: ignore
2162
- object_=_response.json(),
1564
+ return _response.data
1565
+
1566
+ async def execute_workflow_async(
1567
+ self,
1568
+ *,
1569
+ inputs: typing.Sequence[WorkflowRequestInputRequest],
1570
+ workflow_deployment_id: typing.Optional[str] = OMIT,
1571
+ workflow_deployment_name: typing.Optional[str] = OMIT,
1572
+ release_tag: typing.Optional[str] = OMIT,
1573
+ external_id: typing.Optional[str] = OMIT,
1574
+ previous_execution_id: typing.Optional[str] = OMIT,
1575
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT,
1576
+ request_options: typing.Optional[RequestOptions] = None,
1577
+ ) -> ExecuteWorkflowAsyncResponse:
1578
+ """
1579
+ Executes a deployed Workflow asynchronously and returns the execution ID.
1580
+
1581
+ Parameters
1582
+ ----------
1583
+ inputs : typing.Sequence[WorkflowRequestInputRequest]
1584
+ The list of inputs defined in the Workflow's Deployment with their corresponding values.
1585
+
1586
+ workflow_deployment_id : typing.Optional[str]
1587
+ The ID of the Workflow Deployment. Must provide either this or workflow_deployment_name.
1588
+
1589
+ workflow_deployment_name : typing.Optional[str]
1590
+ The name of the Workflow Deployment. Must provide either this or workflow_deployment_id.
1591
+
1592
+ release_tag : typing.Optional[str]
1593
+ Optionally specify a release tag if you want to pin to a specific release of the Workflow Deployment
1594
+
1595
+ external_id : typing.Optional[str]
1596
+ Optionally include a unique identifier for tracking purposes. Must be unique within a given Workspace.
1597
+
1598
+ previous_execution_id : typing.Optional[str]
1599
+ The ID of a previous Workflow Execution to reference for initial State loading.
1600
+
1601
+ metadata : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
1602
+ Arbitrary JSON metadata associated with this request. Can be used to capture additional monitoring data such as user id, session id, etc. for future analysis.
1603
+
1604
+ request_options : typing.Optional[RequestOptions]
1605
+ Request-specific configuration.
1606
+
1607
+ Returns
1608
+ -------
1609
+ ExecuteWorkflowAsyncResponse
1610
+
1611
+
1612
+ Examples
1613
+ --------
1614
+ import asyncio
1615
+
1616
+ from vellum import AsyncVellum, WorkflowRequestStringInputRequest
1617
+
1618
+ client = AsyncVellum(
1619
+ api_version="YOUR_API_VERSION",
1620
+ api_key="YOUR_API_KEY",
1621
+ )
1622
+
1623
+
1624
+ async def main() -> None:
1625
+ await client.execute_workflow_async(
1626
+ inputs=[
1627
+ WorkflowRequestStringInputRequest(
1628
+ name="x",
1629
+ value="value",
2163
1630
  ),
2164
- )
2165
- if _response.status_code == 400:
2166
- raise BadRequestError(
2167
- typing.cast(
2168
- typing.Optional[typing.Any],
2169
- parse_obj_as(
2170
- type_=typing.Optional[typing.Any], # type: ignore
2171
- object_=_response.json(),
2172
- ),
2173
- )
2174
- )
2175
- if _response.status_code == 404:
2176
- raise NotFoundError(
2177
- typing.cast(
2178
- typing.Optional[typing.Any],
2179
- parse_obj_as(
2180
- type_=typing.Optional[typing.Any], # type: ignore
2181
- object_=_response.json(),
2182
- ),
2183
- )
2184
- )
2185
- if _response.status_code == 500:
2186
- raise InternalServerError(
2187
- typing.cast(
2188
- typing.Optional[typing.Any],
2189
- parse_obj_as(
2190
- type_=typing.Optional[typing.Any], # type: ignore
2191
- object_=_response.json(),
2192
- ),
2193
- )
2194
- )
2195
- _response_json = _response.json()
2196
- except JSONDecodeError:
2197
- raise ApiError(status_code=_response.status_code, body=_response.text)
2198
- raise ApiError(status_code=_response.status_code, body=_response_json)
1631
+ WorkflowRequestStringInputRequest(
1632
+ name="x",
1633
+ value="value",
1634
+ ),
1635
+ ],
1636
+ )
1637
+
1638
+
1639
+ asyncio.run(main())
1640
+ """
1641
+ _response = await self._raw_client.execute_workflow_async(
1642
+ inputs=inputs,
1643
+ workflow_deployment_id=workflow_deployment_id,
1644
+ workflow_deployment_name=workflow_deployment_name,
1645
+ release_tag=release_tag,
1646
+ external_id=external_id,
1647
+ previous_execution_id=previous_execution_id,
1648
+ metadata=metadata,
1649
+ request_options=request_options,
1650
+ )
1651
+ return _response.data
2199
1652
 
2200
1653
  async def execute_workflow_stream(
2201
1654
  self,
@@ -2208,6 +1661,7 @@ class AsyncVellum:
2208
1661
  external_id: typing.Optional[str] = OMIT,
2209
1662
  event_types: typing.Optional[typing.Sequence[WorkflowExecutionEventType]] = OMIT,
2210
1663
  metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT,
1664
+ previous_execution_id: typing.Optional[str] = OMIT,
2211
1665
  request_options: typing.Optional[RequestOptions] = None,
2212
1666
  ) -> typing.AsyncIterator[WorkflowStreamEvent]:
2213
1667
  """
@@ -2239,6 +1693,9 @@ class AsyncVellum:
2239
1693
  metadata : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
2240
1694
  Arbitrary JSON metadata associated with this request. Can be used to capture additional monitoring data such as user id, session id, etc. for future analysis.
2241
1695
 
1696
+ previous_execution_id : typing.Optional[str]
1697
+ The ID of a previous Workflow Execution to reference for initial State loading.
1698
+
2242
1699
  request_options : typing.Optional[RequestOptions]
2243
1700
  Request-specific configuration.
2244
1701
 
@@ -2254,6 +1711,7 @@ class AsyncVellum:
2254
1711
  from vellum import AsyncVellum, WorkflowRequestStringInputRequest
2255
1712
 
2256
1713
  client = AsyncVellum(
1714
+ api_version="YOUR_API_VERSION",
2257
1715
  api_key="YOUR_API_KEY",
2258
1716
  )
2259
1717
 
@@ -2262,9 +1720,13 @@ class AsyncVellum:
2262
1720
  response = await client.execute_workflow_stream(
2263
1721
  inputs=[
2264
1722
  WorkflowRequestStringInputRequest(
2265
- name="name",
1723
+ name="x",
2266
1724
  value="value",
2267
- )
1725
+ ),
1726
+ WorkflowRequestStringInputRequest(
1727
+ name="x",
1728
+ value="value",
1729
+ ),
2268
1730
  ],
2269
1731
  )
2270
1732
  async for chunk in response:
@@ -2273,81 +1735,20 @@ class AsyncVellum:
2273
1735
 
2274
1736
  asyncio.run(main())
2275
1737
  """
2276
- async with self._client_wrapper.httpx_client.stream(
2277
- "v1/execute-workflow-stream",
2278
- base_url=self._client_wrapper.get_environment().predict,
2279
- method="POST",
2280
- json={
2281
- "inputs": convert_and_respect_annotation_metadata(
2282
- object_=inputs, annotation=typing.Sequence[WorkflowRequestInputRequest], direction="write"
2283
- ),
2284
- "expand_meta": convert_and_respect_annotation_metadata(
2285
- object_=expand_meta, annotation=WorkflowExpandMetaRequest, direction="write"
2286
- ),
2287
- "workflow_deployment_id": workflow_deployment_id,
2288
- "workflow_deployment_name": workflow_deployment_name,
2289
- "release_tag": release_tag,
2290
- "external_id": external_id,
2291
- "event_types": event_types,
2292
- "metadata": metadata,
2293
- },
2294
- headers={
2295
- "content-type": "application/json",
2296
- },
1738
+ async with self._raw_client.execute_workflow_stream(
1739
+ inputs=inputs,
1740
+ expand_meta=expand_meta,
1741
+ workflow_deployment_id=workflow_deployment_id,
1742
+ workflow_deployment_name=workflow_deployment_name,
1743
+ release_tag=release_tag,
1744
+ external_id=external_id,
1745
+ event_types=event_types,
1746
+ metadata=metadata,
1747
+ previous_execution_id=previous_execution_id,
2297
1748
  request_options=request_options,
2298
- omit=OMIT,
2299
- ) as _response:
2300
- try:
2301
- if 200 <= _response.status_code < 300:
2302
- async for _text in _response.aiter_lines():
2303
- try:
2304
- if len(_text) == 0:
2305
- continue
2306
- yield typing.cast(
2307
- WorkflowStreamEvent,
2308
- parse_obj_as(
2309
- type_=WorkflowStreamEvent, # type: ignore
2310
- object_=json.loads(_text),
2311
- ),
2312
- )
2313
- except Exception:
2314
- pass
2315
- return
2316
- await _response.aread()
2317
- if _response.status_code == 400:
2318
- raise BadRequestError(
2319
- typing.cast(
2320
- typing.Optional[typing.Any],
2321
- parse_obj_as(
2322
- type_=typing.Optional[typing.Any], # type: ignore
2323
- object_=_response.json(),
2324
- ),
2325
- )
2326
- )
2327
- if _response.status_code == 404:
2328
- raise NotFoundError(
2329
- typing.cast(
2330
- typing.Optional[typing.Any],
2331
- parse_obj_as(
2332
- type_=typing.Optional[typing.Any], # type: ignore
2333
- object_=_response.json(),
2334
- ),
2335
- )
2336
- )
2337
- if _response.status_code == 500:
2338
- raise InternalServerError(
2339
- typing.cast(
2340
- typing.Optional[typing.Any],
2341
- parse_obj_as(
2342
- type_=typing.Optional[typing.Any], # type: ignore
2343
- object_=_response.json(),
2344
- ),
2345
- )
2346
- )
2347
- _response_json = _response.json()
2348
- except JSONDecodeError:
2349
- raise ApiError(status_code=_response.status_code, body=_response.text)
2350
- raise ApiError(status_code=_response.status_code, body=_response_json)
1749
+ ) as r:
1750
+ async for _chunk in r.data:
1751
+ yield _chunk
2351
1752
 
2352
1753
  async def generate(
2353
1754
  self,
@@ -2393,6 +1794,7 @@ class AsyncVellum:
2393
1794
  from vellum import AsyncVellum, GenerateRequest
2394
1795
 
2395
1796
  client = AsyncVellum(
1797
+ api_version="YOUR_API_VERSION",
2396
1798
  api_key="YOUR_API_KEY",
2397
1799
  )
2398
1800
 
@@ -2401,87 +1803,25 @@ class AsyncVellum:
2401
1803
  await client.generate(
2402
1804
  requests=[
2403
1805
  GenerateRequest(
2404
- input_values={"key": "value"},
2405
- )
1806
+ input_values={"input_values": {"key": "value"}},
1807
+ ),
1808
+ GenerateRequest(
1809
+ input_values={"input_values": {"key": "value"}},
1810
+ ),
2406
1811
  ],
2407
1812
  )
2408
1813
 
2409
1814
 
2410
1815
  asyncio.run(main())
2411
1816
  """
2412
- _response = await self._client_wrapper.httpx_client.request(
2413
- "v1/generate",
2414
- base_url=self._client_wrapper.get_environment().predict,
2415
- method="POST",
2416
- json={
2417
- "deployment_id": deployment_id,
2418
- "deployment_name": deployment_name,
2419
- "requests": convert_and_respect_annotation_metadata(
2420
- object_=requests, annotation=typing.Sequence[GenerateRequest], direction="write"
2421
- ),
2422
- "options": convert_and_respect_annotation_metadata(
2423
- object_=options, annotation=GenerateOptionsRequest, direction="write"
2424
- ),
2425
- },
2426
- headers={
2427
- "content-type": "application/json",
2428
- },
1817
+ _response = await self._raw_client.generate(
1818
+ requests=requests,
1819
+ deployment_id=deployment_id,
1820
+ deployment_name=deployment_name,
1821
+ options=options,
2429
1822
  request_options=request_options,
2430
- omit=OMIT,
2431
1823
  )
2432
- try:
2433
- if 200 <= _response.status_code < 300:
2434
- return typing.cast(
2435
- GenerateResponse,
2436
- parse_obj_as(
2437
- type_=GenerateResponse, # type: ignore
2438
- object_=_response.json(),
2439
- ),
2440
- )
2441
- if _response.status_code == 400:
2442
- raise BadRequestError(
2443
- typing.cast(
2444
- typing.Optional[typing.Any],
2445
- parse_obj_as(
2446
- type_=typing.Optional[typing.Any], # type: ignore
2447
- object_=_response.json(),
2448
- ),
2449
- )
2450
- )
2451
- if _response.status_code == 403:
2452
- raise ForbiddenError(
2453
- typing.cast(
2454
- typing.Optional[typing.Any],
2455
- parse_obj_as(
2456
- type_=typing.Optional[typing.Any], # type: ignore
2457
- object_=_response.json(),
2458
- ),
2459
- )
2460
- )
2461
- if _response.status_code == 404:
2462
- raise NotFoundError(
2463
- typing.cast(
2464
- typing.Optional[typing.Any],
2465
- parse_obj_as(
2466
- type_=typing.Optional[typing.Any], # type: ignore
2467
- object_=_response.json(),
2468
- ),
2469
- )
2470
- )
2471
- if _response.status_code == 500:
2472
- raise InternalServerError(
2473
- typing.cast(
2474
- typing.Optional[typing.Any],
2475
- parse_obj_as(
2476
- type_=typing.Optional[typing.Any], # type: ignore
2477
- object_=_response.json(),
2478
- ),
2479
- )
2480
- )
2481
- _response_json = _response.json()
2482
- except JSONDecodeError:
2483
- raise ApiError(status_code=_response.status_code, body=_response.text)
2484
- raise ApiError(status_code=_response.status_code, body=_response_json)
1824
+ return _response.data
2485
1825
 
2486
1826
  async def generate_stream(
2487
1827
  self,
@@ -2527,6 +1867,7 @@ class AsyncVellum:
2527
1867
  from vellum import AsyncVellum, GenerateRequest
2528
1868
 
2529
1869
  client = AsyncVellum(
1870
+ api_version="YOUR_API_VERSION",
2530
1871
  api_key="YOUR_API_KEY",
2531
1872
  )
2532
1873
 
@@ -2535,8 +1876,11 @@ class AsyncVellum:
2535
1876
  response = await client.generate_stream(
2536
1877
  requests=[
2537
1878
  GenerateRequest(
2538
- input_values={"key": "value"},
2539
- )
1879
+ input_values={"input_values": {"key": "value"}},
1880
+ ),
1881
+ GenerateRequest(
1882
+ input_values={"input_values": {"key": "value"}},
1883
+ ),
2540
1884
  ],
2541
1885
  )
2542
1886
  async for chunk in response:
@@ -2545,87 +1889,15 @@ class AsyncVellum:
2545
1889
 
2546
1890
  asyncio.run(main())
2547
1891
  """
2548
- async with self._client_wrapper.httpx_client.stream(
2549
- "v1/generate-stream",
2550
- base_url=self._client_wrapper.get_environment().predict,
2551
- method="POST",
2552
- json={
2553
- "deployment_id": deployment_id,
2554
- "deployment_name": deployment_name,
2555
- "requests": convert_and_respect_annotation_metadata(
2556
- object_=requests, annotation=typing.Sequence[GenerateRequest], direction="write"
2557
- ),
2558
- "options": convert_and_respect_annotation_metadata(
2559
- object_=options, annotation=GenerateOptionsRequest, direction="write"
2560
- ),
2561
- },
2562
- headers={
2563
- "content-type": "application/json",
2564
- },
1892
+ async with self._raw_client.generate_stream(
1893
+ requests=requests,
1894
+ deployment_id=deployment_id,
1895
+ deployment_name=deployment_name,
1896
+ options=options,
2565
1897
  request_options=request_options,
2566
- omit=OMIT,
2567
- ) as _response:
2568
- try:
2569
- if 200 <= _response.status_code < 300:
2570
- async for _text in _response.aiter_lines():
2571
- try:
2572
- if len(_text) == 0:
2573
- continue
2574
- yield typing.cast(
2575
- GenerateStreamResponse,
2576
- parse_obj_as(
2577
- type_=GenerateStreamResponse, # type: ignore
2578
- object_=json.loads(_text),
2579
- ),
2580
- )
2581
- except Exception:
2582
- pass
2583
- return
2584
- await _response.aread()
2585
- if _response.status_code == 400:
2586
- raise BadRequestError(
2587
- typing.cast(
2588
- typing.Optional[typing.Any],
2589
- parse_obj_as(
2590
- type_=typing.Optional[typing.Any], # type: ignore
2591
- object_=_response.json(),
2592
- ),
2593
- )
2594
- )
2595
- if _response.status_code == 403:
2596
- raise ForbiddenError(
2597
- typing.cast(
2598
- typing.Optional[typing.Any],
2599
- parse_obj_as(
2600
- type_=typing.Optional[typing.Any], # type: ignore
2601
- object_=_response.json(),
2602
- ),
2603
- )
2604
- )
2605
- if _response.status_code == 404:
2606
- raise NotFoundError(
2607
- typing.cast(
2608
- typing.Optional[typing.Any],
2609
- parse_obj_as(
2610
- type_=typing.Optional[typing.Any], # type: ignore
2611
- object_=_response.json(),
2612
- ),
2613
- )
2614
- )
2615
- if _response.status_code == 500:
2616
- raise InternalServerError(
2617
- typing.cast(
2618
- typing.Optional[typing.Any],
2619
- parse_obj_as(
2620
- type_=typing.Optional[typing.Any], # type: ignore
2621
- object_=_response.json(),
2622
- ),
2623
- )
2624
- )
2625
- _response_json = _response.json()
2626
- except JSONDecodeError:
2627
- raise ApiError(status_code=_response.status_code, body=_response.text)
2628
- raise ApiError(status_code=_response.status_code, body=_response_json)
1898
+ ) as r:
1899
+ async for _chunk in r.data:
1900
+ yield _chunk
2629
1901
 
2630
1902
  async def search(
2631
1903
  self,
@@ -2672,80 +1944,28 @@ class AsyncVellum:
2672
1944
  from vellum import AsyncVellum
2673
1945
 
2674
1946
  client = AsyncVellum(
1947
+ api_version="YOUR_API_VERSION",
2675
1948
  api_key="YOUR_API_KEY",
2676
1949
  )
2677
1950
 
2678
1951
 
2679
1952
  async def main() -> None:
2680
1953
  await client.search(
2681
- query="query",
1954
+ query="x",
2682
1955
  )
2683
1956
 
2684
1957
 
2685
1958
  asyncio.run(main())
2686
1959
  """
2687
- _response = await self._client_wrapper.httpx_client.request(
2688
- "v1/search",
2689
- base_url=self._client_wrapper.get_environment().predict,
2690
- method="POST",
2691
- json={
2692
- "index_id": index_id,
2693
- "index_name": index_name,
2694
- "query": query,
2695
- "options": convert_and_respect_annotation_metadata(
2696
- object_=options, annotation=SearchRequestOptionsRequest, direction="write"
2697
- ),
2698
- "document_index": document_index,
2699
- },
2700
- headers={
2701
- "content-type": "application/json",
2702
- },
1960
+ _response = await self._raw_client.search(
1961
+ query=query,
1962
+ index_id=index_id,
1963
+ index_name=index_name,
1964
+ options=options,
1965
+ document_index=document_index,
2703
1966
  request_options=request_options,
2704
- omit=OMIT,
2705
1967
  )
2706
- try:
2707
- if 200 <= _response.status_code < 300:
2708
- return typing.cast(
2709
- SearchResponse,
2710
- parse_obj_as(
2711
- type_=SearchResponse, # type: ignore
2712
- object_=_response.json(),
2713
- ),
2714
- )
2715
- if _response.status_code == 400:
2716
- raise BadRequestError(
2717
- typing.cast(
2718
- typing.Optional[typing.Any],
2719
- parse_obj_as(
2720
- type_=typing.Optional[typing.Any], # type: ignore
2721
- object_=_response.json(),
2722
- ),
2723
- )
2724
- )
2725
- if _response.status_code == 404:
2726
- raise NotFoundError(
2727
- typing.cast(
2728
- typing.Optional[typing.Any],
2729
- parse_obj_as(
2730
- type_=typing.Optional[typing.Any], # type: ignore
2731
- object_=_response.json(),
2732
- ),
2733
- )
2734
- )
2735
- if _response.status_code == 500:
2736
- raise InternalServerError(
2737
- typing.cast(
2738
- typing.Optional[typing.Any],
2739
- parse_obj_as(
2740
- type_=typing.Optional[typing.Any], # type: ignore
2741
- object_=_response.json(),
2742
- ),
2743
- )
2744
- )
2745
- _response_json = _response.json()
2746
- except JSONDecodeError:
2747
- raise ApiError(status_code=_response.status_code, body=_response.text)
2748
- raise ApiError(status_code=_response.status_code, body=_response_json)
1968
+ return _response.data
2749
1969
 
2750
1970
  async def submit_completion_actuals(
2751
1971
  self,
@@ -2783,72 +2003,29 @@ class AsyncVellum:
2783
2003
  from vellum import AsyncVellum, SubmitCompletionActualRequest
2784
2004
 
2785
2005
  client = AsyncVellum(
2006
+ api_version="YOUR_API_VERSION",
2786
2007
  api_key="YOUR_API_KEY",
2787
2008
  )
2788
2009
 
2789
2010
 
2790
2011
  async def main() -> None:
2791
2012
  await client.submit_completion_actuals(
2792
- actuals=[SubmitCompletionActualRequest()],
2013
+ actuals=[
2014
+ SubmitCompletionActualRequest(),
2015
+ SubmitCompletionActualRequest(),
2016
+ ],
2793
2017
  )
2794
2018
 
2795
2019
 
2796
2020
  asyncio.run(main())
2797
2021
  """
2798
- _response = await self._client_wrapper.httpx_client.request(
2799
- "v1/submit-completion-actuals",
2800
- base_url=self._client_wrapper.get_environment().predict,
2801
- method="POST",
2802
- json={
2803
- "deployment_id": deployment_id,
2804
- "deployment_name": deployment_name,
2805
- "actuals": convert_and_respect_annotation_metadata(
2806
- object_=actuals, annotation=typing.Sequence[SubmitCompletionActualRequest], direction="write"
2807
- ),
2808
- },
2809
- headers={
2810
- "content-type": "application/json",
2811
- },
2022
+ _response = await self._raw_client.submit_completion_actuals(
2023
+ actuals=actuals,
2024
+ deployment_id=deployment_id,
2025
+ deployment_name=deployment_name,
2812
2026
  request_options=request_options,
2813
- omit=OMIT,
2814
2027
  )
2815
- try:
2816
- if 200 <= _response.status_code < 300:
2817
- return
2818
- if _response.status_code == 400:
2819
- raise BadRequestError(
2820
- typing.cast(
2821
- typing.Optional[typing.Any],
2822
- parse_obj_as(
2823
- type_=typing.Optional[typing.Any], # type: ignore
2824
- object_=_response.json(),
2825
- ),
2826
- )
2827
- )
2828
- if _response.status_code == 404:
2829
- raise NotFoundError(
2830
- typing.cast(
2831
- typing.Optional[typing.Any],
2832
- parse_obj_as(
2833
- type_=typing.Optional[typing.Any], # type: ignore
2834
- object_=_response.json(),
2835
- ),
2836
- )
2837
- )
2838
- if _response.status_code == 500:
2839
- raise InternalServerError(
2840
- typing.cast(
2841
- typing.Optional[typing.Any],
2842
- parse_obj_as(
2843
- type_=typing.Optional[typing.Any], # type: ignore
2844
- object_=_response.json(),
2845
- ),
2846
- )
2847
- )
2848
- _response_json = _response.json()
2849
- except JSONDecodeError:
2850
- raise ApiError(status_code=_response.status_code, body=_response.text)
2851
- raise ApiError(status_code=_response.status_code, body=_response_json)
2028
+ return _response.data
2852
2029
 
2853
2030
  async def submit_workflow_execution_actuals(
2854
2031
  self,
@@ -2888,39 +2065,23 @@ class AsyncVellum:
2888
2065
  from vellum import AsyncVellum, WorkflowExecutionActualStringRequest
2889
2066
 
2890
2067
  client = AsyncVellum(
2068
+ api_version="YOUR_API_VERSION",
2891
2069
  api_key="YOUR_API_KEY",
2892
2070
  )
2893
2071
 
2894
2072
 
2895
2073
  async def main() -> None:
2896
2074
  await client.submit_workflow_execution_actuals(
2897
- actuals=[WorkflowExecutionActualStringRequest()],
2075
+ actuals=[
2076
+ WorkflowExecutionActualStringRequest(),
2077
+ WorkflowExecutionActualStringRequest(),
2078
+ ],
2898
2079
  )
2899
2080
 
2900
2081
 
2901
2082
  asyncio.run(main())
2902
2083
  """
2903
- _response = await self._client_wrapper.httpx_client.request(
2904
- "v1/submit-workflow-execution-actuals",
2905
- base_url=self._client_wrapper.get_environment().predict,
2906
- method="POST",
2907
- json={
2908
- "actuals": convert_and_respect_annotation_metadata(
2909
- object_=actuals, annotation=typing.Sequence[SubmitWorkflowExecutionActualRequest], direction="write"
2910
- ),
2911
- "execution_id": execution_id,
2912
- "external_id": external_id,
2913
- },
2914
- headers={
2915
- "content-type": "application/json",
2916
- },
2917
- request_options=request_options,
2918
- omit=OMIT,
2084
+ _response = await self._raw_client.submit_workflow_execution_actuals(
2085
+ actuals=actuals, execution_id=execution_id, external_id=external_id, request_options=request_options
2919
2086
  )
2920
- try:
2921
- if 200 <= _response.status_code < 300:
2922
- return
2923
- _response_json = _response.json()
2924
- except JSONDecodeError:
2925
- raise ApiError(status_code=_response.status_code, body=_response.text)
2926
- raise ApiError(status_code=_response.status_code, body=_response_json)
2087
+ return _response.data